define(["exports","./../common/datetime.js","./../common/globalize.js","./../common/textencoding.js","./../common/itemhelper.js","./../common/itemmanager/itemmanager.js","./../indicators/indicators.js","./../approuter.js","./../emby-elements/emby-button/emby-button.js","./../common/dataformatter.js"],function(_exports,_datetime,_globalize,_textencoding,_itemhelper,_itemmanager,_indicators,_approuter,_embyButton,_dataformatter){function getProgramInfoHtml(item,options){var date,text,html="",miscInfo=[];if(item.StartDate&&!1!==options.programTime)try{text="",date=new Date(Date.parse(item.StartDate)),!1!==options.startDate&&(text+=_datetime.default.toLocaleDateString(date,{weekday:"short",month:"short",day:"numeric"})),text+=" "+_datetime.default.getDisplayTime(date),item.EndDate&&(date=new Date(Date.parse(item.EndDate)),text+=" – "+_datetime.default.getDisplayTime(date)),miscInfo.push(text)}catch(e){console.log("Error parsing date: "+item.StartDate)}return item.ChannelName&&(date=item.ChannelName,item.ChannelNumber&&(date+=" "+item.ChannelNumber),options.interactive&&item.ChannelId?miscInfo.push({html:''+date+""}):miscInfo.push(date)),options.timerIndicator&&(text=function(item){var status,itemType=item.Type;if("SeriesTimer"===itemType)return'';if(item.TimerId||item.SeriesTimerId)status=item.Status||"Cancelled";else{if("Timer"!==itemType)return"";status=item.Status}return item.SeriesTimerId?"Cancelled"!==status?'':'':''}(item))&&miscInfo.push({html:text}),html+=miscInfo.map(getMediaInfoItem).join("")}function getMediaInfoHtml(item,options){var showFolderRuntime,html="",miscInfo=[],itemType=(options=options||{},item.Type);switch(itemType){case"MusicAlbum":case"MusicArtist":case"Playlist":case"MusicGenre":case"BoxSet":showFolderRuntime=!0}if(("Episode"===itemType||"Photo"===item.MediaType)&&!1!==options.originalAirDate&&item.PremiereDate)try{date=new Date(Date.parse(item.PremiereDate)),text=_datetime.default.toLocaleDateString(date,{month:"short",day:"numeric",year:"numeric"}),miscInfo.push(text)}catch(e){console.log("Error parsing date: "+item.PremiereDate)}if("SeriesTimer"===itemType&&(item.RecordAnyTime?miscInfo.push(_globalize.default.translate("Anytime")):item.StartDate&&miscInfo.push(_datetime.default.getDisplayTime(item.StartDate)),item.RecordAnyChannel||null==(_item$ChannelIds=item.ChannelIds)||!_item$ChannelIds.length?miscInfo.push(_globalize.default.translate("AllChannels")):miscInfo.push(item.ChannelName||_globalize.default.translate("OneChannel"))),item.StartDate&&"Program"!==itemType&&"SeriesTimer"!==itemType&&"Timer"!==itemType)try{date=new Date(Date.parse(item.StartDate)),text=_datetime.default.toLocaleDateString(date,{month:"short",day:"numeric",year:"numeric"}),miscInfo.push(text),"Recording"!==itemType&&(text=_datetime.default.getDisplayTime(date),miscInfo.push(text))}catch(e){console.log("Error parsing date: "+item.StartDate)}if(!1!==options.year&&item.ProductionYear&&"Series"===itemType)if("Continuing"===item.Status)miscInfo.push(_globalize.default.translate("SeriesYearToPresent",item.ProductionYear));else if(item.ProductionYear){if(text=item.ProductionYear,item.EndDate)try{var endYear=new Date(Date.parse(item.EndDate)).getFullYear();endYear!==item.ProductionYear&&(text+=" – "+endYear)}catch(e){console.log("Error parsing date: "+item.EndDate)}miscInfo.push(text)}if("Series"===itemType&&(_item$ChannelIds="",item.Studios&&item.Studios.length&&(endYear=item.Studios[0],_item$ChannelIds&&(_item$ChannelIds+=" on "),_item$ChannelIds+=''+endYear.Name+""),_item$ChannelIds)&&miscInfo.push(_item$ChannelIds),!1!==options.programIndicator&&(item.IsLive?miscInfo.push({html:'
'+_globalize.default.translate("Live")+"
"}):item.IsPremiere?miscInfo.push({html:'
'+_globalize.default.translate("Premiere")+"
"}):item.IsNew?miscInfo.push({html:'
'+_globalize.default.translate("AttributeNew")+"
"}):item.IsRepeat&&miscInfo.push({html:'
'+_globalize.default.translate("Repeat")+"
"})),"Program"===itemType)if((item.IsSeries||item.EpisodeTitle)&&!1!==options.episodeTitle)(text=_itemmanager.default.getDisplayName(item,{includeIndexNumber:options.episodeTitleIndexNumber}))&&miscInfo.push(text);else if(item.IsMovie&&item.ProductionYear&&!1!==options.originalAirDate)miscInfo.push(item.ProductionYear);else if(item.PremiereDate&&!1!==options.originalAirDate)try{date=new Date(Date.parse(item.PremiereDate)),text=_globalize.default.translate("OriginalAirDateValue",_datetime.default.toLocaleDateString(date,{month:"short",day:"numeric",year:"numeric"})),miscInfo.push(text)}catch(e){console.log("Error parsing date: "+item.PremiereDate)}else item.ProductionYear&&miscInfo.push(item.ProductionYear);if(!1!==options.year&&"Series"!==itemType&&("Episode"!==itemType||!item.PremiereDate)&&"Person"!==itemType&&"Photo"!==item.MediaType&&"Program"!==itemType&&"Season"!==itemType)if(item.ProductionYear)miscInfo.push(item.ProductionYear);else if(item.PremiereDate)try{text=new Date(Date.parse(item.PremiereDate)).getFullYear(),miscInfo.push(text)}catch(e){console.log("Error parsing date: "+item.PremiereDate)}var date,_item$ChannelIds=(null==(endYear=options.mediaSource)?void 0:endYear.RunTimeTicks)||item.RunTimeTicks,text=("Series"===itemType||"Program"===itemType||showFolderRuntime||!1===options.runtime||_item$ChannelIds&&miscInfo.push("Audio"===itemType?_datetime.default.getDisplayRunningTime(_item$ChannelIds):_datetime.default.getHumanReadableRuntime(_item$ChannelIds)),item.OfficialRating&&miscInfo.push(item.OfficialRating),showFolderRuntime&&((date=item.SongCount||item.ChildCount)&&miscInfo.push("BoxSet"===itemType?1===date?_globalize.default.translate("ValueOneItem"):_globalize.default.translate("ItemCount",date):1===date?_globalize.default.translate("OneTrack"):_globalize.default.translate("TrackCount",date)),_item$ChannelIds)&&"Playlist"===itemType&&miscInfo.push(_datetime.default.getHumanReadableRuntime(_item$ChannelIds)),"Series"===itemType&&item.ChildCount&&(1===item.ChildCount?miscInfo.push(_globalize.default.translate("OneSeason")):miscInfo.push(_globalize.default.translate("NumberSeasonsValue",item.ChildCount))),item.Video3DFormat&&miscInfo.push("3D"),"Photo"===item.MediaType&&item.Width&&item.Height&&miscInfo.push(item.Width+"x"+item.Height),options.container&&item.Container&&miscInfo.push(item.Container.toUpperCase()),item.Bitrate||item.BitRate);return options.bitrate&&text&&miscInfo.push(_dataformatter.default.bitrateToString(text)),"RemoteSubtitle"===itemType&&(null!=item.DownloadCount&&miscInfo.push(_globalize.default.translate("DownloadsValue",item.DownloadCount)),item.IsForced&&(html+='
'+_globalize.default.translate("Forced")+"
"),item.IsHashMatch)&&(html+='
'+_globalize.default.translate("HashMatch")+"
"),!1!==options.CommunityRating&&item.CommunityRating&&"RemoteSubtitle"!==item.Type&&(html+=getStarIconsHtml(item)),item.CriticRating&&!1!==options.criticRating&&(html+=getCriticRating(item)),html+=miscInfo.map(getMediaInfoItem).join(""),item.HasSubtitles&&!1!==options.subtitles&&(html+='
CC
'),options.dateAdded&&_itemhelper.default.enableDateAddedDisplay(item)&&(endYear=new Date(Date.parse(item.DateCreated)),html+=getMediaInfoItem(_globalize.default.translate("AddedOnValue",_datetime.default.toLocaleDateString(endYear,{month:"short",day:"numeric",year:"numeric"})))),options.genres&&(html+=function(item,options){var type,context=options.context,genres=(item.GenreItems||[]).slice(0),itemType=item.Type;switch("Playlist"!==itemType&&"BoxSet"!==itemType&&"MusicArtist"!==itemType||5'+_textencoding.default.htmlEncode(p.Name)+""}).join(itemType))&&'
'+options+"
"}(item,options)),!1!==options.endsAt&&(date=getEndsAt(item,options.mediaSource))&&(html+=getMediaInfoItem(date,("endsAt "+(options.endsAtClass||"")).trim())),html+=_indicators.default.getMissingIndicator(item)}function getEndsAt(item,mediaSource){if((mediaSource=mediaSource||item,"Video"===item.MediaType&&mediaSource.RunTimeTicks)&&(!item.StartDate&&"Program"!==item.Type))return item=item.UserData&&item.UserData.PlaybackPositionTicks||0,getEndsAtFromPosition(mediaSource.RunTimeTicks,item);return null}function getEndsAtFromPosition(runtimeTicks,positionTicks,includeText){runtimeTicks=Date.now()+(runtimeTicks-(positionTicks||0))/1e4,runtimeTicks=new Date(runtimeTicks),positionTicks=_datetime.default.getDisplayTime(runtimeTicks);return!1===includeText?positionTicks:_globalize.default.translate("EndsAtValue",positionTicks)}function getMediaInfoItem(m,cssClass){cssClass="string"==typeof cssClass?cssClass+" mediaInfoItem":"mediaInfoItem";var mediaInfoText=m;if("string"!=typeof m&&"number"!=typeof m){if(m.html)return m.html;mediaInfoText=m.text,cssClass+=" "+m.cssClass}return'
'+mediaInfoText+"
"}function getCriticRating(item,options){var outerClass="mediaInfoItem mediaInfoCriticRating";return options&&options.outerClass&&(outerClass+=" "+options.outerClass),'
'+item.CriticRating+"%
"}function getStarIconsHtml(item,options){var outerClass,html="",item=item.CommunityRating;return item&&(outerClass="starRatingContainer mediaInfoItem",options&&options.outerClass&&(outerClass+=" "+options.outerClass),html=(html=html+'
')+_dataformatter.default.numberToString(item,1)+"
"),html}function fillPrimaryMediaInfo(elem,item,options){var html=getPrimaryMediaInfoHtml(item,options);(elem.innerHTML=html)?elem.classList.remove("hide"):elem.classList.add("hide"),afterFill(elem,item,options)}function afterFill(elem,item,options){!1!==options.endsAt&&(elem=elem.querySelector(".endsAt"))&&!function(elem,item,mediaSource){var interval=setInterval(function(){document.body.contains(elem)?elem.innerHTML=getEndsAt(item,mediaSource):clearInterval(interval)},6e4)}(elem,item,options.mediaSource)}function getPrimaryMediaInfoHtml(item,options){return null==(options=options||{}).interactive&&(options.interactive=!1),getMediaInfoHtml(item,options)}function getSecondaryMediaInfoHtml(item,options){null==(options=options||{}).interactive&&(options.interactive=!1);var itemType=item.Type;return"Program"===itemType||"Timer"===itemType||"Recording"===itemType?getProgramInfoHtml(item,options):""}function createAttribute(label,value,className){return'
'+label+''+value+"
"}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,require(["material-icons","css!modules/mediainfo/mediainfo.css","programStyles"]);var _default={getMediaInfoHtml:getPrimaryMediaInfoHtml,fill:fillPrimaryMediaInfo,getEndsAt:getEndsAt,getEndsAtFromPosition:getEndsAtFromPosition,getPrimaryMediaInfoHtml:getPrimaryMediaInfoHtml,getSecondaryMediaInfoHtml:getSecondaryMediaInfoHtml,fillPrimaryMediaInfo:fillPrimaryMediaInfo,fillSecondaryMediaInfo:function(elem,item,options){var html=getSecondaryMediaInfoHtml(item,options);(elem.innerHTML=html)?elem.classList.remove("hide"):elem.classList.add("hide"),afterFill(elem,item,options)},getResolutionText:_dataformatter.default.getResolutionText,pushMediaStreamLines:function(stream,options,lines,icon){var streamType=stream.StreamType,streamTypeLocalizationKey="EmbeddedImage"===streamType?"Image":streamType,streamTypeLocalizationKey=("Lyrics"===stream.SubtitleType&&(streamTypeLocalizationKey="Lyrics"),_globalize.default.translate(streamTypeLocalizationKey));lines.push('

'+(streamTypeLocalizationKey=icon?''+icon+""+streamTypeLocalizationKey:streamTypeLocalizationKey)+"

"),stream.DisplayTitle&&lines.push(createAttribute(_globalize.default.translate("Title"),stream.DisplayTitle)),stream.Title&&stream.Title!==stream.DisplayTitle&&lines.push(createAttribute(_globalize.default.translate("HeaderEmbeddedTitle"),stream.Title)),(stream.DisplayLanguage||stream.Language)&&"Video"!==streamType&&lines.push(createAttribute(_globalize.default.translate("Language"),stream.DisplayLanguage||stream.Language)),stream.Codec&&lines.push(createAttribute(_globalize.default.translate("Codec"),stream.Codec.toUpperCase())),stream.CodecTag&&lines.push(createAttribute(_globalize.default.translate("HeaderCodecTag"),stream.CodecTag)),stream.Profile&&lines.push(createAttribute(_globalize.default.translate("Profile"),stream.Profile)),stream.Level&&lines.push(createAttribute(_globalize.default.translate("Level"),stream.Level)),(stream.Width||stream.Height)&&lines.push(createAttribute(_globalize.default.translate("Resolution"),stream.Width+"x"+stream.Height)),stream.AspectRatio&&"mjpeg"!==stream.Codec&&lines.push(createAttribute(_globalize.default.translate("HeaderAspectRatio"),stream.AspectRatio)),"Video"===streamType&&lines.push(createAttribute(_globalize.default.translate("Interlaced"),stream.IsInterlaced?_globalize.default.translate("Yes"):_globalize.default.translate("No"))),(stream.AverageFrameRate||stream.RealFrameRate)&&lines.push(createAttribute(_globalize.default.translate("Framerate"),_dataformatter.default.numberToString(stream.AverageFrameRate||stream.RealFrameRate,3))),stream.ChannelLayout&&lines.push(createAttribute(_globalize.default.translate("Layout"),stream.ChannelLayout)),stream.Channels&&lines.push(createAttribute(_globalize.default.translate("Channels"),stream.Channels+" ch")),stream.BitRate&&"mjpeg"!==stream.Codec&&lines.push(createAttribute(_globalize.default.translate("Bitrate"),_dataformatter.default.bitrateToString(stream.BitRate))),stream.SampleRate&&lines.push(createAttribute(_globalize.default.translate("HeaderSampleRate"),_dataformatter.default.numberToString(stream.SampleRate)+" Hz")),stream.VideoRange&&"SDR"!==stream.VideoRange&&lines.push(createAttribute(_globalize.default.translate("HeaderVideoRange"),stream.VideoRange)),stream.ColorPrimaries&&lines.push(createAttribute(_globalize.default.translate("HeaderColorPrimaries"),stream.ColorPrimaries)),stream.ColorSpace&&lines.push(createAttribute(_globalize.default.translate("HeaderColorSpace"),stream.ColorSpace)),stream.ColorTransfer&&lines.push(createAttribute(_globalize.default.translate("HeaderColorTransfer"),stream.ColorTransfer)),stream.BitDepth&&lines.push(createAttribute(_globalize.default.translate("HeaderBitDepth"),stream.BitDepth+" bit")),stream.PixelFormat&&lines.push(createAttribute(_globalize.default.translate("HeaderPixelFormat"),stream.PixelFormat)),stream.RefFrames&&lines.push(createAttribute(_globalize.default.translate("HeaderReferenceFrames"),stream.RefFrames)),stream.Rotation&&lines.push(createAttribute(_globalize.default.translate("Rotation"),stream.Rotation)),"Video"!==streamType&&lines.push(createAttribute(_globalize.default.translate("Default"),stream.IsDefault?_globalize.default.translate("Yes"):_globalize.default.translate("No"))),"Subtitle"===streamType&&("Lyrics"!==stream.SubtitleType&&lines.push(createAttribute(_globalize.default.translate("Forced"),stream.IsForced?_globalize.default.translate("Yes"):_globalize.default.translate("No"))),lines.push(createAttribute(_globalize.default.translate("External"),stream.IsExternal?_globalize.default.translate("Yes"):_globalize.default.translate("No")))),stream.IsExternal&&stream.Path&&lines.push(createAttribute(_globalize.default.translate("File"),function(stream){return(stream=stream.Path.split("/").join("\\").split("\\"))[stream.length-1]}(stream)))},getCommunityRating:getStarIconsHtml,getCriticRating:getCriticRating,bitrateToString:_dataformatter.default.bitrateToString,sizeToString:_dataformatter.default.sizeToString};_exports.default=_default});