{"version":3,"sources":["webpack:///./node_modules/adaptivecards/lib/card-elements.js","webpack:///./node_modules/swiper/shared/ssr-window.esm.mjs","webpack:///./node_modules/swiper/shared/utils.mjs","webpack:///./node_modules/swiper/shared/swiper-core.mjs","webpack:///./node_modules/adaptivecards/lib/registry.js","webpack:///./src/components/releaseNotes/tabs/release-preview.vue?6d84","webpack:///./src/components/general/StatusItems.vue?da93","webpack:///./node_modules/adaptivecards/lib/activity-request.js","webpack:///./node_modules/adaptivecards/lib/adaptive-applet.js","webpack:///./node_modules/adaptivecards/lib/controls/menu-item.js","webpack:///./src/components/releaseNotes/ReleaseNotesCard.vue?1d41","webpack:///./node_modules/adaptivecards/lib/channel-adapter.js","webpack:///./src/components/general/spinner.vue?f9af","webpack:///src/components/general/spinner.vue","webpack:///./src/components/general/spinner.vue?2e4e","webpack:///./src/components/general/spinner.vue","webpack:///./node_modules/adaptivecards/lib/card-object.js","webpack:///./node_modules/adaptivecards/lib/carousel.js","webpack:///./src/components/releaseNotes/PreviewWarnings.vue?6dc0","webpack:///./src/router/views/Releases/releases.vue?4c68","webpack:///./src/components/releaseNotes/tabs/Roadmap.vue?e4ad","webpack:///./src/components/general/StatusItems.vue?2528","webpack:///src/components/general/StatusItems.vue","webpack:///./src/components/general/StatusItems.vue?71a3","webpack:///./src/components/general/StatusItems.vue","webpack:///./src/components/general/progress-graph.vue?1222","webpack:///src/components/general/progress-graph.vue","webpack:///./src/components/general/progress-graph.vue?ec03","webpack:///./src/components/general/progress-graph.vue","webpack:///src/components/releaseNotes/tabs/Roadmap.vue","webpack:///./src/components/releaseNotes/tabs/Roadmap.vue?b4d5","webpack:///./src/components/releaseNotes/tabs/Roadmap.vue","webpack:///./src/components/releaseNotes/tabs/releases.vue?1c2c","webpack:///./src/components/releaseNotes/ReleaseNotesCard.vue?42dc","webpack:///src/components/releaseNotes/ReleaseNotesCard.vue","webpack:///./src/components/releaseNotes/ReleaseNotesCard.vue?5ad8","webpack:///./src/components/releaseNotes/ReleaseNotesCard.vue","webpack:///./src/components/general/expand-search.vue?5434","webpack:///src/components/general/expand-search.vue","webpack:///./src/components/general/expand-search.vue?b9a8","webpack:///./src/components/general/expand-search.vue","webpack:///src/components/releaseNotes/tabs/releases.vue","webpack:///./src/components/releaseNotes/tabs/releases.vue?4f54","webpack:///./src/components/releaseNotes/tabs/releases.vue","webpack:///./src/components/releaseNotes/tabs/release-preview.vue?a165","webpack:///./src/components/releaseNotes/AdaptiveCard.vue?4fe3","webpack:///src/components/releaseNotes/AdaptiveCard.vue","webpack:///./src/components/releaseNotes/AdaptiveCard.vue?0c00","webpack:///./src/components/releaseNotes/AdaptiveCard.vue","webpack:///./src/components/releaseNotes/PreviewWarnings.vue?4b6c","webpack:///./src/components/general/dialog.vue?6f2b","webpack:///src/components/general/dialog.vue","webpack:///./src/components/general/dialog.vue?b9ee","webpack:///./src/components/general/dialog.vue","webpack:///src/components/releaseNotes/PreviewWarnings.vue","webpack:///./src/components/releaseNotes/PreviewWarnings.vue?c389","webpack:///./src/components/releaseNotes/PreviewWarnings.vue","webpack:///./src/components/releaseNotes/JsonEditor.vue?186b","webpack:///src/components/releaseNotes/JsonEditor.vue","webpack:///./src/components/releaseNotes/JsonEditor.vue?ab74","webpack:///./src/components/releaseNotes/JsonEditor.vue","webpack:///src/components/releaseNotes/tabs/release-preview.vue","webpack:///./src/components/releaseNotes/tabs/release-preview.vue?8ca1","webpack:///./src/components/releaseNotes/tabs/release-preview.vue","webpack:///src/router/views/Releases/releases.vue","webpack:///./src/router/views/Releases/releases.vue?113d","webpack:///./src/router/views/Releases/releases.vue","webpack:///./node_modules/adaptivecards/lib/serialization.js","webpack:///./src/utils/format-date.js","webpack:///../../../src/components/VTabs/VTab.ts","webpack:///./node_modules/adaptivecards/lib/host-capabilities.js","webpack:///./node_modules/adaptivecards/lib/text-formatters.js","webpack:///./node_modules/adaptivecards/lib/enums.js","webpack:///./src/components/general/expand-search.vue?b7dc","webpack:///./node_modules/adaptivecards/lib/controls/popup-menu.js","webpack:///./src/components/releaseNotes/JsonEditor.vue?7e7a","webpack:///./src/components/general/progress-graph.vue?2939","webpack:///./node_modules/adaptivecards/lib/strings.js","webpack:///./node_modules/adaptivecards/lib/shared.js","webpack:///./node_modules/adaptivecards/lib/controls/constants.js","webpack:///./node_modules/adaptivecards/lib/controls/popup-control.js","webpack:///../../../src/components/VTextarea/VTextarea.ts","webpack:///../../../src/components/VTabs/VTabsItems.ts","webpack:///./node_modules/adaptivecards/lib/table.js","webpack:///../../../src/components/VTabs/VTabItem.ts","webpack:///./node_modules/adaptivecards/lib/utils.js","webpack:///./node_modules/adaptivecards/lib/controls/collection.js","webpack:///./node_modules/adaptivecards/lib/adaptivecards.js","webpack:///./src/components/releaseNotes/tabs/Roadmap.vue?5836","webpack:///./node_modules/adaptivecards/lib/controls/index.js","webpack:///./node_modules/adaptivecards/lib/host-config.js","webpack:///./src/router/views/Releases/releases.vue?bdcf","webpack:///./src/components/releaseNotes/tabs/releases.vue?049c","webpack:///../../../src/components/VTabs/VTabsBar.ts","webpack:///../../../src/components/VTabs/VTabsSlider.ts","webpack:///../../../src/components/VTabs/VTabs.ts"],"names":["__extends","this","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","TypeError","String","__","constructor","create","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","Symbol","iterator","n","v","op","pop","push","__spreadArray","to","from","pack","ar","l","slice","concat","exports","BackgroundImage","ContainerBase","StylableCardElementContainer","ContainerStyleProperty","ActionSet","ShowCardAction","HttpAction","HttpHeader","ToggleVisibilityAction","OpenUrlAction","DataQuery","ExecuteAction","UniversalAction","SubmitAction","SubmitActionBase","Action","TimeInput","TimeProperty","DateInput","NumberInput","FilteredChoiceSet","ChoiceSetInput","ChoiceSetInputDataQuery","Choice","ToggleInput","TextInput","Input","Media","YouTubePlayer","DailymotionPlayer","VimeoPlayer","IFrameMediaMediaPlayer","CustomMediaPlayer","HTML5MediaPlayer","MediaPlayer","MediaSource","CaptionSource","ContentSource","ImageSet","CardElementContainer","Image","FactSet","Fact","RichTextBlock","TextRun","TextBlock","BaseTextBlock","ActionProperty","CardElement","renderSeparation","SerializationContext","AdaptiveCard","Authentication","TokenExchangeResource","AuthCardButton","RefreshDefinition","RefreshActionProperty","ContainerWithActions","ColumnSet","Column","Container","Enums","shared_1","Utils","host_config_1","TextFormatters","card_object_1","serialization_1","registry_1","strings_1","controls_1","clearElement","element","_a","_b","trustedHtml","window","trustedTypes","emptyHTML","innerHTML","hostConfig","separationDefinition","orientation","spacing","lineThickness","separator","document","createElement","className","makeCssClassName","Orientation","Horizontal","setAttribute","color","lineColor","stringToCssColor","style","paddingTop","marginBottom","borderBottom","height","paddingLeft","marginRight","borderRight","width","overflow","flex","_super","_this","_truncatedDueToOverflow","get","lang","getValue","langProperty","parent","set","setValue","enumerable","configurable","isVisibleProperty","GlobalSettings","useAdvancedCardBottomTruncation","undoOverflowTruncation","isVisible","updateRenderedElementVisibility","_renderedElement","raiseElementVisibilityChangedEvent","toString","internalRenderSeparator","renderedSeparator","getEffectiveSpacing","undefined","separatorOrientation","alwaysBleedSeparators","parentContainer","getParentContainer","getEffectivePadding","parentPhysicalPadding","paddingDefinitionToSpacingDefinition","marginLeft","left","right","displayMode","isDesignMode","_defaultRenderedElementDisplayMode","display","removeProperty","_separatorElement","isFirstElement","hideElementDueToOverflow","visibility","showElementHiddenDueToOverflow","handleOverflow","maxHeight","isHiddenDueToOverflow","handled","truncateOverflow","resetOverflow","sizeChanged","getDefaultSerializationContext","createPlaceholderElement","styleDefinition","getEffectiveStyleDefinition","foregroundCssColor","foregroundColors","default","subtle","border","padding","minHeight","fontSize","innerText","Strings","defaults","emptyElementText","getJsonTypeName","adjustRenderedElementSize","renderedElement","updateInputsVisualState","hover","allInputs","getAllInputs","inputEventType","InputEventType","MouseEnterOnCard","MouseLeaveOnCard","forEach","input","updateVisualState","isDisplayed","offsetHeight","overrideInternalRender","internalRender","applyPadding","separatorElement","isBleeding","PaddingDefinition","getImmediateSurroundingPadding","physicalPadding","_maxHeight","getDefaultPadding","getHasBackground","ignoreBackgroundImages","getHasBorder","getPadding","_padding","setPadding","shouldSerialize","context","elementRegistry","findByName","ContainerStyle","Default","parse","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","Error","errors","indexOutOfRange","indexOfAction","action","remove","removeItem","render","id","customCssSelector","classList","add","boxSizing","updateLayout","_processChildren","updateActionsEnabledState","allActions","getRootElement","getAllActions","_i","allActions_1","updateEnabledState","indexOf","_cardElement","rootElement","designMode","_element","isLastElement","isAtTheVeryLeft","isAtTheVeryRight","isAtTheVeryTop","isAtTheVeryBottom","isBleedingAtTop","isBleedingAtBottom","getRootObject","currentElement","processActions","getResourceInformation","getElementById","getActionById","_id","getElementByIdFromAction","card","getEffectiveHorizontalAlignment","horizontalAlignment","HorizontalAlignment","Left","_hostConfig","defaultHostConfig","_parent","StringProperty","Versions","v1_1","BoolProperty","v1_2","separatorProperty","v1_0","heightProperty","ValueSetProperty","horizontalAlignmentProperty","EnumProperty","spacingProperty","property","CardObject","targetVersion","name","forbiddenActionTypes","sender","parseAction","toJSON","serializeValue","PropertyDefinition","text","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","warning","Attention","attention","init","textDefinition","size","weight","isSubtle","applyStylesTo","targetElement","getFontTypeDefinition","effectiveFontType","fontFamily","fontWeight","colorDefinition","effectiveColor","targetColor","effectiveIsSubtle","effectiveWeight","TextWeight","Lighter","fontWeights","lighter","Bolder","bolder","selectAction","sizeProperty","weightProperty","colorProperty","isSubtleProperty","fontTypeProperty","FontType","wrap","_treatAsPlainText","useMarkdown","restoreOriginalContent","maxLines","_computedLineHeight","originalHtml","_ttRoundtripPolicy","createHTML","_originalInnerHtml","truncateIfSupported","children","isTextOnly","truncationSupported","tagName","toLowerCase","truncateText","_processedText","preProcessedText","preProcessPropertyValue","forElementId","labelElement","htmlFor","headingLevel","textBlock","supportsInteractivity","onclick","isEffectivelyEnabled","preventDefault","cancelBubble","execute","setupElementForAccessibility","formattedText","formatText","allowMarkForTextHighlighting","replace","markdownProcessingResult","applyMarkdown","didProcess","outputHtml","markStyle","effectiveStyle","highlightBackgroundColor","highlightForegroundColor","processedHtml","_ttMarkdownPolicy","firstElementChild","HTMLElement","marginTop","textOverflow","lastElementChild","anchors","getElementsByTagName","_loop_1","anchor","raiseAnchorClickedEvent","oncontextmenu","_c","wordWrap","isInternetExplorer","useWebkitLineClamp","webkitBoxOrient","webkitLineClamp","whiteSpace","useAdvancedTextBlockTruncation","Center","textAlign","Right","lineHeights","lineHeight","processChildren","wrapProperty","maxLinesProperty","NumProperty","styleProperty","v1_5","createPolicy","italic","strikethrough","highlight","underline","href","getHref","appendChild","fontStyle","textDecoration","backgroundColor","highlightColors","italicProperty","strikethroughProperty","highlightProperty","underlineProperty","v1_3","_inlines","internalAddInline","inline","forceAdd","isInline","elementCannotBeUsedAsInline","doAdd","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","title","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","renderedImageElement","onload","_e","raiseImageLoadedEvent","onerror","errorElement","minWidth","onkeypress","code","Person","borderRadius","backgroundPosition","backgroundRepeat","setImageSource","altTextProperty","alt","mimeType","imageForceLoader","ImageForceLoader","forceLoad","configureImage","src","urlProperty","resetImage","backgroundColorProperty","pixelWidthProperty","pixelHeightProperty","shouldForceLoadProperty","v1_6","doForceLoad","uniqueHash","Date","now","urlWithForceLoadOption","image","allowVerticalOverflow","isSelectable","isElementAllowed","isInteractive","SpacingDefinition","paddingRight","paddingBottom","forbiddenChildElements","releaseDOMResources","getItemCount","getItemAt","internalValidateProperties","item","addFailure","InteractivityNotAllowed","interactivityNotAllowed","elementTypeNotAllowed","_selectAction","overflowX","overflowY","findDOMNodeOwner","node","_images","imageSize","ImageSize","presentationStyle","ImageSetPresentationStyle","pixelOffset","flexWrap","imageSet","maxImageHeight","renderedImage","margin","Stacked","applyStackedPresentationStyle","dimension","StackedImageConfigurator","parseNumericPixelDimension","bgColor","getEffectiveBackgroundColor","stackedImageConfigurator","configureImagesArrayAsStackedLayout","getFirstVisibleRenderedItem","getLastVisibleRenderedItem","itemIndex","addImage","cardElement","imagesProperty","imageSizeProperty","imagePresentationStyle","offset","sign45","maxImageCounts","normalizationConstant","Math","max","moveImageRight","moveImageUp","moveImageDown","makeImageRound","applyBorder","configureImageForBottomLeft","zIndex","configureImageForTopRight","elements","substring","parseInt","mimeTypeProperty","kind","labelProperty","type","play","_posterUrl","owner","_selectedSources","_captionSources","processSources","_selectedMediaType","sources","mimeComponents","split","supportedMediaTypes","captionSources","canPlay","fetchVideoDetails","_mediaElement","altText","mediaPlayerAriaLabel","autoplay","controls","isMobileOS","muted","preload","renderedSource","captionSource","renderedCaptionSource","matches","iFrameTitle","_videoId","container","position","iFrame","getEmbedVideoUrl","frameBorder","allow","allowFullscreen","oEmbedUrl","response","json","fetch","ok","posterUrl","videoId","apiUrl","_startTimeIndex","createMediaPlayer","customMediaPlayers","provider","_d","_f","urlPatterns","pattern","exec","handlePlayButtonInvoke","event","media","allowInlinePlayback","mediaPlayerElement","_mediaPlayer","focus","onPlay","displayPoster","playButtonArrowWidth","playButtonArrowHeight","posterRootElement_1","posterImageElement_1","playButtonOuterElement","playButtonInnerElement","playButtonContainer","poster","defaultPoster","parentNode","removeChild","tabIndex","mediaPlayerPlayMedia","borderTopWidth","borderBottomWidth","borderLeftWidth","borderRightWidth","borderTopColor","borderRightColor","borderBottomColor","transform","mediaSource","selectedMediaType","youTubeVideoPlayer","vimeoVideoPlayer","dailymotionVideoPlayer","sourcesProperty","captionSourcesProperty","posterProperty","inputStyle","InputStyle","getAllLabelIds","labelIds","labelledBy","_renderedLabelElement","_renderedErrorMessageElement","updateInputControlAriaLabelledBy","_renderedInputControlElement","join","removeAttribute","_inputControlContainerElement","_outerContainerElement","labelPosition","InputLabelPosition","Inline","flexDirection","renderedInputControlId","generateUniqueId","labelRichTextBlock","labelInline","isRequired","inputs","requiredInputs","isRequiredCueInline","suffix","suffixColor","optionalInputs","alignSelf","inputSpacing","isNullable","labelWidth","Weight","labelWidthInPercent","labelWidthInPixel","defaultLabelWidth","InitialRender","onblur","ev","FocusLeave","resetDirtyState","valueChanged","resetValidationFailureCue","onValueChanged","raiseInputValueChangedEvent","renderedInputControlElement","isDynamicTypeahead","removeValidationFailureCue","showValidationErrorMessage","errorMessage","displayInputValidationErrors","errorMessageTextBlock","allowRevealOnHoverStyle","shouldHideInputAdornersForRevealOnHover","eventType","isInputInFocus","activeElement","inputHoverClassName","isMouseOverCard","contains","hideInputAdorners","RevealOnHover","isDirty","_oldValue","PropertyCantBeNull","inputsMustHaveUniqueId","RequiredInputsShouldHaveLabel","RequiredInputsShouldHaveErrorMessage","validateValue","isSet","showValidationFailureCue","isRequiredProperty","errorMessageProperty","inputStyleProperty","labelWidthProperty","CustomProperty","prop","invalidLabelWidth","invalidInputLabelWidth","serializeNumber","labelPositionProperty","Above","isMultiline","InputTextStyle","Text","setupInput","placeholder","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","_oldCheckboxValue","onchange","useMarkdownInRadioButtonAndCheckbox","spacerElement","valueOnProperty","valueOffProperty","typeProperty","datasetProperty","countProperty","skipProperty","isMultiSelect","choices","getUniqueCategoryName","uniqueCategoryName","_uniqueCategoryCounter","allowDynamicallyFilteredChoiceSet","choicesData","dataset","getFilterForDynamicSearch","_textInput","getDropdownElement","_filteredChoiceSet","dropdown","renderChoices","filter","fetchedChoices","processResponse","showLoadingIndicator","removeLoadingIndicator","showErrorIndicator","error","createPlaceholderOptionWhenValueDoesNotExist","placeholderOption","selected","disabled","hidden","internalApplyAriaCurrent","_selectElement","options","option","renderCompoundInput","cssClassName","defaultValues","_toggleInputs","_labels","choice","_uniqueCategoryName","compoundInput","filteredChoiceSet_1","textInput","onInputChangeEventHandler","debounce","processChoices","debounceTimeInMilliSeconds","choiceSetInputValueSeparator","inputContainer","dataList","append","isCompact","hideDropDownPicker","appearance","CollectionCantBeEmpty","choiceSetMustHaveAtLeastOneChoice","choiceSetChoicesMustHaveTitleAndValue","dynamicChoices","toggleInput","selectedIndex","choicesProperty","choicesDataProperty","SerializableObjectProperty","isMultiSelectProperty","choiceSetId","_choiceSetId","_choices","_dynamicChoices","_visibleChoiceCount","_highlightedChoiceId","choiceSetContainer","onkeydown","highlightChoice","click","_dropdown","createChoice","onmousemove","scrollIntoView","currentHighlightedChoice","nextHighlightedChoice","filterChoices","trim","choices_1","matchIndex","matchedText","choiceContainer","getStatusIndicator","_errorIndicator","errorIndicator","_loadingIndicator","loadingIndicator","resetDropdown","clearElementChildren","showDropdown","hasChildNodes","map","_numberInputElement","min","valueAsNumber","minProperty","maxProperty","_dateInputElement","hideDatePicker","updateInputAdornersVisibility","valueAsDate","minDate","maxDate","convertTimeStringToDate","timeString","_timeInputElement","hideTimePicker","ActionStyle","mode","ActionMode","Primary","_state","_isFocusable","renderButtonContent","titleElement","actions","iconPlacement","ActionIconPlacement","AboveTitle","allowTitleToWrap","iconElement","iconSize","updateCssClasses","parentContainerStyle","isFocusable","Positive","makeCssClassNames","internalGetReferencedInputs","internalPrepareForExecution","_inputs","internalValidateInputs","referencedInputs","keys","actionRegistry","raiseExecuteActionEvent","onExecute","internalAfterExecute","rootObject","getAriaRole","ariaRole","getAriaRoleFromEnum","role","ActionRole","Button","Link","Menu","MenuItem","Tab","promoteTooltipToLabel","HTMLButtonElement","tooltip","buttonElement","_actionCollection","actionExecuted","prepareForExecution","getReferencedInputs","invalidInputs","removeAction","validateInputs","isEnabled","iconUrlProperty","Destructive","modeProperty","Secondary","tooltipProperty","isEnabledProperty","roleProperty","disabledUnlessAssociatedInputsChange","_isPrepared","_areReferencedInputsDirty","associatedInputs","current","inputs_1","_originalData","_processedData","JSON","stringify","resetInputsDirtyStateAfterActionExecution","resetReferencedInputsDirtyState","dataProperty","associatedInputsProperty","disabledUnlessAssociatedInputsChangeProperty","JsonTypeName","verbProperty","v1_4","filterProperty","propertyMustBeSet","targetElements","updateAriaControlsAttribute","elementIds","elementId","addTargetElement","removeTargetElement","targetElementsProperty","parseBool","serializeArray","StringWithSubstitutionProperty","StringWithSubstitutions","parseString","getOriginal","_value","substituteInputValues","ContentTypes","applicationXWwwFormUrlencoded","newValue","nameProperty","_ignoreInputValidation","_url","headers","header","_body","contentType","applicationJson","actionHttpHeadersMustHaveNameAndValue","bodyProperty","methodProperty","headersProperty","ignoreInputValidationProperty","InlineAdaptiveCard","effectiveHostConfig","state","jsonCard","showCardMustHaveCard","showCard","actionMode","ShowCardActionMode","Popup","OverflowAction","_actions","overflowButtonText","overflowButtonTooltip","getActions","shouldDisplayPopupMenu","raiseDisplayOverflowActionMenuEvent","contextMenu_1","PopupMenu","_loop_2","menuItem","this_1","onClick","actionToExecute","closePopup","items","onClose","popup","ActionCollection","_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","actionsOrientation","ra","clear","source_1","jsonAction","forbiddenActions","getForbiddenActionNames","addAction","propertyName","validateProperties","maxActions","TooManyActions","tooManyActions","ActionTypeNotAllowed","actionTypeNotAllowed","preExpandSingleShowCardAction","buttonStrip","actionAlignment","ActionAlignment","allowedActions","bind","primaryActions_1","secondaryActions_1","overflowPrimaryActions","allowMoreThanMaxActionsInOverflowMenu","shouldRenderOverflowActionButton","_overflowAction","isRootAction","raiseRenderOverflowActionsEvent","buttonSpacing","spacer","buttonStripContainer","actionAlreadyParented","expandedAction","actionIndex","orientationProperty","onGetInitialValue","Emphasis","allowCustomStyle","applyBackground","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","Top","backgroundPositionY","Bottom","fillModeProperty","verticalAlignmentProperty","_renderedItems","backgroundImageProperty","insertItemAt","forceInsert","elementAlreadyParented","isStandalone","elementTypeNotStandalone","getItemsCollectionPropertyName","applyRTL","rtl","dir","getEffectiveVerticalContentAlignment","renderedItem","placeholderElement","boundary_1","offsetTop","handleElement_1","elt","getFitStatus","ContainerFitStatus","FullyInContainer","Overflowing","containerMaxHeight","FullyOutOfContainer","setShouldFallback","jsonItems","jsonItems_1","collectionPropertyName","removePaddingFromContainersWithBackgroundImage","verticalContentAlignment","isRtl","firstRenderedItem","lastRenderedItem","addItem","insertItemBefore","insertBefore","insertItemAfter","insertAfter","verticalContentAlignmentProperty","rtlProperty","_computedWeight","minDesignTimeColumnHeight","_context","Vertical","widthProperty","invalidWidth","compareTo","invalidColumnWidth","_columns","createColumnInstance","parseCardObject","typeName","_errorType","ElementTypeNotAllowed","_renderedColumns","totalWeight","column","computedWeight","renderedColumn","jsonColumns","jsonColumns_1","getColumnAt","weightedColumns","stretchedColumns","Hint","hints","dontUseWeightedAndStrecthedColumnsInSameSet","addColumn","columnAlreadyBelongsToAnotherSet","onImageLoadedHandler","onImageLoaded","onAnchorClickedHandler","onAnchorClicked","onExecuteActionHandler","onExecuteAction","isExpanded","onInlineCardExpandedHandler","onInlineCardExpanded","onInputValueChangedHandler","onInputValueChanged","shouldUpdateLayout","onElementVisibilityChangedHandler","onElementVisibilityChanged","hide","readOnly","required","onDisplayOverflowActionMenuHandler","onDisplayOverflowActionMenu","isAtRootLevelActions","onRenderOverflowActionsHandler","onRenderOverflowActions","parseActions","renderedActions","renderIfEmpty","actionProperty","userIdsProperty","StringArrayProperty","imageProperty","idProperty","uriProperty","providerIdProperty","connectionNameProperty","buttonsProperty","tokenExchangeResourceProperty","refreshProperty","processMarkdownEventRemoved","onProcessMarkdown","markdownit","markdownIt","_haveWarnedAboutNoMarkdownProcessing","console","warn","markdownProcessingNotEnabled","isVersionSupported","bypassVersionCheck","unsupportedVersion","version","maxVersion","major","minor","_fallbackCard","fallbackElement","versionProperty","adaptiveCard","typeNameProperty","MissingCardType","invalidCardType","UnsupportedCardVersion","unsupportedCardVersion","shouldFallback","setTabIndexAtCardRoot","speak","onmouseenter","onmouseleave","inputElements","schemaUrl","$schemaProperty","Version","latest","invalidCardVersion","fallbackTextProperty","speakProperty","authenticationProperty","_forbiddenTypes","Set","internalParseCardObject","allowFallback","createInstanceCallback","oldForbiddenTypes_1","has","TypeErrorType","ForbiddenType","tryToFallback","enableFallback","UnknownType","fallback","cardObjectParsed","o","onParseAction","onParseElement","forbiddenTypeNames","createInstance","errorType","UnknownElementType","unknownElementType","UnknownActionType","unknownActionType","_elementRegistry","GlobalRegistry","setElementRegistry","_actionRegistry","setActionRegistry","BaseSerializationContext","defaultElements","register","defaultActions","isObject","obj","extend","ssrDocument","nodeName","childNodes","location","hash","host","hostname","origin","pathname","protocol","search","getDocument","doc","ssrWindow","navigator","userAgent","history","CustomEvent","screen","callback","setTimeout","clearTimeout","getWindow","win","classesToTokens","classes","deleteProps","object","nextTick","delay","el","getComputedStyle","currentStyle","getTranslate","axis","matrix","curTransform","transformMatrix","curStyle","WebKitCSSMatrix","webkitTransform","a","MozTransform","OTransform","MsTransform","msTransform","getPropertyValue","m41","parseFloat","m42","isNode","nodeType","noExtend","nextSource","keysArray","nextIndex","len","nextKey","__swiper__","setCSSProperty","varName","varValue","setProperty","animateCSSModeScroll","_ref","swiper","targetPosition","side","startPosition","translate","time","startTime","duration","params","speed","wrapperEl","scrollSnapType","cancelAnimationFrame","cssModeFrameID","isOutOfBound","animate","getTime","progress","easeProgress","cos","PI","currentPosition","scrollTo","requestAnimationFrame","elementChildren","selector","showWarning","err","tag","elementPrevAll","prevEls","previousElementSibling","prev","elementNextAll","nextEls","nextElementSibling","elementStyle","elementIndex","child","previousSibling","elementParents","parents","parentElement","elementOuterSize","includeMargins","offsetWidth","deviceCached","browser","calcSupport","smoothScroll","documentElement","touch","DocumentTouch","getSupport","calcDevice","_temp","support","platform","ua","device","ios","android","screenWidth","screenHeight","match","ipad","ipod","iphone","windows","macos","iPadScreens","os","getDevice","overrides","calcBrowser","needPerspectiveFix","isSafari","includes","num","Number","isWebView","isSafariBrowser","need3dFix","getBrowser","Resize","on","emit","observer","animationFrame","resizeHandler","destroyed","initialized","createObserver","ResizeObserver","entries","newWidth","newHeight","_ref2","contentBoxSize","contentRect","inlineSize","blockSize","observe","removeObserver","unobserve","orientationChangeHandler","resizeObserver","addEventListener","removeEventListener","Observer","extendParams","observers","attach","ObserverFunc","MutationObserver","WebkitMutationObserver","mutations","__preventObserver__","observerUpdate","attributes","childList","characterData","observeParents","containerParents","hostEl","observeSlideChildren","destroy","disconnect","eventsEmitter","events","handler","priority","self","eventsListeners","method","onceHandler","off","__emitterProxy","_len","args","_key","eventsAnyListeners","eventHandler","data","_len2","_key2","unshift","eventsArray","updateSize","clientWidth","clientHeight","isHorizontal","isVertical","assign","updateSlides","getDirectionPropertyValue","getDirectionLabel","slidesEl","swiperSize","rtlTranslate","wrongRTL","isVirtual","virtual","enabled","previousSlidesLength","slides","slideClass","slidesLength","snapGrid","slidesGrid","slidesSizesGrid","offsetBefore","slidesOffsetBefore","offsetAfter","slidesOffsetAfter","previousSnapGridLength","previousSlidesGridLength","spaceBetween","slidePosition","prevSlideSize","virtualSize","slideEl","centeredSlides","cssMode","gridEnabled","grid","rows","slideSize","initSlides","unsetSlides","shouldResetSlideSize","slidesPerView","breakpoints","slide","updateSlide","slideStyles","currentTransform","currentWebKitTransform","roundLengths","floor","swiperSlideSize","abs","slidesPerGroup","slidesPerGroupSkip","effect","setWrapperSize","updateWrapperSize","newSlidesGrid","slidesGridItem","loop","groups","ceil","slidesBefore","slidesAfter","groupSize","slideIndex","centeredSlidesBounds","allSlidesSize","slideSizeValue","maxSnap","snap","centerInsufficientSlides","allSlidesOffset","snapIndex","addToSnapGrid","addToSlidesGrid","watchOverflow","checkOverflow","watchSlidesProgress","updateSlidesOffset","backFaceHiddenClass","containerModifierClass","hasClassBackfaceClassAdded","maxBackfaceHiddenSlides","updateAutoHeight","activeSlides","setTransition","getSlideByIndex","getSlideIndexByData","visibleSlides","activeIndex","minusOffset","isElement","offsetLeft","swiperSlideOffset","cssOverflowAdjustment","updateSlidesProgress","offsetCenter","slideVisibleClass","slideFullyVisibleClass","visibleSlidesIndexes","slideOffset","slideProgress","minTranslate","originalSlideProgress","slideBefore","slideAfter","isFullyVisible","originalProgress","updateProgress","multiplier","translatesDiff","maxTranslate","isBeginning","isEnd","progressLoop","wasBeginning","wasEnd","isBeginningRounded","isEndRounded","firstSlideIndex","lastSlideIndex","firstSlideTranslate","lastSlideTranslate","translateMax","translateAbs","autoHeight","updateSlidesClasses","getFilteredSlide","activeSlide","prevSlide","nextSlide","slideActiveClass","slideNextClass","slidePrevClass","emitSlidesClasses","processLazyPreloader","imageEl","slideSelector","closest","lazyEl","querySelector","lazyPreloaderClass","shadowRoot","unlazy","amount","lazyPreloadPrevNext","slidesPerViewDynamic","activeColumn","preloadColumns","slideIndexLastInView","rewind","realIndex","getActiveIndexByTranslate","normalizeSlideIndex","updateActiveIndex","newActiveIndex","previousIndex","previousRealIndex","previousSnapIndex","getVirtualRealIndex","aIndex","skip","firstSlideInColumn","activeSlideIndex","getAttribute","runCallbacksOnInit","updateClickedSlide","path","pathEl","slideFound","clickedSlide","clickedIndex","slideToClickedSlide","update","getSwiperTranslate","virtualTranslate","currentTranslate","byController","x","z","newProgress","previousTranslate","translateTo","runCallbacks","translateBounds","internal","animating","preventInteractionOnTransition","newTranslate","isH","behavior","setTranslate","onTranslateToWrapperTransitionEnd","transitionDuration","transitionDelay","transitionEmit","direction","transitionStart","transitionEnd","transition","initial","normalizedTranslate","normalizedGrid","normalizedGridNext","allowSlideNext","allowSlidePrev","_immediateVirtual","_cssModeVirtualInitialSet","initialSlide","onSlideToWrapperTransitionEnd","slideToLoop","indexAsNumber","newIndex","targetSlideIndex","cols","needLoopFix","loopFix","slideTo","slideRealIndex","slideNext","perGroup","slidesPerGroupAuto","increment","loopPreventsSliding","_clientLeft","clientLeft","slidePrev","normalize","val","normalizedSnapGrid","prevSnap","prevSnapIndex","prevIndex","lastIndex","slideReset","slideToClosest","threshold","currentSnap","nextSnap","slideToIndex","loopedSlides","getSlideIndex","loopCreate","shouldFillGroup","shouldFillGrid","addBlankSlides","amountOfSlides","slideBlankClass","loopAddBlankSlides","slidesToAdd","recalcSlides","byMousewheel","loopAdditionalSlides","fill","prependSlidesIndexes","appendSlidesIndexes","isNext","isPrev","slidesPrepended","slidesAppended","activeColIndex","activeColIndexWithShift","colIndexToPrepend","swiperLoopMoveDOM","prepend","currentSlideTranslate","newSlideTranslate","diff","touchEventsData","startTranslate","shift","controller","control","loopParams","loopDestroy","newSlidesOrder","swiperSlideIndex","setGrabCursor","moving","simulateTouch","isLocked","touchEventsTarget","cursor","unsetGrabCursor","grabCursor","closestElement","base","__closestFrom","assignedSlot","found","getRootNode","preventEdgeSwipe","startX","edgeSwipeDetection","edgeSwipeThreshold","innerWidth","onTouchStart","originalEvent","pointerId","targetTouches","touchId","identifier","pageX","touches","pointerType","targetEl","which","button","isTouched","isMoved","swipingClassHasValue","noSwipingClass","eventPath","composedPath","noSwipingSelector","isTargetShadow","noSwiping","allowClick","swipeHandler","currentX","currentY","pageY","startY","allowTouchCallbacks","isScrolling","startMoving","touchStartTime","swipeDirection","allowThresholdMove","focusableElements","blur","shouldPreventDefault","allowTouchMove","touchStartPreventDefault","touchStartForcePreventDefault","isContentEditable","freeMode","onTouchMove","targetTouch","changedTouches","preventedByNestedSwiper","touchReleaseOnEdges","previousX","previousY","diffX","diffY","sqrt","touchAngle","atan2","cancelable","touchMoveStopPropagation","nested","stopPropagation","touchesDiff","oneWayMovement","touchRatio","prevTouchesDirection","touchesDirection","isLoop","allowLoopFix","evt","bubbles","dispatchEvent","allowMomentumBounce","loopFixed","loopSwapReset","disableParentSwiper","resistanceRatio","resistance","followFinger","onTouchEnd","isTouchEvent","proceed","touchEndTime","timeDiff","pathTree","lastClickTime","currentPos","swipeToLast","stopIndex","rewindFirstIndex","rewindLastIndex","ratio","longSwipesMs","longSwipes","longSwipesRatio","shortSwipes","isNavButtonTarget","navigation","nextEl","prevEl","onResize","setBreakpoint","isVirtualLoop","running","paused","resizeTimeout","resume","preventClicks","preventClicksPropagation","stopImmediatePropagation","onScroll","scrollLeft","scrollTop","onLoad","onDocumentTouchStart","documentTouchHandlerProceeded","touchAction","capture","domMethod","swiperMethod","passive","updateOnWindowResize","attachEvents","detachEvents","events$1","isGridEnabled","breakpoint","getBreakpoint","breakpointsBase","currentBreakpoint","breakpointOnlyParams","breakpointParams","originalParams","wasMultiRow","isMultiRow","wasEnabled","emitContainerClasses","wasModuleEnabled","isModuleEnabled","disable","enable","directionChanged","needsReLoop","wasLoop","changeDirection","hasLoop","containerEl","currentHeight","innerHeight","points","point","minRatio","substr","sort","matchMedia","prepareClasses","prefix","resultClasses","classNames","addClasses","suffixes","removeClasses","wasLocked","lastSlideRightEdge","checkOverflow$1","swiperElementNodeName","createElements","eventsPrefix","uniqueNavElements","passiveListeners","wrapperClass","_emitClasses","moduleExtendParams","allModulesParams","moduleParamName","moduleParams","auto","prototypes","extendedDefaults","querySelectorAll","swipers","newParams","modules","__modules__","mod","once","swiperParams","passedParams","eventName","onAny","velocity","trunc","clickTimeout","velocities","imagesToLoad","imagesLoaded","cls","updates","getSlideClasses","view","exact","spv","breakLoop","slideInView","translateValue","translated","complete","newDirection","needUpdate","currentDirection","mounted","toUpperCase","getWrapperSelector","getWrapper","res","slideSlots","mount","lazyElements","deleteInstance","cleanStyles","newDefaults","module","m","installModule","prototypeGroup","protoMethod","use","CardObjectRegistry","copyTo","keys_1","typeRegistration","objectType","schemaVersion","registrationInfo","unregister","populateWithDefaultElements","registry","populateWithDefaultActions","_elements","reset","LoginRequestResponse","ErrorResponse","SuccessResponse","ActivityResponse","ActivityRequestError","ActivityRequestTrigger","message","request","rawContent","auth","_auth","buttons","URL","signinButton","tokenExchangeResource","AdaptiveApplet","activity_request_1","card_elements_1","logEvent","level","optionalParams","applets","logEnabled","onLogEvent","LogLevel","log","ActivityRequest","trigger","consecutiveActions","attemptNumber","retryAsync","onSend","_allowAutomaticCardUpdate","_cardHostElement","_refreshButtonHostElement","displayCard","showManualRefreshButton","refreshAction","displayBuiltInManualRefreshButton","onShowManualRefreshButton","renderedRefreshButton","onRenderManualRefreshButton","runtime","refreshThisCard","refresh","RefreshMode","Automatic","autoRefreshPausedMessage","automaticRefreshPaused","clckToRestartAutomaticRefresh","cardPayload","inlines","internalExecuteAction","createActivityRequest","request_1","internalSendActivityRequestAsync","cancel","onPrepareActivityRequest","createMagicCodeInputCard","payload","_submitMagicCodeActionId","_cancelMagicCodeAuthActionId","cancelAutomaticRefresh","createSerializationContext","onCreateSerializationContext","internalSetCard","_cardPayload","serializationContext","doChangeCard","onCardChanging","_card","authentication","onPrefetchSSOToken","Manual","dataQueryAction","count","_choiceSet","onCardChanged","maximumConsecutiveAutomaticRefreshes","timeBetweenAutomaticRefreshes","Info","action_1","Disabled","allowManualRefreshesAfterAutomaticRefreshes","channelAdapter","onAction","createProgressOverlay","_progressOverlay","onCreateProgressOverlay","spinner","removeProgressOverlay","onRemoveProgressOverlay","activityRequestSucceeded","parsedContent","onActivityRequestSucceeded","activityRequestFailed","onActivityRequestFailed","defaultTimeBetweenRetryAttempts","showAuthCodeInputDialog","showBuiltInAuthCodeInputCard","onShowAuthCodeInputDialog","authCodeInputCard","submitMagicCodeAction","authCode","alert","magicCodeInputCard","somethingWentWrong","internalSendExecuteRequestAsync","internalSendDataQueryRequestAsync","overlay","state_1","error_1","retryIn_1","attemptOAuth","top_1","sendRequestAsync","maximumRetryAttempts","_reject","onSSOTokenNeeded","onShowSigninPrompt","screenX","outerWidth","authPromptWidth","screenY","outerHeight","authPromptHeight","open","authenticationFailed","error_2","rawResponse","parsedResponse","refreshCard","setCard","constants_1","_isEnabled","onmouseup","Constants","enter","ChannelAdapter","_vm","_h","$createElement","_self","staticClass","VProgressCircular","attrs","colour","staticRenderFns","props","component","ValidationResults","host_capabilities_1","allIds","validationEvents","cardObject","phase","ValidationPhase","Validation","_shouldFallback","requiresProperty","propertyValue","allowPreProcessingPropertyValues","currentObject","onPreProcessPropertyValue","requires","areAllMet","hostCapabilities","DuplicateId","duplicateId","HostCapabilities","CarouselEvent","Carousel","CarouselPage","enums_1","swiper_1","carouselSlide","getForbiddenChildElements","carouselLoop","carouselOrientation","_pages","_currentIndex","_previousEventType","CarouselInteractionEvent","Pagination","timer","timerProperty","carousel","minAutoplayDelay","tooLittleTimeDelay","initialPageProperty","isValidParsedPageIndex","invalidInitialPageIndex","isValidPageIndex","isValidRenderedPageIndex","_renderedPages","collectionSize","_containerForAdorners","carouselHeight","_carouselPageContainer","addPage","page","_carousel","jsonPages","jsonPages_1","createCarouselPageInstance","validateParsing","initialPageIndex","validateOrientationProperties","cardLevelContainer","carouselContainer","containerForAdorners","carouselWrapper","navigationContainer","prevElementDiv","nextElementDiv","updateCssForHorizontalCarousel","updateCssForVerticalCarousel","pagination","addCancelSelectActionEventHandler","requestedNumberOfPages","maxCarouselPages","tooManyCarouselPages","initializeCarouselControl","nextElement","prevElement","paginationElement","nextElementAdjustedForRtl","prevElementAdjustedForRtl","prevElementAdjustedForOrientation","nextElementAdjustedForOrientation","swiperOptions","Navigation","Scrollbar","A11y","History","Keyboard","clickable","a11y","keyboard","onlyInViewport","Autoplay","pauseOnMouseEnter","Swiper","_event","stop","start","raiseCarouselEvent","NavigationNext","NavigationPrevious","currentIndex","paginationEl","bullets","bullet","destroyResizeObserver","ariaLabel","carouselNavigationPreviousTooltip","carouselNavigationNextTooltip","createResizeObserver","createCarouselEvent","currentPageId","currentPageIndex","onCarouselEventHandler","onCarouselEvent","previousEventType","checkIfCarouselInValidStateForResizeEvent","_observer","loopProperty","carouselHeightProperty","carouselId","activeCarouselPageId","activeCarouselPageIndex","staticStyle","loading","VContainer","class","embedded","VRow","VCol","$vuetify","xl","VTabs","directives","rawName","expression","model","$$v","tab","_l","ref","VTab","_v","_s","VTabsItems","VTabItem","group","groupItems","wi","roadMapPercentComplete","roadMapTitle","domProps","roadMapDescription","statuses","roadMapStatus","active","highlightedItem","labels","percentageComplete","VProgressLinear","getProgressBarColorClass","computed","components","StatusItems","ProgressGraph","mapState","groupedRoadmap","_this$roadmap","roadmap","reduce","acc","roadmapGroup","roadMapGroup","existingGroup","find","tabs","_this$groupedRoadmap$","currentTab","methods","smAndDown","mdAndUp","getReleaseById","releases","VChipGroup","activeReleaseId","releaseId","dateCreated","VChip","formatDate","activeRelease","VCard","release","releaseData","Id","VTooltip","workItemIcon","workItemType","scopedSlots","_u","fn","VIcon","_g","icon","releaseTitle","lgAndUp","releaseDescription","pr","description","mixins","baseMixin","Boolean","Colours","metaInfo","_this$$route","$route","meta","content","appConfig","iconMap","Feature","orange","Epic","teal","Task","blue","Bug","deepOrange","Issue","Requirement","green","lightGreen","VTextField","expanded","backgroundExpanded","backgroundCollapsed","$event","_k","keyCode","submit","iconExpanded","iconCollapsed","proxy","$emit","ReleaseNotes","Search","Spinner","matchingRelease","$store","getters","_this$$route$query$re","_this$$route2","query","dispatch","getPreview","VBtn","isPreviewSaving","isPreviewLoading","previewActions","some","condition","VMenu","VList","VListItem","preview","warnings","updateWorkItem","savePreview","noDescription","noTitle","loadAdaptiveCard","injectHtmlRenderer","beforeDestroy","script","AdaptiveCards","cardContainer","firstChild","bgColour","iconColour","author","resolveWorkItem","resolving","goToWorkItem","$set","VTextarea","VDialog","show","_t","actionSubtitle","close","actionTitle","Function","Dialog","baseUrl","overlayActions","openResolve","removeFromPreview","$refs","resolveDialog","workItems","filteredWorkItems","commit","isSuccessful","save","successToast","PreviewWarnings","JsonEditor","tabItems","previewSaved","_this$preview","_this$warnings","_this$releases$find$r","_this$releases","handleSave","resolveTitles","postToTeams","_this$preview$release","_this$preview2","_this$preview3","saveDialog","cache","workItem","previewCopy","findIndex","_this$preview4","updatedWorkItems","Layout","Releases","Roadmap","Preview","SerializableObjectSchema","isVersionLessOrEqual","_isValid","_major","_minor","_label","versionString","_versionString","regEx","invalidVersionString","otherVersion","getAllDeclaredVersions","ctor","properties","v1","v2","_validationEvents","isTemplateString","startsWith","tryDeleteValue","enableFullJsonRoundTrip","tryDeleteDefaultValue","forceDeleteIfNullOrDefault","serializeString","serializeBool","serializeEnum","enumType","propertyValue_1","serializedItem","clearEvents","Parse","getEventAt","SimpleSerializationContext","isSerializationEnabled","sequentialNumber","_sequentialNumber","treatEmptyAsUndefined","parsedValue","isUndefined","parseNumber","sourceValue_1","values","versionedValue","propertyValueNotSupported","invalidValue","ToJSON","_values","keyAsNumber","enumValue","getEnumValueByName","nullable","serializedValue","hasAllDefaultValues","onItemAdded","sourceCollection","sourceCollection_1","sourceItem","onParse","onToJSON","_properties","properties_1","properties_2","getCount","propertyKey","descriptor","_propertyBag","_rawProperties","defaultMaxVersion","s","getSchema","sortedProperties","p1","p2","onRegisterCustomProperties","UnsupportedProperty","propertyNotSupported","serializedProperties","effectiveContext","toJSONOriginalParam","hasDefaultValue","setCustomProperty","shouldDeleteProperty","getCustomProperty","_schemaCache","date","format","$date","baseMixins","Routable","GroupableFactory","Themeable","ripple","tabValue","proxyClass","groupClasses","$router","detail","$el","toggle","isActive","tabsBar","mandatory","h","generateRouteLink","tabindex","keydown","keyCodes","getSlot","_capabilities","name_1","jsonVersion","addCapability","removeCapability","hasCapability","capabilityName","AbstractTextFormatter","regularExpression","_regularExpression","internalFormat","DateFormatter","toLocaleDateString","day","weekday","month","year","TimeFormatter","toLocaleTimeString","hour","minute","formatters","formatters_1","formatter","collection_1","popup_control_1","Collection","_selectedIndex","renderContent","keyDown","selectedItemIndex","up","removeAriaExpanded","down","PopupControl","defaultingToVersion","supportedInVersion","versionUsed","maximumActions","maxSupportedVersion","tryAgain","pleaseLogin","enterMagicCode","pleaseEnterMagicCodeYouReceived","elementType","UUID","logLevel","_isProcessed","_original","_processed","matchedInput","valueForReplace","encodeURIComponent","requireUnitSpecifier","regExp","expectedMatchCount","generate","d0","random","d1","d2","d3","lut","initialize","escape","space","delete","_isOpen","_rootElementBounds","_popupElement","_overlayElement","scrollWidth","scrollHeight","onfocus","rootElementBounds","getBoundingClientRect","rootElementLabel","popupElementBounds","availableSpaceBelow","availableSpaceAbove","availableSpaceRight","availableSpaceLeft","getScrollX","actualPopupHeight","getScrollY","actualPopupWidth","wasCancelled","autoGrow","noResize","rowHeight","validator","noResizeHandle","watch","$nextTick","calculateInputHeight","lazyValue","genInput","onInput","onKeyDown","isFocused","VWindow","isDark","rootIsDark","BaseItemGroup","Table","TableRow","TableCell","StylableContainer","TableColumnDefinition","utils_1","horizontalCellContentAlignmentProperty","verticalCellContentAlignmentProperty","parseItem","createItemInstance","internalAddItem","internalRemoveItem","internalIndexOf","getCollectionPropertyName","items_1","instance","_columnIndex","_cellType","parentRow","parentTable","showGridLines","gridStyle","borderColor","cellElement","cellType","columnHeader","horizontalCellContentAlignment","columnIndex","verticalCellContentAlignment","isFirstRow","getIsFirstRow","cellSpacing","table","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","VWindowItem","genWindowItem","truncate","parseEnum","Shared","documentMode","truncateWorker","fullText","truncateAt","fits","breakableIndices","findBreakableIndices","lo","hi","bestBreakIdx","mid","idx","findNextCharacter","ttDeprecatedPolicy","truncatedString","truncatedHTML","html","results","currIdx","containerEnd","end","pageXOffset","pageYOffset","debouncedFn","onItemRemoved","__createBinding","k","k2","__esModule","writable","__exportStar","HostConfig","CarouselConfig","FontTypeSet","FontTypeDefinition","ContainerStyleSet","ContainerStyleDefinition","ColorSetDefinition","ActionsConfig","ShowCardActionConfig","FactSetConfig","FactTitleDefinition","FactTextDefinition","InputConfig","InputLabelConfig","RequiredInputLabelTextDefinition","TextBlockConfig","TextStyleSet","TextStyleDefinition","BaseTextDefinition","TableConfig","MediaConfig","ImageSetConfig","AdaptiveCardConfig","TextColorDefinition","ColorDefinition","parseHostConfigEnum","targetEnum","defaultColor","subtleColor","getDefaultWeight","heading","LeftOfTitle","sizeAndUnit","parseSingleColor","BuiltInContainerStyleDefinition","_allStyles","customStyleArray","customStyleArray_1","customStyle","styleName","isBuiltIn","emphasis","customStyles","monospace","getStyleDefinition","Monospace","_legacyFontType","fontTypes","paddingDefinition","classNames_1","cssClassNamePrefix","minAutoplayDuration","BaseSlideGroup","SSRBootable","provide","isMobile","showArrows","themeClasses","internalValue","callSlider","isBooted","genContent","onRouteChange","oldVal","newPath","oldPath","hasNew","hasOld","Colorable","setBackgroundColor","Proxyable","activeClass","alignWithTitle","centerActive","centered","fixedTabs","grow","hideSlider","iconsAndText","mobileBreakpoint","nextIcon","optional","prevIcon","sliderColor","sliderSize","vertical","slider","transitionTime","isReversed","sliderStyles","convertToUnit","computedColor","appIsDark","obs","$on","selectedItems","activeTab","genBar","change","setTextColor","VTabsBar","genSlider","genItems","VTabsSlider","_isDestroyed","parseNodes","slot","vnode","componentOptions","Ctor","modifiers","quiet"],"mappings":"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","file":"js/chunk-59f4f670.69e59bfb.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\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\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\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.BackgroundImage = exports.ContainerBase = exports.StylableCardElementContainer = exports.ContainerStyleProperty = exports.ActionSet = exports.ShowCardAction = exports.HttpAction = exports.HttpHeader = exports.ToggleVisibilityAction = exports.OpenUrlAction = exports.DataQuery = exports.ExecuteAction = exports.UniversalAction = exports.SubmitAction = exports.SubmitActionBase = exports.Action = exports.TimeInput = exports.TimeProperty = exports.DateInput = exports.NumberInput = exports.FilteredChoiceSet = exports.ChoiceSetInput = exports.ChoiceSetInputDataQuery = exports.Choice = exports.ToggleInput = exports.TextInput = exports.Input = exports.Media = exports.YouTubePlayer = exports.DailymotionPlayer = exports.VimeoPlayer = exports.IFrameMediaMediaPlayer = exports.CustomMediaPlayer = exports.HTML5MediaPlayer = exports.MediaPlayer = exports.MediaSource = exports.CaptionSource = exports.ContentSource = 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\nexports.SerializationContext = exports.AdaptiveCard = exports.Authentication = exports.TokenExchangeResource = exports.AuthCardButton = exports.RefreshDefinition = exports.RefreshActionProperty = exports.ContainerWithActions = exports.ColumnSet = exports.Column = exports.Container = 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 clearElement(element) {\r\n var _a, _b;\r\n var trustedHtml = (typeof window === 'undefined') ? \"\" : ((_b = (_a = window.trustedTypes) === null || _a === void 0 ? void 0 : _a.emptyHTML) !== null && _b !== void 0 ? _b : \"\");\r\n element.innerHTML = trustedHtml;\r\n}\r\nfunction renderSeparation(hostConfig, separationDefinition, orientation) {\r\n if (separationDefinition.spacing > 0 ||\r\n (separationDefinition.lineThickness && separationDefinition.lineThickness > 0)) {\r\n var separator = document.createElement(\"div\");\r\n separator.className = hostConfig.makeCssClassName(\"ac-\" +\r\n (orientation === Enums.Orientation.Horizontal ? \"horizontal\" : \"vertical\") +\r\n \"-separator\");\r\n separator.setAttribute(\"aria-hidden\", \"true\");\r\n var color = separationDefinition.lineColor\r\n ? Utils.stringToCssColor(separationDefinition.lineColor)\r\n : \"\";\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 =\r\n 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 =\r\n 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 &&\r\n renderedSeparator &&\r\n 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\r\n ? this._defaultRenderedElementDisplayMode\r\n : \"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 if (foregroundCssColor) {\r\n element.style.color = foregroundCssColor;\r\n }\r\n element.innerText = strings_1.Strings.defaults.emptyElementText(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 /*\r\n * Called when mouse enters or leaves the card.\r\n * Inputs elements need to update their visual state in such events like showing or hiding borders etc.\r\n * It calls Input.updateVisualState(eventType) for all inputs.\r\n * This method on input (updateVisualState) is supposed to be called from card level on mouse events.\r\n */\r\n CardElement.prototype.updateInputsVisualState = function (hover) {\r\n var allInputs = this.getAllInputs();\r\n var inputEventType = !!hover ? InputEventType.MouseEnterOnCard : InputEventType.MouseLeaveOnCard;\r\n allInputs.forEach(function (input) { return input.updateVisualState(inputEventType); });\r\n };\r\n CardElement.prototype.isDisplayed = function () {\r\n return (this._renderedElement !== undefined &&\r\n this.isVisible &&\r\n 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 return;\r\n };\r\n CardElement.prototype.getDefaultPadding = function () {\r\n return new shared_1.PaddingDefinition();\r\n };\r\n CardElement.prototype.getHasBackground = function (ignoreBackgroundImages) {\r\n if (ignoreBackgroundImages === void 0) { ignoreBackgroundImages = false; }\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\r\n ? this._renderedElement.style.display\r\n : 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.updateActionsEnabledState = function () {\r\n var allActions = this.getRootElement().getAllActions();\r\n for (var _i = 0, allActions_1 = allActions; _i < allActions_1.length; _i++) {\r\n var action = allActions_1[_i];\r\n action.updateEnabledState();\r\n }\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\r\n ? this.parent.isLeftMostElement(this) && this.parent.isAtTheVeryLeft()\r\n : true;\r\n };\r\n CardElement.prototype.isAtTheVeryRight = function () {\r\n return this.parent\r\n ? this.parent.isRightMostElement(this) && this.parent.isAtTheVeryRight()\r\n : true;\r\n };\r\n CardElement.prototype.isAtTheVeryTop = function () {\r\n return this.parent\r\n ? this.parent.isFirstElement(this) && this.parent.isAtTheVeryTop()\r\n : true;\r\n };\r\n CardElement.prototype.isAtTheVeryBottom = function () {\r\n return this.parent\r\n ? this.parent.isLastElement(this) && this.parent.isAtTheVeryBottom()\r\n : 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 &&\r\n 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.getAllActions = function () {\r\n var result = [];\r\n for (var i = 0; i < this.getActionCount(); i++) {\r\n var action = this.getActionAt(i);\r\n if (action) {\r\n result.push(action);\r\n }\r\n }\r\n return result;\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.getElementByIdFromAction = function (id) {\r\n var result = undefined;\r\n for (var i = 0; i < this.getActionCount(); i++) {\r\n var action = this.getActionAt(i);\r\n if (action instanceof ShowCardAction) {\r\n result = action.card.getElementById(id);\r\n if (result) {\r\n break;\r\n }\r\n }\r\n }\r\n return result;\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}$/gi);\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\", [{ value: \"auto\" }, { value: \"stretch\" }], \"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 (0, serialization_1.property)(CardElement.horizontalAlignmentProperty)\r\n ], CardElement.prototype, \"horizontalAlignment\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(CardElement.spacingProperty)\r\n ], CardElement.prototype, \"spacing\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(CardElement.separatorProperty)\r\n ], CardElement.prototype, \"separator\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(CardElement.heightProperty)\r\n ], CardElement.prototype, \"height\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(CardElement.langProperty)\r\n ], CardElement.prototype, \"lang\", null);\r\n __decorate([\r\n (0, 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 var targetColor = Utils.stringToCssColor(this.effectiveIsSubtle ? colorDefinition.subtle : colorDefinition.default);\r\n if (targetColor) {\r\n targetElement.style.color = targetColor;\r\n }\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 BaseTextBlock.prototype.getAllActions = function () {\r\n var result = _super.prototype.getAllActions.call(this);\r\n if (this.selectAction) {\r\n result.push(this.selectAction);\r\n }\r\n return result;\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\r\n ? this.fontType\r\n : 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\r\n ? this.isSubtle\r\n : 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\r\n ? this.weight\r\n : 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\", [\r\n \"Action.ShowCard\"\r\n ]);\r\n __decorate([\r\n (0, serialization_1.property)(BaseTextBlock.sizeProperty)\r\n ], BaseTextBlock.prototype, \"size\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(BaseTextBlock.weightProperty)\r\n ], BaseTextBlock.prototype, \"weight\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(BaseTextBlock.colorProperty)\r\n ], BaseTextBlock.prototype, \"color\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(BaseTextBlock.fontTypeProperty)\r\n ], BaseTextBlock.prototype, \"fontType\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(BaseTextBlock.isSubtleProperty)\r\n ], BaseTextBlock.prototype, \"isSubtle\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(BaseTextBlock.textProperty)\r\n ], BaseTextBlock.prototype, \"text\", null);\r\n __decorate([\r\n (0, 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 var _a, _b;\r\n if (this.renderedElement !== undefined) {\r\n if (this.maxLines && this.maxLines > 0) {\r\n this.renderedElement.style.maxHeight =\r\n this._computedLineHeight * this.maxLines + \"px\";\r\n }\r\n var originalHtml = (_b = (_a = TextBlock._ttRoundtripPolicy) === null || _a === void 0 ? void 0 : _a.createHTML(this._originalInnerHtml)) !== null && _b !== void 0 ? _b : this._originalInnerHtml;\r\n this.renderedElement.innerHTML = originalHtml;\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 ||\r\n (children.length === 1 && children[0].tagName.toLowerCase() === \"p\" && !children[0].children.length);\r\n if (truncationSupported) {\r\n var element = isTextOnly ? this.renderedElement : children[0];\r\n Utils.truncateText(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 var _a, _b;\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.isEffectivelyEnabled()) {\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.isEffectivelyEnabled()) {\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\r\n .replace(//g, \"===\")\r\n .replace(/<\\/mark>/g, \"/==/\");\r\n }\r\n var markdownProcessingResult = AdaptiveCard.applyMarkdown(formattedText);\r\n if (markdownProcessingResult.didProcess &&\r\n 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 +=\r\n \"background-color: \" +\r\n effectiveStyle.highlightBackgroundColor +\r\n \";\";\r\n }\r\n if (effectiveStyle.highlightForegroundColor) {\r\n markStyle +=\r\n \"color: \" + effectiveStyle.highlightForegroundColor + \";\";\r\n }\r\n if (markStyle) {\r\n markStyle = 'style=\"' + markStyle + '\"';\r\n }\r\n this._processedText = this._processedText\r\n .replace(/===/g, \"\")\r\n .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 var processedHtml = (_b = (_a = TextBlock._ttMarkdownPolicy) === null || _a === void 0 ? void 0 : _a.createHTML(this._processedText)) !== null && _b !== void 0 ? _b : this._processedText;\r\n element.innerHTML = processedHtml;\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 var _loop_1 = function (anchor) {\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, anchor, 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, anchor, 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 for (var _i = 0, _c = Array.from(anchors); _i < _c.length; _i++) {\r\n var anchor = _c[_i];\r\n _loop_1(anchor);\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 ||\r\n 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 =\r\n this.getFontSize(this.hostConfig.getFontTypeDefinition(this.effectiveFontType)) *\r\n 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 var _a, _b;\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 // Markdown processing is handled outside of Adaptive Cards. It's up to the host to ensure that markdown is safely\r\n // processed.\r\n TextBlock._ttMarkdownPolicy = (typeof window === 'undefined') ? undefined : (_a = window.trustedTypes) === null || _a === void 0 ? void 0 : _a.createPolicy(\"adaptivecards#markdownPassthroughPolicy\", { createHTML: function (value) { return value; } });\r\n // When \"advanced\" truncation is enabled (see GlobalSettings.useAdvancedCardBottomTruncation and\r\n // GlobalSettings.useAdvancedTextBlockTruncation), we store the original pre-truncation content in\r\n // _originalInnerHtml so that we can restore/recalculate truncation later if space availability has changed (see\r\n // TextBlock.restoreOriginalContent())\r\n TextBlock._ttRoundtripPolicy = (typeof window === 'undefined') ? undefined : (_b = window.trustedTypes) === null || _b === void 0 ? void 0 : _b.createPolicy(\"adaptivecards#restoreContentsPolicy\", { createHTML: function (value) { return value; } });\r\n __decorate([\r\n (0, serialization_1.property)(TextBlock.wrapProperty)\r\n ], TextBlock.prototype, \"wrap\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TextBlock.maxLinesProperty)\r\n ], TextBlock.prototype, \"maxLines\", void 0);\r\n __decorate([\r\n (0, 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.isEffectivelyEnabled()) {\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 var backgroundColor = Utils.stringToCssColor(this.effectiveIsSubtle\r\n ? colorDefinition.highlightColors.subtle\r\n : colorDefinition.highlightColors.default);\r\n if (backgroundColor) {\r\n targetElement.style.backgroundColor = backgroundColor;\r\n }\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 (0, serialization_1.property)(TextRun.italicProperty)\r\n ], TextRun.prototype, \"italic\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TextRun.strikethroughProperty)\r\n ], TextRun.prototype, \"strikethrough\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TextRun.highlightProperty)\r\n ], TextRun.prototype, \"highlight\", void 0);\r\n __decorate([\r\n (0, 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 (0, serialization_1.property)(Fact.titleProperty)\r\n ], Fact.prototype, \"name\", void 0);\r\n __decorate([\r\n (0, 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 =\r\n !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 (0, 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 this.renderedImageElement = imageElement;\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 clearElement(_this.renderedElement);\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 &&\r\n _this.selectAction.isEffectivelyEnabled() &&\r\n (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 imageElement.onclick = function (e) {\r\n if (_this.selectAction && _this.selectAction.isEffectivelyEnabled()) {\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.isEffectivelyEnabled()) {\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 var backgroundColor = Utils.stringToCssColor(this.backgroundColor);\r\n if (backgroundColor) {\r\n imageElement.style.backgroundColor = backgroundColor;\r\n }\r\n this.setImageSource(imageElement);\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.getAllActions = function () {\r\n var result = _super.prototype.getAllActions.call(this);\r\n if (this.selectAction) {\r\n result.push(this.selectAction);\r\n }\r\n return result;\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.prototype.setImageSource = function (imageElement) {\r\n var imageForceLoader = new ImageForceLoader(this.forceLoad, this.url);\r\n imageForceLoader.configureImage(this);\r\n imageElement.src = this.preProcessPropertyValue(Image.urlProperty);\r\n imageForceLoader.resetImage(this);\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\", [\r\n \"Action.ShowCard\"\r\n ]);\r\n Image.shouldForceLoadProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_6, \"forceLoad\", false);\r\n __decorate([\r\n (0, serialization_1.property)(Image.urlProperty)\r\n ], Image.prototype, \"url\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Image.altTextProperty)\r\n ], Image.prototype, \"altText\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Image.backgroundColorProperty)\r\n ], Image.prototype, \"backgroundColor\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Image.sizeProperty)\r\n ], Image.prototype, \"size\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Image.styleProperty)\r\n ], Image.prototype, \"style\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Image.pixelWidthProperty)\r\n ], Image.prototype, \"pixelWidth\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Image.pixelHeightProperty)\r\n ], Image.prototype, \"pixelHeight\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Image.selectActionProperty)\r\n ], Image.prototype, \"selectAction\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Image.shouldForceLoadProperty)\r\n ], Image.prototype, \"forceLoad\", void 0);\r\n return Image;\r\n}(CardElement));\r\nexports.Image = Image;\r\n// configures Image element to fetch a new image data from url source instead of relying on cache\r\n// currently rudimentary refreshing scheme is used\r\n// by attaching unique query string to url, we bypass the cache usage\r\nvar ImageForceLoader = /** @class */ (function () {\r\n function ImageForceLoader(doForceLoad, url) {\r\n this.doForceLoad = doForceLoad;\r\n this.url = url;\r\n if (url && url.length && doForceLoad) {\r\n // we can do better by appending unique key such as uuid instead of epoch\r\n // however the current usage is for front-end ui and networking, \r\n // since ui is running in single main thread, this is sufficient mechanism\r\n // without needing to depend on external library for our small use cases.\r\n this.uniqueHash = '?' + Date.now();\r\n this.urlWithForceLoadOption = url + this.uniqueHash;\r\n }\r\n }\r\n ImageForceLoader.prototype.configureImage = function (image) {\r\n if (this.urlWithForceLoadOption && this.urlWithForceLoadOption.length) {\r\n image.url = this.urlWithForceLoadOption;\r\n }\r\n };\r\n ImageForceLoader.prototype.resetImage = function (image) {\r\n image.url = this.url;\r\n };\r\n return ImageForceLoader;\r\n}());\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.forbiddenChildElements = function () {\r\n return [];\r\n };\r\n CardElementContainer.prototype.releaseDOMResources = function () {\r\n _super.prototype.releaseDOMResources.call(this);\r\n for (var i = 0; i < this.getItemCount(); i++) {\r\n this.getItemAt(i).releaseDOMResources();\r\n }\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 &&\r\n this.isSelectable &&\r\n this._selectAction &&\r\n hostConfig.supportsInteractivity) {\r\n element.onclick = function (e) {\r\n if (_this._selectAction && _this._selectAction.isEffectivelyEnabled()) {\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 &&\r\n _this._selectAction.isEffectivelyEnabled() &&\r\n (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.isEffectivelyEnabled()) {\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.push.apply(result, this.getItemAt(i).getAllInputs(processActions));\r\n }\r\n return result;\r\n };\r\n CardElementContainer.prototype.getAllActions = function () {\r\n var result = _super.prototype.getAllActions.call(this);\r\n for (var i = 0; i < this.getItemCount(); i++) {\r\n result.push.apply(result, this.getItemAt(i).getAllActions());\r\n }\r\n if (this._selectAction) {\r\n result.push(this._selectAction);\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.push.apply(result, 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 _a;\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, check the actions\r\n for (var i = 0; i < this.getActionCount(); i++) {\r\n target = (_a = this.getActionAt(i)) === null || _a === void 0 ? void 0 : _a.findDOMNodeOwner(node);\r\n if (target) {\r\n return target;\r\n }\r\n }\r\n // if not found in children or actions, 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\", [\r\n \"Action.ShowCard\"\r\n ]);\r\n __decorate([\r\n (0, 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 _this.presentationStyle = Enums.ImageSetPresentationStyle.Default;\r\n _this.pixelOffset = 0;\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 if (this.presentationStyle == Enums.ImageSetPresentationStyle.Default) {\r\n renderedImage.style.marginRight = \"10px\";\r\n }\r\n Utils.appendChild(element, renderedImage);\r\n }\r\n }\r\n if (this.presentationStyle == Enums.ImageSetPresentationStyle.Stacked) {\r\n this.applyStackedPresentationStyle();\r\n }\r\n }\r\n return element;\r\n };\r\n ImageSet.prototype.applyStackedPresentationStyle = function () {\r\n if (this._images[0].renderedImageElement) {\r\n var dimension = StackedImageConfigurator.parseNumericPixelDimension(this._images[0].renderedImageElement.style.height);\r\n var bgColor = this.getEffectiveBackgroundColor();\r\n if (dimension) {\r\n var stackedImageConfigurator = new StackedImageConfigurator(this.pixelOffset, dimension, bgColor);\r\n stackedImageConfigurator.configureImagesArrayAsStackedLayout(this._images);\r\n }\r\n }\r\n };\r\n ImageSet.prototype.getEffectiveBackgroundColor = function () {\r\n var parentContainer = this.getParentContainer();\r\n var style = parentContainer === null || parentContainer === void 0 ? void 0 : parentContainer.getEffectiveStyle();\r\n var styleDefinition = this.hostConfig.containerStyles.getStyleByName(style, this.hostConfig.containerStyles.getStyleByName(this.defaultStyle));\r\n return Utils.stringToCssColor(styleDefinition.backgroundColor);\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\r\n ? this._images[this._images.length - 1]\r\n : 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) {\r\n item.setParent(sender);\r\n });\r\n ImageSet.imageSizeProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_0, \"imageSize\", Enums.ImageSize, Enums.ImageSize.Medium);\r\n ImageSet.imagePresentationStyle = new serialization_1.EnumProperty(serialization_1.Versions.v1_6, \"style\", Enums.ImageSetPresentationStyle, Enums.ImageSetPresentationStyle.Default);\r\n ImageSet.pixelOffset = new serialization_1.NumProperty(serialization_1.Versions.v1_6, \"offset\", 0, undefined);\r\n __decorate([\r\n (0, serialization_1.property)(ImageSet.imagesProperty)\r\n ], ImageSet.prototype, \"_images\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ImageSet.imageSizeProperty)\r\n ], ImageSet.prototype, \"imageSize\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ImageSet.imagePresentationStyle)\r\n ], ImageSet.prototype, \"presentationStyle\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ImageSet.pixelOffset)\r\n ], ImageSet.prototype, \"pixelOffset\", void 0);\r\n return ImageSet;\r\n}(CardElementContainer));\r\nexports.ImageSet = ImageSet;\r\nvar StackedImageConfigurator = /** @class */ (function () {\r\n function StackedImageConfigurator(offset, dimension, style) {\r\n this.sign45 = 0.7071;\r\n this.maxImageCounts = 2;\r\n this.offset = 0;\r\n this.normalizationConstant = 0;\r\n this.border = 5;\r\n this.dimension = 0;\r\n this.dimension = dimension;\r\n this.normalizationConstant = (dimension * this.sign45 - 0.5 * dimension) * 2;\r\n // offset determines how far images are placed from each other\r\n // at zero, images are separated only by the border\r\n // there is no restriction on how far they are apart in positive values, their actual\r\n // positioning is limited by maximum size imposed by Image renderer\r\n // a negative value can decrease upto the diameter of the image since a value less than the diameter\r\n // put the images past each other, and the use of such value is not reasonable request\r\n // users should change image positions in such case.\r\n this.offset = this.sign45 * (Math.max(offset, -dimension) - this.normalizationConstant);\r\n this.style = style ? style : \"\";\r\n }\r\n StackedImageConfigurator.prototype.moveImageRight = function (element) {\r\n element.style.marginLeft = this.offset + \"px\";\r\n };\r\n StackedImageConfigurator.prototype.moveImageUp = function (element) {\r\n element.style.marginBottom = this.offset + this.dimension + \"px\";\r\n };\r\n StackedImageConfigurator.prototype.moveImageDown = function (element) {\r\n element.style.marginTop = this.offset + this.dimension + \"px\";\r\n };\r\n StackedImageConfigurator.prototype.makeImageRound = function (element) {\r\n element.style.borderRadius = \"50%\";\r\n element.style.backgroundPosition = \"50% 50%\";\r\n element.style.backgroundRepeat = \"no-repeat\";\r\n };\r\n StackedImageConfigurator.prototype.applyBorder = function (element) {\r\n element.style.height = (this.dimension + this.border * 2) + \"px\";\r\n element.style.border = this.border + \"px\" + \" solid \" + this.style;\r\n };\r\n StackedImageConfigurator.prototype.configureImageForBottomLeft = function (element) {\r\n this.moveImageDown(element);\r\n this.makeImageRound(element);\r\n this.applyBorder(element);\r\n element.style.zIndex = \"2\";\r\n };\r\n StackedImageConfigurator.prototype.configureImageForTopRight = function (element) {\r\n this.moveImageUp(element);\r\n this.moveImageRight(element);\r\n this.makeImageRound(element);\r\n element.style.zIndex = \"1\";\r\n };\r\n // stacked layout is applied when there are two images in ImageSet,\r\n // first image in the ImageSet is put bottom left of ImageSet,\r\n // second image is placed top right diagonally to the first image at 45 angle\r\n // first image is placed over the second image should the overlap to occur.\r\n StackedImageConfigurator.prototype.configureImagesArrayAsStackedLayout = function (elements) {\r\n if (elements.length == 1) {\r\n if (elements[0].renderedImageElement) {\r\n this.makeImageRound(elements[0].renderedImageElement);\r\n }\r\n }\r\n else if (elements.length <= this.maxImageCounts) {\r\n if (elements[0].renderedImageElement && elements[1].renderedImageElement) {\r\n this.configureImageForBottomLeft(elements[0].renderedImageElement);\r\n this.configureImageForTopRight(elements[1].renderedImageElement);\r\n }\r\n }\r\n };\r\n StackedImageConfigurator.parseNumericPixelDimension = function (dimension) {\r\n if ((dimension === null || dimension === void 0 ? void 0 : dimension.substring(dimension.length - 2)) == 'px') {\r\n return parseInt(dimension.substring(0, dimension.length - 2));\r\n }\r\n return undefined;\r\n };\r\n return StackedImageConfigurator;\r\n}());\r\nvar ContentSource = /** @class */ (function (_super) {\r\n __extends(ContentSource, _super);\r\n //#endregion\r\n function ContentSource(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 ContentSource.prototype.isValid = function () {\r\n return this.mimeType && this.url ? true : false;\r\n };\r\n //#region Schema\r\n ContentSource.mimeTypeProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_1, \"mimeType\");\r\n ContentSource.urlProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_1, \"url\");\r\n __decorate([\r\n (0, serialization_1.property)(ContentSource.mimeTypeProperty)\r\n ], ContentSource.prototype, \"mimeType\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ContentSource.urlProperty)\r\n ], ContentSource.prototype, \"url\", void 0);\r\n return ContentSource;\r\n}(serialization_1.SerializableObject));\r\nexports.ContentSource = ContentSource;\r\nvar CaptionSource = /** @class */ (function (_super) {\r\n __extends(CaptionSource, _super);\r\n //#endregion\r\n function CaptionSource(url, mimeType, label) {\r\n var _this = _super.call(this, url, mimeType) || this;\r\n _this.label = label;\r\n return _this;\r\n }\r\n CaptionSource.prototype.getSchemaKey = function () {\r\n return \"CaptionSource\";\r\n };\r\n CaptionSource.prototype.render = function () {\r\n var result = undefined;\r\n if (this.isValid()) {\r\n result = document.createElement(\"track\");\r\n result.src = this.url;\r\n result.kind = \"captions\";\r\n result.label = this.label;\r\n }\r\n return result;\r\n };\r\n //#region Schema\r\n CaptionSource.labelProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_6, \"label\");\r\n __decorate([\r\n (0, serialization_1.property)(CaptionSource.labelProperty)\r\n ], CaptionSource.prototype, \"label\", void 0);\r\n return CaptionSource;\r\n}(ContentSource));\r\nexports.CaptionSource = CaptionSource;\r\nvar MediaSource = /** @class */ (function (_super) {\r\n __extends(MediaSource, _super);\r\n function MediaSource() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n MediaSource.prototype.getSchemaKey = function () {\r\n return \"MediaSource\";\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 return MediaSource;\r\n}(ContentSource));\r\nexports.MediaSource = MediaSource;\r\nvar MediaPlayer = /** @class */ (function () {\r\n function MediaPlayer() {\r\n }\r\n MediaPlayer.prototype.play = function () {\r\n // Do nothing in base implementation\r\n };\r\n Object.defineProperty(MediaPlayer.prototype, \"posterUrl\", {\r\n get: function () {\r\n return this._posterUrl;\r\n },\r\n set: function (value) {\r\n this._posterUrl = value;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(MediaPlayer.prototype, \"selectedMediaType\", {\r\n get: function () {\r\n return undefined;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return MediaPlayer;\r\n}());\r\nexports.MediaPlayer = MediaPlayer;\r\nvar HTML5MediaPlayer = /** @class */ (function (_super) {\r\n __extends(HTML5MediaPlayer, _super);\r\n function HTML5MediaPlayer(owner) {\r\n var _this = _super.call(this) || this;\r\n _this.owner = owner;\r\n _this._selectedSources = [];\r\n _this._captionSources = [];\r\n _this.processSources();\r\n return _this;\r\n }\r\n HTML5MediaPlayer.prototype.processSources = function () {\r\n var _a;\r\n this._selectedSources = [];\r\n this._captionSources = [];\r\n this._selectedMediaType = undefined;\r\n for (var _i = 0, _b = this.owner.sources; _i < _b.length; _i++) {\r\n var source = _b[_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 = HTML5MediaPlayer.supportedMediaTypes.indexOf(mimeComponents[0]);\r\n if (index >= 0) {\r\n this._selectedMediaType = HTML5MediaPlayer.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 (_a = this._captionSources).push.apply(_a, this.owner.captionSources);\r\n };\r\n HTML5MediaPlayer.prototype.canPlay = function () {\r\n return this._selectedSources.length > 0;\r\n };\r\n HTML5MediaPlayer.prototype.fetchVideoDetails = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/];\r\n });\r\n });\r\n };\r\n HTML5MediaPlayer.prototype.render = function () {\r\n if (this._selectedMediaType === \"video\") {\r\n this._mediaElement = document.createElement(\"video\");\r\n }\r\n else {\r\n this._mediaElement = document.createElement(\"audio\");\r\n }\r\n this._mediaElement.setAttribute(\"aria-label\", this.owner.altText ? this.owner.altText : strings_1.Strings.defaults.mediaPlayerAriaLabel());\r\n this._mediaElement.setAttribute(\"webkit-playsinline\", \"\");\r\n this._mediaElement.setAttribute(\"playsinline\", \"\");\r\n // We enable crossorigin for cases where the caption file has a different domain than\r\n // the video file. If the caption file lives in a different domain than the video file\r\n // and crossorigin is not set, then the caption file will fail to load.\r\n this._mediaElement.setAttribute(\"crossorigin\", \"\");\r\n this._mediaElement.autoplay = true;\r\n this._mediaElement.controls = true;\r\n if (Utils.isMobileOS()) {\r\n this._mediaElement.muted = true;\r\n }\r\n this._mediaElement.preload = \"none\";\r\n this._mediaElement.style.width = \"100%\";\r\n for (var _i = 0, _a = this.owner.sources; _i < _a.length; _i++) {\r\n var source = _a[_i];\r\n var renderedSource = source.render();\r\n Utils.appendChild(this._mediaElement, renderedSource);\r\n }\r\n for (var _b = 0, _c = this.owner.captionSources; _b < _c.length; _b++) {\r\n var captionSource = _c[_b];\r\n if (captionSource.mimeType == \"vtt\") {\r\n var renderedCaptionSource = captionSource.render();\r\n Utils.appendChild(this._mediaElement, renderedCaptionSource);\r\n }\r\n }\r\n return this._mediaElement;\r\n };\r\n HTML5MediaPlayer.prototype.play = function () {\r\n if (this._mediaElement) {\r\n this._mediaElement.play();\r\n }\r\n };\r\n Object.defineProperty(HTML5MediaPlayer.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 HTML5MediaPlayer.supportedMediaTypes = [\"audio\", \"video\"];\r\n return HTML5MediaPlayer;\r\n}(MediaPlayer));\r\nexports.HTML5MediaPlayer = HTML5MediaPlayer;\r\nvar CustomMediaPlayer = /** @class */ (function (_super) {\r\n __extends(CustomMediaPlayer, _super);\r\n function CustomMediaPlayer(matches) {\r\n return _super.call(this) || this;\r\n }\r\n return CustomMediaPlayer;\r\n}(MediaPlayer));\r\nexports.CustomMediaPlayer = CustomMediaPlayer;\r\nvar IFrameMediaMediaPlayer = /** @class */ (function (_super) {\r\n __extends(IFrameMediaMediaPlayer, _super);\r\n function IFrameMediaMediaPlayer(matches, iFrameTitle) {\r\n var _this = _super.call(this, matches) || this;\r\n _this.iFrameTitle = iFrameTitle;\r\n if (matches.length >= 2) {\r\n _this._videoId = matches[1];\r\n }\r\n return _this;\r\n }\r\n IFrameMediaMediaPlayer.prototype.canPlay = function () {\r\n return this._videoId !== undefined;\r\n };\r\n IFrameMediaMediaPlayer.prototype.render = function () {\r\n var container = document.createElement(\"div\");\r\n container.style.position = \"relative\";\r\n container.style.width = \"100%\";\r\n container.style.height = \"0\";\r\n container.style.paddingBottom = \"56.25%\";\r\n var iFrame = document.createElement(\"iframe\");\r\n iFrame.style.position = \"absolute\";\r\n iFrame.style.top = \"0\";\r\n iFrame.style.left = \"0\";\r\n iFrame.style.width = \"100%\";\r\n iFrame.style.height = \"100%\";\r\n iFrame.src = this.getEmbedVideoUrl();\r\n iFrame.frameBorder = \"0\";\r\n if (this.iFrameTitle) {\r\n iFrame.title = this.iFrameTitle;\r\n }\r\n iFrame.allow =\r\n \"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\";\r\n iFrame.allowFullscreen = true;\r\n container.appendChild(iFrame);\r\n return container;\r\n };\r\n Object.defineProperty(IFrameMediaMediaPlayer.prototype, \"videoId\", {\r\n get: function () {\r\n return this._videoId;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return IFrameMediaMediaPlayer;\r\n}(CustomMediaPlayer));\r\nexports.IFrameMediaMediaPlayer = IFrameMediaMediaPlayer;\r\nvar VimeoPlayer = /** @class */ (function (_super) {\r\n __extends(VimeoPlayer, _super);\r\n function VimeoPlayer() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n VimeoPlayer.prototype.fetchVideoDetails = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var oEmbedUrl, response, json;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n oEmbedUrl = \"https://vimeo.com/api/oembed.json?url=\".concat(this.getEmbedVideoUrl());\r\n return [4 /*yield*/, fetch(oEmbedUrl)];\r\n case 1:\r\n response = _a.sent();\r\n if (!response.ok) return [3 /*break*/, 3];\r\n return [4 /*yield*/, response.json()];\r\n case 2:\r\n json = _a.sent();\r\n this.posterUrl = json[\"thumbnail_url\"];\r\n _a.label = 3;\r\n case 3: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n VimeoPlayer.prototype.getEmbedVideoUrl = function () {\r\n return \"https://player.vimeo.com/video/\".concat(this.videoId, \"?autoplay=1\");\r\n };\r\n return VimeoPlayer;\r\n}(IFrameMediaMediaPlayer));\r\nexports.VimeoPlayer = VimeoPlayer;\r\nvar DailymotionPlayer = /** @class */ (function (_super) {\r\n __extends(DailymotionPlayer, _super);\r\n function DailymotionPlayer() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n DailymotionPlayer.prototype.fetchVideoDetails = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var apiUrl, response, json;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n apiUrl = \"https://api.dailymotion.com/video/\".concat(this.videoId, \"?fields=thumbnail_720_url\");\r\n return [4 /*yield*/, fetch(apiUrl)];\r\n case 1:\r\n response = _a.sent();\r\n if (!response.ok) return [3 /*break*/, 3];\r\n return [4 /*yield*/, response.json()];\r\n case 2:\r\n json = _a.sent();\r\n this.posterUrl = json[\"thumbnail_720_url\"];\r\n _a.label = 3;\r\n case 3: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n DailymotionPlayer.prototype.getEmbedVideoUrl = function () {\r\n return \"https://www.dailymotion.com/embed/video/\".concat(this.videoId, \"?autoplay=1\");\r\n };\r\n return DailymotionPlayer;\r\n}(IFrameMediaMediaPlayer));\r\nexports.DailymotionPlayer = DailymotionPlayer;\r\nvar YouTubePlayer = /** @class */ (function (_super) {\r\n __extends(YouTubePlayer, _super);\r\n function YouTubePlayer(matches, iFrameTitle) {\r\n var _this = _super.call(this, matches, iFrameTitle) || this;\r\n _this.iFrameTitle = iFrameTitle;\r\n if (matches.length >= 3 && matches[2] !== undefined) {\r\n _this._startTimeIndex = parseInt(matches[2]);\r\n }\r\n return _this;\r\n }\r\n YouTubePlayer.prototype.fetchVideoDetails = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n this.posterUrl = this.videoId\r\n ? \"https://img.youtube.com/vi/\".concat(this.videoId, \"/maxresdefault.jpg\")\r\n : undefined;\r\n return [2 /*return*/];\r\n });\r\n });\r\n };\r\n YouTubePlayer.prototype.getEmbedVideoUrl = function () {\r\n var url = \"https://www.youtube.com/embed/\".concat(this.videoId, \"?autoplay=1\");\r\n if (this._startTimeIndex !== undefined) {\r\n url += \"&start=\".concat(this._startTimeIndex);\r\n }\r\n return url;\r\n };\r\n return YouTubePlayer;\r\n}(IFrameMediaMediaPlayer));\r\nexports.YouTubePlayer = YouTubePlayer;\r\nvar Media = /** @class */ (function (_super) {\r\n __extends(Media, _super);\r\n function Media() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.sources = [];\r\n _this.captionSources = [];\r\n return _this;\r\n }\r\n Media.prototype.createMediaPlayer = function () {\r\n for (var _i = 0, _a = Media.customMediaPlayers; _i < _a.length; _i++) {\r\n var provider = _a[_i];\r\n for (var _b = 0, _c = this.sources; _b < _c.length; _b++) {\r\n var source = _c[_b];\r\n if (source.url) {\r\n for (var _d = 0, _f = provider.urlPatterns; _d < _f.length; _d++) {\r\n var pattern = _f[_d];\r\n var matches = pattern.exec(source.url);\r\n if (matches !== null) {\r\n return provider.createMediaPlayer(matches);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return new HTML5MediaPlayer(this);\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._mediaPlayer.render();\r\n clearElement(this.renderedElement);\r\n this.renderedElement.appendChild(mediaPlayerElement);\r\n this._mediaPlayer.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.displayPoster = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var playButtonArrowWidth, playButtonArrowHeight, posterRootElement_1, posterUrl, posterImageElement_1, playButtonOuterElement, playButtonInnerElement, playButtonContainer;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n if (this.renderedElement) {\r\n playButtonArrowWidth = 12;\r\n playButtonArrowHeight = 15;\r\n posterRootElement_1 = document.createElement(\"div\");\r\n posterRootElement_1.className = this.hostConfig.makeCssClassName(\"ac-media-poster\");\r\n posterRootElement_1.setAttribute(\"role\", \"contentinfo\");\r\n posterRootElement_1.setAttribute(\"aria-label\", this.altText ? this.altText : strings_1.Strings.defaults.mediaPlayerAriaLabel());\r\n posterRootElement_1.style.position = \"relative\";\r\n posterRootElement_1.style.display = \"flex\";\r\n posterUrl = this.poster ? this.poster : this._mediaPlayer.posterUrl;\r\n if (!posterUrl) {\r\n posterUrl = this.hostConfig.media.defaultPoster;\r\n }\r\n if (posterUrl) {\r\n 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_1.classList.add(\"empty\");\r\n posterRootElement_1.style.minHeight = \"150px\";\r\n };\r\n posterImageElement_1.src = posterUrl;\r\n posterRootElement_1.appendChild(posterImageElement_1);\r\n }\r\n else {\r\n posterRootElement_1.classList.add(\"empty\");\r\n posterRootElement_1.style.minHeight = \"150px\";\r\n }\r\n if (this.hostConfig.supportsInteractivity && this._mediaPlayer.canPlay()) {\r\n 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 =\r\n 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\") {\r\n // space or enter\r\n _this.handlePlayButtonInvoke(e);\r\n }\r\n };\r\n 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 =\r\n \"translate(\" + playButtonArrowWidth / 10 + \"px,0px)\";\r\n playButtonOuterElement.appendChild(playButtonInnerElement);\r\n 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_1.appendChild(playButtonContainer);\r\n }\r\n clearElement(this.renderedElement);\r\n this.renderedElement.appendChild(posterRootElement_1);\r\n }\r\n return [2 /*return*/];\r\n });\r\n });\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 return element;\r\n };\r\n Media.prototype.render = function () {\r\n var _this = this;\r\n var result = _super.prototype.render.call(this);\r\n if (result) {\r\n this._mediaPlayer = this.createMediaPlayer();\r\n this._mediaPlayer.fetchVideoDetails().then(function () { return _this.displayPoster(); });\r\n }\r\n return result;\r\n };\r\n Media.prototype.releaseDOMResources = function () {\r\n _super.prototype.releaseDOMResources.call(this);\r\n this.displayPoster();\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 if (this._mediaPlayer) {\r\n var posterUrl = this.poster ? this.poster : this.hostConfig.media.defaultPoster;\r\n if (posterUrl) {\r\n result.push({ url: posterUrl, mimeType: \"image\" });\r\n }\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 /* eslint-disable @typescript-eslint/no-unnecessary-type-assertion -- `mediaSource.url` is of type `string | undefined`, but is validated by `isValid()` call */\r\n url: mediaSource.url,\r\n mimeType: mediaSource.mimeType\r\n /* eslint-enable @typescript-eslint/no-unnecessary-type-assertion */\r\n });\r\n }\r\n }\r\n for (var _b = 0, _c = this.captionSources; _b < _c.length; _b++) {\r\n var captionSource = _c[_b];\r\n if (captionSource.isValid()) {\r\n result.push({\r\n /* eslint-disable @typescript-eslint/no-unnecessary-type-assertion -- `captionSource.url` is of type `string | undefined`, but is validated by `isValid()` call */\r\n url: captionSource.url,\r\n mimeType: captionSource.mimeType\r\n /* eslint-enable @typescript-eslint/no-unnecessary-type-assertion */\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._mediaPlayer.selectedMediaType;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Media.customMediaPlayers = [\r\n {\r\n urlPatterns: [\r\n /^(?:https?:\\/\\/)?(?:www.)?youtube.com\\/watch\\?(?=.*v=([\\w\\d-_]+))(?=(?:.*t=(\\d+))?).*/gi,\r\n /^(?:https?:\\/\\/)?youtu.be\\/([\\w\\d-_]+)(?:\\?t=(\\d+))?/gi\r\n ],\r\n createMediaPlayer: function (matches) {\r\n return new YouTubePlayer(matches, strings_1.Strings.defaults.youTubeVideoPlayer());\r\n }\r\n },\r\n {\r\n urlPatterns: [/^(?:https?:\\/\\/)?vimeo.com\\/([\\w\\d-_]+).*/gi],\r\n createMediaPlayer: function (matches) {\r\n return new VimeoPlayer(matches, strings_1.Strings.defaults.vimeoVideoPlayer());\r\n }\r\n },\r\n {\r\n urlPatterns: [/^(?:https?:\\/\\/)?(?:www.)?dailymotion.com\\/video\\/([\\w\\d-_]+).*/gi],\r\n createMediaPlayer: function (matches) {\r\n return new DailymotionPlayer(matches, strings_1.Strings.defaults.dailymotionVideoPlayer());\r\n }\r\n }\r\n ];\r\n //#region Schema\r\n Media.sourcesProperty = new serialization_1.SerializableObjectCollectionProperty(serialization_1.Versions.v1_1, \"sources\", MediaSource);\r\n Media.captionSourcesProperty = new serialization_1.SerializableObjectCollectionProperty(serialization_1.Versions.v1_6, \"captionSources\", CaptionSource);\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 __decorate([\r\n (0, serialization_1.property)(Media.sourcesProperty)\r\n ], Media.prototype, \"sources\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Media.captionSourcesProperty)\r\n ], Media.prototype, \"captionSources\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Media.posterProperty)\r\n ], Media.prototype, \"poster\", void 0);\r\n __decorate([\r\n (0, 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 InputEventType;\r\n(function (InputEventType) {\r\n InputEventType[InputEventType[\"InitialRender\"] = 0] = \"InitialRender\";\r\n InputEventType[InputEventType[\"MouseEnterOnCard\"] = 1] = \"MouseEnterOnCard\";\r\n InputEventType[InputEventType[\"MouseLeaveOnCard\"] = 2] = \"MouseLeaveOnCard\";\r\n InputEventType[InputEventType[\"FocusLeave\"] = 3] = \"FocusLeave\";\r\n})(InputEventType || (InputEventType = {}));\r\nvar Input = /** @class */ (function (_super) {\r\n __extends(Input, _super);\r\n function Input() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.inputStyle = Enums.InputStyle.Default;\r\n return _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 _this = this;\r\n var hostConfig = this.hostConfig;\r\n this._outerContainerElement = document.createElement(\"div\");\r\n this._outerContainerElement.style.display = \"flex\";\r\n if (this.labelPosition === Enums.InputLabelPosition.Inline) {\r\n this._outerContainerElement.style.flexDirection = \"row\";\r\n }\r\n else {\r\n this._outerContainerElement.style.flexDirection = \"column\";\r\n }\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 if (this.labelPosition === Enums.InputLabelPosition.Inline) {\r\n // For inline label position: label should be in center of the div and no extra spacing needed\r\n this._renderedLabelElement.style.alignSelf = \"center\";\r\n }\r\n else {\r\n this._renderedLabelElement.style.marginBottom =\r\n hostConfig.getEffectiveSpacing(hostConfig.inputs.label.inputSpacing) + \"px\";\r\n }\r\n this._outerContainerElement.appendChild(this._renderedLabelElement);\r\n }\r\n }\r\n this._inputControlContainerElement = document.createElement(\"div\");\r\n this._inputControlContainerElement.className =\r\n 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 if (this._renderedLabelElement && this.labelPosition === Enums.InputLabelPosition.Inline) {\r\n if (!this.labelWidth) {\r\n var defaultLabelWidth = hostConfig.inputs.label.width;\r\n this._renderedLabelElement.style.width = defaultLabelWidth.toString() + \"%\";\r\n this._inputControlContainerElement.style.width = (100 - defaultLabelWidth) + \"%\";\r\n }\r\n else if (this.labelWidth.unit == Enums.SizeUnit.Weight) {\r\n var labelWidthInPercent = this.labelWidth.physicalSize;\r\n this._renderedLabelElement.style.width = labelWidthInPercent.toString() + \"%\";\r\n this._inputControlContainerElement.style.width = (100 - labelWidthInPercent).toString() + \"%\";\r\n }\r\n else if (this.labelWidth.unit == Enums.SizeUnit.Pixel) {\r\n var labelWidthInPixel = this.labelWidth.physicalSize;\r\n this._renderedLabelElement.style.width = labelWidthInPixel.toString() + \"px\";\r\n }\r\n }\r\n this.updateVisualState(InputEventType.InitialRender);\r\n if (this._renderedInputControlElement) {\r\n this._renderedInputControlElement.onblur = function (ev) {\r\n _this.updateVisualState(InputEventType.FocusLeave);\r\n };\r\n }\r\n this.updateInputControlAriaLabelledBy();\r\n return this._outerContainerElement;\r\n }\r\n this.resetDirtyState();\r\n return undefined;\r\n };\r\n Input.prototype.valueChanged = function () {\r\n this.getRootElement().updateActionsEnabledState();\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 if (this instanceof ChoiceSetInput && this.isDynamicTypeahead()) {\r\n this.removeValidationFailureCue();\r\n }\r\n else {\r\n this.renderedInputControlElement.classList.remove(this.hostConfig.makeCssClassName(\"ac-input-validation-failed\"));\r\n }\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 &&\r\n this.errorMessage &&\r\n 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 Object.defineProperty(Input.prototype, \"allowRevealOnHoverStyle\", {\r\n get: function () {\r\n return this.hostConfig.inputs && this.hostConfig.inputs.allowRevealOnHoverStyle;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Input.prototype.shouldHideInputAdornersForRevealOnHover = function (input, eventType) {\r\n // show/hide input adorners (date picker, time picker, select dropdown picker) with inputStyle RevealOnHover\r\n // 1. intial render of card: hide input adorners\r\n // 2. mouse hover on the card: show input adorners\r\n // 3. mouse hover outside the card: hide input adorners unless input is still in focus state\r\n // 4. input loses focus: hide the input adorners unless mouse is still hovering on the card\r\n // check if input still has the focus\r\n var isInputInFocus = input === document.activeElement;\r\n // check if mouse is still on the card\r\n var inputHoverClassName = this.hostConfig.makeCssClassName(\"ac-inputStyle-revealOnHover-onhover\");\r\n var isMouseOverCard = input.classList.contains(inputHoverClassName);\r\n var hideInputAdorners = (eventType === InputEventType.InitialRender) ||\r\n (eventType === InputEventType.FocusLeave && !isMouseOverCard) ||\r\n (eventType === InputEventType.MouseLeaveOnCard && !isInputInFocus);\r\n return hideInputAdorners;\r\n };\r\n Input.prototype.updateVisualState = function (eventType) {\r\n if (!this.allowRevealOnHoverStyle ||\r\n !this._renderedInputControlElement ||\r\n this.inputStyle !== Enums.InputStyle.RevealOnHover) {\r\n return;\r\n }\r\n if (eventType === InputEventType.InitialRender) {\r\n // on initial render, we will show input fields as read only view\r\n this._renderedInputControlElement.classList.add(this.hostConfig.makeCssClassName(\"ac-inputStyle-revealOnHover-onrender\"));\r\n }\r\n else if (eventType === InputEventType.MouseEnterOnCard) {\r\n // on hover on the card, we will reveal the inputs by showing borders etc\r\n // ac-inputStyle-revealOnHover-onhover class is also used to identify if mouse is hovering on the card\r\n this._renderedInputControlElement.classList.add(this.hostConfig.makeCssClassName(\"ac-inputStyle-revealOnHover-onhover\"));\r\n }\r\n else if (eventType === InputEventType.MouseLeaveOnCard) {\r\n this._renderedInputControlElement.classList.remove(this.hostConfig.makeCssClassName(\"ac-inputStyle-revealOnHover-onhover\"));\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.isDirty = function () {\r\n return this.value !== this._oldValue;\r\n };\r\n Input.prototype.resetDirtyState = function () {\r\n this._oldValue = this.value;\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 if (this instanceof ChoiceSetInput && this.isDynamicTypeahead()) {\r\n this.showValidationFailureCue();\r\n }\r\n else {\r\n this.renderedInputControlElement.classList.add(this.hostConfig.makeCssClassName(\"ac-input-validation-failed\"));\r\n }\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 Input.prototype.render = function () {\r\n var result = _super.prototype.render.call(this);\r\n this.resetDirtyState();\r\n return result;\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 Input.inputStyleProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_6, \"inputStyle\", Enums.InputStyle, Enums.InputStyle.Default, [\r\n { value: Enums.InputStyle.RevealOnHover },\r\n { value: Enums.InputStyle.Default }\r\n ]);\r\n Input.labelWidthProperty = new serialization_1.CustomProperty(serialization_1.Versions.v1_6, \"labelWidth\", function (sender, prop, source, context) {\r\n var result = prop.defaultValue;\r\n var value = source[prop.name];\r\n var invalidLabelWidth = false;\r\n if (typeof value === \"number\" && !isNaN(value)) {\r\n result = new shared_1.SizeAndUnit(value, Enums.SizeUnit.Weight);\r\n if (result.physicalSize < 0 || result.physicalSize > 100) {\r\n invalidLabelWidth = true;\r\n }\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 invalidLabelWidth = true;\r\n }\r\n }\r\n else {\r\n invalidLabelWidth = true;\r\n }\r\n if (invalidLabelWidth) {\r\n context.logParseEvent(sender, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.invalidInputLabelWidth());\r\n result = undefined;\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, \"labelWidth\", value.physicalSize + \"px\");\r\n }\r\n else {\r\n context.serializeNumber(target, \"labelWidth\", value.physicalSize);\r\n }\r\n }\r\n }, undefined);\r\n Input.labelPositionProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_6, \"labelPosition\", Enums.InputLabelPosition, Enums.InputLabelPosition.Above, [\r\n { value: Enums.InputLabelPosition.Inline },\r\n { value: Enums.InputLabelPosition.Above }\r\n ]);\r\n __decorate([\r\n (0, serialization_1.property)(Input.labelProperty)\r\n ], Input.prototype, \"label\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Input.isRequiredProperty)\r\n ], Input.prototype, \"isRequired\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Input.errorMessageProperty)\r\n ], Input.prototype, \"errorMessage\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Input.inputStyleProperty)\r\n ], Input.prototype, \"inputStyle\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Input.labelWidthProperty)\r\n ], Input.prototype, \"labelWidth\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Input.labelPositionProperty)\r\n ], Input.prototype, \"labelPosition\", 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 = this.isDesignMode() ? -1 : 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 () {\r\n _this.valueChanged();\r\n };\r\n input.onkeypress = function (e) {\r\n // Ctrl+Enter pressed\r\n if (e.ctrlKey &&\r\n e.code === \"Enter\" &&\r\n _this.inlineAction &&\r\n _this.inlineAction.isEffectivelyEnabled()) {\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.isEffectivelyEnabled()\r\n ? \"ac-inlineActionButton\"\r\n : \"ac-inlineActionButton-disabled\");\r\n button_1.onclick = function (e) {\r\n if (_this.inlineAction && _this.inlineAction.isEffectivelyEnabled()) {\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 =\r\n _this.inlineAction && _this.inlineAction.title\r\n ? _this.inlineAction.title\r\n : 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\r\n ? this.inlineAction.title\r\n : 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\r\n ? this.inlineAction.title\r\n : 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.updateVisualState = function (eventType) {\r\n if (!this.allowRevealOnHoverStyle) {\r\n return;\r\n }\r\n if (!(this.inlineAction || this.isMultiline)) {\r\n _super.prototype.updateVisualState.call(this, eventType);\r\n }\r\n };\r\n TextInput.prototype.getJsonTypeName = function () {\r\n return \"Input.Text\";\r\n };\r\n TextInput.prototype.getAllActions = function () {\r\n var result = _super.prototype.getAllActions.call(this);\r\n if (this.inlineAction) {\r\n result.push(this.inlineAction);\r\n }\r\n return result;\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\", [\r\n \"Action.ShowCard\"\r\n ]);\r\n TextInput.regexProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_3, \"regex\", true);\r\n __decorate([\r\n (0, serialization_1.property)(TextInput.valueProperty)\r\n ], TextInput.prototype, \"defaultValue\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TextInput.maxLengthProperty)\r\n ], TextInput.prototype, \"maxLength\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TextInput.isMultilineProperty)\r\n ], TextInput.prototype, \"isMultiline\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TextInput.placeholderProperty)\r\n ], TextInput.prototype, \"placeholder\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TextInput.styleProperty)\r\n ], TextInput.prototype, \"style\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TextInput.inlineActionProperty)\r\n ], TextInput.prototype, \"inlineAction\", void 0);\r\n __decorate([\r\n (0, 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 = this.isDesignMode() ? -1 : 0;\r\n if (this.defaultValue === this.valueOn) {\r\n this._checkboxInputElement.checked = true;\r\n }\r\n this._oldCheckboxValue = this._checkboxInputElement.checked;\r\n this._checkboxInputElement.onchange = function () {\r\n _this.valueChanged();\r\n };\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.updateVisualState = function (eventType) {\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 ToggleInput.prototype.isDirty = function () {\r\n return this._checkboxInputElement\r\n ? this._checkboxInputElement.checked !== this._oldCheckboxValue\r\n : 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) {\r\n return \"true\";\r\n });\r\n ToggleInput.valueOffProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"valueOff\", true, undefined, \"false\", function (sender) {\r\n return \"false\";\r\n });\r\n ToggleInput.wrapProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_2, \"wrap\", false);\r\n __decorate([\r\n (0, serialization_1.property)(ToggleInput.valueProperty)\r\n ], ToggleInput.prototype, \"defaultValue\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ToggleInput.titleProperty)\r\n ], ToggleInput.prototype, \"title\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ToggleInput.valueOnProperty)\r\n ], ToggleInput.prototype, \"valueOn\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ToggleInput.valueOffProperty)\r\n ], ToggleInput.prototype, \"valueOff\", void 0);\r\n __decorate([\r\n (0, 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 (0, serialization_1.property)(Choice.titleProperty)\r\n ], Choice.prototype, \"title\", void 0);\r\n __decorate([\r\n (0, 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\n/**\r\n * DataQuery class is declared later in the file and derives from subsequent base classes\r\n * Hence, it cannot be used in ChoiceSetInput.\r\n * Refactor is needed to separate elements and actions in separate files.\r\n */\r\nvar ChoiceSetInputDataQuery = /** @class */ (function (_super) {\r\n __extends(ChoiceSetInputDataQuery, _super);\r\n function ChoiceSetInputDataQuery() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n //#endregion\r\n ChoiceSetInputDataQuery.prototype.getSchemaKey = function () {\r\n return \"choices.data\";\r\n };\r\n //#region Schema\r\n ChoiceSetInputDataQuery.typeProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_6, \"type\", true, new RegExp(\"^Data.Query$\"));\r\n ChoiceSetInputDataQuery.datasetProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_6, \"dataset\");\r\n ChoiceSetInputDataQuery.countProperty = new serialization_1.NumProperty(serialization_1.Versions.v1_6, \"count\");\r\n ChoiceSetInputDataQuery.skipProperty = new serialization_1.NumProperty(serialization_1.Versions.v1_6, \"skip\");\r\n __decorate([\r\n (0, serialization_1.property)(ChoiceSetInputDataQuery.typeProperty)\r\n ], ChoiceSetInputDataQuery.prototype, \"type\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ChoiceSetInputDataQuery.datasetProperty)\r\n ], ChoiceSetInputDataQuery.prototype, \"dataset\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ChoiceSetInputDataQuery.countProperty)\r\n ], ChoiceSetInputDataQuery.prototype, \"count\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ChoiceSetInputDataQuery.skipProperty)\r\n ], ChoiceSetInputDataQuery.prototype, \"skip\", void 0);\r\n return ChoiceSetInputDataQuery;\r\n}(serialization_1.SerializableObject));\r\nexports.ChoiceSetInputDataQuery = ChoiceSetInputDataQuery;\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 ChoiceSetInput.prototype.isDynamicTypeahead = function () {\r\n return (this.hostConfig.inputs.allowDynamicallyFilteredChoiceSet &&\r\n !!this.choicesData &&\r\n !!this.choicesData.dataset &&\r\n this.choicesData.type === \"Data.Query\");\r\n };\r\n ChoiceSetInput.prototype.getFilterForDynamicSearch = function () {\r\n var _a;\r\n return (_a = this._textInput) === null || _a === void 0 ? void 0 : _a.value;\r\n };\r\n ChoiceSetInput.prototype.getDropdownElement = function () {\r\n var _a;\r\n return (_a = this._filteredChoiceSet) === null || _a === void 0 ? void 0 : _a.dropdown;\r\n };\r\n ChoiceSetInput.prototype.renderChoices = function (filter, fetchedChoices) {\r\n var _a;\r\n (_a = this._filteredChoiceSet) === null || _a === void 0 ? void 0 : _a.processResponse(filter, fetchedChoices);\r\n };\r\n ChoiceSetInput.prototype.showLoadingIndicator = function () {\r\n var _a;\r\n (_a = this._filteredChoiceSet) === null || _a === void 0 ? void 0 : _a.showLoadingIndicator();\r\n };\r\n ChoiceSetInput.prototype.removeLoadingIndicator = function () {\r\n var _a;\r\n (_a = this._filteredChoiceSet) === null || _a === void 0 ? void 0 : _a.removeLoadingIndicator();\r\n };\r\n ChoiceSetInput.prototype.showErrorIndicator = function (filter, error) {\r\n var _a;\r\n (_a = this._filteredChoiceSet) === null || _a === void 0 ? void 0 : _a.showErrorIndicator(filter, error);\r\n };\r\n ChoiceSetInput.prototype.showValidationFailureCue = function () {\r\n var _a;\r\n (_a = this._textInput) === null || _a === void 0 ? void 0 : _a.classList.add(this.hostConfig.makeCssClassName(\"ac-input-validation-failed\"));\r\n };\r\n ChoiceSetInput.prototype.removeValidationFailureCue = function () {\r\n var _a;\r\n (_a = this._textInput) === null || _a === void 0 ? void 0 : _a.classList.remove(this.hostConfig.makeCssClassName(\"ac-input-validation-failed\"));\r\n };\r\n ChoiceSetInput.prototype.createPlaceholderOptionWhenValueDoesNotExist = function () {\r\n if (!this.value) {\r\n var placeholderOption = document.createElement(\"option\");\r\n placeholderOption.selected = true;\r\n placeholderOption.disabled = true;\r\n placeholderOption.hidden = true;\r\n placeholderOption.value = \"\";\r\n if (this.placeholder) {\r\n placeholderOption.text = this.placeholder;\r\n }\r\n return placeholderOption;\r\n }\r\n return undefined;\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, _a = Array.from(options); _i < _a.length; _i++) {\r\n var option = _a[_i];\r\n if (option.selected) {\r\n option.setAttribute(\"aria-current\", \"true\");\r\n }\r\n else {\r\n option.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 element.tabIndex = this.isDesignMode() ? -1 : 0;\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 input.tabIndex = this.isDesignMode() ? -1 : 0;\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 () {\r\n _this.valueChanged();\r\n };\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\") &&\r\n this._toggleInputs &&\r\n 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.isDynamicTypeahead()) {\r\n var filteredChoiceSet_1 = new FilteredChoiceSet(ChoiceSetInput._uniqueCategoryCounter, this.choices, this.hostConfig);\r\n filteredChoiceSet_1.render();\r\n if (filteredChoiceSet_1.textInput) {\r\n this._textInput = filteredChoiceSet_1.textInput;\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 this._textInput.tabIndex = this.isDesignMode() ? -1 : 0;\r\n var onInputChangeEventHandler = Utils.debounce(function () {\r\n filteredChoiceSet_1.processChoices();\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 }, this.hostConfig.inputs.debounceTimeInMilliSeconds);\r\n this._textInput.onclick = onInputChangeEventHandler;\r\n this._textInput.oninput = onInputChangeEventHandler;\r\n }\r\n filteredChoiceSet_1.parent = this;\r\n this._filteredChoiceSet = filteredChoiceSet_1;\r\n return filteredChoiceSet_1.renderedElement;\r\n }\r\n else if (this.isMultiSelect) {\r\n // Render as a list of toggle inputs\r\n return this.renderCompoundInput(\"ac-choiceSetInput-multiSelect\", \"checkbox\", this.defaultValue\r\n ? this.defaultValue.split(this.hostConfig.choiceSetInputValueSeparator)\r\n : 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 this._textInput.tabIndex = this.isDesignMode() ? -1 : 0;\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 // To fix https://stackoverflow.com/questions/29882361/show-datalist-labels-but-submit-the-actual-value\r\n // value is mapped to choice.title other than choice.value\r\n if (choice.title) {\r\n option.value = choice.title;\r\n option.setAttribute(\"aria-label\", choice.title);\r\n }\r\n option.tabIndex = this.isDesignMode() ? -1 : 0;\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 this._selectElement.tabIndex = this.isDesignMode() ? -1 : 0;\r\n var placeholderOption = this.createPlaceholderOptionWhenValueDoesNotExist();\r\n Utils.appendChild(this._selectElement, placeholderOption);\r\n for (var _b = 0, _c = this.choices; _b < _c.length; _b++) {\r\n var choice = _c[_b];\r\n var option = document.createElement(\"option\");\r\n option.value = choice.value;\r\n if (choice.title) {\r\n option.text = choice.title;\r\n option.setAttribute(\"aria-label\", choice.title);\r\n }\r\n option.tabIndex = this.isDesignMode() ? -1 : 0;\r\n if (choice.value === this.defaultValue) {\r\n option.selected = true;\r\n }\r\n Utils.appendChild(this._selectElement, option);\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.updateVisualState = function (eventType) {\r\n if (!this.allowRevealOnHoverStyle) {\r\n return;\r\n }\r\n if (!this.isMultiSelect && this.isCompact) {\r\n _super.prototype.updateVisualState.call(this, eventType);\r\n if (this._selectElement && this.inputStyle === Enums.InputStyle.RevealOnHover) {\r\n var hideDropDownPicker = this.shouldHideInputAdornersForRevealOnHover(this._selectElement, eventType);\r\n if (hideDropDownPicker) {\r\n this._selectElement.style.appearance = \"none\";\r\n this._selectElement.classList.remove(this.hostConfig.makeCssClassName(\"ac-inputStyle-revealOnHover-onfocus\"));\r\n }\r\n else {\r\n this._selectElement.style.appearance = \"auto\";\r\n this._selectElement.classList.add(this.hostConfig.makeCssClassName(\"ac-inputStyle-revealOnHover-onfocus\"));\r\n }\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 if (this.value === \"\" || this.value === this.placeholder) {\r\n return true;\r\n }\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 if (this.dynamicChoices) {\r\n for (var _b = 0, _c = this.dynamicChoices; _b < _c.length; _b++) {\r\n var choice = _c[_b];\r\n if (this.value === choice) {\r\n return true;\r\n }\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\r\n ? this._selectElement.value\r\n : undefined;\r\n }\r\n else 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 (choice.title && this._textInput.value === choice.title) {\r\n return choice.value;\r\n }\r\n }\r\n return this._textInput.value;\r\n }\r\n else if (this._toggleInputs && this._toggleInputs.length > 0) {\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 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 _d = 0, _f = this._toggleInputs; _d < _f.length; _d++) {\r\n var toggleInput = _f[_d];\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 Object.defineProperty(ChoiceSetInput.prototype, \"dynamicChoices\", {\r\n get: function () {\r\n var _a;\r\n return (_a = this._filteredChoiceSet) === null || _a === void 0 ? void 0 : _a.dynamicChoices;\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.choicesDataProperty = new serialization_1.SerializableObjectProperty(serialization_1.Versions.v1_6, \"choices.data\", ChoiceSetInputDataQuery);\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 (0, serialization_1.property)(ChoiceSetInput.valueProperty)\r\n ], ChoiceSetInput.prototype, \"defaultValue\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ChoiceSetInput.styleProperty)\r\n ], ChoiceSetInput.prototype, \"style\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ChoiceSetInput.isMultiSelectProperty)\r\n ], ChoiceSetInput.prototype, \"isMultiSelect\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ChoiceSetInput.placeholderProperty)\r\n ], ChoiceSetInput.prototype, \"placeholder\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ChoiceSetInput.wrapProperty)\r\n ], ChoiceSetInput.prototype, \"wrap\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ChoiceSetInput.choicesProperty)\r\n ], ChoiceSetInput.prototype, \"choices\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ChoiceSetInput.choicesDataProperty)\r\n ], ChoiceSetInput.prototype, \"choicesData\", void 0);\r\n return ChoiceSetInput;\r\n}(Input));\r\nexports.ChoiceSetInput = ChoiceSetInput;\r\nvar FilteredChoiceSet = /** @class */ (function () {\r\n function FilteredChoiceSet(choiceSetId, choices, hostConfig) {\r\n this._choiceSetId = choiceSetId;\r\n this._choices = choices;\r\n this._dynamicChoices = [];\r\n this._visibleChoiceCount = 0;\r\n this._highlightedChoiceId = -1;\r\n this._hostConfig = hostConfig;\r\n }\r\n FilteredChoiceSet.prototype.render = function () {\r\n var _this = this;\r\n var choiceSetContainer = document.createElement(\"div\");\r\n choiceSetContainer.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-choiceSetInput-filtered-container\");\r\n this._textInput = document.createElement(\"input\");\r\n this._textInput.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-choiceSetInput-filtered-textbox\");\r\n this._textInput.type = \"text\";\r\n this._textInput.onkeydown = function (event) {\r\n if (event.key === \"ArrowDown\") {\r\n event.preventDefault();\r\n _this.highlightChoice(_this._highlightedChoiceId + 1);\r\n }\r\n else if (event.key === \"ArrowUp\") {\r\n event.preventDefault();\r\n _this.highlightChoice(_this._highlightedChoiceId - 1);\r\n }\r\n else if (event.key === \"Enter\") {\r\n var choice = document.getElementById(\"ac-choiceSetInput-\".concat(_this._choiceSetId, \"-choice-\").concat(_this._highlightedChoiceId));\r\n choice === null || choice === void 0 ? void 0 : choice.click();\r\n }\r\n };\r\n this._dropdown = document.createElement(\"div\");\r\n this._dropdown.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-choiceSetInput-filtered-dropdown\");\r\n choiceSetContainer.append(this._textInput, this._dropdown);\r\n this._renderedElement = choiceSetContainer;\r\n };\r\n FilteredChoiceSet.prototype.createChoice = function (value, filter, id) {\r\n var _this = this;\r\n var choice = document.createElement(\"span\");\r\n choice.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-choiceSetInput-choice\");\r\n choice.id = \"ac-choiceSetInput-\".concat(this._choiceSetId, \"-choice-\").concat(id);\r\n choice.innerHTML = value.replace(filter, \"\".concat(filter, \"\"));\r\n choice.tabIndex = -1;\r\n choice.onclick = function () {\r\n choice.classList.remove(_this.hostConfig.makeCssClassName(\"ac-choiceSetInput-choice-highlighted\"));\r\n _this._highlightedChoiceId = -1;\r\n if (_this._textInput) {\r\n _this._textInput.value = choice.innerText;\r\n _this._textInput.focus();\r\n }\r\n if (_this._dropdown) {\r\n _this._dropdown.classList.remove(_this.hostConfig.makeCssClassName(\"ac-choiceSetInput-filtered-dropdown-open\"));\r\n }\r\n };\r\n choice.onmousemove = function () {\r\n if (_this._highlightedChoiceId !== id) {\r\n _this.highlightChoice(id, false);\r\n }\r\n };\r\n return choice;\r\n };\r\n FilteredChoiceSet.prototype.highlightChoice = function (id, scrollIntoView) {\r\n if (scrollIntoView === void 0) { scrollIntoView = true; }\r\n if (this._visibleChoiceCount > 0) {\r\n var currentHighlightedChoice = document.getElementById(\"ac-choiceSetInput-\".concat(this._choiceSetId, \"-choice-\").concat(this._highlightedChoiceId));\r\n var nextHighlightedChoice = document.getElementById(\"ac-choiceSetInput-\".concat(this._choiceSetId, \"-choice-\").concat(id));\r\n if (nextHighlightedChoice) {\r\n currentHighlightedChoice === null || currentHighlightedChoice === void 0 ? void 0 : currentHighlightedChoice.classList.remove(this.hostConfig.makeCssClassName(\"ac-choiceSetInput-choice-highlighted\"));\r\n nextHighlightedChoice.classList.add(this.hostConfig.makeCssClassName(\"ac-choiceSetInput-choice-highlighted\"));\r\n if (scrollIntoView) {\r\n nextHighlightedChoice.scrollIntoView();\r\n }\r\n this._highlightedChoiceId = id;\r\n }\r\n else if (currentHighlightedChoice && this._highlightedChoiceId !== 0) {\r\n this.highlightChoice(0);\r\n }\r\n else {\r\n this.highlightChoice(this._visibleChoiceCount - 1);\r\n }\r\n }\r\n };\r\n FilteredChoiceSet.prototype.filterChoices = function () {\r\n var _a, _b;\r\n var filter = ((_a = this._textInput) === null || _a === void 0 ? void 0 : _a.value.toLowerCase().trim()) || \"\";\r\n var choices = __spreadArray(__spreadArray([], this._choices, true), this._dynamicChoices, true);\r\n for (var _i = 0, choices_1 = choices; _i < choices_1.length; _i++) {\r\n var choice = choices_1[_i];\r\n if (choice.title) {\r\n var matchIndex = choice.title.toLowerCase().indexOf(filter);\r\n if (matchIndex !== -1) {\r\n var matchedText = choice.title.substring(matchIndex, matchIndex + filter.length);\r\n var choiceContainer = this.createChoice(choice.title, matchedText, this._visibleChoiceCount++);\r\n (_b = this._dropdown) === null || _b === void 0 ? void 0 : _b.appendChild(choiceContainer);\r\n }\r\n }\r\n }\r\n };\r\n FilteredChoiceSet.prototype.getStatusIndicator = function (error) {\r\n if (error) {\r\n if (!this._errorIndicator) {\r\n var errorIndicator = document.createElement(\"div\");\r\n errorIndicator.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-choiceSetInput-statusIndicator\", \"ac-choiceSetInput-errorIndicator\");\r\n this._errorIndicator = errorIndicator;\r\n }\r\n this._errorIndicator.innerText = error;\r\n return this._errorIndicator;\r\n }\r\n else {\r\n if (!this._loadingIndicator) {\r\n var loadingIndicator = document.createElement(\"div\");\r\n loadingIndicator.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-choiceSetInput-statusIndicator\");\r\n this._loadingIndicator = loadingIndicator;\r\n }\r\n this._loadingIndicator.innerText =\r\n this._visibleChoiceCount === 0 ? \"Loading...\" : \"Loading more...\";\r\n return this._loadingIndicator;\r\n }\r\n };\r\n FilteredChoiceSet.prototype.resetDropdown = function () {\r\n if (this._dropdown) {\r\n Utils.clearElementChildren(this._dropdown);\r\n this._visibleChoiceCount = 0;\r\n this._highlightedChoiceId = -1;\r\n }\r\n };\r\n FilteredChoiceSet.prototype.showDropdown = function () {\r\n var _a;\r\n if ((_a = this._dropdown) === null || _a === void 0 ? void 0 : _a.hasChildNodes()) {\r\n this._dropdown.classList.add(this.hostConfig.makeCssClassName(\"ac-choiceSetInput-filtered-dropdown-open\"));\r\n }\r\n };\r\n FilteredChoiceSet.prototype.processChoices = function () {\r\n this.resetDropdown();\r\n this.filterChoices();\r\n this.showDropdown();\r\n };\r\n FilteredChoiceSet.prototype.processResponse = function (filter, fetchedChoices) {\r\n var _a;\r\n if (filter === ((_a = this._textInput) === null || _a === void 0 ? void 0 : _a.value)) {\r\n this.resetDropdown();\r\n this._dynamicChoices = fetchedChoices;\r\n this.filterChoices();\r\n if (this._visibleChoiceCount === 0) {\r\n this.showErrorIndicator(filter, \"No results found\");\r\n }\r\n }\r\n };\r\n FilteredChoiceSet.prototype.showLoadingIndicator = function () {\r\n var _a;\r\n var loadingIndicator = this.getStatusIndicator();\r\n (_a = this._dropdown) === null || _a === void 0 ? void 0 : _a.appendChild(loadingIndicator);\r\n this.showDropdown();\r\n };\r\n FilteredChoiceSet.prototype.removeLoadingIndicator = function () {\r\n var _a, _b;\r\n if (this._loadingIndicator && ((_a = this._dropdown) === null || _a === void 0 ? void 0 : _a.contains(this._loadingIndicator))) {\r\n (_b = this._dropdown) === null || _b === void 0 ? void 0 : _b.removeChild(this._loadingIndicator);\r\n }\r\n };\r\n FilteredChoiceSet.prototype.showErrorIndicator = function (filter, error) {\r\n var _a, _b;\r\n if (filter === ((_a = this._textInput) === null || _a === void 0 ? void 0 : _a.value)) {\r\n this.processChoices();\r\n var errorIndicator = this.getStatusIndicator(error);\r\n (_b = this._dropdown) === null || _b === void 0 ? void 0 : _b.appendChild(errorIndicator);\r\n errorIndicator.scrollIntoView();\r\n }\r\n };\r\n Object.defineProperty(FilteredChoiceSet.prototype, \"dynamicChoices\", {\r\n get: function () {\r\n var _a;\r\n return (_a = this._dynamicChoices) === null || _a === void 0 ? void 0 : _a.map(function (choice) { return choice.title; });\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(FilteredChoiceSet.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 enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(FilteredChoiceSet.prototype, \"parent\", {\r\n get: function () {\r\n return this._parent;\r\n },\r\n set: function (value) {\r\n this._parent = value;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(FilteredChoiceSet.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 Object.defineProperty(FilteredChoiceSet.prototype, \"textInput\", {\r\n get: function () {\r\n return this._textInput;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(FilteredChoiceSet.prototype, \"dropdown\", {\r\n get: function () {\r\n return this._dropdown;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return FilteredChoiceSet;\r\n}());\r\nexports.FilteredChoiceSet = FilteredChoiceSet;\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 = this.isDesignMode() ? -1 : 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 () {\r\n _this.valueChanged();\r\n };\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 set: function (value) {\r\n if (value && this._numberInputElement) {\r\n this._numberInputElement.value = value.toString();\r\n }\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 (0, serialization_1.property)(NumberInput.valueProperty)\r\n ], NumberInput.prototype, \"defaultValue\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(NumberInput.minProperty)\r\n ], NumberInput.prototype, \"min\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(NumberInput.maxProperty)\r\n ], NumberInput.prototype, \"max\", void 0);\r\n __decorate([\r\n (0, 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.tabIndex = this.isDesignMode() ? -1 : 0;\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 () {\r\n _this.valueChanged();\r\n };\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.updateVisualState = function (eventType) {\r\n if (!this.allowRevealOnHoverStyle) {\r\n return;\r\n }\r\n _super.prototype.updateVisualState.call(this, eventType);\r\n if (this._dateInputElement && this.inputStyle === Enums.InputStyle.RevealOnHover) {\r\n var hideDatePicker = this.shouldHideInputAdornersForRevealOnHover(this._dateInputElement, eventType);\r\n if (hideDatePicker) {\r\n this._dateInputElement.classList.remove(this.hostConfig.makeCssClassName(\"ac-inputStyle-revealOnHover-onfocus\"));\r\n }\r\n else {\r\n this._dateInputElement.classList.add(this.hostConfig.makeCssClassName(\"ac-inputStyle-revealOnHover-onfocus\"));\r\n }\r\n updateInputAdornersVisibility(this._dateInputElement, hideDatePicker /*hide*/);\r\n }\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 (0, serialization_1.property)(DateInput.valueProperty)\r\n ], DateInput.prototype, \"defaultValue\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(DateInput.minProperty)\r\n ], DateInput.prototype, \"min\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(DateInput.maxProperty)\r\n ], DateInput.prototype, \"max\", void 0);\r\n __decorate([\r\n (0, 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, prop, source, context) {\r\n var value = source[prop.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, prop, target, value, context) {\r\n context.serializeValue(target, prop.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 if (this.min) {\r\n this._timeInputElement.setAttribute(\"min\", this.min);\r\n }\r\n if (this.max) {\r\n this._timeInputElement.setAttribute(\"max\", this.max);\r\n }\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 () {\r\n _this.valueChanged();\r\n };\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 this._timeInputElement.tabIndex = this.isDesignMode() ? -1 : 0;\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.updateVisualState = function (eventType) {\r\n if (!this.allowRevealOnHoverStyle) {\r\n return;\r\n }\r\n _super.prototype.updateVisualState.call(this, eventType);\r\n if (this._timeInputElement && this.inputStyle === Enums.InputStyle.RevealOnHover) {\r\n var hideTimePicker = this.shouldHideInputAdornersForRevealOnHover(this._timeInputElement, eventType);\r\n if (hideTimePicker) {\r\n this._timeInputElement.classList.remove(this.hostConfig.makeCssClassName(\"ac-inputStyle-revealOnHover-onfocus\"));\r\n }\r\n else {\r\n this._timeInputElement.classList.add(this.hostConfig.makeCssClassName(\"ac-inputStyle-revealOnHover-onfocus\"));\r\n }\r\n updateInputAdornersVisibility(this._timeInputElement, hideTimePicker /*hide*/);\r\n }\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 (0, serialization_1.property)(TimeInput.valueProperty)\r\n ], TimeInput.prototype, \"defaultValue\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TimeInput.minProperty)\r\n ], TimeInput.prototype, \"min\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TimeInput.maxProperty)\r\n ], TimeInput.prototype, \"max\", void 0);\r\n __decorate([\r\n (0, 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 ||\r\n 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.isDesignMode = function () {\r\n var rootElement = this.getRootObject();\r\n return rootElement instanceof CardElement && rootElement.isDesignMode();\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.isEffectivelyEnabled() ? \"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.isDesignMode() && this.isFocusable ? 0 : -1;\r\n switch (this._state) {\r\n case 0 /* Normal */:\r\n // No additional classes needed\r\n break;\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.isEffectivelyEnabled()) {\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.internalAfterExecute = function () {\r\n var rootObject = this.getRootObject();\r\n if (rootObject instanceof CardElement) {\r\n rootObject.updateActionsEnabledState();\r\n }\r\n };\r\n Action.prototype.getHref = function () {\r\n return \"\";\r\n };\r\n Action.prototype.getAriaRole = function () {\r\n var ariaRole = this.getAriaRoleFromEnum();\r\n return ariaRole !== null && ariaRole !== void 0 ? ariaRole : \"button\";\r\n };\r\n Action.prototype.getAriaRoleFromEnum = function () {\r\n switch (this.role) {\r\n case Enums.ActionRole.Button:\r\n return \"button\";\r\n case Enums.ActionRole.Link:\r\n return \"link\";\r\n case Enums.ActionRole.Menu:\r\n return \"menu\";\r\n case Enums.ActionRole.MenuItem:\r\n return \"menuitem\";\r\n case Enums.ActionRole.Tab:\r\n return \"tab\";\r\n default:\r\n return undefined;\r\n }\r\n };\r\n Action.prototype.setupElementForAccessibility = function (element, promoteTooltipToLabel) {\r\n if (promoteTooltipToLabel === void 0) { promoteTooltipToLabel = false; }\r\n element.tabIndex = this.isEffectivelyEnabled() && !this.isDesignMode() ? 0 : -1;\r\n element.setAttribute(\"role\", this.getAriaRole());\r\n if (element instanceof HTMLButtonElement) {\r\n element.disabled = !this.isEffectivelyEnabled();\r\n }\r\n if (!this.isEffectivelyEnabled()) {\r\n element.setAttribute(\"aria-disabled\", \"true\");\r\n }\r\n else {\r\n element.removeAttribute(\"aria-disabled\");\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 else {\r\n element.removeAttribute(\"aria-label\");\r\n element.removeAttribute(\"title\");\r\n }\r\n if (this.tooltip) {\r\n if (promoteTooltipToLabel && !this.title) {\r\n element.setAttribute(\"aria-label\", this.tooltip);\r\n }\r\n element.title = this.tooltip;\r\n }\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.isEffectivelyEnabled()) {\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 this.internalAfterExecute();\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 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.getAllActions = function () {\r\n return [this];\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 Action.prototype.updateEnabledState = function () {\r\n // Do nothing in base implementation\r\n };\r\n Action.prototype.isEffectivelyEnabled = function () {\r\n return this.isEnabled;\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\", [{ value: Enums.ActionMode.Primary }, { value: Enums.ActionMode.Secondary }], 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 Action.roleProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_6, \"role\", Enums.ActionRole);\r\n __decorate([\r\n (0, serialization_1.property)(Action.titleProperty)\r\n ], Action.prototype, \"title\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Action.iconUrlProperty)\r\n ], Action.prototype, \"iconUrl\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Action.styleProperty)\r\n ], Action.prototype, \"style\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Action.modeProperty)\r\n ], Action.prototype, \"mode\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Action.tooltipProperty)\r\n ], Action.prototype, \"tooltip\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Action.isEnabledProperty)\r\n ], Action.prototype, \"isEnabled\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Action.roleProperty)\r\n ], Action.prototype, \"role\", 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 _this.disabledUnlessAssociatedInputsChange = false;\r\n //#endregion\r\n _this._isPrepared = false;\r\n _this._areReferencedInputsDirty = 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.push.apply(inputs, 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] =\r\n typeof input.value === \"string\" ? input.value : input.value.toString();\r\n }\r\n }\r\n }\r\n this._isPrepared = true;\r\n };\r\n SubmitActionBase.prototype.internalAfterExecute = function () {\r\n if (shared_1.GlobalSettings.resetInputsDirtyStateAfterActionExecution) {\r\n this.resetReferencedInputsDirtyState();\r\n }\r\n };\r\n SubmitActionBase.prototype.resetReferencedInputsDirtyState = function () {\r\n var referencedInputs = this.getReferencedInputs();\r\n this._areReferencedInputsDirty = false;\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 input.resetDirtyState();\r\n }\r\n }\r\n };\r\n SubmitActionBase.prototype.updateEnabledState = function () {\r\n this._areReferencedInputsDirty = false;\r\n var referencedInputs = this.getReferencedInputs();\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.isDirty()) {\r\n this._areReferencedInputsDirty = true;\r\n break;\r\n }\r\n }\r\n }\r\n this.updateCssClasses();\r\n if (this._renderedElement) {\r\n this.setupElementForAccessibility(this._renderedElement);\r\n }\r\n };\r\n SubmitActionBase.prototype.isEffectivelyEnabled = function () {\r\n var result = _super.prototype.isEffectivelyEnabled.call(this);\r\n return this.disabledUnlessAssociatedInputsChange\r\n ? result && this._areReferencedInputsDirty\r\n : result;\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, prop, source, context) {\r\n var value = source[prop.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, prop, target, value, context) {\r\n context.serializeValue(target, prop.name, value);\r\n });\r\n SubmitActionBase.disabledUnlessAssociatedInputsChangeProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_6, \"disabledUnlessAssociatedInputsChange\", false);\r\n __decorate([\r\n (0, serialization_1.property)(SubmitActionBase.dataProperty)\r\n ], SubmitActionBase.prototype, \"_originalData\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(SubmitActionBase.associatedInputsProperty)\r\n ], SubmitActionBase.prototype, \"associatedInputs\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(SubmitActionBase.disabledUnlessAssociatedInputsChangeProperty)\r\n ], SubmitActionBase.prototype, \"disabledUnlessAssociatedInputsChange\", 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 UniversalAction = /** @class */ (function (_super) {\r\n __extends(UniversalAction, _super);\r\n function UniversalAction() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n return UniversalAction;\r\n}(SubmitActionBase));\r\nexports.UniversalAction = UniversalAction;\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 (0, serialization_1.property)(ExecuteAction.verbProperty)\r\n ], ExecuteAction.prototype, \"verb\", void 0);\r\n return ExecuteAction;\r\n}(UniversalAction));\r\nexports.ExecuteAction = ExecuteAction;\r\nvar DataQuery = /** @class */ (function (_super) {\r\n __extends(DataQuery, _super);\r\n function DataQuery() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n //#endregion\r\n DataQuery.prototype.getJsonTypeName = function () {\r\n return DataQuery.JsonTypeName;\r\n };\r\n Object.defineProperty(DataQuery.prototype, \"isStandalone\", {\r\n get: function () {\r\n return false;\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 DataQuery.JsonTypeName = \"Data.Query\";\r\n //#region Schema\r\n DataQuery.datasetProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_6, \"dataset\");\r\n DataQuery.filterProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_6, \"filter\");\r\n DataQuery.countProperty = new serialization_1.NumProperty(serialization_1.Versions.v1_6, \"count\");\r\n DataQuery.skipProperty = new serialization_1.NumProperty(serialization_1.Versions.v1_6, \"skip\");\r\n __decorate([\r\n (0, serialization_1.property)(DataQuery.datasetProperty)\r\n ], DataQuery.prototype, \"dataset\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(DataQuery.filterProperty)\r\n ], DataQuery.prototype, \"filter\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(DataQuery.countProperty)\r\n ], DataQuery.prototype, \"count\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(DataQuery.skipProperty)\r\n ], DataQuery.prototype, \"skip\", void 0);\r\n return DataQuery;\r\n}(UniversalAction));\r\nexports.DataQuery = DataQuery;\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 var ariaRole = this.getAriaRoleFromEnum();\r\n return ariaRole !== null && ariaRole !== void 0 ? ariaRole : \"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 (0, 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 _super.prototype.execute.call(this);\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, prop, source, context) {\r\n var result = {};\r\n if (Array.isArray(source[prop.name])) {\r\n for (var _i = 0, _a = source[prop.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, prop, 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, prop.name, targetElements);\r\n }, {}, function (sender) {\r\n return {};\r\n });\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 (0, 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 () {\r\n return new shared_1.StringWithSubstitutions();\r\n }) || 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 (0, serialization_1.property)(HttpHeader.nameProperty)\r\n ], HttpHeader.prototype, \"name\", void 0);\r\n __decorate([\r\n (0, 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 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 (0, serialization_1.property)(HttpAction.urlProperty)\r\n ], HttpAction.prototype, \"_url\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(HttpAction.bodyProperty)\r\n ], HttpAction.prototype, \"_body\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(HttpAction.methodProperty)\r\n ], HttpAction.prototype, \"method\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(HttpAction.headersProperty)\r\n ], HttpAction.prototype, \"headers\", void 0);\r\n __decorate([\r\n (0, 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.releaseDOMResources = function () {\r\n _super.prototype.releaseDOMResources.call(this);\r\n this.card.releaseDOMResources();\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.getAllActions = function () {\r\n var result = _super.prototype.getAllActions.call(this);\r\n result.push.apply(result, this.card.getAllActions());\r\n return result;\r\n };\r\n ShowCardAction.prototype.getResourceInformation = function () {\r\n var result = _super.prototype.getResourceInformation.call(this);\r\n result.push.apply(result, this.card.getResourceInformation());\r\n return result;\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 // 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 _this.tooltip = strings_1.Strings.defaults.overflowButtonTooltip();\r\n return _this;\r\n }\r\n OverflowAction.prototype.getActions = function () {\r\n return this._actions;\r\n };\r\n OverflowAction.prototype.getAllActions = function () {\r\n var result = _super.prototype.getAllActions.call(this);\r\n result.push.apply(result, this._actions);\r\n return result;\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_2 = 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 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_2(i);\r\n }\r\n contextMenu_1.onClose = function () {\r\n var _a, _b;\r\n (_a = _this.renderedElement) === null || _a === void 0 ? void 0 : _a.focus();\r\n (_b = _this.renderedElement) === null || _b === void 0 ? void 0 : _b.setAttribute(\"aria-expanded\", \"false\");\r\n };\r\n this.renderedElement.setAttribute(\"aria-expanded\", \"true\");\r\n contextMenu_1.popup(this.renderedElement);\r\n contextMenu_1.selectedIndex = 0;\r\n }\r\n };\r\n OverflowAction.prototype.setupElementForAccessibility = function (element, promoteTooltipToLabel) {\r\n if (promoteTooltipToLabel === void 0) { promoteTooltipToLabel = false; }\r\n _super.prototype.setupElementForAccessibility.call(this, element, promoteTooltipToLabel);\r\n element.setAttribute(\"aria-label\", strings_1.Strings.defaults.overflowButtonTooltip());\r\n element.setAttribute(\"aria-expanded\", \"false\");\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 clearElement(this._actionCardContainer);\r\n if (!this._actionCard) {\r\n this._actionCardContainer.style.marginTop = \"0px\";\r\n return;\r\n }\r\n this._actionCardContainer.style.marginTop =\r\n this.renderedActionCount > 0\r\n ? this._owner.hostConfig.actions.showCard.inlineTopMargin + \"px\"\r\n : \"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()\r\n ? action.card.renderedElement\r\n : 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 if the actions are oriented horizontally, to skip focus directly to expanded card\r\n if (this._owner.hostConfig.actions.actionsOrientation == Enums.Orientation.Horizontal &&\r\n 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.releaseDOMResources = function () {\r\n for (var _i = 0, _a = this._renderedActions; _i < _a.length; _i++) {\r\n var action = _a[_i];\r\n action.releaseDOMResources();\r\n }\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 ===\r\n Enums.ShowCardActionMode.Inline) {\r\n this.expandShowCardAction(action, true);\r\n }\r\n }\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 forbiddenActions = [];\r\n // If the action owner is a ContainerWithActions, we should check for forbidden actions\r\n if (this._owner instanceof ContainerWithActions) {\r\n forbiddenActions = this._owner.getForbiddenActionNames();\r\n }\r\n var action = context.parseAction(this._owner, jsonAction, forbiddenActions, !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 &&\r\n 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) {\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\r\n ? Math.min(hostConfig.actions.maxActions, this._items.length)\r\n : this._items.length;\r\n this._actionCardContainer = document.createElement(\"div\");\r\n this._renderedActions = [];\r\n if (hostConfig.actions.preExpandSingleShowCardAction &&\r\n maxActions === 1 &&\r\n this._items[0] instanceof ShowCardAction &&\r\n 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 if (orientation === Enums.Orientation.Horizontal) {\r\n buttonStrip.style.flexDirection = \"row\";\r\n if (this._owner.horizontalAlignment &&\r\n 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 &&\r\n 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) {\r\n return action.mode === Enums.ActionMode.Secondary\r\n ? secondaryActions_1.push(action)\r\n : primaryActions_1.push(action);\r\n });\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 (hostConfig.actions.actionsOrientation === Enums.Orientation.Horizontal &&\r\n 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.push.apply(result, 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.push.apply(result, 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\r\n ? this.orientation\r\n : this.hostConfig.actions.actionsOrientation);\r\n };\r\n ActionSet.prototype.releaseDOMResources = function () {\r\n _super.prototype.releaseDOMResources.call(this);\r\n this._actionCollection.releaseDOMResources();\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 &&\r\n !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.getAllActions = function () {\r\n var result = _super.prototype.getAllActions.call(this);\r\n for (var i = 0; i < this.getActionCount(); i++) {\r\n var action = this.getActionAt(i);\r\n if (action) {\r\n result.push(action);\r\n }\r\n }\r\n return result;\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 ActionSet.prototype.getElementById = function (id) {\r\n var result = _super.prototype.getElementById.call(this, id);\r\n if (!result) {\r\n result = this.getElementByIdFromAction(id);\r\n }\r\n return result;\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 (0, 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 if (bgColor) {\r\n this.renderedElement.style.backgroundColor = bgColor;\r\n }\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 &&\r\n 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 &&\r\n 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 (ignoreBackgroundImages) {\r\n if (ignoreBackgroundImages === void 0) { ignoreBackgroundImages = false; }\r\n var currentElement = this.parent;\r\n while (currentElement) {\r\n var currentElementHasBackgroundImage = false;\r\n if (ignoreBackgroundImages) {\r\n currentElementHasBackgroundImage = false;\r\n }\r\n else {\r\n currentElementHasBackgroundImage =\r\n currentElement instanceof Container\r\n ? currentElement.backgroundImage.isValid()\r\n : false;\r\n }\r\n if (currentElement instanceof StylableCardElementContainer) {\r\n if (this.hasExplicitStyle &&\r\n (currentElement.getEffectiveStyle() !== this.getEffectiveStyle() ||\r\n 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)\r\n : _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 (0, 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 (0, serialization_1.property)(ContainerBase.bleedProperty)\r\n ], ContainerBase.prototype, \"_bleed\", void 0);\r\n __decorate([\r\n (0, 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 =\r\n \"url('\" +\r\n element.preProcessPropertyValue(BackgroundImage.urlProperty, this.url) +\r\n \"')\";\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.Left:\r\n break;\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.Top:\r\n break;\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 (0, serialization_1.property)(BackgroundImage.urlProperty)\r\n ], BackgroundImage.prototype, \"url\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(BackgroundImage.fillModeProperty)\r\n ], BackgroundImage.prototype, \"fillMode\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(BackgroundImage.horizontalAlignmentProperty)\r\n ], BackgroundImage.prototype, \"horizontalAlignment\", void 0);\r\n __decorate([\r\n (0, 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 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.applyRTL = function (element) {\r\n if (this.rtl !== undefined) {\r\n element.dir = this.rtl ? \"rtl\" : \"ltr\";\r\n }\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 this.applyRTL(element);\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 containerMaxHeight = boundary_1 - elt.offsetTop;\r\n cardElement[\"handleOverflow\"](containerMaxHeight);\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 (ignoreBackgroundImages) {\r\n if (ignoreBackgroundImages === void 0) { ignoreBackgroundImages = false; }\r\n var result = ignoreBackgroundImages ? false : this.backgroundImage.isValid();\r\n return result || _super.prototype.getHasBackground.call(this, ignoreBackgroundImages);\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.forbiddenChildElements(), !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 var collectionPropertyName = this.getItemsCollectionPropertyName();\r\n context.serializeArray(target, collectionPropertyName, 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.getEffectivePadding = function () {\r\n if (shared_1.GlobalSettings.removePaddingFromContainersWithBackgroundImage &&\r\n !this.getHasBackground(true)) {\r\n return new shared_1.PaddingDefinition();\r\n }\r\n return _super.prototype.getEffectivePadding.call(this);\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\r\n ? parentContainer.getEffectiveVerticalContentAlignment()\r\n : 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 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() ||\r\n (lastRenderedItem\r\n ? lastRenderedItem.isBleedingAtBottom() &&\r\n lastRenderedItem.getEffectiveStyle() === this.getEffectiveStyle()\r\n : 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 // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion -- validated by `isValid()`\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 //#region Schema\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 (0, serialization_1.property)(Container.backgroundImageProperty)\r\n ], Container.prototype, \"backgroundImage\", null);\r\n __decorate([\r\n (0, serialization_1.property)(Container.verticalContentAlignmentProperty)\r\n ], Container.prototype, \"verticalContentAlignment\", void 0);\r\n __decorate([\r\n (0, 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 =\r\n (!this.minPixelHeight\r\n ? minDesignTimeColumnHeight\r\n : 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 =\r\n \"1 1 \" +\r\n (this._computedWeight > 0 ? this._computedWeight : this.width.physicalSize) +\r\n \"%\";\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, prop, source, context) {\r\n var result = prop.defaultValue;\r\n var value = source[prop.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 &&\r\n prop.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 (0, 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, [], !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 &&\r\n 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 &&\r\n column.width.unit === Enums.SizeUnit.Weight &&\r\n 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\r\n ? onAnchorClickedHandler(element, anchor, ev)\r\n : 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\r\n ? card.onInlineCardExpanded\r\n : 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\r\n ? card.onInputValueChanged\r\n : 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\r\n ? card.onElementVisibilityChanged\r\n : AdaptiveCard.onElementVisibilityChanged;\r\n if (onElementVisibilityChangedHandler !== undefined) {\r\n onElementVisibilityChangedHandler(element);\r\n }\r\n}\r\nfunction updateInputAdornersVisibility(input, hide) {\r\n if (!!hide) {\r\n // hides the time/date picker icon\r\n input.readOnly = true;\r\n // hides the cross button icon\r\n input.required = true;\r\n }\r\n else {\r\n // shows the time/date picker icon\r\n input.readOnly = false;\r\n // shows the cross button icon\r\n input.required = false;\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\r\n ? card.onDisplayOverflowActionMenu\r\n : AdaptiveCard.onDisplayOverflowActionMenu;\r\n return onDisplayOverflowActionMenuHandler !== undefined\r\n ? onDisplayOverflowActionMenuHandler(action.getActions(), target)\r\n : 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\r\n ? card.onRenderOverflowActions\r\n : AdaptiveCard.onRenderOverflowActions;\r\n return onRenderOverflowActionsHandler !== undefined\r\n ? onRenderOverflowActionsHandler(action.getActions(), isAtRootLevelActions)\r\n : 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.parseActions(source, context);\r\n };\r\n ContainerWithActions.prototype.parseActions = function (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);\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 &&\r\n !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.releaseDOMResources = function () {\r\n _super.prototype.releaseDOMResources.call(this);\r\n this._actionCollection.releaseDOMResources();\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.push.apply(result, this._actionCollection.getAllInputs(processActions));\r\n }\r\n return result;\r\n };\r\n ContainerWithActions.prototype.getResourceInformation = function () {\r\n var result = _super.prototype.getResourceInformation.call(this);\r\n result.push.apply(result, this._actionCollection.getResourceInformation());\r\n return result;\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 &&\r\n !this.hostConfig.actions.preExpandSingleShowCardAction);\r\n }\r\n else {\r\n return this._actionCollection.expandedAction !== undefined;\r\n }\r\n }\r\n };\r\n ContainerWithActions.prototype.getForbiddenActionNames = function () {\r\n return [];\r\n };\r\n ContainerWithActions.prototype.getElementById = function (id) {\r\n var result = _super.prototype.getElementById.call(this, id);\r\n if (!result) {\r\n result = this.getElementByIdFromAction(id);\r\n }\r\n return result;\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 (0, serialization_1.property)(RefreshDefinition.actionProperty)\r\n ], RefreshDefinition.prototype, \"action\", null);\r\n __decorate([\r\n (0, 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 (0, serialization_1.property)(AuthCardButton.typeProperty)\r\n ], AuthCardButton.prototype, \"type\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(AuthCardButton.titleProperty)\r\n ], AuthCardButton.prototype, \"title\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(AuthCardButton.imageProperty)\r\n ], AuthCardButton.prototype, \"image\", void 0);\r\n __decorate([\r\n (0, 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 (0, serialization_1.property)(TokenExchangeResource.idProperty)\r\n ], TokenExchangeResource.prototype, \"id\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TokenExchangeResource.uriProperty)\r\n ], TokenExchangeResource.prototype, \"uri\", void 0);\r\n __decorate([\r\n (0, 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 (0, serialization_1.property)(Authentication.textProperty)\r\n ], Authentication.prototype, \"text\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Authentication.connectionNameProperty)\r\n ], Authentication.prototype, \"connectionName\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Authentication.buttonsProperty)\r\n ], Authentication.prototype, \"buttons\", void 0);\r\n __decorate([\r\n (0, 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 // eslint-disable-next-line @typescript-eslint/naming-convention\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 if (!AdaptiveCard._haveWarnedAboutNoMarkdownProcessing) {\r\n // eslint-disable-next-line no-console\r\n console.warn(strings_1.Strings.errors.markdownProcessingNotEnabled);\r\n AdaptiveCard._haveWarnedAboutNoMarkdownProcessing = true;\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 &&\r\n 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.forbiddenChildElements(), !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 (ignoreBackgroundImages) {\r\n if (ignoreBackgroundImages === void 0) { ignoreBackgroundImages = false; }\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 _this = this;\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 renderedCard.onmouseenter = function (ev) {\r\n _this.updateInputsVisualState(true /* hover */);\r\n };\r\n renderedCard.onmouseleave = function (ev) {\r\n _this.updateInputsVisualState(false /* hover */);\r\n };\r\n this.getRootElement().updateActionsEnabledState();\r\n }\r\n }\r\n if (target) {\r\n Utils.appendChild(target, renderedCard);\r\n this.updateLayout();\r\n }\r\n var inputElements = this.getAllInputs();\r\n document.onclick = function (event) {\r\n inputElements.forEach(function (input) {\r\n var _a, _b;\r\n if (input instanceof ChoiceSetInput &&\r\n !((_a = input.renderedElement) === null || _a === void 0 ? void 0 : _a.contains(event.target))) {\r\n (_b = input\r\n .getDropdownElement()) === null || _b === void 0 ? void 0 : _b.classList.remove(_this.hostConfig.makeCssClassName(\"ac-choiceSetInput-filtered-dropdown-open\"));\r\n }\r\n });\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 // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\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 // eslint-disable-next-line @typescript-eslint/naming-convention\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, prop, target, value, context) {\r\n context.serializeValue(target, prop.name, AdaptiveCard.schemaUrl);\r\n });\r\n AdaptiveCard.versionProperty = new serialization_1.CustomProperty(serialization_1.Versions.v1_0, \"version\", function (sender, prop, source, context) {\r\n var version = serialization_1.Version.parse(source[prop.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, prop, target, value, context) {\r\n if (value !== undefined) {\r\n context.serializeValue(target, prop.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 //#endregion\r\n AdaptiveCard._haveWarnedAboutNoMarkdownProcessing = false;\r\n __decorate([\r\n (0, serialization_1.property)(AdaptiveCard.versionProperty)\r\n ], AdaptiveCard.prototype, \"version\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(AdaptiveCard.fallbackTextProperty)\r\n ], AdaptiveCard.prototype, \"fallbackText\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(AdaptiveCard.speakProperty)\r\n ], AdaptiveCard.prototype, \"speak\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(AdaptiveCard.refreshProperty)\r\n ], AdaptiveCard.prototype, \"refresh\", null);\r\n __decorate([\r\n (0, 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\r\n ? this.hostConfig.actions.showCard.style\r\n : 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 var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this._forbiddenTypes = new Set();\r\n return _this;\r\n }\r\n SerializationContext.prototype.internalParseCardObject = function (parent, source, forbiddenTypes, allowFallback, createInstanceCallback, logParseEvent) {\r\n var _this = this;\r\n var result = undefined;\r\n if (source && typeof source === \"object\") {\r\n var oldForbiddenTypes_1 = new Set();\r\n this._forbiddenTypes.forEach(function (type) {\r\n oldForbiddenTypes_1.add(type);\r\n });\r\n forbiddenTypes.forEach(function (type) {\r\n _this._forbiddenTypes.add(type);\r\n });\r\n var typeName = Utils.parseString(source[\"type\"]);\r\n if (typeName && this._forbiddenTypes.has(typeName)) {\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 =\r\n 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, forbiddenTypes, true, createInstanceCallback, logParseEvent);\r\n }\r\n }\r\n }\r\n this._forbiddenTypes = oldForbiddenTypes_1;\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 forbiddenTypes = new Set(forbiddenTypeNames);\r\n var result = this.internalParseCardObject(parent, source, forbiddenTypes, 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, forbiddenTypes, allowFallback) {\r\n var _this = this;\r\n return this.parseCardObject(parent, source, forbiddenTypes, 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 var _a;\r\n return (_a = this._elementRegistry) !== null && _a !== void 0 ? _a : 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 var _a;\r\n return (_a = this._actionRegistry) !== null && _a !== void 0 ? _a : 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","/**\n * SSR Window 4.0.2\n * Better handling for window object in SSR environment\n * https://github.com/nolimits4web/ssr-window\n *\n * Copyright 2021, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: December 13, 2021\n */\n/* eslint-disable no-param-reassign */\nfunction isObject(obj) {\n return obj !== null && typeof obj === 'object' && 'constructor' in obj && obj.constructor === Object;\n}\nfunction extend(target, src) {\n if (target === void 0) {\n target = {};\n }\n if (src === void 0) {\n src = {};\n }\n Object.keys(src).forEach(key => {\n if (typeof target[key] === 'undefined') target[key] = src[key];else if (isObject(src[key]) && isObject(target[key]) && Object.keys(src[key]).length > 0) {\n extend(target[key], src[key]);\n }\n });\n}\nconst ssrDocument = {\n body: {},\n addEventListener() {},\n removeEventListener() {},\n activeElement: {\n blur() {},\n nodeName: ''\n },\n querySelector() {\n return null;\n },\n querySelectorAll() {\n return [];\n },\n getElementById() {\n return null;\n },\n createEvent() {\n return {\n initEvent() {}\n };\n },\n createElement() {\n return {\n children: [],\n childNodes: [],\n style: {},\n setAttribute() {},\n getElementsByTagName() {\n return [];\n }\n };\n },\n createElementNS() {\n return {};\n },\n importNode() {\n return null;\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: ''\n }\n};\nfunction getDocument() {\n const doc = typeof document !== 'undefined' ? document : {};\n extend(doc, ssrDocument);\n return doc;\n}\nconst ssrWindow = {\n document: ssrDocument,\n navigator: {\n userAgent: ''\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: ''\n },\n history: {\n replaceState() {},\n pushState() {},\n go() {},\n back() {}\n },\n CustomEvent: function CustomEvent() {\n return this;\n },\n addEventListener() {},\n removeEventListener() {},\n getComputedStyle() {\n return {\n getPropertyValue() {\n return '';\n }\n };\n },\n Image() {},\n Date() {},\n screen: {},\n setTimeout() {},\n clearTimeout() {},\n matchMedia() {\n return {};\n },\n requestAnimationFrame(callback) {\n if (typeof setTimeout === 'undefined') {\n callback();\n return null;\n }\n return setTimeout(callback, 0);\n },\n cancelAnimationFrame(id) {\n if (typeof setTimeout === 'undefined') {\n return;\n }\n clearTimeout(id);\n }\n};\nfunction getWindow() {\n const win = typeof window !== 'undefined' ? window : {};\n extend(win, ssrWindow);\n return win;\n}\n\nexport { getWindow as a, getDocument as g };\n","import { a as getWindow, g as getDocument } from './ssr-window.esm.mjs';\n\nfunction classesToTokens(classes) {\n if (classes === void 0) {\n classes = '';\n }\n return classes.trim().split(' ').filter(c => !!c.trim());\n}\n\nfunction deleteProps(obj) {\n const object = obj;\n Object.keys(object).forEach(key => {\n try {\n object[key] = null;\n } catch (e) {\n // no getter for object\n }\n try {\n delete object[key];\n } catch (e) {\n // something got wrong\n }\n });\n}\nfunction nextTick(callback, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n return setTimeout(callback, delay);\n}\nfunction now() {\n return Date.now();\n}\nfunction getComputedStyle(el) {\n const window = getWindow();\n let style;\n if (window.getComputedStyle) {\n style = window.getComputedStyle(el, null);\n }\n if (!style && el.currentStyle) {\n style = el.currentStyle;\n }\n if (!style) {\n style = el.style;\n }\n return style;\n}\nfunction getTranslate(el, axis) {\n if (axis === void 0) {\n axis = 'x';\n }\n const window = getWindow();\n let matrix;\n let curTransform;\n let transformMatrix;\n const curStyle = getComputedStyle(el);\n if (window.WebKitCSSMatrix) {\n curTransform = curStyle.transform || curStyle.webkitTransform;\n if (curTransform.split(',').length > 6) {\n curTransform = curTransform.split(', ').map(a => a.replace(',', '.')).join(', ');\n }\n // Some old versions of Webkit choke when 'none' is passed; pass\n // empty string instead in this case\n transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);\n } else {\n transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');\n matrix = transformMatrix.toString().split(',');\n }\n if (axis === 'x') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41;\n // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[12]);\n // Normal Browsers\n else curTransform = parseFloat(matrix[4]);\n }\n if (axis === 'y') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42;\n // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[13]);\n // Normal Browsers\n else curTransform = parseFloat(matrix[5]);\n }\n return curTransform || 0;\n}\nfunction isObject(o) {\n return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object';\n}\nfunction isNode(node) {\n // eslint-disable-next-line\n if (typeof window !== 'undefined' && typeof window.HTMLElement !== 'undefined') {\n return node instanceof HTMLElement;\n }\n return node && (node.nodeType === 1 || node.nodeType === 11);\n}\nfunction extend() {\n const to = Object(arguments.length <= 0 ? undefined : arguments[0]);\n const noExtend = ['__proto__', 'constructor', 'prototype'];\n for (let i = 1; i < arguments.length; i += 1) {\n const nextSource = i < 0 || arguments.length <= i ? undefined : arguments[i];\n if (nextSource !== undefined && nextSource !== null && !isNode(nextSource)) {\n const keysArray = Object.keys(Object(nextSource)).filter(key => noExtend.indexOf(key) < 0);\n for (let nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {\n const nextKey = keysArray[nextIndex];\n const desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n if (desc !== undefined && desc.enumerable) {\n if (isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else if (!isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n to[nextKey] = {};\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n }\n return to;\n}\nfunction setCSSProperty(el, varName, varValue) {\n el.style.setProperty(varName, varValue);\n}\nfunction animateCSSModeScroll(_ref) {\n let {\n swiper,\n targetPosition,\n side\n } = _ref;\n const window = getWindow();\n const startPosition = -swiper.translate;\n let startTime = null;\n let time;\n const duration = swiper.params.speed;\n swiper.wrapperEl.style.scrollSnapType = 'none';\n window.cancelAnimationFrame(swiper.cssModeFrameID);\n const dir = targetPosition > startPosition ? 'next' : 'prev';\n const isOutOfBound = (current, target) => {\n return dir === 'next' && current >= target || dir === 'prev' && current <= target;\n };\n const animate = () => {\n time = new Date().getTime();\n if (startTime === null) {\n startTime = time;\n }\n const progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n const easeProgress = 0.5 - Math.cos(progress * Math.PI) / 2;\n let currentPosition = startPosition + easeProgress * (targetPosition - startPosition);\n if (isOutOfBound(currentPosition, targetPosition)) {\n currentPosition = targetPosition;\n }\n swiper.wrapperEl.scrollTo({\n [side]: currentPosition\n });\n if (isOutOfBound(currentPosition, targetPosition)) {\n swiper.wrapperEl.style.overflow = 'hidden';\n swiper.wrapperEl.style.scrollSnapType = '';\n setTimeout(() => {\n swiper.wrapperEl.style.overflow = '';\n swiper.wrapperEl.scrollTo({\n [side]: currentPosition\n });\n });\n window.cancelAnimationFrame(swiper.cssModeFrameID);\n return;\n }\n swiper.cssModeFrameID = window.requestAnimationFrame(animate);\n };\n animate();\n}\nfunction getSlideTransformEl(slideEl) {\n return slideEl.querySelector('.swiper-slide-transform') || slideEl.shadowRoot && slideEl.shadowRoot.querySelector('.swiper-slide-transform') || slideEl;\n}\nfunction elementChildren(element, selector) {\n if (selector === void 0) {\n selector = '';\n }\n return [...element.children].filter(el => el.matches(selector));\n}\nfunction showWarning(text) {\n try {\n console.warn(text);\n return;\n } catch (err) {\n // err\n }\n}\nfunction createElement(tag, classes) {\n if (classes === void 0) {\n classes = [];\n }\n const el = document.createElement(tag);\n el.classList.add(...(Array.isArray(classes) ? classes : classesToTokens(classes)));\n return el;\n}\nfunction elementOffset(el) {\n const window = getWindow();\n const document = getDocument();\n const box = el.getBoundingClientRect();\n const body = document.body;\n const clientTop = el.clientTop || body.clientTop || 0;\n const clientLeft = el.clientLeft || body.clientLeft || 0;\n const scrollTop = el === window ? window.scrollY : el.scrollTop;\n const scrollLeft = el === window ? window.scrollX : el.scrollLeft;\n return {\n top: box.top + scrollTop - clientTop,\n left: box.left + scrollLeft - clientLeft\n };\n}\nfunction elementPrevAll(el, selector) {\n const prevEls = [];\n while (el.previousElementSibling) {\n const prev = el.previousElementSibling; // eslint-disable-line\n if (selector) {\n if (prev.matches(selector)) prevEls.push(prev);\n } else prevEls.push(prev);\n el = prev;\n }\n return prevEls;\n}\nfunction elementNextAll(el, selector) {\n const nextEls = [];\n while (el.nextElementSibling) {\n const next = el.nextElementSibling; // eslint-disable-line\n if (selector) {\n if (next.matches(selector)) nextEls.push(next);\n } else nextEls.push(next);\n el = next;\n }\n return nextEls;\n}\nfunction elementStyle(el, prop) {\n const window = getWindow();\n return window.getComputedStyle(el, null).getPropertyValue(prop);\n}\nfunction elementIndex(el) {\n let child = el;\n let i;\n if (child) {\n i = 0;\n // eslint-disable-next-line\n while ((child = child.previousSibling) !== null) {\n if (child.nodeType === 1) i += 1;\n }\n return i;\n }\n return undefined;\n}\nfunction elementParents(el, selector) {\n const parents = []; // eslint-disable-line\n let parent = el.parentElement; // eslint-disable-line\n while (parent) {\n if (selector) {\n if (parent.matches(selector)) parents.push(parent);\n } else {\n parents.push(parent);\n }\n parent = parent.parentElement;\n }\n return parents;\n}\nfunction elementTransitionEnd(el, callback) {\n function fireCallBack(e) {\n if (e.target !== el) return;\n callback.call(el, e);\n el.removeEventListener('transitionend', fireCallBack);\n }\n if (callback) {\n el.addEventListener('transitionend', fireCallBack);\n }\n}\nfunction elementOuterSize(el, size, includeMargins) {\n const window = getWindow();\n if (includeMargins) {\n return el[size === 'width' ? 'offsetWidth' : 'offsetHeight'] + parseFloat(window.getComputedStyle(el, null).getPropertyValue(size === 'width' ? 'margin-right' : 'margin-top')) + parseFloat(window.getComputedStyle(el, null).getPropertyValue(size === 'width' ? 'margin-left' : 'margin-bottom'));\n }\n return el.offsetWidth;\n}\nfunction makeElementsArray(el) {\n return (Array.isArray(el) ? el : [el]).filter(e => !!e);\n}\n\nexport { elementParents as a, elementOffset as b, createElement as c, now as d, elementChildren as e, elementOuterSize as f, elementIndex as g, classesToTokens as h, getTranslate as i, elementTransitionEnd as j, isObject as k, getSlideTransformEl as l, makeElementsArray as m, nextTick as n, elementStyle as o, elementNextAll as p, elementPrevAll as q, animateCSSModeScroll as r, setCSSProperty as s, showWarning as t, extend as u, deleteProps as v };\n","import { a as getWindow, g as getDocument } from './ssr-window.esm.mjs';\nimport { a as elementParents, o as elementStyle, e as elementChildren, s as setCSSProperty, f as elementOuterSize, p as elementNextAll, q as elementPrevAll, i as getTranslate, r as animateCSSModeScroll, n as nextTick, t as showWarning, c as createElement, d as now, u as extend, g as elementIndex, v as deleteProps } from './utils.mjs';\n\nlet support;\nfunction calcSupport() {\n const window = getWindow();\n const document = getDocument();\n return {\n smoothScroll: document.documentElement && document.documentElement.style && 'scrollBehavior' in document.documentElement.style,\n touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch)\n };\n}\nfunction getSupport() {\n if (!support) {\n support = calcSupport();\n }\n return support;\n}\n\nlet deviceCached;\nfunction calcDevice(_temp) {\n let {\n userAgent\n } = _temp === void 0 ? {} : _temp;\n const support = getSupport();\n const window = getWindow();\n const platform = window.navigator.platform;\n const ua = userAgent || window.navigator.userAgent;\n const device = {\n ios: false,\n android: false\n };\n const screenWidth = window.screen.width;\n const screenHeight = window.screen.height;\n const android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/); // eslint-disable-line\n let ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\n const ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\n const iphone = !ipad && ua.match(/(iPhone\\sOS|iOS)\\s([\\d_]+)/);\n const windows = platform === 'Win32';\n let macos = platform === 'MacIntel';\n\n // iPadOs 13 fix\n const iPadScreens = ['1024x1366', '1366x1024', '834x1194', '1194x834', '834x1112', '1112x834', '768x1024', '1024x768', '820x1180', '1180x820', '810x1080', '1080x810'];\n if (!ipad && macos && support.touch && iPadScreens.indexOf(`${screenWidth}x${screenHeight}`) >= 0) {\n ipad = ua.match(/(Version)\\/([\\d.]+)/);\n if (!ipad) ipad = [0, 1, '13_0_0'];\n macos = false;\n }\n\n // Android\n if (android && !windows) {\n device.os = 'android';\n device.android = true;\n }\n if (ipad || iphone || ipod) {\n device.os = 'ios';\n device.ios = true;\n }\n\n // Export object\n return device;\n}\nfunction getDevice(overrides) {\n if (overrides === void 0) {\n overrides = {};\n }\n if (!deviceCached) {\n deviceCached = calcDevice(overrides);\n }\n return deviceCached;\n}\n\nlet browser;\nfunction calcBrowser() {\n const window = getWindow();\n const device = getDevice();\n let needPerspectiveFix = false;\n function isSafari() {\n const ua = window.navigator.userAgent.toLowerCase();\n return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0;\n }\n if (isSafari()) {\n const ua = String(window.navigator.userAgent);\n if (ua.includes('Version/')) {\n const [major, minor] = ua.split('Version/')[1].split(' ')[0].split('.').map(num => Number(num));\n needPerspectiveFix = major < 16 || major === 16 && minor < 2;\n }\n }\n const isWebView = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent);\n const isSafariBrowser = isSafari();\n const need3dFix = isSafariBrowser || isWebView && device.ios;\n return {\n isSafari: needPerspectiveFix || isSafariBrowser,\n needPerspectiveFix,\n need3dFix,\n isWebView\n };\n}\nfunction getBrowser() {\n if (!browser) {\n browser = calcBrowser();\n }\n return browser;\n}\n\nfunction Resize(_ref) {\n let {\n swiper,\n on,\n emit\n } = _ref;\n const window = getWindow();\n let observer = null;\n let animationFrame = null;\n const resizeHandler = () => {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n emit('beforeResize');\n emit('resize');\n };\n const createObserver = () => {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n observer = new ResizeObserver(entries => {\n animationFrame = window.requestAnimationFrame(() => {\n const {\n width,\n height\n } = swiper;\n let newWidth = width;\n let newHeight = height;\n entries.forEach(_ref2 => {\n let {\n contentBoxSize,\n contentRect,\n target\n } = _ref2;\n if (target && target !== swiper.el) return;\n newWidth = contentRect ? contentRect.width : (contentBoxSize[0] || contentBoxSize).inlineSize;\n newHeight = contentRect ? contentRect.height : (contentBoxSize[0] || contentBoxSize).blockSize;\n });\n if (newWidth !== width || newHeight !== height) {\n resizeHandler();\n }\n });\n });\n observer.observe(swiper.el);\n };\n const removeObserver = () => {\n if (animationFrame) {\n window.cancelAnimationFrame(animationFrame);\n }\n if (observer && observer.unobserve && swiper.el) {\n observer.unobserve(swiper.el);\n observer = null;\n }\n };\n const orientationChangeHandler = () => {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n emit('orientationchange');\n };\n on('init', () => {\n if (swiper.params.resizeObserver && typeof window.ResizeObserver !== 'undefined') {\n createObserver();\n return;\n }\n window.addEventListener('resize', resizeHandler);\n window.addEventListener('orientationchange', orientationChangeHandler);\n });\n on('destroy', () => {\n removeObserver();\n window.removeEventListener('resize', resizeHandler);\n window.removeEventListener('orientationchange', orientationChangeHandler);\n });\n}\n\nfunction Observer(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n const observers = [];\n const window = getWindow();\n const attach = function (target, options) {\n if (options === void 0) {\n options = {};\n }\n const ObserverFunc = window.MutationObserver || window.WebkitMutationObserver;\n const observer = new ObserverFunc(mutations => {\n // The observerUpdate event should only be triggered\n // once despite the number of mutations. Additional\n // triggers are redundant and are very costly\n if (swiper.__preventObserver__) return;\n if (mutations.length === 1) {\n emit('observerUpdate', mutations[0]);\n return;\n }\n const observerUpdate = function observerUpdate() {\n emit('observerUpdate', mutations[0]);\n };\n if (window.requestAnimationFrame) {\n window.requestAnimationFrame(observerUpdate);\n } else {\n window.setTimeout(observerUpdate, 0);\n }\n });\n observer.observe(target, {\n attributes: typeof options.attributes === 'undefined' ? true : options.attributes,\n childList: typeof options.childList === 'undefined' ? true : options.childList,\n characterData: typeof options.characterData === 'undefined' ? true : options.characterData\n });\n observers.push(observer);\n };\n const init = () => {\n if (!swiper.params.observer) return;\n if (swiper.params.observeParents) {\n const containerParents = elementParents(swiper.hostEl);\n for (let i = 0; i < containerParents.length; i += 1) {\n attach(containerParents[i]);\n }\n }\n // Observe container\n attach(swiper.hostEl, {\n childList: swiper.params.observeSlideChildren\n });\n\n // Observe wrapper\n attach(swiper.wrapperEl, {\n attributes: false\n });\n };\n const destroy = () => {\n observers.forEach(observer => {\n observer.disconnect();\n });\n observers.splice(0, observers.length);\n };\n extendParams({\n observer: false,\n observeParents: false,\n observeSlideChildren: false\n });\n on('init', init);\n on('destroy', destroy);\n}\n\n/* eslint-disable no-underscore-dangle */\n\nvar eventsEmitter = {\n on(events, handler, priority) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== 'function') return self;\n const method = priority ? 'unshift' : 'push';\n events.split(' ').forEach(event => {\n if (!self.eventsListeners[event]) self.eventsListeners[event] = [];\n self.eventsListeners[event][method](handler);\n });\n return self;\n },\n once(events, handler, priority) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== 'function') return self;\n function onceHandler() {\n self.off(events, onceHandler);\n if (onceHandler.__emitterProxy) {\n delete onceHandler.__emitterProxy;\n }\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n handler.apply(self, args);\n }\n onceHandler.__emitterProxy = handler;\n return self.on(events, onceHandler, priority);\n },\n onAny(handler, priority) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== 'function') return self;\n const method = priority ? 'unshift' : 'push';\n if (self.eventsAnyListeners.indexOf(handler) < 0) {\n self.eventsAnyListeners[method](handler);\n }\n return self;\n },\n offAny(handler) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsAnyListeners) return self;\n const index = self.eventsAnyListeners.indexOf(handler);\n if (index >= 0) {\n self.eventsAnyListeners.splice(index, 1);\n }\n return self;\n },\n off(events, handler) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsListeners) return self;\n events.split(' ').forEach(event => {\n if (typeof handler === 'undefined') {\n self.eventsListeners[event] = [];\n } else if (self.eventsListeners[event]) {\n self.eventsListeners[event].forEach((eventHandler, index) => {\n if (eventHandler === handler || eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler) {\n self.eventsListeners[event].splice(index, 1);\n }\n });\n }\n });\n return self;\n },\n emit() {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsListeners) return self;\n let events;\n let data;\n let context;\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n if (typeof args[0] === 'string' || Array.isArray(args[0])) {\n events = args[0];\n data = args.slice(1, args.length);\n context = self;\n } else {\n events = args[0].events;\n data = args[0].data;\n context = args[0].context || self;\n }\n data.unshift(context);\n const eventsArray = Array.isArray(events) ? events : events.split(' ');\n eventsArray.forEach(event => {\n if (self.eventsAnyListeners && self.eventsAnyListeners.length) {\n self.eventsAnyListeners.forEach(eventHandler => {\n eventHandler.apply(context, [event, ...data]);\n });\n }\n if (self.eventsListeners && self.eventsListeners[event]) {\n self.eventsListeners[event].forEach(eventHandler => {\n eventHandler.apply(context, data);\n });\n }\n });\n return self;\n }\n};\n\nfunction updateSize() {\n const swiper = this;\n let width;\n let height;\n const el = swiper.el;\n if (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) {\n width = swiper.params.width;\n } else {\n width = el.clientWidth;\n }\n if (typeof swiper.params.height !== 'undefined' && swiper.params.height !== null) {\n height = swiper.params.height;\n } else {\n height = el.clientHeight;\n }\n if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) {\n return;\n }\n\n // Subtract paddings\n width = width - parseInt(elementStyle(el, 'padding-left') || 0, 10) - parseInt(elementStyle(el, 'padding-right') || 0, 10);\n height = height - parseInt(elementStyle(el, 'padding-top') || 0, 10) - parseInt(elementStyle(el, 'padding-bottom') || 0, 10);\n if (Number.isNaN(width)) width = 0;\n if (Number.isNaN(height)) height = 0;\n Object.assign(swiper, {\n width,\n height,\n size: swiper.isHorizontal() ? width : height\n });\n}\n\nfunction updateSlides() {\n const swiper = this;\n function getDirectionPropertyValue(node, label) {\n return parseFloat(node.getPropertyValue(swiper.getDirectionLabel(label)) || 0);\n }\n const params = swiper.params;\n const {\n wrapperEl,\n slidesEl,\n size: swiperSize,\n rtlTranslate: rtl,\n wrongRTL\n } = swiper;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n const previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;\n const slides = elementChildren(slidesEl, `.${swiper.params.slideClass}, swiper-slide`);\n const slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;\n let snapGrid = [];\n const slidesGrid = [];\n const slidesSizesGrid = [];\n let offsetBefore = params.slidesOffsetBefore;\n if (typeof offsetBefore === 'function') {\n offsetBefore = params.slidesOffsetBefore.call(swiper);\n }\n let offsetAfter = params.slidesOffsetAfter;\n if (typeof offsetAfter === 'function') {\n offsetAfter = params.slidesOffsetAfter.call(swiper);\n }\n const previousSnapGridLength = swiper.snapGrid.length;\n const previousSlidesGridLength = swiper.slidesGrid.length;\n let spaceBetween = params.spaceBetween;\n let slidePosition = -offsetBefore;\n let prevSlideSize = 0;\n let index = 0;\n if (typeof swiperSize === 'undefined') {\n return;\n }\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize;\n } else if (typeof spaceBetween === 'string') {\n spaceBetween = parseFloat(spaceBetween);\n }\n swiper.virtualSize = -spaceBetween;\n\n // reset margins\n slides.forEach(slideEl => {\n if (rtl) {\n slideEl.style.marginLeft = '';\n } else {\n slideEl.style.marginRight = '';\n }\n slideEl.style.marginBottom = '';\n slideEl.style.marginTop = '';\n });\n\n // reset cssMode offsets\n if (params.centeredSlides && params.cssMode) {\n setCSSProperty(wrapperEl, '--swiper-centered-offset-before', '');\n setCSSProperty(wrapperEl, '--swiper-centered-offset-after', '');\n }\n const gridEnabled = params.grid && params.grid.rows > 1 && swiper.grid;\n if (gridEnabled) {\n swiper.grid.initSlides(slides);\n } else if (swiper.grid) {\n swiper.grid.unsetSlides();\n }\n\n // Calc slides\n let slideSize;\n const shouldResetSlideSize = params.slidesPerView === 'auto' && params.breakpoints && Object.keys(params.breakpoints).filter(key => {\n return typeof params.breakpoints[key].slidesPerView !== 'undefined';\n }).length > 0;\n for (let i = 0; i < slidesLength; i += 1) {\n slideSize = 0;\n let slide;\n if (slides[i]) slide = slides[i];\n if (gridEnabled) {\n swiper.grid.updateSlide(i, slide, slides);\n }\n if (slides[i] && elementStyle(slide, 'display') === 'none') continue; // eslint-disable-line\n\n if (params.slidesPerView === 'auto') {\n if (shouldResetSlideSize) {\n slides[i].style[swiper.getDirectionLabel('width')] = ``;\n }\n const slideStyles = getComputedStyle(slide);\n const currentTransform = slide.style.transform;\n const currentWebKitTransform = slide.style.webkitTransform;\n if (currentTransform) {\n slide.style.transform = 'none';\n }\n if (currentWebKitTransform) {\n slide.style.webkitTransform = 'none';\n }\n if (params.roundLengths) {\n slideSize = swiper.isHorizontal() ? elementOuterSize(slide, 'width', true) : elementOuterSize(slide, 'height', true);\n } else {\n // eslint-disable-next-line\n const width = getDirectionPropertyValue(slideStyles, 'width');\n const paddingLeft = getDirectionPropertyValue(slideStyles, 'padding-left');\n const paddingRight = getDirectionPropertyValue(slideStyles, 'padding-right');\n const marginLeft = getDirectionPropertyValue(slideStyles, 'margin-left');\n const marginRight = getDirectionPropertyValue(slideStyles, 'margin-right');\n const boxSizing = slideStyles.getPropertyValue('box-sizing');\n if (boxSizing && boxSizing === 'border-box') {\n slideSize = width + marginLeft + marginRight;\n } else {\n const {\n clientWidth,\n offsetWidth\n } = slide;\n slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight + (offsetWidth - clientWidth);\n }\n }\n if (currentTransform) {\n slide.style.transform = currentTransform;\n }\n if (currentWebKitTransform) {\n slide.style.webkitTransform = currentWebKitTransform;\n }\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n } else {\n slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView;\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n if (slides[i]) {\n slides[i].style[swiper.getDirectionLabel('width')] = `${slideSize}px`;\n }\n }\n if (slides[i]) {\n slides[i].swiperSlideSize = slideSize;\n }\n slidesSizesGrid.push(slideSize);\n if (params.centeredSlides) {\n slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;\n if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0;\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n } else {\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if ((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n slidePosition = slidePosition + slideSize + spaceBetween;\n }\n swiper.virtualSize += slideSize + spaceBetween;\n prevSlideSize = slideSize;\n index += 1;\n }\n swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;\n if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) {\n wrapperEl.style.width = `${swiper.virtualSize + spaceBetween}px`;\n }\n if (params.setWrapperSize) {\n wrapperEl.style[swiper.getDirectionLabel('width')] = `${swiper.virtualSize + spaceBetween}px`;\n }\n if (gridEnabled) {\n swiper.grid.updateWrapperSize(slideSize, snapGrid);\n }\n\n // Remove last grid elements depending on width\n if (!params.centeredSlides) {\n const newSlidesGrid = [];\n for (let i = 0; i < snapGrid.length; i += 1) {\n let slidesGridItem = snapGrid[i];\n if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);\n if (snapGrid[i] <= swiper.virtualSize - swiperSize) {\n newSlidesGrid.push(slidesGridItem);\n }\n }\n snapGrid = newSlidesGrid;\n if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {\n snapGrid.push(swiper.virtualSize - swiperSize);\n }\n }\n if (isVirtual && params.loop) {\n const size = slidesSizesGrid[0] + spaceBetween;\n if (params.slidesPerGroup > 1) {\n const groups = Math.ceil((swiper.virtual.slidesBefore + swiper.virtual.slidesAfter) / params.slidesPerGroup);\n const groupSize = size * params.slidesPerGroup;\n for (let i = 0; i < groups; i += 1) {\n snapGrid.push(snapGrid[snapGrid.length - 1] + groupSize);\n }\n }\n for (let i = 0; i < swiper.virtual.slidesBefore + swiper.virtual.slidesAfter; i += 1) {\n if (params.slidesPerGroup === 1) {\n snapGrid.push(snapGrid[snapGrid.length - 1] + size);\n }\n slidesGrid.push(slidesGrid[slidesGrid.length - 1] + size);\n swiper.virtualSize += size;\n }\n }\n if (snapGrid.length === 0) snapGrid = [0];\n if (spaceBetween !== 0) {\n const key = swiper.isHorizontal() && rtl ? 'marginLeft' : swiper.getDirectionLabel('marginRight');\n slides.filter((_, slideIndex) => {\n if (!params.cssMode || params.loop) return true;\n if (slideIndex === slides.length - 1) {\n return false;\n }\n return true;\n }).forEach(slideEl => {\n slideEl.style[key] = `${spaceBetween}px`;\n });\n }\n if (params.centeredSlides && params.centeredSlidesBounds) {\n let allSlidesSize = 0;\n slidesSizesGrid.forEach(slideSizeValue => {\n allSlidesSize += slideSizeValue + (spaceBetween || 0);\n });\n allSlidesSize -= spaceBetween;\n const maxSnap = allSlidesSize - swiperSize;\n snapGrid = snapGrid.map(snap => {\n if (snap <= 0) return -offsetBefore;\n if (snap > maxSnap) return maxSnap + offsetAfter;\n return snap;\n });\n }\n if (params.centerInsufficientSlides) {\n let allSlidesSize = 0;\n slidesSizesGrid.forEach(slideSizeValue => {\n allSlidesSize += slideSizeValue + (spaceBetween || 0);\n });\n allSlidesSize -= spaceBetween;\n if (allSlidesSize < swiperSize) {\n const allSlidesOffset = (swiperSize - allSlidesSize) / 2;\n snapGrid.forEach((snap, snapIndex) => {\n snapGrid[snapIndex] = snap - allSlidesOffset;\n });\n slidesGrid.forEach((snap, snapIndex) => {\n slidesGrid[snapIndex] = snap + allSlidesOffset;\n });\n }\n }\n Object.assign(swiper, {\n slides,\n snapGrid,\n slidesGrid,\n slidesSizesGrid\n });\n if (params.centeredSlides && params.cssMode && !params.centeredSlidesBounds) {\n setCSSProperty(wrapperEl, '--swiper-centered-offset-before', `${-snapGrid[0]}px`);\n setCSSProperty(wrapperEl, '--swiper-centered-offset-after', `${swiper.size / 2 - slidesSizesGrid[slidesSizesGrid.length - 1] / 2}px`);\n const addToSnapGrid = -swiper.snapGrid[0];\n const addToSlidesGrid = -swiper.slidesGrid[0];\n swiper.snapGrid = swiper.snapGrid.map(v => v + addToSnapGrid);\n swiper.slidesGrid = swiper.slidesGrid.map(v => v + addToSlidesGrid);\n }\n if (slidesLength !== previousSlidesLength) {\n swiper.emit('slidesLengthChange');\n }\n if (snapGrid.length !== previousSnapGridLength) {\n if (swiper.params.watchOverflow) swiper.checkOverflow();\n swiper.emit('snapGridLengthChange');\n }\n if (slidesGrid.length !== previousSlidesGridLength) {\n swiper.emit('slidesGridLengthChange');\n }\n if (params.watchSlidesProgress) {\n swiper.updateSlidesOffset();\n }\n swiper.emit('slidesUpdated');\n if (!isVirtual && !params.cssMode && (params.effect === 'slide' || params.effect === 'fade')) {\n const backFaceHiddenClass = `${params.containerModifierClass}backface-hidden`;\n const hasClassBackfaceClassAdded = swiper.el.classList.contains(backFaceHiddenClass);\n if (slidesLength <= params.maxBackfaceHiddenSlides) {\n if (!hasClassBackfaceClassAdded) swiper.el.classList.add(backFaceHiddenClass);\n } else if (hasClassBackfaceClassAdded) {\n swiper.el.classList.remove(backFaceHiddenClass);\n }\n }\n}\n\nfunction updateAutoHeight(speed) {\n const swiper = this;\n const activeSlides = [];\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n let newHeight = 0;\n let i;\n if (typeof speed === 'number') {\n swiper.setTransition(speed);\n } else if (speed === true) {\n swiper.setTransition(swiper.params.speed);\n }\n const getSlideByIndex = index => {\n if (isVirtual) {\n return swiper.slides[swiper.getSlideIndexByData(index)];\n }\n return swiper.slides[index];\n };\n // Find slides currently in view\n if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) {\n if (swiper.params.centeredSlides) {\n (swiper.visibleSlides || []).forEach(slide => {\n activeSlides.push(slide);\n });\n } else {\n for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {\n const index = swiper.activeIndex + i;\n if (index > swiper.slides.length && !isVirtual) break;\n activeSlides.push(getSlideByIndex(index));\n }\n }\n } else {\n activeSlides.push(getSlideByIndex(swiper.activeIndex));\n }\n\n // Find new height from highest slide in view\n for (i = 0; i < activeSlides.length; i += 1) {\n if (typeof activeSlides[i] !== 'undefined') {\n const height = activeSlides[i].offsetHeight;\n newHeight = height > newHeight ? height : newHeight;\n }\n }\n\n // Update Height\n if (newHeight || newHeight === 0) swiper.wrapperEl.style.height = `${newHeight}px`;\n}\n\nfunction updateSlidesOffset() {\n const swiper = this;\n const slides = swiper.slides;\n // eslint-disable-next-line\n const minusOffset = swiper.isElement ? swiper.isHorizontal() ? swiper.wrapperEl.offsetLeft : swiper.wrapperEl.offsetTop : 0;\n for (let i = 0; i < slides.length; i += 1) {\n slides[i].swiperSlideOffset = (swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop) - minusOffset - swiper.cssOverflowAdjustment();\n }\n}\n\nfunction updateSlidesProgress(translate) {\n if (translate === void 0) {\n translate = this && this.translate || 0;\n }\n const swiper = this;\n const params = swiper.params;\n const {\n slides,\n rtlTranslate: rtl,\n snapGrid\n } = swiper;\n if (slides.length === 0) return;\n if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset();\n let offsetCenter = -translate;\n if (rtl) offsetCenter = translate;\n\n // Visible Slides\n slides.forEach(slideEl => {\n slideEl.classList.remove(params.slideVisibleClass, params.slideFullyVisibleClass);\n });\n swiper.visibleSlidesIndexes = [];\n swiper.visibleSlides = [];\n let spaceBetween = params.spaceBetween;\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiper.size;\n } else if (typeof spaceBetween === 'string') {\n spaceBetween = parseFloat(spaceBetween);\n }\n for (let i = 0; i < slides.length; i += 1) {\n const slide = slides[i];\n let slideOffset = slide.swiperSlideOffset;\n if (params.cssMode && params.centeredSlides) {\n slideOffset -= slides[0].swiperSlideOffset;\n }\n const slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + spaceBetween);\n const originalSlideProgress = (offsetCenter - snapGrid[0] + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + spaceBetween);\n const slideBefore = -(offsetCenter - slideOffset);\n const slideAfter = slideBefore + swiper.slidesSizesGrid[i];\n const isFullyVisible = slideBefore >= 0 && slideBefore <= swiper.size - swiper.slidesSizesGrid[i];\n const isVisible = slideBefore >= 0 && slideBefore < swiper.size - 1 || slideAfter > 1 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size;\n if (isVisible) {\n swiper.visibleSlides.push(slide);\n swiper.visibleSlidesIndexes.push(i);\n slides[i].classList.add(params.slideVisibleClass);\n }\n if (isFullyVisible) {\n slides[i].classList.add(params.slideFullyVisibleClass);\n }\n slide.progress = rtl ? -slideProgress : slideProgress;\n slide.originalProgress = rtl ? -originalSlideProgress : originalSlideProgress;\n }\n}\n\nfunction updateProgress(translate) {\n const swiper = this;\n if (typeof translate === 'undefined') {\n const multiplier = swiper.rtlTranslate ? -1 : 1;\n // eslint-disable-next-line\n translate = swiper && swiper.translate && swiper.translate * multiplier || 0;\n }\n const params = swiper.params;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n let {\n progress,\n isBeginning,\n isEnd,\n progressLoop\n } = swiper;\n const wasBeginning = isBeginning;\n const wasEnd = isEnd;\n if (translatesDiff === 0) {\n progress = 0;\n isBeginning = true;\n isEnd = true;\n } else {\n progress = (translate - swiper.minTranslate()) / translatesDiff;\n const isBeginningRounded = Math.abs(translate - swiper.minTranslate()) < 1;\n const isEndRounded = Math.abs(translate - swiper.maxTranslate()) < 1;\n isBeginning = isBeginningRounded || progress <= 0;\n isEnd = isEndRounded || progress >= 1;\n if (isBeginningRounded) progress = 0;\n if (isEndRounded) progress = 1;\n }\n if (params.loop) {\n const firstSlideIndex = swiper.getSlideIndexByData(0);\n const lastSlideIndex = swiper.getSlideIndexByData(swiper.slides.length - 1);\n const firstSlideTranslate = swiper.slidesGrid[firstSlideIndex];\n const lastSlideTranslate = swiper.slidesGrid[lastSlideIndex];\n const translateMax = swiper.slidesGrid[swiper.slidesGrid.length - 1];\n const translateAbs = Math.abs(translate);\n if (translateAbs >= firstSlideTranslate) {\n progressLoop = (translateAbs - firstSlideTranslate) / translateMax;\n } else {\n progressLoop = (translateAbs + translateMax - lastSlideTranslate) / translateMax;\n }\n if (progressLoop > 1) progressLoop -= 1;\n }\n Object.assign(swiper, {\n progress,\n progressLoop,\n isBeginning,\n isEnd\n });\n if (params.watchSlidesProgress || params.centeredSlides && params.autoHeight) swiper.updateSlidesProgress(translate);\n if (isBeginning && !wasBeginning) {\n swiper.emit('reachBeginning toEdge');\n }\n if (isEnd && !wasEnd) {\n swiper.emit('reachEnd toEdge');\n }\n if (wasBeginning && !isBeginning || wasEnd && !isEnd) {\n swiper.emit('fromEdge');\n }\n swiper.emit('progress', progress);\n}\n\nfunction updateSlidesClasses() {\n const swiper = this;\n const {\n slides,\n params,\n slidesEl,\n activeIndex\n } = swiper;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;\n const getFilteredSlide = selector => {\n return elementChildren(slidesEl, `.${params.slideClass}${selector}, swiper-slide${selector}`)[0];\n };\n slides.forEach(slideEl => {\n slideEl.classList.remove(params.slideActiveClass, params.slideNextClass, params.slidePrevClass);\n });\n let activeSlide;\n let prevSlide;\n let nextSlide;\n if (isVirtual) {\n if (params.loop) {\n let slideIndex = activeIndex - swiper.virtual.slidesBefore;\n if (slideIndex < 0) slideIndex = swiper.virtual.slides.length + slideIndex;\n if (slideIndex >= swiper.virtual.slides.length) slideIndex -= swiper.virtual.slides.length;\n activeSlide = getFilteredSlide(`[data-swiper-slide-index=\"${slideIndex}\"]`);\n } else {\n activeSlide = getFilteredSlide(`[data-swiper-slide-index=\"${activeIndex}\"]`);\n }\n } else {\n if (gridEnabled) {\n activeSlide = slides.filter(slideEl => slideEl.column === activeIndex)[0];\n nextSlide = slides.filter(slideEl => slideEl.column === activeIndex + 1)[0];\n prevSlide = slides.filter(slideEl => slideEl.column === activeIndex - 1)[0];\n } else {\n activeSlide = slides[activeIndex];\n }\n }\n if (activeSlide) {\n // Active classes\n activeSlide.classList.add(params.slideActiveClass);\n if (gridEnabled) {\n if (nextSlide) {\n nextSlide.classList.add(params.slideNextClass);\n }\n if (prevSlide) {\n prevSlide.classList.add(params.slidePrevClass);\n }\n } else {\n // Next Slide\n nextSlide = elementNextAll(activeSlide, `.${params.slideClass}, swiper-slide`)[0];\n if (params.loop && !nextSlide) {\n nextSlide = slides[0];\n }\n if (nextSlide) {\n nextSlide.classList.add(params.slideNextClass);\n }\n\n // Prev Slide\n prevSlide = elementPrevAll(activeSlide, `.${params.slideClass}, swiper-slide`)[0];\n if (params.loop && !prevSlide === 0) {\n prevSlide = slides[slides.length - 1];\n }\n if (prevSlide) {\n prevSlide.classList.add(params.slidePrevClass);\n }\n }\n }\n swiper.emitSlidesClasses();\n}\n\nconst processLazyPreloader = (swiper, imageEl) => {\n if (!swiper || swiper.destroyed || !swiper.params) return;\n const slideSelector = () => swiper.isElement ? `swiper-slide` : `.${swiper.params.slideClass}`;\n const slideEl = imageEl.closest(slideSelector());\n if (slideEl) {\n let lazyEl = slideEl.querySelector(`.${swiper.params.lazyPreloaderClass}`);\n if (!lazyEl && swiper.isElement) {\n if (slideEl.shadowRoot) {\n lazyEl = slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`);\n } else {\n // init later\n requestAnimationFrame(() => {\n if (slideEl.shadowRoot) {\n lazyEl = slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`);\n if (lazyEl) lazyEl.remove();\n }\n });\n }\n }\n if (lazyEl) lazyEl.remove();\n }\n};\nconst unlazy = (swiper, index) => {\n if (!swiper.slides[index]) return;\n const imageEl = swiper.slides[index].querySelector('[loading=\"lazy\"]');\n if (imageEl) imageEl.removeAttribute('loading');\n};\nconst preload = swiper => {\n if (!swiper || swiper.destroyed || !swiper.params) return;\n let amount = swiper.params.lazyPreloadPrevNext;\n const len = swiper.slides.length;\n if (!len || !amount || amount < 0) return;\n amount = Math.min(amount, len);\n const slidesPerView = swiper.params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(swiper.params.slidesPerView);\n const activeIndex = swiper.activeIndex;\n if (swiper.params.grid && swiper.params.grid.rows > 1) {\n const activeColumn = activeIndex;\n const preloadColumns = [activeColumn - amount];\n preloadColumns.push(...Array.from({\n length: amount\n }).map((_, i) => {\n return activeColumn + slidesPerView + i;\n }));\n swiper.slides.forEach((slideEl, i) => {\n if (preloadColumns.includes(slideEl.column)) unlazy(swiper, i);\n });\n return;\n }\n const slideIndexLastInView = activeIndex + slidesPerView - 1;\n if (swiper.params.rewind || swiper.params.loop) {\n for (let i = activeIndex - amount; i <= slideIndexLastInView + amount; i += 1) {\n const realIndex = (i % len + len) % len;\n if (realIndex < activeIndex || realIndex > slideIndexLastInView) unlazy(swiper, realIndex);\n }\n } else {\n for (let i = Math.max(activeIndex - amount, 0); i <= Math.min(slideIndexLastInView + amount, len - 1); i += 1) {\n if (i !== activeIndex && (i > slideIndexLastInView || i < activeIndex)) {\n unlazy(swiper, i);\n }\n }\n }\n};\n\nfunction getActiveIndexByTranslate(swiper) {\n const {\n slidesGrid,\n params\n } = swiper;\n const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n let activeIndex;\n for (let i = 0; i < slidesGrid.length; i += 1) {\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) {\n activeIndex = i;\n } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) {\n activeIndex = i + 1;\n }\n } else if (translate >= slidesGrid[i]) {\n activeIndex = i;\n }\n }\n // Normalize slideIndex\n if (params.normalizeSlideIndex) {\n if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0;\n }\n return activeIndex;\n}\nfunction updateActiveIndex(newActiveIndex) {\n const swiper = this;\n const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n const {\n snapGrid,\n params,\n activeIndex: previousIndex,\n realIndex: previousRealIndex,\n snapIndex: previousSnapIndex\n } = swiper;\n let activeIndex = newActiveIndex;\n let snapIndex;\n const getVirtualRealIndex = aIndex => {\n let realIndex = aIndex - swiper.virtual.slidesBefore;\n if (realIndex < 0) {\n realIndex = swiper.virtual.slides.length + realIndex;\n }\n if (realIndex >= swiper.virtual.slides.length) {\n realIndex -= swiper.virtual.slides.length;\n }\n return realIndex;\n };\n if (typeof activeIndex === 'undefined') {\n activeIndex = getActiveIndexByTranslate(swiper);\n }\n if (snapGrid.indexOf(translate) >= 0) {\n snapIndex = snapGrid.indexOf(translate);\n } else {\n const skip = Math.min(params.slidesPerGroupSkip, activeIndex);\n snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup);\n }\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n if (activeIndex === previousIndex && !swiper.params.loop) {\n if (snapIndex !== previousSnapIndex) {\n swiper.snapIndex = snapIndex;\n swiper.emit('snapIndexChange');\n }\n return;\n }\n if (activeIndex === previousIndex && swiper.params.loop && swiper.virtual && swiper.params.virtual.enabled) {\n swiper.realIndex = getVirtualRealIndex(activeIndex);\n return;\n }\n const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;\n\n // Get real index\n let realIndex;\n if (swiper.virtual && params.virtual.enabled && params.loop) {\n realIndex = getVirtualRealIndex(activeIndex);\n } else if (gridEnabled) {\n const firstSlideInColumn = swiper.slides.filter(slideEl => slideEl.column === activeIndex)[0];\n let activeSlideIndex = parseInt(firstSlideInColumn.getAttribute('data-swiper-slide-index'), 10);\n if (Number.isNaN(activeSlideIndex)) {\n activeSlideIndex = Math.max(swiper.slides.indexOf(firstSlideInColumn), 0);\n }\n realIndex = Math.floor(activeSlideIndex / params.grid.rows);\n } else if (swiper.slides[activeIndex]) {\n const slideIndex = swiper.slides[activeIndex].getAttribute('data-swiper-slide-index');\n if (slideIndex) {\n realIndex = parseInt(slideIndex, 10);\n } else {\n realIndex = activeIndex;\n }\n } else {\n realIndex = activeIndex;\n }\n Object.assign(swiper, {\n previousSnapIndex,\n snapIndex,\n previousRealIndex,\n realIndex,\n previousIndex,\n activeIndex\n });\n if (swiper.initialized) {\n preload(swiper);\n }\n swiper.emit('activeIndexChange');\n swiper.emit('snapIndexChange');\n if (swiper.initialized || swiper.params.runCallbacksOnInit) {\n if (previousRealIndex !== realIndex) {\n swiper.emit('realIndexChange');\n }\n swiper.emit('slideChange');\n }\n}\n\nfunction updateClickedSlide(el, path) {\n const swiper = this;\n const params = swiper.params;\n let slide = el.closest(`.${params.slideClass}, swiper-slide`);\n if (!slide && swiper.isElement && path && path.length > 1 && path.includes(el)) {\n [...path.slice(path.indexOf(el) + 1, path.length)].forEach(pathEl => {\n if (!slide && pathEl.matches && pathEl.matches(`.${params.slideClass}, swiper-slide`)) {\n slide = pathEl;\n }\n });\n }\n let slideFound = false;\n let slideIndex;\n if (slide) {\n for (let i = 0; i < swiper.slides.length; i += 1) {\n if (swiper.slides[i] === slide) {\n slideFound = true;\n slideIndex = i;\n break;\n }\n }\n }\n if (slide && slideFound) {\n swiper.clickedSlide = slide;\n if (swiper.virtual && swiper.params.virtual.enabled) {\n swiper.clickedIndex = parseInt(slide.getAttribute('data-swiper-slide-index'), 10);\n } else {\n swiper.clickedIndex = slideIndex;\n }\n } else {\n swiper.clickedSlide = undefined;\n swiper.clickedIndex = undefined;\n return;\n }\n if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) {\n swiper.slideToClickedSlide();\n }\n}\n\nvar update = {\n updateSize,\n updateSlides,\n updateAutoHeight,\n updateSlidesOffset,\n updateSlidesProgress,\n updateProgress,\n updateSlidesClasses,\n updateActiveIndex,\n updateClickedSlide\n};\n\nfunction getSwiperTranslate(axis) {\n if (axis === void 0) {\n axis = this.isHorizontal() ? 'x' : 'y';\n }\n const swiper = this;\n const {\n params,\n rtlTranslate: rtl,\n translate,\n wrapperEl\n } = swiper;\n if (params.virtualTranslate) {\n return rtl ? -translate : translate;\n }\n if (params.cssMode) {\n return translate;\n }\n let currentTranslate = getTranslate(wrapperEl, axis);\n currentTranslate += swiper.cssOverflowAdjustment();\n if (rtl) currentTranslate = -currentTranslate;\n return currentTranslate || 0;\n}\n\nfunction setTranslate(translate, byController) {\n const swiper = this;\n const {\n rtlTranslate: rtl,\n params,\n wrapperEl,\n progress\n } = swiper;\n let x = 0;\n let y = 0;\n const z = 0;\n if (swiper.isHorizontal()) {\n x = rtl ? -translate : translate;\n } else {\n y = translate;\n }\n if (params.roundLengths) {\n x = Math.floor(x);\n y = Math.floor(y);\n }\n swiper.previousTranslate = swiper.translate;\n swiper.translate = swiper.isHorizontal() ? x : y;\n if (params.cssMode) {\n wrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y;\n } else if (!params.virtualTranslate) {\n if (swiper.isHorizontal()) {\n x -= swiper.cssOverflowAdjustment();\n } else {\n y -= swiper.cssOverflowAdjustment();\n }\n wrapperEl.style.transform = `translate3d(${x}px, ${y}px, ${z}px)`;\n }\n\n // Check if we need to update progress\n let newProgress;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (translate - swiper.minTranslate()) / translatesDiff;\n }\n if (newProgress !== progress) {\n swiper.updateProgress(translate);\n }\n swiper.emit('setTranslate', swiper.translate, byController);\n}\n\nfunction minTranslate() {\n return -this.snapGrid[0];\n}\n\nfunction maxTranslate() {\n return -this.snapGrid[this.snapGrid.length - 1];\n}\n\nfunction translateTo(translate, speed, runCallbacks, translateBounds, internal) {\n if (translate === void 0) {\n translate = 0;\n }\n if (speed === void 0) {\n speed = this.params.speed;\n }\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n if (translateBounds === void 0) {\n translateBounds = true;\n }\n const swiper = this;\n const {\n params,\n wrapperEl\n } = swiper;\n if (swiper.animating && params.preventInteractionOnTransition) {\n return false;\n }\n const minTranslate = swiper.minTranslate();\n const maxTranslate = swiper.maxTranslate();\n let newTranslate;\n if (translateBounds && translate > minTranslate) newTranslate = minTranslate;else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;else newTranslate = translate;\n\n // Update progress\n swiper.updateProgress(newTranslate);\n if (params.cssMode) {\n const isH = swiper.isHorizontal();\n if (speed === 0) {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;\n } else {\n if (!swiper.support.smoothScroll) {\n animateCSSModeScroll({\n swiper,\n targetPosition: -newTranslate,\n side: isH ? 'left' : 'top'\n });\n return true;\n }\n wrapperEl.scrollTo({\n [isH ? 'left' : 'top']: -newTranslate,\n behavior: 'smooth'\n });\n }\n return true;\n }\n if (speed === 0) {\n swiper.setTransition(0);\n swiper.setTranslate(newTranslate);\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionEnd');\n }\n } else {\n swiper.setTransition(speed);\n swiper.setTranslate(newTranslate);\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionStart');\n }\n if (!swiper.animating) {\n swiper.animating = true;\n if (!swiper.onTranslateToWrapperTransitionEnd) {\n swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.wrapperEl.removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n swiper.onTranslateToWrapperTransitionEnd = null;\n delete swiper.onTranslateToWrapperTransitionEnd;\n if (runCallbacks) {\n swiper.emit('transitionEnd');\n }\n };\n }\n swiper.wrapperEl.addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n }\n }\n return true;\n}\n\nvar translate = {\n getTranslate: getSwiperTranslate,\n setTranslate,\n minTranslate,\n maxTranslate,\n translateTo\n};\n\nfunction setTransition(duration, byController) {\n const swiper = this;\n if (!swiper.params.cssMode) {\n swiper.wrapperEl.style.transitionDuration = `${duration}ms`;\n swiper.wrapperEl.style.transitionDelay = duration === 0 ? `0ms` : '';\n }\n swiper.emit('setTransition', duration, byController);\n}\n\nfunction transitionEmit(_ref) {\n let {\n swiper,\n runCallbacks,\n direction,\n step\n } = _ref;\n const {\n activeIndex,\n previousIndex\n } = swiper;\n let dir = direction;\n if (!dir) {\n if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';\n }\n swiper.emit(`transition${step}`);\n if (runCallbacks && activeIndex !== previousIndex) {\n if (dir === 'reset') {\n swiper.emit(`slideResetTransition${step}`);\n return;\n }\n swiper.emit(`slideChangeTransition${step}`);\n if (dir === 'next') {\n swiper.emit(`slideNextTransition${step}`);\n } else {\n swiper.emit(`slidePrevTransition${step}`);\n }\n }\n}\n\nfunction transitionStart(runCallbacks, direction) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n const swiper = this;\n const {\n params\n } = swiper;\n if (params.cssMode) return;\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n transitionEmit({\n swiper,\n runCallbacks,\n direction,\n step: 'Start'\n });\n}\n\nfunction transitionEnd(runCallbacks, direction) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n const swiper = this;\n const {\n params\n } = swiper;\n swiper.animating = false;\n if (params.cssMode) return;\n swiper.setTransition(0);\n transitionEmit({\n swiper,\n runCallbacks,\n direction,\n step: 'End'\n });\n}\n\nvar transition = {\n setTransition,\n transitionStart,\n transitionEnd\n};\n\nfunction slideTo(index, speed, runCallbacks, internal, initial) {\n if (index === void 0) {\n index = 0;\n }\n if (speed === void 0) {\n speed = this.params.speed;\n }\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n if (typeof index === 'string') {\n index = parseInt(index, 10);\n }\n const swiper = this;\n let slideIndex = index;\n if (slideIndex < 0) slideIndex = 0;\n const {\n params,\n snapGrid,\n slidesGrid,\n previousIndex,\n activeIndex,\n rtlTranslate: rtl,\n wrapperEl,\n enabled\n } = swiper;\n if (swiper.animating && params.preventInteractionOnTransition || !enabled && !internal && !initial || swiper.destroyed) {\n return false;\n }\n const skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex);\n let snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup);\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n const translate = -snapGrid[snapIndex];\n // Normalize slideIndex\n if (params.normalizeSlideIndex) {\n for (let i = 0; i < slidesGrid.length; i += 1) {\n const normalizedTranslate = -Math.floor(translate * 100);\n const normalizedGrid = Math.floor(slidesGrid[i] * 100);\n const normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100);\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGrid) / 2) {\n slideIndex = i;\n } else if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext) {\n slideIndex = i + 1;\n }\n } else if (normalizedTranslate >= normalizedGrid) {\n slideIndex = i;\n }\n }\n }\n // Directions locks\n if (swiper.initialized && slideIndex !== activeIndex) {\n if (!swiper.allowSlideNext && (rtl ? translate > swiper.translate && translate > swiper.minTranslate() : translate < swiper.translate && translate < swiper.minTranslate())) {\n return false;\n }\n if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) {\n if ((activeIndex || 0) !== slideIndex) {\n return false;\n }\n }\n }\n if (slideIndex !== (previousIndex || 0) && runCallbacks) {\n swiper.emit('beforeSlideChangeStart');\n }\n\n // Update progress\n swiper.updateProgress(translate);\n let direction;\n if (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset';\n\n // Update Index\n if (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate) {\n swiper.updateActiveIndex(slideIndex);\n // Update Height\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n swiper.updateSlidesClasses();\n if (params.effect !== 'slide') {\n swiper.setTranslate(translate);\n }\n if (direction !== 'reset') {\n swiper.transitionStart(runCallbacks, direction);\n swiper.transitionEnd(runCallbacks, direction);\n }\n return false;\n }\n if (params.cssMode) {\n const isH = swiper.isHorizontal();\n const t = rtl ? translate : -translate;\n if (speed === 0) {\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n if (isVirtual) {\n swiper.wrapperEl.style.scrollSnapType = 'none';\n swiper._immediateVirtual = true;\n }\n if (isVirtual && !swiper._cssModeVirtualInitialSet && swiper.params.initialSlide > 0) {\n swiper._cssModeVirtualInitialSet = true;\n requestAnimationFrame(() => {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n });\n } else {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n }\n if (isVirtual) {\n requestAnimationFrame(() => {\n swiper.wrapperEl.style.scrollSnapType = '';\n swiper._immediateVirtual = false;\n });\n }\n } else {\n if (!swiper.support.smoothScroll) {\n animateCSSModeScroll({\n swiper,\n targetPosition: t,\n side: isH ? 'left' : 'top'\n });\n return true;\n }\n wrapperEl.scrollTo({\n [isH ? 'left' : 'top']: t,\n behavior: 'smooth'\n });\n }\n return true;\n }\n swiper.setTransition(speed);\n swiper.setTranslate(translate);\n swiper.updateActiveIndex(slideIndex);\n swiper.updateSlidesClasses();\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.transitionStart(runCallbacks, direction);\n if (speed === 0) {\n swiper.transitionEnd(runCallbacks, direction);\n } else if (!swiper.animating) {\n swiper.animating = true;\n if (!swiper.onSlideToWrapperTransitionEnd) {\n swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.wrapperEl.removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n swiper.onSlideToWrapperTransitionEnd = null;\n delete swiper.onSlideToWrapperTransitionEnd;\n swiper.transitionEnd(runCallbacks, direction);\n };\n }\n swiper.wrapperEl.addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n }\n return true;\n}\n\nfunction slideToLoop(index, speed, runCallbacks, internal) {\n if (index === void 0) {\n index = 0;\n }\n if (speed === void 0) {\n speed = this.params.speed;\n }\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n if (typeof index === 'string') {\n const indexAsNumber = parseInt(index, 10);\n index = indexAsNumber;\n }\n const swiper = this;\n if (swiper.destroyed) return;\n const gridEnabled = swiper.grid && swiper.params.grid && swiper.params.grid.rows > 1;\n let newIndex = index;\n if (swiper.params.loop) {\n if (swiper.virtual && swiper.params.virtual.enabled) {\n // eslint-disable-next-line\n newIndex = newIndex + swiper.virtual.slidesBefore;\n } else {\n let targetSlideIndex;\n if (gridEnabled) {\n const slideIndex = newIndex * swiper.params.grid.rows;\n targetSlideIndex = swiper.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === slideIndex)[0].column;\n } else {\n targetSlideIndex = swiper.getSlideIndexByData(newIndex);\n }\n const cols = gridEnabled ? Math.ceil(swiper.slides.length / swiper.params.grid.rows) : swiper.slides.length;\n const {\n centeredSlides\n } = swiper.params;\n let slidesPerView = swiper.params.slidesPerView;\n if (slidesPerView === 'auto') {\n slidesPerView = swiper.slidesPerViewDynamic();\n } else {\n slidesPerView = Math.ceil(parseFloat(swiper.params.slidesPerView, 10));\n if (centeredSlides && slidesPerView % 2 === 0) {\n slidesPerView = slidesPerView + 1;\n }\n }\n let needLoopFix = cols - targetSlideIndex < slidesPerView;\n if (centeredSlides) {\n needLoopFix = needLoopFix || targetSlideIndex < Math.ceil(slidesPerView / 2);\n }\n if (needLoopFix) {\n const direction = centeredSlides ? targetSlideIndex < swiper.activeIndex ? 'prev' : 'next' : targetSlideIndex - swiper.activeIndex - 1 < swiper.params.slidesPerView ? 'next' : 'prev';\n swiper.loopFix({\n direction,\n slideTo: true,\n activeSlideIndex: direction === 'next' ? targetSlideIndex + 1 : targetSlideIndex - cols + 1,\n slideRealIndex: direction === 'next' ? swiper.realIndex : undefined\n });\n }\n if (gridEnabled) {\n const slideIndex = newIndex * swiper.params.grid.rows;\n newIndex = swiper.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === slideIndex)[0].column;\n } else {\n newIndex = swiper.getSlideIndexByData(newIndex);\n }\n }\n }\n requestAnimationFrame(() => {\n swiper.slideTo(newIndex, speed, runCallbacks, internal);\n });\n return swiper;\n}\n\n/* eslint no-unused-vars: \"off\" */\nfunction slideNext(speed, runCallbacks, internal) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n const swiper = this;\n const {\n enabled,\n params,\n animating\n } = swiper;\n if (!enabled || swiper.destroyed) return swiper;\n let perGroup = params.slidesPerGroup;\n if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {\n perGroup = Math.max(swiper.slidesPerViewDynamic('current', true), 1);\n }\n const increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : perGroup;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n if (params.loop) {\n if (animating && !isVirtual && params.loopPreventsSliding) return false;\n swiper.loopFix({\n direction: 'next'\n });\n // eslint-disable-next-line\n swiper._clientLeft = swiper.wrapperEl.clientLeft;\n if (swiper.activeIndex === swiper.slides.length - 1 && params.cssMode) {\n requestAnimationFrame(() => {\n swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);\n });\n return true;\n }\n }\n if (params.rewind && swiper.isEnd) {\n return swiper.slideTo(0, speed, runCallbacks, internal);\n }\n return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);\n}\n\n/* eslint no-unused-vars: \"off\" */\nfunction slidePrev(speed, runCallbacks, internal) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n const swiper = this;\n const {\n params,\n snapGrid,\n slidesGrid,\n rtlTranslate,\n enabled,\n animating\n } = swiper;\n if (!enabled || swiper.destroyed) return swiper;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n if (params.loop) {\n if (animating && !isVirtual && params.loopPreventsSliding) return false;\n swiper.loopFix({\n direction: 'prev'\n });\n // eslint-disable-next-line\n swiper._clientLeft = swiper.wrapperEl.clientLeft;\n }\n const translate = rtlTranslate ? swiper.translate : -swiper.translate;\n function normalize(val) {\n if (val < 0) return -Math.floor(Math.abs(val));\n return Math.floor(val);\n }\n const normalizedTranslate = normalize(translate);\n const normalizedSnapGrid = snapGrid.map(val => normalize(val));\n let prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];\n if (typeof prevSnap === 'undefined' && params.cssMode) {\n let prevSnapIndex;\n snapGrid.forEach((snap, snapIndex) => {\n if (normalizedTranslate >= snap) {\n // prevSnap = snap;\n prevSnapIndex = snapIndex;\n }\n });\n if (typeof prevSnapIndex !== 'undefined') {\n prevSnap = snapGrid[prevSnapIndex > 0 ? prevSnapIndex - 1 : prevSnapIndex];\n }\n }\n let prevIndex = 0;\n if (typeof prevSnap !== 'undefined') {\n prevIndex = slidesGrid.indexOf(prevSnap);\n if (prevIndex < 0) prevIndex = swiper.activeIndex - 1;\n if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {\n prevIndex = prevIndex - swiper.slidesPerViewDynamic('previous', true) + 1;\n prevIndex = Math.max(prevIndex, 0);\n }\n }\n if (params.rewind && swiper.isBeginning) {\n const lastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;\n return swiper.slideTo(lastIndex, speed, runCallbacks, internal);\n } else if (params.loop && swiper.activeIndex === 0 && params.cssMode) {\n requestAnimationFrame(() => {\n swiper.slideTo(prevIndex, speed, runCallbacks, internal);\n });\n return true;\n }\n return swiper.slideTo(prevIndex, speed, runCallbacks, internal);\n}\n\n/* eslint no-unused-vars: \"off\" */\nfunction slideReset(speed, runCallbacks, internal) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n const swiper = this;\n if (swiper.destroyed) return;\n return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);\n}\n\n/* eslint no-unused-vars: \"off\" */\nfunction slideToClosest(speed, runCallbacks, internal, threshold) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n if (threshold === void 0) {\n threshold = 0.5;\n }\n const swiper = this;\n if (swiper.destroyed) return;\n let index = swiper.activeIndex;\n const skip = Math.min(swiper.params.slidesPerGroupSkip, index);\n const snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup);\n const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n if (translate >= swiper.snapGrid[snapIndex]) {\n // The current translate is on or after the current snap index, so the choice\n // is between the current index and the one after it.\n const currentSnap = swiper.snapGrid[snapIndex];\n const nextSnap = swiper.snapGrid[snapIndex + 1];\n if (translate - currentSnap > (nextSnap - currentSnap) * threshold) {\n index += swiper.params.slidesPerGroup;\n }\n } else {\n // The current translate is before the current snap index, so the choice\n // is between the current index and the one before it.\n const prevSnap = swiper.snapGrid[snapIndex - 1];\n const currentSnap = swiper.snapGrid[snapIndex];\n if (translate - prevSnap <= (currentSnap - prevSnap) * threshold) {\n index -= swiper.params.slidesPerGroup;\n }\n }\n index = Math.max(index, 0);\n index = Math.min(index, swiper.slidesGrid.length - 1);\n return swiper.slideTo(index, speed, runCallbacks, internal);\n}\n\nfunction slideToClickedSlide() {\n const swiper = this;\n if (swiper.destroyed) return;\n const {\n params,\n slidesEl\n } = swiper;\n const slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;\n let slideToIndex = swiper.clickedIndex;\n let realIndex;\n const slideSelector = swiper.isElement ? `swiper-slide` : `.${params.slideClass}`;\n if (params.loop) {\n if (swiper.animating) return;\n realIndex = parseInt(swiper.clickedSlide.getAttribute('data-swiper-slide-index'), 10);\n if (params.centeredSlides) {\n if (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) {\n swiper.loopFix();\n slideToIndex = swiper.getSlideIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index=\"${realIndex}\"]`)[0]);\n nextTick(() => {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else if (slideToIndex > swiper.slides.length - slidesPerView) {\n swiper.loopFix();\n slideToIndex = swiper.getSlideIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index=\"${realIndex}\"]`)[0]);\n nextTick(() => {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else {\n swiper.slideTo(slideToIndex);\n }\n}\n\nvar slide = {\n slideTo,\n slideToLoop,\n slideNext,\n slidePrev,\n slideReset,\n slideToClosest,\n slideToClickedSlide\n};\n\nfunction loopCreate(slideRealIndex) {\n const swiper = this;\n const {\n params,\n slidesEl\n } = swiper;\n if (!params.loop || swiper.virtual && swiper.params.virtual.enabled) return;\n const initSlides = () => {\n const slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`);\n slides.forEach((el, index) => {\n el.setAttribute('data-swiper-slide-index', index);\n });\n };\n const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;\n const slidesPerGroup = params.slidesPerGroup * (gridEnabled ? params.grid.rows : 1);\n const shouldFillGroup = swiper.slides.length % slidesPerGroup !== 0;\n const shouldFillGrid = gridEnabled && swiper.slides.length % params.grid.rows !== 0;\n const addBlankSlides = amountOfSlides => {\n for (let i = 0; i < amountOfSlides; i += 1) {\n const slideEl = swiper.isElement ? createElement('swiper-slide', [params.slideBlankClass]) : createElement('div', [params.slideClass, params.slideBlankClass]);\n swiper.slidesEl.append(slideEl);\n }\n };\n if (shouldFillGroup) {\n if (params.loopAddBlankSlides) {\n const slidesToAdd = slidesPerGroup - swiper.slides.length % slidesPerGroup;\n addBlankSlides(slidesToAdd);\n swiper.recalcSlides();\n swiper.updateSlides();\n } else {\n showWarning('Swiper Loop Warning: The number of slides is not even to slidesPerGroup, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)');\n }\n initSlides();\n } else if (shouldFillGrid) {\n if (params.loopAddBlankSlides) {\n const slidesToAdd = params.grid.rows - swiper.slides.length % params.grid.rows;\n addBlankSlides(slidesToAdd);\n swiper.recalcSlides();\n swiper.updateSlides();\n } else {\n showWarning('Swiper Loop Warning: The number of slides is not even to grid.rows, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)');\n }\n initSlides();\n } else {\n initSlides();\n }\n swiper.loopFix({\n slideRealIndex,\n direction: params.centeredSlides ? undefined : 'next'\n });\n}\n\nfunction loopFix(_temp) {\n let {\n slideRealIndex,\n slideTo = true,\n direction,\n setTranslate,\n activeSlideIndex,\n byController,\n byMousewheel\n } = _temp === void 0 ? {} : _temp;\n const swiper = this;\n if (!swiper.params.loop) return;\n swiper.emit('beforeLoopFix');\n const {\n slides,\n allowSlidePrev,\n allowSlideNext,\n slidesEl,\n params\n } = swiper;\n const {\n centeredSlides\n } = params;\n swiper.allowSlidePrev = true;\n swiper.allowSlideNext = true;\n if (swiper.virtual && params.virtual.enabled) {\n if (slideTo) {\n if (!params.centeredSlides && swiper.snapIndex === 0) {\n swiper.slideTo(swiper.virtual.slides.length, 0, false, true);\n } else if (params.centeredSlides && swiper.snapIndex < params.slidesPerView) {\n swiper.slideTo(swiper.virtual.slides.length + swiper.snapIndex, 0, false, true);\n } else if (swiper.snapIndex === swiper.snapGrid.length - 1) {\n swiper.slideTo(swiper.virtual.slidesBefore, 0, false, true);\n }\n }\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n swiper.emit('loopFix');\n return;\n }\n let slidesPerView = params.slidesPerView;\n if (slidesPerView === 'auto') {\n slidesPerView = swiper.slidesPerViewDynamic();\n } else {\n slidesPerView = Math.ceil(parseFloat(params.slidesPerView, 10));\n if (centeredSlides && slidesPerView % 2 === 0) {\n slidesPerView = slidesPerView + 1;\n }\n }\n const slidesPerGroup = params.slidesPerGroupAuto ? slidesPerView : params.slidesPerGroup;\n let loopedSlides = slidesPerGroup;\n if (loopedSlides % slidesPerGroup !== 0) {\n loopedSlides += slidesPerGroup - loopedSlides % slidesPerGroup;\n }\n loopedSlides += params.loopAdditionalSlides;\n swiper.loopedSlides = loopedSlides;\n const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;\n if (slides.length < slidesPerView + loopedSlides) {\n showWarning('Swiper Loop Warning: The number of slides is not enough for loop mode, it will be disabled and not function properly. You need to add more slides (or make duplicates) or lower the values of slidesPerView and slidesPerGroup parameters');\n } else if (gridEnabled && params.grid.fill === 'row') {\n showWarning('Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`');\n }\n const prependSlidesIndexes = [];\n const appendSlidesIndexes = [];\n let activeIndex = swiper.activeIndex;\n if (typeof activeSlideIndex === 'undefined') {\n activeSlideIndex = swiper.getSlideIndex(slides.filter(el => el.classList.contains(params.slideActiveClass))[0]);\n } else {\n activeIndex = activeSlideIndex;\n }\n const isNext = direction === 'next' || !direction;\n const isPrev = direction === 'prev' || !direction;\n let slidesPrepended = 0;\n let slidesAppended = 0;\n const cols = gridEnabled ? Math.ceil(slides.length / params.grid.rows) : slides.length;\n const activeColIndex = gridEnabled ? slides[activeSlideIndex].column : activeSlideIndex;\n const activeColIndexWithShift = activeColIndex + (centeredSlides && typeof setTranslate === 'undefined' ? -slidesPerView / 2 + 0.5 : 0);\n // prepend last slides before start\n if (activeColIndexWithShift < loopedSlides) {\n slidesPrepended = Math.max(loopedSlides - activeColIndexWithShift, slidesPerGroup);\n for (let i = 0; i < loopedSlides - activeColIndexWithShift; i += 1) {\n const index = i - Math.floor(i / cols) * cols;\n if (gridEnabled) {\n const colIndexToPrepend = cols - index - 1;\n for (let i = slides.length - 1; i >= 0; i -= 1) {\n if (slides[i].column === colIndexToPrepend) prependSlidesIndexes.push(i);\n }\n // slides.forEach((slide, slideIndex) => {\n // if (slide.column === colIndexToPrepend) prependSlidesIndexes.push(slideIndex);\n // });\n } else {\n prependSlidesIndexes.push(cols - index - 1);\n }\n }\n } else if (activeColIndexWithShift + slidesPerView > cols - loopedSlides) {\n slidesAppended = Math.max(activeColIndexWithShift - (cols - loopedSlides * 2), slidesPerGroup);\n for (let i = 0; i < slidesAppended; i += 1) {\n const index = i - Math.floor(i / cols) * cols;\n if (gridEnabled) {\n slides.forEach((slide, slideIndex) => {\n if (slide.column === index) appendSlidesIndexes.push(slideIndex);\n });\n } else {\n appendSlidesIndexes.push(index);\n }\n }\n }\n swiper.__preventObserver__ = true;\n requestAnimationFrame(() => {\n swiper.__preventObserver__ = false;\n });\n if (isPrev) {\n prependSlidesIndexes.forEach(index => {\n slides[index].swiperLoopMoveDOM = true;\n slidesEl.prepend(slides[index]);\n slides[index].swiperLoopMoveDOM = false;\n });\n }\n if (isNext) {\n appendSlidesIndexes.forEach(index => {\n slides[index].swiperLoopMoveDOM = true;\n slidesEl.append(slides[index]);\n slides[index].swiperLoopMoveDOM = false;\n });\n }\n swiper.recalcSlides();\n if (params.slidesPerView === 'auto') {\n swiper.updateSlides();\n } else if (gridEnabled && (prependSlidesIndexes.length > 0 && isPrev || appendSlidesIndexes.length > 0 && isNext)) {\n swiper.slides.forEach((slide, slideIndex) => {\n swiper.grid.updateSlide(slideIndex, slide, swiper.slides);\n });\n }\n if (params.watchSlidesProgress) {\n swiper.updateSlidesOffset();\n }\n if (slideTo) {\n if (prependSlidesIndexes.length > 0 && isPrev) {\n if (typeof slideRealIndex === 'undefined') {\n const currentSlideTranslate = swiper.slidesGrid[activeIndex];\n const newSlideTranslate = swiper.slidesGrid[activeIndex + slidesPrepended];\n const diff = newSlideTranslate - currentSlideTranslate;\n if (byMousewheel) {\n swiper.setTranslate(swiper.translate - diff);\n } else {\n swiper.slideTo(activeIndex + slidesPrepended, 0, false, true);\n if (setTranslate) {\n swiper.touchEventsData.startTranslate = swiper.touchEventsData.startTranslate - diff;\n swiper.touchEventsData.currentTranslate = swiper.touchEventsData.currentTranslate - diff;\n }\n }\n } else {\n if (setTranslate) {\n const shift = gridEnabled ? prependSlidesIndexes.length / params.grid.rows : prependSlidesIndexes.length;\n swiper.slideTo(swiper.activeIndex + shift, 0, false, true);\n swiper.touchEventsData.currentTranslate = swiper.translate;\n }\n }\n } else if (appendSlidesIndexes.length > 0 && isNext) {\n if (typeof slideRealIndex === 'undefined') {\n const currentSlideTranslate = swiper.slidesGrid[activeIndex];\n const newSlideTranslate = swiper.slidesGrid[activeIndex - slidesAppended];\n const diff = newSlideTranslate - currentSlideTranslate;\n if (byMousewheel) {\n swiper.setTranslate(swiper.translate - diff);\n } else {\n swiper.slideTo(activeIndex - slidesAppended, 0, false, true);\n if (setTranslate) {\n swiper.touchEventsData.startTranslate = swiper.touchEventsData.startTranslate - diff;\n swiper.touchEventsData.currentTranslate = swiper.touchEventsData.currentTranslate - diff;\n }\n }\n } else {\n const shift = gridEnabled ? appendSlidesIndexes.length / params.grid.rows : appendSlidesIndexes.length;\n swiper.slideTo(swiper.activeIndex - shift, 0, false, true);\n }\n }\n }\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n if (swiper.controller && swiper.controller.control && !byController) {\n const loopParams = {\n slideRealIndex,\n direction,\n setTranslate,\n activeSlideIndex,\n byController: true\n };\n if (Array.isArray(swiper.controller.control)) {\n swiper.controller.control.forEach(c => {\n if (!c.destroyed && c.params.loop) c.loopFix({\n ...loopParams,\n slideTo: c.params.slidesPerView === params.slidesPerView ? slideTo : false\n });\n });\n } else if (swiper.controller.control instanceof swiper.constructor && swiper.controller.control.params.loop) {\n swiper.controller.control.loopFix({\n ...loopParams,\n slideTo: swiper.controller.control.params.slidesPerView === params.slidesPerView ? slideTo : false\n });\n }\n }\n swiper.emit('loopFix');\n}\n\nfunction loopDestroy() {\n const swiper = this;\n const {\n params,\n slidesEl\n } = swiper;\n if (!params.loop || swiper.virtual && swiper.params.virtual.enabled) return;\n swiper.recalcSlides();\n const newSlidesOrder = [];\n swiper.slides.forEach(slideEl => {\n const index = typeof slideEl.swiperSlideIndex === 'undefined' ? slideEl.getAttribute('data-swiper-slide-index') * 1 : slideEl.swiperSlideIndex;\n newSlidesOrder[index] = slideEl;\n });\n swiper.slides.forEach(slideEl => {\n slideEl.removeAttribute('data-swiper-slide-index');\n });\n newSlidesOrder.forEach(slideEl => {\n slidesEl.append(slideEl);\n });\n swiper.recalcSlides();\n swiper.slideTo(swiper.realIndex, 0);\n}\n\nvar loop = {\n loopCreate,\n loopFix,\n loopDestroy\n};\n\nfunction setGrabCursor(moving) {\n const swiper = this;\n if (!swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return;\n const el = swiper.params.touchEventsTarget === 'container' ? swiper.el : swiper.wrapperEl;\n if (swiper.isElement) {\n swiper.__preventObserver__ = true;\n }\n el.style.cursor = 'move';\n el.style.cursor = moving ? 'grabbing' : 'grab';\n if (swiper.isElement) {\n requestAnimationFrame(() => {\n swiper.__preventObserver__ = false;\n });\n }\n}\n\nfunction unsetGrabCursor() {\n const swiper = this;\n if (swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) {\n return;\n }\n if (swiper.isElement) {\n swiper.__preventObserver__ = true;\n }\n swiper[swiper.params.touchEventsTarget === 'container' ? 'el' : 'wrapperEl'].style.cursor = '';\n if (swiper.isElement) {\n requestAnimationFrame(() => {\n swiper.__preventObserver__ = false;\n });\n }\n}\n\nvar grabCursor = {\n setGrabCursor,\n unsetGrabCursor\n};\n\n// Modified from https://stackoverflow.com/questions/54520554/custom-element-getrootnode-closest-function-crossing-multiple-parent-shadowd\nfunction closestElement(selector, base) {\n if (base === void 0) {\n base = this;\n }\n function __closestFrom(el) {\n if (!el || el === getDocument() || el === getWindow()) return null;\n if (el.assignedSlot) el = el.assignedSlot;\n const found = el.closest(selector);\n if (!found && !el.getRootNode) {\n return null;\n }\n return found || __closestFrom(el.getRootNode().host);\n }\n return __closestFrom(base);\n}\nfunction preventEdgeSwipe(swiper, event, startX) {\n const window = getWindow();\n const {\n params\n } = swiper;\n const edgeSwipeDetection = params.edgeSwipeDetection;\n const edgeSwipeThreshold = params.edgeSwipeThreshold;\n if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window.innerWidth - edgeSwipeThreshold)) {\n if (edgeSwipeDetection === 'prevent') {\n event.preventDefault();\n return true;\n }\n return false;\n }\n return true;\n}\nfunction onTouchStart(event) {\n const swiper = this;\n const document = getDocument();\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n const data = swiper.touchEventsData;\n if (e.type === 'pointerdown') {\n if (data.pointerId !== null && data.pointerId !== e.pointerId) {\n return;\n }\n data.pointerId = e.pointerId;\n } else if (e.type === 'touchstart' && e.targetTouches.length === 1) {\n data.touchId = e.targetTouches[0].identifier;\n }\n if (e.type === 'touchstart') {\n // don't proceed touch event\n preventEdgeSwipe(swiper, e, e.targetTouches[0].pageX);\n return;\n }\n const {\n params,\n touches,\n enabled\n } = swiper;\n if (!enabled) return;\n if (!params.simulateTouch && e.pointerType === 'mouse') return;\n if (swiper.animating && params.preventInteractionOnTransition) {\n return;\n }\n if (!swiper.animating && params.cssMode && params.loop) {\n swiper.loopFix();\n }\n let targetEl = e.target;\n if (params.touchEventsTarget === 'wrapper') {\n if (!swiper.wrapperEl.contains(targetEl)) return;\n }\n if ('which' in e && e.which === 3) return;\n if ('button' in e && e.button > 0) return;\n if (data.isTouched && data.isMoved) return;\n\n // change target el for shadow root component\n const swipingClassHasValue = !!params.noSwipingClass && params.noSwipingClass !== '';\n // eslint-disable-next-line\n const eventPath = e.composedPath ? e.composedPath() : e.path;\n if (swipingClassHasValue && e.target && e.target.shadowRoot && eventPath) {\n targetEl = eventPath[0];\n }\n const noSwipingSelector = params.noSwipingSelector ? params.noSwipingSelector : `.${params.noSwipingClass}`;\n const isTargetShadow = !!(e.target && e.target.shadowRoot);\n\n // use closestElement for shadow root element to get the actual closest for nested shadow root element\n if (params.noSwiping && (isTargetShadow ? closestElement(noSwipingSelector, targetEl) : targetEl.closest(noSwipingSelector))) {\n swiper.allowClick = true;\n return;\n }\n if (params.swipeHandler) {\n if (!targetEl.closest(params.swipeHandler)) return;\n }\n touches.currentX = e.pageX;\n touches.currentY = e.pageY;\n const startX = touches.currentX;\n const startY = touches.currentY;\n\n // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore\n\n if (!preventEdgeSwipe(swiper, e, startX)) {\n return;\n }\n Object.assign(data, {\n isTouched: true,\n isMoved: false,\n allowTouchCallbacks: true,\n isScrolling: undefined,\n startMoving: undefined\n });\n touches.startX = startX;\n touches.startY = startY;\n data.touchStartTime = now();\n swiper.allowClick = true;\n swiper.updateSize();\n swiper.swipeDirection = undefined;\n if (params.threshold > 0) data.allowThresholdMove = false;\n let preventDefault = true;\n if (targetEl.matches(data.focusableElements)) {\n preventDefault = false;\n if (targetEl.nodeName === 'SELECT') {\n data.isTouched = false;\n }\n }\n if (document.activeElement && document.activeElement.matches(data.focusableElements) && document.activeElement !== targetEl) {\n document.activeElement.blur();\n }\n const shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;\n if ((params.touchStartForcePreventDefault || shouldPreventDefault) && !targetEl.isContentEditable) {\n e.preventDefault();\n }\n if (params.freeMode && params.freeMode.enabled && swiper.freeMode && swiper.animating && !params.cssMode) {\n swiper.freeMode.onTouchStart();\n }\n swiper.emit('touchStart', e);\n}\n\nfunction onTouchMove(event) {\n const document = getDocument();\n const swiper = this;\n const data = swiper.touchEventsData;\n const {\n params,\n touches,\n rtlTranslate: rtl,\n enabled\n } = swiper;\n if (!enabled) return;\n if (!params.simulateTouch && event.pointerType === 'mouse') return;\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n if (e.type === 'pointermove') {\n if (data.touchId !== null) return; // return from pointer if we use touch\n const id = e.pointerId;\n if (id !== data.pointerId) return;\n }\n let targetTouch;\n if (e.type === 'touchmove') {\n targetTouch = [...e.changedTouches].filter(t => t.identifier === data.touchId)[0];\n if (!targetTouch || targetTouch.identifier !== data.touchId) return;\n } else {\n targetTouch = e;\n }\n if (!data.isTouched) {\n if (data.startMoving && data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n return;\n }\n const pageX = targetTouch.pageX;\n const pageY = targetTouch.pageY;\n if (e.preventedByNestedSwiper) {\n touches.startX = pageX;\n touches.startY = pageY;\n return;\n }\n if (!swiper.allowTouchMove) {\n if (!e.target.matches(data.focusableElements)) {\n swiper.allowClick = false;\n }\n if (data.isTouched) {\n Object.assign(touches, {\n startX: pageX,\n startY: pageY,\n currentX: pageX,\n currentY: pageY\n });\n data.touchStartTime = now();\n }\n return;\n }\n if (params.touchReleaseOnEdges && !params.loop) {\n if (swiper.isVertical()) {\n // Vertical\n if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) {\n data.isTouched = false;\n data.isMoved = false;\n return;\n }\n } else if (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate()) {\n return;\n }\n }\n if (document.activeElement) {\n if (e.target === document.activeElement && e.target.matches(data.focusableElements)) {\n data.isMoved = true;\n swiper.allowClick = false;\n return;\n }\n }\n if (data.allowTouchCallbacks) {\n swiper.emit('touchMove', e);\n }\n touches.previousX = touches.currentX;\n touches.previousY = touches.currentY;\n touches.currentX = pageX;\n touches.currentY = pageY;\n const diffX = touches.currentX - touches.startX;\n const diffY = touches.currentY - touches.startY;\n if (swiper.params.threshold && Math.sqrt(diffX ** 2 + diffY ** 2) < swiper.params.threshold) return;\n if (typeof data.isScrolling === 'undefined') {\n let touchAngle;\n if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) {\n data.isScrolling = false;\n } else {\n // eslint-disable-next-line\n if (diffX * diffX + diffY * diffY >= 25) {\n touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI;\n data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle;\n }\n }\n }\n if (data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n if (typeof data.startMoving === 'undefined') {\n if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) {\n data.startMoving = true;\n }\n }\n if (data.isScrolling) {\n data.isTouched = false;\n return;\n }\n if (!data.startMoving) {\n return;\n }\n swiper.allowClick = false;\n if (!params.cssMode && e.cancelable) {\n e.preventDefault();\n }\n if (params.touchMoveStopPropagation && !params.nested) {\n e.stopPropagation();\n }\n let diff = swiper.isHorizontal() ? diffX : diffY;\n let touchesDiff = swiper.isHorizontal() ? touches.currentX - touches.previousX : touches.currentY - touches.previousY;\n if (params.oneWayMovement) {\n diff = Math.abs(diff) * (rtl ? 1 : -1);\n touchesDiff = Math.abs(touchesDiff) * (rtl ? 1 : -1);\n }\n touches.diff = diff;\n diff *= params.touchRatio;\n if (rtl) {\n diff = -diff;\n touchesDiff = -touchesDiff;\n }\n const prevTouchesDirection = swiper.touchesDirection;\n swiper.swipeDirection = diff > 0 ? 'prev' : 'next';\n swiper.touchesDirection = touchesDiff > 0 ? 'prev' : 'next';\n const isLoop = swiper.params.loop && !params.cssMode;\n const allowLoopFix = swiper.touchesDirection === 'next' && swiper.allowSlideNext || swiper.touchesDirection === 'prev' && swiper.allowSlidePrev;\n if (!data.isMoved) {\n if (isLoop && allowLoopFix) {\n swiper.loopFix({\n direction: swiper.swipeDirection\n });\n }\n data.startTranslate = swiper.getTranslate();\n swiper.setTransition(0);\n if (swiper.animating) {\n const evt = new window.CustomEvent('transitionend', {\n bubbles: true,\n cancelable: true\n });\n swiper.wrapperEl.dispatchEvent(evt);\n }\n data.allowMomentumBounce = false;\n // Grab Cursor\n if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(true);\n }\n swiper.emit('sliderFirstMove', e);\n }\n let loopFixed;\n new Date().getTime();\n if (data.isMoved && data.allowThresholdMove && prevTouchesDirection !== swiper.touchesDirection && isLoop && allowLoopFix && Math.abs(diff) >= 1) {\n Object.assign(touches, {\n startX: pageX,\n startY: pageY,\n currentX: pageX,\n currentY: pageY,\n startTranslate: data.currentTranslate\n });\n data.loopSwapReset = true;\n data.startTranslate = data.currentTranslate;\n return;\n }\n swiper.emit('sliderMove', e);\n data.isMoved = true;\n data.currentTranslate = diff + data.startTranslate;\n let disableParentSwiper = true;\n let resistanceRatio = params.resistanceRatio;\n if (params.touchReleaseOnEdges) {\n resistanceRatio = 0;\n }\n if (diff > 0) {\n if (isLoop && allowLoopFix && !loopFixed && data.allowThresholdMove && data.currentTranslate > (params.centeredSlides ? swiper.minTranslate() - swiper.slidesSizesGrid[swiper.activeIndex + 1] : swiper.minTranslate())) {\n swiper.loopFix({\n direction: 'prev',\n setTranslate: true,\n activeSlideIndex: 0\n });\n }\n if (data.currentTranslate > swiper.minTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) {\n data.currentTranslate = swiper.minTranslate() - 1 + (-swiper.minTranslate() + data.startTranslate + diff) ** resistanceRatio;\n }\n }\n } else if (diff < 0) {\n if (isLoop && allowLoopFix && !loopFixed && data.allowThresholdMove && data.currentTranslate < (params.centeredSlides ? swiper.maxTranslate() + swiper.slidesSizesGrid[swiper.slidesSizesGrid.length - 1] : swiper.maxTranslate())) {\n swiper.loopFix({\n direction: 'next',\n setTranslate: true,\n activeSlideIndex: swiper.slides.length - (params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(parseFloat(params.slidesPerView, 10)))\n });\n }\n if (data.currentTranslate < swiper.maxTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) {\n data.currentTranslate = swiper.maxTranslate() + 1 - (swiper.maxTranslate() - data.startTranslate - diff) ** resistanceRatio;\n }\n }\n }\n if (disableParentSwiper) {\n e.preventedByNestedSwiper = true;\n }\n\n // Directions locks\n if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n if (!swiper.allowSlidePrev && !swiper.allowSlideNext) {\n data.currentTranslate = data.startTranslate;\n }\n\n // Threshold\n if (params.threshold > 0) {\n if (Math.abs(diff) > params.threshold || data.allowThresholdMove) {\n if (!data.allowThresholdMove) {\n data.allowThresholdMove = true;\n touches.startX = touches.currentX;\n touches.startY = touches.currentY;\n data.currentTranslate = data.startTranslate;\n touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY;\n return;\n }\n } else {\n data.currentTranslate = data.startTranslate;\n return;\n }\n }\n if (!params.followFinger || params.cssMode) return;\n\n // Update active index in free mode\n if (params.freeMode && params.freeMode.enabled && swiper.freeMode || params.watchSlidesProgress) {\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n if (params.freeMode && params.freeMode.enabled && swiper.freeMode) {\n swiper.freeMode.onTouchMove();\n }\n // Update progress\n swiper.updateProgress(data.currentTranslate);\n // Update translate\n swiper.setTranslate(data.currentTranslate);\n}\n\nfunction onTouchEnd(event) {\n const swiper = this;\n const data = swiper.touchEventsData;\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n let targetTouch;\n const isTouchEvent = e.type === 'touchend' || e.type === 'touchcancel';\n if (!isTouchEvent) {\n if (data.touchId !== null) return; // return from pointer if we use touch\n if (e.pointerId !== data.pointerId) return;\n targetTouch = e;\n } else {\n targetTouch = [...e.changedTouches].filter(t => t.identifier === data.touchId)[0];\n if (!targetTouch || targetTouch.identifier !== data.touchId) return;\n }\n if (['pointercancel', 'pointerout', 'pointerleave', 'contextmenu'].includes(e.type)) {\n const proceed = ['pointercancel', 'contextmenu'].includes(e.type) && (swiper.browser.isSafari || swiper.browser.isWebView);\n if (!proceed) {\n return;\n }\n }\n data.pointerId = null;\n data.touchId = null;\n const {\n params,\n touches,\n rtlTranslate: rtl,\n slidesGrid,\n enabled\n } = swiper;\n if (!enabled) return;\n if (!params.simulateTouch && e.pointerType === 'mouse') return;\n if (data.allowTouchCallbacks) {\n swiper.emit('touchEnd', e);\n }\n data.allowTouchCallbacks = false;\n if (!data.isTouched) {\n if (data.isMoved && params.grabCursor) {\n swiper.setGrabCursor(false);\n }\n data.isMoved = false;\n data.startMoving = false;\n return;\n }\n\n // Return Grab Cursor\n if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(false);\n }\n\n // Time diff\n const touchEndTime = now();\n const timeDiff = touchEndTime - data.touchStartTime;\n\n // Tap, doubleTap, Click\n if (swiper.allowClick) {\n const pathTree = e.path || e.composedPath && e.composedPath();\n swiper.updateClickedSlide(pathTree && pathTree[0] || e.target, pathTree);\n swiper.emit('tap click', e);\n if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) {\n swiper.emit('doubleTap doubleClick', e);\n }\n }\n data.lastClickTime = now();\n nextTick(() => {\n if (!swiper.destroyed) swiper.allowClick = true;\n });\n if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 && !data.loopSwapReset || data.currentTranslate === data.startTranslate && !data.loopSwapReset) {\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n return;\n }\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n let currentPos;\n if (params.followFinger) {\n currentPos = rtl ? swiper.translate : -swiper.translate;\n } else {\n currentPos = -data.currentTranslate;\n }\n if (params.cssMode) {\n return;\n }\n if (params.freeMode && params.freeMode.enabled) {\n swiper.freeMode.onTouchEnd({\n currentPos\n });\n return;\n }\n\n // Find current slide\n const swipeToLast = currentPos >= -swiper.maxTranslate() && !swiper.params.loop;\n let stopIndex = 0;\n let groupSize = swiper.slidesSizesGrid[0];\n for (let i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) {\n const increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n if (typeof slidesGrid[i + increment] !== 'undefined') {\n if (swipeToLast || currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + increment]) {\n stopIndex = i;\n groupSize = slidesGrid[i + increment] - slidesGrid[i];\n }\n } else if (swipeToLast || currentPos >= slidesGrid[i]) {\n stopIndex = i;\n groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];\n }\n }\n let rewindFirstIndex = null;\n let rewindLastIndex = null;\n if (params.rewind) {\n if (swiper.isBeginning) {\n rewindLastIndex = params.virtual && params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;\n } else if (swiper.isEnd) {\n rewindFirstIndex = 0;\n }\n }\n // Find current slide size\n const ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;\n const increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n if (timeDiff > params.longSwipesMs) {\n // Long touches\n if (!params.longSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n if (swiper.swipeDirection === 'next') {\n if (ratio >= params.longSwipesRatio) swiper.slideTo(params.rewind && swiper.isEnd ? rewindFirstIndex : stopIndex + increment);else swiper.slideTo(stopIndex);\n }\n if (swiper.swipeDirection === 'prev') {\n if (ratio > 1 - params.longSwipesRatio) {\n swiper.slideTo(stopIndex + increment);\n } else if (rewindLastIndex !== null && ratio < 0 && Math.abs(ratio) > params.longSwipesRatio) {\n swiper.slideTo(rewindLastIndex);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n } else {\n // Short swipes\n if (!params.shortSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n const isNavButtonTarget = swiper.navigation && (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl);\n if (!isNavButtonTarget) {\n if (swiper.swipeDirection === 'next') {\n swiper.slideTo(rewindFirstIndex !== null ? rewindFirstIndex : stopIndex + increment);\n }\n if (swiper.swipeDirection === 'prev') {\n swiper.slideTo(rewindLastIndex !== null ? rewindLastIndex : stopIndex);\n }\n } else if (e.target === swiper.navigation.nextEl) {\n swiper.slideTo(stopIndex + increment);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n}\n\nfunction onResize() {\n const swiper = this;\n const {\n params,\n el\n } = swiper;\n if (el && el.offsetWidth === 0) return;\n\n // Breakpoints\n if (params.breakpoints) {\n swiper.setBreakpoint();\n }\n\n // Save locks\n const {\n allowSlideNext,\n allowSlidePrev,\n snapGrid\n } = swiper;\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n\n // Disable locks on resize\n swiper.allowSlideNext = true;\n swiper.allowSlidePrev = true;\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateSlidesClasses();\n const isVirtualLoop = isVirtual && params.loop;\n if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides && !isVirtualLoop) {\n swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n if (swiper.params.loop && !isVirtual) {\n swiper.slideToLoop(swiper.realIndex, 0, false, true);\n } else {\n swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n }\n if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {\n clearTimeout(swiper.autoplay.resizeTimeout);\n swiper.autoplay.resizeTimeout = setTimeout(() => {\n if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {\n swiper.autoplay.resume();\n }\n }, 500);\n }\n // Return locks after resize\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n}\n\nfunction onClick(e) {\n const swiper = this;\n if (!swiper.enabled) return;\n if (!swiper.allowClick) {\n if (swiper.params.preventClicks) e.preventDefault();\n if (swiper.params.preventClicksPropagation && swiper.animating) {\n e.stopPropagation();\n e.stopImmediatePropagation();\n }\n }\n}\n\nfunction onScroll() {\n const swiper = this;\n const {\n wrapperEl,\n rtlTranslate,\n enabled\n } = swiper;\n if (!enabled) return;\n swiper.previousTranslate = swiper.translate;\n if (swiper.isHorizontal()) {\n swiper.translate = -wrapperEl.scrollLeft;\n } else {\n swiper.translate = -wrapperEl.scrollTop;\n }\n // eslint-disable-next-line\n if (swiper.translate === 0) swiper.translate = 0;\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n let newProgress;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff;\n }\n if (newProgress !== swiper.progress) {\n swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate);\n }\n swiper.emit('setTranslate', swiper.translate, false);\n}\n\nfunction onLoad(e) {\n const swiper = this;\n processLazyPreloader(swiper, e.target);\n if (swiper.params.cssMode || swiper.params.slidesPerView !== 'auto' && !swiper.params.autoHeight) {\n return;\n }\n swiper.update();\n}\n\nfunction onDocumentTouchStart() {\n const swiper = this;\n if (swiper.documentTouchHandlerProceeded) return;\n swiper.documentTouchHandlerProceeded = true;\n if (swiper.params.touchReleaseOnEdges) {\n swiper.el.style.touchAction = 'auto';\n }\n}\n\nconst events = (swiper, method) => {\n const document = getDocument();\n const {\n params,\n el,\n wrapperEl,\n device\n } = swiper;\n const capture = !!params.nested;\n const domMethod = method === 'on' ? 'addEventListener' : 'removeEventListener';\n const swiperMethod = method;\n\n // Touch Events\n document[domMethod]('touchstart', swiper.onDocumentTouchStart, {\n passive: false,\n capture\n });\n el[domMethod]('touchstart', swiper.onTouchStart, {\n passive: false\n });\n el[domMethod]('pointerdown', swiper.onTouchStart, {\n passive: false\n });\n document[domMethod]('touchmove', swiper.onTouchMove, {\n passive: false,\n capture\n });\n document[domMethod]('pointermove', swiper.onTouchMove, {\n passive: false,\n capture\n });\n document[domMethod]('touchend', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('pointerup', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('pointercancel', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('touchcancel', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('pointerout', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('pointerleave', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('contextmenu', swiper.onTouchEnd, {\n passive: true\n });\n\n // Prevent Links Clicks\n if (params.preventClicks || params.preventClicksPropagation) {\n el[domMethod]('click', swiper.onClick, true);\n }\n if (params.cssMode) {\n wrapperEl[domMethod]('scroll', swiper.onScroll);\n }\n\n // Resize handler\n if (params.updateOnWindowResize) {\n swiper[swiperMethod](device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize, true);\n } else {\n swiper[swiperMethod]('observerUpdate', onResize, true);\n }\n\n // Images loader\n el[domMethod]('load', swiper.onLoad, {\n capture: true\n });\n};\nfunction attachEvents() {\n const swiper = this;\n const {\n params\n } = swiper;\n swiper.onTouchStart = onTouchStart.bind(swiper);\n swiper.onTouchMove = onTouchMove.bind(swiper);\n swiper.onTouchEnd = onTouchEnd.bind(swiper);\n swiper.onDocumentTouchStart = onDocumentTouchStart.bind(swiper);\n if (params.cssMode) {\n swiper.onScroll = onScroll.bind(swiper);\n }\n swiper.onClick = onClick.bind(swiper);\n swiper.onLoad = onLoad.bind(swiper);\n events(swiper, 'on');\n}\nfunction detachEvents() {\n const swiper = this;\n events(swiper, 'off');\n}\nvar events$1 = {\n attachEvents,\n detachEvents\n};\n\nconst isGridEnabled = (swiper, params) => {\n return swiper.grid && params.grid && params.grid.rows > 1;\n};\nfunction setBreakpoint() {\n const swiper = this;\n const {\n realIndex,\n initialized,\n params,\n el\n } = swiper;\n const breakpoints = params.breakpoints;\n if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return;\n\n // Get breakpoint for window width and update parameters\n const breakpoint = swiper.getBreakpoint(breakpoints, swiper.params.breakpointsBase, swiper.el);\n if (!breakpoint || swiper.currentBreakpoint === breakpoint) return;\n const breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined;\n const breakpointParams = breakpointOnlyParams || swiper.originalParams;\n const wasMultiRow = isGridEnabled(swiper, params);\n const isMultiRow = isGridEnabled(swiper, breakpointParams);\n const wasEnabled = params.enabled;\n if (wasMultiRow && !isMultiRow) {\n el.classList.remove(`${params.containerModifierClass}grid`, `${params.containerModifierClass}grid-column`);\n swiper.emitContainerClasses();\n } else if (!wasMultiRow && isMultiRow) {\n el.classList.add(`${params.containerModifierClass}grid`);\n if (breakpointParams.grid.fill && breakpointParams.grid.fill === 'column' || !breakpointParams.grid.fill && params.grid.fill === 'column') {\n el.classList.add(`${params.containerModifierClass}grid-column`);\n }\n swiper.emitContainerClasses();\n }\n\n // Toggle navigation, pagination, scrollbar\n ['navigation', 'pagination', 'scrollbar'].forEach(prop => {\n if (typeof breakpointParams[prop] === 'undefined') return;\n const wasModuleEnabled = params[prop] && params[prop].enabled;\n const isModuleEnabled = breakpointParams[prop] && breakpointParams[prop].enabled;\n if (wasModuleEnabled && !isModuleEnabled) {\n swiper[prop].disable();\n }\n if (!wasModuleEnabled && isModuleEnabled) {\n swiper[prop].enable();\n }\n });\n const directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction;\n const needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged);\n const wasLoop = params.loop;\n if (directionChanged && initialized) {\n swiper.changeDirection();\n }\n extend(swiper.params, breakpointParams);\n const isEnabled = swiper.params.enabled;\n const hasLoop = swiper.params.loop;\n Object.assign(swiper, {\n allowTouchMove: swiper.params.allowTouchMove,\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev\n });\n if (wasEnabled && !isEnabled) {\n swiper.disable();\n } else if (!wasEnabled && isEnabled) {\n swiper.enable();\n }\n swiper.currentBreakpoint = breakpoint;\n swiper.emit('_beforeBreakpoint', breakpointParams);\n if (initialized) {\n if (needsReLoop) {\n swiper.loopDestroy();\n swiper.loopCreate(realIndex);\n swiper.updateSlides();\n } else if (!wasLoop && hasLoop) {\n swiper.loopCreate(realIndex);\n swiper.updateSlides();\n } else if (wasLoop && !hasLoop) {\n swiper.loopDestroy();\n }\n }\n swiper.emit('breakpoint', breakpointParams);\n}\n\nfunction getBreakpoint(breakpoints, base, containerEl) {\n if (base === void 0) {\n base = 'window';\n }\n if (!breakpoints || base === 'container' && !containerEl) return undefined;\n let breakpoint = false;\n const window = getWindow();\n const currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight;\n const points = Object.keys(breakpoints).map(point => {\n if (typeof point === 'string' && point.indexOf('@') === 0) {\n const minRatio = parseFloat(point.substr(1));\n const value = currentHeight * minRatio;\n return {\n value,\n point\n };\n }\n return {\n value: point,\n point\n };\n });\n points.sort((a, b) => parseInt(a.value, 10) - parseInt(b.value, 10));\n for (let i = 0; i < points.length; i += 1) {\n const {\n point,\n value\n } = points[i];\n if (base === 'window') {\n if (window.matchMedia(`(min-width: ${value}px)`).matches) {\n breakpoint = point;\n }\n } else if (value <= containerEl.clientWidth) {\n breakpoint = point;\n }\n }\n return breakpoint || 'max';\n}\n\nvar breakpoints = {\n setBreakpoint,\n getBreakpoint\n};\n\nfunction prepareClasses(entries, prefix) {\n const resultClasses = [];\n entries.forEach(item => {\n if (typeof item === 'object') {\n Object.keys(item).forEach(classNames => {\n if (item[classNames]) {\n resultClasses.push(prefix + classNames);\n }\n });\n } else if (typeof item === 'string') {\n resultClasses.push(prefix + item);\n }\n });\n return resultClasses;\n}\nfunction addClasses() {\n const swiper = this;\n const {\n classNames,\n params,\n rtl,\n el,\n device\n } = swiper;\n // prettier-ignore\n const suffixes = prepareClasses(['initialized', params.direction, {\n 'free-mode': swiper.params.freeMode && params.freeMode.enabled\n }, {\n 'autoheight': params.autoHeight\n }, {\n 'rtl': rtl\n }, {\n 'grid': params.grid && params.grid.rows > 1\n }, {\n 'grid-column': params.grid && params.grid.rows > 1 && params.grid.fill === 'column'\n }, {\n 'android': device.android\n }, {\n 'ios': device.ios\n }, {\n 'css-mode': params.cssMode\n }, {\n 'centered': params.cssMode && params.centeredSlides\n }, {\n 'watch-progress': params.watchSlidesProgress\n }], params.containerModifierClass);\n classNames.push(...suffixes);\n el.classList.add(...classNames);\n swiper.emitContainerClasses();\n}\n\nfunction removeClasses() {\n const swiper = this;\n const {\n el,\n classNames\n } = swiper;\n el.classList.remove(...classNames);\n swiper.emitContainerClasses();\n}\n\nvar classes = {\n addClasses,\n removeClasses\n};\n\nfunction checkOverflow() {\n const swiper = this;\n const {\n isLocked: wasLocked,\n params\n } = swiper;\n const {\n slidesOffsetBefore\n } = params;\n if (slidesOffsetBefore) {\n const lastSlideIndex = swiper.slides.length - 1;\n const lastSlideRightEdge = swiper.slidesGrid[lastSlideIndex] + swiper.slidesSizesGrid[lastSlideIndex] + slidesOffsetBefore * 2;\n swiper.isLocked = swiper.size > lastSlideRightEdge;\n } else {\n swiper.isLocked = swiper.snapGrid.length === 1;\n }\n if (params.allowSlideNext === true) {\n swiper.allowSlideNext = !swiper.isLocked;\n }\n if (params.allowSlidePrev === true) {\n swiper.allowSlidePrev = !swiper.isLocked;\n }\n if (wasLocked && wasLocked !== swiper.isLocked) {\n swiper.isEnd = false;\n }\n if (wasLocked !== swiper.isLocked) {\n swiper.emit(swiper.isLocked ? 'lock' : 'unlock');\n }\n}\nvar checkOverflow$1 = {\n checkOverflow\n};\n\nvar defaults = {\n init: true,\n direction: 'horizontal',\n oneWayMovement: false,\n swiperElementNodeName: 'SWIPER-CONTAINER',\n touchEventsTarget: 'wrapper',\n initialSlide: 0,\n speed: 300,\n cssMode: false,\n updateOnWindowResize: true,\n resizeObserver: true,\n nested: false,\n createElements: false,\n eventsPrefix: 'swiper',\n enabled: true,\n focusableElements: 'input, select, option, textarea, button, video, label',\n // Overrides\n width: null,\n height: null,\n //\n preventInteractionOnTransition: false,\n // ssr\n userAgent: null,\n url: null,\n // To support iOS's swipe-to-go-back gesture (when being used in-app).\n edgeSwipeDetection: false,\n edgeSwipeThreshold: 20,\n // Autoheight\n autoHeight: false,\n // Set wrapper width\n setWrapperSize: false,\n // Virtual Translate\n virtualTranslate: false,\n // Effects\n effect: 'slide',\n // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'\n\n // Breakpoints\n breakpoints: undefined,\n breakpointsBase: 'window',\n // Slides grid\n spaceBetween: 0,\n slidesPerView: 1,\n slidesPerGroup: 1,\n slidesPerGroupSkip: 0,\n slidesPerGroupAuto: false,\n centeredSlides: false,\n centeredSlidesBounds: false,\n slidesOffsetBefore: 0,\n // in px\n slidesOffsetAfter: 0,\n // in px\n normalizeSlideIndex: true,\n centerInsufficientSlides: false,\n // Disable swiper and hide navigation when container not overflow\n watchOverflow: true,\n // Round length\n roundLengths: false,\n // Touches\n touchRatio: 1,\n touchAngle: 45,\n simulateTouch: true,\n shortSwipes: true,\n longSwipes: true,\n longSwipesRatio: 0.5,\n longSwipesMs: 300,\n followFinger: true,\n allowTouchMove: true,\n threshold: 5,\n touchMoveStopPropagation: false,\n touchStartPreventDefault: true,\n touchStartForcePreventDefault: false,\n touchReleaseOnEdges: false,\n // Unique Navigation Elements\n uniqueNavElements: true,\n // Resistance\n resistance: true,\n resistanceRatio: 0.85,\n // Progress\n watchSlidesProgress: false,\n // Cursor\n grabCursor: false,\n // Clicks\n preventClicks: true,\n preventClicksPropagation: true,\n slideToClickedSlide: false,\n // loop\n loop: false,\n loopAddBlankSlides: true,\n loopAdditionalSlides: 0,\n loopPreventsSliding: true,\n // rewind\n rewind: false,\n // Swiping/no swiping\n allowSlidePrev: true,\n allowSlideNext: true,\n swipeHandler: null,\n // '.swipe-handler',\n noSwiping: true,\n noSwipingClass: 'swiper-no-swiping',\n noSwipingSelector: null,\n // Passive Listeners\n passiveListeners: true,\n maxBackfaceHiddenSlides: 10,\n // NS\n containerModifierClass: 'swiper-',\n // NEW\n slideClass: 'swiper-slide',\n slideBlankClass: 'swiper-slide-blank',\n slideActiveClass: 'swiper-slide-active',\n slideVisibleClass: 'swiper-slide-visible',\n slideFullyVisibleClass: 'swiper-slide-fully-visible',\n slideNextClass: 'swiper-slide-next',\n slidePrevClass: 'swiper-slide-prev',\n wrapperClass: 'swiper-wrapper',\n lazyPreloaderClass: 'swiper-lazy-preloader',\n lazyPreloadPrevNext: 0,\n // Callbacks\n runCallbacksOnInit: true,\n // Internals\n _emitClasses: false\n};\n\nfunction moduleExtendParams(params, allModulesParams) {\n return function extendParams(obj) {\n if (obj === void 0) {\n obj = {};\n }\n const moduleParamName = Object.keys(obj)[0];\n const moduleParams = obj[moduleParamName];\n if (typeof moduleParams !== 'object' || moduleParams === null) {\n extend(allModulesParams, obj);\n return;\n }\n if (params[moduleParamName] === true) {\n params[moduleParamName] = {\n enabled: true\n };\n }\n if (moduleParamName === 'navigation' && params[moduleParamName] && params[moduleParamName].enabled && !params[moduleParamName].prevEl && !params[moduleParamName].nextEl) {\n params[moduleParamName].auto = true;\n }\n if (['pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 && params[moduleParamName] && params[moduleParamName].enabled && !params[moduleParamName].el) {\n params[moduleParamName].auto = true;\n }\n if (!(moduleParamName in params && 'enabled' in moduleParams)) {\n extend(allModulesParams, obj);\n return;\n }\n if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) {\n params[moduleParamName].enabled = true;\n }\n if (!params[moduleParamName]) params[moduleParamName] = {\n enabled: false\n };\n extend(allModulesParams, obj);\n };\n}\n\n/* eslint no-param-reassign: \"off\" */\nconst prototypes = {\n eventsEmitter,\n update,\n translate,\n transition,\n slide,\n loop,\n grabCursor,\n events: events$1,\n breakpoints,\n checkOverflow: checkOverflow$1,\n classes\n};\nconst extendedDefaults = {};\nclass Swiper {\n constructor() {\n let el;\n let params;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (args.length === 1 && args[0].constructor && Object.prototype.toString.call(args[0]).slice(8, -1) === 'Object') {\n params = args[0];\n } else {\n [el, params] = args;\n }\n if (!params) params = {};\n params = extend({}, params);\n if (el && !params.el) params.el = el;\n const document = getDocument();\n if (params.el && typeof params.el === 'string' && document.querySelectorAll(params.el).length > 1) {\n const swipers = [];\n document.querySelectorAll(params.el).forEach(containerEl => {\n const newParams = extend({}, params, {\n el: containerEl\n });\n swipers.push(new Swiper(newParams));\n });\n // eslint-disable-next-line no-constructor-return\n return swipers;\n }\n\n // Swiper Instance\n const swiper = this;\n swiper.__swiper__ = true;\n swiper.support = getSupport();\n swiper.device = getDevice({\n userAgent: params.userAgent\n });\n swiper.browser = getBrowser();\n swiper.eventsListeners = {};\n swiper.eventsAnyListeners = [];\n swiper.modules = [...swiper.__modules__];\n if (params.modules && Array.isArray(params.modules)) {\n swiper.modules.push(...params.modules);\n }\n const allModulesParams = {};\n swiper.modules.forEach(mod => {\n mod({\n params,\n swiper,\n extendParams: moduleExtendParams(params, allModulesParams),\n on: swiper.on.bind(swiper),\n once: swiper.once.bind(swiper),\n off: swiper.off.bind(swiper),\n emit: swiper.emit.bind(swiper)\n });\n });\n\n // Extend defaults with modules params\n const swiperParams = extend({}, defaults, allModulesParams);\n\n // Extend defaults with passed params\n swiper.params = extend({}, swiperParams, extendedDefaults, params);\n swiper.originalParams = extend({}, swiper.params);\n swiper.passedParams = extend({}, params);\n\n // add event listeners\n if (swiper.params && swiper.params.on) {\n Object.keys(swiper.params.on).forEach(eventName => {\n swiper.on(eventName, swiper.params.on[eventName]);\n });\n }\n if (swiper.params && swiper.params.onAny) {\n swiper.onAny(swiper.params.onAny);\n }\n\n // Extend Swiper\n Object.assign(swiper, {\n enabled: swiper.params.enabled,\n el,\n // Classes\n classNames: [],\n // Slides\n slides: [],\n slidesGrid: [],\n snapGrid: [],\n slidesSizesGrid: [],\n // isDirection\n isHorizontal() {\n return swiper.params.direction === 'horizontal';\n },\n isVertical() {\n return swiper.params.direction === 'vertical';\n },\n // Indexes\n activeIndex: 0,\n realIndex: 0,\n //\n isBeginning: true,\n isEnd: false,\n // Props\n translate: 0,\n previousTranslate: 0,\n progress: 0,\n velocity: 0,\n animating: false,\n cssOverflowAdjustment() {\n // Returns 0 unless `translate` is > 2**23\n // Should be subtracted from css values to prevent overflow\n return Math.trunc(this.translate / 2 ** 23) * 2 ** 23;\n },\n // Locks\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev,\n // Touch Events\n touchEventsData: {\n isTouched: undefined,\n isMoved: undefined,\n allowTouchCallbacks: undefined,\n touchStartTime: undefined,\n isScrolling: undefined,\n currentTranslate: undefined,\n startTranslate: undefined,\n allowThresholdMove: undefined,\n // Form elements to match\n focusableElements: swiper.params.focusableElements,\n // Last click time\n lastClickTime: 0,\n clickTimeout: undefined,\n // Velocities\n velocities: [],\n allowMomentumBounce: undefined,\n startMoving: undefined,\n pointerId: null,\n touchId: null\n },\n // Clicks\n allowClick: true,\n // Touches\n allowTouchMove: swiper.params.allowTouchMove,\n touches: {\n startX: 0,\n startY: 0,\n currentX: 0,\n currentY: 0,\n diff: 0\n },\n // Images\n imagesToLoad: [],\n imagesLoaded: 0\n });\n swiper.emit('_swiper');\n\n // Init\n if (swiper.params.init) {\n swiper.init();\n }\n\n // Return app instance\n // eslint-disable-next-line no-constructor-return\n return swiper;\n }\n getDirectionLabel(property) {\n if (this.isHorizontal()) {\n return property;\n }\n // prettier-ignore\n return {\n 'width': 'height',\n 'margin-top': 'margin-left',\n 'margin-bottom ': 'margin-right',\n 'margin-left': 'margin-top',\n 'margin-right': 'margin-bottom',\n 'padding-left': 'padding-top',\n 'padding-right': 'padding-bottom',\n 'marginRight': 'marginBottom'\n }[property];\n }\n getSlideIndex(slideEl) {\n const {\n slidesEl,\n params\n } = this;\n const slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`);\n const firstSlideIndex = elementIndex(slides[0]);\n return elementIndex(slideEl) - firstSlideIndex;\n }\n getSlideIndexByData(index) {\n return this.getSlideIndex(this.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === index)[0]);\n }\n recalcSlides() {\n const swiper = this;\n const {\n slidesEl,\n params\n } = swiper;\n swiper.slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`);\n }\n enable() {\n const swiper = this;\n if (swiper.enabled) return;\n swiper.enabled = true;\n if (swiper.params.grabCursor) {\n swiper.setGrabCursor();\n }\n swiper.emit('enable');\n }\n disable() {\n const swiper = this;\n if (!swiper.enabled) return;\n swiper.enabled = false;\n if (swiper.params.grabCursor) {\n swiper.unsetGrabCursor();\n }\n swiper.emit('disable');\n }\n setProgress(progress, speed) {\n const swiper = this;\n progress = Math.min(Math.max(progress, 0), 1);\n const min = swiper.minTranslate();\n const max = swiper.maxTranslate();\n const current = (max - min) * progress + min;\n swiper.translateTo(current, typeof speed === 'undefined' ? 0 : speed);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n emitContainerClasses() {\n const swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n const cls = swiper.el.className.split(' ').filter(className => {\n return className.indexOf('swiper') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0;\n });\n swiper.emit('_containerClasses', cls.join(' '));\n }\n getSlideClasses(slideEl) {\n const swiper = this;\n if (swiper.destroyed) return '';\n return slideEl.className.split(' ').filter(className => {\n return className.indexOf('swiper-slide') === 0 || className.indexOf(swiper.params.slideClass) === 0;\n }).join(' ');\n }\n emitSlidesClasses() {\n const swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n const updates = [];\n swiper.slides.forEach(slideEl => {\n const classNames = swiper.getSlideClasses(slideEl);\n updates.push({\n slideEl,\n classNames\n });\n swiper.emit('_slideClass', slideEl, classNames);\n });\n swiper.emit('_slideClasses', updates);\n }\n slidesPerViewDynamic(view, exact) {\n if (view === void 0) {\n view = 'current';\n }\n if (exact === void 0) {\n exact = false;\n }\n const swiper = this;\n const {\n params,\n slides,\n slidesGrid,\n slidesSizesGrid,\n size: swiperSize,\n activeIndex\n } = swiper;\n let spv = 1;\n if (typeof params.slidesPerView === 'number') return params.slidesPerView;\n if (params.centeredSlides) {\n let slideSize = slides[activeIndex] ? Math.ceil(slides[activeIndex].swiperSlideSize) : 0;\n let breakLoop;\n for (let i = activeIndex + 1; i < slides.length; i += 1) {\n if (slides[i] && !breakLoop) {\n slideSize += Math.ceil(slides[i].swiperSlideSize);\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n for (let i = activeIndex - 1; i >= 0; i -= 1) {\n if (slides[i] && !breakLoop) {\n slideSize += slides[i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n } else {\n // eslint-disable-next-line\n if (view === 'current') {\n for (let i = activeIndex + 1; i < slides.length; i += 1) {\n const slideInView = exact ? slidesGrid[i] + slidesSizesGrid[i] - slidesGrid[activeIndex] < swiperSize : slidesGrid[i] - slidesGrid[activeIndex] < swiperSize;\n if (slideInView) {\n spv += 1;\n }\n }\n } else {\n // previous\n for (let i = activeIndex - 1; i >= 0; i -= 1) {\n const slideInView = slidesGrid[activeIndex] - slidesGrid[i] < swiperSize;\n if (slideInView) {\n spv += 1;\n }\n }\n }\n }\n return spv;\n }\n update() {\n const swiper = this;\n if (!swiper || swiper.destroyed) return;\n const {\n snapGrid,\n params\n } = swiper;\n // Breakpoints\n if (params.breakpoints) {\n swiper.setBreakpoint();\n }\n [...swiper.el.querySelectorAll('[loading=\"lazy\"]')].forEach(imageEl => {\n if (imageEl.complete) {\n processLazyPreloader(swiper, imageEl);\n }\n });\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n function setTranslate() {\n const translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate;\n const newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());\n swiper.setTranslate(newTranslate);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n let translated;\n if (params.freeMode && params.freeMode.enabled && !params.cssMode) {\n setTranslate();\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n } else {\n if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !params.centeredSlides) {\n const slides = swiper.virtual && params.virtual.enabled ? swiper.virtual.slides : swiper.slides;\n translated = swiper.slideTo(slides.length - 1, 0, false, true);\n } else {\n translated = swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n if (!translated) {\n setTranslate();\n }\n }\n if (params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n swiper.emit('update');\n }\n changeDirection(newDirection, needUpdate) {\n if (needUpdate === void 0) {\n needUpdate = true;\n }\n const swiper = this;\n const currentDirection = swiper.params.direction;\n if (!newDirection) {\n // eslint-disable-next-line\n newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal';\n }\n if (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') {\n return swiper;\n }\n swiper.el.classList.remove(`${swiper.params.containerModifierClass}${currentDirection}`);\n swiper.el.classList.add(`${swiper.params.containerModifierClass}${newDirection}`);\n swiper.emitContainerClasses();\n swiper.params.direction = newDirection;\n swiper.slides.forEach(slideEl => {\n if (newDirection === 'vertical') {\n slideEl.style.width = '';\n } else {\n slideEl.style.height = '';\n }\n });\n swiper.emit('changeDirection');\n if (needUpdate) swiper.update();\n return swiper;\n }\n changeLanguageDirection(direction) {\n const swiper = this;\n if (swiper.rtl && direction === 'rtl' || !swiper.rtl && direction === 'ltr') return;\n swiper.rtl = direction === 'rtl';\n swiper.rtlTranslate = swiper.params.direction === 'horizontal' && swiper.rtl;\n if (swiper.rtl) {\n swiper.el.classList.add(`${swiper.params.containerModifierClass}rtl`);\n swiper.el.dir = 'rtl';\n } else {\n swiper.el.classList.remove(`${swiper.params.containerModifierClass}rtl`);\n swiper.el.dir = 'ltr';\n }\n swiper.update();\n }\n mount(element) {\n const swiper = this;\n if (swiper.mounted) return true;\n\n // Find el\n let el = element || swiper.params.el;\n if (typeof el === 'string') {\n el = document.querySelector(el);\n }\n if (!el) {\n return false;\n }\n el.swiper = swiper;\n if (el.parentNode && el.parentNode.host && el.parentNode.host.nodeName === swiper.params.swiperElementNodeName.toUpperCase()) {\n swiper.isElement = true;\n }\n const getWrapperSelector = () => {\n return `.${(swiper.params.wrapperClass || '').trim().split(' ').join('.')}`;\n };\n const getWrapper = () => {\n if (el && el.shadowRoot && el.shadowRoot.querySelector) {\n const res = el.shadowRoot.querySelector(getWrapperSelector());\n // Children needs to return slot items\n return res;\n }\n return elementChildren(el, getWrapperSelector())[0];\n };\n // Find Wrapper\n let wrapperEl = getWrapper();\n if (!wrapperEl && swiper.params.createElements) {\n wrapperEl = createElement('div', swiper.params.wrapperClass);\n el.append(wrapperEl);\n elementChildren(el, `.${swiper.params.slideClass}`).forEach(slideEl => {\n wrapperEl.append(slideEl);\n });\n }\n Object.assign(swiper, {\n el,\n wrapperEl,\n slidesEl: swiper.isElement && !el.parentNode.host.slideSlots ? el.parentNode.host : wrapperEl,\n hostEl: swiper.isElement ? el.parentNode.host : el,\n mounted: true,\n // RTL\n rtl: el.dir.toLowerCase() === 'rtl' || elementStyle(el, 'direction') === 'rtl',\n rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || elementStyle(el, 'direction') === 'rtl'),\n wrongRTL: elementStyle(wrapperEl, 'display') === '-webkit-box'\n });\n return true;\n }\n init(el) {\n const swiper = this;\n if (swiper.initialized) return swiper;\n const mounted = swiper.mount(el);\n if (mounted === false) return swiper;\n swiper.emit('beforeInit');\n\n // Set breakpoint\n if (swiper.params.breakpoints) {\n swiper.setBreakpoint();\n }\n\n // Add Classes\n swiper.addClasses();\n\n // Update size\n swiper.updateSize();\n\n // Update slides\n swiper.updateSlides();\n if (swiper.params.watchOverflow) {\n swiper.checkOverflow();\n }\n\n // Set Grab Cursor\n if (swiper.params.grabCursor && swiper.enabled) {\n swiper.setGrabCursor();\n }\n\n // Slide To Initial Slide\n if (swiper.params.loop && swiper.virtual && swiper.params.virtual.enabled) {\n swiper.slideTo(swiper.params.initialSlide + swiper.virtual.slidesBefore, 0, swiper.params.runCallbacksOnInit, false, true);\n } else {\n swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true);\n }\n\n // Create loop\n if (swiper.params.loop) {\n swiper.loopCreate();\n }\n\n // Attach events\n swiper.attachEvents();\n const lazyElements = [...swiper.el.querySelectorAll('[loading=\"lazy\"]')];\n if (swiper.isElement) {\n lazyElements.push(...swiper.hostEl.querySelectorAll('[loading=\"lazy\"]'));\n }\n lazyElements.forEach(imageEl => {\n if (imageEl.complete) {\n processLazyPreloader(swiper, imageEl);\n } else {\n imageEl.addEventListener('load', e => {\n processLazyPreloader(swiper, e.target);\n });\n }\n });\n preload(swiper);\n\n // Init Flag\n swiper.initialized = true;\n preload(swiper);\n\n // Emit\n swiper.emit('init');\n swiper.emit('afterInit');\n return swiper;\n }\n destroy(deleteInstance, cleanStyles) {\n if (deleteInstance === void 0) {\n deleteInstance = true;\n }\n if (cleanStyles === void 0) {\n cleanStyles = true;\n }\n const swiper = this;\n const {\n params,\n el,\n wrapperEl,\n slides\n } = swiper;\n if (typeof swiper.params === 'undefined' || swiper.destroyed) {\n return null;\n }\n swiper.emit('beforeDestroy');\n\n // Init Flag\n swiper.initialized = false;\n\n // Detach events\n swiper.detachEvents();\n\n // Destroy loop\n if (params.loop) {\n swiper.loopDestroy();\n }\n\n // Cleanup styles\n if (cleanStyles) {\n swiper.removeClasses();\n el.removeAttribute('style');\n wrapperEl.removeAttribute('style');\n if (slides && slides.length) {\n slides.forEach(slideEl => {\n slideEl.classList.remove(params.slideVisibleClass, params.slideFullyVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass);\n slideEl.removeAttribute('style');\n slideEl.removeAttribute('data-swiper-slide-index');\n });\n }\n }\n swiper.emit('destroy');\n\n // Detach emitter events\n Object.keys(swiper.eventsListeners).forEach(eventName => {\n swiper.off(eventName);\n });\n if (deleteInstance !== false) {\n swiper.el.swiper = null;\n deleteProps(swiper);\n }\n swiper.destroyed = true;\n return null;\n }\n static extendDefaults(newDefaults) {\n extend(extendedDefaults, newDefaults);\n }\n static get extendedDefaults() {\n return extendedDefaults;\n }\n static get defaults() {\n return defaults;\n }\n static installModule(mod) {\n if (!Swiper.prototype.__modules__) Swiper.prototype.__modules__ = [];\n const modules = Swiper.prototype.__modules__;\n if (typeof mod === 'function' && modules.indexOf(mod) < 0) {\n modules.push(mod);\n }\n }\n static use(module) {\n if (Array.isArray(module)) {\n module.forEach(m => Swiper.installModule(m));\n return Swiper;\n }\n Swiper.installModule(module);\n return Swiper;\n }\n}\nObject.keys(prototypes).forEach(prototypeGroup => {\n Object.keys(prototypes[prototypeGroup]).forEach(protoMethod => {\n Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];\n });\n});\nSwiper.use([Resize, Observer]);\n\nexport { Swiper as S, defaults as d };\n","\"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\r\n ? new registrationInfo.objectType()\r\n : 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\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\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","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./release-preview.vue?vue&type=style&index=0&id=ea78718e&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusItems.vue?vue&type=style&index=0&id=4b76696a&prod&lang=scss&scoped=true\"","\"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\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_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 /* eslint-disable no-console */\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 /* eslint-enable no-console */\r\n }\r\n }\r\n}\r\nvar ActivityRequest = /** @class */ (function () {\r\n function ActivityRequest(action, trigger, consecutiveActions) {\r\n this.action = action;\r\n this.trigger = trigger;\r\n this.consecutiveActions = consecutiveActions;\r\n this.attemptNumber = 0;\r\n }\r\n // eslint-disable-next-line @typescript-eslint/require-await\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\r\n ? this.onShowManualRefreshButton(this)\r\n : 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, consecutiveActions) {\r\n var _this = this;\r\n if (this.card) {\r\n var request_1 = new ActivityRequest(action, trigger, consecutiveActions);\r\n request_1.onSend = function (sender) {\r\n sender.attemptNumber++;\r\n void _this.internalSendActivityRequestAsync(request_1);\r\n };\r\n var cancel = this.onPrepareActivityRequest\r\n ? !this.onPrepareActivityRequest(this, request_1, action)\r\n : 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\r\n ? this.onCreateSerializationContext(this)\r\n : new card_elements_1.SerializationContext();\r\n };\r\n AdaptiveApplet.prototype.internalSetCard = function (payload, consecutiveActions) {\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\r\n ? this.onCardChanging(this, this._cardPayload)\r\n : true;\r\n if (doChangeCard) {\r\n this._card = card;\r\n if (this._card.authentication &&\r\n this._card.authentication.tokenExchangeResource &&\r\n 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 var _a, _b, _c;\r\n // If the user modifies an input, cancel any pending automatic refresh\r\n _this.cancelAutomaticRefresh();\r\n if (input instanceof card_elements_1.ChoiceSetInput && input.isDynamicTypeahead()) {\r\n var filter = input.getFilterForDynamicSearch();\r\n if (filter) {\r\n var dataQueryAction = new card_elements_1.DataQuery();\r\n dataQueryAction.filter = filter;\r\n dataQueryAction.dataset = ((_a = input.choicesData) === null || _a === void 0 ? void 0 : _a.dataset) || \"\";\r\n dataQueryAction.count = (_b = input.choicesData) === null || _b === void 0 ? void 0 : _b.count;\r\n dataQueryAction.skip = (_c = input.choicesData) === null || _c === void 0 ? void 0 : _c.skip;\r\n _this._choiceSet = input;\r\n _this.internalExecuteAction(dataQueryAction, activity_request_1.ActivityRequestTrigger.Manual, 0 // consecutiveActions\r\n );\r\n }\r\n }\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 ===\r\n Enums.RefreshMode.Automatic &&\r\n consecutiveActions <\r\n shared_1.GlobalSettings.applets.refresh\r\n .maximumConsecutiveAutomaticRefreshes) {\r\n if (shared_1.GlobalSettings.applets.refresh.timeBetweenAutomaticRefreshes <=\r\n 0) {\r\n logEvent(Enums.LogLevel.Info, \"Triggering automatic card refresh number \" +\r\n (consecutiveActions + 1));\r\n this.internalExecuteAction(this._card.refresh.action, activity_request_1.ActivityRequestTrigger.Automatic, consecutiveActions + 1);\r\n }\r\n else {\r\n logEvent(Enums.LogLevel.Info, \"Scheduling automatic card refresh number \" +\r\n (consecutiveActions + 1) +\r\n \" in \" +\r\n shared_1.GlobalSettings.applets.refresh\r\n .timeBetweenAutomaticRefreshes +\r\n \"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, consecutiveActions + 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 (consecutiveActions > 0) {\r\n logEvent(Enums.LogLevel.Warning, \"Stopping automatic refreshes after \" +\r\n consecutiveActions +\r\n \" 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\r\n .allowManualRefreshesAfterAutomaticRefreshes ||\r\n 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, consecutiveActions) {\r\n if (action instanceof card_elements_1.UniversalAction) {\r\n if (this.channelAdapter) {\r\n var request = this.createActivityRequest(action, trigger, consecutiveActions);\r\n if (request) {\r\n void 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\r\n ? this.onActivityRequestFailed(this, response)\r\n : 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\r\n ? this.onShowAuthCodeInputDialog(this, request)\r\n : 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 &&\r\n 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 void 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, \"Unexpected action taken from magic code input card (id = \" +\r\n submitMagicCodeAction.id +\r\n \")\");\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 action;\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 action = request.action;\r\n if (!(action instanceof card_elements_1.ExecuteAction)) return [3 /*break*/, 2];\r\n return [4 /*yield*/, this.internalSendExecuteRequestAsync(request)];\r\n case 1:\r\n _a.sent();\r\n return [3 /*break*/, 5];\r\n case 2:\r\n if (!(action instanceof card_elements_1.DataQuery)) return [3 /*break*/, 4];\r\n return [4 /*yield*/, this.internalSendDataQueryRequestAsync(request)];\r\n case 3:\r\n _a.sent();\r\n return [3 /*break*/, 5];\r\n case 4: throw new Error(\"internalSendActivityRequestAsync: Unhandled Action Type\");\r\n case 5: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n AdaptiveApplet.prototype.internalSendExecuteRequestAsync = 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(\"internalSendExecuteRequestAsync: 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(\"internalSendExecuteRequestAsync: 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 \" +\r\n request.attemptNumber +\r\n \" attempt(s).\");\r\n this_1.activityRequestSucceeded(response, parsedContent);\r\n }\r\n else if (typeof parsedContent === \"object\" &&\r\n parsedContent[\"type\"] === \"AdaptiveCard\") {\r\n logEvent(Enums.LogLevel.Info, \"The activity request returned an Adaptive Card after \" +\r\n request.attemptNumber +\r\n \" attempt(s).\");\r\n this_1.internalSetCard(parsedContent, request.consecutiveActions);\r\n this_1.activityRequestSucceeded(response, this_1.card);\r\n }\r\n else {\r\n throw new Error(\"internalSendExecuteRequestAsync: Action.Execute result is of unsupported type (\" +\r\n typeof response.rawContent +\r\n \")\");\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 &&\r\n request.attemptNumber < shared_1.GlobalSettings.applets.maximumRetryAttempts)) return [3 /*break*/, 7];\r\n logEvent(Enums.LogLevel.Warning, \"Activity request failed: \".concat(response.error.message, \". Retrying in \").concat(retryIn_1, \"ms\"));\r\n request.attemptNumber++;\r\n return [4 /*yield*/, new Promise(function (resolve, _reject) {\r\n window.setTimeout(function () {\r\n resolve();\r\n }, 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: \".concat(response.error.message, \". Giving up after \").concat(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 \" +\r\n request.attemptNumber +\r\n \" 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(\"internalSendExecuteRequestAsync: 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 +\r\n (window.outerWidth - shared_1.GlobalSettings.applets.authPromptWidth) /\r\n 2;\r\n top_1 = window.screenY +\r\n (window.outerHeight - shared_1.GlobalSettings.applets.authPromptHeight) /\r\n 2;\r\n window.open(response.signinButton.value, response.signinButton.title\r\n ? response.signinButton.title\r\n : \"Sign in\", \"width=\".concat(shared_1.GlobalSettings.applets.authPromptWidth, \",height=\").concat(shared_1.GlobalSettings.applets.authPromptHeight, \",left=\").concat(left, \",top=\").concat(top_1));\r\n }\r\n }\r\n }\r\n else {\r\n logEvent(Enums.LogLevel.Error, \"Authentication failed. Giving up after \" +\r\n request.attemptNumber +\r\n \" 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: \" + JSON.stringify(response));\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.internalSendDataQueryRequestAsync = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var filter, response, error_2, rawResponse, parsedResponse;\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(\"internalSendDataQueryRequestAsync: channel adapter not set\");\r\n }\r\n filter = request.action.filter;\r\n if (!this._choiceSet) return [3 /*break*/, 5];\r\n this._choiceSet.showLoadingIndicator();\r\n response = undefined;\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 3, , 4]);\r\n return [4 /*yield*/, this.channelAdapter.sendRequestAsync(request)];\r\n case 2:\r\n response = _a.sent();\r\n return [3 /*break*/, 4];\r\n case 3:\r\n error_2 = _a.sent();\r\n this._choiceSet.showErrorIndicator(filter, \"Unable to load\");\r\n logEvent(Enums.LogLevel.Error, \"Activity request failed: \" + error_2);\r\n return [3 /*break*/, 4];\r\n case 4:\r\n if (response) {\r\n if (response instanceof activity_request_1.SuccessResponse) {\r\n rawResponse = response.rawContent;\r\n if (rawResponse) {\r\n parsedResponse = void 0;\r\n try {\r\n parsedResponse = JSON.parse(rawResponse);\r\n }\r\n catch (error) {\r\n this._choiceSet.showErrorIndicator(filter, \"Unable to load\");\r\n throw new Error(\"internalSendDataQueryRequestAsync: Cannot parse response object: \" +\r\n rawResponse);\r\n }\r\n if (typeof parsedResponse === \"object\") {\r\n this._choiceSet.renderChoices(filter, parsedResponse);\r\n this.activityRequestSucceeded(response, rawResponse);\r\n }\r\n else {\r\n this._choiceSet.showErrorIndicator(filter, \"Error loading results\");\r\n throw new Error(\"internalSendDataQueryRequestAsync: Data.Query result is of unsupported type (\" +\r\n typeof rawResponse +\r\n \")\");\r\n }\r\n }\r\n else {\r\n this._choiceSet.showErrorIndicator(filter, \"Unable to load\");\r\n throw new Error(\"internalSendDataQueryRequestAsync: Data.Query result is undefined\");\r\n }\r\n }\r\n else if (response instanceof activity_request_1.ErrorResponse) {\r\n this._choiceSet.showErrorIndicator(filter, response.error.message || \"Error loading results\");\r\n logEvent(Enums.LogLevel.Error, \"Activity request failed: \".concat(response.error.message, \".\"));\r\n this.activityRequestFailed(response);\r\n }\r\n else {\r\n this._choiceSet.showErrorIndicator(filter, \"Unable to load\");\r\n throw new Error(\"Unhandled response type: \" + JSON.stringify(response));\r\n }\r\n }\r\n else {\r\n this._choiceSet.removeLoadingIndicator();\r\n }\r\n _a.label = 5;\r\n case 5: 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\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-current\", \"false\");\r\n this._element.onmouseup = function (_e) {\r\n _this.click();\r\n };\r\n this._element.onkeydown = function (e) {\r\n if (e.key === constants_1.Constants.keys.enter) {\r\n e.stopPropagation();\r\n e.preventDefault();\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","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReleaseNotesCard.vue?vue&type=style&index=0&id=cce0d270&prod&lang=scss&scoped=true\"","\"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","import { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\n\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"w-full d-flex justify-center items-center\"},[_c(VProgressCircular,{attrs:{\"indeterminate\":\"\",\"color\":_vm.colour,\"size\":_vm.size}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./spinner.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./spinner.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./spinner.vue?vue&type=template&id=cd27bca4\"\nimport script from \"./spinner.vue?vue&type=script&lang=js\"\nexport * from \"./spinner.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\"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 (prop, propertyValue) {\r\n var value = propertyValue === undefined ? this.getValue(prop) : propertyValue;\r\n if (shared_1.GlobalSettings.allowPreProcessingPropertyValues) {\r\n // eslint-disable-next-line @typescript-eslint/no-this-alias\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, prop, 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 // eslint-disable-next-line @typescript-eslint/no-this-alias\r\n var currentObject = this;\r\n while (currentObject.parent) {\r\n currentObject = currentObject.parent;\r\n }\r\n return currentObject;\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 CardObject.prototype.releaseDOMResources = function () {\r\n // Do nothing in base implementation\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 (0, serialization_1.property)(CardObject.idProperty)\r\n ], CardObject.prototype, \"id\", void 0);\r\n __decorate([\r\n (0, 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\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\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CarouselEvent = exports.Carousel = exports.CarouselPage = 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 = require(\"./enums\");\r\nvar serialization_1 = require(\"./serialization\");\r\nvar registry_1 = require(\"./registry\");\r\nvar enums_1 = require(\"./enums\");\r\nvar strings_1 = require(\"./strings\");\r\nvar swiper_1 = require(\"swiper\");\r\nvar Utils = require(\"./utils\");\r\nvar shared_1 = require(\"./shared\");\r\n// Note: to function correctly, consumers need to have CSS from swiper/css, swiper/css/pagination, and\r\n// swiper/css/navigation\r\nvar CarouselPage = /** @class */ (function (_super) {\r\n __extends(CarouselPage, _super);\r\n function CarouselPage() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n //#region Schema\r\n CarouselPage.prototype.populateSchema = function (schema) {\r\n _super.prototype.populateSchema.call(this, schema);\r\n // `style`, `bleed`, `isVisible` are not supported in CarouselPage\r\n schema.remove(card_elements_1.Container.styleProperty);\r\n schema.remove(card_elements_1.Container.bleedProperty);\r\n schema.remove(card_elements_1.Container.isVisibleProperty);\r\n };\r\n //#endregion\r\n CarouselPage.prototype.internalRender = function () {\r\n var carouselSlide = document.createElement(\"div\");\r\n carouselSlide.className = this.hostConfig.makeCssClassName(\"swiper-slide\");\r\n // `isRtl()` will set the correct value of rtl by reading the value from the parents\r\n this.rtl = this.isRtl();\r\n var renderedElement = _super.prototype.internalRender.call(this);\r\n Utils.appendChild(carouselSlide, renderedElement);\r\n return carouselSlide;\r\n };\r\n CarouselPage.prototype.getForbiddenActionTypes = function () {\r\n return [card_elements_1.ShowCardAction, card_elements_1.ToggleVisibilityAction];\r\n };\r\n CarouselPage.prototype.getForbiddenChildElements = function () {\r\n return this.forbiddenChildElements();\r\n };\r\n CarouselPage.prototype.forbiddenChildElements = function () {\r\n return __spreadArray([\r\n card_elements_1.ToggleVisibilityAction.JsonTypeName,\r\n card_elements_1.ShowCardAction.JsonTypeName,\r\n \"Media\",\r\n \"ActionSet\",\r\n \"Input.Text\",\r\n \"Input.Date\",\r\n \"Input.Time\",\r\n \"Input.Number\",\r\n \"Input.ChoiceSet\",\r\n \"Input.Toggle\",\r\n \"Carousel\"\r\n ], _super.prototype.forbiddenChildElements.call(this), true);\r\n };\r\n CarouselPage.prototype.internalParse = function (source, context) {\r\n _super.prototype.internalParse.call(this, source, context);\r\n this.setShouldFallback(false);\r\n };\r\n CarouselPage.prototype.shouldSerialize = function (_context) {\r\n return true;\r\n };\r\n CarouselPage.prototype.getJsonTypeName = function () {\r\n return \"CarouselPage\";\r\n };\r\n Object.defineProperty(CarouselPage.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(CarouselPage.prototype, \"hasVisibleSeparator\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return CarouselPage;\r\n}(card_elements_1.Container));\r\nexports.CarouselPage = CarouselPage;\r\nvar Carousel = /** @class */ (function (_super) {\r\n __extends(Carousel, _super);\r\n function Carousel() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.carouselLoop = true;\r\n _this.carouselOrientation = Enums.Orientation.Horizontal;\r\n _this._pages = [];\r\n _this._currentIndex = 0;\r\n _this._previousEventType = Enums.CarouselInteractionEvent.Pagination;\r\n return _this;\r\n }\r\n //#region Schema\r\n Carousel.prototype.populateSchema = function (schema) {\r\n _super.prototype.populateSchema.call(this, schema);\r\n // `style`, `bleed`, `isVisible` are not supported in Carousel\r\n schema.remove(card_elements_1.Container.styleProperty);\r\n schema.remove(card_elements_1.Container.bleedProperty);\r\n schema.remove(card_elements_1.Container.isVisibleProperty);\r\n };\r\n Object.defineProperty(Carousel.prototype, \"timer\", {\r\n get: function () {\r\n var timer = this.getValue(Carousel.timerProperty);\r\n if (timer && timer < this.hostConfig.carousel.minAutoplayDelay) {\r\n console.warn(strings_1.Strings.errors.tooLittleTimeDelay);\r\n timer = this.hostConfig.carousel.minAutoplayDelay;\r\n }\r\n return timer;\r\n },\r\n set: function (value) {\r\n if (value && value < this.hostConfig.carousel.minAutoplayDelay) {\r\n console.warn(strings_1.Strings.errors.tooLittleTimeDelay);\r\n this.setValue(Carousel.timerProperty, this.hostConfig.carousel.minAutoplayDelay);\r\n }\r\n else {\r\n this.setValue(Carousel.timerProperty, value);\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Carousel.prototype, \"initialPageIndex\", {\r\n get: function () {\r\n return this.getValue(Carousel.initialPageProperty);\r\n },\r\n set: function (value) {\r\n if (this.isValidParsedPageIndex(value)) {\r\n this.setValue(Carousel.initialPageProperty, value);\r\n }\r\n else {\r\n console.warn(strings_1.Strings.errors.invalidInitialPageIndex(value));\r\n this.setValue(Carousel.initialPageProperty, 0);\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Carousel.prototype.isValidParsedPageIndex = function (index) {\r\n return this._pages ? this.isValidPageIndex(index, this._pages.length) : false;\r\n };\r\n Carousel.prototype.isValidRenderedPageIndex = function (index) {\r\n return this._renderedPages ? this.isValidPageIndex(index, this._renderedPages.length) : false;\r\n };\r\n Carousel.prototype.isValidPageIndex = function (index, collectionSize) {\r\n return (collectionSize > 0 && 0 <= index && index < collectionSize);\r\n };\r\n Object.defineProperty(Carousel.prototype, \"previousEventType\", {\r\n //#endregion\r\n get: function () {\r\n return this._previousEventType;\r\n },\r\n set: function (eventType) {\r\n this._previousEventType = eventType;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n // Question: Why do we place this on the Carousel instead of the CarouselPage?\r\n Carousel.prototype.forbiddenChildElements = function () {\r\n return __spreadArray([\r\n card_elements_1.ToggleVisibilityAction.JsonTypeName,\r\n card_elements_1.ShowCardAction.JsonTypeName,\r\n \"Media\",\r\n \"ActionSet\",\r\n \"Input.Text\",\r\n \"Input.Date\",\r\n \"Input.Time\",\r\n \"Input.Number\",\r\n \"Input.ChoiceSet\",\r\n \"Input.Toggle\"\r\n ], _super.prototype.forbiddenChildElements.call(this), true);\r\n };\r\n Carousel.prototype.adjustRenderedElementSize = function (renderedElement) {\r\n _super.prototype.adjustRenderedElementSize.call(this, renderedElement);\r\n if (this.height == \"stretch\" && this._containerForAdorners !== undefined) {\r\n this._containerForAdorners.style.height = \"100%\";\r\n }\r\n // Assign the explicit height to carouselPageContainer if given\r\n if (this.carouselHeight) {\r\n this._carouselPageContainer.style.height = this.carouselHeight + \"px\";\r\n }\r\n };\r\n Carousel.prototype.getJsonTypeName = function () {\r\n return \"Carousel\";\r\n };\r\n Carousel.prototype.getItemCount = function () {\r\n return this._pages.length;\r\n };\r\n Carousel.prototype.getItemAt = function (index) {\r\n return this._pages[index];\r\n };\r\n Carousel.prototype.addPage = function (page) {\r\n this._pages.push(page);\r\n page.setParent(this);\r\n };\r\n Carousel.prototype.removeItem = function (item) {\r\n if (item instanceof CarouselPage) {\r\n var itemIndex = this._pages.indexOf(item);\r\n if (itemIndex >= 0) {\r\n this._pages.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 Carousel.prototype.getFirstVisibleRenderedItem = function () {\r\n var _a;\r\n if (this.renderedElement && ((_a = this._renderedPages) === null || _a === void 0 ? void 0 : _a.length) > 0) {\r\n return this._renderedPages[0];\r\n }\r\n else {\r\n return undefined;\r\n }\r\n };\r\n Carousel.prototype.getLastVisibleRenderedItem = function () {\r\n var _a;\r\n if (this.renderedElement && ((_a = this._renderedPages) === null || _a === void 0 ? void 0 : _a.length) > 0) {\r\n return this._renderedPages[this._renderedPages.length - 1];\r\n }\r\n else {\r\n return undefined;\r\n }\r\n };\r\n Object.defineProperty(Carousel.prototype, \"currentPageId\", {\r\n get: function () {\r\n var _a, _b;\r\n if ((_b = (_a = this._carousel) === null || _a === void 0 ? void 0 : _a.slides) === null || _b === void 0 ? void 0 : _b.length) {\r\n var activeSlide = this._carousel.slides[this._carousel.activeIndex];\r\n return activeSlide.id;\r\n }\r\n return undefined;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Carousel.prototype, \"currentPageIndex\", {\r\n get: function () {\r\n var _a;\r\n return (_a = this._carousel) === null || _a === void 0 ? void 0 : _a.realIndex;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Carousel.prototype.internalParse = function (source, context) {\r\n _super.prototype.internalParse.call(this, source, context);\r\n this._pages = [];\r\n var jsonPages = source[\"pages\"];\r\n if (Array.isArray(jsonPages)) {\r\n for (var _i = 0, jsonPages_1 = jsonPages; _i < jsonPages_1.length; _i++) {\r\n var item = jsonPages_1[_i];\r\n var page = this.createCarouselPageInstance(item, context);\r\n if (page) {\r\n this._pages.push(page);\r\n }\r\n }\r\n }\r\n // everything is parsed do validate on initial page index\r\n this.validateParsing(context);\r\n };\r\n Carousel.prototype.validateParsing = function (context) {\r\n if (!this.isValidParsedPageIndex(this.initialPageIndex)) {\r\n context.logParseEvent(this, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.invalidInitialPageIndex(this.initialPageIndex));\r\n }\r\n };\r\n Carousel.prototype.internalToJSON = function (target, context) {\r\n _super.prototype.internalToJSON.call(this, target, context);\r\n context.serializeArray(target, \"pages\", this._pages);\r\n };\r\n Carousel.prototype.internalRender = function () {\r\n var _a;\r\n this._renderedPages = [];\r\n if (this._pages.length <= 0) {\r\n return undefined;\r\n }\r\n this.validateOrientationProperties();\r\n var cardLevelContainer = document.createElement(\"div\");\r\n cardLevelContainer.className = this.hostConfig.makeCssClassName(\"ac-carousel-card-level-container\");\r\n var carouselContainer = document.createElement(\"div\");\r\n carouselContainer.className = this.hostConfig.makeCssClassName(\"swiper\", \"ac-carousel\");\r\n this._carouselPageContainer = carouselContainer;\r\n var containerForAdorners = document.createElement(\"div\");\r\n containerForAdorners.className = this.hostConfig.makeCssClassName(\"ac-carousel-container\");\r\n this._containerForAdorners = containerForAdorners;\r\n cardLevelContainer.appendChild(containerForAdorners);\r\n var carouselWrapper = document.createElement(\"div\");\r\n carouselWrapper.className = this.hostConfig.makeCssClassName(\"swiper-wrapper\", \"ac-carousel-card-container\");\r\n carouselWrapper.style.display = \"flex\";\r\n switch (this.getEffectiveVerticalContentAlignment()) {\r\n case Enums.VerticalAlignment.Top:\r\n carouselWrapper.style.alignItems = \"flex-start\";\r\n break;\r\n case Enums.VerticalAlignment.Bottom:\r\n carouselWrapper.style.alignItems = \"flex-end\";\r\n break;\r\n default:\r\n carouselWrapper.style.alignItems = \"center\";\r\n break;\r\n }\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 carouselWrapper.style.minHeight = \"-webkit-min-content\";\r\n }\r\n var navigationContainer = document.createElement(\"div\");\r\n navigationContainer.className = this.hostConfig.makeCssClassName(\"ac-carousel-navigation\");\r\n var prevElementDiv = document.createElement(\"div\");\r\n prevElementDiv.className = this.hostConfig.makeCssClassName(\"swiper-button-prev\");\r\n var nextElementDiv = document.createElement(\"div\");\r\n nextElementDiv.className = this.hostConfig.makeCssClassName(\"swiper-button-next\");\r\n if (this.carouselOrientation === Enums.Orientation.Horizontal) {\r\n this.updateCssForHorizontalCarousel(prevElementDiv, nextElementDiv);\r\n }\r\n else {\r\n this.updateCssForVerticalCarousel(navigationContainer, prevElementDiv, nextElementDiv);\r\n }\r\n var pagination = document.createElement(\"div\");\r\n pagination.className = this.hostConfig.makeCssClassName(\"swiper-pagination\", \"ac-carousel-pagination\");\r\n navigationContainer.appendChild(prevElementDiv);\r\n Utils.addCancelSelectActionEventHandler(prevElementDiv);\r\n navigationContainer.appendChild(pagination);\r\n Utils.addCancelSelectActionEventHandler(pagination);\r\n navigationContainer.appendChild(nextElementDiv);\r\n Utils.addCancelSelectActionEventHandler(nextElementDiv);\r\n if (this.isDesignMode()) {\r\n // If we are in design mode, we need to ensure these elements are in front of the peers\r\n prevElementDiv.style.zIndex = \"20\";\r\n nextElementDiv.style.zIndex = \"20\";\r\n pagination.style.zIndex = \"20\";\r\n }\r\n var requestedNumberOfPages = Math.min(this._pages.length, this.hostConfig.carousel.maxCarouselPages);\r\n if (this._pages.length > this.hostConfig.carousel.maxCarouselPages) {\r\n console.warn(strings_1.Strings.errors.tooManyCarouselPages);\r\n }\r\n if (this._pages.length > 0) {\r\n for (var i = 0; i < requestedNumberOfPages; i++) {\r\n var page = this._pages[i];\r\n var renderedItem = this.isElementAllowed(page) ? page.render() : undefined;\r\n renderedItem === null || renderedItem === void 0 ? void 0 : renderedItem.classList.add(\"ac-carousel-page\");\r\n (_a = renderedItem === null || renderedItem === void 0 ? void 0 : renderedItem.children[0]) === null || _a === void 0 ? void 0 : _a.classList.add(\"ac-carousel-page-container\");\r\n if (renderedItem) {\r\n Utils.appendChild(carouselWrapper, renderedItem);\r\n this._renderedPages.push(page);\r\n }\r\n }\r\n }\r\n carouselContainer.appendChild(carouselWrapper);\r\n carouselContainer.tabIndex = this.isDesignMode() ? -1 : 0;\r\n containerForAdorners.appendChild(carouselContainer);\r\n containerForAdorners.appendChild(navigationContainer);\r\n // `isRtl()` will set the correct value of rtl by reading the value from the parents\r\n this.rtl = this.isRtl();\r\n this.applyRTL(pagination);\r\n if (!this.isDesignMode()) {\r\n if (this.isValidRenderedPageIndex(this.initialPageIndex)) {\r\n this._currentIndex = this.initialPageIndex;\r\n }\r\n else {\r\n console.warn(strings_1.Strings.errors.invalidInitialPageIndex(this.initialPageIndex));\r\n this._currentIndex = 0;\r\n }\r\n }\r\n this.initializeCarouselControl(carouselContainer, nextElementDiv, prevElementDiv, pagination, this.rtl);\r\n return this._renderedPages.length > 0 ? cardLevelContainer : undefined;\r\n };\r\n Carousel.prototype.applyRTL = function (pagination) {\r\n _super.prototype.applyRTL.call(this, this._carouselPageContainer);\r\n if (this.rtl) {\r\n pagination.classList.add(this.hostConfig.makeCssClassName(\"ac-carousel-pagination-rtl\"));\r\n }\r\n };\r\n Carousel.prototype.validateOrientationProperties = function () {\r\n if (!this.carouselHeight) {\r\n this.carouselOrientation = Enums.Orientation.Horizontal;\r\n }\r\n };\r\n Carousel.prototype.updateCssForHorizontalCarousel = function (prevElementDiv, nextElementDiv) {\r\n prevElementDiv.classList.add(this.hostConfig.makeCssClassName(\"ac-carousel-left\"));\r\n nextElementDiv.classList.add(this.hostConfig.makeCssClassName(\"ac-carousel-right\"));\r\n };\r\n Carousel.prototype.updateCssForVerticalCarousel = function (navigationContainer, prevElementDiv, nextElementDiv) {\r\n this._containerForAdorners.classList.add(this.hostConfig.makeCssClassName(\"ac-carousel-container-vertical\"));\r\n navigationContainer.classList.add(this.hostConfig.makeCssClassName(\"ac-carousel-navigation-vertical\"));\r\n prevElementDiv.classList.add(this.hostConfig.makeCssClassName(\"ac-carousel-up\"));\r\n nextElementDiv.classList.add(this.hostConfig.makeCssClassName(\"ac-carousel-down\"));\r\n };\r\n Carousel.prototype.initializeCarouselControl = function (carouselContainer, nextElement, prevElement, paginationElement, rtl) {\r\n var _this = this;\r\n var _a, _b, _c;\r\n var nextElementAdjustedForRtl = (rtl === undefined || !rtl ? nextElement : prevElement);\r\n var prevElementAdjustedForRtl = (rtl === undefined || !rtl ? prevElement : nextElement);\r\n var prevElementAdjustedForOrientation = (Enums.Orientation.Horizontal === this.carouselOrientation) ? prevElementAdjustedForRtl : prevElement;\r\n var nextElementAdjustedForOrientation = (Enums.Orientation.Horizontal === this.carouselOrientation) ? nextElementAdjustedForRtl : nextElement;\r\n var swiperOptions = {\r\n loop: !this.isDesignMode() && this.carouselLoop,\r\n modules: [swiper_1.Navigation, swiper_1.Pagination, swiper_1.Scrollbar, swiper_1.A11y, swiper_1.History, swiper_1.Keyboard],\r\n pagination: {\r\n el: paginationElement,\r\n clickable: true\r\n },\r\n navigation: {\r\n prevEl: prevElementAdjustedForOrientation,\r\n nextEl: nextElementAdjustedForOrientation\r\n },\r\n a11y: {\r\n enabled: true\r\n },\r\n keyboard: {\r\n enabled: false,\r\n onlyInViewport: true\r\n },\r\n direction: this.carouselOrientation === Enums.Orientation.Horizontal ? \"horizontal\" : \"vertical\",\r\n resizeObserver: false,\r\n initialSlide: this._currentIndex\r\n };\r\n if (this.timer && !this.isDesignMode()) {\r\n (_a = swiperOptions.modules) === null || _a === void 0 ? void 0 : _a.push(swiper_1.Autoplay);\r\n swiperOptions.autoplay = { delay: this.timer, pauseOnMouseEnter: true };\r\n }\r\n var carousel = new swiper_1.Swiper(carouselContainer, swiperOptions);\r\n // While the 'pauseOnMouseEnter' option should resume autoplay on\r\n // mouse exit it doesn't do it, so adding custom events to handle it\r\n carouselContainer.addEventListener(\"mouseenter\", function (_event) {\r\n var _a;\r\n (_a = carousel.autoplay) === null || _a === void 0 ? void 0 : _a.stop();\r\n });\r\n carouselContainer.addEventListener(\"mouseleave\", function (_event) {\r\n var _a;\r\n (_a = carousel.autoplay) === null || _a === void 0 ? void 0 : _a.start();\r\n });\r\n carousel.on('navigationNext', function (swiper) {\r\n _this.raiseCarouselEvent(Enums.CarouselInteractionEvent.NavigationNext);\r\n });\r\n carousel.on('navigationPrev', function (swiper) {\r\n _this.raiseCarouselEvent(Enums.CarouselInteractionEvent.NavigationPrevious);\r\n });\r\n carousel.on('slideChangeTransitionEnd', function (swiper) {\r\n _this.currentIndex = swiper.realIndex;\r\n _this.raiseCarouselEvent(Enums.CarouselInteractionEvent.Pagination);\r\n });\r\n carousel.on('autoplay', function () {\r\n _this.raiseCarouselEvent(Enums.CarouselInteractionEvent.Autoplay);\r\n });\r\n carousel.on('paginationRender', function (swiper, paginationEl) {\r\n swiper.pagination.bullets.forEach(function (bullet, index) {\r\n bullet.addEventListener(\"keypress\", function (event) {\r\n if (event.key == \"Enter\") {\r\n event.preventDefault();\r\n swiper.slideTo(index + 1);\r\n }\r\n });\r\n });\r\n });\r\n carousel.on('destroy', function () {\r\n _this.destroyResizeObserver();\r\n });\r\n prevElement.title = (_b = prevElement.ariaLabel) !== null && _b !== void 0 ? _b : strings_1.Strings.defaults.carouselNavigationPreviousTooltip();\r\n nextElement.title = (_c = nextElement.ariaLabel) !== null && _c !== void 0 ? _c : strings_1.Strings.defaults.carouselNavigationNextTooltip();\r\n this._carousel = carousel;\r\n this.createResizeObserver();\r\n };\r\n Carousel.prototype.createCarouselPageInstance = function (source, context) {\r\n return context.parseCardObject(this, source, this.forbiddenChildElements(), !this.isDesignMode(), function (typeName) {\r\n return !typeName || typeName === \"CarouselPage\" ? new CarouselPage() : undefined;\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 Carousel.prototype.slideTo = function (index) {\r\n var _a;\r\n (_a = this._carousel) === null || _a === void 0 ? void 0 : _a.slideTo(index);\r\n };\r\n Object.defineProperty(Carousel.prototype, \"carouselPageContainer\", {\r\n get: function () {\r\n return this._carouselPageContainer;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Carousel.prototype, \"currentIndex\", {\r\n get: function () {\r\n return this._currentIndex;\r\n },\r\n set: function (currentIndex) {\r\n this._currentIndex = currentIndex;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Carousel.prototype.createCarouselEvent = function (type) {\r\n var currentPageId;\r\n if (this.currentPageIndex != undefined) {\r\n currentPageId = this.getItemAt(this.currentPageIndex).id;\r\n }\r\n return new CarouselEvent(type, this.id, currentPageId, this.currentPageIndex);\r\n };\r\n Carousel.prototype.raiseCarouselEvent = function (eventType) {\r\n var card = this.parent ? this.parent.getRootElement() : undefined;\r\n var onCarouselEventHandler = card && card.onCarouselEvent\r\n ? card.onCarouselEvent\r\n : card_elements_1.AdaptiveCard.onCarouselEvent;\r\n // pagination event is triggered on slide transition end event \r\n if (onCarouselEventHandler && eventType == Enums.CarouselInteractionEvent.Pagination) {\r\n // returns the event type that causes slide transition\r\n onCarouselEventHandler(this.createCarouselEvent(this.previousEventType));\r\n }\r\n this.previousEventType = eventType;\r\n };\r\n /// Swiper version 8 added requestAnimationFrame() call in its resize observer code\r\n /// The new call causes flickering issue,\r\n /// We've copied resize observer code from Swiper version 7 with some modifications\r\n Carousel.prototype.createResizeObserver = function () {\r\n var _this = this;\r\n var _a;\r\n if (!this.checkIfCarouselInValidStateForResizeEvent()) {\r\n return;\r\n }\r\n this._observer = new ResizeObserver(function (entries) {\r\n var _a, _b, _c, _d;\r\n var width = (_a = _this._carousel) === null || _a === void 0 ? void 0 : _a.width;\r\n var height = (_b = _this._carousel) === null || _b === void 0 ? void 0 : _b.height;\r\n var newWidth = width;\r\n var newHeight = height;\r\n entries.forEach(function (_a) {\r\n var _b;\r\n var contentBoxSize = _a.contentBoxSize, contentRect = _a.contentRect, target = _a.target;\r\n if (target && target !== ((_b = _this._carousel) === null || _b === void 0 ? void 0 : _b.el)) {\r\n return;\r\n }\r\n newWidth = contentRect\r\n ? contentRect.width\r\n : (contentBoxSize[0] || contentBoxSize).inlineSize;\r\n newHeight = contentRect\r\n ? contentRect.height\r\n : (contentBoxSize[0] || contentBoxSize).blockSize;\r\n });\r\n if (newWidth !== width || newHeight !== height) {\r\n if (_this.checkIfCarouselInValidStateForResizeEvent()) {\r\n (_c = _this._carousel) === null || _c === void 0 ? void 0 : _c.emit('beforeResize');\r\n (_d = _this._carousel) === null || _d === void 0 ? void 0 : _d.emit('resize');\r\n }\r\n }\r\n });\r\n this._observer.observe((_a = this._carousel) === null || _a === void 0 ? void 0 : _a.el);\r\n };\r\n Carousel.prototype.destroyResizeObserver = function () {\r\n var _a;\r\n if (this._observer && this._observer.unobserve && ((_a = this._carousel) === null || _a === void 0 ? void 0 : _a.el)) {\r\n this._observer.unobserve(this._carousel.el);\r\n this._observer = null;\r\n }\r\n };\r\n ;\r\n Carousel.prototype.checkIfCarouselInValidStateForResizeEvent = function () {\r\n return this._carousel && !this._carousel.destroyed;\r\n };\r\n Carousel.timerProperty = new serialization_1.NumProperty(serialization_1.Versions.v1_6, \"timer\", undefined);\r\n Carousel.initialPageProperty = new serialization_1.NumProperty(serialization_1.Versions.v1_6, \"initialPage\", 0);\r\n Carousel.loopProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_6, \"loop\", true);\r\n Carousel.orientationProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_6, \"orientation\", Enums.Orientation, Enums.Orientation.Horizontal);\r\n Carousel.carouselHeightProperty = new serialization_1.PixelSizeProperty(serialization_1.Versions.v1_6, \"heightInPixels\");\r\n __decorate([\r\n (0, serialization_1.property)(Carousel.timerProperty)\r\n ], Carousel.prototype, \"timer\", null);\r\n __decorate([\r\n (0, serialization_1.property)(Carousel.initialPageProperty)\r\n ], Carousel.prototype, \"initialPageIndex\", null);\r\n __decorate([\r\n (0, serialization_1.property)(Carousel.loopProperty)\r\n ], Carousel.prototype, \"carouselLoop\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Carousel.orientationProperty)\r\n ], Carousel.prototype, \"carouselOrientation\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Carousel.carouselHeightProperty)\r\n ], Carousel.prototype, \"carouselHeight\", void 0);\r\n return Carousel;\r\n}(card_elements_1.Container));\r\nexports.Carousel = Carousel;\r\nvar CarouselEvent = /** @class */ (function () {\r\n function CarouselEvent(type, carouselId, activeCarouselPageId, activeCarouselPageIndex) {\r\n this.type = type;\r\n this.carouselId = carouselId;\r\n this.activeCarouselPageId = activeCarouselPageId;\r\n this.activeCarouselPageIndex = activeCarouselPageIndex;\r\n }\r\n return CarouselEvent;\r\n}());\r\nexports.CarouselEvent = CarouselEvent;\r\nregistry_1.GlobalRegistry.defaultElements.register(\"Carousel\", Carousel, serialization_1.Versions.v1_6);\r\n//# sourceMappingURL=carousel.js.map","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PreviewWarnings.vue?vue&type=style&index=0&id=5a11437d&prod&lang=scss&scoped=true\"","import { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabItem } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\nimport { VTabsItems } from 'vuetify/lib/components/VTabs';\n\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Layout',{staticStyle:{\"padding\":\"0 !important\",\"margin\":\"0 -15px\"}},[(!_vm.loading)?_c(VContainer,{class:{ 'embedded-container': _vm.embedded }},[_c(VRow,{staticClass:\"w-full\",attrs:{\"justify\":\"center\"}},[_c(VCol,{attrs:{\"cols\":_vm.$vuetify.breakpoint.xl ? '10' : '12'}},[_c(VTabs,{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.embedded),expression:\"!embedded\"}],attrs:{\"background-color\":\"transparent\"},model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},_vm._l((_vm.tabs),function(ref,index){\nvar title = ref.title;\nreturn _c(VTab,{key:index},[_vm._v(\" \"+_vm._s(title)+\" \")])}),1),_c(VTabsItems,{attrs:{\"id\":\"releases-tab-items\"},model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},_vm._l((_vm.tabs),function(ref,index){\nvar component = ref.component;\nreturn _c(VTabItem,{key:index},[_c(component,{tag:\"component\",attrs:{\"embedded\":_vm.embedded}})],1)}),1)],1)],1)],1):_c('Spinner',{staticClass:\"mt-12\",attrs:{\"size\":\"60\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabItem } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\nimport { VTabsItems } from 'vuetify/lib/components/VTabs';\n\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(VContainer,[_c('h1',[_vm._v(\"Roadmap\")]),_c(VTabs,{attrs:{\"background-color\":\"transparent\"},model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},_vm._l((_vm.tabs),function(group,index){return _c(VTab,{key:index},[_vm._v(\" \"+_vm._s(group)+\" \")])}),1),_c(VTabsItems,{attrs:{\"id\":\"releases-tab-items\"},model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},_vm._l((_vm.tabs),function(group,index){return _c(VTabItem,{key:index},[(_vm.groupItems.length)?_c('div',{staticClass:\"roadmap-group-items my-8 px-2\"},_vm._l((_vm.groupItems),function(wi){return _c('div',{key:wi.id,staticClass:\"sub-change\"},[_c('ProgressGraph',{attrs:{\"percentage-complete\":parseInt(wi.roadMapPercentComplete)}}),_c('div',{staticClass:\"status-title\"},[_vm._v(_vm._s(wi.roadMapTitle))]),_c('div',{staticClass:\"status-description\",domProps:{\"innerHTML\":_vm._s(wi.roadMapDescription)}}),_c('StatusItems',{attrs:{\"labels\":_vm.statuses,\"highlighted-item\":wi.roadMapStatus}})],1)}),0):_vm._e()])}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"status-items\"},_vm._l((_vm.labels),function(label,index){return _c('div',{key:index,class:{ active: label === _vm.highlightedItem }},[_vm._v(_vm._s(label))])}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusItems.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusItems.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./StatusItems.vue?vue&type=template&id=4b76696a&scoped=true\"\nimport script from \"./StatusItems.vue?vue&type=script&lang=js\"\nexport * from \"./StatusItems.vue?vue&type=script&lang=js\"\nimport style0 from \"./StatusItems.vue?vue&type=style&index=0&id=4b76696a&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4b76696a\",\n null\n \n)\n\nexport default component.exports","import { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\n\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"graph\"},[_c('div',{staticClass:\"progress-line\"},[_vm._v(_vm._s(_vm.percentageComplete)+\"%\")]),_c(VProgressLinear,{attrs:{\"color\":_vm.getProgressBarColorClass,\"value\":_vm.percentageComplete}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./progress-graph.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./progress-graph.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./progress-graph.vue?vue&type=template&id=967ac858&scoped=true\"\nimport script from \"./progress-graph.vue?vue&type=script&lang=js\"\nexport * from \"./progress-graph.vue?vue&type=script&lang=js\"\nimport style0 from \"./progress-graph.vue?vue&type=style&index=0&id=967ac858&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"967ac858\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Roadmap.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Roadmap.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Roadmap.vue?vue&type=template&id=1413e794&scoped=true\"\nimport script from \"./Roadmap.vue?vue&type=script&lang=js\"\nexport * from \"./Roadmap.vue?vue&type=script&lang=js\"\nimport style0 from \"./Roadmap.vue?vue&type=style&index=0&id=1413e794&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1413e794\",\n null\n \n)\n\nexport default component.exports","import { VChip } from 'vuetify/lib/components/VChip';\nimport { VChipGroup } from 'vuetify/lib/components/VChipGroup';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\n\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(VContainer,{class:{ 'embedded-container': _vm.embedded }},[(!_vm.embedded)?_c('div',{staticClass:\"d-flex\",class:{ 'flex-column': _vm.$vuetify.breakpoint.smAndDown }},[_c('h1',{staticClass:\"ml-2\"},[_vm._v(\"Releases\")]),_c('Search',{class:{ 'ml-4': _vm.$vuetify.breakpoint.mdAndUp },attrs:{\"placeholder\":\"Type a Release Id and hit enter\",\"emit\":\"getReleaseById\"},on:{\"getReleaseById\":_vm.getReleaseById}})],1):_vm._e(),(!_vm.loading)?_c('div',[(_vm.releases.length)?_c(VChipGroup,{staticClass:\"chip-group my-4\",attrs:{\"show-arrows\":\"\"},model:{value:(_vm.activeReleaseId),callback:function ($$v) {_vm.activeReleaseId=$$v},expression:\"activeReleaseId\"}},[_c('transition-group',{attrs:{\"name\":\"fade-left\"}},_vm._l((_vm.releases),function(ref){\nvar releaseId = ref.releaseId;\nvar dateCreated = ref.dateCreated;\nreturn _c(VChip,{key:releaseId,staticClass:\"release-chip text-center mr-4\",attrs:{\"label\":\"\",\"elevation\":24,\"filter\":\"\",\"value\":releaseId,\"color\":\"primary\",\"active-class\":\"active-chip\"}},[_vm._v(\" \"+_vm._s(_vm.formatDate(dateCreated))+\" \")])}),1)],1):_vm._e(),_c('transition',{attrs:{\"name\":\"fade-up\"}},[(_vm.activeRelease.id)?_c('ReleaseNotes',{attrs:{\"release\":_vm.activeRelease,\"embedded\":_vm.embedded}}):_vm._e()],1)],1):_c('Spinner',{staticClass:\"mt-12\",attrs:{\"size\":\"60\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { VCard } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\n\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(VRow,{staticClass:\"pa-2\",class:{ 'mt-8': !_vm.embedded },attrs:{\"justify\":\"center\"}},[_c(VCol,[_c(VCard,{staticClass:\"release-card\",attrs:{\"rounded\":\"\"}},[_c('div',{staticClass:\"release-bg\"},[_c('div',{staticClass:\"d-flex justify-end pa-6 release-header\"},[(_vm.release.dateCreated)?_c('p',{staticClass:\"font-weight-bold white--text\"},[_vm._v(_vm._s(_vm.release.releaseId))]):_vm._e()]),_c('div',{staticClass:\"d-flex justify-space-between px-6 pt-8\"},[_c('h1',{staticClass:\"mb-8\"},[_vm._v(\"Release Notes\")])])]),_c('div',{staticClass:\"release-content\"},_vm._l((_vm.release.releaseData.workItems),function(wi){return _c('div',{key:wi.Id,staticClass:\"d-flex pa-6\"},[_c('div',[_c(VTooltip,{attrs:{\"right\":\"\",\"color\":((_vm.workItemIcon(wi.workItemType).colour) + \" darken-2\"),\"content-class\":\"icon-tooltip\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c(VIcon,_vm._g(_vm._b({staticClass:\"type-icon\",attrs:{\"size\":\"32\",\"color\":_vm.workItemIcon(wi.workItemType).colour}},'v-icon',attrs,false),on),[_vm._v(\" \"+_vm._s(_vm.workItemIcon(wi.workItemType).icon)+\" \")])]}}],null,true)},[_c('span',[_vm._v(_vm._s(wi.workItemType))])])],1),_c('div',{staticClass:\"ml-4\"},[_c('h3',{staticClass:\"mb-2\"},[_vm._v(_vm._s(wi.releaseTitle))]),_c('p',{class:{ 'pr-16': _vm.$vuetify.breakpoint.lgAndUp }},[_vm._v(_vm._s(wi.releaseDescription))])])])}),0),_c('div',{staticClass:\"pr-section pa-6\"},[_c('p',{staticClass:\"mb-4 pr-section-title\"},[_c('span',[_c(VIcon,{staticClass:\"mb-1\",attrs:{\"color\":\"black\"}},[_vm._v(\"mdi-source-merge\")])],1),_vm._v(\" Pull Requests\")]),_vm._l((_vm.release.releaseData.pullRequests),function(pr){return _c('div',{key:pr.Id,staticClass:\"d-flex\"},[_c('p',{staticClass:\"mr-4 mb-0 mt-1 font-weight-bold\"},[_vm._v(\" \"+_vm._s(pr.id)+\" \")]),_c('div',[_c('p',{staticClass:\"mb-1 pr-item-title\"},[_vm._v(\" \"+_vm._s(pr.title)+\" \")]),_c('p',[_vm._v(_vm._s(pr.description))])])])})],2)])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReleaseNotesCard.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReleaseNotesCard.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ReleaseNotesCard.vue?vue&type=template&id=cce0d270&scoped=true\"\nimport script from \"./ReleaseNotesCard.vue?vue&type=script&lang=js\"\nexport * from \"./ReleaseNotesCard.vue?vue&type=script&lang=js\"\nimport style0 from \"./ReleaseNotesCard.vue?vue&type=style&index=0&id=cce0d270&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"cce0d270\",\n null\n \n)\n\nexport default component.exports","import { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\n\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"d-flex align-center rounded\"},[(_vm.$vuetify.breakpoint.mdAndUp)?_c(VTextField,{staticClass:\"search\",class:{\n 'collapsed-input': !_vm.expanded,\n 'expanded-input': _vm.expanded,\n },attrs:{\"clearable\":\"\",\"dense\":\"\",\"hide-details\":\"\",\"solo\":\"\",\"flat\":\"\",\"dark\":\"\",\"background-color\":_vm.expanded ? _vm.backgroundExpanded : _vm.backgroundCollapsed,\"placeholder\":_vm.expanded ? _vm.placeholder : ''},on:{\"click:clear\":function($event){_vm.expanded = false},\"blur\":function($event){_vm.expanded = false},\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.submit($event)}},scopedSlots:_vm._u([{key:\"prepend-inner\",fn:function(){return [_c(VIcon,{staticClass:\"cursor-pointer h-full\",attrs:{\"color\":_vm.expanded ? _vm.iconExpanded : _vm.iconCollapsed},on:{\"click\":function($event){_vm.expanded = !_vm.expanded}}},[_vm._v(\" \"+_vm._s(_vm.icon)+\" \")])]},proxy:true}],null,false,129612370),model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}}):_c(VTextField,{staticClass:\"search pl-2\",attrs:{\"clearable\":\"\",\"dense\":\"\",\"hide-details\":\"\",\"solo\":\"\",\"flat\":\"\",\"dark\":\"\",\"background-color\":_vm.backgroundCollapsed,\"placeholder\":_vm.placeholder},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.submit($event)}}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./expand-search.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./expand-search.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./expand-search.vue?vue&type=template&id=08ead245&scoped=true\"\nimport script from \"./expand-search.vue?vue&type=script&lang=js\"\nexport * from \"./expand-search.vue?vue&type=script&lang=js\"\nimport style0 from \"./expand-search.vue?vue&type=style&index=0&id=08ead245&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"08ead245\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./releases.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./releases.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./releases.vue?vue&type=template&id=4cc5b579&scoped=true\"\nimport script from \"./releases.vue?vue&type=script&lang=js\"\nexport * from \"./releases.vue?vue&type=script&lang=js\"\nimport style0 from \"./releases.vue?vue&type=style&index=0&id=4cc5b579&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4cc5b579\",\n null\n \n)\n\nexport default component.exports","import { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabItem } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\nimport { VTabsItems } from 'vuetify/lib/components/VTabs';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\n\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(VContainer,[_c('div',{staticClass:\"d-flex w-full align-center\"},[_c('h1',[_vm._v(\"Release Preview \")]),_c('transition',{attrs:{\"name\":\"fade-left\"}},[(_vm.previewSaved)?_c('div',{staticClass:\"saved-icon pa-2 ml-4\"},[_c(VIcon,{staticClass:\"white--text\",attrs:{\"background-color\":\"success\"}},[_vm._v(\"mdi-check\")])],1):_vm._e()])],1),_c(VContainer,{staticClass:\"mb-8 d-flex align-end\"},[_c(VTextField,{staticClass:\"preview-search\",attrs:{\"prepend-inner-icon\":\"mdi-magnify\",\"clearable\":\"\",\"placeholder\":\"Please enter a release ID\",\"hide-details\":\"\"},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getPreview($event)}},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}}),_c(VBtn,{staticClass:\"py-6 ml-4\",attrs:{\"depressed\":\"\",\"color\":\"primary\",\"large\":\"\",\"disabled\":_vm.isPreviewSaving || _vm.isPreviewLoading},on:{\"click\":_vm.getPreview}},[_vm._v(\"Get Preview\")]),(_vm.previewActions.some(function (item) { return item.condition; }))?_c(VMenu,{attrs:{\"offset-y\":\"\",\"open-on-hover\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c(VBtn,_vm._g(_vm._b({staticClass:\"pa-6 px-14 ml-4\",attrs:{\"color\":\"primary\",\"outlined\":\"\"}},'v-btn',attrs,false),on),[_vm._v(\" More \")])]}}],null,false,3191931389)},[_c(VList,{staticClass:\"pa-0\"},_vm._l((_vm.previewActions),function(item,index){return _c(VListItem,{key:index,staticClass:\"action-item py-2 px-4\",attrs:{\"disabled\":!item.condition},on:{\"click\":item.action}},[_c(VListItemTitle,[_vm._v(_vm._s(item.title))])],1)}),1)],1):_vm._e()],1),_c('transition',{attrs:{\"name\":\"fade-up\"}},[(_vm.preview.releaseId && !_vm.isPreviewLoading)?_c(VContainer,[(_vm.warnings.length)?_c('PreviewWarnings',{staticClass:\"mb-8\",attrs:{\"preview\":_vm.preview,\"warnings\":_vm.warnings},on:{\"update-work-item\":_vm.updateWorkItem}}):_vm._e(),_c(VTabs,{attrs:{\"background-color\":\"transparent\"},model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},_vm._l((_vm.tabItems),function(ref,index){\nvar title = ref.title;\nreturn _c(VTab,{key:index},[_vm._v(\" \"+_vm._s(title)+\" \")])}),1),(!_vm.isPreviewSaving)?_c(VTabsItems,{attrs:{\"id\":\"preview-tabs-items\"},model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},_vm._l((_vm.tabItems),function(ref,index){\nvar component = ref.component;\nreturn _c(VTabItem,{key:index},[_c(component,{tag:\"component\",attrs:{\"release\":_vm.preview}})],1)}),1):_c('Spinner',{attrs:{\"size\":\"40\"}})],1):_vm._e()],1),(_vm.isPreviewLoading)?_c('Spinner',{staticClass:\"mt-10\",attrs:{\"size\":\"60\"}}):_vm._e(),_c('Dialog',{ref:\"saveDialog\",attrs:{\"title\":\"Save with these warnings?\",\"action-title\":\"Save\",\"action\":_vm.savePreview,\"loading\":_vm.isPreviewSaving,\"action-subtitle\":\"* Saving will replace missing Release Titles with existing Titles\"},scopedSlots:_vm._u([{key:\"content\",fn:function(){return _vm._l((_vm.warnings),function(wi){return _c('p',{key:wi.Id,staticClass:\"text-center\"},[_c('span',{staticClass:\"mr-4\"},[(wi.releaseDescription === _vm.noDescription)?_c(VIcon,{attrs:{\"color\":\"error\",\"size\":\"32\"}},[_vm._v(\"mdi-alert-circle-outline\")]):_vm._e()],1),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(wi.id)+\" -\")]),(wi.releaseTitle === _vm.noTitle)?_c('span',{staticClass:\"mx-4\"},[_vm._v(\"No Release Title\")]):_vm._e(),(wi.releaseDescription === _vm.noDescription)?_c('span',{staticClass:\"mx-4 error--text\"},[_vm._v(\"No Release Description\")]):_vm._e()])})},proxy:true}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\n\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(VContainer,{staticClass:\"w-full\"},[_c('h1',[_vm._v(\"Adaptive Card \"),_c('span',[_c(VBtn,{staticClass:\"ml-2\",attrs:{\"loading\":_vm.loading,\"depressed\":\"\",\"color\":\"primary\"},on:{\"click\":_vm.loadAdaptiveCard}},[_c(VIcon,[_vm._v(\"mdi-autorenew\")])],1)],1)]),_c(VContainer,{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.loading),expression:\"!loading\"}]},[_c('div',{staticClass:\"h-full\",attrs:{\"id\":\"AdaptiveCard\"}})]),(_vm.loading)?_c('Spinner',{staticClass:\"mt-10\",attrs:{\"size\":\"40\"}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdaptiveCard.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdaptiveCard.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AdaptiveCard.vue?vue&type=template&id=3da6f01f\"\nimport script from \"./AdaptiveCard.vue?vue&type=script&lang=js\"\nexport * from \"./AdaptiveCard.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VChipGroup } from 'vuetify/lib/components/VChipGroup';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\n\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"warnings-grid\"},[_vm._l((_vm.warnings),function(wi){return _c(VCard,{key:wi.id,staticClass:\"pa-4 mb-2 warnings d-flex flex-column justify-space-between position-relative\",on:{\"mouseover\":function () { return (_vm.overlay = wi.id); },\"mouseleave\":function () { return (_vm.overlay = ''); }}},[_c('transition',{attrs:{\"name\":\"fade-in\"}},[(_vm.overlay === wi.id)?_c('div',{staticClass:\"warning-overlay d-flex justify-center align-center\"},_vm._l((_vm.overlayActions),function(ref,index){\nvar title = ref.title;\nvar bgColour = ref.bgColour;\nvar iconColour = ref.iconColour;\nvar icon = ref.icon;\nvar action = ref.action;\nreturn _c(VBtn,{key:title,staticClass:\"pa-2 mr-4 text-body-1 flex justify-center items-center hover\",attrs:{\"color\":bgColour,\"depressed\":\"\",\"outlined\":index === 1,\"text\":index > 1},on:{\"click\":function($event){return action(wi)}}},[(icon.length)?_c(VIcon,{staticClass:\"mr-2\",attrs:{\"medium\":\"\",\"color\":iconColour}},[_vm._v(_vm._s(icon))]):_vm._e(),_vm._v(\" \"+_vm._s(title)+\" \")],1)}),1):_vm._e()]),_c('div',[_c('p',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(wi.id)+\" - \"+_vm._s(wi.author))]),_c('p',{staticClass:\"mt-4 mr-4\"},[_vm._v(_vm._s(wi.title))])]),_c(VChipGroup,{attrs:{\"column\":\"\"}},[(wi.releaseDescription === _vm.noDescription)?_c(VChip,{key:\"0\",staticClass:\"warning-chip\"},[_c('span',{staticClass:\"mr-2\"},[_c(VIcon,{attrs:{\"color\":\"rgb(201, 120, 0)\"}},[_vm._v(\"mdi-alert-circle-outline\")])],1),_vm._v(\" Release Description\")]):_vm._e(),(wi.releaseTitle === _vm.noTitle)?_c(VChip,{key:\"1\",staticClass:\"warning-chip\"},[_c('span',{staticClass:\"mr-2\"},[_c(VIcon,{attrs:{\"color\":\"rgb(201, 120, 0)\"}},[_vm._v(\"mdi-alert-circle-outline\")])],1),_vm._v(\" Release Title\")]):_vm._e()],1)],1)}),_c('Dialog',{ref:\"resolveDialog\",attrs:{\"title\":\"Resolve Work Item\",\"action-title\":\"Resolve\",\"action\":_vm.resolveWorkItem},scopedSlots:_vm._u([{key:\"content\",fn:function(){return [(_vm.resolving.id)?_c('div',[_c('p',{staticClass:\"mb-8 text-h6 text-center work-item-link\",on:{\"click\":function($event){return _vm.goToWorkItem(_vm.resolving.id)}}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(_vm.resolving.id)+\" - \")]),_vm._v(_vm._s(_vm.resolving.title))]),_c('div',{staticClass:\"mb-4\"},[_c('p',{staticClass:\"font-weight-bold mb-1\"},[_vm._v(\"Release Title\")]),_c(VTextField,{model:{value:(_vm.resolving.releaseTitle),callback:function ($$v) {_vm.$set(_vm.resolving, \"releaseTitle\", $$v)},expression:\"resolving.releaseTitle\"}})],1),_c('div',{staticClass:\"mb-4\"},[_c('p',{staticClass:\"font-weight-bold\"},[_vm._v(\"Release Description\")]),_c(VTextarea,{attrs:{\"outlined\":\"\"},model:{value:(_vm.resolving.releaseDescription),callback:function ($$v) {_vm.$set(_vm.resolving, \"releaseDescription\", $$v)},expression:\"resolving.releaseDescription\"}})],1)]):_vm._e()]},proxy:true}])})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\n\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(VDialog,{attrs:{\"width\":\"600\"},model:{value:(_vm.show),callback:function ($$v) {_vm.show=$$v},expression:\"show\"}},[_c(VCard,{staticClass:\"pa-4\"},[_c('p',{staticClass:\"text-h5 font-weight-bold text-center mb-8\"},[_vm._v(\" \"+_vm._s(_vm.title)+\" \")]),(!_vm.loading)?_vm._t(\"content\"):_c('Spinner',{staticClass:\"h-full\",attrs:{\"size\":\"60\"}}),(_vm.actionSubtitle.length)?_c('p',{staticClass:\"subtitle-2 grey--text lighten-1 mt-8 mb-2 text-center\"},[_vm._v(_vm._s(_vm.actionSubtitle))]):_vm._e(),_c(VCardActions,{staticClass:\"d-flex justify-space-around\"},[_c(VBtn,{staticClass:\"text-button py-6 px-8\",attrs:{\"text\":\"\"},on:{\"click\":_vm.close}},[_vm._v(\" Back \")]),_c(VBtn,{staticClass:\"py-6 px-8 text-button\",attrs:{\"color\":\"primary\",\"depressed\":\"\"},on:{\"click\":_vm.action}},[_vm._v(\" \"+_vm._s(_vm.actionTitle)+\" \")])],1)],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./dialog.vue?vue&type=template&id=50aacafe\"\nimport script from \"./dialog.vue?vue&type=script&lang=js\"\nexport * from \"./dialog.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PreviewWarnings.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PreviewWarnings.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PreviewWarnings.vue?vue&type=template&id=5a11437d&scoped=true\"\nimport script from \"./PreviewWarnings.vue?vue&type=script&lang=js\"\nexport * from \"./PreviewWarnings.vue?vue&type=script&lang=js\"\nimport style0 from \"./PreviewWarnings.vue?vue&type=style&index=0&id=5a11437d&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5a11437d\",\n null\n \n)\n\nexport default component.exports","import { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\n\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"d-flex my-4\"},[_vm._l((_vm.actions),function(ref,index){\nvar text = ref.text;\nvar icon = ref.icon;\nvar action = ref.action;\nreturn _c(VBtn,{key:index,staticClass:\"mr-4\",attrs:{\"depressed\":\"\",\"color\":\"primary darken-1\"},on:{\"click\":action}},[_c(VIcon,{staticClass:\"mr-2\",attrs:{\"color\":\"white\"}},[_vm._v(_vm._s(icon))]),_vm._v(\" \"+_vm._s(text))],1)}),_c('transition',{attrs:{\"name\":\"fade-down\"}},[(_vm.isSuccessful)?_c('div',{staticClass:\"saved-icon pa-1\"},[_c(VIcon,{staticClass:\"white--text\",attrs:{\"size\":\"24\",\"background-color\":\"success\"}},[_vm._v(\"mdi-check\")])],1):_vm._e()])],2),_c(VTextarea,{staticClass:\"json-text-area\",attrs:{\"solo\":\"\",\"flat\":\"\",\"no-resize\":\"\",\"height\":\"1000\",\"background-color\":\"#333\",\"spellcheck\":false,\"color\":\"#fff\"},model:{value:(_vm.json),callback:function ($$v) {_vm.json=$$v},expression:\"json\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JsonEditor.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JsonEditor.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./JsonEditor.vue?vue&type=template&id=e6457d92&lang=true\"\nimport script from \"./JsonEditor.vue?vue&type=script&lang=js\"\nexport * from \"./JsonEditor.vue?vue&type=script&lang=js\"\nimport style0 from \"./JsonEditor.vue?vue&type=style&index=0&id=e6457d92&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./release-preview.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./release-preview.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./release-preview.vue?vue&type=template&id=ea78718e&scoped=true\"\nimport script from \"./release-preview.vue?vue&type=script&lang=js\"\nexport * from \"./release-preview.vue?vue&type=script&lang=js\"\nimport style0 from \"./release-preview.vue?vue&type=style&index=0&id=ea78718e&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ea78718e\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./releases.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./releases.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./releases.vue?vue&type=template&id=71747ace\"\nimport script from \"./releases.vue?vue&type=script&lang=js\"\nexport * from \"./releases.vue?vue&type=script&lang=js\"\nimport style0 from \"./releases.vue?vue&type=style&index=0&id=71747ace&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\"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\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\r\nvar Versions = /** @class */ (function () {\r\n function Versions() {\r\n }\r\n // If preview tag is added/removed from any version,\r\n // don't forget to update .ac-schema-version-1-?::after too in adaptivecards-site\\themes\\adaptivecards\\source\\css\\style.css\r\n /* eslint-enable @typescript-eslint/naming-convention */\r\n Versions.getAllDeclaredVersions = function () {\r\n var ctor = Versions;\r\n var properties = [];\r\n for (var propertyName in ctor) {\r\n if (propertyName.match(/^v[0-9_]*$/)) {\r\n // filter latest\r\n try {\r\n var propertyValue = ctor[propertyName];\r\n if (propertyValue instanceof Version) {\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 }\r\n return properties.sort(function (v1, v2) { return v1.compareTo(v2); });\r\n };\r\n /* eslint-disable @typescript-eslint/naming-convention */\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.v1_6 = new Version(1, 6);\r\n Versions.latest = Versions.v1_6;\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._validationEvents = [];\r\n this.targetVersion = targetVersion;\r\n }\r\n BaseSerializationContext.prototype.isTemplateString = function (value) {\r\n if (typeof value === \"string\") {\r\n return value.startsWith(\"${\");\r\n }\r\n else {\r\n return false;\r\n }\r\n };\r\n BaseSerializationContext.prototype.tryDeleteValue = function (target, propertyName) {\r\n if (!shared_1.GlobalSettings.enableFullJsonRoundTrip) {\r\n delete target[propertyName];\r\n }\r\n };\r\n BaseSerializationContext.prototype.tryDeleteDefaultValue = function (target, propertyName) {\r\n if (!shared_1.GlobalSettings.enableFullJsonRoundTrip || !this.isTemplateString(target[propertyName])) {\r\n delete target[propertyName];\r\n }\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 ||\r\n propertyValue === undefined) {\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 if (!shared_1.GlobalSettings.enableFullJsonRoundTrip || forceDeleteIfNullOrDefault || !this.isTemplateString(target[propertyName])) {\r\n delete target[propertyName];\r\n }\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 ||\r\n propertyValue === undefined) {\r\n this.tryDeleteValue(target, propertyName);\r\n }\r\n else if (propertyValue === defaultValue) {\r\n this.tryDeleteDefaultValue(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 ||\r\n propertyValue === undefined) {\r\n this.tryDeleteValue(target, propertyName);\r\n }\r\n else if (propertyValue === defaultValue) {\r\n this.tryDeleteDefaultValue(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 ||\r\n propertyValue === undefined ||\r\n isNaN(propertyValue)) {\r\n this.tryDeleteValue(target, propertyName);\r\n }\r\n else if (propertyValue === defaultValue) {\r\n this.tryDeleteDefaultValue(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 ||\r\n propertyValue === undefined) {\r\n this.tryDeleteValue(target, propertyName);\r\n }\r\n else if (propertyValue === defaultValue) {\r\n this.tryDeleteDefaultValue(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], this.name));\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 \\\"\".concat(JSON.stringify(value), \"\\\" of type \\\"\").concat(typeof value, \"\\\" ignored for \\\"\").concat(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\r\n ? versionedValue.targetVersion\r\n : 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\r\n ? versionedValue.targetVersion\r\n : 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\r\n ? versionedValue.targetVersion\r\n : 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 // eslint-disable-next-line guard-for-in\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\r\n ? versionedValue.targetVersion\r\n : 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\r\n ? versionedValue.targetVersion\r\n : 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) {\r\n return _this.nullable ? undefined : new _this.objectType();\r\n }) || 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) {\r\n return [];\r\n }) || 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\r\n ? result\r\n : this.onGetInitialValue\r\n ? this.onGetInitialValue(sender)\r\n : 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 (prop) {\r\n for (var i = 0; i < this._properties.length; i++) {\r\n if (this._properties[i] === prop) {\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 _a = 0, properties_1 = properties; _a < properties_1.length; _a++) {\r\n var prop = properties_1[_a];\r\n if (this.indexOf(prop) === -1) {\r\n this._properties.push(prop);\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_2 = properties; _a < properties_2.length; _a++) {\r\n var prop = properties_2[_a];\r\n while (true) {\r\n var index = this.indexOf(prop);\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(prop) {\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 () {\r\n return this.getValue(prop);\r\n };\r\n descriptor.set = function (value) {\r\n this.setValue(prop, value);\r\n };\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 prop = s.getItemAt(i);\r\n if (prop.onGetInitialValue) {\r\n this.setValue(prop, prop.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 // eslint-disable-next-line guard-for-in\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 (prop) {\r\n return this._propertyBag.hasOwnProperty(prop.getInternalName())\r\n ? this._propertyBag[prop.getInternalName()]\r\n : prop.defaultValue;\r\n };\r\n SerializableObject.prototype.setValue = function (prop, value) {\r\n if (value === undefined || value === null) {\r\n delete this._propertyBag[prop.getInternalName()];\r\n }\r\n else {\r\n this._propertyBag[prop.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 prop = s.getItemAt(i);\r\n if (prop.isSerializationEnabled) {\r\n var propertyValue = prop.onGetInitialValue\r\n ? prop.onGetInitialValue(this)\r\n : undefined;\r\n if (source.hasOwnProperty(prop.name)) {\r\n if (prop.targetVersion.compareTo(context.targetVersion) <= 0) {\r\n propertyValue = prop.parse(this, source, context);\r\n }\r\n else {\r\n context.logParseEvent(this, Enums.ValidationEvent.UnsupportedProperty, strings_1.Strings.errors.propertyNotSupported(prop.name, prop.targetVersion.toString(), context.targetVersion.toString()));\r\n }\r\n }\r\n this.setValue(prop, 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 prop = 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 (prop.isSerializationEnabled &&\r\n prop.targetVersion.compareTo(context.targetVersion) <= 0 &&\r\n serializedProperties.indexOf(prop.name) === -1) {\r\n prop.toJSON(this, target, this.getValue(prop), context);\r\n serializedProperties.push(prop.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 &&\r\n this._rawProperties &&\r\n 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 (prop) {\r\n return this.getValue(prop) === prop.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 prop = s.getItemAt(i);\r\n if (!this.hasDefaultValue(prop)) {\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 prop = s.getItemAt(i);\r\n this.setValue(prop, prop.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","import $date from '@/services/date'\n\nexport default function formatDate(date, format = 'll') {\n return $date(date).format(format)\n}\n","// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Routable from '../../mixins/routable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { getSlot, keyCodes } from './../../util/helpers'\nimport mixins from '../../util/mixins'\nimport { ExtractVue } from './../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\n// Components\nimport VTabsBar from '../VTabs/VTabsBar'\n\nconst baseMixins = mixins(\n Routable,\n // Must be after routable\n // to overwrite activeClass\n GroupableFactory('tabsBar'),\n Themeable\n)\n\ntype VTabBarInstance = InstanceType\n\ninterface options extends ExtractVue {\n $el: HTMLElement\n tabsBar: VTabBarInstance\n}\n\nexport default baseMixins.extend().extend(\n /* @vue/component */\n).extend({\n name: 'v-tab',\n\n props: {\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n tabValue: {\n required: false,\n },\n },\n\n data: () => ({\n proxyClass: 'v-tab--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-tab': true,\n ...Routable.options.computed.classes.call(this),\n 'v-tab--disabled': this.disabled,\n ...this.groupClasses,\n }\n },\n value (): any {\n if (this.tabValue != null) return this.tabValue\n\n let to = this.to || this.href\n\n if (to == null) return to\n\n if (this.$router &&\n this.to === Object(this.to)\n ) {\n const resolve = this.$router.resolve(\n this.to,\n this.$route,\n this.append\n )\n\n to = resolve.href\n }\n\n return to.replace('#', '')\n },\n },\n\n methods: {\n click (e: KeyboardEvent | MouseEvent): void {\n // Prevent keyboard actions\n // from children elements\n // within disabled tabs\n if (this.disabled) {\n e.preventDefault()\n return\n }\n\n // If user provides an\n // actual link, do not\n // prevent default\n if (this.href &&\n this.href.indexOf('#') > -1\n ) e.preventDefault()\n\n if (e.detail) this.$el.blur()\n\n this.$emit('click', e)\n\n this.to || this.toggle()\n },\n toggle () {\n // VItemGroup treats a change event as a click\n if (!this.isActive || (!this.tabsBar.mandatory && !this.to)) {\n this.$emit('change')\n }\n },\n },\n\n render (h): VNode {\n const { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n 'aria-selected': String(this.isActive),\n role: 'tab',\n tabindex: this.disabled ? -1 : 0,\n }\n data.on = {\n ...data.on,\n keydown: (e: KeyboardEvent) => {\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n },\n }\n\n return h(tag, data, getSlot(this))\n },\n})\n","\"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 // eslint-disable-next-line guard-for-in\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 === null || version === void 0 ? void 0 : 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 // eslint-disable-next-line guard-for-in\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.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 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, {\r\n day: \"numeric\",\r\n weekday: format,\r\n month: format,\r\n year: \"numeric\"\r\n });\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\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.ActionRole = exports.CarouselInteractionEvent = exports.LogLevel = exports.RefreshMode = exports.TypeErrorType = exports.ContainerFitStatus = exports.ValidationEvent = exports.ValidationPhase = exports.InputLabelPosition = 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.InputStyle = exports.TextSize = exports.SizeUnit = exports.ImageSetPresentationStyle = exports.ImageSize = exports.Size = exports.ActionMode = exports.ActionStyle = exports.ContainerStyle = void 0;\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\n/* eslint-disable @typescript-eslint/no-extraneous-class, @typescript-eslint/naming-convention */\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 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\n/* eslint-enable @typescript-eslint/no-extraneous-class, @typescript-eslint/naming-convention */\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 ImageSetPresentationStyle;\r\n(function (ImageSetPresentationStyle) {\r\n ImageSetPresentationStyle[ImageSetPresentationStyle[\"Default\"] = 0] = \"Default\";\r\n ImageSetPresentationStyle[ImageSetPresentationStyle[\"Stacked\"] = 1] = \"Stacked\";\r\n})(ImageSetPresentationStyle = exports.ImageSetPresentationStyle || (exports.ImageSetPresentationStyle = {}));\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 InputStyle;\r\n(function (InputStyle) {\r\n InputStyle[InputStyle[\"RevealOnHover\"] = 0] = \"RevealOnHover\";\r\n InputStyle[InputStyle[\"Default\"] = 1] = \"Default\";\r\n})(InputStyle = exports.InputStyle || (exports.InputStyle = {}));\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\nvar InputLabelPosition;\r\n(function (InputLabelPosition) {\r\n InputLabelPosition[InputLabelPosition[\"Inline\"] = 0] = \"Inline\";\r\n InputLabelPosition[InputLabelPosition[\"Above\"] = 1] = \"Above\";\r\n})(InputLabelPosition = exports.InputLabelPosition || (exports.InputLabelPosition = {}));\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\nvar CarouselInteractionEvent;\r\n(function (CarouselInteractionEvent) {\r\n CarouselInteractionEvent[CarouselInteractionEvent[\"NavigationNext\"] = 0] = \"NavigationNext\";\r\n CarouselInteractionEvent[CarouselInteractionEvent[\"NavigationPrevious\"] = 1] = \"NavigationPrevious\";\r\n CarouselInteractionEvent[CarouselInteractionEvent[\"Pagination\"] = 2] = \"Pagination\";\r\n CarouselInteractionEvent[CarouselInteractionEvent[\"Autoplay\"] = 3] = \"Autoplay\";\r\n})(CarouselInteractionEvent = exports.CarouselInteractionEvent || (exports.CarouselInteractionEvent = {}));\r\nvar ActionRole;\r\n(function (ActionRole) {\r\n ActionRole[ActionRole[\"Button\"] = 0] = \"Button\";\r\n ActionRole[ActionRole[\"Link\"] = 1] = \"Link\";\r\n ActionRole[ActionRole[\"Tab\"] = 2] = \"Tab\";\r\n ActionRole[ActionRole[\"Menu\"] = 3] = \"Menu\";\r\n ActionRole[ActionRole[\"MenuItem\"] = 4] = \"MenuItem\";\r\n})(ActionRole = exports.ActionRole || (exports.ActionRole = {}));\r\n//# sourceMappingURL=enums.js.map","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./expand-search.vue?vue&type=style&index=0&id=08ead245&prod&scoped=true&lang=css\"","\"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 !== null && _super.apply(this, arguments) || 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 == 0) {\r\n renderedItem.setAttribute(\"aria-expanded\", \"true\");\r\n }\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 this.removeAriaExpanded(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 this.removeAriaExpanded(selectedItemIndex);\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 // remove aria-expanded attribute from menu item\r\n PopupMenu.prototype.removeAriaExpanded = function (index) {\r\n if (this._renderedItems[index].getAttribute(\"aria-expanded\") === \"true\") {\r\n this._renderedItems[index].removeAttribute(\"aria-expanded\");\r\n }\r\n };\r\n return PopupMenu;\r\n}(popup_control_1.PopupControl));\r\nexports.PopupMenu = PopupMenu;\r\n//# sourceMappingURL=popup-menu.js.map","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JsonEditor.vue?vue&type=style&index=0&id=e6457d92&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./progress-graph.vue?vue&type=style&index=0&id=967ac858&prod&scoped=true&lang=css\"","\"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\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\r\nvar Strings = /** @class */ (function () {\r\n function Strings() {\r\n }\r\n Strings.errors = {\r\n unknownElementType: function (typeName) {\r\n return \"Unknown element type \\\"\".concat(typeName, \"\\\". Fallback will be used if present.\");\r\n },\r\n unknownActionType: function (typeName) {\r\n return \"Unknown action type \\\"\".concat(typeName, \"\\\". Fallback will be used if present.\");\r\n },\r\n elementTypeNotAllowed: function (typeName) {\r\n return \"Element type \\\"\".concat(typeName, \"\\\" is not allowed in this context.\");\r\n },\r\n actionTypeNotAllowed: function (typeName) {\r\n return \"Action type \\\"\".concat(typeName, \"\\\" is not allowed in this context.\");\r\n },\r\n invalidPropertyValue: function (value, propertyName) {\r\n return \"Invalid value \\\"\".concat(value, \"\\\" for property \\\"\").concat(propertyName, \"\\\".\");\r\n },\r\n showCardMustHaveCard: function () {\r\n return \"\\\"An Action.ShowCard must have its \\\"card\\\" property set to a valid AdaptiveCard object.\";\r\n },\r\n invalidColumnWidth: function (invalidWidth) {\r\n return \"Invalid column width \\\"\".concat(invalidWidth, \"\\\" - defaulting to \\\"auto\\\".\");\r\n },\r\n invalidCardVersion: function (defaultingToVersion) {\r\n return \"Invalid card version. Defaulting to \\\"\".concat(defaultingToVersion, \"\\\".\");\r\n },\r\n invalidVersionString: function (versionString) {\r\n return \"Invalid version string \\\"\".concat(versionString, \"\\\".\");\r\n },\r\n propertyValueNotSupported: function (value, propertyName, supportedInVersion, versionUsed) {\r\n return \"Value \\\"\".concat(value, \"\\\" for property \\\"\").concat(propertyName, \"\\\" is supported in version \").concat(supportedInVersion, \", but you are using version \").concat(versionUsed, \".\");\r\n },\r\n propertyNotSupported: function (propertyName, supportedInVersion, versionUsed) {\r\n return \"Property \\\"\".concat(propertyName, \"\\\" is supported in version \").concat(supportedInVersion, \", but you are using version \").concat(versionUsed, \".\");\r\n },\r\n indexOutOfRange: function (index) { return \"Index out of range (\".concat(index, \").\"); },\r\n elementCannotBeUsedAsInline: function () {\r\n return \"RichTextBlock.addInline: the specified card element cannot be used as a RichTextBlock inline.\";\r\n },\r\n inlineAlreadyParented: function () {\r\n return \"RichTextBlock.addInline: the specified inline already belongs to another RichTextBlock.\";\r\n },\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 () {\r\n return \"An Input.ChoiceSet must have at least one choice defined.\";\r\n },\r\n choiceSetChoicesMustHaveTitleAndValue: function () {\r\n return \"All choices in an Input.ChoiceSet must have their title and value properties set.\";\r\n },\r\n propertyMustBeSet: function (propertyName) { return \"Property \\\"\".concat(propertyName, \"\\\" must be set.\"); },\r\n actionHttpHeadersMustHaveNameAndValue: function () {\r\n return \"All headers of an Action.Http must have their name and value properties set.\";\r\n },\r\n tooManyActions: function (maximumActions) {\r\n return \"Maximum number of actions exceeded (\".concat(maximumActions, \").\");\r\n },\r\n tooLittleTimeDelay: function (minAutoplayDelay) {\r\n return \"Autoplay Delay is too short (\".concat(minAutoplayDelay, \").\");\r\n },\r\n tooManyCarouselPages: function (maxCarouselPages) {\r\n return \"Maximum number of Carousel pages exceeded (\".concat(maxCarouselPages, \").\");\r\n },\r\n invalidInitialPageIndex: function (initialPageIndex) {\r\n return \"InitialPage for carousel is invalid (\".concat(initialPageIndex, \").\");\r\n },\r\n columnAlreadyBelongsToAnotherSet: function () { return \"This column already belongs to another ColumnSet.\"; },\r\n invalidCardType: function () {\r\n return \"Invalid or missing card type. Make sure the card's type property is set to \\\"AdaptiveCard\\\".\";\r\n },\r\n unsupportedCardVersion: function (version, maxSupportedVersion) {\r\n return \"The specified card version (\".concat(version, \") is not supported or still in preview. The latest released card version is \").concat(maxSupportedVersion, \".\");\r\n },\r\n duplicateId: function (id) { return \"Duplicate Id \\\"\".concat(id, \"\\\".\"); },\r\n markdownProcessingNotEnabled: function () {\r\n return \"Markdown processing isn't enabled. Please see https://www.npmjs.com/package/adaptivecards#supporting-markdown\";\r\n },\r\n processMarkdownEventRemoved: function () {\r\n return \"The processMarkdown event has been removed. Please update your code and set onProcessMarkdown instead.\";\r\n },\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) {\r\n return \"Elements of type \".concat(typeName, \" cannot be used as standalone elements.\");\r\n },\r\n invalidInputLabelWidth: function () {\r\n return \"Invalid input label width. Defaulting to label width from host config.\";\r\n },\r\n };\r\n Strings.magicCodeInputCard = {\r\n tryAgain: function () { return \"That didn't work... let's try again.\"; },\r\n pleaseLogin: function () {\r\n return 'Please login in the popup. You will obtain a magic code. Paste that code below and select \"Submit\"';\r\n },\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 () {\r\n 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 };\r\n Strings.defaults = {\r\n inlineActionTitle: function () { return \"Inline Action\"; },\r\n overflowButtonText: function () { return \"...\"; },\r\n overflowButtonTooltip: function () { return \"More options\"; },\r\n emptyElementText: function (elementType) { return \"Empty \".concat(elementType); },\r\n mediaPlayerAriaLabel: function () { return \"Media content\"; },\r\n mediaPlayerPlayMedia: function () { return \"Play media\"; },\r\n youTubeVideoPlayer: function () { return \"YouTube video player\"; },\r\n vimeoVideoPlayer: function () { return \"Vimeo video player\"; },\r\n dailymotionVideoPlayer: function () { return \"Dailymotion video player\"; },\r\n carouselNavigationPreviousTooltip: function () { return \"Previous carousel page\"; },\r\n carouselNavigationNextTooltip: function () { return \"Next carousel page\"; }\r\n };\r\n return Strings;\r\n}());\r\nexports.Strings = Strings;\r\n//# sourceMappingURL=strings.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\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\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.removePaddingFromContainersWithBackgroundImage = false;\r\n GlobalSettings.resetInputsDirtyStateAfterActionExecution = true;\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 if (this._original) {\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 };\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 && this._processed) {\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\n/* eslint-disable @typescript-eslint/no-extraneous-class, @typescript-eslint/naming-convention, no-bitwise */\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] +\r\n UUID.lut[(d0 >> 8) & 0xff] +\r\n UUID.lut[(d0 >> 16) & 0xff] +\r\n UUID.lut[(d0 >> 24) & 0xff] +\r\n \"-\" +\r\n UUID.lut[d1 & 0xff] +\r\n UUID.lut[(d1 >> 8) & 0xff] +\r\n \"-\" +\r\n UUID.lut[((d1 >> 16) & 0x0f) | 0x40] +\r\n UUID.lut[(d1 >> 24) & 0xff] +\r\n \"-\" +\r\n UUID.lut[(d2 & 0x3f) | 0x80] +\r\n UUID.lut[(d2 >> 8) & 0xff] +\r\n \"-\" +\r\n UUID.lut[(d2 >> 16) & 0xff] +\r\n UUID.lut[(d2 >> 24) & 0xff] +\r\n UUID.lut[d3 & 0xff] +\r\n UUID.lut[(d3 >> 8) & 0xff] +\r\n UUID.lut[(d3 >> 16) & 0xff] +\r\n 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/* eslint-enable @typescript-eslint/no-extraneous-class, @typescript-eslint/naming-convention, no-bitwise */\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.Constants = void 0;\r\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\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\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, _f;\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) {\r\n _this.closePopup(true);\r\n };\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) {\r\n _this.closePopup(true);\r\n });\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.right;\r\n var availableSpaceLeft = rootElementBounds.left;\r\n var left = rootElementBounds.left + Utils.getScrollX();\r\n var top_1;\r\n if (availableSpaceAbove < popupElementBounds.height &&\r\n 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_1 = Utils.getScrollY();\r\n }\r\n else {\r\n top_1 =\r\n Utils.getScrollY() +\r\n rootElementBounds.top +\r\n (rootElementBounds.height - actualPopupHeight) / 2;\r\n }\r\n if (availableSpaceLeft < popupElementBounds.width &&\r\n 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 =\r\n Utils.getScrollX() +\r\n rootElementBounds.left +\r\n (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 =\r\n 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_1 = 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_1 = Utils.getScrollY() + rootElementBounds.top - popupElementBounds.height;\r\n (_f = this._popupElement.classList).add.apply(_f, 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_1 + \"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","// Styles\nimport './VTextarea.sass'\n\n// Extensions\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport Vue from 'vue'\n\ninterface options extends Vue {\n $refs: {\n input: HTMLTextAreaElement\n }\n}\n\nconst baseMixins = mixins\n>(\n VTextField\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-textarea',\n\n props: {\n autoGrow: Boolean,\n noResize: Boolean,\n rowHeight: {\n type: [Number, String],\n default: 24,\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n rows: {\n type: [Number, String],\n default: 5,\n validator: (v: any) => !isNaN(parseInt(v, 10)),\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-textarea': true,\n 'v-textarea--auto-grow': this.autoGrow,\n 'v-textarea--no-resize': this.noResizeHandle,\n ...VTextField.options.computed.classes.call(this),\n }\n },\n noResizeHandle (): boolean {\n return this.noResize || this.autoGrow\n },\n },\n\n watch: {\n autoGrow (val: boolean) {\n this.$nextTick(() => {\n val\n ? this.calculateInputHeight()\n : this.$refs.input?.style.removeProperty('height')\n })\n },\n lazyValue () {\n this.autoGrow && this.$nextTick(this.calculateInputHeight)\n },\n rowHeight () {\n this.autoGrow && this.$nextTick(this.calculateInputHeight)\n },\n },\n\n mounted () {\n setTimeout(() => {\n this.autoGrow && this.calculateInputHeight()\n }, 0)\n },\n\n methods: {\n calculateInputHeight () {\n const input = this.$refs.input\n if (!input) return\n\n input.style.height = '0'\n const height = input.scrollHeight\n const minHeight = parseInt(this.rows, 10) * parseFloat(this.rowHeight)\n // This has to be done ASAP, waiting for Vue\n // to update the DOM causes ugly layout jumping\n input.style.height = Math.max(minHeight, height) + 'px'\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.tag = 'textarea'\n delete input.data!.attrs!.type\n input.data!.attrs!.rows = this.rows\n\n return input\n },\n onInput (e: Event) {\n VTextField.options.methods.onInput.call(this, e)\n this.autoGrow && this.calculateInputHeight()\n },\n onKeyDown (e: KeyboardEvent) {\n // Prevents closing of a\n // dialog when pressing\n // enter\n if (this.isFocused && e.keyCode === 13) {\n e.stopPropagation()\n }\n\n this.$emit('keydown', e)\n },\n },\n})\n","// Extensions\nimport VWindow from '../VWindow/VWindow'\n\n// Types & Components\nimport { BaseItemGroup, GroupableInstance } from './../VItemGroup/VItemGroup'\n\n/* @vue/component */\nexport default VWindow.extend({\n name: 'v-tabs-items',\n\n props: {\n mandatory: {\n type: Boolean,\n default: false,\n },\n },\n\n computed: {\n classes (): object {\n return {\n ...VWindow.options.computed.classes.call(this),\n 'v-tabs-items': true,\n }\n },\n isDark (): boolean {\n return this.rootIsDark\n },\n },\n\n methods: {\n getValue (item: GroupableInstance, i: number) {\n return item.id || BaseItemGroup.options.methods.getValue.call(this, item, i)\n },\n },\n})\n","\"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, prop, source, context) {\r\n var result = prop.defaultValue;\r\n var value = source[prop.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 (0, serialization_1.property)(TableColumnDefinition.horizontalCellContentAlignmentProperty)\r\n ], TableColumnDefinition.prototype, \"horizontalCellContentAlignment\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TableColumnDefinition.verticalCellContentAlignmentProperty)\r\n ], TableColumnDefinition.prototype, \"verticalCellContentAlignment\", void 0);\r\n __decorate([\r\n (0, 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.internalIndexOf = function (item) {\r\n return this._items.indexOf(item);\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 = (0, 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)\r\n : _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 = (0, utils_1.stringToCssColor)(styleDefinition.backgroundColor);\r\n if (bgColor) {\r\n this.renderedElement.style.backgroundColor = bgColor;\r\n }\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\"] =\r\n 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.indexOf = function (cardElement) {\r\n return cardElement instanceof TableCell ? this.internalIndexOf(cardElement) : -1;\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 (0, serialization_1.property)(TableRow.horizontalCellContentAlignmentProperty)\r\n ], TableRow.prototype, \"horizontalCellContentAlignment\", void 0);\r\n __decorate([\r\n (0, 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 = (0, 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.indexOf = function (cardElement) {\r\n return cardElement instanceof TableRow ? this.internalIndexOf(cardElement) : -1;\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 (0, serialization_1.property)(Table._columnsProperty)\r\n ], Table.prototype, \"_columns\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Table.firstRowAsHeadersProperty)\r\n ], Table.prototype, \"firstRowAsHeaders\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Table.showGridLinesProperty)\r\n ], Table.prototype, \"showGridLines\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Table.gridStyleProperty)\r\n ], Table.prototype, \"gridStyle\", null);\r\n __decorate([\r\n (0, serialization_1.property)(Table.horizontalCellContentAlignmentProperty)\r\n ], Table.prototype, \"horizontalCellContentAlignment\", void 0);\r\n __decorate([\r\n (0, 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","// Extensions\nimport VWindowItem from '../VWindow/VWindowItem'\n\n/* @vue/component */\nexport default VWindowItem.extend({\n name: 'v-tab-item',\n\n props: {\n id: String,\n },\n\n methods: {\n genWindowItem () {\n const item = VWindowItem.options.methods.genWindowItem.call(this)\n\n item.data!.domProps = item.data!.domProps || {}\n item.data!.domProps.id = this.id || this.value\n\n return item\n },\n },\n})\n","\"use strict\";\r\nvar _a;\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.debounce = exports.addCancelSelectActionEventHandler = exports.clearElementChildren = exports.getScrollY = exports.getScrollX = exports.getFitStatus = exports.truncate = exports.truncateText = 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 // eslint-disable-next-line guard-for-in\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 truncateWorker(element, maxHeight, fullText, truncateAt, 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 }\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(fullText, 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(fullText, 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(fullText, 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(fullText, bestBreakIdx);\r\n }\r\n}\r\nfunction truncateText(element, maxHeight, lineHeight) {\r\n truncateWorker(element, maxHeight, element.innerText, function (text, idx) {\r\n element.innerText = text.substring(0, idx) + \"...\";\r\n }, lineHeight);\r\n}\r\nexports.truncateText = truncateText;\r\n/**\r\n * {@link truncate} has been deprecated and is no longer in use internally. This policy passes\r\n * content through as it always has, which is _supposed_ to be dealing with text only (see {@link\r\n * TextBlock.truncateIfSupported}), but had a bug where it might actually pass through an element\r\n * for which innerHTML yielded actual HTML (since fixed).\r\n */\r\nvar ttDeprecatedPolicy = (typeof window === 'undefined') ? undefined : (_a = window.trustedTypes) === null || _a === void 0 ? void 0 : _a.createPolicy(\"adaptivecards#deprecatedExportedFunctionPolicy\", {\r\n createHTML: function (value) { return value; }\r\n});\r\n/** @deprecated Use {@link truncateText} instead. */\r\nfunction truncate(element, maxHeight, lineHeight) {\r\n truncateWorker(element, maxHeight, element.innerHTML, function (text, idx) {\r\n var _a;\r\n var truncatedString = text.substring(0, idx) + \"...\";\r\n var truncatedHTML = (_a = ttDeprecatedPolicy === null || ttDeprecatedPolicy === void 0 ? void 0 : ttDeprecatedPolicy.createHTML(truncatedString)) !== null && _a !== void 0 ? _a : truncatedString;\r\n element.innerHTML = truncatedHTML;\r\n }, lineHeight);\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 continue;\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\nfunction addCancelSelectActionEventHandler(element) {\r\n element.onclick = function (e) {\r\n e.preventDefault();\r\n e.cancelBubble = true;\r\n };\r\n}\r\nexports.addCancelSelectActionEventHandler = addCancelSelectActionEventHandler;\r\nfunction debounce(fn, delay) {\r\n var timer;\r\n function debouncedFn() {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n if (timer) {\r\n clearTimeout(timer);\r\n }\r\n timer = setTimeout(function () {\r\n fn.apply(void 0, args);\r\n }, delay);\r\n }\r\n return debouncedFn;\r\n}\r\nexports.debounce = debounce;\r\n//# sourceMappingURL=utils.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\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\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(\"./carousel\"), 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","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Roadmap.vue?vue&type=style&index=0&id=1413e794&prod&lang=scss&scoped=true\"","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\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(\"./menu-item\"), exports);\r\n__exportStar(require(\"./popup-menu\"), exports);\r\n//# sourceMappingURL=index.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.CarouselConfig = 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 =\r\n obj.cellSpacing && typeof obj.cellSpacing === \"number\"\r\n ? obj.cellSpacing\r\n : 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 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 =\r\n obj.isSubtle !== undefined && typeof obj.isSubtle === \"boolean\"\r\n ? obj.isSubtle\r\n : 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.width = 30;\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 this.width =\r\n obj[\"width\"] != null ? obj[\"width\"] : this.width;\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({\r\n color: Enums.TextColor.Attention\r\n });\r\n this.debounceTimeInMilliSeconds = 0;\r\n this.allowDynamicallyFilteredChoiceSet = true;\r\n this.allowRevealOnHoverStyle = false;\r\n if (obj) {\r\n this.label = new InputLabelConfig(obj[\"label\"]);\r\n this.errorMessage = new BaseTextDefinition(obj[\"errorMessage\"]);\r\n this.allowRevealOnHoverStyle =\r\n obj[\"allowRevealOnHoverStyle\"] || this.allowRevealOnHoverStyle;\r\n this.allowDynamicallyFilteredChoiceSet =\r\n obj[\"allowDynamicallyFilteredChoiceSet\"] || this.allowDynamicallyFilteredChoiceSet;\r\n this.debounceTimeInMilliSeconds =\r\n obj[\"debounceTimeInMilliSeconds\"] || this.debounceTimeInMilliSeconds;\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 =\r\n 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 =\r\n obj[\"inlineTopMargin\"] != null ? obj[\"inlineTopMargin\"] : this.inlineTopMargin;\r\n this.style =\r\n obj[\"style\"] && typeof obj[\"style\"] === \"string\"\r\n ? obj[\"style\"]\r\n : 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 =\r\n 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 =\r\n 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 CarouselConfig = /** @class */ (function () {\r\n function CarouselConfig(obj) {\r\n this.maxCarouselPages = 10;\r\n this.minAutoplayDelay = 5000.0;\r\n if (obj) {\r\n this.maxCarouselPages =\r\n obj[\"maxCarouselPages\"] != null ? obj[\"maxCarouselPages\"] : this.maxCarouselPages;\r\n this.minAutoplayDelay =\r\n obj[\"minAutoplayDelay\"] != null ? obj[\"minAutoplayDelay\"] : this.minAutoplayDelay;\r\n }\r\n }\r\n CarouselConfig.prototype.toJSON = function () {\r\n return {\r\n maxCarouselPages: this.maxCarouselPages,\r\n minAutoplayDelay: this.minAutoplayDelay\r\n };\r\n };\r\n return CarouselConfig;\r\n}());\r\nexports.CarouselConfig = CarouselConfig;\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.carousel = new CarouselConfig();\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 =\r\n obj && typeof obj[\"choiceSetInputValueSeparator\"] === \"string\"\r\n ? obj[\"choiceSetInputValueSeparator\"]\r\n : this.choiceSetInputValueSeparator;\r\n this.supportsInteractivity =\r\n obj && typeof obj[\"supportsInteractivity\"] === \"boolean\"\r\n ? obj[\"supportsInteractivity\"]\r\n : 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 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\"]) ||\r\n 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 this.carousel = new CarouselConfig(obj[\"carousel\"]);\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\r\n ? FontTypeDefinition.monospace\r\n : 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\n// eslint-disable-next-line @typescript-eslint/naming-convention\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 weight: Enums.TextWeight.Bolder,\r\n suffix: \" *\",\r\n suffixColor: Enums.TextColor.Attention\r\n },\r\n optionalInputs: {\r\n weight: Enums.TextWeight.Bolder\r\n }\r\n },\r\n errorMessage: {\r\n color: Enums.TextColor.Attention,\r\n weight: Enums.TextWeight.Bolder\r\n },\r\n debounceTimeInMilliSeconds: 250\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 carousel: {\r\n maxCarouselPages: 10,\r\n minAutoplayDuration: 5000\r\n },\r\n textBlock: {\r\n headingLevel: 2\r\n }\r\n});\r\n//# sourceMappingURL=host-config.js.map","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./releases.vue?vue&type=style&index=0&id=71747ace&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./releases.vue?vue&type=style&index=0&id=4cc5b579&prod&lang=scss&scoped=true\"","// Extensions\nimport { BaseSlideGroup } from '../VSlideGroup/VSlideGroup'\n\n// Components\nimport VTab from './VTab'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport SSRBootable from '../../mixins/ssr-bootable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { Route } from 'vue-router'\nimport { VNode } from 'vue'\n\ntype VTabInstance = InstanceType\n\nexport default mixins(\n BaseSlideGroup,\n SSRBootable,\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-tabs-bar',\n\n provide () {\n return {\n tabsBar: this,\n }\n },\n\n computed: {\n classes () {\n return {\n ...BaseSlideGroup.options.computed.classes.call(this),\n 'v-tabs-bar': true,\n 'v-tabs-bar--is-mobile': this.isMobile,\n // TODO: Remove this and move to v-slide-group\n 'v-tabs-bar--show-arrows': this.showArrows,\n ...this.themeClasses,\n }\n },\n },\n\n watch: {\n items: 'callSlider',\n internalValue: 'callSlider',\n $route: 'onRouteChange',\n },\n\n methods: {\n callSlider () {\n if (!this.isBooted) return\n\n this.$emit('call:slider')\n },\n genContent () {\n const render = BaseSlideGroup.options.methods.genContent.call(this)\n\n render.data = render.data || {}\n render.data.staticClass += ' v-tabs-bar__content'\n\n return render\n },\n onRouteChange (val: Route, oldVal: Route) {\n /* istanbul ignore next */\n if (this.mandatory) return\n\n const items = this.items as unknown as VTabInstance[]\n const newPath = val.path\n const oldPath = oldVal.path\n\n let hasNew = false\n let hasOld = false\n\n for (const item of items) {\n if (item.to === oldPath) hasOld = true\n else if (item.to === newPath) hasNew = true\n\n if (hasNew && hasOld) break\n }\n\n // If we have an old item and not a new one\n // it's assumed that the user navigated to\n // a path that is not present in the items\n if (!hasNew && hasOld) this.internalValue = undefined\n },\n },\n\n render (h): VNode {\n const render = BaseSlideGroup.options.render.call(this, h)\n\n render.data!.attrs = {\n role: 'tablist',\n }\n\n return render\n },\n})\n","// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\n/* @vue/component */\nexport default mixins(Colorable).extend({\n name: 'v-tabs-slider',\n\n render (h): VNode {\n return h('div', this.setBackgroundColor(this.color, {\n staticClass: 'v-tabs-slider',\n }))\n },\n})\n","// Styles\nimport './VTabs.sass'\n\n// Components\nimport VTabsBar from './VTabsBar'\nimport VTabsItems from './VTabsItems'\nimport VTabsSlider from './VTabsSlider'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { ExtractVue } from './../../util/mixins'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\nconst baseMixins = mixins(\n Colorable,\n Proxyable,\n Themeable\n)\n\ninterface options extends ExtractVue {\n $refs: {\n items: InstanceType\n }\n}\n\nexport default baseMixins.extend().extend({\n name: 'v-tabs',\n\n directives: {\n Resize,\n },\n\n props: {\n activeClass: {\n type: String,\n default: '',\n },\n alignWithTitle: Boolean,\n backgroundColor: String,\n centerActive: Boolean,\n centered: Boolean,\n fixedTabs: Boolean,\n grow: Boolean,\n height: {\n type: [Number, String],\n default: undefined,\n },\n hideSlider: Boolean,\n iconsAndText: Boolean,\n mobileBreakpoint: [String, Number],\n nextIcon: {\n type: String,\n default: '$next',\n },\n optional: Boolean,\n prevIcon: {\n type: String,\n default: '$prev',\n },\n right: Boolean,\n showArrows: [Boolean, String],\n sliderColor: String,\n sliderSize: {\n type: [Number, String],\n default: 2,\n },\n vertical: Boolean,\n },\n\n data () {\n return {\n resizeTimeout: 0,\n slider: {\n height: null as null | number,\n left: null as null | number,\n right: null as null | number,\n top: null as null | number,\n width: null as null | number,\n },\n transitionTime: 300,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-tabs--align-with-title': this.alignWithTitle,\n 'v-tabs--centered': this.centered,\n 'v-tabs--fixed-tabs': this.fixedTabs,\n 'v-tabs--grow': this.grow,\n 'v-tabs--icons-and-text': this.iconsAndText,\n 'v-tabs--right': this.right,\n 'v-tabs--vertical': this.vertical,\n ...this.themeClasses,\n }\n },\n isReversed (): boolean {\n return this.$vuetify.rtl && this.vertical\n },\n sliderStyles (): object {\n return {\n height: convertToUnit(this.slider.height),\n left: this.isReversed ? undefined : convertToUnit(this.slider.left),\n right: this.isReversed ? convertToUnit(this.slider.right) : undefined,\n top: this.vertical ? convertToUnit(this.slider.top) : undefined,\n transition: this.slider.left != null ? null : 'none',\n width: convertToUnit(this.slider.width),\n }\n },\n computedColor (): string {\n if (this.color) return this.color\n else if (this.isDark && !this.appIsDark) return 'white'\n else return 'primary'\n },\n },\n\n watch: {\n alignWithTitle: 'callSlider',\n centered: 'callSlider',\n centerActive: 'callSlider',\n fixedTabs: 'callSlider',\n grow: 'callSlider',\n iconsAndText: 'callSlider',\n right: 'callSlider',\n showArrows: 'callSlider',\n vertical: 'callSlider',\n '$vuetify.application.left': 'onResize',\n '$vuetify.application.right': 'onResize',\n '$vuetify.rtl': 'onResize',\n },\n\n mounted () {\n if (typeof ResizeObserver !== 'undefined') {\n const obs = new ResizeObserver(() => {\n this.onResize()\n })\n obs.observe(this.$el)\n this.$on('hook:destroyed', () => {\n obs.disconnect()\n })\n }\n\n this.$nextTick(() => {\n window.setTimeout(this.callSlider, 30)\n })\n },\n\n methods: {\n callSlider () {\n if (\n this.hideSlider ||\n !this.$refs.items ||\n !this.$refs.items.selectedItems.length\n ) {\n this.slider.width = 0\n return false\n }\n\n this.$nextTick(() => {\n // Give screen time to paint\n const activeTab = this.$refs.items.selectedItems[0]\n /* istanbul ignore if */\n if (!activeTab || !activeTab.$el) {\n this.slider.width = 0\n this.slider.left = 0\n return\n }\n const el = activeTab.$el as HTMLElement\n\n this.slider = {\n height: !this.vertical ? Number(this.sliderSize) : el.scrollHeight,\n left: this.vertical ? 0 : el.offsetLeft,\n right: this.vertical ? 0 : el.offsetLeft + el.offsetWidth,\n top: el.offsetTop,\n width: this.vertical ? Number(this.sliderSize) : el.scrollWidth,\n }\n })\n\n return true\n },\n genBar (items: VNode[], slider: VNode | null) {\n const data = {\n style: {\n height: convertToUnit(this.height),\n },\n props: {\n activeClass: this.activeClass,\n centerActive: this.centerActive,\n dark: this.dark,\n light: this.light,\n mandatory: !this.optional,\n mobileBreakpoint: this.mobileBreakpoint,\n nextIcon: this.nextIcon,\n prevIcon: this.prevIcon,\n showArrows: this.showArrows,\n value: this.internalValue,\n },\n on: {\n 'call:slider': this.callSlider,\n change: (val: any) => {\n this.internalValue = val\n },\n },\n ref: 'items',\n }\n\n this.setTextColor(this.computedColor, data)\n this.setBackgroundColor(this.backgroundColor, data)\n\n return this.$createElement(VTabsBar, data, [\n this.genSlider(slider),\n items,\n ])\n },\n genItems (items: VNode | null, item: VNode[]) {\n // If user provides items\n // opt to use theirs\n if (items) return items\n\n // If no tabs are provided\n // render nothing\n if (!item.length) return null\n\n return this.$createElement(VTabsItems, {\n props: {\n value: this.internalValue,\n },\n on: {\n change: (val: any) => {\n this.internalValue = val\n },\n },\n }, item)\n },\n genSlider (slider: VNode | null) {\n if (this.hideSlider) return null\n\n if (!slider) {\n slider = this.$createElement(VTabsSlider, {\n props: { color: this.sliderColor },\n })\n }\n\n return this.$createElement('div', {\n staticClass: 'v-tabs-slider-wrapper',\n style: this.sliderStyles,\n }, [slider])\n },\n onResize () {\n if (this._isDestroyed) return\n\n clearTimeout(this.resizeTimeout)\n this.resizeTimeout = window.setTimeout(this.callSlider, 0)\n },\n parseNodes () {\n let items = null\n let slider = null\n const item = []\n const tab = []\n const slot = getSlot(this) || []\n const length = slot.length\n\n for (let i = 0; i < length; i++) {\n const vnode = slot[i]\n\n if (vnode.componentOptions) {\n switch (vnode.componentOptions.Ctor.options.name) {\n case 'v-tabs-slider': slider = vnode\n break\n case 'v-tabs-items': items = vnode\n break\n case 'v-tab-item': item.push(vnode)\n break\n // case 'v-tab' - intentionally omitted\n default: tab.push(vnode)\n }\n } else {\n tab.push(vnode)\n }\n }\n\n /**\n * tab: array of `v-tab`\n * slider: single `v-tabs-slider`\n * items: single `v-tabs-items`\n * item: array of `v-tab-item`\n */\n return { tab, slider, items, item }\n },\n },\n\n render (h): VNode {\n const { tab, slider, items, item } = this.parseNodes()\n\n return h('div', {\n staticClass: 'v-tabs',\n class: this.classes,\n directives: [{\n name: 'resize',\n modifiers: { quiet: true },\n value: this.onResize,\n }],\n }, [\n this.genBar(tab, slider),\n this.genItems(items, item),\n ])\n },\n})\n"],"sourceRoot":""}