{"version":3,"file":"static/js/3.ef81947038392f965970.chunk.js","mappings":"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,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,QACT,QAAS,QACT,QAAS,WACT,QAAS,WACT,QAAS,WACT,QAAS,WACT,QAAS,WACT,QAAS,WACT,QAAS,SACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,WACT,QAAS,QACT,QAAS,QACT,QAAS,SACT,QAAS,WACT,QAAS,mBACT,QAAS,WACT,QAAS,MACT,QAAS,QACT,QAAS,MACT,QAAS,WACT,QAAS,WACT,QAAS,iCACT,QAAS,iBACT,QAAS,kBACT,QAAS,QACT,QAAS,SACT,QAAS,sBACT,QAAS,wBACT,QAAS,SACT,QAAS,UACT,aAAc,SACd,QAAS,aACT,QAAS,YACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,MACT,QAAS,SACT,QAAS,aACT,QAAS,OACT,QAAS,cASAC,EAA2C,CACpD,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,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","sources":["webpack://nile.commerce.online/./src/modules/script-injector/script-injector.tsx?5a34","webpack://nile.commerce.online/./src/video-player-utilities/components/utilities/key-codes.ts?1004","webpack://nile.commerce.online/./src/video-player-utilities/components/utilities/string-extensions.ts?3689","webpack://nile.commerce.online/./src/video-player-utilities/components/utilities/html-extensions.ts?9642","webpack://nile.commerce.online/./src/video-player-utilities/components/utilities/player-utility.ts?33e3","webpack://nile.commerce.online/./src/video-player-utilities/components/utilities/utilities.ts?65c9","webpack://nile.commerce.online/./src/price/price.components.tsx?7295","webpack://nile.commerce.online/./src/order-template/order-templates-list/order-template-products-preview.tsx?832a","webpack://nile.commerce.online/./src/video-player-utilities/components/helper/localization-helper.ts?26d0","webpack://nile.commerce.online/./src/video-player-utilities/components/helper/closed-caption-helper.ts?8eff","webpack://nile.commerce.online/./src/video-player-utilities/components/helper/player-helper.ts?800e","webpack://nile.commerce.online/./src/rating/rating.component.tsx?1ba8","webpack://nile.commerce.online/./src/video-player-utilities/player.tsx?8176","webpack://nile.commerce.online/./src/video-player-utilities/components/closed-captions/ttml-settings.ts?ff45","webpack://nile.commerce.online/./src/video-player-utilities/components/closed-captions/ttml-context.ts?2af4","webpack://nile.commerce.online/./src/video-player-utilities/components/closed-captions/ttml-time-parser.ts?72f5","webpack://nile.commerce.online/./src/video-player-utilities/components/closed-captions/ttml-parser.ts?6362","webpack://nile.commerce.online/./src/video-player-utilities/components/closed-captions/video-closed-captions.tsx?4d40","webpack://nile.commerce.online/./node_modules/@msdyn365-commerce/bootloader/node_modules/core-js/modules/es.string.split.js?e6e1","webpack://nile.commerce.online/./node_modules/@msdyn365-commerce/components/node_modules/lodash/debounce.js?3d87","webpack://nile.commerce.online/./node_modules/@msdyn365-commerce/components/node_modules/lodash/isObject.js?531a","webpack://nile.commerce.online/./node_modules/@msdyn365-commerce/components/node_modules/lodash/_root.js?6523","webpack://nile.commerce.online/./node_modules/@msdyn365-commerce/components/node_modules/lodash/_Symbol.js?192c","webpack://nile.commerce.online/./src/social-media/social-media.components.tsx?9b27","webpack://nile.commerce.online/./src/add-to-cart/add-to-cart.component.tsx?c15a","webpack://nile.commerce.online/./src/add-to-cart/items-added-to-cart.ts?4f10","webpack://nile.commerce.online/./src/add-to-cart/items-added-to-cart-error-component.tsx?3e3e","webpack://nile.commerce.online/./src/add-to-cart/items-added-to-cart-dialog-component.tsx?3a1e","webpack://nile.commerce.online/./src/add-to-cart/notifications/item-successfully-added-to-cart-notification-component.tsx?1092","webpack://nile.commerce.online/./src/add-to-cart/notifications/item-successfully-added-to-cart-notification.ts?b5b4","webpack://nile.commerce.online/./src/add-to-cart/notifications/multi-items-successfully-added-to-cart-notification-component.tsx?ec23","webpack://nile.commerce.online/./src/add-to-cart/notifications/multi-items-successfully-added-to-cart-notification.ts?4d32","webpack://nile.commerce.online/./src/add-to-cart/product-model.ts?91f1","webpack://nile.commerce.online/./src/order-template/add-order-template-to-cart/add-order-template-to-cart.component.tsx?b3bb","webpack://nile.commerce.online/./src/order-template/rename-order-template/rename-order-template.component.tsx?22f7","webpack://nile.commerce.online/./src/order-template/lines-added-to-cart-dialog/lines-added-to-cart-dialog.component.tsx?3b78","webpack://nile.commerce.online/./src/order-template/order-template-name-dialog/order-template-name-dialog.component.tsx?aa9c","webpack://nile.commerce.online/./src/order-template/order-templates-list/order-template-list.tsx?9a9e","webpack://nile.commerce.online/./src/order-template/add-to-order-template-dialog/add-to-order-template-dialog.component.tsx?94ad","webpack://nile.commerce.online/./src/order-template/lines-added-to-order-template-dialog/lines-added-to-order-template-dialog.component.tsx?8a37","webpack://nile.commerce.online/./src/order-template/add-products-to-order-template/add-products-to-order-template.component.tsx?bf4c","webpack://nile.commerce.online/./src/order-template/duplicate-items-when-adding-to-order-template-dialog/duplicate-items-when-adding-to-order-template-dialog.component.tsx?1ec3","webpack://nile.commerce.online/./src/order-template/item-added-to-order-template-dialog/item-added-to-order-template-dialog.component.tsx?017f","webpack://nile.commerce.online/./src/order-template/add-to-order-template/add-to-order-template.component.tsx?0066","webpack://nile.commerce.online/./src/order-template/item-added-to-cart-dialog/item-added-to-cart-dialog.component.tsx?9757","webpack://nile.commerce.online/./src/order-template/save-cart-to-order-template/save-cart-to-order-template.component.tsx?c47e","webpack://nile.commerce.online/./src/product-card-v2/components/product-component-swatch-v2.tsx?1bc1","webpack://nile.commerce.online/./src/video-player-utilities/components/action-toggle/action-toggle.tsx?246b","webpack://nile.commerce.online/./src/video-player-utilities/components/age-gate/age-gate.tsx?96c8","webpack://nile.commerce.online/./src/video-player-utilities/components/data/player-constants.ts?0a75","webpack://nile.commerce.online/./src/video-player-utilities/components/data/player-metadata.ts?24d6","webpack://nile.commerce.online/./src/video-player-utilities/components/closed-captions/video-closed-captions-settings.ts?2fc2","webpack://nile.commerce.online/./src/video-player-utilities/components/menu/menu.tsx?4ce6","webpack://nile.commerce.online/./src/video-player-utilities/components/menu-item/menu-item.tsx?471c","webpack://nile.commerce.online/./src/video-player-utilities/components/play-pause-trigger/play-pause-trigger.tsx?3fa4","webpack://nile.commerce.online/./src/video-player-utilities/components/video-controls/video-controls.tsx?32a5","webpack://nile.commerce.online/./src/carousel/CarouselContext.tsx?5738","webpack://nile.commerce.online/./node_modules/@msdyn365-commerce/components/node_modules/react-transition-group/esm/config.js?fb42","webpack://nile.commerce.online/./node_modules/@msdyn365-commerce/components/node_modules/react-transition-group/esm/TransitionGroupContext.js?52c4","webpack://nile.commerce.online/./node_modules/@msdyn365-commerce/components/node_modules/react-transition-group/esm/utils/reflow.js?ddda","webpack://nile.commerce.online/./node_modules/@msdyn365-commerce/components/node_modules/react-transition-group/esm/Transition.js?196e","webpack://nile.commerce.online/./src/carousel/CarouselItem.tsx?ecad","webpack://nile.commerce.online/./src/carousel/Carousel.tsx?9349","webpack://nile.commerce.online/./node_modules/@msdyn365-commerce/components/node_modules/lodash/now.js?fc53","webpack://nile.commerce.online/./node_modules/@msdyn365-commerce/components/node_modules/lodash/_freeGlobal.js?560f","webpack://nile.commerce.online/./node_modules/@msdyn365-commerce/components/node_modules/lodash/toNumber.js?2e58","webpack://nile.commerce.online/./node_modules/@msdyn365-commerce/components/node_modules/lodash/_baseTrim.js?21f3","webpack://nile.commerce.online/./node_modules/@msdyn365-commerce/components/node_modules/lodash/_trimmedEndIndex.js?e580","webpack://nile.commerce.online/./node_modules/@msdyn365-commerce/components/node_modules/lodash/isSymbol.js?73e1","webpack://nile.commerce.online/./node_modules/@msdyn365-commerce/components/node_modules/lodash/_baseGetTag.js?b60c","webpack://nile.commerce.online/./node_modules/@msdyn365-commerce/components/node_modules/lodash/_getRawTag.js?730d","webpack://nile.commerce.online/./node_modules/@msdyn365-commerce/components/node_modules/lodash/_objectToString.js?9b71","webpack://nile.commerce.online/./node_modules/@msdyn365-commerce/components/node_modules/lodash/isObjectLike.js?d044","webpack://nile.commerce.online/./src/cart-icon/cart-icon.component.tsx?ef29","webpack://nile.commerce.online/./src/promocode/promocode.component.tsx?37c7","webpack://nile.commerce.online/./src/action-menu/action-menu.component.tsx?7298","webpack://nile.commerce.online/./src/add-to-wishlist/add-to-wishlist.component.tsx?0a03","webpack://nile.commerce.online/./src/cartline/components/cart-line-price-editor.tsx?6767","webpack://nile.commerce.online/./src/cartline/cartlineitem.component.tsx?be39","webpack://nile.commerce.online/./src/product-card/components/product-component-swatch.tsx?a399","webpack://nile.commerce.online/./src/product-card/product.component.tsx?32e2","webpack://nile.commerce.online/./src/product-dimension/dropdown/dropdown.tsx?9ac3","webpack://nile.commerce.online/./src/product-dimension/product-dimension.component.tsx?387b","webpack://nile.commerce.online/./src/product-dimension/swatch/swatch-item.tsx?72c2","webpack://nile.commerce.online/./src/product-dimension/swatch/swatch.tsx?6550","webpack://nile.commerce.online/./src/product-dimensions-matrix/components/product-dimensions-matrix-dimension-item.tsx?0f56","webpack://nile.commerce.online/./src/product-dimensions-matrix/components/product-dimensions-matrix-dimension-selection.tsx?2e77","webpack://nile.commerce.online/./src/product-dimensions-matrix/components/product-dimensions-matrix-enter-all-quantity-button.tsx?43c1","webpack://nile.commerce.online/./src/product-dimensions-matrix/product-dimensions-matrix.tsx?50f3","webpack://nile.commerce.online/./src/refiner/common.tsx?5431","webpack://nile.commerce.online/./src/refiner/refiner-apply.component.tsx?c65c","webpack://nile.commerce.online/./src/refiner/refiner-choice-summary.component.tsx?bb08","webpack://nile.commerce.online/./src/refiner/refiner-footer.component.tsx?922c","webpack://nile.commerce.online/./src/refiner/refiner-toggle.component.tsx?191b","webpack://nile.commerce.online/./src/refiner/refiner-sort.component.tsx?6742","webpack://nile.commerce.online/./src/refiner/refiner-header.component.tsx?f32a","webpack://nile.commerce.online/./src/refiner/refiner-item-check.component.tsx?49ea","webpack://nile.commerce.online/./src/refiner/refiner-item-daterange.component.tsx?a87f","webpack://nile.commerce.online/./src/refiner/refiner-modal.component.tsx?e1db","webpack://nile.commerce.online/./src/refiner/refiner-options.component.tsx?7d6b","webpack://nile.commerce.online/./src/refiner/refiner.component.tsx?4a59","webpack://nile.commerce.online/./src/search-bar/search-bar.component.tsx?4f38","webpack://nile.commerce.online/./src/table/table.component.tsx?d5d2","webpack://nile.commerce.online/./src/wishlist-icon/wishlist-icon.component.tsx?a133","webpack://nile.commerce.online/./src/video-player-utilities/components/data/player-options.ts?0c9c","webpack://nile.commerce.online/./src/product-card-v2/product-v2.component.tsx?2a5e"],"sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as MsDyn365 from '@msdyn365-commerce/core-internal';\nimport { LogLevel } from '@msdyn365-commerce/telemetry-internal';\nimport * as React from 'react';\nimport { IScriptInjectorProps } from './script-injector.props.autogenerated';\n\n/**\n *\n * CoreComponent component\n * @extends {React.PureComponent}\n */\nclass ScriptInjector extends React.PureComponent> {\n constructor(props: IScriptInjectorProps<{}>) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { config } = this.props;\n this._debug(`Adding html head tags for '${this.props.id}/${this.props.typeName}'`);\n\n const placeHolderPropsRegEx = RegExp('%[a-zA-Z0-9-.]*%', 'g');\n let placeHolders: RegExpExecArray | null;\n const originalSource = config && config.scriptSource;\n let resolvedSource;\n\n if (originalSource) {\n let hasMorePlaceHolders = true;\n resolvedSource = originalSource;\n\n while (hasMorePlaceHolders) {\n placeHolders = placeHolderPropsRegEx.exec(originalSource);\n\n if (placeHolders && placeHolders.length > 0) {\n this._debug(`extracted placeholder ${placeHolders[0]}`);\n resolvedSource = this._resolvePlaceHolder(resolvedSource, placeHolders[0]);\n } else {\n hasMorePlaceHolders = false;\n }\n }\n }\n\n if (!resolvedSource) {\n return null;\n }\n\n return (\n \n {this._isUrl(resolvedSource) ? (\n \n ) : (\n \n )}\n \n );\n }\n\n private _debug(debugMessage: string): void {\n if (this.props.telemetry) {\n this.props.telemetry.log(LogLevel.Debug, debugMessage);\n }\n }\n\n private _isUrl(source: string): boolean {\n // eslint-disable-next-line security/detect-unsafe-regex\n return /(ftp|http|https):\\/\\/(\\w+:{0,1}\\w*@)?(\\S+)(:[0-9]+)?(\\/|\\/([\\w#!:.?+=&%@!\\-\\/]))?/.test(source);\n }\n\n private _resolvePlaceHolder(resolvedSource: string, placeHolderToken: string): string {\n // expect placeholder to of the format eg: %config.id%\n const placeHolderTokens = placeHolderToken.split(/[%.]/);\n\n if (placeHolderTokens.length !== 4 || !resolvedSource) {\n return resolvedSource;\n }\n\n const propertyContext = placeHolderTokens[1];\n const propertyName = placeHolderTokens[2];\n\n if (propertyContext === 'props') {\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n if (this.props[propertyName]) {\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n resolvedSource = resolvedSource.replace(placeHolderToken, this.props[propertyName]);\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n this._debug(`Replaced placeholder ${placeHolderToken} with props property ${this.props[propertyName]}`);\n }\n } else if (this.props.context && this.props.context.request) {\n switch (propertyContext) {\n case 'request':\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n if (this.props.context.request[propertyName]) {\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n resolvedSource = resolvedSource.replace(placeHolderToken, this.props.context.request[propertyName]);\n this._debug(\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n `Replaced placeholder ${placeHolderToken} with request property ${this.props.context.request[propertyName]}`\n );\n }\n\n break;\n case 'user':\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n if (this.props.context.request.user && this.props.context.request.user[propertyName]) {\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n resolvedSource = resolvedSource.replace(placeHolderToken, this.props.context.request.user[propertyName]);\n this._debug(\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n `Replaced placeholder ${placeHolderToken} with user property ${this.props.context.request.user[propertyName]}`\n );\n }\n\n break;\n case 'query':\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n if (this.props.context.request.query && this.props.context.request.query[propertyName]) {\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n resolvedSource = resolvedSource.replace(placeHolderToken, this.props.context.request.query[propertyName]);\n this._debug(\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n `Replaced placeholder ${placeHolderToken} with query parameter ${this.props.context.request.query[propertyName]}`\n );\n }\n\n break;\n default:\n }\n }\n\n return resolvedSource;\n }\n}\n\nexport default ScriptInjector;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\n/**\n * KeyCodes Enum.\n */\nexport enum KeyCodes {\n Back = 8,\n Tab = 9,\n Enter = 13,\n Shift = 16,\n Ctrl = 17,\n Alt = 18,\n Break = 19,\n CapsLock = 20,\n Escape = 27,\n Space = 32,\n PageUp = 33,\n PageDown = 34,\n End = 35,\n Home = 36,\n ArrowLeft = 37,\n ArrowUp = 38,\n ArrowRight = 39,\n ArrowDown = 40,\n Print = 44,\n Insert = 45,\n Delete = 46,\n Colon2 = 59, // Opera and Firefox\n Equals2 = 61, // Opera\n Equals3 = 107, // Firefox\n Minus2 = 109, // Opera and Firefox\n Period = 190,\n WindowsLeft = 91,\n WindowsRight = 92,\n WindowsOpera = 219, // Opera\n Menu = 93,\n NumPad0 = 96,\n NumPad1 = 97,\n NumPad2 = 98,\n NumPad3 = 99,\n NumPad4 = 100,\n NumPad5 = 101,\n NumPad6 = 102,\n NumPad7 = 103,\n NumPad8 = 104,\n NumPad9 = 105,\n NumPadMultiply = 106,\n NumPadPlus = 107,\n NumPadMinus = 109,\n NumPadDot = 110,\n NumPadDivide = 111,\n Function1 = 112,\n Function2 = 113,\n Function3 = 114,\n Function4 = 115,\n Function5 = 116,\n Function6 = 117,\n Function7 = 118,\n Function8 = 119,\n Function9 = 120,\n Function10 = 121,\n Function11 = 122,\n Function12 = 123,\n NavigationUp = 138,\n NavigationDown = 139,\n NavigationLeft = 140,\n NavigationRight = 141,\n NavigationAccept = 142,\n NumLock = 144,\n ScrollLock = 145,\n Colon = 186,\n Equals = 187,\n Comma = 188,\n Minus = 189,\n ForwardSlash = 191,\n Tilde = 192,\n GamepadA = 195,\n GamepadB = 196,\n GamepadX = 197,\n GamepadY = 198,\n GamepadRightButton = 199,\n GamepadLeftButton = 200,\n GamepadLeftTrigger = 201,\n GamepadRightTrigger = 202,\n GamepadDPadUp = 203,\n GamepadDPadDown = 204,\n GamepadDPadLeft = 205,\n GamepadDPadRight = 206,\n GamepadSelect = 207,\n GamepadStart = 208,\n GamepadLeftThumbstick = 209,\n GamepadRightThumbstick = 210,\n GamepadLeftThumbstickUp = 211,\n GamepadLeftThumbstickDown = 212,\n GamepadLeftThumbstickRight = 213,\n GamepadLeftThumbstickLeft = 214,\n GamepadRightThumbstickUp = 215,\n GamepadRightThumbstickDown = 216,\n GamepadRightThumbstickRight = 217,\n GamepadRightThumbstickLeft = 218,\n OpenBracket = 219,\n BackSlash = 220,\n CloseBracket = 221,\n Quote = 222\n}\n\n/**\n * Here for test coverage.\n */\nexport class KeycodesClass {\n public testCoverage(): string {\n return ':(';\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\n/**\n * Format the passed string.\n * @param formatSpecifier - FormatSpecifier.\n * @param parameters -- Any number of parameters.\n * @returns The formated string.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function format(formatSpecifier: string, ...parameters: any[]): string {\n if (!formatSpecifier) {\n return '';\n }\n\n return formatSpecifier.replace(/{(\\d+)}/g, (match: string, index: number) => {\n if (index >= parameters.length) {\n return match;\n }\n\n const value = parameters[index];\n\n if (typeof value !== 'number' && !value) {\n return '';\n }\n\n if (typeof value === 'string') {\n return value;\n }\n\n return value.toString();\n });\n}\n\n/**\n * Determines if the specified string is undefined, null, empty, or whitespace.\n * @param value - The string to examine.\n * @returns - True if the value is undefined, null, empty, or whitespace, otherwise false.\n */\nexport function isNullOrWhiteSpace(value: string): boolean {\n return !value || typeof value !== 'string' || !trim(value);\n}\n\n/**\n * Trims leading and trailing whitespace from the string.\n * @param value - The string to examine.\n * @returns - The trimmed string.\n */\nexport function trim(value: string): string {\n // Any flavor of !value (ie. null/undefined/'') should return itself.\n if (!value || typeof value !== 'string') {\n return value;\n }\n\n if (value.trim) {\n return value.trim();\n }\n\n return value.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determines if the specified string starts with the specified value.\n * @param value - The string to look in.\n * @param prefix - The prefix to look for.\n * @param ignoreCase - Ignore Case.\n * @returns - True if the string starts with the prefix, otherwise false.\n */\nexport function startsWith(value: string, prefix: string, ignoreCase: boolean = true): boolean {\n if (!value || !prefix) {\n return false;\n }\n\n if (ignoreCase) {\n value = value.toLocaleLowerCase();\n prefix = prefix.toLocaleLowerCase();\n }\n\n if (value.startsWith) {\n return value.startsWith(prefix);\n }\n\n return value.startsWith(prefix);\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { isNullOrWhiteSpace, trim } from './string-extensions';\n\n/**\n * Get the text of the element.\n * @param element - HTML element.\n * @returns The content of the element.\n */\nexport function getText(element?: HTMLElement | Element): string {\n return element ? element.textContent || '' : '';\n}\n\n/**\n * Add a css class to an element.\n * @param element - The element to add the css class to.\n * @param cssClass - The css class to add.\n */\nexport function addClass(element: HTMLElement, cssClass: string): void {\n if (element && !isNullOrWhiteSpace(cssClass) && !hasClass(element, cssClass)) {\n if (element.classList) {\n element.classList.add(cssClass);\n } else {\n element.className = trim(`${element.className} ${cssClass}`);\n }\n }\n}\n\n/**\n * Checks for the presence of a css class on an element.\n * @param element - The element to check the css class of.\n * @param cssClass - The css class to check for.\n * @returns True if the element's className has the specified class, otherwise false.\n */\nexport function hasClass(element: HTMLElement, cssClass: string): boolean {\n if (!element || isNullOrWhiteSpace(cssClass)) {\n return false;\n } else if (element.classList) {\n return element.classList.contains(cssClass);\n }\n return `' ' ${element.className} ' '`.includes(`' ' ${trim(cssClass)} ' '`);\n}\n\n/**\n * Convert node list to array.\n * @param nodeList - Node List.\n * @returns Array of the node list.\n */\nexport function nodeListToArray(\n nodeList: NodeListOf | NodeListOf | HTMLCollection | NodeList | NamedNodeMap\n): T[] {\n if (!nodeList) {\n return [];\n }\n\n const elements: T[] = [];\n\n for (let n = 0; n < nodeList.length; n++) {\n elements.push(nodeList[n]);\n }\n\n return elements;\n}\n\n/**\n * Select elements in a context.\n * @param selector - Can be class, id or tag selector.\n * @param [context] - Any element to scope the selection. It's optional. If not provided document will be assumed.\n * @returns HTMLElement[].\n */\nexport function selectElements(selector: string, context?: HTMLElement): HTMLElement[] {\n return selectElementsT(selector, context);\n}\n\n/**\n * Select elements in a context.\n * @param selector - Can be class, id or tag selector.\n * @param [context] - Any element to scope the selection. It's optional. If not provided document will be assumed.\n * @returns T[].\n */\nexport function selectElementsT(selector: string, context?: HTMLElement): T[] {\n if (isNullOrWhiteSpace(selector) || selector === '#') {\n return [];\n }\n\n const currentContext: HTMLElement | Document = context || document;\n\n // Check if the first character is class or id.\n if (/^[#.]?[\\w-]+$/.test(selector)) {\n // eslint-disable-next-line default-case\n switch (selector[0]) {\n case '.':\n if (currentContext.getElementsByClassName) {\n return nodeListToArray(currentContext.getElementsByClassName(selector.slice(1)));\n }\n return nodeListToArray(currentContext.querySelectorAll(selector));\n\n case '#':\n const element = currentContext.querySelector(selector);\n return (element ? [element] : []);\n }\n\n return nodeListToArray(currentContext.getElementsByTagName(selector));\n }\n\n return nodeListToArray(currentContext.querySelectorAll(selector));\n}\n\n/**\n * Sets or gets CSS properties.\n * @param element - HTML Element.\n * @param property - The CSS property name.\n * @param [value] - The value to set on the CSS property.\n * @returns - The value of the CSS property.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function css(element: HTMLElement | Node, property: string, value?: any): any {\n if (!element) {\n return null;\n }\n\n if (value || value === '') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (element).style[property] = value;\n } else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n value = (element).style[property];\n\n if (isNullOrWhiteSpace(value)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n value = getComputedStyle(element as any);\n value = value[property];\n }\n\n return value;\n }\n}\n\n/**\n * Remove all inner HTML from a parent element - used to delete child elements.\n * @param parentElement - The parent element from which all children should be removed.\n */\nexport function removeInnerHtml(parentElement: HTMLElement): void {\n if (parentElement) {\n parentElement.innerHTML = '';\n }\n}\n\n/**\n * Select first element from the selected elements using provided selector.\n * @param selector - Element selector.\n * @param [context] - An optional context to scope the selection.\n * @returns - The first element from the match.\n */\nexport function selectFirstElement(selector: string, context?: HTMLElement): HTMLElement | null {\n const elementsSelected = selectElementsT(selector, context);\n return !elementsSelected || !elementsSelected.length ? null : elementsSelected[0];\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ndeclare let window: any;\n\n/**\n * @name - XDomainRequest\n * @description - typescript declaration for XDomainRequest object.\n * @type {object}\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ndeclare let XDomainRequest: any;\n\n/**\n * PlayerUtilities class.\n * @classdesc - The PlayerOptions class is used to pass player options settings to the player.\n * It supplies default values which can be overridden via overrides passed to the constructor.\n */\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\nexport class PlayerUtility {\n /**\n * @name - pendingAjaxRequests\n * @description - array to hold pending ajax requests.\n * @private\n * @static\n * @returns {any}\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private static readonly pendingAjaxRequests: any = [];\n\n /**\n * Gets request data using ajax call.\n * @param url - Url from where to fetch data.\n * @param done - On success callback function.\n * @param failed - On failed callback function.\n */\n public static ajax(url: string, done: Function, failed?: Function): void {\n if (!url) {\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let ajaxRequest: any = null;\n\n // For IE 9 and below use XDomainRequest\n if (window.XDomainRequest) {\n ajaxRequest = new XDomainRequest();\n\n ajaxRequest.addEventListener('load', () => {\n done && done(ajaxRequest.responseText);\n PlayerUtility._removeFromPendingAjaxRequests(ajaxRequest);\n });\n\n // IE8 and IE9 have a bug where garbage collector will clear XDomainRequest object\n // before the call is completed. Thus add a reference to the object so that request\n // is not aborted by garbage collector.\n PlayerUtility.pendingAjaxRequests.push(ajaxRequest);\n } else if (window.XMLHttpRequest) {\n ajaxRequest = new XMLHttpRequest();\n\n ajaxRequest.onreadystatechange = () => {\n if (ajaxRequest.readyState === 4) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let result: any = null;\n if (ajaxRequest.status === 200) {\n result = ajaxRequest.responseText;\n }\n done && done(result);\n } else {\n // The following console.log useful for debugging and is left in commented out for easy restoration.\n // console.log('Localization-helper: readystate(' + xhttp.readyState + ') status(' + xhttp.status + ')');\n }\n };\n }\n\n // Attach common event handlers and make the request.\n if (ajaxRequest) {\n ajaxRequest.ontimeout = ajaxRequest.addEventListener('error', () => {\n PlayerUtility._removeFromPendingAjaxRequests(ajaxRequest);\n failed && failed();\n });\n ajaxRequest.open('GET', url, true);\n ajaxRequest.send();\n }\n }\n\n /**\n * Removes object from array to hold pending ajax requests.\n * @param obj - Object.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private static _removeFromPendingAjaxRequests(obj: any): void {\n // When the call is completed remove it from the array\n let index = -1;\n for (let i = 0; i < PlayerUtility.pendingAjaxRequests.length; i++) {\n if (obj === PlayerUtility.pendingAjaxRequests[i]) {\n index = i;\n break;\n }\n }\n if (index >= 0) {\n PlayerUtility.pendingAjaxRequests.splice(index, 1);\n }\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\n/**\n * Client Dimension Interface.\n */\nexport interface IClientDimension {\n width: number;\n height: number;\n}\n\n/**\n * Dictionary String Interface.\n */\nexport interface IDictionaryStringString {\n [key: string]: string;\n}\n\n/**\n * @interface IGrid\n * @classdesc - The IGrid interface contract.\n */\nexport interface IGrid {\n rows: number;\n columns: number;\n}\n\n/**\n * Clamp position between a range.\n * @param value - Value to be clamped.\n * @param min - Minimum value in range.\n * @param max - Maximum value in range.\n * @returns The clap value if min passed is less than max else returns 0.\n */\nexport function clamp(value: number, min: number, max: number): number {\n if (min <= max) {\n return Math.min(Math.max(value, min), max);\n }\n return 0;\n}\n\n/**\n * Upper case the first letter of the string, if only one char exists on the string, uppercase it.\n * @param value - Value to be upper cased.\n * @returns The upper cased string of the passed value, if it has just one char uppercase it.\n */\nexport function toUpperCaseFirstChar(value: string): string {\n if (value.length > 1) {\n return value.charAt(0).toUpperCase() + value.substr(1);\n }\n if (value.length === 1) {\n return value.charAt(0).toUpperCase();\n }\n return '';\n}\n\n/**\n * HTML collectio to Array.\n * @param nodeList - Html Collection.\n * @returns - An array of the HTML Element.\n */\nexport function htmlCollectionToArray(nodeList: HTMLCollection): HTMLElement[] {\n return Array.prototype.slice.call(nodeList);\n}\n\n/**\n * Get CSS for the Element.\n * @param element - The HTML Element.\n * @param property - The HTML property.\n * @returns - The value of the required property.\n */\nexport function getCSS(element: HTMLElement, property: string): string {\n let style = element.style[property];\n\n if (!style) {\n style = getComputedStyle(element)[property];\n }\n\n return style;\n}\n\n/**\n * Create Throttled Event.\n * @param listener - The Event Listener.\n * @param threshold - The threshold number.\n * @returns The event.\n */\nexport function createThrottledEvent(listener: EventListener, threshold: number): (event: Event) => void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let timer: any;\n let last = 0;\n\n return (event: Event) => {\n const now = Date.now();\n\n if (timer) {\n clearTimeout(timer);\n timer = undefined;\n }\n\n if (last && now < last + threshold) {\n timer = setTimeout(() => {\n last = Date.now();\n listener(event);\n }, threshold - (now - last));\n } else {\n last = now;\n listener(event);\n }\n };\n}\n\n/**\n * Add the Throrrled Event.\n * @param target - Event Targer.\n * @param name - Name of the Event.\n * @param listener - The Event Listener.\n * @param threshold - The Threshold number.\n * @returns - Returns the Throttled Event.\n */\nexport function addThrottledEvent(\n target: EventTarget,\n name: string,\n listener: EventListener,\n threshold: number = 150\n): (event: Event) => void {\n const throttledEventHandler = createThrottledEvent(listener, threshold);\n target.addEventListener(name, throttledEventHandler, false);\n\n return throttledEventHandler;\n}\n\n/**\n * Map the CSS to the modules.\n * @param className - Class name.\n * @param cssModule - CSS modules.\n * @returns - Returns the map CSS.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function mapToCssModules(className: string = '', cssModule: any): string {\n if (!cssModule) {\n return className;\n }\n\n return className\n .split(' ')\n .map((c: string) => cssModule[c] || c)\n .join(' ');\n}\n\n/**\n * Check the raget object is reference.\n * @param target - Target object.\n * @returns Returns boolean.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function isRef(target: any): boolean {\n if (!target) {\n return false;\n }\n\n return (>target).current !== undefined;\n}\n\n/**\n * Check if the passed target is element.\n * @param target - Target element.\n * @returns Returns boolean.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function isElement(target: any): boolean {\n if (!target) {\n return false;\n }\n\n return (target).addEventListener !== undefined;\n}\n\n/**\n * KeyCodes Enum.\n */\nexport const keyCodes = {\n esc: 27,\n space: 32,\n tab: 9,\n up: 38,\n down: 40,\n enter: 13\n};\n\n/**\n * Map Interface.\n */\ninterface IMap {\n [key: string]: T;\n}\nconst warned: IMap = {};\n\n/**\n * Warn once.\n * @param message - Message to warned.\n */\nexport function warnOnce(message: string): void {\n if (!warned[message]) {\n if (typeof console !== 'undefined') {\n throw new Error(message);\n }\n warned[message] = true;\n }\n}\n\n/**\n * Can use DOM..\n */\nexport const canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\n/**\n * Find the required DOM element.\n * @param target - Targert Dom Element.\n * @returns - The DOM Element or string or null.\n */\nexport function findDOMElements(target: string): NodeListOf | string | null {\n try {\n if (typeof target === 'string' && canUseDOM) {\n let selection = document.querySelectorAll(target);\n\n if (!selection.length) {\n selection = document.querySelectorAll(`#${target}`);\n }\n\n if (!selection.length) {\n throw new Error();\n }\n return selection;\n }\n\n return target;\n } catch {\n console.error(`The target '${target}' could not be identified in the dom, tip: check spelling`);\n return null;\n }\n}\n\n/**\n * Get the Target element.\n * @param target - Target Element.\n * @returns - Returns the HTMLElement or null or string.\n */\nexport function getTarget(target: string | HTMLElement | React.Ref): HTMLElement | React.Ref | null | string {\n const selection = findDOMElements(target);\n if (selection && selection.length) {\n return selection[0];\n }\n\n return target;\n}\n\n/**\n * Get the Target element.\n * @param target - Target Element.\n * @returns - Returns the HTMLElement or null or string.\n */\nexport function getTargetElement(target: string | HTMLElement | React.Ref): HTMLElement | null {\n const targetElement = getTarget(target);\n if (isRef(targetElement)) {\n return (>targetElement).current;\n }\n if (isElement(targetElement)) {\n return targetElement;\n }\n\n return null;\n}\n\n/**\n * Transition Timeouts.\n */\nexport const TransitionTimeouts = {\n Fade: 150,\n Collapse: 350,\n Modal: 300,\n Carousel: 600\n};\n\n/**\n * Transition Statuses.\n */\nexport type TransitionStatuses = 'entering' | 'entered' | 'exiting' | 'exited';\n\n/**\n * Focusable Elements.\n */\nexport const focusableElements = [\n 'a[href]',\n 'area[href]',\n 'input:not([disabled]):not([type=hidden])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n 'button:not([disabled])',\n 'iframe',\n 'object',\n 'embed',\n '[tabindex]:not(.modal)',\n 'audio[controls]',\n 'video[controls]',\n '[contenteditable]:not([contenteditable=\"false\"])'\n];\n\n/**\n * Extends an object with properties/values from one or more others.\n * @param parameters - The objects to merge together.\n * @returns - The extended object.\n */\n// eslint-disable-next-line complexity, @typescript-eslint/no-explicit-any\nexport function extend(...parameters: any[]): any {\n if (!parameters || !parameters.length) {\n return null;\n }\n\n const recursive = typeof parameters[0] === 'boolean' && parameters[0];\n\n if (parameters.length < 2) {\n return recursive ? null : parameters[0];\n }\n\n if (recursive && parameters.length < 3) {\n return parameters[1];\n }\n\n const target = recursive ? parameters[1] : parameters[0];\n\n for (let paramIndex = recursive ? 2 : 1; paramIndex < parameters.length; paramIndex++) {\n if (parameters[paramIndex] !== undefined) {\n for (const key of Object.keys(parameters[paramIndex])) {\n if (parameters[paramIndex].hasOwnProperty(key)) {\n const source = parameters[paramIndex][key];\n\n if (recursive) {\n let isSourceArray = Array.isArray ? Array.isArray(source) : {}.toString.call(source) === '[object Array]';\n let isTargetArray =\n !!target[key] &&\n (Array.isArray ? Array.isArray(target[key]) : {}.toString.call(target[key]) === '[object Array]');\n let isSourceObject = !isSourceArray && typeof source === 'object';\n let isTargetObject = !isTargetArray && !!target[key] && typeof target[key] === 'object';\n\n if (isSourceArray && isTargetArray) {\n for (const [arrayIndex, element] of source.entries()) {\n isSourceArray = Array.isArray ? Array.isArray(element) : {}.toString.call(element) === '[object Array]';\n isTargetArray =\n !!target[key][arrayIndex] &&\n (Array.isArray\n ? Array.isArray(target[key][arrayIndex])\n : {}.toString.call(target[key][arrayIndex]) === '[object Array]');\n isSourceObject = !isSourceArray && typeof element === 'object';\n isTargetObject = !isTargetArray && !!target[key][arrayIndex] && typeof target[key][arrayIndex] === 'object';\n\n if (isSourceArray) {\n target[key][arrayIndex] = extend(true, isTargetArray ? target[key][arrayIndex] : [], element);\n } else if (isSourceObject) {\n target[key][arrayIndex] = extend(true, isTargetObject ? target[key][arrayIndex] : {}, element);\n } else {\n target[key][arrayIndex] = element;\n }\n }\n continue;\n } else if (isSourceArray) {\n target[key] = extend(true, [], source);\n continue;\n } else if (isSourceObject) {\n target[key] = extend(true, isTargetObject ? target[key] : {}, source);\n continue;\n }\n }\n\n target[key] = source;\n }\n }\n }\n }\n\n return target;\n}\n\n/**\n * Gets the dimension of an element.\n * @param containerElement - The container element.\n * @returns - {IClientDimension} - The client dimension.\n * {IClientDimension.width} - The client width.\n * {IClientDimension.height} - The client height.\n */\nexport function getDimensions(containerElement: HTMLElement): IClientDimension | null {\n if (containerElement === null) {\n return null;\n }\n return {\n width: containerElement.clientWidth,\n height: containerElement.clientHeight\n };\n}\n\n/**\n * Check if the browser is Safari or not.\n * @returns Ture or false.\n */\nexport function isSafari(): boolean {\n if (navigator.vendor && navigator.userAgent) {\n return navigator.vendor.includes('Apple') && !navigator.userAgent.includes('CriOS') && !navigator.userAgent.includes('FxiOS');\n }\n return false;\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IComponent, IComponentProps, msdyn365Commerce } from '@msdyn365-commerce/core';\nimport { ProductPrice, ProductType, SalesAgreementPriceLine, SimpleProduct } from '@msdyn365-commerce/retail-proxy';\nimport { Button, format, ICollapseProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nconst defaultPrice: number = 0;\nconst freePrice: number = 0;\n\n/**\n * Interface for price component resources.\n * @param {string} priceRangeSeparator - The price range separator.\n */\nexport interface IPriceComponentResources {\n priceRangeSeparator?: string;\n salesAgreementPricePrompt?: string;\n salesAgreementExpirationDatePrompt?: string;\n salesAgreementCommittedQuantityPrompt?: string;\n salesAgreementRemainingQuantityPrompt?: string;\n}\n\n/**\n * Interface for price component props.\n * @param {boolean} isPriceMinMaxEnabled - Whether the price range feature is enabled or not.\n * @param {IPriceComponentResources} priceResources - The price range resources.\n */\nexport interface IPriceComponentProps extends IComponentProps<{ price: ProductPrice }> {\n className?: string;\n product?: SimpleProduct;\n savingsText?: string;\n freePriceText?: string;\n originalPriceText?: string;\n currentPriceText?: string;\n isPriceMinMaxEnabled?: boolean;\n isSalesAgreementPriceFeatureEnabled?: boolean;\n salesAgreementLineId?: number;\n priceResources?: IPriceComponentResources;\n salesAgreementDetailCollapseProps?: ICollapseProps;\n currencyCode?: string;\n salesAgreementDetailOnClick?(event: React.MouseEvent | React.KeyboardEvent): void;\n}\n\n/**\n * The interface of price component.\n */\nexport interface IPriceComponent extends IComponent {}\n\nconst priceComponentActions = {};\n\n/**\n * Get the original price from price component props.\n * @param props - The IPriceComponentProps.\n * @returns The original price.\n */\nconst getOriginalPrice = (props: IPriceComponentProps): number => {\n return props.data.price.AdjustedPrice ?? props.data.price.TradeAgreementPrice ?? props.data.price.BasePrice ?? defaultPrice;\n};\n\nconst getActivePrice = (props: IPriceComponentProps): number => {\n if (showPriceRangeForMasterProduct(props) && props.data.price.MinVariantPrice !== undefined) {\n return props.data.price.MinVariantPrice;\n }\n\n if (props.data.price.CustomerContextualPrice !== undefined) {\n return props.data.price.CustomerContextualPrice;\n }\n\n return getOriginalPrice(props);\n};\n\n/**\n * Get the formatted currency.\n * @param props - The props.\n * @param price - The price.\n * @param shouldUseFreePriceText - The shouldUseFreePriceText.\n * @returns The formatted currency.\n */\nconst formatCurrency = (\n props: IPriceComponentProps,\n price: number | undefined,\n shouldUseFreePriceText: boolean | undefined,\n currencyCode?: string | undefined\n): string => {\n if (price === undefined) {\n return '';\n }\n\n if (shouldUseFreePriceText && price === freePrice && props.freePriceText) {\n return props.freePriceText;\n }\n\n return props.context.cultureFormatter.formatCurrency(price, currencyCode);\n};\n\nconst showPriceRangeForMasterProduct = (props: IPriceComponentProps): boolean => {\n return (\n (props.isPriceMinMaxEnabled ?? false) &&\n (props.product?.ProductTypeValue === ProductType.Master || props.product?.ProductTypeValue === ProductType.KitMaster) &&\n props.data.price.MinVariantPrice !== undefined &&\n props.data.price.MaxVariantPrice !== undefined\n );\n};\n\n/**\n * ShowStrikethroughPricing.\n * @param props - The props.\n * @returns True if showStrikethroughPricing, false otherwise.\n */\nconst showStrikethroughPricing = (props: IPriceComponentProps): boolean => {\n const originalSalesPrice = getOriginalPrice(props);\n const activeSalesPrice = showPriceRangeForMasterProduct(props)\n ? props.data.price.MinVariantPrice\n : props.data.price.CustomerContextualPrice;\n\n if (activeSalesPrice && originalSalesPrice) {\n return activeSalesPrice < originalSalesPrice;\n }\n\n return false;\n};\n\n/**\n * Render current price.\n * @param props - The props.\n * @returns The JSX.Element.\n */\nconst renderCurrentPrice = (props: IPriceComponentProps): JSX.Element => {\n const maxVariantPrice: string = formatCurrency(props, props.data.price.MaxVariantPrice, false, props.currencyCode);\n const minVariantPrice: string = formatCurrency(props, props.data.price.MinVariantPrice, false, props.currencyCode);\n if (\n props.isPriceMinMaxEnabled &&\n props.data.price.MaxVariantPrice &&\n props.data.price.MinVariantPrice &&\n props.data.price.MaxVariantPrice > props.data.price.MinVariantPrice\n ) {\n return (\n \n \n {minVariantPrice}\n \n \n {props.priceResources?.priceRangeSeparator}\n \n \n {maxVariantPrice}\n \n \n );\n }\n\n return (\n \n {formatCurrency(props, getActivePrice(props), true, props.currencyCode)}\n \n );\n};\n\n/**\n * Render active sales price with original sales price.\n * @param props - The props.\n * @returns The JSX.Element.\n */\nconst renderCurrentPriceWithOriginalPrice = (props: IPriceComponentProps): JSX.Element => {\n const initialPrice: string = formatCurrency(props, getOriginalPrice(props), true);\n\n return (\n <>\n \n {` `}\n {props.originalPriceText}\n {` `}\n {initialPrice}\n {` `}\n {props.currentPriceText}\n {` `}\n {renderCurrentPrice(props)}\n \n \n \n {props.savingsText && {props.savingsText}}\n \n );\n};\n\nconst renderSalesAgreementDetail = (props: IPriceComponentProps): JSX.Element => {\n // In most cases there should be only one sales agreement line.\n // If there are more than one, only the first one will be shown.\n const firstPriceLine: SalesAgreementPriceLine = (props.data.price.AttainablePriceLines ?? [])[0] as SalesAgreementPriceLine;\n return (\n

\n

\n {/* Available date */}\n {` · ${format(\n props.priceResources?.salesAgreementExpirationDatePrompt ?? '',\n props.context.cultureFormatter.formatDate(firstPriceLine.EffectiveDate as Date),\n props.context.cultureFormatter.formatDate(firstPriceLine.ExpirationDate as Date)\n )}`}\n

\n

\n {/* Quantity commitment */}\n {` · ${format(props.priceResources?.salesAgreementCommittedQuantityPrompt ?? '', firstPriceLine.CommittedQuantity)}`}\n

\n

\n {/* Remaining quantity to qualify */}\n {` · ${format(props.priceResources?.salesAgreementRemainingQuantityPrompt ?? '', firstPriceLine.RemainingQuantity)}`}\n

\n

\n );\n};\n\n/**\n * Price.\n * @param props - The props.\n * @returns The JSX.Element.\n */\nconst Price: React.FC = (props: IPriceComponentProps): JSX.Element | null => {\n // CustomerContextualPrice could be zero\n if (props.data.price.CustomerContextualPrice === undefined) {\n return null;\n }\n\n // Determine if contract price is avaiable/applied by:\n // isFeatureEnabled and SA price != 0, for PDP.\n // SA line id != 0, for cart line.\n if (props.isSalesAgreementPriceFeatureEnabled && props.data.price.SalesAgreementPrice !== 0) {\n const [isExpanded, setIsExpanded] = React.useState(false);\n const toggle = () => {\n setIsExpanded(!isExpanded);\n };\n return (\n \n \n

\n {formatCurrency(props, props.data.price.SalesAgreementPrice ?? props.data.price.CustomerContextualPrice, true)}\n

\n \n {props.priceResources?.salesAgreementPricePrompt}\n \n {isExpanded && renderSalesAgreementDetail(props)}\n
\n
\n );\n }\n\n return (\n \n {showStrikethroughPricing(props) ? renderCurrentPriceWithOriginalPrice(props) : renderCurrentPrice(props)}\n \n );\n};\n\n/**\n * The PriceComponent.\n */\nexport const PriceComponent: React.FunctionComponent = msdyn365Commerce.createComponent('Price', {\n component: Price,\n ...priceComponentActions\n});\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { FullProduct } from '@msdyn365-commerce/commerce-entities';\nimport { ICoreContext, IImageSettings, Image } from '@msdyn365-commerce/core';\nimport { getFallbackImageUrl } from '@msdyn365-commerce-modules/retail-actions';\nimport * as React from 'react';\n\nexport interface IOrderTemplateProductsPreviewComponentProps {\n className: string;\n products: FullProduct[];\n context: ICoreContext;\n imageSettings?: IImageSettings;\n}\n\nexport const OrderTemplateProductsPreviewComponent = (props: IOrderTemplateProductsPreviewComponentProps) => {\n const { products, className, imageSettings } = props;\n\n return (\n
\n {renderOrderTemplateImages(props.context, `${className}__products`, products, imageSettings)}\n
\n );\n};\n\nconst renderOrderTemplateImage = (context: ICoreContext, className: string, product: FullProduct, imageSettings?: IImageSettings) => {\n const defaultImageSettings: IImageSettings = {\n viewports: {\n xs: { q: 'w=140&h=140&m=6', w: 0, h: 0 },\n lg: { q: 'w=140&h=140&m=6', w: 0, h: 0 },\n xl: { q: 'w=140&h=140&m=6', w: 0, h: 0 }\n },\n lazyload: true\n };\n return (\n
\n \n
\n );\n};\n\nconst renderOrderTemplateImages = (\n context: ICoreContext,\n className: string,\n products: FullProduct[],\n imageSettings?: IImageSettings\n): JSX.Element | null => {\n return (\n
\n
\n
\n {products.length > 0 && renderOrderTemplateImage(context, className, products[0], imageSettings)}\n
\n
\n {products.length > 1 && renderOrderTemplateImage(context, className, products[1], imageSettings)}\n
\n
\n
\n
\n {products.length > 2 && renderOrderTemplateImage(context, className, products[2], imageSettings)}\n
\n
\n {products.length > 3 && renderOrderTemplateImage(context, className, products[3], imageSettings)}\n
\n
\n
\n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IPlayerResources } from '../data';\nimport { IDictionaryStringString } from '../utilities';\n\n/**\n * @name - ccCultureLocStrings\n * @description - The localized names for the close caption menu options.\n * @constant\n * @type {IDictionaryStringString}\n */\nexport const ccCultureLocStrings: IDictionaryStringString = {\n 'ar-ab': 'عربي',\n 'ar-xm': 'عربي',\n 'ar-ma': 'عربي',\n 'ar-sa': 'عربي',\n 'eu-es': 'Euskara',\n 'bg-bg': 'Български',\n 'ca-es': 'Català',\n 'zh-cn': '简体中文',\n 'zh-hk': '繁體中文',\n 'zh-tw': '繁體中文',\n 'hr-hr': 'Hrvatski',\n 'cs-cz': 'Čeština',\n 'da-dk': 'Dansk',\n 'nl-be': 'Nederlands',\n 'nl-nl': 'Nederlands',\n 'en-ab': 'English',\n 'en-aa': 'English',\n 'en-au': 'English',\n 'en-ca': 'English',\n 'en-eu': 'English',\n 'en-hk': 'English',\n 'en-in': 'English',\n 'en-id': 'English',\n 'en-ie': 'English',\n 'en-jm': 'English',\n 'en-my': 'English',\n 'en-nz': 'English',\n 'en-pk': 'English',\n 'en-ph': 'English',\n 'en-sg': 'English',\n 'en-za': 'English',\n 'en-tt': 'English',\n 'en-gb': 'English',\n 'en-us': 'English',\n 'et-ee': 'Eesti',\n 'fi-fi': 'Suomi',\n 'fr-ab': 'Français',\n 'fr-be': 'Français',\n 'fr-ca': 'Français',\n 'fr-fr': 'Français',\n 'fr-xf': 'Français',\n 'fr-ch': 'Français',\n 'gl-es': 'Galego',\n 'de-de': 'Deutsch',\n 'de-at': 'Deutsch',\n 'de-ch': 'Deutsch',\n 'el-gr': 'Ελληνικά',\n 'he-il': 'עברית',\n 'hi-in': 'हिंदी',\n 'hu-hu': 'Magyar',\n 'is-is': 'Íslenska',\n 'id-id': 'Bahasa Indonesia',\n 'it-it': 'Italiano',\n 'ja-jp': '日本語',\n 'kk-kz': 'Қазақ',\n 'ko-kr': '한국어',\n 'lv-lv': 'Latviešu',\n 'lt-lt': 'Lietuvių',\n 'ms-my': 'Bahasa Melayu (Asia Tenggara)‎',\n 'nb-no': 'Norsk (bokmål)',\n 'nn-no': 'Norsk (nynorsk)',\n 'fa-ir': 'فارسی',\n 'pl-pl': 'Polski',\n 'pt-br': 'Português (Brasil)‎',\n 'pt-pt': 'Português (Portugal)‎',\n 'ro-ro': 'Română',\n 'ru-ru': 'Русский',\n 'sr-latn-rs': 'Srpski',\n 'sk-sk': 'Slovenčina',\n 'sl-si': 'Slovenski',\n 'es-ar': 'Español',\n 'es-cl': 'Español',\n 'es-co': 'Español',\n 'es-cr': 'Español',\n 'es-do': 'Español',\n 'es-ec': 'Español',\n 'es-us': 'Español',\n 'es-gt': 'Español',\n 'es-hn': 'Español',\n 'es-xl': 'Español',\n 'es-mx': 'Español',\n 'es-ni': 'Español',\n 'es-pa': 'Español',\n 'es-py': 'Español',\n 'es-pe': 'Español',\n 'es-pr': 'Español',\n 'es-es': 'Español',\n 'es-uy': 'Español',\n 'es-ve': 'Español',\n 'sv-se': 'Svenska',\n 'tl-ph': 'Tagalog',\n 'th-th': 'ไทย',\n 'tr-tr': 'Türkçe',\n 'uk-ua': 'Українська',\n 'ur-pk': 'اردو',\n 'vi-vn': 'Tiếng Việt'\n};\n\n/**\n * @name - ccLanguageCodes\n * @description - The 2 character language codes for use with the lang attribute .\n * @constant\n * @type {IDictionaryStringString}\n */\nexport const ccLanguageCodes: IDictionaryStringString = {\n 'ar-ab': 'ar',\n 'ar-xm': 'ar',\n 'ar-ma': 'ar',\n 'ar-sa': 'ar',\n 'eu-es': 'eu',\n 'bg-bg': 'bg',\n 'ca-es': 'ca',\n 'zh-cn': 'zh',\n 'zh-hk': 'zh',\n 'zh-tw': 'zh',\n 'hr-hr': 'hr',\n 'cs-cz': 'cs',\n 'da-dk': 'da',\n 'nl-be': 'nl',\n 'nl-nl': 'nl',\n 'en-ab': 'en',\n 'en-aa': 'en',\n 'en-au': 'en',\n 'en-ca': 'en',\n 'en-eu': 'en',\n 'en-hk': 'en',\n 'en-in': 'en',\n 'en-id': 'en',\n 'en-ie': 'en',\n 'en-jm': 'en',\n 'en-my': 'en',\n 'en-nz': 'en',\n 'en-pk': 'en',\n 'en-ph': 'en',\n 'en-sg': 'en',\n 'en-za': 'en',\n 'en-tt': 'en',\n 'en-gb': 'en',\n 'en-us': 'en',\n 'et-ee': 'et',\n 'fi-fi': 'fi',\n 'fr-ab': 'fr',\n 'fr-be': 'fr',\n 'fr-ca': 'fr',\n 'fr-fr': 'fr',\n 'fr-xf': 'fr',\n 'fr-ch': 'fr',\n 'gl-es': 'gl',\n 'de-de': 'de',\n 'de-at': 'de',\n 'de-ch': 'de',\n 'el-gr': 'el',\n 'he-il': 'he',\n 'hi-in': 'hi',\n 'hu-hu': 'hu',\n 'is-is': 'is',\n 'id-id': 'id',\n 'it-it': 'it',\n 'ja-jp': 'ja',\n 'kk-kz': 'kk',\n 'ko-kr': 'ko',\n 'lv-lv': 'lv',\n 'lt-lt': 'lt',\n 'ms-my': 'ms‎',\n 'nb-no': 'nb',\n 'nn-no': 'nn',\n 'fa-ir': 'fa',\n 'pl-pl': 'pl',\n 'pt-br': 'pt‎',\n 'pt-pt': 'pt‎',\n 'ro-ro': 'ro',\n 'ru-ru': 'ru',\n 'sr-latn-rs': 'sr',\n 'sk-sk': 'sk',\n 'sl-si': 'sl',\n 'es-ar': 'es',\n 'es-cl': 'es',\n 'es-co': 'es',\n 'es-cr': 'es',\n 'es-do': 'es',\n 'es-ec': 'es',\n 'es-us': 'es',\n 'es-gt': 'es',\n 'es-hn': 'es',\n 'es-xl': 'es',\n 'es-mx': 'es',\n 'es-ni': 'es',\n 'es-pa': 'es',\n 'es-py': 'es',\n 'es-pe': 'es',\n 'es-pr': 'es',\n 'es-es': 'es',\n 'es-uy': 'es',\n 'es-ve': 'es',\n 'sv-se': 'sv',\n 'tl-ph': 'tl',\n 'th-th': 'th',\n 'tr-tr': 'tr',\n 'uk-ua': 'uk',\n 'ur-pk': 'ur',\n 'vi-vn': 'vi'\n};\n\n/**\n * @name - playerLocKeys\n * @description - Key names to get localized values.\n * @constant\n */\nexport const PlayerLocKeys = {\n audio_tracks: 'audio_tracks',\n closecaption_off: 'closecaption_off',\n audio_tracks_default: 'audio_tracks_default',\n geolocation_error: 'geolocation_error',\n media_err_aborted: 'media_err_aborted',\n media_err_decode: 'media_err_decode',\n media_err_network: 'media_err_network',\n media_err_src_not_supported: 'media_err_src_not_supported',\n media_err_unknown_error: 'media_err_unknown_error',\n media_err_amp_encrypt: 'media_err_amp_encrypt',\n media_err_amp_player_mismatch: 'media_err_amp_player_mismatch',\n browserunsupported: 'browserunsupported',\n browserunsupported_download: 'browserunsupported_download',\n expand: 'expand',\n mute: 'mute',\n nullvideoerror: 'nullvideoerror',\n pause: 'pause',\n play: 'play',\n play_video: 'play_video',\n playing: 'playing',\n paused: 'paused',\n play_pause_button_tooltip: 'play_pause_button_tooltip',\n live_caption: 'live_caption',\n live_label: 'live_label',\n playbackerror: 'playbackerror',\n standarderror: 'standarderror',\n time: 'time',\n more_caption: 'more_caption',\n data_error: 'data_error',\n seek: 'seek',\n unexpand: 'unexpand',\n unmute: 'unmute',\n volume: 'volume',\n quality: 'quality',\n quality_hd: 'quality_hd',\n quality_hq: 'quality_hq',\n quality_lo: 'quality_lo',\n quality_sd: 'quality_sd',\n quality_auto: 'quality_auto',\n cc_customize: 'cc_customize',\n cc_text_font: 'cc_text_font',\n cc_text_color: 'cc_text_color',\n cc_color_black: 'cc_color_black',\n cc_color_blue: 'cc_color_blue',\n cc_color_cyan: 'cc_color_cyan',\n cc_color_green: 'cc_color_green',\n cc_color_grey: 'cc_color_grey',\n cc_color_magenta: 'cc_color_magenta',\n cc_color_red: 'cc_color_red',\n cc_color_white: 'cc_color_white',\n cc_color_yellow: 'cc_color_yellow',\n cc_font_name_casual: 'cc_font_name_casual',\n cc_font_name_cursive: 'cc_font_name_cursive',\n cc_font_name_monospacedsansserif: 'cc_font_name_monospacedsansserif',\n cc_font_name_proportionalsansserif: 'cc_font_name_proportionalsansserif',\n cc_font_name_monospacedserif: 'cc_font_name_monospacedserif',\n cc_font_name_proportionalserif: 'cc_font_name_proportionalserif',\n cc_font_name_smallcapitals: 'cc_font_name_smallcapitals',\n cc_text_size: 'cc_text_size',\n cc_text_size_default: 'cc_text_size_default',\n cc_text_size_extralarge: 'cc_text_size_extralarge',\n cc_text_size_large: 'cc_text_size_large',\n cc_text_size_maximum: 'cc_text_size_maximum',\n cc_text_size_small: 'cc_text_size_small',\n cc_appearance: 'cc_appearance',\n cc_preset1: 'cc_preset1',\n cc_preset2: 'cc_preset2',\n cc_preset3: 'cc_preset3',\n cc_preset4: 'cc_preset4',\n cc_preset5: 'cc_preset5',\n cc_presettings: 'cc_presettings',\n cc_text_background_color: 'cc_text_background_color',\n cc_text_background_opacity: 'cc_text_background_opacity',\n cc_text_opacity: 'cc_text_opacity',\n cc_percent_0: 'cc_percent_0',\n cc_percent_100: 'cc_percent_100',\n cc_percent_25: 'cc_percent_25',\n cc_percent_50: 'cc_percent_50',\n cc_percent_75: 'cc_percent_75',\n cc_text_edge_color: 'cc_text_edge_color',\n cc_text_edge_style: 'cc_text_edge_style',\n cc_text_edge_style_depressed: 'cc_text_edge_style_depressed',\n cc_text_edge_style_dropshadow: 'cc_text_edge_style_dropshadow',\n cc_text_edge_style_none: 'cc_text_edge_style_none',\n cc_text_edge_style_raised: 'cc_text_edge_style_raised',\n cc_text_edge_style_uniform: 'cc_text_edge_style_uniform',\n cc_window_color: 'cc_window_color',\n cc_window_opacity: 'cc_window_opacity',\n cc_reset: 'cc_reset',\n closecaption: 'closecaption',\n close_text: 'close_text',\n playbackspeed: 'playbackspeed',\n playbackspeed_normal: 'playbackspeed_normal',\n sharing_label: 'sharing_label',\n sharing_facebook: 'sharing_facebook',\n sharing_twitter: 'sharing_twitter',\n sharing_linkedin: 'sharing_linkedin',\n sharing_skype: 'sharing_skype',\n sharing_mail: 'sharing_mail',\n sharing_copy: 'sharing_copy',\n loading_value_text: 'loading_value_text',\n loading_aria_label: 'loading_aria_label',\n descriptive_audio: 'descriptive_audio',\n unknown_language: 'unknown_language',\n download_label: 'download_label',\n download_transcript: 'download_transcript',\n download_audio: 'download_audio',\n download_video: 'download_video',\n download_videoWithCC: 'download_videoWithCC',\n agegate_day: 'agegate_day',\n agegate_month: 'agegate_month',\n agegate_year: 'agegate_year',\n agegate_enterdate: 'agegate_enterdate',\n agegate_enterdate_arialabel: 'agegate_enterdate_arialabel',\n agegate_fail: 'agegate_fail',\n agegate_verifyyourage: 'agegate_verifyyourage',\n agegate_submit: 'agegate_submit',\n agegate_dateorder: 'agegate_dateorder',\n previous_menu_aria_label: 'previous_menu_aria_label',\n reactive_menu_aria_label: 'reactive_menu_aria_label',\n reactive_menu_aria_label_closedcaption: 'reactive_menu_aria_label_closedcaption',\n interactivity_show: 'interactivity_show',\n interactivity_hide: 'interactivity_hide'\n};\n\n/**\n * Localization Constants.\n */\nexport const LocalizationConstants = {\n playVideoAriaLabel: 'play video',\n playAriaLabel: 'play',\n pauseAriaLabel: 'pause',\n closeAriaLabel: 'close',\n optionAriaLabel: 'More options',\n muteAriaLabel: 'mute',\n unMuteAriaLabel: 'unmute',\n fullScreenAriaLabel: 'full screen',\n exitFullScreenAriaLabel: 'exit full screen',\n playingAriaLabel: 'paying',\n pausedAriaLabel: 'paused',\n seekBarLabel: 'Seek bar',\n sliderThumbLabel: 'Slider thumb',\n volumeThumbLabel: 'Volume thumb',\n videoTimeDurationLabel: 'Video time duration',\n closedCaptionLabel: 'Closed caption',\n audio_tracks: 'Audio Tracks',\n descriptive_audio: 'Audio descriptions',\n closecaption_off: 'Off',\n audio_tracks_default: 'Default Track',\n cc_customize: 'Customize',\n cc_text_font: 'Font',\n cc_text_color: 'Text color',\n cc_color_black: 'Black',\n cc_color_blue: 'Blue',\n cc_color_cyan: 'Cyan',\n cc_color_green: 'Green',\n cc_color_grey: 'Grey',\n cc_color_magenta: 'Magenta',\n cc_color_red: 'Red',\n cc_color_white: 'White',\n cc_color_yellow: 'Yellow',\n cc_font_name_casual: 'Casual',\n cc_font_name_cursive: 'Cursive',\n cc_font_name_monospacedsansserif: 'Monospaced Sans Serif',\n cc_font_name_monospacedserif: 'Monospaced Serif',\n cc_font_name_proportionalserif: 'Proportional Serif',\n cc_font_name_proportionalsansserif: 'Proportional Sans Serif',\n cc_font_name_smallcapitals: 'Small Capitals',\n cc_text_size: 'Text size',\n cc_text_size_default: 'Default',\n cc_text_size_extralarge: 'Extra Large',\n cc_text_size_large: 'Large',\n cc_text_size_maximum: 'Maximum',\n cc_text_size_small: 'Small',\n cc_appearance: 'Appearance',\n cc_preset1: 'Preset 1 ',\n cc_preset2: 'Preset 2',\n cc_preset3: 'Preset 3',\n cc_preset4: 'Preset 4',\n cc_preset5: 'Preset 5',\n cc_presettings: 'Close captions appearance {0}: ({1}:{2}, {3}:{4})',\n cc_text_background_color: 'Background color',\n cc_text_background_opacity: 'Background opacity',\n cc_text_opacity: 'Text opacity',\n cc_percent_0: '0%',\n cc_percent_100: '100%',\n cc_percent_25: '25%',\n cc_percent_50: '50%',\n cc_percent_75: '75%',\n cc_text_edge_color: 'Text edge color',\n cc_text_edge_style: 'Text edge style',\n cc_text_edge_style_depressed: 'Depressed',\n cc_text_edge_style_dropshadow: 'Drop shadow',\n cc_text_edge_style_none: 'No edge',\n cc_text_edge_style_raised: 'Raised',\n cc_text_edge_style_uniform: 'Uniform',\n cc_window_color: 'Window color',\n cc_window_opacity: 'Window opacity',\n cc_reset: 'Reset'\n};\n\n/**\n *\n * Closed Caption helper class.\n *\n */\nexport default class LocalizationHelper {\n private readonly playerResources: IPlayerResources;\n\n public constructor(props: IPlayerResources) {\n this.playerResources = props;\n }\n\n /**\n * Gets the localized value for given key.\n * @param key - The key to look for.\n * @returns The localization string.\n */\n public getLocalizedValue(key: string): string {\n return this.playerResources[key] || LocalizationConstants[key] || '';\n }\n\n /**\n * Converts from a locale ID to a 2 character language code.\n * @public\n * @param locale - Locale ID string.\n * @returns The localization string.\n */\n public getLanguageCodeFromLocale(locale: string): string {\n return ccLanguageCodes[locale] || '';\n }\n\n /**\n * Converts from language ID or locale name to a localized language name.\n * @public\n * @param locale - Language ID string or locale name string.\n * @returns Language Name from locale.\n */\n public getLanguageNameFromLocale(locale: string): string {\n return ccCultureLocStrings[locale] || this.getLocalizedValue(PlayerLocKeys.unknown_language);\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n closedCaptionsPresetMap,\n closedCaptionsSettingsMap,\n closedCaptionsSettingsOptions,\n videoClosedCaptionsConstant\n} from '../closed-captions';\nimport { ClosedCaptionTypes, ICurrentClosedCaptionsSettings, IPlayerMenu, IPlayerMenuItem, IVideoMetadata, MenuCategories } from '../data';\nimport { format } from '../utilities';\nimport LocalizationHelper, { ccCultureLocStrings, PlayerLocKeys } from './localization-helper';\nimport PlayerHelper from './player-helper';\n\n/**\n *\n * Closed Caption helper class.\n *\n */\nexport default class ClosedCaptionHelper {\n private readonly playerMetaData: IVideoMetadata;\n\n private readonly playerHelper: PlayerHelper;\n\n private readonly localizationHelper: LocalizationHelper;\n\n public constructor(props: IVideoMetadata, playerHelper: PlayerHelper, localizationHelper: LocalizationHelper) {\n this.playerMetaData = props;\n this.playerHelper = playerHelper;\n this.localizationHelper = localizationHelper;\n }\n\n public checkClosedCaptionsFiles(): boolean {\n if (this.playerMetaData.ccFiles && this.playerMetaData.ccFiles.length > 0) {\n return true;\n }\n return false;\n }\n\n public getClosedCaptionMenu(): IPlayerMenu | null {\n if (this.playerMetaData.ccFiles && this.playerMetaData.ccFiles.length > 0) {\n const ccFiles = this.playerMetaData.ccFiles;\n\n const ccMenuItems: IPlayerMenuItem[] = [];\n\n for (const ccFile of ccFiles) {\n // If ccType is not provided we default to TTML\n if (!ccFile.ccType || ccFile.ccType === ClosedCaptionTypes.TTML) {\n const lang = this.localizationHelper.getLanguageCodeFromLocale(ccFile.locale.toLowerCase());\n\n const ccMenuItem: IPlayerMenuItem = {\n id: this.playerHelper.addIdPrefix(ccFile.locale),\n label: ccCultureLocStrings[ccFile.locale],\n language: lang,\n data: ccFile.locale,\n selected: false,\n selectable: true,\n persistOnClick: true,\n ariaLabel: `${ccCultureLocStrings[ccFile.locale]} ${this.localizationHelper.getLocalizedValue(\n PlayerLocKeys.closecaption\n )}`\n };\n ccMenuItems.push(ccMenuItem);\n }\n }\n\n ccMenuItems.push({\n id: this.playerHelper.addIdPrefix('appearance'),\n label: this.localizationHelper.getLocalizedValue(PlayerLocKeys.cc_appearance),\n selected: false,\n selectable: false,\n subMenu: this._getClosedCaptionsSettingsMenu()\n });\n\n // Add 'off' option to the top of the list\n ccMenuItems.unshift({\n id: this.playerHelper.addIdPrefix('off'),\n label: this.localizationHelper.getLocalizedValue(PlayerLocKeys.closecaption_off),\n selected: false,\n data: 'off',\n selectable: true,\n persistOnClick: true,\n ariaLabel: `${this.localizationHelper.getLocalizedValue(\n PlayerLocKeys.closecaption_off\n )} ${this.localizationHelper.getLocalizedValue(PlayerLocKeys.closecaption)}`\n });\n\n return {\n category: MenuCategories.ClosedCaption,\n id: this.playerHelper.addIdPrefix(MenuCategories.ClosedCaption),\n label: this.localizationHelper.getLocalizedValue(PlayerLocKeys.closecaption),\n items: ccMenuItems\n };\n }\n return null;\n }\n\n public getUpdatedClosedCaptionSetting(\n currentClosedCaptionsSetting: ICurrentClosedCaptionsSettings,\n settingKey: string,\n optionKey: string\n ): ICurrentClosedCaptionsSettings {\n if (settingKey === videoClosedCaptionsConstant.presetKey) {\n const presetValue = closedCaptionsPresetMap[optionKey];\n\n return {\n window_color: currentClosedCaptionsSetting.window_color,\n window_opacity: currentClosedCaptionsSetting.window_opacity,\n text_background_color: presetValue.text_background_color,\n text_background_opacity: presetValue.text_background_opacity,\n text_color: presetValue.text_color,\n text_edge_style: presetValue.text_edge_style,\n text_font: presetValue.text_font,\n text_opacity: presetValue.text_opacity,\n text_size: presetValue.text_size,\n preset: optionKey\n };\n }\n if (this._getOptionValue(settingKey, optionKey)) {\n currentClosedCaptionsSetting[videoClosedCaptionsConstant.presetKey] = 'none';\n currentClosedCaptionsSetting[settingKey] = optionKey;\n return currentClosedCaptionsSetting;\n }\n return currentClosedCaptionsSetting;\n }\n\n /**\n * Gets the value of closed captions URL from the locale.\n * @param locale - Locale.\n * @returns Returns the closed caption URL.\n */\n public getClosedCaptionURLFromLocale(locale: string): string {\n let url: string = '';\n const ccFiles = this.playerMetaData.ccFiles!;\n for (const ccFile of ccFiles) {\n if (ccFile.locale === locale) {\n url = ccFile.url;\n }\n }\n return url;\n }\n\n /**\n * Gets the value of closed captions settings option.\n * @private\n * @param settingKey - The closed ceptions settings key.\n * @param optionKey - The closed captions option key.\n * @returns - The option value.\n */\n private _getOptionValue(settingKey: string, optionKey: string): string {\n const setting = closedCaptionsSettingsMap[settingKey];\n if (setting) {\n const option = closedCaptionsSettingsOptions[setting.option];\n return option && option.map[optionKey];\n }\n return '';\n }\n\n /**\n * Gets the closed captions settings menu to be added to options menu.\n * @returns - The player menu.\n */\n private _getClosedCaptionsSettingsMenu(): IPlayerMenu {\n // Const currentSettings = currentClosedCaptionsSetting;\n\n // create customize settings menu\n const settingsMenuItems: IPlayerMenuItem[] = [];\n\n for (const settingKey of Object.keys(closedCaptionsSettingsMap)) {\n const setting = closedCaptionsSettingsMap[settingKey];\n\n const option = closedCaptionsSettingsOptions[setting.option];\n const optionMenuItem: IPlayerMenuItem[] = [];\n\n // eslint-disable-next-line guard-for-in\n for (const optionKey in option.map) {\n optionMenuItem.push({\n id: this._getCCMenuItemId(settingKey, optionKey),\n label: this.localizationHelper.getLocalizedValue(`${option.pre}${optionKey}`),\n selectable: true,\n selected: false,\n persistOnClick: true,\n data: `${settingKey}:${optionKey}`\n });\n }\n\n // Add back button\n optionMenuItem.unshift({\n id: '',\n label: this.localizationHelper.getLocalizedValue(`cc_${settingKey}`),\n ariaLabel: `${settingKey} - go back to previous menu`,\n selectable: false,\n selected: false,\n persistOnClick: false,\n isBackButton: true\n });\n\n settingsMenuItems.push({\n id: this.playerHelper.addIdPrefix(`${settingKey}_item`),\n label: this.localizationHelper.getLocalizedValue(`cc_${settingKey}`),\n selectable: false,\n subMenu: {\n id: this._getCCSettingsMenuId(settingKey),\n category: MenuCategories.ClosedCaptionSettings,\n items: optionMenuItem,\n label: this.localizationHelper.getLocalizedValue(`cc_${settingKey}`)\n }\n });\n }\n\n settingsMenuItems.unshift({\n id: '',\n label: this.localizationHelper.getLocalizedValue(PlayerLocKeys.cc_customize),\n ariaLabel: 'Customize - go back to previous menu',\n selectable: false,\n selected: false,\n persistOnClick: false,\n isBackButton: true\n });\n\n const settingsMenu: IPlayerMenu = {\n id: this.playerHelper.addIdPrefix(MenuCategories.ClosedCaptionSettings),\n label: this.localizationHelper.getLocalizedValue(PlayerLocKeys.cc_customize),\n category: MenuCategories.ClosedCaptionSettings,\n items: settingsMenuItems\n };\n\n // Create preset items menu\n const presetItems: IPlayerMenuItem[] = [];\n\n for (const preset of Object.keys(closedCaptionsPresetMap)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const presetSetting: any = closedCaptionsPresetMap[preset];\n const font: string = presetSetting.text_font;\n const color: string = presetSetting.text_color;\n\n const ariaLabelValue = format(\n this.localizationHelper.getLocalizedValue(PlayerLocKeys.cc_presettings),\n '',\n this.localizationHelper.getLocalizedValue(PlayerLocKeys.cc_text_font),\n this.localizationHelper.getLocalizedValue(`cc_font_name_${font}`),\n this.localizationHelper.getLocalizedValue(PlayerLocKeys.cc_text_color),\n this.localizationHelper.getLocalizedValue(`cc_color_${color}`)\n );\n\n presetItems.push({\n id: this._getCCMenuItemId(videoClosedCaptionsConstant.presetKey, preset),\n label: this.localizationHelper.getLocalizedValue(`cc_${preset}`),\n data: `preset:${preset}`,\n selectable: true,\n selected: false,\n persistOnClick: true,\n ariaLabel: ariaLabelValue,\n hasMouseHoverEvents: true\n });\n }\n\n presetItems.push({\n id: this.playerHelper.addIdPrefix('cc-customize'),\n label: this.localizationHelper.getLocalizedValue(PlayerLocKeys.cc_customize),\n subMenu: settingsMenu,\n hasMouseHoverEvents: true\n });\n\n presetItems.push({\n id: 'reset',\n label: this.localizationHelper.getLocalizedValue(PlayerLocKeys.cc_reset),\n data: 'reset',\n persistOnClick: true,\n hasMouseHoverEvents: true\n });\n\n presetItems.unshift({\n id: '',\n label: this.localizationHelper.getLocalizedValue(PlayerLocKeys.cc_appearance),\n ariaLabel: 'Appreance - go back to previous menu',\n selectable: false,\n selected: false,\n persistOnClick: false,\n isBackButton: true,\n hasMouseHoverEvents: true\n });\n\n return {\n id: this._getCCSettingsMenuId(videoClosedCaptionsConstant.presetKey),\n label: this.localizationHelper.getLocalizedValue(PlayerLocKeys.cc_appearance),\n category: MenuCategories.ClosedCaptionSettings,\n items: presetItems\n };\n }\n\n /**\n * Gets the close captions setting menu item id.\n * @param settingId - The setting key.\n * @param optionId - The option key.\n * @returns - Menu Id.\n */\n private _getCCMenuItemId(settingId: string, optionId: string): string {\n return this.playerHelper.addIdPrefix(`cc-${settingId}-${optionId}`);\n }\n\n /**\n * Gets the close captions setting menu id.\n * @param settingId - The setting key.\n * @returns Setting menu Id.\n */\n private _getCCSettingsMenuId(settingId: string): string {\n return this.playerHelper.addIdPrefix(`cc-${settingId}`);\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n ClosedCaptionTypes,\n IAudioTrack,\n IBinaryReference,\n ICCFile,\n IPlayerMenu,\n IPlayerMenuItem,\n IPlayerProps,\n IVideoFile,\n IVideoMetadata,\n MediaQuality,\n MediaTypes,\n MenuCategories,\n PlayerConstants\n} from '../data';\nimport { startsWith } from '../utilities';\nimport LocalizationHelper, { PlayerLocKeys } from './localization-helper';\n\n/**\n *\n * Player helper class.\n *\n */\nexport default class PlayerHelper {\n private playerProps: IPlayerProps;\n\n private readonly localizationHelper: LocalizationHelper;\n\n private readonly _isMobileDevice?: boolean;\n\n public constructor(props: IPlayerProps, localizationHelper: LocalizationHelper, isMobileDevice?: boolean) {\n this.playerProps = props;\n this.localizationHelper = localizationHelper;\n this._isMobileDevice = isMobileDevice;\n }\n\n public getMetadata(): IVideoMetadata {\n this._mapVideoFiles();\n this._setCCFiles();\n this._setAudioTracks();\n return this.playerProps.playerData.metaData;\n }\n\n public updatePlayerProps(props: IPlayerProps): void {\n this.playerProps = props;\n this._clearVideoPlayerMetaData();\n }\n\n public getOptionMenu(): IPlayerMenu | null {\n const audioTracks = this._getAudioTracksMenu();\n if (audioTracks === null) {\n return null;\n }\n const optionMenuItems: IPlayerMenuItem[] = [];\n\n optionMenuItems.push({\n id: this.addIdPrefix('audioTracks'),\n label: this.localizationHelper.getLocalizedValue(PlayerLocKeys.audio_tracks),\n selected: false,\n selectable: false,\n subMenu: audioTracks\n });\n\n return {\n category: MenuCategories.Options,\n id: this.addIdPrefix(MenuCategories.Options),\n label: 'Options',\n items: optionMenuItems\n };\n }\n\n /**\n * Get Poster Frame URL.\n * @returns Returns the poster image URL.\n */\n public getPosterFrameUrl(): string {\n let posterFrameUrl = '';\n if (!this.playerProps.playerData.options.hidePosterFrame && this.playerProps.playerData.metaData.posterframeUrl) {\n posterFrameUrl = this._removeProtocolFromUrl(this.playerProps.playerData.metaData.posterframeUrl);\n if (this.playerProps.playerData.options.thumbnailFullWidth) {\n if (posterFrameUrl.indexOf('?') > 0) {\n posterFrameUrl = `${posterFrameUrl}${'&w='}${PlayerConstants.thumbnailFullWidth}${'&h='}${\n PlayerConstants.thumbnailFullHeight\n }`;\n } else {\n posterFrameUrl = `${posterFrameUrl}${'?w='}${PlayerConstants.thumbnailFullWidth}${'&h='}${\n PlayerConstants.thumbnailFullHeight\n }`;\n }\n }\n }\n return posterFrameUrl;\n }\n\n public getVideoFileToPlay(): IVideoFile {\n let videoFile: IVideoFile = {\n url: '',\n mediaType: MediaTypes.MP4,\n quality: MediaQuality.LO\n };\n const videoMetaData: IVideoMetadata = this.playerProps.playerData.metaData;\n\n const mpVideoFiles = this._getVideoFileByType(MediaTypes.MP4, videoMetaData.videoFiles!);\n\n if (this._isMobileDevice && this.playerProps.playerData.options.mobileVideoQuality) {\n const mobileVideoFile = this._getVideoFileByQuality(\n this.playerProps.playerData.options.mobileVideoQuality.toUpperCase() as MediaQuality,\n mpVideoFiles\n );\n if (mobileVideoFile) {\n return mobileVideoFile;\n }\n }\n\n const hdVideoFile = this._getVideoFileByQuality(MediaQuality.HDX, mpVideoFiles);\n if (hdVideoFile !== null) {\n videoFile = hdVideoFile;\n } else {\n const hqVideoFile = this._getVideoFileByQuality(MediaQuality.HQ, mpVideoFiles);\n if (hqVideoFile !== null) {\n videoFile = hqVideoFile;\n } else {\n const sdVideoFile = this._getVideoFileByQuality(MediaQuality.SD, mpVideoFiles);\n if (sdVideoFile !== null) {\n videoFile = sdVideoFile;\n } else {\n const loVideoFile = this._getVideoFileByQuality(MediaQuality.LO, mpVideoFiles);\n if (loVideoFile !== null) {\n videoFile = loVideoFile;\n }\n }\n }\n }\n return videoFile;\n }\n\n /**\n * Callback function when error happen.\n * @param errorType - Error Type.\n * @param message - Error message.\n */\n public onErrorCallback = (errorType: string, message: string): void => {\n console.log(`ErrorType : ${errorType}, Message : ${message}`);\n };\n\n public isEmptyOrUndefined(value?: string): boolean {\n if (value === undefined || value === '') {\n return true;\n }\n return false;\n }\n\n /**\n * Adds the id prefix to form a child id.\n * @param childId - The child id to prefix.\n * @returns - The prefixed id or the original id if no prefix is built.\n */\n public addIdPrefix(childId: string): string {\n const prefix = this.isEmptyOrUndefined(this.playerProps.playerId) ? null : `${this.playerProps.playerId}-`;\n\n return prefix && !startsWith(childId, prefix, false) ? prefix + childId : childId;\n }\n\n /**\n * Removes the id prefix from a child id.\n * @param childId - The child id to prefix.\n * @returns - The un-prefixed id or the original id if no prefix was found.\n */\n public removeIdPrefix(childId: string): string {\n const prefix = this.isEmptyOrUndefined(this.playerProps.playerId) ? null : `${this.playerProps.playerId}-`;\n\n return prefix && startsWith(childId, prefix, false) ? childId.substring(prefix.length) : childId;\n }\n\n private _getAudioTracksMenu(): IPlayerMenu | null {\n const audioTracksMenuItems: IPlayerMenuItem[] = [];\n const videoMetaData: IVideoMetadata = this.playerProps.playerData.metaData;\n if (videoMetaData.audioTracks !== undefined && videoMetaData.audioTracks.length > 0) {\n // Check if there are multiple \"Descriptive Audio\" tracks, in which case we will want to show language\n let descriptiveAudioTrackCount = 0;\n for (const track of videoMetaData.audioTracks) {\n if (track.isDescriptiveAudio) {\n descriptiveAudioTrackCount++;\n }\n }\n\n let trackIndex: number = 0;\n for (const audioTrack of videoMetaData.audioTracks) {\n let label: string;\n let languageCode: string = '';\n if (audioTrack.isDescriptiveAudio) {\n // Descriptive audio labels look like:\n // \"Descriptive audio\" -- when only one descriptive audio track exists\n // or\n // \"Descriptive audio - English\" -- if there is more than one descriptive audio track\n const descriptiveAudioLabel = this.localizationHelper.getLocalizedValue(PlayerLocKeys.descriptive_audio);\n if (descriptiveAudioTrackCount > 1) {\n const language = this.localizationHelper.getLanguageNameFromLocale(audioTrack.languageCode);\n label = `${descriptiveAudioLabel} - ${language}`;\n } else {\n label = descriptiveAudioLabel;\n }\n languageCode = `daudio-${audioTrack.languageCode.toLowerCase()}`;\n } else {\n // Regular tracks display language of the stream only.\n label = this.localizationHelper.getLanguageNameFromLocale(audioTrack.languageCode);\n languageCode = audioTrack.languageCode.toLowerCase();\n }\n\n const audioMenuItem: IPlayerMenuItem = {\n label,\n language: languageCode,\n data: audioTrack.url,\n id: this.addIdPrefix(`audio-${trackIndex}`),\n selected: false,\n selectable: true,\n persistOnClick: true\n };\n\n audioTracksMenuItems.push(audioMenuItem);\n trackIndex++;\n }\n\n audioTracksMenuItems.unshift({\n id: '',\n label: this.localizationHelper.getLocalizedValue(PlayerLocKeys.audio_tracks_default),\n ariaLabel: this.localizationHelper.getLocalizedValue(PlayerLocKeys.audio_tracks_default),\n language: 'default',\n data: 'default',\n selectable: true,\n selected: false,\n persistOnClick: true\n });\n\n audioTracksMenuItems.unshift({\n id: '',\n label: this.localizationHelper.getLocalizedValue(PlayerLocKeys.audio_tracks),\n ariaLabel: `${this.localizationHelper.getLocalizedValue(PlayerLocKeys.audio_tracks)} - go back to previous menu`,\n selectable: false,\n selected: false,\n persistOnClick: false,\n isBackButton: true\n });\n return {\n category: MenuCategories.AudioTracks,\n id: this.addIdPrefix(MenuCategories.AudioTracks),\n label: this.localizationHelper.getLocalizedValue(PlayerLocKeys.audio_tracks),\n items: audioTracksMenuItems\n };\n }\n return null;\n }\n\n private _clearVideoPlayerMetaData(): void {\n this.playerProps.playerData.metaData.videoFiles = [];\n this.playerProps.playerData.metaData.audioTracks = [];\n this.playerProps.playerData.metaData.ccFiles = [];\n }\n\n private _setCCFiles(): void {\n const videoMetaData: IVideoMetadata = this.playerProps.playerData.metaData;\n const ccFiles: ICCFile[] = [];\n if (!(videoMetaData.ccFiles && videoMetaData.ccFiles.length > 0)) {\n if (videoMetaData.videoBinaryReferences && videoMetaData.videoBinaryReferences.length > 0) {\n for (const binaryRef of videoMetaData.videoBinaryReferences) {\n // Skip all other format except ttml/closedcaption\n if (\n (binaryRef.extension && binaryRef.extension === 'ttml') ||\n binaryRef.$type === 'videoClosedCaptionBinaryReference'\n ) {\n const ccFile: ICCFile = {\n ccType: ClosedCaptionTypes.TTML,\n locale: binaryRef.locale!,\n url: binaryRef.sourceHref!\n };\n ccFiles.push(ccFile);\n }\n }\n this.playerProps.playerData.metaData.ccFiles = ccFiles;\n }\n }\n }\n\n private _setAudioTracks(): void {\n const videoMetaData: IVideoMetadata = this.playerProps.playerData.metaData;\n const audioTracks: IAudioTrack[] = [];\n if (videoMetaData.videoBinaryReferences && videoMetaData.videoBinaryReferences.length > 0) {\n for (const binaryRef of videoMetaData.videoBinaryReferences) {\n if (binaryRef.$type && binaryRef.$type === 'audioBinaryReference') {\n const audioTrack: IAudioTrack = {\n isDescriptiveAudio: binaryRef.audioType === 'descriptiveAudio',\n bitrate: binaryRef.bitrate!,\n languageCode: binaryRef.locale === undefined ? '' : binaryRef.locale,\n name: binaryRef.alias!,\n url: binaryRef.clientHref!\n };\n audioTracks.push(audioTrack);\n }\n }\n }\n this.playerProps.playerData.metaData.audioTracks = audioTracks;\n }\n\n private _mapVideoFiles(): void {\n const videoMetaData: IVideoMetadata = this.playerProps.playerData.metaData;\n if (!videoMetaData.videoFiles || videoMetaData.videoFiles.length === 0) {\n const videoFiles: IVideoFile[] = [];\n const videoBinaryFiles: IBinaryReference[] = videoMetaData.videoBinaryReferences!;\n if (videoBinaryFiles && videoBinaryFiles.length > 0) {\n for (const binaryRef of videoBinaryFiles) {\n if (binaryRef.format) {\n // Skip the unsupported 1001 format\n if (binaryRef.format === '1001') {\n continue;\n }\n\n // Handle all other video/audio format\n const mediaTypeAndQuality = this._getMediaTypeAndQuality(binaryRef.format);\n let urlRef;\n if (mediaTypeAndQuality.mediaType === MediaTypes.MP4) {\n urlRef = binaryRef.clientHref;\n } else {\n urlRef = binaryRef.sourceHref;\n }\n\n if (urlRef) {\n urlRef = this._removeProtocolFromUrl(urlRef);\n }\n\n if (urlRef) {\n videoFiles.push({\n url: urlRef,\n quality: mediaTypeAndQuality.quality,\n mediaType: mediaTypeAndQuality.mediaType,\n formatCode: binaryRef.format\n });\n }\n }\n }\n }\n this.playerProps.playerData.metaData.videoFiles = videoFiles;\n }\n }\n\n /**\n * Gets video quality and media type from stream name.\n * @param format - The stream name.\n * @returns The mediaType and MediaQuality.\n */\n private _getMediaTypeAndQuality(format: string): { mediaType: MediaTypes; quality: MediaQuality } {\n let mType: MediaTypes = MediaTypes.MP4;\n let mQuality: MediaQuality = MediaQuality.SD;\n\n switch (format) {\n case '101':\n mType = MediaTypes.MP4;\n mQuality = MediaQuality.LO;\n break;\n case '102':\n mType = MediaTypes.MP4;\n mQuality = MediaQuality.SD;\n break;\n case '103':\n mType = MediaTypes.MP4;\n mQuality = MediaQuality.HQ;\n break;\n case '104':\n mType = MediaTypes.MP4;\n mQuality = MediaQuality.HDX;\n break;\n case '105':\n mType = MediaTypes.MP4;\n mQuality = MediaQuality.HD;\n break;\n case '1004':\n mType = MediaTypes.SMOOTH;\n break;\n case '1006':\n mType = MediaTypes.HLS;\n break;\n case '1007':\n mType = MediaTypes.DASH;\n break;\n default:\n mType = MediaTypes.MP4;\n mQuality = MediaQuality.SD;\n }\n\n return {\n mediaType: mType,\n quality: mQuality\n };\n }\n\n /**\n * Removes protocol from url.\n * @param url - The url.\n * @returns The URL.\n */\n private _removeProtocolFromUrl(url: string): string {\n return url.replace(/(^\\w+:|^)\\/\\//, '//');\n }\n\n /**\n * Gets the video file of specified quality.\n * @param quality - The desired quality to look for.\n * @param videoFiles - The video files.\n * @returns Returns the video file.\n */\n private _getVideoFileByQuality(quality: MediaQuality, videoFiles: IVideoFile[]): IVideoFile | null {\n let videoFile = null;\n for (const file of videoFiles) {\n if (file.quality === quality) {\n videoFile = file;\n break;\n }\n }\n\n return videoFile;\n }\n\n /**\n * Gets the video file of specified type.\n * @param mediaType - The media type to look for.\n * @param videoFiles - The video files.\n * @returns Returns the video file.\n */\n private _getVideoFileByType(mediaType: MediaTypes, videoFiles: IVideoFile[]): IVideoFile[] {\n const videoFile: IVideoFile[] = [];\n for (const file of videoFiles) {\n if (file.mediaType === mediaType) {\n videoFile.push(file);\n }\n }\n return videoFile;\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IComponent, IComponentProps, msdyn365Commerce } from '@msdyn365-commerce/core';\nimport React, { useEffect, useState } from 'react';\n\nexport interface IRatingComponentProps extends IComponentProps<{}> {\n readOnly: boolean;\n ariaLabel: string;\n avgRating: number;\n ratingCount?: string;\n initialRating?: number;\n hideCount?: boolean;\n shouldShowFullRatingDescription?: boolean;\n className?: string;\n ratingCountAriaLabel?: string;\n onChange?(value: number): void;\n}\nexport interface IRatingComponent extends IComponent {\n onSliderChanged(): (\n event: React.ChangeEvent,\n props: IRatingComponentProps,\n setRating: (rating: IRatingState) => void\n ) => void;\n onMouseOver(): (event: React.MouseEvent, rating: IRatingState, setRating: (rating: IRatingState) => void) => void;\n onClick(): (event: React.MouseEvent, props: IRatingComponentProps, setRating: (rating: IRatingState) => void) => void;\n onMouseLeave(): (event: React.MouseEvent, rating: IRatingState, setRating: (rating: IRatingState) => void) => void;\n}\n\ninterface IRatingState {\n rating: number;\n lastSelectedRating: number;\n}\n\nconst roundUpMin: number = 0.75;\nconst roundMidMin: number = 0.25;\nconst maxRating: number = 5;\n\nconst RatingComponentActions = {\n onSliderChanged(\n event: React.ChangeEvent,\n props: IRatingComponentProps,\n setRating: (rating: IRatingState) => void\n ): void {\n const value = Number.parseInt(event.target.value, 10);\n setRating({ rating: value, lastSelectedRating: value });\n\n if (props.onChange) {\n props.onChange(value);\n }\n },\n onMouseLeave(_event: React.MouseEvent, rating: IRatingState, setRating: (rating: IRatingState) => void): void {\n setRating({ rating: rating.lastSelectedRating, lastSelectedRating: rating.lastSelectedRating });\n },\n onMouseOver(event: React.MouseEvent, rating: IRatingState, setRating: (rating: IRatingState) => void): void {\n setRating({ rating: getIndex(event), lastSelectedRating: rating.lastSelectedRating });\n },\n onClick(event: React.MouseEvent, props: IRatingComponentProps, setRating: (rating: IRatingState) => void): void {\n if (!props.readOnly) {\n const index = getIndex(event);\n setRating({ rating: index, lastSelectedRating: index });\n\n if (props.onChange) {\n props.onChange(index);\n }\n }\n }\n};\n\nconst Rating: React.FC = (props: IRatingComponentProps) => {\n const initialRating = props.readOnly ? props.avgRating : props.initialRating || 0;\n const [rating, setRating] = useState({ rating: initialRating, lastSelectedRating: initialRating });\n useEffect(() => {\n const newRating = props.readOnly ? props.avgRating : props.initialRating || 0;\n setRating({ rating: newRating, lastSelectedRating: newRating });\n }, [props]);\n const onChange = (event: React.ChangeEvent) => {\n RatingComponentActions.onSliderChanged(event, props, setRating);\n };\n const onMouseLeave = (event: React.MouseEvent) => {\n RatingComponentActions.onMouseLeave(event, rating, setRating);\n };\n const onMouseOver = (event: React.MouseEvent) => {\n RatingComponentActions.onMouseOver(event, rating, setRating);\n };\n const onClick = (event: React.MouseEvent) => {\n RatingComponentActions.onClick(event, props, setRating);\n };\n\n const shouldShowFullRatingDescriptionConfiguration = props.shouldShowFullRatingDescription ?? false;\n const shouldShowDescription = shouldShowFullRatingDescriptionConfiguration || props.typeName === 'reviews-list';\n\n return (\n
0 ? 'msc-no-ratings' : ''} ${props.className ? props.className : ''}`}>\n {starControl(props.readOnly, rating.rating, props.ariaLabel, props.ratingCountAriaLabel, onChange)}\n
\n {renderStars(rating.rating, props, onMouseOver, onClick)}\n
\n {props.ratingCount && (\n \n {` `}\n {shouldShowDescription ? `${props.avgRating} / 5 (${props.ratingCount})` : props.ratingCount}\n {` `}\n \n )}\n
\n );\n};\n\n// Set default props\nRating.defaultProps = {\n avgRating: 0\n} as Partial;\n\n/**\n * Rating Review ariaLabel.\n * @param readOnly - Boolean.\n * @param currentRating - Current rating number.\n * @param ariaLabel - Rating AriaLabel.\n * @param reviewCountAriaLabel - Product review count.\n * @param onChange - On Change function.\n * @returns Jsx element.\n */\nconst starControl = (\n readOnly: boolean,\n currentRating: number,\n ariaLabel: string,\n reviewCountAriaLabel: string | undefined,\n onChange: (event: React.ChangeEvent) => void\n): JSX.Element => {\n if (readOnly) {\n return
{`${ariaLabel}${reviewCountAriaLabel ? ` ${reviewCountAriaLabel}` : ''}`}
;\n }\n\n return (\n \n );\n};\n\nconst renderStars = (\n rating: number,\n props: IRatingComponentProps,\n mouseOver: (event: React.MouseEvent) => void,\n onClick: (event: React.MouseEvent) => void\n): JSX.Element[] => {\n const floor = Math.floor(rating);\n const remainder = rating - floor;\n const filled = remainder < roundUpMin ? floor : floor + 1;\n const half = roundMidMin <= remainder && remainder < roundUpMin ? filled + 1 : 0;\n const stars = [];\n\n for (let i = 1; i <= maxRating; i++) {\n const glyphClass = filled >= i ? 'msc-rating__star' : half === i ? 'msc-rating__half-star' : 'msc-rating__empty-star'!;\n stars.push(\n \n );\n }\n\n return stars;\n};\n\nconst getIndex = (event: React.MouseEvent): number => {\n const target = event.target as HTMLElement;\n return Number.parseInt(target.getAttribute('data-index')!, 10);\n};\n\n// @ts-expect-error\nexport const RatingComponent: React.FunctionComponent = msdyn365Commerce.createComponent(\n 'Rating',\n { component: Rating, ...RatingComponentActions }\n);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as MsDyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, IPayLoad, ISliderChangeNotification, onTelemetryClick, Waiting } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport {\n AgeGate,\n ClosedCaptionHelper,\n ClosedCaptions,\n closedCaptionsSettingDefaults,\n ClosedCaptionTypes,\n format,\n ICCFile,\n ICurrentClosedCaptionsSettings,\n IPlayerMenu,\n IPlayerMenuItemClickNotification,\n IPlayerProps,\n IPlayPosition,\n isNullOrWhiteSpace,\n isSafari,\n IVideoErrorData,\n IVideoErrorMessageData,\n IVideoMetadata,\n KeyCodes,\n LocalizationConstants,\n LocalizationHelper,\n MediaEvents,\n MenuCategories,\n PlayerConstants,\n PlayerHelper,\n PlayerStates,\n PlayPauseTrigger,\n videoClosedCaptionsConstant,\n VideoControls,\n VideoErrorCodes,\n VideoPlayerNames\n} from './components';\n\n/**\n * Player state interface.\n */\nexport interface IPlayerState {\n playing: boolean;\n mouseHovered: boolean;\n isControlPanelVisible: boolean;\n doControlsHaveFocus: boolean;\n playPosition: IPlayPosition;\n currentVolume: number;\n isTriggerEnabled: boolean;\n previousVolume: number;\n isMuted: boolean;\n isInFullScreen: boolean;\n showSpinner: boolean;\n showErrorMessage: boolean;\n videoErrorMessage: IVideoErrorMessageData;\n screenReaderText: string;\n showClosedCaptions: boolean;\n isAgegateEnabled: boolean;\n currentAudioTrack: string;\n currentAudioTrackURL: string;\n closedCaptionLanguage: string;\n closedCaptionsURL: string;\n currentClosedCaptionsSettings: ICurrentClosedCaptionsSettings;\n mounted: boolean;\n tempClosedCaptionsSettings?: {};\n}\n\n/**\n *\n * Player component.\n *\n */\nexport default class Player extends React.Component {\n public static defaultProps: Partial = {\n playerData: {\n options: {\n autoplay: true,\n ageGate: false,\n mute: true,\n loop: false,\n playPauseTrigger: false,\n controls: true,\n hidePosterFrame: false,\n lazyLoad: true\n },\n metaData: {\n playerName: 'videoPlayer',\n videoId: '',\n title: '',\n description: '',\n duration: 0,\n posterframeUrl: '',\n shareUrl: '',\n videoFiles: [],\n externalPlayerUrl: '',\n externalSourceId: '',\n videoBinaryReferences: []\n }\n },\n playerResources: {\n playAriaLabel: LocalizationConstants.playAriaLabel,\n pauseAriaLabel: LocalizationConstants.pauseAriaLabel,\n closeAriaLabel: LocalizationConstants.closeAriaLabel,\n muteAriaLabel: LocalizationConstants.muteAriaLabel,\n unMuteAriaLabel: LocalizationConstants.unMuteAriaLabel,\n fullScreenAriaLabel: LocalizationConstants.fullScreenAriaLabel,\n exitFullScreenAriaLabel: LocalizationConstants.exitFullScreenAriaLabel,\n pausedAriaLabel: LocalizationConstants.pausedAriaLabel,\n playingAriaLabel: LocalizationConstants.playingAriaLabel,\n seekBarLabel: LocalizationConstants.seekBarLabel,\n videoTimeDurationLabel: LocalizationConstants.videoTimeDurationLabel,\n closedCaptionLabel: LocalizationConstants.closedCaptionLabel,\n sliderThumbLabel: LocalizationConstants.sliderThumbLabel,\n volumeThumbLabel: LocalizationConstants.volumeThumbLabel\n }\n };\n\n private controlPanelTimer: number = 0;\n\n private readonly playerId: string;\n\n private readonly player: React.RefObject = React.createRef();\n\n private readonly audio: React.RefObject = React.createRef();\n\n private readonly playerContainer: React.RefObject = React.createRef();\n\n private readonly videoControl: React.RefObject = React.createRef();\n\n private readonly ClosedCaptions: React.RefObject = React.createRef();\n\n private readonly ageGateContainer: React.RefObject = React.createRef();\n\n private videoUrl: string = '';\n\n private posterFrameUrl: string = '';\n\n private seekFrom: number | null = null;\n\n private playerState: PlayerStates;\n\n private readonly playerHelper: PlayerHelper;\n\n private readonly localizationHelper: LocalizationHelper;\n\n private closedCaptionHelper: ClosedCaptionHelper | null = null;\n\n private closedCaptionMenu: IPlayerMenu | null = null;\n\n private optionsMenu: IPlayerMenu | null = null;\n\n private selectedClosedCaptionsLocale: string | null = '';\n\n private isPlayerManuallyPaused: boolean = false;\n\n private isPlayerLoaded: boolean = false;\n\n private playerMetaData: IVideoMetadata;\n\n private readonly isMobileDevice: boolean;\n\n private readonly payLoad: IPayLoad;\n\n private readonly _shouldAutoPlay: boolean;\n\n /**\n * Checks if fullscreen is supported by browser or not.\n * @returns - If native fullscreen enabled.\n */\n private static _isNativeFullscreenEnabled(): boolean {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const doc = document as any;\n return (\n doc.fullscreenEnabled ||\n doc.mozFullScreenEnabled ||\n doc.webkitFullscreenEnabled ||\n doc.webkitSupportsFullscreen ||\n doc.msFullscreenEnabled\n );\n }\n /**\n * Gets the current fullscreen element.\n * @returns - The element in full screen.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private static _getElementInFullScreen(): any {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const doc = document as any;\n return doc.fullscreenElement || doc.mozFullScreenElement || doc.webkitFullscreenElement || doc.msFullscreenElement;\n }\n\n public constructor(props: IPlayerProps) {\n super(props);\n\n const {\n playerData: {\n options: {\n shouldDisableAutoPlayOnMobile,\n autoplay: isAutoPlay,\n playPauseTrigger: isPlayPauseTrigger,\n ageGate: isAgeGateEnabled,\n controls: isControlsEnabled,\n mute: isMuted,\n lazyLoad: isLazyLoaded,\n isMobileDevice\n }\n }\n } = this.props;\n\n this.isMobileDevice = this._isMobile() || isMobileDevice!;\n\n this._shouldAutoPlay = this.isMobileDevice && shouldDisableAutoPlayOnMobile ? false : isAutoPlay!;\n\n const state = {\n playing: false,\n mouseHovered: isPlayPauseTrigger! || !this._shouldAutoPlay,\n isControlPanelVisible: !isPlayPauseTrigger,\n doControlsHaveFocus: false,\n isTriggerEnabled: isPlayPauseTrigger! && !this._shouldAutoPlay && isControlsEnabled!,\n currentVolume: isMuted && !this.isMobileDevice ? 0 : PlayerConstants.defaultVolume * 100,\n previousVolume: 0,\n isMuted: isMuted ?? false,\n isInFullScreen: false,\n showSpinner: false,\n isAgegateEnabled: isAgeGateEnabled! && !this._shouldAutoPlay,\n showErrorMessage: false,\n screenReaderText: '',\n closedCaptionLanguage: 'off',\n currentAudioTrack: 'default',\n currentAudioTrackURL: '',\n showClosedCaptions: false,\n mounted: false,\n currentClosedCaptionsSettings: {\n preset: closedCaptionsSettingDefaults.preset,\n text_font: closedCaptionsSettingDefaults.text_font,\n text_color: closedCaptionsSettingDefaults.text_color,\n text_opacity: closedCaptionsSettingDefaults.text_opacity,\n text_size: closedCaptionsSettingDefaults.text_size,\n text_edge_style: closedCaptionsSettingDefaults.text_edge_style,\n text_background_color: closedCaptionsSettingDefaults.text_background_color,\n text_background_opacity: closedCaptionsSettingDefaults.text_background_opacity,\n window_color: closedCaptionsSettingDefaults.window_color,\n window_opacity: closedCaptionsSettingDefaults.window_opacity\n },\n closedCaptionsURL: '',\n videoErrorMessage: {\n title: '',\n message: ''\n },\n playPosition: {\n currentTime: 0,\n startTime: 0,\n endTime: 0,\n bufferedDuration: 0\n },\n tempClosedCaptionsSettings: undefined\n };\n\n this.playerState = 'init';\n this._onTriggerClicked = this._onTriggerClicked.bind(this);\n this._onMouseEvent = this._onMouseEvent.bind(this);\n this._onPlay = this._onPlay.bind(this);\n this._onPause = this._onPause.bind(this);\n this._triggerEvents = this._triggerEvents.bind(this);\n this._triggerAudioEvents = this._triggerAudioEvents.bind(this);\n this._onProgressChange = this._onProgressChange.bind(this);\n this._setMuted = this._setMuted.bind(this);\n this._onVolumeChange = this._onVolumeChange.bind(this);\n this._onFullScreenChanged = this._onFullScreenChanged.bind(this);\n this._toggleFullScreen = this._toggleFullScreen.bind(this);\n this._showControlBar = this._showControlBar.bind(this);\n this._handleControlsKeyDownEvent = this._handleControlsKeyDownEvent.bind(this);\n this._onFullscreenError = this._onFullscreenError.bind(this);\n this._onPlayerKeyDown = this._onPlayerKeyDown.bind(this);\n this._onTriggerFocus = this._onTriggerFocus.bind(this);\n this._onTriggerBlur = this._onTriggerBlur.bind(this);\n this._onVideoControlsFocus = this._onVideoControlsFocus.bind(this);\n this._onVideoControlsBlur = this._onVideoControlsBlur.bind(this);\n this._onPlayerMenuItemClick = this._onPlayerMenuItemClick.bind(this);\n this._onPlayerMenuItemFocus = this._onPlayerMenuItemFocus.bind(this);\n this._onPlayerMenuItemBlur = this._onPlayerMenuItemBlur.bind(this);\n this._validateAgeSubmitHandler = this._validateAgeSubmitHandler.bind(this);\n this._onContextMenuClicked = this._onContextMenuClicked.bind(this);\n this.localizationHelper = new LocalizationHelper(this.props.playerResources!);\n this.playerHelper = new PlayerHelper(this.props, this.localizationHelper, this.isMobileDevice);\n this.playerId = this.playerHelper.isEmptyOrUndefined(this.props.playerId) ? 'vid-0' : this.props.playerId!;\n this.playerMetaData = this.playerHelper.getMetadata();\n this.state = state;\n this.posterFrameUrl = this.playerHelper.getPosterFrameUrl();\n this.payLoad = getPayloadObject('click', this.props.telemetryContent!, '');\n\n if (!isLazyLoaded) {\n this.videoUrl = this.playerHelper.getVideoFileToPlay().url;\n }\n }\n\n public shouldComponentUpdate(nextProps: IPlayerProps, nextState: IPlayerState): boolean {\n if (this.state === nextState && this.props.playerData.options === nextProps.playerData.options) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element {\n const {\n playerData: {\n options: { loop: isLoop }\n }\n } = this.props;\n\n const maskLevelStyle: React.CSSProperties = {};\n maskLevelStyle.backgroundColor = this._getMaskLevelStyle();\n\n if (this.props.isEditor) {\n this.playerHelper.updatePlayerProps(this.props);\n this.playerMetaData = this.playerHelper.getMetadata();\n if (this.posterFrameUrl !== this.playerHelper.getPosterFrameUrl()) {\n this.posterFrameUrl = this.playerHelper.getPosterFrameUrl();\n }\n if (this.isPlayerLoaded && this.videoUrl !== this.playerHelper.getVideoFileToPlay().url) {\n this._loadPlayer();\n }\n }\n\n const loadMetaData = this._shouldAutoPlay ? 'auto' : 'metadata';\n\n // Set play aria label\n let playAriaLabel: string = '';\n if (this.playerMetaData.title) {\n playAriaLabel = `${this.localizationHelper.getLocalizedValue('playAriaLabel')} ${this.playerMetaData.title}`;\n } else {\n playAriaLabel = LocalizationConstants.playVideoAriaLabel;\n }\n\n return (\n \n
\n {this.state.currentAudioTrack !== '' && this.state.currentAudioTrackURL !== '' && (\n \n )}\n
\n
\n {this.state.screenReaderText}\n
\n \n \n \n {this.props.playerData.options.ageGate && this._renderAgeGate()}\n {this._renderPlayPauseTrigger(playAriaLabel, maskLevelStyle)}\n {this.state.showClosedCaptions && this._renderClosedCaptions()}\n {this._renderVideoControls(playAriaLabel)}\n \n \n );\n }\n\n /**\n * Play the video.\n */\n public play(): void {\n this.player.current!.play().catch(() => {\n this._onVideoError();\n });\n if (this.audio.current) {\n this.audio.current.play().catch(() => {\n this._onAudioError();\n });\n }\n }\n\n /**\n * Pause the video.\n */\n public pause(): void {\n this.player.current!.pause();\n if (this.audio.current) {\n this.audio.current.pause();\n }\n }\n\n public componentDidMount(): void {\n const {\n playerData: {\n options: { playPauseTrigger: isPlayPauseTrigger, lazyLoad: isLazyLoaded }\n }\n } = this.props;\n if (!isLazyLoaded) {\n this._onVideoLoadedData();\n this._showControlBar(false);\n }\n\n if (this._shouldAutoPlay || (isLazyLoaded && !isPlayPauseTrigger) || !isLazyLoaded) {\n this._loadPlayer();\n }\n document.addEventListener('fullscreenchange', this._onFullScreenChanged);\n document.addEventListener('mozfullscreenchange', this._onFullScreenChanged);\n document.addEventListener('webkitfullscreenchange', this._onFullScreenChanged);\n document.addEventListener('MSFullscreenChange', this._onFullScreenChanged);\n\n document.addEventListener('fullscreenerror', this._onFullscreenError);\n document.addEventListener('mozfullscreenerror', this._onFullscreenError);\n document.addEventListener('webkitfullscreenerror', this._onFullscreenError);\n document.addEventListener('MSFullscreenError', this._onFullscreenError);\n }\n\n public componentWillUnmount(): void {\n if (this.player.current) {\n for (const mediaEvent of MediaEvents) {\n this.player.current.removeEventListener(mediaEvent, this._triggerEvents);\n }\n }\n document.removeEventListener('fullscreenchange', this._onFullScreenChanged);\n document.removeEventListener('mozfullscreenchange', this._onFullScreenChanged);\n document.removeEventListener('webkitfullscreenchange', this._onFullScreenChanged);\n document.removeEventListener('MSFullscreenChange', this._onFullScreenChanged);\n\n document.removeEventListener('fullscreenerror', this._onFullscreenError);\n document.removeEventListener('mozfullscreenerror', this._onFullscreenError);\n document.removeEventListener('webkitfullscreenerror', this._onFullscreenError);\n document.removeEventListener('MSFullscreenError', this._onFullscreenError);\n }\n\n /**\n * Renders closed captions.\n * @returns Returns closed captions.\n */\n private readonly _renderClosedCaptions = (): JSX.Element => {\n return (\n \n );\n };\n\n /**\n * Renders the play pause trigger.\n * @param playAriaLabel - Aria label for the play button.\n * @param maskLevelStyle - Mask level.\n * @returns Returns play pause trigger.\n */\n private readonly _renderPlayPauseTrigger = (playAriaLabel: string, maskLevelStyle: React.CSSProperties): JSX.Element | undefined => {\n const {\n playerData: {\n options: {\n autoplay: shouldAutoPlay,\n playPauseTrigger: isPlayPauseTrigger,\n controls: isControlsEnabled,\n shouldDisableAutoPlayOnMobile\n }\n }\n } = this.props;\n\n if (!MsDyn365.msdyn365Commerce.isBrowser && isPlayPauseTrigger && shouldAutoPlay && shouldDisableAutoPlayOnMobile) {\n // Rendering an empty div because on server side isMobile will be false at server side.\n return
;\n }\n\n if (isPlayPauseTrigger && (!isControlsEnabled || this.state.isTriggerEnabled) && !this.state.isAgegateEnabled) {\n return (\n \n );\n }\n\n return undefined;\n };\n\n /**\n * Renders the video controls.\n * @param playAriaLabel - Arial label for the play button.\n * @returns Returns the video control.\n */\n private readonly _renderVideoControls = (playAriaLabel: string): JSX.Element | undefined => {\n const {\n playerData: {\n options: { controls: isControlsEnabled }\n }\n } = this.props;\n\n if (isControlsEnabled && !this.state.isTriggerEnabled && !this.state.isAgegateEnabled) {\n return (\n \n );\n }\n return undefined;\n };\n\n /**\n * Renders the age gate module.\n * @returns Renders the age gate module.\n */\n private readonly _renderAgeGate = (): JSX.Element => {\n return (\n \n );\n };\n\n private _loadPlayer(): void {\n if (this.player.current) {\n this.player.current.volume = this.state.currentVolume / 100;\n\n // Register the media events\n for (const mediaEvent of MediaEvents) {\n this.player.current.addEventListener(mediaEvent, this._triggerEvents);\n }\n }\n\n if (this.props.playerData.options.lazyLoad || this.props.isEditor) {\n this.videoUrl = this.playerHelper.getVideoFileToPlay().url;\n if (this.player.current) {\n this.player.current.src = this.videoUrl;\n this.player.current.load();\n }\n }\n\n this.isPlayerLoaded = true;\n\n if (this.props.playerData.options.controls) {\n this.closedCaptionHelper = new ClosedCaptionHelper(this.playerMetaData, this.playerHelper, this.localizationHelper);\n this.closedCaptionMenu = this.closedCaptionHelper.getClosedCaptionMenu()!;\n this.optionsMenu = this.playerHelper.getOptionMenu();\n const ccFiles = this.playerMetaData.ccFiles!;\n if (ccFiles !== undefined && ccFiles.length > 0) {\n const autoCaptionsLang = this.props.playerData && this.props.playerData.options.autoCaptions;\n let autoCaptionsLocale: string | null = null;\n for (const ccFile of ccFiles) {\n if (!autoCaptionsLocale && autoCaptionsLang && ccFile.locale.includes(autoCaptionsLang)) {\n autoCaptionsLocale = ccFile.locale;\n }\n }\n this.selectedClosedCaptionsLocale = autoCaptionsLocale;\n if (!isNullOrWhiteSpace(this.selectedClosedCaptionsLocale!)) {\n this.setState({\n closedCaptionLanguage: this.selectedClosedCaptionsLocale!,\n closedCaptionsURL: this.closedCaptionHelper.getClosedCaptionURLFromLocale(this.selectedClosedCaptionsLocale!),\n showClosedCaptions: true\n });\n }\n }\n }\n }\n\n /**\n * Validates the age submitted by the user.\n */\n private _validateAgeSubmitHandler(): void {\n if (this.ageGateContainer.current!.getCalculatedAge()) {\n this.videoUrl = this.playerHelper.getVideoFileToPlay().url;\n this.setState({ isAgegateEnabled: false });\n } else {\n this.setState({ isAgegateEnabled: true });\n this._displayErrorMessage({ title: 'you are not allowed to watch video' });\n }\n }\n\n private _onVideoControlsFocus(): void {\n // No need to call showControlBar, this will make sure it shows\n this.setState({ doControlsHaveFocus: true });\n }\n\n private _onVideoControlsBlur(): void {\n // Call showControlBar to give it the 6 second timeout\n this._showControlBar(true);\n\n this.setState({ doControlsHaveFocus: false });\n }\n\n private _onPlayerMenuItemFocus(notification: IPlayerMenuItemClickNotification): void {\n if (notification.data && notification.data.indexOf(':') > 0) {\n const dataSplit = notification.data.split(':');\n const settingKey = dataSplit[0];\n if (settingKey === videoClosedCaptionsConstant.presetKey) {\n if (this.state.closedCaptionLanguage === 'off') {\n this.setState(\n {\n showClosedCaptions: true\n },\n () => {\n this.ClosedCaptions.current!.showSampleCaptions();\n this._setCCSettings(notification, false);\n }\n );\n } else {\n this._setCCSettings(notification, false);\n }\n }\n } else if (this.state.closedCaptionLanguage === 'off') {\n this.setState({\n showClosedCaptions: false\n });\n }\n }\n\n private _onPlayerMenuItemBlur(): void {\n this._setCCSettings({\n category: MenuCategories.ClosedCaptionSettings,\n id: '',\n data: 'current'\n });\n }\n\n private _onPlayerMenuItemClick(notification: IPlayerMenuItemClickNotification): void {\n switch (notification.category) {\n case MenuCategories.ClosedCaption: {\n this._setCC(notification.id);\n break;\n }\n\n case MenuCategories.ClosedCaptionSettings: {\n this._setCCSettings(notification);\n break;\n }\n\n case MenuCategories.AudioTracks: {\n this._setAudioTracks(notification);\n break;\n }\n default:\n }\n }\n\n /**\n * Sets the close captioning language/locale.\n * @param ccLanguageId - The desired new cc value.\n */\n private _setCC(ccLanguageId: string): void {\n ccLanguageId = this.playerHelper.removeIdPrefix(ccLanguageId);\n let selectedOption: ICCFile | null = null;\n\n if (ccLanguageId && this.playerMetaData.ccFiles) {\n for (const ccFile of this.playerMetaData.ccFiles) {\n if (ccFile.locale === ccLanguageId && (!ccFile.ccType || ccFile.ccType === ClosedCaptionTypes.TTML)) {\n selectedOption = ccFile;\n break;\n }\n }\n }\n\n if (ccLanguageId === 'off') {\n this.setState({\n closedCaptionLanguage: 'off',\n closedCaptionsURL: '',\n showClosedCaptions: false\n });\n } else {\n this.setState({\n closedCaptionLanguage: selectedOption!.locale,\n closedCaptionsURL: selectedOption!.url,\n showClosedCaptions: true\n });\n }\n }\n\n /**\n * Sets the close caption settings.\n * @param notification - The desired new cc value.\n * @param updatePreferences - Update Preferences.\n */\n private _setCCSettings(notification: IPlayerMenuItemClickNotification, updatePreferences?: boolean): void {\n if (notification.data === 'reset') {\n this.setState(\n {\n currentClosedCaptionsSettings: closedCaptionsSettingDefaults\n },\n () => {\n if (this.ClosedCaptions.current !== null) {\n this.ClosedCaptions.current.applySettings();\n this.ClosedCaptions.current.resetCaptions();\n this.ClosedCaptions.current.updateCaptions(this.state.playPosition.currentTime);\n }\n }\n );\n } else if (notification.data === 'current') {\n this.setState({\n tempClosedCaptionsSettings: undefined\n });\n\n if (this.state.closedCaptionLanguage === 'off') {\n this.setState({\n showClosedCaptions: false\n });\n }\n } else {\n const dataSplit = notification.data!.split(':');\n if (!dataSplit) {\n return;\n }\n const settingKey = dataSplit[0];\n const optionKey = dataSplit[1];\n const currentSetting = this.closedCaptionHelper!.getUpdatedClosedCaptionSetting(\n this.state.currentClosedCaptionsSettings,\n settingKey,\n optionKey\n );\n if (updatePreferences === undefined || updatePreferences) {\n this.setState(\n {\n tempClosedCaptionsSettings: undefined,\n currentClosedCaptionsSettings: currentSetting\n },\n () => {\n if (this.ClosedCaptions.current) {\n this.ClosedCaptions.current.applySettings();\n this.ClosedCaptions.current.resetCaptions();\n this.ClosedCaptions.current.updateCaptions(this.state.playPosition.currentTime);\n }\n }\n );\n } else {\n this.setState({\n tempClosedCaptionsSettings: currentSetting\n });\n }\n }\n }\n\n private _setAudioTracks(notification: IPlayerMenuItemClickNotification): void {\n const data = JSON.parse(notification.data!);\n if (data.lang === 'default') {\n this.setState(\n {\n currentAudioTrack: 'default',\n currentAudioTrackURL: ''\n },\n () => {\n this.player.current!.volume = this.state.currentVolume / 100;\n }\n );\n } else {\n this.setState(\n {\n currentAudioTrack: data.lang,\n currentAudioTrackURL: data.url\n },\n () => {\n this.audio.current!.currentTime = this.player.current!.currentTime;\n this.audio.current!.volume = this.state.currentVolume / 100;\n this.player.current!.volume = 0;\n if (!this.player.current!.paused) {\n this.audio.current!.load();\n for (const mediaEvent of MediaEvents) {\n this.audio.current!.addEventListener(mediaEvent, this._triggerAudioEvents);\n }\n }\n }\n );\n }\n }\n\n private _triggerAudioEvents(event: Event): void {\n switch (event.type.toLowerCase()) {\n case 'error':\n this._onAudioError();\n break;\n case 'waiting':\n if (this.playerState === 'playing') {\n this.isPlayerManuallyPaused = true;\n this.pause();\n }\n break;\n\n case 'loadeddata':\n if (this.isPlayerManuallyPaused) {\n this.isPlayerManuallyPaused = false;\n this.play();\n }\n if (!this.player.current!.paused) {\n this.play();\n }\n break;\n\n default:\n }\n }\n\n private _triggerEvents(event: Event): void {\n switch (event.type.toLowerCase()) {\n case 'canplay':\n case 'canplaythrough':\n break;\n\n case 'error':\n this._onVideoError();\n break;\n\n case 'play':\n break;\n\n case 'pause':\n this._updateState('paused');\n if (this.props.playerData.options.playPauseTrigger) {\n this.setState({\n mouseHovered: true\n });\n }\n break;\n\n case 'seeking':\n if (this.playerState !== 'ended' && this.player.current!.seeking) {\n this.seekFrom = this.player.current!.currentTime;\n this._updateState('seeking');\n }\n break;\n\n case 'seeked':\n const currentPlayer = this.player.current;\n const currentTime = currentPlayer!.currentTime;\n if (this.playerState !== 'ended' && this.player.current!.seeking && this.seekFrom !== currentTime) {\n this.seekFrom = null;\n }\n this._updateState(currentPlayer!.paused ? 'paused' : 'playing');\n break;\n\n case 'waiting':\n this._updateState('buffering');\n break;\n\n case 'loadedmetadata':\n break;\n\n case 'loadeddata':\n this._onVideoLoadedData();\n if (!this._shouldAutoPlay) {\n this._showControlBar(false);\n }\n break;\n\n case 'timeupdate':\n this._onTimeUpdate();\n break;\n\n case 'ended':\n this._updateState('ended');\n this._stop();\n break;\n\n case 'playing':\n this._updateState('playing');\n break;\n\n case 'volumechange':\n break;\n\n default:\n }\n }\n\n private _onAudioError(): void {\n this.pause();\n const errorMessage: IVideoErrorMessageData = { title: 'Error while playing audio Track. Switching back to default track' };\n this._displayErrorMessage(errorMessage);\n this._setAudioTracks({ category: 'audioTracks', data: '{ \"lang\": \"default\", \"url\": \"\"}', id: '' });\n setTimeout(() => {\n this.setState(\n {\n showErrorMessage: false\n },\n () => {\n this.play();\n }\n );\n }, 2000);\n }\n\n private _onVideoError(): void {\n this._updateState('error');\n const error: IVideoErrorData | null = this._getError();\n let errorMessage = '';\n if (error?.errorCode) {\n switch (error.errorCode) {\n case VideoErrorCodes.MediaErrorAborted:\n errorMessage = 'video playback was aborted';\n break;\n case VideoErrorCodes.MediaErrorNetwork:\n errorMessage = 'video failed to download';\n break;\n case VideoErrorCodes.MediaErrorDecode:\n errorMessage = 'video is not readable';\n break;\n case VideoErrorCodes.MediaErrorSourceNotSupported:\n errorMessage = 'video format is not supported';\n break;\n default:\n errorMessage = 'unknown error occurred';\n }\n\n this._stopMedia(errorMessage);\n } else {\n this._stopMedia();\n }\n }\n\n private _stopMedia(msgToDisplay?: string): void {\n if (msgToDisplay) {\n this._displayErrorMessage({ title: msgToDisplay });\n this._updateState('stopped');\n }\n }\n\n /**\n * Create an error message overlay.\n * @param errorMessage - Error message content.\n */\n private _displayErrorMessage(errorMessage: IVideoErrorMessageData): void {\n this.setState({ videoErrorMessage: { title: errorMessage.title, message: errorMessage.message } });\n this.setState({ showErrorMessage: true });\n }\n\n /**\n * Gets the video error code of the current error.\n * @returns : Returns the video error code.\n */\n private _getError(): IVideoErrorData | null {\n let contentErrorCode: VideoErrorCodes;\n if (this.player.current!.error) {\n // Video playback failed - show a message saying why\n switch (this.player.current!.error.code) {\n case this.player.current!.error.MEDIA_ERR_ABORTED:\n contentErrorCode = VideoErrorCodes.MediaErrorAborted;\n break;\n case this.player.current!.error.MEDIA_ERR_NETWORK:\n contentErrorCode = VideoErrorCodes.MediaErrorNetwork;\n break;\n case this.player.current!.error.MEDIA_ERR_DECODE:\n contentErrorCode = VideoErrorCodes.MediaErrorDecode;\n break;\n case this.player.current!.error.MEDIA_ERR_SRC_NOT_SUPPORTED:\n contentErrorCode = VideoErrorCodes.MediaErrorSourceNotSupported;\n break;\n default:\n contentErrorCode = VideoErrorCodes.MediaErrorUnknown;\n }\n return { errorCode: contentErrorCode };\n }\n return null;\n }\n\n private _handleControlsKeyDownEvent(e: React.KeyboardEvent): void {\n const keyBrdEvent = (e as unknown) as KeyboardEvent;\n const keycode = keyBrdEvent.keyCode;\n this._showControlBar(true);\n\n // Const castTarget = e.target as HTMLElement;\n\n switch (keycode) {\n case KeyCodes.Home:\n e.stopPropagation();\n e.preventDefault();\n this.player.current!.currentTime = 0;\n if (this.audio.current) {\n this.audio.current.currentTime = 0;\n }\n break;\n case KeyCodes.End:\n e.stopPropagation();\n e.preventDefault();\n this.player.current!.currentTime = this.state.playPosition.endTime;\n if (this.audio.current) {\n this.audio.current.currentTime = this.state.playPosition.endTime;\n }\n break;\n case KeyCodes.ArrowLeft:\n case KeyCodes.ArrowRight:\n e.stopPropagation();\n e.preventDefault();\n let jumpToTime =\n keycode === KeyCodes.ArrowLeft\n ? this.state.playPosition.currentTime - PlayerConstants.defaultVideoSliderSteps\n : this.state.playPosition.currentTime + PlayerConstants.defaultVideoSliderSteps;\n jumpToTime = Math.min(Math.max(this.state.playPosition.startTime, jumpToTime), this.state.playPosition.endTime);\n this.player.current!.currentTime = jumpToTime;\n if (this.audio.current) {\n this.audio.current.currentTime = jumpToTime;\n }\n break;\n case KeyCodes.ArrowUp:\n case KeyCodes.ArrowDown:\n e.stopPropagation();\n e.preventDefault();\n this.videoControl.current!.showVolumeControl(true).call(this);\n const volume =\n keycode === KeyCodes.ArrowDown\n ? Math.max((this.state.currentVolume - PlayerConstants.defaultVolumeSliderSteps) / 100, 0)\n : Math.min((this.state.currentVolume + PlayerConstants.defaultVolumeSliderSteps) / 100, 1);\n this.setState({ currentVolume: Math.round(volume * 100) });\n if (this.audio.current) {\n this.audio.current.volume = volume;\n } else {\n this.player.current!.volume = volume;\n }\n if (volume === 0) {\n this.setState({ isMuted: true });\n } else {\n this.setState({ isMuted: false });\n }\n break;\n default:\n }\n }\n\n private _onPlay(): void {\n this.setState({ playing: true });\n }\n\n private _onPause(): void {\n this.setState({ playing: false });\n }\n\n private _onVolumeChange(notification: ISliderChangeNotification): void {\n this.setState({ currentVolume: notification.firstThumbValue });\n if (this.audio.current) {\n this.audio.current.volume = notification.firstThumbValue / 100;\n } else {\n this.player.current!.volume = notification.firstThumbValue / 100;\n }\n\n if (notification.firstThumbValue === 0) {\n this.setState({ isMuted: true });\n } else if (this.state.isMuted && notification.firstThumbValue > 0) {\n this.setState({ isMuted: false });\n }\n }\n\n private _setMuted(): void {\n if (this.state.isMuted) {\n const newVolume = this.state.previousVolume === 0 ? PlayerConstants.defaultVolume * 100 : this.state.previousVolume;\n\n if (this.audio.current) {\n this.audio.current.volume = newVolume / 100;\n } else {\n this.player.current!.volume = newVolume / 100;\n }\n this.setState({ isMuted: false, currentVolume: newVolume });\n this._updateScreenReaderElement(this.localizationHelper.getLocalizedValue('unMuteAriaLabel'));\n onTelemetryClick(this.props.telemetryContent!, this.payLoad, LocalizationConstants.unMuteAriaLabel).call(this);\n } else {\n this.setState({ isMuted: true, previousVolume: this.player.current!.volume * 100, currentVolume: 0 });\n this._updateScreenReaderElement(this.localizationHelper.getLocalizedValue('muteAriaLabel'));\n onTelemetryClick(this.props.telemetryContent!, this.payLoad, LocalizationConstants.muteAriaLabel).call(this);\n }\n }\n\n private _onPlayerKeyDown(e: React.KeyboardEvent): void {\n const keyBrdEvent = (e as unknown) as KeyboardEvent;\n const keycode = keyBrdEvent.keyCode;\n\n if (keycode === KeyCodes.Tab) {\n this._showControlsBasedOnState();\n }\n }\n\n private _onMouseEvent(event: React.MouseEvent): void {\n if (this.props.playerData.options.controls) {\n this._showControlBar();\n }\n if (!this.state.isTriggerEnabled && this.state.playing) {\n this.setState({ mouseHovered: event.type === 'mouseenter' });\n }\n }\n\n private _showControlBar(autoHide: boolean = true): void {\n if (!this.state.isTriggerEnabled && !this.state.isAgegateEnabled) {\n if (!this.state.isControlPanelVisible) {\n this.setState({ isControlPanelVisible: true });\n }\n if (this.controlPanelTimer) {\n window && window.clearTimeout(this.controlPanelTimer);\n this.controlPanelTimer = 0;\n }\n if (autoHide) {\n this.controlPanelTimer =\n window &&\n window.setTimeout(() => {\n this._hideControlBar();\n }, PlayerConstants.defaultControlPanelTimeout);\n }\n }\n }\n\n private _hideControlBar(): void {\n window && window.clearTimeout(this.controlPanelTimer);\n this.controlPanelTimer = 0;\n this.setState({ isControlPanelVisible: false });\n }\n\n private _onFullScreenChanged(): void {\n this.state.isInFullScreen ? this._onFullscreenExit() : this._onFullscreenEnter();\n }\n\n /**\n * Event handler for fullscreen enter.\n */\n private _onFullscreenEnter(): void {\n this.setState({\n isInFullScreen: true\n });\n }\n\n /**\n * Event handler for fullscreen exit.\n */\n private _onFullscreenExit(): void {\n this.setState({\n isInFullScreen: false\n });\n }\n\n private _toggleFullScreen(): void {\n this.state.isInFullScreen ? this._exitFullScreen() : this._enterFullScreen();\n }\n\n private _onFullscreenError(): void {\n this.setState({\n isInFullScreen: false\n });\n }\n\n private _enterFullScreen(): void {\n if (!Player._isNativeFullscreenEnabled()) {\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const fullscreenElement = this.playerContainer.current! as any;\n const elementInFullScreen = Player._getElementInFullScreen();\n\n // We go to fullscreen only when there is no other element in fullscreen and browser supports fullscreen\n if (fullscreenElement && !elementInFullScreen) {\n const enterFullScreen =\n fullscreenElement.requestFullscreen ||\n fullscreenElement.msRequestFullscreen ||\n fullscreenElement.mozRequestFullScreen ||\n fullscreenElement.webkitRequestFullscreen ||\n fullscreenElement.webkitEnterFullScreen;\n\n enterFullScreen.call(fullscreenElement);\n this._updateScreenReaderElement(this.localizationHelper.getLocalizedValue('fullScreenLabel'));\n onTelemetryClick(this.props.telemetryContent!, this.payLoad, LocalizationConstants.fullScreenAriaLabel).call(this);\n }\n }\n\n private _exitFullScreen(): void {\n if (!Player._isNativeFullscreenEnabled()) {\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const fullscreenElement = this.playerContainer.current! as any;\n const elementInFullScreen = Player._getElementInFullScreen();\n\n // We only call cancel if we are in fullscreen. If another element went fullscreen that took the player with it then\n // we shouldn't call cancel fullscreen\n if (fullscreenElement && fullscreenElement === elementInFullScreen) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const doc = document as any;\n const cancelFullScreen = doc.cancelFullScreen || doc.msExitFullscreen || doc.mozCancelFullScreen || doc.webkitCancelFullScreen;\n\n cancelFullScreen.call(doc);\n this._updateScreenReaderElement(this.localizationHelper.getLocalizedValue('exitFullScreenLabel'));\n onTelemetryClick(this.props.telemetryContent!, this.payLoad, LocalizationConstants.exitFullScreenAriaLabel).call(this);\n }\n }\n\n private _onVideoLoadedData(): void {\n this._updateState('ready');\n if (this.props.playerData.options.controls) {\n const position = this._getPlayPosition();\n this.setState({ playPosition: position });\n }\n }\n\n private _onTimeUpdate(): void {\n if (this.props.playerData.options.controls) {\n const position = this._getPlayPosition();\n\n // EndTime changes after playing video for certain time. Keeping this constant.\n position.endTime = this.state.playPosition.endTime;\n this.setState({ playPosition: position });\n if (this.state.playing) {\n if (this.playerState === 'buffering') {\n this._updateState('playing');\n }\n }\n }\n }\n\n private _getBufferedDuration(): number {\n let buffered = 0;\n if (this.player.current!.buffered && this.player.current!.buffered.length) {\n buffered = this.player.current!.buffered.end(this.player.current!.buffered.length - 1);\n }\n return buffered;\n }\n\n private _getPlayPosition(): IPlayPosition {\n const bufferedDuration = this._getBufferedDuration();\n return {\n currentTime: this.player.current!.currentTime,\n startTime: 0,\n endTime: this.player.current!.duration,\n bufferedDuration\n };\n }\n\n private _onProgressChange(notification: ISliderChangeNotification): void {\n let time = notification.firstThumbValue;\n const position = this._getPlayPosition();\n time = Math.max(position.startTime, Math.min(time, position.endTime));\n\n if (Math.abs(time - position.currentTime) >= PlayerConstants.defaultPositionUpdateThreshold) {\n this.player.current!.currentTime = time;\n if (this.audio.current) {\n this.audio.current.currentTime = time;\n }\n }\n }\n\n private _onTriggerClicked(): void {\n const currentPlayer = this.player.current;\n if (!this.isPlayerLoaded) {\n this._loadPlayer();\n this.player.current!.autoplay = true;\n } else if (currentPlayer!.paused) {\n this.play();\n this._updateScreenReaderElement(this.localizationHelper.getLocalizedValue('playingAriaLabel'));\n onTelemetryClick(this.props.telemetryContent!, this.payLoad, LocalizationConstants.playAriaLabel).call(this);\n if (this.videoControl.current) {\n this.videoControl.current.setFocusOnPause();\n }\n } else {\n this.pause();\n this._updateScreenReaderElement(this.localizationHelper.getLocalizedValue('pausedAriaLabel'));\n onTelemetryClick(this.props.telemetryContent!, this.payLoad, LocalizationConstants.pauseAriaLabel).call(this);\n if (this.videoControl.current) {\n this.videoControl.current.setFocusOnPlay();\n }\n }\n\n if (this.state.isTriggerEnabled) {\n this.setState({ isTriggerEnabled: false }, () => {\n setTimeout(() => {\n if (this.videoControl.current) {\n this.videoControl.current.setFocusOnPause();\n }\n }, 500);\n });\n onTelemetryClick(this.props.telemetryContent!, this.payLoad, LocalizationConstants.pauseAriaLabel).call(this);\n if (this.props.playerData.options.playFullScreen) {\n this._enterFullScreen();\n }\n }\n }\n\n private _stop(): void {\n const videoStartingTime: number = 0.1;\n if (isSafari()) {\n // Safari browser has issues with showing the poster frame of the video when ended. So setting the same to 0.1 seconds.\n this._seek(videoStartingTime);\n } else {\n this._seek(0);\n }\n\n if (this.props.playerData.options.controls) {\n this.pause();\n const playPosition = this._getPlayPosition();\n playPosition.endTime = this.state.playPosition.endTime;\n this.setState({ playPosition });\n if (this.audio.current) {\n this.audio.current.pause();\n }\n }\n }\n\n private _seek(time: number): void {\n const position = this._getPlayPosition();\n time = Math.max(position.startTime, Math.min(time, position.endTime));\n\n if (Math.abs(time - position.currentTime) >= PlayerConstants.defaultPositionUpdateThreshold) {\n this.seekFrom = position.currentTime;\n this.player.current!.currentTime = time;\n if (this.audio.current) {\n this.audio.current.currentTime = time;\n }\n }\n }\n\n /**\n * Returns the mask level style.\n * @returns Returns the mask level style.\n */\n private _getMaskLevelStyle(): string {\n let result: string = '';\n if (this.state.isTriggerEnabled) {\n const maskLevel = this.props.playerData.options.maskLevel || PlayerConstants.defaultMaskLevel;\n result = format('rgba(0,0,0,{0})', Number(maskLevel) / 100);\n }\n return result;\n }\n\n /**\n * Updates the current player state.\n * @param newState - Player state.\n */\n private _updateState(newState: PlayerStates): void {\n if (!newState || newState === this.playerState) {\n return;\n }\n\n this.playerState = newState;\n\n this._showControlsBasedOnState();\n this._showSpinnerBasedOnState();\n }\n\n /**\n * Shows or hides the spinner based on player state.\n */\n private _showSpinnerBasedOnState(): void {\n switch (this.playerState) {\n case 'ready':\n case 'playing':\n case 'paused':\n case 'ended':\n case 'stopped':\n case 'error':\n this._hideSpinner();\n break;\n default:\n this._showSpinner();\n }\n }\n\n /**\n * Shows or hides the player controls based on player state.\n */\n private _showControlsBasedOnState(): void {\n switch (this.playerState) {\n case 'error':\n case 'loading':\n case 'init':\n this._hideControlBar();\n break;\n case 'ended':\n this._showControlBar(false);\n break;\n case 'ready':\n case 'paused':\n case 'stopped':\n this._showControlBar(false);\n break;\n default:\n this._showControlBar(true);\n }\n }\n\n private _hideSpinner(): void {\n this.setState({ showSpinner: false });\n }\n\n private _showSpinner(): void {\n this.setState({ showSpinner: true });\n }\n\n /**\n * Play Trigger focus event.\n */\n private _onTriggerFocus(): void {\n this.setState({ mouseHovered: true });\n }\n\n /**\n * Play Trigger Blur event.\n */\n private _onTriggerBlur(): void {\n if (!this.state.isTriggerEnabled && this.state.playing) {\n this.setState({ mouseHovered: false });\n }\n }\n\n /**\n * Updates the screen reader element.\n * @param text - Update the screen reader element with the pased text.\n */\n private _updateScreenReaderElement(text: string): void {\n this.setState({\n screenReaderText: text\n });\n }\n\n /**\n * Avoid opening context menu on righ click.\n * @param e - Mouse Event.\n */\n private _onContextMenuClicked(e: React.MouseEvent): void {\n e.preventDefault();\n }\n\n /**\n * Check for mobile devices.\n * @returns - Return true or false.\n */\n private _isMobile(): boolean {\n if (MsDyn365.msdyn365Commerce.isBrowser) {\n const userAgent = window.navigator.userAgent;\n const isIphone = !!userAgent.match(/iphone/i);\n const isSilk = !!userAgent.match(/silk/i);\n const isWindowsPhone = !!userAgent.match(/windows phone/i);\n const isAndroid = !isWindowsPhone && (isSilk || !!userAgent.match(/android/i));\n return isIphone || isWindowsPhone || isAndroid;\n }\n return false;\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { extend, IClientDimension, IDictionaryStringString, IGrid } from '../utilities';\n\n/**\n * Timed Text Markup Language (TTML).\n * See http://www.w3.org/TR/ttml1/ for more details.\n */\nexport const xmlNS = 'http://www.w3.org/XML/1998/namespace';\n\n/**\n * @interface ITtmlSettings\n * @classdesc - The ITtmlSettings interface contract.\n */\nexport interface ITtmlSettings {\n ttmlNamespace?: string;\n ttmlStyleNamespace?: string;\n ttmlParameterNamespace?: string;\n ttmlMetaNamespace?: string;\n idPrefix?: string;\n mediaFrameRate?: number;\n mediaFrameRateMultiplier?: number;\n mediaSubFrameRate?: number;\n mediaTickRate?: number;\n supportedTimeBase?: string;\n rootContainerRegionDimensions?: IClientDimension | null;\n relatedMediaObjectRegion?: IClientDimension | null;\n cellResolution?: IGrid;\n defaultRegionStyle?: IDictionaryStringString;\n fontMap?: IDictionaryStringString;\n log?: Function;\n}\n\n/**\n *\n * The TtmlSettings class.\n * The TtmlSettings class is used to pass settings between the ttml parser, the ttml context, and the outside world.\n * It supplies default values which can be overridden via overrides passed to the constructor.\n */\nexport class TtmlSettings implements ITtmlSettings {\n /**\n * @name - ttmlNamespace\n * @description - The ttml namespace to use.\n * @public\n * @type {string}\n */\n public ttmlNamespace: string = 'http://www.w3.org/ns/ttml';\n\n /**\n * @name - ttmlStyleNamespace\n * @description - The ttml style namespace to use.\n * @public\n * @type {string}\n */\n public ttmlStyleNamespace: string = 'http://www.w3.org/ns/ttml#styling';\n\n /**\n * @name - ttmlParameterNamespace\n * @description - The ttml parameter namespace to use.\n * @public\n * @type {string}\n */\n public ttmlParameterNamespace: string = 'http://www.w3.org/ns/ttml#parameter';\n\n /**\n * @name - ttmlMetaNamespace\n * @description - The ttml metadata namespace to use.\n * @public\n * @type {string}\n */\n public ttmlMetaNamespace: string = 'http://www.w3.org/ns/ttml#metadata';\n\n /**\n * @name - idPrefix\n * @description - The id prefix to use so ids copied from the ttml doc are unique.\n * @public\n * @type {string}\n */\n public idPrefix: string = '';\n\n /**\n * @name - mediaFrameRate\n * @description - The media frame rate to use.\n * @public\n * @type {number}\n */\n public mediaFrameRate: number = 30;\n\n /**\n * @name - mediaFrameRateMultiplier\n * @description - The media frame rate multiplier to use.\n * @public\n * @type {number}\n */\n public mediaFrameRateMultiplier: number = 1;\n\n /**\n * @name - mediaSubFrameRate\n * @description - The media sub frame rate to use.\n * @public\n * @type {number}\n */\n public mediaSubFrameRate: number = 1;\n\n /**\n * @name - mediaTickRate\n * @description - The media tick rate to use.\n * @public\n * @type {number}\n */\n public mediaTickRate: number = 1000;\n\n /**\n * @name - supportedTimeBase\n * @description - The support timebase value.\n * @public\n * @type {string}\n */\n public supportedTimeBase: string = 'media';\n\n /**\n * @name - rootContainerRegionDimensions\n * @description - The root container's dimensions.\n * @public\n * @type {IClientDimension}\n */\n public rootContainerRegionDimensions: IClientDimension | null = null;\n\n /**\n * @name - relatedMediaObjectRegion\n * @description - The media object's dimensions.\n * @public\n * @type {IClientDimension}\n */\n public relatedMediaObjectRegion: IClientDimension | null = null;\n\n /**\n * @name - cellResolution\n * @description - The default cell grid.\n * @public\n * @type {IGrid}\n */\n public cellResolution: IGrid = { rows: 15, columns: 32 };\n\n /**\n * @name - defaultRegionStyle\n * @description - The default region style.\n * @public\n * @type {IDictionaryStringString}\n */\n public defaultRegionStyle: IDictionaryStringString = {\n backgroundColor: 'transparent',\n color: '#E8E9EA',\n direction: 'ltr',\n display: 'auto',\n displayAlign: 'before',\n extent: 'auto',\n fontFamily: 'default',\n fontSize: '1c',\n fontStyle: 'normal',\n fontWeight: 'normal',\n lineHeight: 'normal',\n opacity: '1',\n origin: 'auto',\n overflow: 'hidden',\n padding: '0',\n showBackground: 'always',\n textAlign: 'start',\n textDecoration: 'none',\n textOutline: 'none',\n unicodeBidi: 'normal',\n visibility: 'visible',\n wrapOption: 'normal',\n writingMode: 'lrtb'\n };\n\n /**\n * @name - fontMap\n * @description - The default font map.\n * @public\n * @type {IDictionaryStringString}\n */\n public fontMap: IDictionaryStringString = {};\n\n /**\n * @name - log\n * @description - The logging function to use in debug mode.\n * @public\n * @type {Function}\n */\n public log: Function | undefined;\n\n /*\n * Constructor for the TtmlSettings class.\n */\n public constructor(settingsOverrides?: ITtmlSettings) {\n // These are from the Simple Delivery Profile\n // Per spec recommendation that default be monospace sans serif.\n this.fontMap.default = 'Lucida sans typewriter, Lucida console, Consolas';\n this.fontMap.monospaceSerif = 'Courier';\n this.fontMap.proportionalSerif = 'Times New Roman, Serif';\n this.fontMap.monospaceSansSerif = 'Lucida sans typewriter, Lucida console, Consolas';\n this.fontMap.proportionalSansSerif = 'Arial, Sans-serif';\n this.fontMap.casual = 'Verdana';\n this.fontMap.cursive = 'Zapf-Chancery, Segoe script, Cursive';\n this.fontMap.smallCaps = 'Arial, Helvetica';\n\n // These are others from the broader ttml (v1.0)\n this.fontMap.monospace = 'Lucida sans typewriter, Lucida console, Consolas';\n this.fontMap.sansSerif = 'Arial, Sans-serif';\n this.fontMap.serif = 'Times New Roman, Serif';\n\n if (settingsOverrides) {\n extend(this, settingsOverrides);\n }\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n addClass,\n css,\n extend,\n format,\n getDimensions,\n getText,\n IClientDimension,\n IDictionaryStringString,\n isNullOrWhiteSpace,\n nodeListToArray,\n trim\n} from '../utilities';\nimport { ITtmlEvent, TtmlParser } from './ttml-parser';\nimport { TtmlSettings, xmlNS } from './ttml-settings';\n\n// Timed Text Markup Language (TTML).\n// See http://www.w3.org/TR/ttml1/ for more details.\n\n/**\n * @interface ITtmlContext\n * @classdesc - The TtmlContext interface contract.\n */\nexport interface ITtmlContext {\n setOwnerDocument(ownerDocument: Document): void;\n updateRelatedMediaObjectRegion(dimensions: IClientDimension): boolean;\n resetCurrentEvents(): void;\n hasEvents(): boolean;\n updateCurrentEvents(time: number): boolean;\n getCues(time: number): HTMLElement[];\n}\n\n/**\n * @interface ITtmlTranslationResult\n * @classdesc - The ITtmlTranslationResult interface contract.\n */\ninterface ITtmlTranslationResult {\n outerNode: HTMLElement | null;\n innerNode: HTMLElement | null;\n inheritableStyleSet?: IDictionaryStringString | null;\n}\n\n/**\n * @interface ITtmlPruneResult\n * @classdesc - The ITtmlPruneResult interface contract.\n */\ninterface ITtmlPruneResult {\n prunedElement: Element;\n hasPreservedContent: boolean;\n}\n\n/**\n * The TtmlContext. An instance of this class is returned from the TttmlParser.parse() method after it parses a ttml file.\n * This context is then used by the VideoClosedCaptions object to get the captions for any play position of the video.\n */\nexport class TtmlContext implements ITtmlContext {\n /**\n * @name - lengthRegEx\n * The regular expression pattern used in ttml->css text outline conersion.\n * @static\n * @private\n * @type {RegExp}\n */\n private static readonly lengthRegEx: RegExp = /\\s*(\\d+\\.*\\d*)(.*)\\s*/;\n\n /**\n * @name - rgbaRegEx\n * The regular expression pattern used in ttml->css color conersion.\n * @static\n * @private\n * @type {RegExp}\n */\n private static readonly rgbaRegEx: RegExp = /\\s*rgba\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)\\s*/;\n\n /**\n * @name - TtmlNamedColorMap\n * The table used to map named ttml color values to css color values.\n * @static\n * @private\n * @type {IDictionaryStringString}\n */\n private static readonly TtmlNamedColorMap: IDictionaryStringString = {\n transparent: 'rgba(0,0,0,0)',\n black: 'rgba(0,0,0,1)',\n silver: 'rgba(192,192,192,1)',\n gray: 'rgba(128,128,128,1)',\n white: 'rgba(255,255,255,1)',\n maroon: 'rgba(128,0,0,1)',\n red: 'rgba(255,0,0,1)',\n purple: 'rgba(128,0,128,1)',\n fuchsia: 'rgba(255,0,255,1)',\n magenta: 'rgba(255,0,255,1)',\n green: 'rgba(0,128,0,1)',\n lime: 'rgba(0,255,0,1)',\n olive: 'rgba(128,128,0,1)',\n yellow: 'rgba(255,255,0,1)',\n navy: 'rgba(0,0,128,1)',\n blue: 'rgba(0,0,255,1)',\n teal: 'rgba(0,128,128,1)',\n aqua: 'rgba(0,255,255,1)',\n cyan: 'rgba(0,255,255,1)'\n };\n\n /**\n * @name - events\n * The set of all ttml events.\n * @public\n * @type {ITtmlEvent[]}\n */\n public events!: ITtmlEvent[];\n\n /**\n * @name - settings\n * The ttml settings.\n * @public\n * @type {TtmlSettings}\n */\n public settings!: TtmlSettings;\n\n /**\n * @name - styleSetCache\n * The ttml styleSet cache.\n * @public\n * @type {IDictionaryStringString[]}\n */\n public styleSetCache!: IDictionaryStringString[];\n\n /**\n * @name - rootContainerRegion\n * The root container region.\n * @public\n * @type {Element}\n */\n public rootContainerRegion!: Element;\n\n /**\n * @name - root\n * The root element.\n * @public\n * @type {Element}\n */\n public root!: Element;\n\n /**\n * @name - body\n * The body element.\n * @public\n * @type {Element}\n */\n public body!: Element;\n\n /**\n * @name - layout\n * The layout element.\n * @public\n * @type {Element}\n */\n public layout!: Element;\n\n /**\n * @name - ownerDocument\n * The owner document for this context. Used to create html elements.\n * @private\n * @type {Document}\n */\n private ownerDocument!: Document;\n\n /**\n * @name - currentEvents\n * The current set of temporally active events.\n * @private\n * @type {ITtmlEvent[]}\n */\n private currentEvents!: ITtmlEvent[];\n\n /**\n * @name - currentEventsTime\n * The time the currentEvents was populated.\n * @private\n * @type {number}\n */\n private currentEventsTime!: number;\n\n /**\n * Converts a ttml text decoration style value to a css one.\n * @param ttmlTextDecoration - The ttml value.\n * @returns - The css value.\n */\n private static _ttmlToCssTextDecoration(ttmlTextDecoration: string): string {\n let textDecoration = '';\n const parts = ttmlTextDecoration.split(/\\s+/);\n\n // Since we have no CSS for the 'no' values just replace them all with a none at the front of the list.\n for (const value of parts) {\n // eslint-disable-next-line default-case\n switch (value) {\n case 'none':\n case 'noUnderline':\n case 'noLineThrough':\n case 'noOverline':\n textDecoration = 'none';\n }\n }\n\n // Then append all the others.\n for (const value of parts) {\n switch (value) {\n case 'none':\n case 'noUnderline':\n case 'noLineThrough':\n case 'noOverline':\n break;\n case 'lineThrough':\n textDecoration += ' line-through';\n break;\n default:\n textDecoration += ` ${value}`;\n }\n }\n\n return trim(textDecoration);\n }\n\n /**\n * Converts a ttml text color style value to a css one.\n * #RRGGBB and rgb(rrr,ggg,bbb) do not need conversion and are not modified.\n * #RRGGBBAA is modified because css doesn't support it (at least as implemented in todays browsers).\n * rgba(rrr,ggg,bbb,aaa) is converted to rgba(rrr,ggg,bbb,0-1).\n * ttml namedColors are converted to rgb(rrr,ggg,bbb) in the unlikely event that their alpha (only) is overridden.\n * @param color - The ttml value.\n * @returns - The css value.\n */\n private static _ttmlToCssColor(color: string): string {\n let mappedColor = color;\n\n color = color.toLowerCase();\n\n if (color.startsWith('rgba')) {\n const parts = TtmlContext.rgbaRegEx.exec(color);\n\n if (parts && parts.length === 5) {\n const red = parts[1];\n const green = parts[2];\n const blue = parts[3];\n const alpha = Number.parseInt(parts[4], 10);\n\n mappedColor = format('rgba({0},{1},{2},{3})', red, green, blue, Math.round((alpha * 100) / 255) / 100);\n }\n } else if (color.startsWith('#') && color.length === 9) {\n const red = Number.parseInt(color.substr(1, 2), 16);\n const green = Number.parseInt(color.substr(3, 2), 16);\n const blue = Number.parseInt(color.substr(5, 2), 16);\n const alpha = Number.parseInt(color.substr(7, 2), 16);\n\n mappedColor = format('rgba({0},{1},{2},{3})', red, green, blue, Math.round((alpha * 100) / 255) / 100);\n } else if (TtmlContext.TtmlNamedColorMap[color]) {\n mappedColor = TtmlContext.TtmlNamedColorMap[color];\n }\n\n return mappedColor;\n }\n\n /**\n * Applies default styles to the element to match the ttml defaults.\n * @param element - The element to set the default styles on.\n * @returns - The specified element (for chaining).\n */\n private static _defaultStyle(element: HTMLElement): HTMLElement {\n // Set some element styles to our ttml defaults for them.\n css(element, 'background-color', TtmlContext.TtmlNamedColorMap.transparent);\n css(element, 'offset', '0');\n css(element, 'margin', '0');\n css(element, 'padding', '0');\n css(element, 'border', '0');\n return element;\n }\n\n /**\n * Set the context's owner document. It will use this to create elements during translation.\n * @param ownerDocument - The owner document for this context.\n */\n public setOwnerDocument(ownerDocument: Document): void {\n this.ownerDocument = ownerDocument;\n }\n\n /**\n * Updates the context's media object region.\n * @public\n * @param dimensions - The desired dimensions for the region.\n * @returns - True if the dimensions where changed, otherwise false.\n */\n public updateRelatedMediaObjectRegion(dimensions: IClientDimension): boolean {\n if (\n dimensions !== null &&\n (!this.settings.relatedMediaObjectRegion ||\n dimensions.width !== this.settings.relatedMediaObjectRegion.width ||\n dimensions.height !== this.settings.relatedMediaObjectRegion.height)\n ) {\n this.settings.relatedMediaObjectRegion = {\n width: dimensions.width,\n height: dimensions.height\n };\n\n return true;\n }\n\n return false;\n }\n\n /**\n * Indicates whether or not the context has events.\n * @returns - True if the context has events, otherwise false.\n */\n public hasEvents(): boolean {\n return this.events && !!this.events.length;\n }\n\n /**\n * Resets the context's currentEvents.\n */\n public resetCurrentEvents(): void {\n this.currentEvents = [];\n }\n\n /**\n * Updates the context's currentEvents if there are new events for the specified time.\n * @param time - The time to get events for.\n * @returns - True if the events for the specified time are different than the currentEvents, otherwise false.\n */\n public updateCurrentEvents(time: number): boolean {\n const timeEvents = this._getTemporallyActiveEvents(time);\n\n // As a shortcut compare lengths first.\n const currentEventsLength = this.currentEvents ? this.currentEvents.length : 0;\n const timeEventsLength = timeEvents ? timeEvents.length : 0;\n\n if (currentEventsLength !== timeEventsLength) {\n this.currentEventsTime = time;\n this.currentEvents = timeEvents;\n return true;\n }\n\n if (this.currentEvents) {\n for (let index = 0; index < currentEventsLength; index++) {\n if (this.currentEvents[index].time !== timeEvents[index].time) {\n this.currentEventsTime = time;\n this.currentEvents = timeEvents;\n return true;\n }\n }\n }\n\n return false;\n }\n\n /**\n * The set of cues that apply to the specified time.\n * @param time - The time to get cues for.\n * @returns - The set of cues for the specified time, otherwise an empty [].\n */\n public getCues(time: number): HTMLElement[] {\n let cues: HTMLElement[] = [];\n\n if (this.currentEventsTime !== time) {\n this.updateCurrentEvents(time);\n }\n\n // Find all the region elements in the TTML namespace.\n const preserveSpace = TtmlParser.getAttributeNS(this.root, 'space', xmlNS) === 'preserve';\n const regions = (this.layout ? this.layout.getElementsByTagNameNS(this.settings.ttmlNamespace, 'region') : []);\n\n for (const region of regions) {\n const regionId = TtmlParser.getAttributeNS(region, 'id', xmlNS);\n const anonymousId = region.getAttribute('data-isanonymous');\n\n if (anonymousId || regionId) {\n const translation = this._translate(region, this.settings.defaultRegionStyle, preserveSpace, time, this.translateToHtml);\n\n if (translation.outerNode && translation.innerNode) {\n const innerNode = translation.innerNode;\n const outerNode = translation.outerNode;\n\n // Create a new subtree for the body element, prune elements\n // not associated with the region, and if its not empty then\n // select it into this region by adding it to div container.\n for (const event of this.events) {\n if (event.element) {\n if (this._isInRegion(event.element, anonymousId ? '' : regionId)) {\n const pruneResult = this._prune(\n event.element,\n translation.inheritableStyleSet!,\n preserveSpace,\n time,\n this.translateToHtml\n );\n let cueBody: Element | null = pruneResult.prunedElement;\n\n if (!pruneResult.hasPreservedContent && cueBody && !trim(getText(cueBody)).length) {\n cueBody = null;\n }\n\n if (cueBody) {\n innerNode.appendChild(cueBody);\n }\n }\n }\n }\n\n const showAlways = outerNode.getAttribute('data-showBackground') === 'always';\n\n if (showAlways || innerNode.children.length) {\n if (showAlways) {\n // Just needed internally for the previous check, don't pass through on the cue.\n outerNode.removeAttribute('data-showBackground');\n }\n\n cues.push(outerNode);\n }\n }\n }\n }\n\n // If we ended up with any displayable cues add them all to the rootContainerRegion cue.\n if (cues.length) {\n const rcr = this._translate(this.rootContainerRegion, { overflow: 'hidden', padding: '0' }, false, time, this.translateToHtml);\n\n for (const cue of cues) {\n rcr.innerNode!.appendChild(cue);\n }\n\n cues = [];\n cues.push(rcr.outerNode!);\n }\n\n return cues;\n }\n\n /**\n * Get the list of temporally active events for the specified time.\n * @private\n * @param time - The time to get the active events for.\n * @returns - The set of active events for the specified time, otherwise an empty [].\n */\n private _getTemporallyActiveEvents(time: number): ITtmlEvent[] {\n return this.events.filter(event => {\n return event.element ? this._isTemporallyActive(event.element, time) : true;\n });\n }\n\n /**\n * Determines whether or not the specified element is temporally active at the specified time.\n * @param element - The element to check.\n * @param time - The time to check against.\n * @returns - True if the element is active at the specified time, otherwise false.\n */\n private _isTemporallyActive(element: Element, time: number): boolean {\n return (\n (Number.parseInt(element.getAttribute('data-time-start')!, 10) || 0) <= time &&\n time < (Number.parseInt(element.getAttribute('data-time-end')!, 10) || 0)\n );\n }\n\n /**\n * Convert a ttml element into the equivalent in another format via the supplied translator function.\n * @param element - The ttml element to translate.\n * @param inheritedStyleSet - The element's inherited style set.\n * @param preserveSpace - Indicates whether or not space should be preserved.\n * @param time - The time to translate against. Elements and styles are temporally transient.\n * @param translator - The translator function to use. Originally supported both xml/html but is always using html in MWF.\n * @returns - A ITtmlTranslationResult instance containing the translation results.\n */\n private _translate(\n element: Element,\n inheritedStyleSet: IDictionaryStringString,\n preserveSpace: boolean,\n time: number,\n translator: Function\n ): ITtmlTranslationResult {\n let translation: ITtmlTranslationResult;\n let computedStyleSet: IDictionaryStringString;\n\n if (this._isTemporallyActive(element, time)) {\n const tag = this._getTagNameEquivalent(element);\n\n computedStyleSet = this._getComputedStyleSet(element, inheritedStyleSet, tag, time);\n\n if (computedStyleSet.display !== 'none') {\n const applicableStyleSet = this._getApplicableStyleSet(computedStyleSet, tag);\n\n translation = translator(element, applicableStyleSet, preserveSpace);\n\n return {\n outerNode: translation.outerNode,\n innerNode: translation.innerNode,\n inheritableStyleSet: this._getInheritableStyleSet(computedStyleSet)\n };\n }\n }\n\n return { outerNode: null, innerNode: null, inheritableStyleSet: null };\n }\n\n /**\n * Convert a ttml element into the its equivalent html element.\n * @param element - The ttml element to translate.\n * @param applicableStyleSet - The style set applicable to this element.\n * @param preserveSpace - Indicates whether or not space should be preserved.\n * @returns - A ITtmlTranslationResult instance containing the translation results.\n */\n private readonly translateToHtml = (\n element: Element,\n applicableStyleSet: IDictionaryStringString,\n preserveSpace: boolean\n ): ITtmlTranslationResult => {\n let translation: HTMLElement;\n let innerNode: HTMLElement;\n const name = this._getTagNameEquivalent(element);\n let htmlName = '';\n let htmlClass = '';\n switch (name) {\n case 'ttml:region':\n htmlClass = 'cue ';\n\n /* Falls through */\n // break;\n case 'ttml:rootcontainerregion':\n case 'ttml:body':\n case 'ttml:div':\n htmlName = 'div';\n break;\n case 'ttml:p':\n htmlName = 'p';\n break;\n case 'ttml:span':\n htmlName = 'span';\n break;\n case 'ttml:br':\n htmlName = 'br';\n break;\n default:\n }\n\n const role = TtmlParser.getAttributeNS(element, 'role', this.settings.ttmlMetaNamespace);\n\n if (role) {\n htmlClass += ` ${role}`;\n }\n\n const agent = TtmlParser.getAttributeNS(element, 'agent', this.settings.ttmlMetaNamespace);\n\n if (agent) {\n htmlClass += ` ${agent}`;\n }\n\n // Hack until display:ruby on other elements works.\n if (role === 'x-ruby') {\n htmlName = 'ruby';\n } else if (role === 'x-rubybase') {\n htmlName = 'rb';\n } else if (role === 'x-rubytext') {\n htmlName = 'rt';\n }\n\n if (!isNullOrWhiteSpace(htmlName)) {\n translation = TtmlContext._defaultStyle(this.ownerDocument.createElement(htmlName));\n addClass(translation, trim(htmlClass));\n\n const title = TtmlParser.getAttributeNS(element, 'title', this.settings.ttmlMetaNamespace);\n\n if (title) {\n translation.setAttribute('title', title);\n }\n\n const id = TtmlParser.getAttributeNS(element, 'id', xmlNS);\n\n if (id && this.settings.idPrefix) {\n // Migrate the ttml doc id's over to the html markup.\n // Use idPrefix to ensure there are no name clases on id's already in target doc.\n translation.setAttribute('id', this.settings.idPrefix + id);\n }\n\n if (name === 'ttml:region') {\n // To get a to display properly we are actually going to need to create two nested
s\n // This is because for displayAlign to work we need a table-cell
inside a table
.\n innerNode = translation.appendChild(TtmlContext._defaultStyle(this.ownerDocument.createElement('div')));\n innerNode.setAttribute('style', 'display:table; border-spacing:0; cell-spacing:0; cell-padding:0; width:100%; height:100%');\n innerNode = innerNode.appendChild(TtmlContext._defaultStyle(this.ownerDocument.createElement('div')));\n css(innerNode, 'display', 'table-cell');\n\n // Apply the displayAlign style to inner table-cell
\n if (applicableStyleSet.displayAlign) {\n this._translateStyle(name, innerNode, { displayAlign: applicableStyleSet.displayAlign });\n\n // Then remove displayAlign from the applicableStyleSet so as not to also later apply it to the outer table
\n applicableStyleSet.displayAlign = '';\n }\n }\n\n // If we're preserving space add an inner with 'white-space: pre'.\n // This is how we implement preserving space in css and we need an inner\n // span because the 'real' span will already be setting it's css white-space\n // value to either normal or nowrap and we can't collide with that.\n if (preserveSpace && name === 'ttml:span') {\n innerNode = translation.appendChild(TtmlContext._defaultStyle(this.ownerDocument.createElement('span')));\n css(innerNode, 'white-space', 'pre');\n }\n\n // Default some css properties that we don't want to inadvertantly end up\n // inheriting values for that might cause adverse layout impacts for us.\n css(translation, 'position', 'static');\n css(translation, 'width', '100%');\n\n // Copy style from element over to html, translating into CSS as we go.\n this._translateStyle(name, translation, applicableStyleSet);\n }\n\n return { outerNode: translation!, innerNode: innerNode! ? innerNode! : translation! };\n };\n\n /**\n * Translate the ttml styles in a styleSet to their equivalent css styles and apply them to the specified html element.\n * @param tagName - The ttml element tagName. All styles do not apply to all tagNames.\n * @param element - The ttml element to translate.\n * @param applicableStyleSet - The style set applicable to this element.\n */\n private _translateStyle(tagName: string, element: HTMLElement, applicableStyleSet: IDictionaryStringString): void {\n for (const style in applicableStyleSet) {\n if (applicableStyleSet[style]) {\n this._applyStyle(element, tagName, style, applicableStyleSet[style]);\n }\n }\n }\n\n /**\n * Convert the element if it is in the region, then recurse into its contents.\n * If it ends up with no children then we dont add it to the region, we prune it.\n * @param element - The ttml element to translate.\n * @param inheritedStyleSet - The style set inherited by this element.\n * @param preserveSpace - Indicates whether or not space should be preserved.\n * @param time - The time to translate against. Elements and styles are temporally transient.\n * @param translator - The translator function to use. Originally supported both xml/html but is always using html in MWF.\n * @param [ignoreAncestors] - Specifies whether or not to ignore the element's ancestors.\n * @returns - A ITtmlPruneResult instance containing the prune results.\n */\n private _prune(\n element: Element,\n inheritedStyleSet: IDictionaryStringString,\n preserveSpace: boolean,\n time: number,\n translator: Function,\n ignoreAncestors: boolean = false\n ): ITtmlPruneResult {\n let outerNode: Element;\n let hasPreservedContent = false;\n\n let translation = this._translate(element, inheritedStyleSet, preserveSpace, time, translator);\n\n if (translation.outerNode !== null) {\n const tag = this._getTagNameEquivalent(element);\n\n outerNode = translation.outerNode;\n let innerNode = translation.innerNode;\n\n for (const child of nodeListToArray(element.childNodes)) {\n if (child.nodeType === Node.COMMENT_NODE) {\n // Do nothing.\n } else if (child.nodeType === Node.TEXT_NODE) {\n innerNode!.appendChild(document.createTextNode((child).data));\n\n if (preserveSpace && tag === 'ttml:span') {\n hasPreservedContent = true;\n }\n } else {\n let childPreserveSpace = preserveSpace;\n const spaceAttr = TtmlParser.getAttributeNS(child, 'space', xmlNS);\n\n if (spaceAttr) {\n childPreserveSpace = spaceAttr === 'preserve';\n }\n\n const pruneRecord = this._prune(\n child,\n translation.inheritableStyleSet!,\n childPreserveSpace,\n time,\n translator,\n true\n );\n\n hasPreservedContent = hasPreservedContent || pruneRecord.hasPreservedContent;\n\n if (pruneRecord.prunedElement) {\n innerNode!.appendChild(pruneRecord.prunedElement);\n }\n }\n }\n\n // Now traverse back till the body and build the corresponding structures.\n if (!ignoreAncestors) {\n let ancestor = element.parentNode;\n\n while (ancestor !== null && ancestor.nodeType === Node.ELEMENT_NODE && ancestor !== this.body) {\n translation = this._translate(ancestor, inheritedStyleSet, preserveSpace, time, translator);\n if (translation.outerNode) {\n innerNode = translation.innerNode;\n innerNode!.appendChild(outerNode);\n outerNode = translation.outerNode;\n } else {\n break;\n }\n\n ancestor = ancestor.parentNode;\n }\n }\n }\n\n return { prunedElement: outerNode!, hasPreservedContent };\n }\n\n /**\n * Build this element's ttml computed styleset.\n * This is used as the base styleSet to filter the inherited styleSet from for an element's children.\n * @param element - The ttml element to translate.\n * @param inheritedStyleSet - The styleSet inherited by this element.\n * @param tagName - The ttml element tagName. All styles do not apply to all tagNames.\n * @param time - The time to translate against. Elements and styles are temporally transient.\n * @returns - The resulting computed styleSet.\n */\n private _getComputedStyleSet(\n element: Element,\n inheritedStyleSet: IDictionaryStringString,\n tagName: string,\n time: number\n ): IDictionaryStringString {\n // Start off with a clone of the inherited styleset.\n const computedStyleSet = extend({}, inheritedStyleSet);\n\n // Iterate over this nodes ttml styles and pave them onto it's computed styleset.\n extend(computedStyleSet, this.styleSetCache[Number.parseInt(element.getAttribute('data-styleSet')!, 10)]);\n\n // Apply any temporally active style animations.\n const sets = element.getElementsByTagNameNS(this.settings.ttmlNamespace, 'set');\n\n for (const set of nodeListToArray(sets)) {\n if (this._isTemporallyActive(set, time)) {\n TtmlParser.applyInlineStyles(this.settings, computedStyleSet, set);\n }\n }\n\n if (tagName === 'ttml:p' && computedStyleSet.lineHeight === 'normal') {\n // Special case for

's with tts:lineHeight='normal'\n // This means use the largest tts:fontSize value of any\n // of it's descendant 's. Since we don't know what\n // values those might be until translateStyle we'll just\n // save them all and figure it out then.\n const fontSizes = this._appendSpanFontSizes(element, this._getInheritableStyleSet(computedStyleSet), time, '');\n\n if (fontSizes) {\n computedStyleSet['computed-lineHeight'] = fontSizes;\n }\n }\n\n return computedStyleSet;\n }\n\n /**\n * Build this tags ttml applicable styleset from the specified computed styleSet to apply only to it.\n * @param computedStyleSet - The style set inherited by this element.\n * @param tagName - The ttml element tagName. All styles do not apply to all tagNames.\n * @returns - The resulting applicable styleSet.\n */\n private _getApplicableStyleSet(computedStyleSet: IDictionaryStringString, tagName: string): IDictionaryStringString {\n const applicableStyleSet: IDictionaryStringString = {};\n\n // Special case extent to the front of the list as later processing of\n // padding will depend on it having already been set first.\n if (computedStyleSet.extent && this._isStyleApplicable(tagName, 'extent')) {\n applicableStyleSet.extent = computedStyleSet.extent;\n }\n\n // Special case color to the front of the list as later processing of\n // textOutline will depend on it having already been set first.\n if (computedStyleSet.color && this._isStyleApplicable(tagName, 'color')) {\n applicableStyleSet.color = computedStyleSet.color;\n }\n\n for (const style in computedStyleSet) {\n if (this._isStyleApplicable(tagName, style)) {\n applicableStyleSet[style] = computedStyleSet[style];\n }\n }\n\n return applicableStyleSet;\n }\n\n /**\n * Determines if the specified style applies to the specified ttml tagName.\n * NOTE: The ttml spec doesn't mention ttml:br in the styles 'applies to' sections but\n * as noted in the span section everything that applies to ttml:span also applies to ttml:br.\n * @private\n * @param tagName - The ttml element tagName. All styles do not apply to all tagNames.\n * @param style - The style to check against the tagName.\n * @returns - True if the ttml:style applies to the ttml:tag, otherwise false.\n */\n private _isStyleApplicable(tagName: string, style: string): boolean {\n switch (style) {\n case 'backgroundColor':\n case 'display':\n case 'visibility':\n return 'ttml:body ttml:div ttml:p ttml:region ttml:rootcontainerregion ttml:span ttml:br'.includes(tagName);\n\n // Technically these font styles do not apply to

s but for some reason the resulting html/css\n // for span/br doesnt compute line-height correctly if the entire containing

(div) isn't all the same...\n case 'fontFamily':\n case 'fontSize':\n case 'fontStyle':\n case 'fontWeight':\n return 'ttml:p ttml:span ttml:br'.includes(tagName);\n\n case 'color':\n case 'textDecoration':\n case 'textOutline':\n case 'wrapOption':\n return 'ttml:span ttml:br'.includes(tagName);\n\n case 'direction':\n case 'unicodeBidi':\n return 'ttml:p ttml:span ttml:br'.includes(tagName);\n\n case 'displayAlign':\n case 'opacity':\n case 'origin':\n case 'overflow':\n case 'padding':\n case 'showBackground':\n case 'writingMode':\n case 'zIndex':\n return 'ttml:region ttml:rootcontainerregion'.includes(tagName);\n\n case 'extent':\n return 'ttml:tt ttml:region ttml:rootcontainerregion'.includes(tagName);\n\n case 'computed-lineHeight':\n case 'lineHeight':\n case 'textAlign':\n return 'ttml:p'.includes(tagName);\n\n default:\n return false;\n }\n }\n\n /**\n * Filters a computed styleSet into an inheritable styleSet subset to pass on to children.\n * Not all styles are inheritable.\n * @private\n * @param computedStyleSet - The computed styleSet to filter.\n * @returns - The resulting inheritable styleSet.\n */\n private _getInheritableStyleSet(computedStyleSet: IDictionaryStringString): IDictionaryStringString {\n const inheritedStyleSet: IDictionaryStringString = {};\n\n for (const style in computedStyleSet) {\n if (computedStyleSet.hasOwnProperty(style)) {\n switch (style) {\n case 'backgroundColor':\n case 'computed-lineHeight':\n case 'display':\n case 'displayAlign':\n case 'extent':\n case 'opacity':\n case 'origin':\n case 'overflow':\n case 'padding':\n case 'showBackground':\n case 'unicodeBidi':\n case 'writingMode':\n case 'zIndex':\n break;\n default:\n inheritedStyleSet[style] = computedStyleSet[style];\n }\n }\n }\n\n return inheritedStyleSet;\n // eslint-disable-next-line max-lines\n }\n\n /**\n * Recurses through an element and it's descendants finding the font sizess of all it's 's.\n * @param element - The ttml element to translate.\n * @param inheritedStyleSet - The element's inherited styleSet.\n * @param time - The time to translate against. Elements and styles are temporally transient.\n * @param value - The list of font sizes to append to.\n * @returns - The value with any additional font sizes appended to it.\n */\n private _appendSpanFontSizes(element: Element, inheritedStyleSet: IDictionaryStringString, time: number, value: string): string {\n for (const child of nodeListToArray(element.childNodes)) {\n if (child.nodeType === Node.ELEMENT_NODE) {\n const tag = this._getTagNameEquivalent(child);\n\n if (tag === 'ttml:span') {\n const computedStyleSet = this._getComputedStyleSet(child, inheritedStyleSet, 'ttml:span', time);\n const fontSize = computedStyleSet.fontSize;\n\n if (fontSize) {\n value += (value ? ',' : '') + fontSize;\n }\n\n value = this._appendSpanFontSizes(child, this._getInheritableStyleSet(computedStyleSet), time, value);\n }\n }\n }\n\n return value;\n }\n\n /**\n * Determines whether or not the specified element is associated with the specified region.\n * Ttml defines 5 ordered rules, where the first rule satisfied is used and remaining rules are skipped.\n * @param element - The ttml element to check.\n * @param regionId - The id of the region to see if the element is associated with.\n * @returns - True if the specified element is within the specified region, otherwise false.\n */\n private _isInRegion(element: Element, regionId: string): boolean {\n // Quick test: Out of normal order, but makes following rules simpler.\n // This is a shortcut to check step #4 first\n if (!regionId) {\n return true;\n }\n\n const elemRegion = TtmlParser.getAttributeNS(element, 'region', this.settings.ttmlNamespace);\n\n // 1. If the element specifies a region attribute, then the element is\n // associated with the region referenced by that attribute;\n if (elemRegion === regionId) {\n return true;\n }\n\n if (!elemRegion) {\n // 2. If some ancestor of that element specifies a region attribute, then the element is\n // associated with the region referenced by the most immediate ancestor that specifies\n // this attribute;\n let ancestor = element.parentNode;\n\n while (ancestor !== null && ancestor.nodeType === Node.ELEMENT_NODE) {\n const id = this._getRegionId(ancestor);\n if (id) {\n return id === regionId;\n }\n ancestor = ancestor.parentNode;\n }\n\n // 3. If the element contains a descendant element that specifies a region attribute,\n // then the element is associated with the region referenced by that attribute;\n for (const node of nodeListToArray(element.getElementsByTagName('*'))) {\n if (this._getRegionId(node) === regionId) {\n return true;\n }\n }\n }\n\n // 5. The element is not associated with any region.\n return false;\n }\n\n /**\n * Gets the region id for the specified element.\n * @param element - The ttml element to check.\n * @returns - The id of the region the element is associated with.\n */\n private _getRegionId(element: Element): string {\n let regionId: string;\n\n if (element.nodeType === Node.ELEMENT_NODE && element.namespaceURI === this.settings.ttmlNamespace) {\n if (TtmlParser.getLocalTagName(element) === 'region') {\n regionId = TtmlParser.getAttributeNS(element, 'id', xmlNS);\n } else {\n regionId = TtmlParser.getAttributeNS(element, 'region', this.settings.ttmlNamespace);\n }\n }\n\n return regionId!;\n }\n\n /**\n * Gets the tagName of the element with the current ttml namespace prepended if non-standard.\n * @param element - The ttml element to get the tagName of.\n * @returns - The tagName or '' if the namespace isn't one of the ttml ones.\n */\n private _getTagNameEquivalent(element: Element): string {\n const tagName = TtmlParser.getLocalTagName(element);\n const nameSpace = element.namespaceURI;\n\n if (nameSpace === this.settings.ttmlNamespace) {\n return `ttml:${tagName}`;\n }\n\n if (nameSpace === 'http://www.w3.org/1999/xhtml') {\n return tagName;\n }\n\n return '';\n }\n\n /**\n * Translates the ttml style/value into one or more css styles/values and applies them to the element.\n * @param element - The ttml element to apply the css style(s) too.\n * @param tagName - The ttml tagName associated with the element.\n * @param style - The ttml style name.\n * @param value - The ttml style value.\n */\n // eslint-disable-next-line complexity\n private _applyStyle(element: HTMLElement, tagName: string, style: string, value: string): void {\n let mappedValue = value;\n\n switch (style) {\n case 'color':\n case 'backgroundColor': {\n mappedValue = TtmlContext._ttmlToCssColor(value);\n css(element, style, mappedValue);\n return;\n }\n\n case 'direction':\n case 'display': {\n // No change.\n css(element, style, mappedValue);\n return;\n }\n\n case 'displayAlign': {\n // eslint-disable-next-line default-case\n switch (value) {\n case 'before':\n mappedValue = 'top';\n break;\n case 'center':\n mappedValue = 'middle';\n break;\n case 'after':\n mappedValue = 'bottom';\n }\n\n css(element, 'vertical-align', mappedValue);\n return;\n }\n\n case 'extent': {\n let width: string;\n let height: string;\n\n if (value !== 'auto') {\n // Get the individual components.\n const coords = value.split(/\\s+/);\n\n if (coords.length === 2) {\n width = this._ttmlToCssUnits(coords[0], true);\n height = this._ttmlToCssUnits(coords[1], false);\n }\n }\n\n if (!width!) {\n width = `${(this.settings.rootContainerRegionDimensions\n ? this.settings.rootContainerRegionDimensions.width\n : this.settings.relatedMediaObjectRegion!.width\n ).toString()}px`;\n height = `${(this.settings.rootContainerRegionDimensions\n ? this.settings.rootContainerRegionDimensions.height\n : this.settings.relatedMediaObjectRegion!.height\n ).toString()}px`;\n }\n\n css(element, 'position', 'absolute');\n css(element, 'width', width!);\n css(element, 'min-width', width!);\n css(element, 'max-width', width!);\n css(element, 'height', height!);\n css(element, 'min-height', height!);\n css(element, 'max-height', height!);\n return;\n }\n\n case 'fontFamily': {\n if (this.settings.fontMap && this.settings.fontMap[value]) {\n mappedValue = this.settings.fontMap[value];\n }\n\n if (value === 'smallCaps') {\n // Need to additionally add font-variant: small-caps.\n css(element, 'fontVariant', 'small-caps');\n }\n\n css(element, style, mappedValue);\n return;\n }\n\n case 'fontSize': {\n const parts = value.split(/\\s+/);\n\n // For two part fontSize values we use the vertical size which is in the second part.\n const size = parts.length > 1 ? parts[1] : parts[0];\n\n // Set the fontsize scaleFactor to 75% (of cell size) to account for ascenders/descenders etc.\n mappedValue = this._ttmlToCssFontSize(size, false, 0.75, tagName === 'ttml:region');\n\n css(element, style, mappedValue);\n return;\n }\n\n case 'fontStyle':\n case 'fontWeight': {\n // No change.\n css(element, style, mappedValue);\n return;\n }\n\n case 'lineHeight': {\n // Spec doesn't qualify what % lengths mean so I'm going to assume it's % of a\n // cell and therefore use fontSize conversion method.\n mappedValue = value === 'normal' ? value : this._ttmlToCssFontSize(value, false);\n\n css(element, 'line-height', mappedValue);\n return;\n }\n\n case 'computed-lineHeight': {\n const values = value.split(',');\n let max = -1;\n\n for (const fontSize of values) {\n // Computed-lineHeight is based off of fontSize so use fontSize conversion method.\n mappedValue = this._ttmlToCssFontSize(fontSize, false);\n\n if (mappedValue && mappedValue.indexOf('px') === mappedValue.length - 2) {\n const height = Number.parseFloat(mappedValue.substr(0, mappedValue.length - 2));\n\n if (!isNaN(height) && height > max) {\n max = height;\n }\n }\n }\n\n if (max >= 0) {\n css(element, 'line-height', `${max}px`);\n }\n\n return;\n }\n\n case 'origin': {\n if (value !== 'auto') {\n // Get the individual components.\n const coords = value.split(/\\s+/);\n\n if (coords.length === 2) {\n css(element, 'position', 'absolute');\n css(element, 'left', this._ttmlToCssUnits(coords[0], true));\n css(element, 'top', this._ttmlToCssUnits(coords[1], false));\n }\n }\n\n return;\n }\n\n case 'opacity': {\n // No change.\n css(element, style, mappedValue);\n return;\n }\n\n case 'padding': {\n const contextRect = getDimensions(element);\n\n // Get the individual components.\n const parts = value.split(/\\s+/);\n let first: string;\n let second: string;\n let third: string;\n let forth: string;\n\n // eslint-disable-next-line default-case\n switch (parts.length) {\n case 1:\n // Value is used for all 4 sides.\n first = this._ttmlToCssUnits(parts[0], false, contextRect!);\n second = this._ttmlToCssUnits(parts[0], true, contextRect!);\n mappedValue = format('{0} {1} {0} {1}', first, second);\n break;\n case 2:\n // First is top/bottom, second is left/right.\n first = this._ttmlToCssUnits(parts[0], false, contextRect!);\n second = this._ttmlToCssUnits(parts[1], true, contextRect!);\n mappedValue = format('{0} {1} {0} {1}', first, second);\n break;\n case 3:\n // First is top, second is left/right, third is bottom.\n first = this._ttmlToCssUnits(parts[0], false, contextRect!);\n second = this._ttmlToCssUnits(parts[1], true, contextRect!);\n third = this._ttmlToCssUnits(parts[2], false, contextRect!);\n mappedValue = format('{0} {1} {2} {1}', first, second, third);\n break;\n case 4:\n // Top, right, bottom, left.\n first = this._ttmlToCssUnits(parts[0], false, contextRect!);\n second = this._ttmlToCssUnits(parts[1], true, contextRect!);\n third = this._ttmlToCssUnits(parts[2], false, contextRect!);\n forth = this._ttmlToCssUnits(parts[3], true, contextRect!);\n mappedValue = format('{0} {1} {2} {3}', first, second, third, forth);\n }\n\n // Using border width to implement tts:padding as neither padding nor margin fix the size (height) of the content area.\n css(element, 'box-sizing', 'border-box');\n\n // TODO: See if we work in FF without the following commented out -moz-box-sizing line now and if so remove it.\n /// /// css(element, '-moz-box-sizing', 'border-box');\n css(element, 'border-style', 'solid');\n css(element, 'border-color', 'transparent');\n\n // It can be helpful when debugging to change the border-color from transparent to something like rgba(255,255,200,0.5)\n // css(element, 'border-color', 'rgba(255,255,200,0.5)');\n css(element, 'border-width', mappedValue);\n return;\n }\n\n // If you know what this was for please document it here and uncomment it.\n // As of now the caller appeared to be doing nothing with it so commenting it out.\n /// /// case 'showBackground': {\n /// /// return this.getAttribute('data-showBackground', value);\n /// /// }\n\n case 'textAlign': {\n // eslint-disable-next-line default-case\n switch (value) {\n case 'start':\n mappedValue = 'left'; // TODO: handle rtl correctly.\n break;\n case 'end':\n mappedValue = 'right'; // TODO: handle rtl correctly.\n }\n\n css(element, 'text-align', mappedValue);\n return;\n }\n\n case 'textDecoration': {\n mappedValue = TtmlContext._ttmlToCssTextDecoration(value);\n css(element, 'text-decoration', mappedValue);\n return;\n }\n\n case 'textOutline': {\n const defaultColor = css(element, 'color');\n css(element, 'text-shadow', this._ttmlToCssTextOutline(mappedValue, defaultColor));\n return;\n }\n\n case 'unicodeBidi': {\n // TODO: Handle multiple options correctly.\n // eslint-disable-next-line default-case\n switch (value) {\n case 'bidiOverride':\n mappedValue = 'bidi-override';\n }\n css(element, 'unicode-bidi', mappedValue);\n return;\n }\n\n case 'visibility': {\n // No change.\n css(element, style, mappedValue);\n return;\n }\n\n case 'writingMode': {\n // eslint-disable-next-line default-case\n switch (value) {\n case 'lr':\n case 'lrtb': {\n css(element, 'writing-mode', 'horizontal-tb'); // CCS3 standard: Doesn't work yet\n css(element, '-webkit-writing-mode', 'horizontal-tb'); // Webkit for Chrome\n css(element, 'writing-mode', 'lr-tb'); // IE specific\n return;\n }\n case 'rl':\n case 'rltb': {\n css(element, 'writing-mode', 'horizontal-tb'); // CCS3 standard: Doesn't work yet\n css(element, '-webkit-writing-mode', 'horizontal-tb'); // Webkit for Chrome\n css(element, 'writing-mode', 'rl-tb'); // IE specific\n return;\n }\n case 'tblr': {\n css(element, 'text-orientation', 'upright'); // CCS3 standard: Doesn't work yet\n css(element, 'writing-mode', 'vertical-lr'); // CCS3 standard: Doesn't work yet\n css(element, '-webkit-text-orientation', 'upright'); // Webkit for Chrome\n css(element, '-webkit-writing-mode', 'vertical-lr'); // Webkit for Chrome\n css(element, 'writing-mode', 'tb-lr'); // IE specific\n return;\n }\n case 'tb':\n case 'tbrl': {\n css(element, 'text-orientation', 'upright'); // CCS3 standard: Doesn't work yet\n css(element, 'writing-mode', 'vertical-rl'); // CCS3 standard: Doesn't work yet\n css(element, '-webkit-text-orientation', 'upright'); // Webkit for Chrome\n css(element, '-webkit-writing-mode', 'vertical-rl'); // Webkit for Chrome\n css(element, 'writing-mode', 'tb-rl'); // IE specific\n return;\n }\n }\n return;\n }\n\n case 'wrapOption': {\n css(element, 'white-space', value === 'noWrap' ? 'nowrap' : value === 'pre' ? 'pre' : 'normal');\n return;\n }\n\n case 'zIndex': {\n css(element, style, mappedValue); // Requires global information...\n return;\n }\n\n default: {\n css(element, style, mappedValue);\n }\n }\n }\n\n /**\n * Converts a ttml unit string to a css one.\n * @param ttmlUnits - The ttml value.\n * @param width - Indicates whether to perform a width based or a height based conversion.\n * @param [contextRect] - The context rectangle to use for conversion.\n * @returns - The css value.\n */\n private _ttmlToCssUnits(ttmlUnits: string, width: boolean, contextRect?: IClientDimension): string {\n let cssUnits = ttmlUnits;\n\n if (ttmlUnits) {\n const unit = ttmlUnits.charAt(ttmlUnits.length - 1);\n\n // Need to special case handle ttml cell metrics.\n if (unit === 'c' || unit === '%') {\n const container = this.settings.rootContainerRegionDimensions\n ? this.settings.rootContainerRegionDimensions\n : this.settings.relatedMediaObjectRegion;\n const length = Number.parseFloat(ttmlUnits.substr(0, ttmlUnits.length - 1));\n let containerSize = width ? container!.width : container!.height;\n let value: number;\n\n if (unit === 'c') {\n const gridSize = width ? this.settings.cellResolution.columns : this.settings.cellResolution.rows;\n\n value = (length * containerSize) / gridSize;\n } else if (unit === '%') {\n // If % units calls also specify a contextRect use that instead of the container.\n if (contextRect) {\n containerSize = width ? contextRect.width : contextRect.height;\n }\n\n // Have to convert % to px because padding and vertical-align (displayAlign) are not\n // working together if the extent width/height are % instead of px.\n value = (containerSize * length) / 100;\n }\n\n // Round to 1 decimal place\n value = Math.round(value! * 10) / 10;\n cssUnits = `${value}px`;\n }\n }\n\n return cssUnits;\n }\n\n /**\n * Converts a ttml font size to a css one.\n * @param ttmlUnits - The ttml value.\n * @param width - Indicates whether to perform a width based or a height based conversion.\n * @param [scaleFactor] - The scale factor to use for conversion.\n * @param [isRegion] - Indicates whether or not the conversion is being done for a .\n * @returns - The css value.\n */\n private _ttmlToCssFontSize(ttmlUnits: string, width: boolean, scaleFactor: number = 1, isRegion: boolean = false): string {\n let cssUnits = ttmlUnits;\n\n if (ttmlUnits) {\n const unit = ttmlUnits.charAt(ttmlUnits.length - 1);\n\n // Need to special case handle ttml cell metrics and % units.\n if (unit === 'c' || (isRegion && unit === '%')) {\n const container = this.settings.rootContainerRegionDimensions\n ? this.settings.rootContainerRegionDimensions\n : this.settings.relatedMediaObjectRegion;\n const length = Number.parseFloat(ttmlUnits.substr(0, ttmlUnits.length - 1));\n const containerSize = width ? container!.width : container!.height;\n const gridSize = width ? this.settings.cellResolution.columns : this.settings.cellResolution.rows;\n let value = (length * containerSize) / gridSize;\n\n if (unit === '%') {\n // Length is % so divide by 100.\n value /= 100;\n }\n\n // Apply the scale factor and limit to one decimal place precision.\n value = Math.floor(value * scaleFactor * 10) / 10;\n\n cssUnits = `${value}px`;\n }\n }\n\n return cssUnits;\n }\n\n /**\n * Converts a ttml text outline style value to a css one.\n * @param textOutline - The ttml value.\n * @param defaultColor - Default value of the outline color.\n * @returns - The css value.\n */\n private _ttmlToCssTextOutline(textOutline: string, defaultColor: string): string {\n let textShadow = 'none';\n\n if (!isNullOrWhiteSpace(textOutline) && textOutline !== 'none') {\n let parts: string[] = textOutline.split(/\\s+/);\n let color: string = '';\n let thickness: string = '';\n let blur: string = '';\n\n if (parts.length === 1) {\n color = defaultColor;\n thickness = parts[0];\n blur = '';\n } else if (parts.length === 3) {\n color = parts[0];\n thickness = parts[1];\n blur = parts[2];\n } else if (parts.length === 2) {\n const firstChar = parts[0].charAt(0);\n\n if (firstChar >= '0' && firstChar <= '9') {\n color = defaultColor;\n thickness = parts[0];\n blur = parts[1];\n } else {\n color = parts[0];\n thickness = parts[1];\n blur = '';\n }\n }\n\n // Spec doesn't qualify what % lengths mean so I'm going to assume it's % of a cell\n // and therefore use fontSize conversion method with the same scaleFactor applied\n // to fontSize since it's the font that we're outlining here.\n blur = this._ttmlToCssFontSize(blur, false, 0.75);\n thickness = this._ttmlToCssFontSize(thickness, false, 0.75);\n\n parts = TtmlContext.lengthRegEx.exec(thickness);\n\n if (parts && parts.length === 3) {\n const width = Math.round(Number.parseFloat(parts[1]));\n const units = parts[2];\n\n textShadow = '';\n\n for (let x = -width; x <= width; x++) {\n for (let y = -width; y <= width; y++) {\n if (x !== 0 || y !== 0) {\n textShadow += format('{0}{4} {1}{4} {2} {3}, ', x, y, blur, TtmlContext._ttmlToCssColor(color), units);\n }\n }\n }\n\n if (textShadow) {\n textShadow = textShadow.substr(0, textShadow.length - 2);\n }\n }\n }\n\n return textShadow;\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\n/**\n * TtmlTimeParser class.\n * @classdesc - The TtmlTimeParser class is used to parse ttml time expressions which can be absolute or relative.\n */\nexport class TtmlTimeParser {\n /**\n * @name - absoluteTimeRegex\n * Regex to parse absolute ttml times. (clock-time).\n * Hours \":\" minutes \":\" seconds ( fraction | \":\" frames ( \".\" sub-frames )? )?.\n * NOTE: (johnlemi) Our clocktime regex matches 1 or 2 digits for hours instead of 2 because even.\n * though the spec says 2 we have some existing ttml from the Office team with end attrs with 1 hour digit.\n * @static\n * @private\n * @type {string}\n */\n private static readonly absoluteTimeRegex: RegExp = /^(\\d+):(\\d{2}):(\\d{2})((\\.\\d+)|:(\\d{2,}(\\.\\d+)?))?$/;\n\n /**\n * @name - relativeTimeRegex\n * Regex to parse relative ttml times. (offset-time).\n * time-count fraction? metric.\n * @static\n * @private\n * @type {string}\n */\n private static readonly relativeTimeRegex: RegExp = /^(\\d+(\\.\\d+)?)(ms|[fhmst])$/;\n\n /**\n * @name - mediaFrameRate.\n * @description - mediaFrameRate.\n * @private\n * @type {string}\n */\n private readonly mediaFrameRate: number;\n\n /**\n * @name - mediaTickRate.\n * @description - mediaTickRate.\n * @private\n * @type {string}\n */\n private readonly mediaTickRate: number;\n\n /**\n * Constructor for the TtmlTimeParser class.\n * @param _mediaFrameRate - The ttml media frame rate.\n * @param _mediaTickRate - The ttml media tick rate.\n */\n public constructor(_mediaFrameRate: number, _mediaTickRate: number) {\n this.mediaFrameRate = _mediaFrameRate;\n this.mediaTickRate = _mediaTickRate;\n }\n\n /**\n * Parses a ttml time expression string into a number.\n * @param ttmlTime - The time expression to parse.\n * @returns - The number the time expression represents, or 0 if the exression doesn't match.\n */\n public parse(ttmlTime: string): number {\n if (!ttmlTime) {\n return 0;\n }\n\n const absoluteTime = TtmlTimeParser.absoluteTimeRegex.exec(ttmlTime);\n\n if (absoluteTime && absoluteTime.length > 3) {\n const hours = Number.parseInt(absoluteTime[1], 10) * 60 * 60;\n const minutes = Number.parseInt(absoluteTime[2], 10) * 60;\n const seconds = Number.parseInt(absoluteTime[3], 10);\n let subseconds = 0;\n\n if (absoluteTime[5]) {\n subseconds = Number.parseFloat(absoluteTime[4]) * 1000;\n }\n\n if (absoluteTime[6]) {\n subseconds = Math.round(Number.parseFloat(absoluteTime[6]) * this._getTimeUnitMultiplier('f'));\n }\n\n return (hours + minutes + seconds) * 1000 + subseconds;\n }\n\n const relativeTime = TtmlTimeParser.relativeTimeRegex.exec(ttmlTime);\n\n if (relativeTime && relativeTime.length > 3) {\n return Math.round(Number.parseFloat(relativeTime[1]) * this._getTimeUnitMultiplier(relativeTime[3]));\n }\n\n return 0;\n }\n\n /**\n * Converts a ttml time unit expression string into a multiplier number.\n * @param timeUnit - The time unit expression.\n * @returns - The multiplier value, or 0 if the unit exression doesn't match.\n */\n private _getTimeUnitMultiplier(timeUnit: string): number {\n switch (timeUnit) {\n case 'h':\n return 1000 * 60 * 60;\n case 'ms':\n return 1;\n case 'm':\n return 1000 * 60;\n case 's':\n return 1000;\n case 'f':\n return 1000 / this.mediaFrameRate;\n case 't':\n return 1000 / this.mediaTickRate;\n default:\n return 0;\n }\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { format, IDictionaryStringString, IGrid, nodeListToArray, trim } from '../utilities';\nimport { ITtmlContext, TtmlContext } from './ttml-context';\nimport { ITtmlSettings, TtmlSettings, xmlNS } from './ttml-settings';\nimport { TtmlTimeParser } from './ttml-time-parser';\n\n// Timed Text Markup Language (TTML).\n// See http://www.w3.org/TR/ttml1/ for more details.\n\n/**\n * @interface ITtmlEvent\n * @classdesc - The ITtmlEvent interface contract.\n * @export\n */\nexport interface ITtmlEvent {\n time: number;\n element?: Element;\n}\n\n/**\n * @interface ITtmlTimingBounds\n * @classdesc - The ITtmlTimingBounds interface contract.\n * @export\n */\ninterface ITtmlTimingBounds {\n start: number;\n end: number;\n}\n\n/**\n *\n * The TtmlParser class.\n *\n */\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\nexport class TtmlParser {\n /**\n * @name - mediaStart\n * Used as the start time for applyTiming when applying to the entire document.\n * @static\n * @private\n * @type {number}\n */\n private static readonly mediaStart: number = -1;\n\n /**\n * @name - mediaEnd\n * Used as the end time for applyTiming when applying to the entire document.\n * Picking a number that should always be greater than any real media end time.\n * @static\n * @private\n * @type {number}\n */\n private static readonly mediaEnd: number = 99_999_999;\n\n /**\n * Gets the local tagName of a Node.\n * @param node - The node to get the tagName of.\n * @returns - The tagName.\n */\n public static getLocalTagName(node: Node): string {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (node).localName || (node).baseName;\n }\n\n /**\n * Gets the value of a namespaced attribute. First tries element.getAttributeNS() but falls back\n * to scanning each attribute if that fails.\n * If you know which cases go into the fallback code please document it here.\n * @param element - The element to get the attribute of.\n * @param name - The attribute name.\n * @param namespace - The attribute namespace.\n * @returns - The attribute value. Or an empty string if a matching attribute is not found.\n */\n public static getAttributeNS(element: Element, name: string, namespace: string): string {\n let result = element.getAttributeNS(namespace, name);\n\n if (!result) {\n // Go through all the attributes looking for a match.\n for (const attribute of nodeListToArray(element.attributes)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if ((attribute).localName === name && attribute.lookupNamespaceURI((attribute).prefix) === namespace) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n result = (attribute).value;\n break;\n }\n }\n }\n\n return result!;\n }\n\n /**\n * Parses a ttml document and builds a ttmlContext instance from it.\n * @param ttmlDocument - The ttml document to parse.\n * @param settingsOverrides - The ttml settings overrides to use.\n * @returns - The resulting ttmlContext instance that can be used to get cues by time.\n */\n public static parse(ttmlDocument: XMLDocument, settingsOverrides: ITtmlSettings): ITtmlContext {\n ttmlDocument = typeof ttmlDocument === 'string' ? TtmlParser._parseXml(ttmlDocument) : ttmlDocument;\n\n const ttmlContext = new TtmlContext();\n\n // Start initializing the context.\n ttmlContext.settings = new TtmlSettings(settingsOverrides);\n ttmlContext.root = TtmlParser._verifyRoot(ttmlDocument, ttmlContext);\n ttmlContext.body = TtmlParser._getFirstElementByTagNameNS(ttmlContext.root, 'body', ttmlContext.settings.ttmlNamespace);\n ttmlContext.events = [];\n ttmlContext.styleSetCache = [];\n\n if (ttmlContext.body) {\n // Parse the root attributes.\n TtmlParser._parseTtAttrs(ttmlContext);\n\n // Set up our regions.\n const head = TtmlParser._ensureRegions(ttmlContext);\n\n const timeBase =\n TtmlParser.getAttributeNS(ttmlContext.root, 'timeBase', ttmlContext.settings.ttmlParameterNamespace) || 'media';\n\n if (ttmlContext.settings.supportedTimeBase.includes(timeBase)) {\n // Process textnodes into anonymous spans.\n TtmlParser._processAnonymousSpans(ttmlContext, ttmlContext.body);\n\n const timeParser = new TtmlTimeParser(ttmlContext.settings.mediaFrameRate, ttmlContext.settings.mediaTickRate);\n\n // Apply the intervals over the tree.\n TtmlParser._applyTiming(\n ttmlContext,\n ttmlContext.root,\n { start: TtmlParser.mediaStart, end: TtmlParser.mediaEnd },\n true,\n timeParser\n );\n\n // Apply the style inheritance over the tree.\n TtmlParser._applyStyling(ttmlContext, head);\n }\n\n // Add an dummy end event for the captions to appear until end of video.\n // Not sure why we need to do this, please add to this comment if you know.\n ttmlContext.events.push({ time: TtmlParser.mediaEnd, element: undefined });\n\n // Sort events into temporal order.\n ttmlContext.events.sort((event1: ITtmlEvent, event2: ITtmlEvent) => {\n return event1.time - event2.time;\n });\n }\n\n return ttmlContext;\n }\n\n /**\n * Applies the elements inline styles into the styleSet.\n * @param settings - The TtmlSettings for this document.\n * @param styleSet - The styleSet to build upon.\n * @param element - The element to apply the styles of.\n */\n public static applyInlineStyles(settings: TtmlSettings, styleSet: IDictionaryStringString, element: Element): void {\n for (const attribute of nodeListToArray(element.attributes)) {\n if (attribute.namespaceURI === settings.ttmlStyleNamespace) {\n // Trim() because we see lots of ttml attribute values with trailing space...\n styleSet[TtmlParser.getLocalTagName(attribute)] = trim(attribute.nodeValue!);\n }\n }\n }\n\n /**\n * Parses an xml document in string format to an XMLDocument.\n * @param xmlString - The xml string to parse.\n * @returns - The resulting XMLDocument, or null if the xml string failed to parse.\n */\n private static _parseXml(xmlString: string): XMLDocument {\n let xml: XMLDocument;\n\n if (window.DOMParser) {\n const domParser = new window.DOMParser();\n xml = domParser.parseFromString(xmlString, 'application/xml');\n } else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const domParser = new (window).ActiveXObject('Microsoft.XMLDOM');\n domParser.async = false;\n domParser.loadXML(xmlString);\n xml = domParser;\n }\n return xml;\n }\n\n /**\n * Verifies that root of the specified document is the expected ttml tagName and\n * updates the settings namespaces from it if they are non standard.\n * @param ttmlDocument - The ttml document to verify.\n * @param ttmlContext - The ttmlContext for this document.\n * @returns - The valid root Element, or or null if the root Element was not valid.\n */\n private static _verifyRoot(ttmlDocument: XMLDocument, ttmlContext: TtmlContext): Element {\n let root: Element;\n const candidate = ttmlDocument.documentElement;\n\n if (TtmlParser.getLocalTagName(candidate) === 'tt') {\n if (candidate.namespaceURI !== 'http://www.w3.org/ns/ttml') {\n ttmlContext.settings.ttmlNamespace = candidate.namespaceURI!;\n ttmlContext.settings.ttmlStyleNamespace = `${ttmlContext.settings.ttmlNamespace}#styling`;\n ttmlContext.settings.ttmlParameterNamespace = `${ttmlContext.settings.ttmlNamespace}#parameter`;\n ttmlContext.settings.ttmlMetaNamespace = `${ttmlContext.settings.ttmlNamespace}#metadata`;\n }\n\n root = candidate;\n }\n\n return root!;\n }\n\n /**\n * Parses the tag attributes and initializes ttmlContext properties from them.\n * @param ttmlContext - The ttmlContext for this document.\n */\n private static _parseTtAttrs(ttmlContext: TtmlContext): void {\n const cellRes = TtmlParser.getAttributeNS(ttmlContext.root, 'cellResolution', ttmlContext.settings.ttmlParameterNamespace);\n const extent = TtmlParser.getAttributeNS(ttmlContext.root, 'extent', ttmlContext.settings.ttmlStyleNamespace);\n let cellGrid: IGrid | null = null;\n\n if (cellRes) {\n const parts = trim(cellRes).split(/\\s+/);\n\n if (parts.length === 2) {\n const columns = Math.round(Number.parseFloat(parts[0]));\n const rows = Math.round(Number.parseFloat(parts[1]));\n\n if (rows > 0 && columns > 0) {\n cellGrid = { rows, columns };\n }\n }\n }\n\n if (cellGrid) {\n ttmlContext.settings.cellResolution = cellGrid;\n }\n\n if (extent) {\n if (extent !== 'auto') {\n // Get the individual components.\n const coords = extent.split(/\\s+/);\n\n if (\n coords.length === 2 &&\n coords[0].substr(coords[0].length - 2) === 'px' &&\n coords[1].substr(coords[1].length - 2) === 'px'\n ) {\n const width = Number.parseFloat(coords[0].substr(0, coords[0].length - 2));\n const height = Number.parseFloat(coords[1].substr(0, coords[1].length - 2));\n\n // Round to integer.\n ttmlContext.settings.rootContainerRegionDimensions = { width: Math.round(width), height: Math.round(height) };\n }\n }\n }\n }\n\n /**\n * Ensures we have the elements/regions we require by either finding them or creating them if they are not present.\n * @param ttmlContext - The ttmlContext for this document.\n * @returns - The element.\n */\n private static _ensureRegions(ttmlContext: TtmlContext): Element {\n // Create our rootContainerRegion\n ttmlContext.rootContainerRegion = ttmlContext.root.ownerDocument.createElementNS(\n ttmlContext.settings.ttmlNamespace,\n 'rootcontainerregion'\n );\n\n ttmlContext.root.appendChild(ttmlContext.rootContainerRegion);\n\n const extents = ttmlContext.settings.rootContainerRegionDimensions\n ? format(\n '{0}px {1}px',\n ttmlContext.settings.rootContainerRegionDimensions.width,\n ttmlContext.settings.rootContainerRegionDimensions.height\n )\n : 'auto';\n\n ttmlContext.rootContainerRegion.setAttributeNS(ttmlContext.settings.ttmlStyleNamespace, 'extent', extents);\n\n let head = TtmlParser._getFirstElementByTagNameNS(ttmlContext.root, 'head', ttmlContext.settings.ttmlNamespace);\n\n // Ensure we have a \n if (!head) {\n // No so we need to create that now.\n head = ttmlContext.root.ownerDocument.createElementNS(ttmlContext.settings.ttmlNamespace, 'head');\n ttmlContext.root.appendChild(head);\n }\n\n // Ensure we have a \n ttmlContext.layout = TtmlParser._getFirstElementByTagNameNS(head, 'layout', ttmlContext.settings.ttmlNamespace);\n\n if (!ttmlContext.layout) {\n // No so we need to create that now.\n ttmlContext.layout = ttmlContext.root.ownerDocument.createElementNS(ttmlContext.settings.ttmlNamespace, 'layout');\n ttmlContext.root.appendChild(ttmlContext.layout);\n }\n\n // Create an anonymous region if we have no regions.\n const regions = ttmlContext.layout.getElementsByTagNameNS(ttmlContext.settings.ttmlNamespace, 'region');\n\n if (!regions.length) {\n const anonymousRegion = ttmlContext.root.ownerDocument.createElementNS(ttmlContext.settings.ttmlNamespace, 'region');\n\n anonymousRegion.setAttributeNS(xmlNS, 'id', 'anonymous');\n anonymousRegion.setAttribute('data-isanonymous', '1');\n ttmlContext.layout.appendChild(anonymousRegion);\n\n ttmlContext.body.setAttributeNS(ttmlContext.settings.ttmlNamespace, 'region', 'anonymous');\n }\n\n return head;\n }\n\n /**\n * Recurses through all the

elements in the document and groups all the contiguous TEXT_NODES together into 's.\n * @param ttmlContext - The ttmlContext for this document.\n * @param element - The element to process the TEXT_NODES of.\n */\n private static _processAnonymousSpans(ttmlContext: TtmlContext, element: Element): void {\n // If this element is

then group all contiguous textnodes together in \n if (TtmlParser._isTagNS(element, 'p', ttmlContext.settings.ttmlNamespace)) {\n const textNodeGroups: Node[][] = [];\n let prevNodeType: number = 0;\n\n for (const child of nodeListToArray(element.childNodes)) {\n if (child.nodeType === Node.TEXT_NODE) {\n if (prevNodeType !== Node.TEXT_NODE) {\n textNodeGroups.push([]);\n }\n\n textNodeGroups[textNodeGroups.length - 1].push(child);\n }\n\n prevNodeType = child.nodeType;\n }\n\n for (const group of textNodeGroups) {\n const anonSpan = ttmlContext.root.ownerDocument.createElementNS(ttmlContext.settings.ttmlNamespace, 'span');\n\n anonSpan.appendChild(group[0].parentNode!.replaceChild(anonSpan, group[0]));\n\n for (let index = 1; index < group.length; index++) {\n anonSpan.appendChild(group[index]);\n }\n }\n }\n\n // Then recurse through the contents doing the same thing for those.\n for (const child of nodeListToArray(element.childNodes)) {\n this._processAnonymousSpans(ttmlContext, child);\n }\n }\n\n /**\n * Recurses through the document element tree to determine the absolute start and end times of all the elements\n * using the TTML subset of the SMIL timing model. The reference times passed in 'bound' are absolute times.\n * The result of calling this is to set the local start time and end time to absolute times between these two\n * reference times, based on the begin, end and dur attributes and to recursively set all of the children.\n * @param ttmlContext - The ttmlContext for this document.\n * @param element - The element to apply the timing to.\n * @param bound - The bounds for the timing.\n * @param isParallelContext - Indicates whether or not this element is in a parallel timing context.\n * @param timeParser - The TtmlTimeParser to use to parse this elements time attributes.\n */\n private static _applyTiming(\n ttmlContext: TtmlContext,\n element: Element,\n bound: ITtmlTimingBounds,\n isParallelContext: boolean,\n timeParser: TtmlTimeParser\n ): void {\n const beginAttribute = TtmlParser.getAttributeNS(element, 'begin', ttmlContext.settings.ttmlNamespace);\n let startTime = beginAttribute ? timeParser.parse(beginAttribute) : bound.start;\n let endTime = 0;\n\n // Compute the simple duration of the interval.\n let duration = 0;\n let end = 0;\n const durationAttribute = TtmlParser.getAttributeNS(element, 'dur', ttmlContext.settings.ttmlNamespace);\n const endAttribute = TtmlParser.getAttributeNS(element, 'end', ttmlContext.settings.ttmlNamespace);\n\n if (!durationAttribute && !endAttribute) {\n // No direct timing attested, so use default based on context.\n // Parallel children have indefinite default duration, truncated by bounds.\n if (isParallelContext) {\n // Sequential children have zero default duration.\n if (startTime <= bound.end) {\n endTime = bound.end;\n } else {\n endTime = 0;\n }\n }\n } else if (durationAttribute && endAttribute) {\n // Both duration and end attested, the minimum interval applies.\n duration = timeParser.parse(durationAttribute);\n end = timeParser.parse(endAttribute);\n const minEnd = Math.min(startTime + duration, bound.start + end);\n endTime = Math.min(minEnd, bound.end);\n } else if (endAttribute) {\n // Only end attested.\n end = timeParser.parse(endAttribute);\n endTime = Math.min(bound.start + end, bound.end);\n } else {\n // Only dur attested.\n duration = timeParser.parse(durationAttribute);\n endTime = Math.min(startTime + duration, bound.end);\n }\n\n if (endTime < startTime) {\n endTime = startTime;\n }\n\n startTime = Math.floor(startTime);\n endTime = Math.floor(endTime);\n\n element.setAttribute('data-time-start', startTime.toString());\n element.setAttribute('data-time-end', endTime.toString());\n\n if (\n startTime >= 0 &&\n ttmlContext.events.filter(event => {\n return event.time === startTime;\n }).length <= 0\n ) {\n ttmlContext.events.push({ time: startTime, element });\n }\n\n let start = startTime;\n\n for (const child of nodeListToArray(element.childNodes)) {\n if (child.nodeType === Node.ELEMENT_NODE) {\n // Parallel is the default so null is OK here.\n if (TtmlParser.getAttributeNS(element, 'timeContainer', ttmlContext.settings.ttmlNamespace) !== 'seq') {\n this._applyTiming(ttmlContext, child, { start: startTime, end: endTime }, true, timeParser);\n } else {\n this._applyTiming(ttmlContext, child, { start, end: endTime }, false, timeParser);\n start = Number.parseInt(child.getAttribute('data-time-end')!, 10);\n }\n }\n }\n }\n\n /**\n * Recurses through all the elements in applying the ttml sytling to them based on the