@clickview/lite 0.104.0-rc.0 → 0.104.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/dist/.vite/manifest.json +686 -686
  2. package/dist/bundles.json +1 -1
  3. package/dist/en.json +1 -1
  4. package/dist/scripts/{BYC-9gzd.chunk.js → 6BvA1WyF.chunk.js} +2 -2
  5. package/dist/scripts/{BYC-9gzd.chunk.js.map → 6BvA1WyF.chunk.js.map} +1 -1
  6. package/dist/scripts/B1hsuVfV2.chunk.js +2 -0
  7. package/dist/scripts/{BwBWuxjr2.chunk.js.map → B1hsuVfV2.chunk.js.map} +1 -1
  8. package/dist/scripts/{CFxoQ45v.chunk.js → B4GpjPP-.chunk.js} +2 -2
  9. package/dist/scripts/{CFxoQ45v.chunk.js.map → B4GpjPP-.chunk.js.map} +1 -1
  10. package/dist/scripts/{HyBCRhmv2.chunk.js → BAYtWmRb2.chunk.js} +3 -3
  11. package/dist/scripts/{HyBCRhmv2.chunk.js.map → BAYtWmRb2.chunk.js.map} +1 -1
  12. package/dist/scripts/{CVEuWE2q2.chunk.js → BBAIRd3r2.chunk.js} +2 -2
  13. package/dist/scripts/{CVEuWE2q2.chunk.js.map → BBAIRd3r2.chunk.js.map} +1 -1
  14. package/dist/scripts/{C2Hgija5.chunk.js → BGH3t983.chunk.js} +2 -2
  15. package/dist/scripts/{C2Hgija5.chunk.js.map → BGH3t983.chunk.js.map} +1 -1
  16. package/dist/scripts/{DsSd-eh2.chunk.js → BIjzNf4b.chunk.js} +2 -2
  17. package/dist/scripts/{DsSd-eh2.chunk.js.map → BIjzNf4b.chunk.js.map} +1 -1
  18. package/dist/scripts/{D20SeFH5.chunk.js → BLad2z5b.chunk.js} +2 -2
  19. package/dist/scripts/{D20SeFH5.chunk.js.map → BLad2z5b.chunk.js.map} +1 -1
  20. package/dist/scripts/{BklRyGO0.chunk.js → BMZNQKEe.chunk.js} +2 -2
  21. package/dist/scripts/{BklRyGO0.chunk.js.map → BMZNQKEe.chunk.js.map} +1 -1
  22. package/dist/scripts/{BOuzZEkK2.chunk.js → BPjqerK42.chunk.js} +2 -2
  23. package/dist/scripts/BPjqerK42.chunk.js.map +1 -0
  24. package/dist/scripts/{fjQ026Rz2.chunk.js → BQS6kDvJ2.chunk.js} +2 -2
  25. package/dist/scripts/{fjQ026Rz2.chunk.js.map → BQS6kDvJ2.chunk.js.map} +1 -1
  26. package/dist/scripts/{CnfcodVE2.chunk.js → BeOS0_E02.chunk.js} +2 -2
  27. package/dist/scripts/{CnfcodVE2.chunk.js.map → BeOS0_E02.chunk.js.map} +1 -1
  28. package/dist/scripts/{kz-JIHlB2.chunk.js → Bnyn-It62.chunk.js} +2 -2
  29. package/dist/scripts/{kz-JIHlB2.chunk.js.map → Bnyn-It62.chunk.js.map} +1 -1
  30. package/dist/scripts/{BbKY_Dwq.chunk.js → CJCh1Gq6.chunk.js} +2 -2
  31. package/dist/scripts/{BbKY_Dwq.chunk.js.map → CJCh1Gq6.chunk.js.map} +1 -1
  32. package/dist/scripts/{CoUj6M-_.chunk.js → CKGiikBV.chunk.js} +2 -2
  33. package/dist/scripts/{CoUj6M-_.chunk.js.map → CKGiikBV.chunk.js.map} +1 -1
  34. package/dist/scripts/{B8t1n8_x2.chunk.js → CL5P1KMy2.chunk.js} +2 -2
  35. package/dist/scripts/{B8t1n8_x2.chunk.js.map → CL5P1KMy2.chunk.js.map} +1 -1
  36. package/dist/scripts/{Bz-3cXSL.chunk.js → CMKTpGri.chunk.js} +2 -2
  37. package/dist/scripts/{Bz-3cXSL.chunk.js.map → CMKTpGri.chunk.js.map} +1 -1
  38. package/dist/scripts/{ByMZucv2.chunk.js → CgL1gDuH.chunk.js} +2 -2
  39. package/dist/scripts/{ByMZucv2.chunk.js.map → CgL1gDuH.chunk.js.map} +1 -1
  40. package/dist/scripts/{VDqAyMTi2.chunk.js → ClMXRZea2.chunk.js} +2 -2
  41. package/dist/scripts/{VDqAyMTi2.chunk.js.map → ClMXRZea2.chunk.js.map} +1 -1
  42. package/dist/scripts/{Bw2cauzs2.chunk.js → Cm6SLr7W2.chunk.js} +3 -3
  43. package/dist/scripts/{Bw2cauzs2.chunk.js.map → Cm6SLr7W2.chunk.js.map} +1 -1
  44. package/dist/scripts/{gF9PGTMC.chunk.js → Cmjtel65.chunk.js} +2 -2
  45. package/dist/scripts/{gF9PGTMC.chunk.js.map → Cmjtel65.chunk.js.map} +1 -1
  46. package/dist/scripts/{DwLSTi6C.chunk.js → CnYpIR5V.chunk.js} +2 -2
  47. package/dist/scripts/{DwLSTi6C.chunk.js.map → CnYpIR5V.chunk.js.map} +1 -1
  48. package/dist/scripts/{BpFyfI-52.chunk.js → D2vAOC7r2.chunk.js} +2 -2
  49. package/dist/scripts/{BpFyfI-52.chunk.js.map → D2vAOC7r2.chunk.js.map} +1 -1
  50. package/dist/scripts/{29-YRbOp.chunk.js → D4uneRs9.chunk.js} +2 -2
  51. package/dist/scripts/{29-YRbOp.chunk.js.map → D4uneRs9.chunk.js.map} +1 -1
  52. package/dist/scripts/{DbQFpTve.chunk.js → DIeIfhGe.chunk.js} +2 -2
  53. package/dist/scripts/{DbQFpTve.chunk.js.map → DIeIfhGe.chunk.js.map} +1 -1
  54. package/dist/scripts/{CrGWZr2R2.chunk.js → DRHbASmP2.chunk.js} +2 -2
  55. package/dist/scripts/{CrGWZr2R2.chunk.js.map → DRHbASmP2.chunk.js.map} +1 -1
  56. package/dist/scripts/{n4utAY5E2.chunk.js → DTnfO2MH2.chunk.js} +2 -2
  57. package/dist/scripts/{n4utAY5E2.chunk.js.map → DTnfO2MH2.chunk.js.map} +1 -1
  58. package/dist/scripts/{BcMb1XKL.chunk.js → DUJvtd00.chunk.js} +2 -2
  59. package/dist/scripts/{BcMb1XKL.chunk.js.map → DUJvtd00.chunk.js.map} +1 -1
  60. package/dist/scripts/{B0DGioRk.chunk.js → DWz2oR7C.chunk.js} +2 -2
  61. package/dist/scripts/{B0DGioRk.chunk.js.map → DWz2oR7C.chunk.js.map} +1 -1
  62. package/dist/scripts/{CTUTwtJp.chunk.js → DZD8iLCw.chunk.js} +2 -2
  63. package/dist/scripts/{CTUTwtJp.chunk.js.map → DZD8iLCw.chunk.js.map} +1 -1
  64. package/dist/scripts/{C-gsezmj.chunk.js → D_foXB2p.chunk.js} +2 -2
  65. package/dist/scripts/{C-gsezmj.chunk.js.map → D_foXB2p.chunk.js.map} +1 -1
  66. package/dist/scripts/{Br8WvETm.chunk.js → Dhv7zSEB.chunk.js} +2 -2
  67. package/dist/scripts/{Br8WvETm.chunk.js.map → Dhv7zSEB.chunk.js.map} +1 -1
  68. package/dist/scripts/{B6p7xJj9.chunk.js → DpHKtTzO.chunk.js} +2 -2
  69. package/dist/scripts/{B6p7xJj9.chunk.js.map → DpHKtTzO.chunk.js.map} +1 -1
  70. package/dist/scripts/{DynqFaq92.chunk.js → GcexF25w2.chunk.js} +2 -2
  71. package/dist/scripts/{DynqFaq92.chunk.js.map → GcexF25w2.chunk.js.map} +1 -1
  72. package/dist/scripts/{DYN56vJ6.chunk.js → _XhYAc8v.chunk.js} +2 -2
  73. package/dist/scripts/{DYN56vJ6.chunk.js.map → _XhYAc8v.chunk.js.map} +1 -1
  74. package/dist/scripts/{app-4vEzpLow.js → app-DamRTcio.js} +4 -4
  75. package/dist/scripts/{app-4vEzpLow.js.map → app-DamRTcio.js.map} +1 -1
  76. package/dist/scripts/{B2PLlkVH.chunk.js → dZhIkfV6.chunk.js} +3 -3
  77. package/dist/scripts/{B2PLlkVH.chunk.js.map → dZhIkfV6.chunk.js.map} +1 -1
  78. package/dist/scripts/{DZQhE4mm.chunk.js → eSX6I2aK.chunk.js} +2 -2
  79. package/dist/scripts/{DZQhE4mm.chunk.js.map → eSX6I2aK.chunk.js.map} +1 -1
  80. package/dist/scripts/{DnogtDGY2.chunk.js → gTfMMiRw2.chunk.js} +2 -2
  81. package/dist/scripts/{DnogtDGY2.chunk.js.map → gTfMMiRw2.chunk.js.map} +1 -1
  82. package/dist/scripts/{DYW8v4_j2.chunk.js → xUmhnDE42.chunk.js} +2 -2
  83. package/dist/scripts/{DYW8v4_j2.chunk.js.map → xUmhnDE42.chunk.js.map} +1 -1
  84. package/package.json +1 -1
  85. package/dist/scripts/BOuzZEkK2.chunk.js.map +0 -1
  86. package/dist/scripts/BwBWuxjr2.chunk.js +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"kz-JIHlB2.chunk.js","names":[],"sources":["../../src/apps/settings/components/email-settings/EmailSettingsValidationSchema.ts","../../src/apps/settings/components/email-settings/VerifiedEmailIcon.tsx","../../src/apps/settings/components/email-settings/EmailSettings.tsx","../../src/apps/settings/components/email-settings/partial-loading/partial-email-settings.module.scss","../../src/apps/settings/components/email-settings/partial-loading/PartialEmailSettings.tsx","../../src/apps/settings/components/password-settings/PasswordSettingsValidationSchema.ts","../../src/apps/settings/components/password-settings/PasswordSettings.tsx","../../src/apps/settings/views/account-settings/AccountSettingsView.tsx"],"sourcesContent":["import { object, string } from 'yup';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nconst namespace = 'settings.emailSettings';\n\nexport const EmailSettingsValidationSchema = object().shape({\n email: string()\n .required(() => LanguageService.getPhrase(namespace, 'emailRequired'))\n .email(() => LanguageService.getPhrase(namespace, 'emailInvalid'))\n .trim()\n .default('')\n});\n","import React from 'react';\n\nimport { SvgContainer2 } from 'libs/shared/components/svg-container/SvgContainer2';\n\nexport function VerifiedEmailIcon(): JSX.Element {\n return (\n <SvgContainer2>\n <svg viewBox='0 0 24 24'>\n <path d='M10.407 12.368l-1.22-1.22a.49.49 0 0 0-.698.004l-.583.583a.494.494 0 0 0-.004.697l2.135 2.135c.107.108.25.154.388.142a.488.488 0 0 0 .352-.143l4.362-4.362a.494.494 0 0 0-.004-.698l-.582-.582a.495.495 0 0 0-.698-.004l-3.448 3.448zm7.922-.37l1.437 1.406c.208.194.277.437.208.728a.716.716 0 0 1-.541.531l-1.957.5.551 1.936a.671.671 0 0 1-.197.729.671.671 0 0 1-.73.198l-1.935-.552-.5 1.957a.716.716 0 0 1-.53.541 1.28 1.28 0 0 1-.199.021.686.686 0 0 1-.53-.229L12 18.328l-1.405 1.436c-.195.208-.437.278-.729.208a.696.696 0 0 1-.53-.541l-.5-1.957-1.937.552a.671.671 0 0 1-.728-.198.671.671 0 0 1-.198-.729l.551-1.936-1.957-.5a.716.716 0 0 1-.54-.53c-.07-.292 0-.535.207-.73l1.437-1.405-1.437-1.405c-.208-.194-.277-.437-.208-.729a.716.716 0 0 1 .541-.53l1.957-.5-.551-1.936a.671.671 0 0 1 .198-.73.671.671 0 0 1 .728-.197l1.936.552.5-1.957a.675.675 0 0 1 .531-.531.671.671 0 0 1 .729.198L12 5.68l1.405-1.447a.697.697 0 0 1 .73-.198c.284.07.46.246.53.53l.5 1.958L17.1 5.97a.671.671 0 0 1 .729.198.671.671 0 0 1 .197.729l-.551 1.936 1.957.5a.715.715 0 0 1 .541.53c.07.292 0 .535-.208.73l-1.437 1.404z'/>\n </svg>\n </SvgContainer2>\n );\n}\n","import React from 'react';\nimport { Form } from 'formik';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { FormButtons } from 'libs/shared/components/forms/form-buttons/FormButtons';\nimport { FormField } from 'libs/shared/components/forms/form-field/FormField';\nimport { FormWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { useMediaQuery } from 'libs/shared/hooks/UseMediaQuery';\nimport { CurrentUser } from 'libs/shared/interfaces';\n\nimport { EmailSettingsValidationSchema } from './EmailSettingsValidationSchema';\nimport { VerifiedEmailIcon } from './VerifiedEmailIcon';\n\nconst namespace = 'settings.emailSettings';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport interface EmailSettingsModel {\n email: string;\n}\n\ninterface EmailSettingsProps {\n currentUser: CurrentUser;\n onChangeEmail: (emailModel: EmailSettingsModel) => void;\n}\n\nexport function EmailSettings(props: EmailSettingsProps): JSX.Element {\n const isSmallScreen = useMediaQuery(MediaQueryStrings.MDDown);\n\n // On small screens, we collapse the forms by default\n const [ showForm, setShowForm ] = React.useState(!isSmallScreen);\n\n const isVerified = props.currentUser.emailVerified;\n\n React.useEffect(() => {\n if (!isSmallScreen && !showForm)\n setShowForm(true);\n }, [ isSmallScreen, showForm ]);\n\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <h2 className='h4 d-flex align-items-center'>\n <Text phrase='heading' />\n {isVerified && (\n <span className='font-size-normal fw-semibold text-primary d-flex align-items-center mb-0 ms-2'>\n <Text phrase='verified' />\n <VerifiedEmailIcon />\n </span>\n )}\n </h2>\n\n {isVerified && (\n <p><Text phrase='info' options={{ email: props.currentUser.email }} /></p>\n )}\n\n {!showForm ?\n (\n <>\n <div className='d-flex'>\n <button className='btn btn-outline-dark me-2' onClick={() => setShowForm(true)}>\n <Text phrase='change' />\n </button>\n </div>\n </>\n ) : (\n <FormWrapper<EmailSettingsModel>\n initialValues={{ email: props.currentUser.email || '' }}\n onSubmit={props.onChangeEmail}\n validationSchema={EmailSettingsValidationSchema}\n >\n <Form>\n <FormField\n className='w-75'\n name='email'\n placeholder={getPhrase('emailPlaceholder')}\n autoComplete='email'\n />\n <div className={`d-flex justify-content-end w-75 ${isSmallScreen ? 'ms-n2' : ''}`}>\n {isSmallScreen && (\n <button type='button' className='btn btn-link me-2' onClick={() => setShowForm(false)}>\n <Text phrase='cancel' />\n </button>\n )}\n <FormButtons\n isNew={false}\n submitText={isVerified ? getPhrase('updateEmail') : getPhrase('verifyEmail')}\n variant={isVerified ? 'outline-dark' : 'dark'}\n />\n </div>\n </Form>\n </FormWrapper>\n )\n }\n </LanguageNamespaceContext.Provider>\n );\n}\n",":local {\n .partialLabel {\n width: 3.0625rem;\n height: 1.5rem;\n }\n\n .partialInfo {\n margin-bottom: 1rem;\n width: 28.125rem;\n height: 1.1875rem;\n }\n\n .partialInput {\n width: 25.75rem;\n height: 2.1875rem;\n }\n\n .partialSubmit {\n width: 6.75rem;\n height: 2.1875rem;\n }\n\n .partialNote {\n width: 30.625rem;\n height: 1.1875rem; \n }\n}","import React from 'react';\n\nimport styles from './partial-email-settings.module.scss';\n\nexport function PartialEmailSettings(): JSX.Element {\n return (\n <div className='w-50'>\n <div className={`partial-loading-background mb-2 ${styles.partialLabel}`} />\n <div className={`partial-loading-background ${styles.partialInfo}`} />\n\n <div className='form-group'>\n <div className={`partial-loading-background ${styles.partialInput}`} />\n </div>\n <div className={`partial-loading-background ${styles.partialSubmit}`} />\n <div className={`partial-loading-background mt-2 ${styles.partialNote}`} />\n </div>\n );\n}\n","import { object, ref, string } from 'yup';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nconst namespace = 'settings.passwordSettings';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport const getPasswordSettingsValidationSchema = (minPasswordLength: number) => object().shape({\n currentPassword: string()\n .required(() => getPhrase('currentPasswordRequired'))\n .trim()\n .default(''),\n newPassword: string()\n .required(() => getPhrase('newPasswordRequired'))\n .min(minPasswordLength, () => getPhrase('newPasswordMinLength', { minLen: minPasswordLength }))\n .trim()\n .default(''),\n confirmPassword: string()\n .required(() => getPhrase('confirmPasswordRequired'))\n .oneOf([ ref('newPassword'), null ], () => getPhrase('passwordsDontMatch'))\n .trim()\n .default('')\n});\n","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { ChangePasswordFormV2 } from 'libs/shared/apps/user-manager/components/change-password-form-v2/ChangePasswordFormV2';\nimport { ChangePasswordRequest } from 'libs/shared/apps/user-manager/interfaces';\nimport { FormSubmissionOptions, FormWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { useMediaQuery } from 'libs/shared/hooks/UseMediaQuery';\n\nimport { getPasswordSettingsValidationSchema } from './PasswordSettingsValidationSchema';\n\nconst namespace = 'settings.passwordSettings';\n\nconst initialValues: ChangePasswordRequest = {\n currentPassword: '',\n newPassword: '',\n confirmPassword: ''\n};\n\ninterface PasswordSettingsProps {\n onChangePassword: (\n passwordModel: ChangePasswordRequest,\n onDone?: () => void,\n onSuccess?: () => void\n ) => void;\n minPasswordLength: number;\n}\n\nexport function PasswordSettings(props: PasswordSettingsProps): JSX.Element {\n const isSmallScreen = useMediaQuery(MediaQueryStrings.MDDown);\n\n // On small screens, we collapse the forms by default\n const [ showForm, setShowForm ] = React.useState(!isSmallScreen);\n\n React.useEffect(() => {\n if (!isSmallScreen && !showForm)\n setShowForm(true);\n }, [ isSmallScreen, showForm ]);\n\n function onSubmitPassword(data: ChangePasswordRequest, onDone: (options?: FormSubmissionOptions) => void) {\n props.onChangePassword(data, onDone, () => onDone({ reset: true }));\n }\n\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <h2 className='h4'><Text phrase='heading' /></h2>\n\n {!showForm ?\n (\n <button className='btn btn-outline-dark ' onClick={() => setShowForm(true)}>\n <Text phrase='change' />\n </button>\n ) : (\n <>\n <p><Text phrase='info' /></p>\n\n <FormWrapper<ChangePasswordRequest>\n initialValues={initialValues}\n onSubmit={onSubmitPassword}\n validationSchema={getPasswordSettingsValidationSchema(props.minPasswordLength)}\n >\n <ChangePasswordFormV2\n onClickCancel={() => setShowForm(false)}\n hideCancelButton={!isSmallScreen}\n submitText={LanguageService.getPhrase(namespace, 'savePassword')}\n buttonContainerClass={isSmallScreen ?\n 'd-flex justify-content-end ms-n2 w-75' :\n 'd-flex justify-content-end w-75'\n }\n inputWidthClass='w-75'\n minLength={props.minPasswordLength}\n passwordStrengthClassName='w-75'\n />\n </FormWrapper>\n </>\n )\n }\n </LanguageNamespaceContext.Provider>\n );\n}\n","import React from 'react';\nimport { useDispatch } from 'react-redux';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { ChangePasswordRequest } from 'libs/shared/apps/user-manager/interfaces/ChangePasswordRequest';\nimport { SecuritySettingsResponse } from 'libs/shared/apps/user-manager/interfaces/SecuritySettingsResponse';\nimport { UserManagerHelper } from 'libs/shared/apps/user-manager/utils/UserManagerHelper';\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useMediaQuery } from 'libs/shared/hooks/UseMediaQuery';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { CurrentUser, User } from 'libs/shared/interfaces';\n\nimport { EmailSettings, EmailSettingsModel } from 'apps/settings/components/email-settings/EmailSettings';\nimport { PartialEmailSettings } from 'apps/settings/components/email-settings/partial-loading/PartialEmailSettings';\nimport { PasswordSettings } from 'apps/settings/components/password-settings/PasswordSettings';\nimport { SettingsLayout } from 'apps/settings/components/settings-layout/SettingsLayout';\nimport { SecuritySettingsRequests } from 'apps/settings/flight-requests/SecuritySettingsRequests';\nimport { UserManagerRequests } from 'apps/user-manager/flight-requests/UserManagerRequests';\n\nconst namespace = 'settings.accountSettings';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function AccountSettingsView(): JSX.Element {\n useSetPageMetadata({ title: getPhrase('pageTitle') });\n\n const dispatch = useDispatch();\n const alerts = useAlerts();\n const isSmallScreen = useMediaQuery(MediaQueryStrings.MDDown);\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const masterCurrentUser = Flight.useBasicFetch<User>(currentUser.data &&\n UserManagerRequests.getUser(currentUser.data.id));\n const passwordPolicy = Flight.useBasicFetch<SecuritySettingsResponse>(currentUser.data &&\n SecuritySettingsRequests.getCustomerSecuritySettings(currentUser.data.customerId));\n\n function onChangeEmail(emailModel: EmailSettingsModel, onDone?: () => void): void {\n Flight.fetch(dispatch, UserManagerRequests.changeEmail(emailModel.email, () => {\n AnalyticsHelper.logUserAction({\n id: currentUser.data.id,\n oldEmail: currentUser.data.email,\n newEmail: emailModel.email\n }, {\n actionType: UserAction.VerifyEmail,\n entity: EntityType.User,\n location: LocationContext.Settings,\n workflowPhase: WorkflowPhase.Start\n });\n\n alerts.success(getPhrase('changeEmailRequestSuccess', { email: emailModel.email, escapeText: true }));\n }, () => {\n alerts.error(getPhrase('changeEmailRequestError'));\n }, onDone));\n }\n\n function onChangePassword(\n passwordModel: ChangePasswordRequest,\n onDone?: () => void,\n onSuccess?: () => void\n ): void {\n Flight.fetch(dispatch, UserManagerRequests.changePassword(passwordModel, () => {\n AnalyticsHelper.logUserAction({\n id: currentUser.data.id,\n oldPassword: passwordModel.currentPassword,\n newPassword: passwordModel.newPassword\n }, {\n actionType: UserAction.ChangePassword,\n entity: EntityType.User,\n location: LocationContext.Settings,\n workflowPhase: WorkflowPhase.Complete\n });\n\n alerts.success(getPhrase('changePasswordSuccess'));\n onSuccess();\n }, ({ responseJSON }: JQuery.jqXHR) => {\n if (responseJSON.errorCode === 'user.password-too-short')\n alerts.error(getPhrase('changePasswordRequirementsError'));\n else if (responseJSON.errorCode === 'user.invalid-password')\n alerts.error(getPhrase('changePasswordInvalid'));\n else if (responseJSON.errorCode === 'user.same-password')\n alerts.error(getPhrase('changePasswordSame'));\n else if (responseJSON.errorCode === 'user.locked-out')\n alerts.error(getPhrase('changePasswordLockedOut'));\n else\n alerts.error(getPhrase('changePasswordError'));\n }, onDone));\n }\n\n const minPasswordLength = UserManagerHelper.getMinimumPasswordLength(\n passwordPolicy.data,\n masterCurrentUser.data?.userType,\n currentUser.data.role\n );\n\n return (\n <SettingsLayout\n heading={getPhrase('heading')}\n breadcrumbs={[getPhrase('breadcrumb')]}\n >\n <div className={isSmallScreen ? 'w-100' : 'w-50'}>\n {(currentUser.data) ?\n (\n <EmailSettings\n currentUser={currentUser.data}\n onChangeEmail={onChangeEmail}\n />\n ) : <PartialEmailSettings />\n }\n </div>\n\n <hr />\n\n <div className={isSmallScreen ? 'w-100' : 'w-50'}>\n {passwordPolicy.data && (\n <PasswordSettings onChangePassword={onChangePassword} minPasswordLength={minPasswordLength} />\n )}\n </div>\n </SettingsLayout>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Bnyn-It62.chunk.js","names":[],"sources":["../../src/apps/settings/components/email-settings/EmailSettingsValidationSchema.ts","../../src/apps/settings/components/email-settings/VerifiedEmailIcon.tsx","../../src/apps/settings/components/email-settings/EmailSettings.tsx","../../src/apps/settings/components/email-settings/partial-loading/partial-email-settings.module.scss","../../src/apps/settings/components/email-settings/partial-loading/PartialEmailSettings.tsx","../../src/apps/settings/components/password-settings/PasswordSettingsValidationSchema.ts","../../src/apps/settings/components/password-settings/PasswordSettings.tsx","../../src/apps/settings/views/account-settings/AccountSettingsView.tsx"],"sourcesContent":["import { object, string } from 'yup';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nconst namespace = 'settings.emailSettings';\n\nexport const EmailSettingsValidationSchema = object().shape({\n email: string()\n .required(() => LanguageService.getPhrase(namespace, 'emailRequired'))\n .email(() => LanguageService.getPhrase(namespace, 'emailInvalid'))\n .trim()\n .default('')\n});\n","import React from 'react';\n\nimport { SvgContainer2 } from 'libs/shared/components/svg-container/SvgContainer2';\n\nexport function VerifiedEmailIcon(): JSX.Element {\n return (\n <SvgContainer2>\n <svg viewBox='0 0 24 24'>\n <path d='M10.407 12.368l-1.22-1.22a.49.49 0 0 0-.698.004l-.583.583a.494.494 0 0 0-.004.697l2.135 2.135c.107.108.25.154.388.142a.488.488 0 0 0 .352-.143l4.362-4.362a.494.494 0 0 0-.004-.698l-.582-.582a.495.495 0 0 0-.698-.004l-3.448 3.448zm7.922-.37l1.437 1.406c.208.194.277.437.208.728a.716.716 0 0 1-.541.531l-1.957.5.551 1.936a.671.671 0 0 1-.197.729.671.671 0 0 1-.73.198l-1.935-.552-.5 1.957a.716.716 0 0 1-.53.541 1.28 1.28 0 0 1-.199.021.686.686 0 0 1-.53-.229L12 18.328l-1.405 1.436c-.195.208-.437.278-.729.208a.696.696 0 0 1-.53-.541l-.5-1.957-1.937.552a.671.671 0 0 1-.728-.198.671.671 0 0 1-.198-.729l.551-1.936-1.957-.5a.716.716 0 0 1-.54-.53c-.07-.292 0-.535.207-.73l1.437-1.405-1.437-1.405c-.208-.194-.277-.437-.208-.729a.716.716 0 0 1 .541-.53l1.957-.5-.551-1.936a.671.671 0 0 1 .198-.73.671.671 0 0 1 .728-.197l1.936.552.5-1.957a.675.675 0 0 1 .531-.531.671.671 0 0 1 .729.198L12 5.68l1.405-1.447a.697.697 0 0 1 .73-.198c.284.07.46.246.53.53l.5 1.958L17.1 5.97a.671.671 0 0 1 .729.198.671.671 0 0 1 .197.729l-.551 1.936 1.957.5a.715.715 0 0 1 .541.53c.07.292 0 .535-.208.73l-1.437 1.404z'/>\n </svg>\n </SvgContainer2>\n );\n}\n","import React from 'react';\nimport { Form } from 'formik';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { FormButtons } from 'libs/shared/components/forms/form-buttons/FormButtons';\nimport { FormField } from 'libs/shared/components/forms/form-field/FormField';\nimport { FormWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { useMediaQuery } from 'libs/shared/hooks/UseMediaQuery';\nimport { CurrentUser } from 'libs/shared/interfaces';\n\nimport { EmailSettingsValidationSchema } from './EmailSettingsValidationSchema';\nimport { VerifiedEmailIcon } from './VerifiedEmailIcon';\n\nconst namespace = 'settings.emailSettings';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport interface EmailSettingsModel {\n email: string;\n}\n\ninterface EmailSettingsProps {\n currentUser: CurrentUser;\n onChangeEmail: (emailModel: EmailSettingsModel) => void;\n}\n\nexport function EmailSettings(props: EmailSettingsProps): JSX.Element {\n const isSmallScreen = useMediaQuery(MediaQueryStrings.MDDown);\n\n // On small screens, we collapse the forms by default\n const [ showForm, setShowForm ] = React.useState(!isSmallScreen);\n\n const isVerified = props.currentUser.emailVerified;\n\n React.useEffect(() => {\n if (!isSmallScreen && !showForm)\n setShowForm(true);\n }, [ isSmallScreen, showForm ]);\n\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <h2 className='h4 d-flex align-items-center'>\n <Text phrase='heading' />\n {isVerified && (\n <span className='font-size-normal fw-semibold text-primary d-flex align-items-center mb-0 ms-2'>\n <Text phrase='verified' />\n <VerifiedEmailIcon />\n </span>\n )}\n </h2>\n\n {isVerified && (\n <p><Text phrase='info' options={{ email: props.currentUser.email }} /></p>\n )}\n\n {!showForm ?\n (\n <>\n <div className='d-flex'>\n <button className='btn btn-outline-dark me-2' onClick={() => setShowForm(true)}>\n <Text phrase='change' />\n </button>\n </div>\n </>\n ) : (\n <FormWrapper<EmailSettingsModel>\n initialValues={{ email: props.currentUser.email || '' }}\n onSubmit={props.onChangeEmail}\n validationSchema={EmailSettingsValidationSchema}\n >\n <Form>\n <FormField\n className='w-75'\n name='email'\n placeholder={getPhrase('emailPlaceholder')}\n autoComplete='email'\n />\n <div className={`d-flex justify-content-end w-75 ${isSmallScreen ? 'ms-n2' : ''}`}>\n {isSmallScreen && (\n <button type='button' className='btn btn-link me-2' onClick={() => setShowForm(false)}>\n <Text phrase='cancel' />\n </button>\n )}\n <FormButtons\n isNew={false}\n submitText={isVerified ? getPhrase('updateEmail') : getPhrase('verifyEmail')}\n variant={isVerified ? 'outline-dark' : 'dark'}\n />\n </div>\n </Form>\n </FormWrapper>\n )\n }\n </LanguageNamespaceContext.Provider>\n );\n}\n",":local {\n .partialLabel {\n width: 3.0625rem;\n height: 1.5rem;\n }\n\n .partialInfo {\n margin-bottom: 1rem;\n width: 28.125rem;\n height: 1.1875rem;\n }\n\n .partialInput {\n width: 25.75rem;\n height: 2.1875rem;\n }\n\n .partialSubmit {\n width: 6.75rem;\n height: 2.1875rem;\n }\n\n .partialNote {\n width: 30.625rem;\n height: 1.1875rem; \n }\n}","import React from 'react';\n\nimport styles from './partial-email-settings.module.scss';\n\nexport function PartialEmailSettings(): JSX.Element {\n return (\n <div className='w-50'>\n <div className={`partial-loading-background mb-2 ${styles.partialLabel}`} />\n <div className={`partial-loading-background ${styles.partialInfo}`} />\n\n <div className='form-group'>\n <div className={`partial-loading-background ${styles.partialInput}`} />\n </div>\n <div className={`partial-loading-background ${styles.partialSubmit}`} />\n <div className={`partial-loading-background mt-2 ${styles.partialNote}`} />\n </div>\n );\n}\n","import { object, ref, string } from 'yup';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nconst namespace = 'settings.passwordSettings';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport const getPasswordSettingsValidationSchema = (minPasswordLength: number) => object().shape({\n currentPassword: string()\n .required(() => getPhrase('currentPasswordRequired'))\n .trim()\n .default(''),\n newPassword: string()\n .required(() => getPhrase('newPasswordRequired'))\n .min(minPasswordLength, () => getPhrase('newPasswordMinLength', { minLen: minPasswordLength }))\n .trim()\n .default(''),\n confirmPassword: string()\n .required(() => getPhrase('confirmPasswordRequired'))\n .oneOf([ ref('newPassword'), null ], () => getPhrase('passwordsDontMatch'))\n .trim()\n .default('')\n});\n","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { ChangePasswordFormV2 } from 'libs/shared/apps/user-manager/components/change-password-form-v2/ChangePasswordFormV2';\nimport { ChangePasswordRequest } from 'libs/shared/apps/user-manager/interfaces';\nimport { FormSubmissionOptions, FormWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { useMediaQuery } from 'libs/shared/hooks/UseMediaQuery';\n\nimport { getPasswordSettingsValidationSchema } from './PasswordSettingsValidationSchema';\n\nconst namespace = 'settings.passwordSettings';\n\nconst initialValues: ChangePasswordRequest = {\n currentPassword: '',\n newPassword: '',\n confirmPassword: ''\n};\n\ninterface PasswordSettingsProps {\n onChangePassword: (\n passwordModel: ChangePasswordRequest,\n onDone?: () => void,\n onSuccess?: () => void\n ) => void;\n minPasswordLength: number;\n}\n\nexport function PasswordSettings(props: PasswordSettingsProps): JSX.Element {\n const isSmallScreen = useMediaQuery(MediaQueryStrings.MDDown);\n\n // On small screens, we collapse the forms by default\n const [ showForm, setShowForm ] = React.useState(!isSmallScreen);\n\n React.useEffect(() => {\n if (!isSmallScreen && !showForm)\n setShowForm(true);\n }, [ isSmallScreen, showForm ]);\n\n function onSubmitPassword(data: ChangePasswordRequest, onDone: (options?: FormSubmissionOptions) => void) {\n props.onChangePassword(data, onDone, () => onDone({ reset: true }));\n }\n\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <h2 className='h4'><Text phrase='heading' /></h2>\n\n {!showForm ?\n (\n <button className='btn btn-outline-dark ' onClick={() => setShowForm(true)}>\n <Text phrase='change' />\n </button>\n ) : (\n <>\n <p><Text phrase='info' /></p>\n\n <FormWrapper<ChangePasswordRequest>\n initialValues={initialValues}\n onSubmit={onSubmitPassword}\n validationSchema={getPasswordSettingsValidationSchema(props.minPasswordLength)}\n >\n <ChangePasswordFormV2\n onClickCancel={() => setShowForm(false)}\n hideCancelButton={!isSmallScreen}\n submitText={LanguageService.getPhrase(namespace, 'savePassword')}\n buttonContainerClass={isSmallScreen ?\n 'd-flex justify-content-end ms-n2 w-75' :\n 'd-flex justify-content-end w-75'\n }\n inputWidthClass='w-75'\n minLength={props.minPasswordLength}\n passwordStrengthClassName='w-75'\n />\n </FormWrapper>\n </>\n )\n }\n </LanguageNamespaceContext.Provider>\n );\n}\n","import React from 'react';\nimport { useDispatch } from 'react-redux';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { ChangePasswordRequest } from 'libs/shared/apps/user-manager/interfaces/ChangePasswordRequest';\nimport { SecuritySettingsResponse } from 'libs/shared/apps/user-manager/interfaces/SecuritySettingsResponse';\nimport { UserManagerHelper } from 'libs/shared/apps/user-manager/utils/UserManagerHelper';\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useMediaQuery } from 'libs/shared/hooks/UseMediaQuery';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { CurrentUser, User } from 'libs/shared/interfaces';\n\nimport { EmailSettings, EmailSettingsModel } from 'apps/settings/components/email-settings/EmailSettings';\nimport { PartialEmailSettings } from 'apps/settings/components/email-settings/partial-loading/PartialEmailSettings';\nimport { PasswordSettings } from 'apps/settings/components/password-settings/PasswordSettings';\nimport { SettingsLayout } from 'apps/settings/components/settings-layout/SettingsLayout';\nimport { SecuritySettingsRequests } from 'apps/settings/flight-requests/SecuritySettingsRequests';\nimport { UserManagerRequests } from 'apps/user-manager/flight-requests/UserManagerRequests';\n\nconst namespace = 'settings.accountSettings';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function AccountSettingsView(): JSX.Element {\n useSetPageMetadata({ title: getPhrase('pageTitle') });\n\n const dispatch = useDispatch();\n const alerts = useAlerts();\n const isSmallScreen = useMediaQuery(MediaQueryStrings.MDDown);\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const masterCurrentUser = Flight.useBasicFetch<User>(currentUser.data &&\n UserManagerRequests.getUser(currentUser.data.id));\n const passwordPolicy = Flight.useBasicFetch<SecuritySettingsResponse>(currentUser.data &&\n SecuritySettingsRequests.getCustomerSecuritySettings(currentUser.data.customerId));\n\n function onChangeEmail(emailModel: EmailSettingsModel, onDone?: () => void): void {\n Flight.fetch(dispatch, UserManagerRequests.changeEmail(emailModel.email, () => {\n AnalyticsHelper.logUserAction({\n id: currentUser.data.id,\n oldEmail: currentUser.data.email,\n newEmail: emailModel.email\n }, {\n actionType: UserAction.VerifyEmail,\n entity: EntityType.User,\n location: LocationContext.Settings,\n workflowPhase: WorkflowPhase.Start\n });\n\n alerts.success(getPhrase('changeEmailRequestSuccess', { email: emailModel.email, escapeText: true }));\n }, () => {\n alerts.error(getPhrase('changeEmailRequestError'));\n }, onDone));\n }\n\n function onChangePassword(\n passwordModel: ChangePasswordRequest,\n onDone?: () => void,\n onSuccess?: () => void\n ): void {\n Flight.fetch(dispatch, UserManagerRequests.changePassword(passwordModel, () => {\n AnalyticsHelper.logUserAction({\n id: currentUser.data.id,\n oldPassword: passwordModel.currentPassword,\n newPassword: passwordModel.newPassword\n }, {\n actionType: UserAction.ChangePassword,\n entity: EntityType.User,\n location: LocationContext.Settings,\n workflowPhase: WorkflowPhase.Complete\n });\n\n alerts.success(getPhrase('changePasswordSuccess'));\n onSuccess();\n }, ({ responseJSON }: JQuery.jqXHR) => {\n if (responseJSON.errorCode === 'user.password-too-short')\n alerts.error(getPhrase('changePasswordRequirementsError'));\n else if (responseJSON.errorCode === 'user.invalid-password')\n alerts.error(getPhrase('changePasswordInvalid'));\n else if (responseJSON.errorCode === 'user.same-password')\n alerts.error(getPhrase('changePasswordSame'));\n else if (responseJSON.errorCode === 'user.locked-out')\n alerts.error(getPhrase('changePasswordLockedOut'));\n else\n alerts.error(getPhrase('changePasswordError'));\n }, onDone));\n }\n\n const minPasswordLength = UserManagerHelper.getMinimumPasswordLength(\n passwordPolicy.data,\n masterCurrentUser.data?.userType,\n currentUser.data.role\n );\n\n return (\n <SettingsLayout\n heading={getPhrase('heading')}\n breadcrumbs={[getPhrase('breadcrumb')]}\n >\n <div className={isSmallScreen ? 'w-100' : 'w-50'}>\n {(currentUser.data) ?\n (\n <EmailSettings\n currentUser={currentUser.data}\n onChangeEmail={onChangeEmail}\n />\n ) : <PartialEmailSettings />\n }\n </div>\n\n <hr />\n\n <div className={isSmallScreen ? 'w-100' : 'w-50'}>\n {passwordPolicy.data && (\n <PasswordSettings onChangePassword={onChangePassword} minPasswordLength={minPasswordLength} />\n )}\n </div>\n </SettingsLayout>\n );\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{o as e}from"./DAXXjFlN.chunk.js";import{t}from"./C2w0pmFW.chunk.js";import{t as n}from"./wrLrTezN.chunk.js";import{u as r}from"./BX0wDJmp.chunk.js";import{t as i}from"./BC8PeYqm.chunk.js";import{t as a}from"./CqrjHjAN.chunk.js";import{t as o}from"./D_gWf2lC.chunk.js";import{t as s}from"./DruDe9vI.chunk.js";import{n as c,t as l}from"./C6-aC3vu.chunk.js";import{n as u,t as d}from"./BGhJ8TEx.chunk.js";import{t as f}from"./7LGxCHGV.chunk.js";import{t as p}from"./Bw2cauzs2.chunk.js";import{t as m}from"./BTd65Rcb2.chunk.js";import{t as h}from"./DbyH1eEj.chunk.js";import{t as g}from"./CdI1ZlaQ.chunk.js";import{t as _}from"./5ONJSThP.chunk.js";import{n as v,r as y}from"./BGswYbRT.chunk.js";var b=e(t()),x=n();function S(e){let t=r(o.config()),n=r(a.currentUser()),S=r(i.sharedInteractiveMetadata(e.objectId,e.shareId)),C=r(s.getShareObject(e.shareId)),w=r(d.createViewKey(e.shareId,u.Share)),T=b.useMemo(()=>y(),[]);f(S,{private:h}),l(c.getInteractiveMetadata({content:S.data}));function E(e){e.one(`cv-playback-data-loaded`,()=>{m.remove()})}let D=_(),O=D.xl&&!D.xxl;function k(e){e?document.body.classList.remove(`overflow-hidden`):document.body.classList.add(`overflow-hidden`)}return S.data&&t.hasCompleted&&n.hasCompleted&&C.hasCompleted&&w.hasCompleted?(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(p,{config:t.data,video:S.data,currentUser:n.data,shareLink:C.data,viewKey:w.data,presentationSlug:null,startTime:e.queryParams.t??e.queryParams.startTime,onShowSummary:k,summaryPortalNode:T,embed:!0,onReady:E,collectAnonResults:!n.data?.isAuthenticated&&!!g.getAnonUser(e.shareId)}),(0,x.jsx)(`div`,{className:`p-3 ${O?`container-fluid`:`container`}`,children:(0,x.jsx)(v,{node:T})})]}):(0,x.jsx)(x.Fragment,{})}export{S as EmbeddedInteractiveView};
2
- //# sourceMappingURL=BbKY_Dwq.chunk.js.map
1
+ import{o as e}from"./DAXXjFlN.chunk.js";import{t}from"./C2w0pmFW.chunk.js";import{t as n}from"./wrLrTezN.chunk.js";import{u as r}from"./BX0wDJmp.chunk.js";import{t as i}from"./BC8PeYqm.chunk.js";import{t as a}from"./CqrjHjAN.chunk.js";import{t as o}from"./D_gWf2lC.chunk.js";import{t as s}from"./DruDe9vI.chunk.js";import{n as c,t as l}from"./C6-aC3vu.chunk.js";import{n as u,t as d}from"./BGhJ8TEx.chunk.js";import{t as f}from"./7LGxCHGV.chunk.js";import{t as p}from"./Cm6SLr7W2.chunk.js";import{t as m}from"./BTd65Rcb2.chunk.js";import{t as h}from"./DbyH1eEj.chunk.js";import{t as g}from"./CdI1ZlaQ.chunk.js";import{t as _}from"./5ONJSThP.chunk.js";import{n as v,r as y}from"./BGswYbRT.chunk.js";var b=e(t()),x=n();function S(e){let t=r(o.config()),n=r(a.currentUser()),S=r(i.sharedInteractiveMetadata(e.objectId,e.shareId)),C=r(s.getShareObject(e.shareId)),w=r(d.createViewKey(e.shareId,u.Share)),T=b.useMemo(()=>y(),[]);f(S,{private:h}),l(c.getInteractiveMetadata({content:S.data}));function E(e){e.one(`cv-playback-data-loaded`,()=>{m.remove()})}let D=_(),O=D.xl&&!D.xxl;function k(e){e?document.body.classList.remove(`overflow-hidden`):document.body.classList.add(`overflow-hidden`)}return S.data&&t.hasCompleted&&n.hasCompleted&&C.hasCompleted&&w.hasCompleted?(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(p,{config:t.data,video:S.data,currentUser:n.data,shareLink:C.data,viewKey:w.data,presentationSlug:null,startTime:e.queryParams.t??e.queryParams.startTime,onShowSummary:k,summaryPortalNode:T,embed:!0,onReady:E,collectAnonResults:!n.data?.isAuthenticated&&!!g.getAnonUser(e.shareId)}),(0,x.jsx)(`div`,{className:`p-3 ${O?`container-fluid`:`container`}`,children:(0,x.jsx)(v,{node:T})})]}):(0,x.jsx)(x.Fragment,{})}export{S as EmbeddedInteractiveView};
2
+ //# sourceMappingURL=CJCh1Gq6.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BbKY_Dwq.chunk.js","names":[],"sources":["../../src/apps/embed/views/embedded-interactive/EmbeddedInteractiveView.tsx"],"sourcesContent":["import React from 'react';\nimport { createHtmlPortalNode, OutPortal } from 'react-reverse-portal';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { ShareRequests } from 'libs/shared/apps/share/flight-requests/ShareRequests';\nimport { PlayerReference } from 'libs/shared/context/player-context/interfaces/PlayerReference';\nimport { MediaIdType } from 'libs/shared/enums/MediaIdType';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { InteractiveRequests } from 'libs/shared/flight-requests/InteractiveRequests';\nimport { PlayerRequests } from 'libs/shared/flight-requests/PlayerRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { useCannotConsumeError } from 'libs/shared/hooks/useCannotConsumeError';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Config, CurrentUser, InteractiveMetadata, PlayerViewKey, UnionShareObject } from 'libs/shared/interfaces';\nimport { PageMetadataHelper } from 'libs/shared/utils/PageMetadataHelper';\n\nimport { LitePlayerView } from 'shared/views/lite-player/LitePlayerView';\n\nimport { PrivateEmbedError } from 'apps/embed/errors/forbidden/PrivateEmbedError';\nimport { EmbedViewProps } from 'apps/embed/interfaces/EmbedViewProps';\nimport { EmbedPlaceHolderHelper } from 'apps/embed/utils/EmbedPlaceholderHelper';\nimport { ShareLinkFilterHelpers } from 'apps/share/filters/share-link-filter/ShareLinkFilterHelpers';\n\nexport function EmbeddedInteractiveView(props: EmbedViewProps): React.ReactElement {\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const interactiveMetadata = Flight.useBasicFetch<InteractiveMetadata>(\n InteractiveRequests.sharedInteractiveMetadata(props.objectId, props.shareId)\n );\n\n const shareLink = Flight.useBasicFetch<UnionShareObject>(\n ShareRequests.getShareObject(props.shareId)\n );\n\n const viewKeyRequest = PlayerRequests.createViewKey(props.shareId, MediaIdType.Share);\n const viewKey = Flight.useBasicFetch<PlayerViewKey>(viewKeyRequest);\n\n const summaryPortalNode = React.useMemo(() => createHtmlPortalNode(), []);\n\n useCannotConsumeError(interactiveMetadata, { private: PrivateEmbedError });\n useSetPageMetadata(PageMetadataHelper.getInteractiveMetadata({ content: interactiveMetadata.data }));\n\n function onReady(player: PlayerReference): void {\n player.one('cv-playback-data-loaded', () => {\n EmbedPlaceHolderHelper.remove();\n });\n }\n\n const breakpoints = useBreakpoints();\n const useContainerFluid = breakpoints.xl && !breakpoints.xxl;\n function onShowSummary(showing: boolean): void {\n if (showing)\n document.body.classList.remove('overflow-hidden');\n else\n document.body.classList.add('overflow-hidden');\n }\n\n const hasLoaded = (\n interactiveMetadata.data &&\n config.hasCompleted &&\n currentUser.hasCompleted &&\n shareLink.hasCompleted &&\n viewKey.hasCompleted\n );\n\n if (!hasLoaded)\n return <></>;\n\n return (\n <>\n <LitePlayerView\n config={config.data}\n video={interactiveMetadata.data}\n currentUser={currentUser.data}\n shareLink={shareLink.data}\n viewKey={viewKey.data}\n presentationSlug={null}\n startTime={props.queryParams.t ?? props.queryParams.startTime}\n onShowSummary={onShowSummary}\n summaryPortalNode={summaryPortalNode}\n embed\n onReady={onReady}\n collectAnonResults={!currentUser.data?.isAuthenticated && !!ShareLinkFilterHelpers.getAnonUser(props.shareId)}\n />\n <div className={`p-3 ${useContainerFluid ? 'container-fluid' : 'container'}`}>\n <OutPortal node={summaryPortalNode}></OutPortal>\n </div>\n </>\n );\n}\n"],"mappings":"6sBAyBA,SAAgB,EAAwB,EAA2C,CACjF,IAAM,EAAS,EAA6B,EAAe,OAAO,CAAC,EAE7D,EAAc,EAAkC,EAAa,YAAY,CAAC,EAC1E,EAAsB,EAC1B,EAAoB,0BAA0B,EAAM,SAAU,EAAM,OAAO,CAC7E,EAEM,EAAY,EAChB,EAAc,eAAe,EAAM,OAAO,CAC5C,EAGM,EAAU,EADO,EAAe,cAAc,EAAM,QAAS,EAAY,KAC3B,CAAc,EAE5D,EAAA,EAA0B,YAAc,EAAqB,EAAG,CAAC,CAAC,EAExE,EAAsB,EAAqB,CAAE,QAAS,CAAkB,CAAC,EACzE,EAAmB,EAAmB,uBAAuB,CAAE,QAAS,EAAoB,IAAK,CAAC,CAAC,EAEnG,SAAS,EAAQ,EAA+B,CAC9C,EAAO,IAAI,8BAAiC,CAC1C,EAAuB,OAAO,CAChC,CAAC,CACH,CAEA,IAAM,EAAc,EAAe,EAC7B,EAAoB,EAAY,IAAM,CAAC,EAAY,IACzD,SAAS,EAAc,EAAwB,CACzC,EACF,SAAS,KAAK,UAAU,OAAO,iBAAiB,EAEhD,SAAS,KAAK,UAAU,IAAI,iBAAiB,CACjD,CAaA,OAVE,EAAoB,MACpB,EAAO,cACP,EAAY,cACZ,EAAU,cACV,EAAQ,cAOR,EAAA,EAAA,KAAA,CAAA,EAAA,SAAA,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,OAAQ,EAAO,KACf,MAAO,EAAoB,KAC3B,YAAa,EAAY,KACzB,UAAW,EAAU,KACrB,QAAS,EAAQ,KACjB,iBAAkB,KAClB,UAAW,EAAM,YAAY,GAAK,EAAM,YAAY,UACrC,gBACI,oBACnB,MAAA,GACS,UACT,mBAAoB,CAAC,EAAY,MAAM,iBAAmB,CAAC,CAAC,EAAuB,YAAY,EAAM,OAAO,CAC7G,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAW,OAAO,EAAoB,kBAAoB,wBAC7D,EAAA,EAAA,IAAA,CAAC,EAAD,CAAW,KAAM,CAA8B,CAAA,CAC5C,CAAA,CACL,CAAA,CAAA,GArBK,EAAA,EAAA,IAAA,CAAA,EAAA,SAAA,CAAI,CAAA,CAuBf"}
1
+ {"version":3,"file":"CJCh1Gq6.chunk.js","names":[],"sources":["../../src/apps/embed/views/embedded-interactive/EmbeddedInteractiveView.tsx"],"sourcesContent":["import React from 'react';\nimport { createHtmlPortalNode, OutPortal } from 'react-reverse-portal';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { ShareRequests } from 'libs/shared/apps/share/flight-requests/ShareRequests';\nimport { PlayerReference } from 'libs/shared/context/player-context/interfaces/PlayerReference';\nimport { MediaIdType } from 'libs/shared/enums/MediaIdType';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { InteractiveRequests } from 'libs/shared/flight-requests/InteractiveRequests';\nimport { PlayerRequests } from 'libs/shared/flight-requests/PlayerRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { useCannotConsumeError } from 'libs/shared/hooks/useCannotConsumeError';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Config, CurrentUser, InteractiveMetadata, PlayerViewKey, UnionShareObject } from 'libs/shared/interfaces';\nimport { PageMetadataHelper } from 'libs/shared/utils/PageMetadataHelper';\n\nimport { LitePlayerView } from 'shared/views/lite-player/LitePlayerView';\n\nimport { PrivateEmbedError } from 'apps/embed/errors/forbidden/PrivateEmbedError';\nimport { EmbedViewProps } from 'apps/embed/interfaces/EmbedViewProps';\nimport { EmbedPlaceHolderHelper } from 'apps/embed/utils/EmbedPlaceholderHelper';\nimport { ShareLinkFilterHelpers } from 'apps/share/filters/share-link-filter/ShareLinkFilterHelpers';\n\nexport function EmbeddedInteractiveView(props: EmbedViewProps): React.ReactElement {\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const interactiveMetadata = Flight.useBasicFetch<InteractiveMetadata>(\n InteractiveRequests.sharedInteractiveMetadata(props.objectId, props.shareId)\n );\n\n const shareLink = Flight.useBasicFetch<UnionShareObject>(\n ShareRequests.getShareObject(props.shareId)\n );\n\n const viewKeyRequest = PlayerRequests.createViewKey(props.shareId, MediaIdType.Share);\n const viewKey = Flight.useBasicFetch<PlayerViewKey>(viewKeyRequest);\n\n const summaryPortalNode = React.useMemo(() => createHtmlPortalNode(), []);\n\n useCannotConsumeError(interactiveMetadata, { private: PrivateEmbedError });\n useSetPageMetadata(PageMetadataHelper.getInteractiveMetadata({ content: interactiveMetadata.data }));\n\n function onReady(player: PlayerReference): void {\n player.one('cv-playback-data-loaded', () => {\n EmbedPlaceHolderHelper.remove();\n });\n }\n\n const breakpoints = useBreakpoints();\n const useContainerFluid = breakpoints.xl && !breakpoints.xxl;\n function onShowSummary(showing: boolean): void {\n if (showing)\n document.body.classList.remove('overflow-hidden');\n else\n document.body.classList.add('overflow-hidden');\n }\n\n const hasLoaded = (\n interactiveMetadata.data &&\n config.hasCompleted &&\n currentUser.hasCompleted &&\n shareLink.hasCompleted &&\n viewKey.hasCompleted\n );\n\n if (!hasLoaded)\n return <></>;\n\n return (\n <>\n <LitePlayerView\n config={config.data}\n video={interactiveMetadata.data}\n currentUser={currentUser.data}\n shareLink={shareLink.data}\n viewKey={viewKey.data}\n presentationSlug={null}\n startTime={props.queryParams.t ?? props.queryParams.startTime}\n onShowSummary={onShowSummary}\n summaryPortalNode={summaryPortalNode}\n embed\n onReady={onReady}\n collectAnonResults={!currentUser.data?.isAuthenticated && !!ShareLinkFilterHelpers.getAnonUser(props.shareId)}\n />\n <div className={`p-3 ${useContainerFluid ? 'container-fluid' : 'container'}`}>\n <OutPortal node={summaryPortalNode}></OutPortal>\n </div>\n </>\n );\n}\n"],"mappings":"6sBAyBA,SAAgB,EAAwB,EAA2C,CACjF,IAAM,EAAS,EAA6B,EAAe,OAAO,CAAC,EAE7D,EAAc,EAAkC,EAAa,YAAY,CAAC,EAC1E,EAAsB,EAC1B,EAAoB,0BAA0B,EAAM,SAAU,EAAM,OAAO,CAC7E,EAEM,EAAY,EAChB,EAAc,eAAe,EAAM,OAAO,CAC5C,EAGM,EAAU,EADO,EAAe,cAAc,EAAM,QAAS,EAAY,KAC3B,CAAc,EAE5D,EAAA,EAA0B,YAAc,EAAqB,EAAG,CAAC,CAAC,EAExE,EAAsB,EAAqB,CAAE,QAAS,CAAkB,CAAC,EACzE,EAAmB,EAAmB,uBAAuB,CAAE,QAAS,EAAoB,IAAK,CAAC,CAAC,EAEnG,SAAS,EAAQ,EAA+B,CAC9C,EAAO,IAAI,8BAAiC,CAC1C,EAAuB,OAAO,CAChC,CAAC,CACH,CAEA,IAAM,EAAc,EAAe,EAC7B,EAAoB,EAAY,IAAM,CAAC,EAAY,IACzD,SAAS,EAAc,EAAwB,CACzC,EACF,SAAS,KAAK,UAAU,OAAO,iBAAiB,EAEhD,SAAS,KAAK,UAAU,IAAI,iBAAiB,CACjD,CAaA,OAVE,EAAoB,MACpB,EAAO,cACP,EAAY,cACZ,EAAU,cACV,EAAQ,cAOR,EAAA,EAAA,KAAA,CAAA,EAAA,SAAA,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,OAAQ,EAAO,KACf,MAAO,EAAoB,KAC3B,YAAa,EAAY,KACzB,UAAW,EAAU,KACrB,QAAS,EAAQ,KACjB,iBAAkB,KAClB,UAAW,EAAM,YAAY,GAAK,EAAM,YAAY,UACrC,gBACI,oBACnB,MAAA,GACS,UACT,mBAAoB,CAAC,EAAY,MAAM,iBAAmB,CAAC,CAAC,EAAuB,YAAY,EAAM,OAAO,CAC7G,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAW,OAAO,EAAoB,kBAAoB,wBAC7D,EAAA,EAAA,IAAA,CAAC,EAAD,CAAW,KAAM,CAA8B,CAAA,CAC5C,CAAA,CACL,CAAA,CAAA,GArBK,EAAA,EAAA,IAAA,CAAA,EAAA,SAAA,CAAI,CAAA,CAuBf"}
@@ -222,7 +222,7 @@ ${fp(e)}`),t.map&&!t.map.bytes&&(this.logger_(`going to request init segment.`),
222
222
  fill='currentColor'
223
223
  />
224
224
  </svg>
225
- `,Uh=class extends Bh{constructor(e,t){super(e,t)}createEl(){let e=Vh.prototype.createEl.call(this,`button`,{className:this.buildCSSClass()},{type:`button`,title:this.controlText_});return e.innerHTML=Hh,this.createControlTextEl(e),e}handleClick(e){e.stopPropagation(),e.preventDefault(),this.options_?.onClick&&this.options_.onClick()}buildCSSClass(){return`cv-remove-video-button`}};Z.registerComponent(`removeVideoButton`,Uh),Uh.prototype.controlText_=`Remove from watch history`;var Wh=function(e){return e.Default=`play`,e.Hover=`hover`,e}({}),Gh=Z.getPlugin(`plugin`),Kh=`cv-preview-mode`,qh=`cv-force-16-9`,Jh=class extends Gh{constructor(e,t){super(e),this.hasSeeked=!1,this.buttonAdded=!1,this.mode=null,this.defaultDisplayMode=`normal`,this.onQualityReady=null,t?.defaultDisplayMode&&(this.defaultDisplayMode=t.defaultDisplayMode),t?.startTime&&(this.startTime=t.startTime),this.onSeek=this.onSeek.bind(this),this.player.one(`seeking`,this.onSeek)}onSeek(){this.hasSeeked=!0}dispose(){this.cleanupQualityListener(),this.player.off(`seeking`,this.onSeek),super.dispose()}getMode(){return this.mode}isHovering(){return this.mode===`hover`}setPlayerMode(e,t,n){this.player.trigger(`flushprogress`);let r=this.mode;if(this.mode=e,e===`hover`){this.buttonAdded||this.addButtons(t,n),this.player.addClass(Kh),this.applyAspectRatioFix(),this.enableSubtitles(),this.mute(),this.setLowQuality(),this.removeActivityTimeout(),this.player.trigger(`resize`);return}r===`hover`&&(this.applyDefaultModeLayout(),this.player.removeClass(Kh),this.player.removeClass(qh),this.disableSubtitles(),this.unmute(),this.cleanupQualityListener(),this.restorePreviousQuality(),this.restoreActivityTimeout(),this.player.trigger(`resize`),this.hasSeeked||=(this.player.currentTime(this.startTime??0),!1))}applyDefaultModeLayout(){let e=this.player.usingPlugin?.(`theatreModePlugin`);this.defaultDisplayMode===`theatre`?(e&&this.player.theatreModePlugin()?.toggleTheatreMode(!0),this.player.fill(!0)):(e&&this.player.theatreModePlugin()?.toggleTheatreMode(!1),this.player.fluid(!0))}applyAspectRatioFix(){let e=()=>{let e=this.player.videoWidth(),t=this.player.videoHeight();if(e>0&&t>0){let n=e/t;Math.abs(n-16/9)<.01||this.player.addClass(qh)}};this.player.readyState()>=1?e():this.player.one(`loadedmetadata`,e)}addButtons(e,t){let n=new Lh(this.player),r=new zh(this.player,{onClickHandler:e}),i=new Uh(this.player,{onClick:t});t&&A.isFunction(t)&&this.player.addChild(i),this.player.addChild(n),this.player.addChild(r),this.buttonAdded=!0}enableSubtitles(){this.player.dataLoaded(()=>this.player.persistSubtitleSettingsPlugin().previewModeSubtitles())}disableSubtitles(){this.player.dataLoaded(()=>this.player.persistSubtitleSettingsPlugin().applyUserPreferences())}mute(){this.player.ready(()=>{this.player.persistVolumePlugin().disable(),this.player.muted(!0)})}unmute(){this.player.ready(()=>{this.player.persistVolumePlugin().applyUserPreferences(),this.player.persistVolumePlugin().enable()})}setLowQuality(){this.player.dataLoaded(()=>{this.mode===`hover`&&(this.player.persistQualitySettingsPlugin().disable(),this.cleanupQualityListener(),this.onQualityReady=()=>{this.mode===`hover`&&this.player.qualityManager().selectLowest()},this.player.on(`quality-levels-changed`,this.onQualityReady),this.player.qualityManager().selectLowest())})}cleanupQualityListener(){this.onQualityReady&&=(this.player.off(`quality-levels-changed`,this.onQualityReady),null)}restorePreviousQuality(){this.player.dataLoaded(()=>{this.player.persistQualitySettingsPlugin().applyUserPreferences(),this.player.persistQualitySettingsPlugin().enable()})}removeActivityTimeout(){this.player.cache_.inactivityTimeout=this.player.options_.inactivityTimeout,this.player.options_.inactivityTimeout=0}restoreActivityTimeout(){this.player.options_.inactivityTimeout=this.player.cache_.inactivityTimeout}};Z.registerPlugin(`playerModePlugin`,Jh);function Yh(e,t){for(let n of e)if(n.quality<=t)return n;return e[e.length-1]}var Xh=`cvplayer-playback-quality:v2`,Zh=`cvplayer-localcache-playback-quality:v2`,Qh=`cvplayer-dash-playback-quality:v1`,$h=`auto`,eg=480*60*1e3;function tg(e){return e?Zh:Xh}var ng={hasStoredPreference(){return P.hasLocalStorage()?!!(P.get(`cvplayer-playback-quality:v2`)||P.get(`cvplayer-localcache-playback-quality:v2`)||P.get(`cvplayer-dash-playback-quality:v1`)):!1},storeProgressive(e,t){P.hasLocalStorage()&&P.set(tg(t),e.toString())},resolveProgressive(e,t=!1){let n=t?e?.playbackQualityLocalCache:e?.playbackQuality,r=(P.hasLocalStorage()?P.get(tg(t)):null)||n||e?.playbackQualityFallback;if(!r)return null;let i=parseInt(r);return isNaN(i)?null:i},resolveDash(){if(!P.hasLocalStorage())return $h;let e=P.get(Qh);if(!e)return $h;try{let t=JSON.parse(e);if(typeof t?.quality==`number`&&typeof t?.expiresAt==`number`&&t.expiresAt>Date.now())return t.quality}catch{}return $h},storeDashLock(e){if(!P.hasLocalStorage())return;let t={quality:e,expiresAt:Date.now()+eg};P.set(Qh,JSON.stringify(t))},clearDashLock(){P.hasLocalStorage()&&P.remove(Qh)}};function rg(e,t){let n=e.currentTime(),r=!e.paused(),i=e.hasStarted();e.src(t);let a=()=>{e.off(`error`,o),e.currentTime()!==n&&e.currentTime(n),r&&e.play()?.catch(()=>void 0),i&&e.hasStarted(!0)},o=()=>e.off(`loadedmetadata`,a);e.one(`loadedmetadata`,a),e.one(`error`,o)}var ig=`application/dash+xml`,ag={sortFilesByQuality(e){return{...e,progressive:[...e.progressive].sort((e,t)=>t.quality-e.quality)}},getSignedDashUrl(e,t){let n=e.manifests?.dashUrl;if(n)return`${n}?viewKey=${t}`},getDashSource(e,t,n){let r=ag.getSignedDashUrl(e,t);if(r)return{src:r,type:ig,useBandwidthFromLocalStorage:!n}},getDefaultProgressiveFile(e,t,n){let r=n?.playbackQuality??ng.resolveProgressive(t,!!n);return r===null?e.progressive[0]:Yh(e.progressive,r)},planSources(e){let t=ag.getDashSource(e.files,e.viewKey,e.activeLocalCache),n=ag.getDefaultProgressiveFile(e.files,e.settings,e.activeLocalCache),r=[];return t&&r.push(t),n&&r.push({src:n.url,type:n.mimeType}),{sources:r,defaultFile:n}},applyFile(e,t){rg(e,{src:t.url,type:t.mimeType})}};function og(e){return cg(e)?.BANDWIDTH}function sg(e){return cg(e)?.CODECS}function cg(e){return(e.tech?.(!0))?.vhs?.playlistController_?.mediaTypes_?.AUDIO?.activePlaylistLoader?.media?.()?.attributes}function lg(e){let t=e.isFullscreen?.()??!1,n=e.usingPlugin?.(`playerModePlugin`)?e.playerModePlugin()?.isHovering?.()??!1:!1,r=e.usingPlugin?.(`theatreModePlugin`)?e.theatreModePlugin()?.getTheatreMode?.()??!1:!1;return t?`fullscreen`:n?`hover`:r?`theatre`:`default`}function ug(e){return(e.tech?.(!0))?.vhs?.playlists?.media?.()?.attributes?.CODECS}var dg=1e3*60*60*8,fg=class{constructor(e){this.options=e,this.initialize()}logStream(){let e=`v:${this.options.videoId}`,t=this.getPlayerMetrics();x.cacheExists(e)||(this.collectionApiClient.log({type:k.WebPlayerStream,actionContext:this.getActionContext(),data:{...this.getAnalyticsData(),player:t},eventVersion:E.V3}),x&&x.cacheSet(e,null,300))}logVideoProgress(e,t,n){let r=this.getAnalyticsData(),i=this.getPlayerMetrics(),a=n?k.PreviewStreamProgress:k.StreamProgress,o=e.map(e=>({type:a,actionContext:this.getActionContext(),data:{...r,player:i,progress:e},eventVersion:E.V2}));for(let e of t)o.push({type:k.StreamBuffering,actionContext:this.getActionContext(),data:{...r,player:i,buffering:e},eventVersion:E.V2});this.collectionApiClient.log(o)}logUserAction(e,t){let n={...this.getAnalyticsData(),...e},r={...this.getActionContext(),...t};this.collectionApiClient.log({type:t.actionType,data:n,actionContext:r,eventVersion:t.eventVersion||E.V2})}getAnalyticsData(){let e={video:{id:this.options.videoId},flags:{isUsingLocalCache:this.options.isUsingLocalCache,isQualityUserPreference:ng.hasStoredPreference(),isAutoQuality:this.options.player.qualityManager?.()?.isAuto()??!1},...this.options.additionalAnalyticsData||{}};this.options.shareId&&(e.video.shareId=this.options.shareId);let t=this.getEntityType();return t===D.Interactive?e.interactive={id:+this.options.mediaId}:t===D.Clip&&(e.clip={id:+this.options.mediaId}),e}initialize(){this.setupCollectionApiClient(),se.lockWindowSession(this.options.userId,dg),this.options.player.one(`dispose`,()=>se.unlockWindowSession(this.options.userId))}setupCollectionApiClient(){this.collectionApiClient=new re({productName:`player.web`,productVersion:this.options.productVersion,regionName:this.options.regionName,collectionApiUrls:this.options.collectionApiUrls,collectionApiClientId:this.options.collectionApiClientId,getUser:()=>this.getCurrentUser(),shouldLog:ie.shouldLog,formatData:ie.formatData})}async getCurrentUser(){return{id:this.options.userId,customerId:this.options.customerId,sessionId:this.options.authSessionId}}getActionContext(){return{entity:this.getEntityType(),location:this.getLocationContext(),productArea:void 0,descriptor:this.options.isEmbedded?ne.Embedded:void 0,workflowPhase:void 0}}getEntityType(){switch(this.options.mediaType){case`MasterVideo`:return D.Video;case`MasterInteractive`:return D.Interactive;case`MasterClip`:return D.Clip}}getLocationContext(){switch(this.options.playerType){case`player`:return O.Player;case`interactive-player`:return O.InteractivePlayer;case`create-clip-player`:return O.CreateClipPlayer}}getPlayerMetrics(){let e=this.options.player,t=e.qualityManager?.()?.getActive();return{mode:lg(e),width:e.currentWidth(),height:e.currentHeight(),quality:t?.quality?.toString(),qualityLabel:t?.displayName,preset:t?.preset,tech:e.techName_,playbackType:e.currentType?.()===`application/dash+xml`?`dash`:`progressive`,videoCodec:ug(e),audioBitrate:og(e),audioCodec:sg(e)}}},pg=e(t(((e,t)=>{function n(e){if(e&&typeof e==`object`){var t=e.which||e.keyCode||e.charCode;t&&(e=t)}if(typeof e==`number`)return o[e];var n=String(e),a=r[n.toLowerCase()];if(a)return a;var a=i[n.toLowerCase()];if(a)return a;if(n.length===1)return n.charCodeAt(0)}n.isEventKey=function(e,t){if(e&&typeof e==`object`){var n=e.which||e.keyCode||e.charCode;if(n==null)return!1;if(typeof t==`string`){var a=r[t.toLowerCase()];if(a)return a===n;var a=i[t.toLowerCase()];if(a)return a===n}else if(typeof t==`number`)return t===n;return!1}},e=t.exports=n;var r=e.code=e.codes={backspace:8,tab:9,enter:13,shift:16,ctrl:17,alt:18,"pause/break":19,"caps lock":20,esc:27,space:32,"page up":33,"page down":34,end:35,home:36,left:37,up:38,right:39,down:40,insert:45,delete:46,command:91,"left command":91,"right command":93,"numpad *":106,"numpad +":107,"numpad -":109,"numpad .":110,"numpad /":111,"num lock":144,"scroll lock":145,"my computer":182,"my calculator":183,";":186,"=":187,",":188,"-":189,".":190,"/":191,"`":192,"[":219,"\\":220,"]":221,"'":222},i=e.aliases={windows:91,"⇧":16,"⌥":18,"⌃":17,"⌘":91,ctl:17,control:17,option:18,pause:19,break:19,caps:20,return:13,escape:27,spc:32,spacebar:32,pgup:33,pgdn:34,ins:45,del:46,cmd:91};for(a=97;a<123;a++)r[String.fromCharCode(a)]=a-32;for(var a=48;a<58;a++)r[a-48]=a;for(a=1;a<13;a++)r[`f`+a]=a+111;for(a=0;a<10;a++)r[`numpad `+a]=a+96;var o=e.names=e.title={};for(a in r)o[r[a]]=a;for(var s in i)r[s]=i[s]}))());function mg(e){document[e.fsApi_.fullscreenEnabled]&&(e.isFullscreen()?e.exitFullscreen():e.requestFullscreen())}function hg(e){let t=e.theatreModePlugin().getTheatreMode();e.theatreModePlugin().toggleTheatreMode(!t,{shouldLog:!0})}function gg(e){let t=e.volume(),n=e.lastVolume_();if(t===0){let t=n<.1?.1:n;e.volume(t),e.muted(!1)}else e.muted(!e.muted())}function _g(e){e.paused()?e.play():e.pause()}function vg(e,t){e.currentTime(e.currentTime()+t)}function yg(e,t){t>0&&e.muted()&&e.muted(!1),e.volume(e.volume()+t)}function bg(e){let t=e.target;return t.tagName.toLowerCase()===`video`||!![`video-js`,`vjs-tech`].find(e=>t.classList.contains(e))}var xg={f:mg,m:gg,k:_g,space:_g,t:hg,left:e=>vg(e,-5),right:e=>vg(e,5),j:e=>vg(e,-10),l:e=>vg(e,10),up:e=>yg(e,.05),down:e=>yg(e,-.05)};function Sg(e,t,n){if(e.ctrlKey||e.metaKey||e.altKey)return;let r=(0,pg.default)(e),i=[`up`,`down`].includes(r);if(i&&!e.shiftKey||!i&&e.shiftKey||r===`t`&&!n.allowTheatreMode||r===`f`&&!n.allowFullscreen||!xg[r])return;xg[r](t,e);let a=bg(e),o=[`space`].includes(r);(a||o)&&(e.preventDefault(),e.stopPropagation())}var Cg=function(e){return e.PhysicallyChapteredVideo=`physically-chaptered-video`,e}({}),wg={name:`@clickview/player`,version:`1.54.0-rc.0`,description:`ClickView Player`,main:`dist/player-app.js`,type:`module`,scripts:{"type-check":`tsc --noEmit`,"build-app":`node ../../../node_modules/vite/bin/vite.js build --config vite.config.app.ts`,"build-styles":`node ../../../node_modules/vite/bin/vite.js build --config vite.config.styles.ts`,build:`npm run type-check && npm run build-player && npm run build-interactive-player`,"build-player":`node ../../../node_modules/vite/bin/vite.js build --config vite.player.config.ts`,"build-interactive-player":`node ../../../node_modules/vite/bin/vite.js build --config vite.interactive-player.config.ts`,"build-font":`cross-env NODE_ENV=development npm run start`,test:`jest`,"test-watch":`jest --watch`,"test-harness":`npm run build && node ../../../node_modules/vite/bin/vite.js --config vite.test-harness.config.ts`},repository:{type:`git`,url:`https://gitlab.cvinternal.net/front-end/clickview`},author:`Matt Trengrove, Cameron Hill, Shale Kuzmanovski`,license:`ISC`,devDependencies:{"@clickview/player-font":`0.0.17`,"@types/chromecast-caf-sender":`1.0.3`,"@types/cropperjs":`1.3.0`,"@types/draft-js":`0.10.44`,"@types/node-polyglot":`0.4.34`,"@types/react-draft-wysiwyg":`1.13.1`,"@types/signalr-no-jquery":`0.1.3`,"@types/simplebar":`5.1.1`,"@types/video.js":`7.3.58`,jest:`29.6.4`,"ts-jest":`29.1.1`,"vite-plugin-mkcert":`1.17.12`},dependencies:{"@microsoft/signalr":`5.0.2`,"@types/react-canvas-draw":`1.2.1`,cropperjs:`1.5.6`,"draft-convert":`2.1.10`,"draft-js":`0.11.7`,keycode:`2.2.0`,"node-polyglot":`2.3.0`,"react-canvas-draw":`1.2.1`,"react-draft-wysiwyg":`1.15.0`,"react-textarea-autosize":`8.3.2`,"signalr-no-jquery":`0.2.0`,simplebar:`5.3.0`,"simplebar-react":`2.3.0`,"video.js":`8.20.0`}},Tg=class{constructor(e){this.controller=null,this.logger=Z.log.createLogger(`quality`),this.player=e}setController(e){this.controller?.dispose(),this.controller=e,this.notifyLevelsChanged(),e?.getSelected()&&this.notifyQualityChanged(`system`)}getController(){return this.controller}getLevels(){return this.controller?.getLevels()??[]}getSelected(){return this.controller?.getSelected()??null}getActive(){return this.controller?.getActive()??null}select(e,t){this.controller?.select(e,t)}selectPreferred(e){let t=Yh(this.getLevels(),e);t&&this.select(t.id)}selectLowest(){let e=this.getLevels(),t=e[e.length-1];t&&this.select(t.id)}supportsAuto(){return this.controller?.supportsAuto()??!1}isAuto(){return this.controller?.isAuto()??!1}selectAuto(e){this.controller?.selectAuto(e)}notifyLevelsChanged(){let e=this.getLevels();this.logger.debug(`Levels changed: ${e.map(e=>e.displayName).join(`, `)||`none`}`),this.player.trigger(`quality-levels-changed`),this.player.trigger(`cv-updatecog`),this.player.trigger(`resizemenus`)}notifyQualityChanged(e){let t=this.getSelected();this.logger.debug(`Quality changed to ${t?.displayName??`none`} (origin: ${e})`),this.player.trigger(`quality-changed`,{origin:e}),this.player.trigger(`cv-quality-change`,t?.id)}dispose(){this.controller?.dispose(),this.controller=null}},Eg=new WeakMap;function Dg(){let e=Eg.get(this);if(e)return e;let t=new Tg(this);return Eg.set(this,t),this.one(`dispose`,()=>{t.dispose(),Eg.delete(this)}),t}Z.registerPlugin(`qualityManager`,Dg);var Og={SMALL:450,MEDIUM:650},kg=Z.getPlugin(`plugin`),Ag=class extends kg{constructor(e,t){super(e),this.options=t,this.configureMenuDimensions=this.configureMenuDimensions.bind(this),this.initialize()}initialize(){this.player.ready(this.configureMenuDimensions),this.player.one(`play`,this.configureMenuDimensions),this.player.on(`resize`,this.configureMenuDimensions),this.player.on(`fullscreenchange`,this.configureMenuDimensions),this.player.on(`resizemenus`,this.configureMenuDimensions),this.player.on(`ready`,this.configureMenuDimensions)}dispose(){this.player.off(`resize`,this.configureMenuDimensions),this.player.off(`fullscreenchange`,this.configureMenuDimensions),this.player.off(`resizemenus`,this.configureMenuDimensions),this.player.off(`ready`,this.configureMenuDimensions),super.dispose()}configureMenuDimensions(){let e=e=>{if(this.options.mobile)return;let t=this.player.getChild(`collapserator`),n=t.getChild(`volumePanel`),r=t.children_.indexOf(n);t.removeChild(n),t.addChild(`volumePanel`,{inline:e,playerOptions:this.player.options_.playerOptions},r),this.player.trigger(`volumechange`)},t=this.player.isFullscreen();if(t&&!this.options.mobile){let t=this.player.whiteboardModePlugin().side;if(e(t!==`top`),t===`left`||t===`right`||t===`top`){let e=this.player.currentWidth();this.player.el().querySelectorAll(`.vjs-menu`).forEach(t=>{t.style.paddingTop=null,t.style.marginBottom=null,t.style.width=`calc(${e}px - 4em)`});return}}t||e(!0);let n=this.player.currentWidth(),r=this.player.currentHeight()/n*100,i=this.player.el().querySelector(`.cv-collapsorator`),a=this.player.el().querySelectorAll(`.vjs-menu`),o=i&&i.offsetHeight;if(!o){this.player.one(`play`,this.configureMenuDimensions);return}this.options.seekBarName===`CreateClipSeekBar`&&(o+=22),!(!a||!a.length)&&a.forEach(e=>{!t&&this.options.overflowControls?e.style.paddingTop=`80%`:e.style.paddingTop=`calc(${r}% - ${o}px)`,e.style.marginBottom=`${o}px`,e.style.width=null,e.querySelector(`.vjs-menu-content`)&&(n<=Og.SMALL?this.player.addClass(`cv-player-small`):this.player.removeClass(`cv-player-small`))})}};Z.registerPlugin(`configureMenuDimensionsPlugin`,Ag);var jg=Z.getPlugin(`plugin`),Mg=`cvplayer-volume`,Ng=`cvplayer-mute`,Pg=class extends jg{constructor(e){super(e),this.enabled=!0,this.player.ready(()=>this.initialize())}initialize(){if(this.player.options_.mobile){this.removeVolumeControl();return}P.hasLocalStorage()&&(this.saveVolumeState=this.saveVolumeState.bind(this),this.player.on(`volumechange`,this.saveVolumeState),this.applyUserPreferences())}applyUserPreferences(){let e=P.get(Mg),t=P.get(Ng);e&&this.player.volume(+e),t&&this.player.muted(t===`true`)}saveVolumeState(){this.enabled&&(P.set(Mg,this.player.volume().toString()),P.set(Ng,this.player.muted().toString()))}removeVolumeControl(){this.player.volume(1);let e=this.player.getChild(`collapserator`),t=e.getChild(`volumePanel`);e.removeChild(t)}enable(){this.enabled=!0}disable(){this.enabled=!1}dispose(){this.player.off(`volumechange`,this.saveVolumeState),super.dispose()}};Z.registerPlugin(`persistVolumePlugin`,Pg);var Fg=Z.getPlugin(`plugin`),Ig=`cvplayer-playback-rate`,Lg=class extends Fg{constructor(e,t){super(e),this.options=t,this.player.dataLoaded(()=>this.initialize())}initialize(){if(!P.hasLocalStorage())return;this.savePlaybackRate=this.savePlaybackRate.bind(this),this.player.on(`ratechange`,this.savePlaybackRate),this.one(`dispose`,()=>{this.player.off(`ratechange`,this.savePlaybackRate)});let e=+P.get(Ig);this.player.playbackRates()?.some(t=>t===e)&&this.player.playbackRate(e)}savePlaybackRate(){let e=this.player.playbackRate().toString();this.setDefaultPlaybackRate(+e),P.set(Ig,e),this.options.analyticsService?.logUserAction({rate:e},{actionType:k.Select,workflowPhase:T.Complete,descriptor:C.ChangeSpeed,entity:D.PlaybackSpeed,eventVersion:E.V3})}setDefaultPlaybackRate(e){this.player.defaultPlaybackRate(e)}setPlaybackRateWithoutPersisting(e){this.player.off(`ratechange`,this.savePlaybackRate),this.player.playbackRate(e),this.setDefaultPlaybackRate(e),this.player.on(`ratechange`,this.savePlaybackRate)}};Z.registerPlugin(`persistPlaybackRatePlugin`,Lg);var Rg=Z.getPlugin(`plugin`),zg=class extends Rg{constructor(e){super(e),this.fullscreenBecauseOfRotate=!1,this.player.supportsFullScreen()&&(this.onRotate=this.onRotate.bind(this),this.onFullscreenChange=this.onFullscreenChange.bind(this),this.player.ready(()=>this.initialize()))}initialize(){this.player.on(`fullscreenchange`,this.onFullscreenChange),window.addEventListener(`orientationchange`,this.onRotate)}dispose(){this.player.off(`fullscreenchange`,this.onFullscreenChange),window.removeEventListener(`orientationchange`,this.onRotate)}onFullscreenChange(){this.player.isFullscreen()||(this.fullscreenBecauseOfRotate=!1)}onRotate(){let e=this.getAngle();if(e!==90&&e!==-90&&e!==270){this.fullscreenBecauseOfRotate&&this.player.isFullscreen()&&this.player.exitFullscreen();return}this.player.requestFullscreen(),this.fullscreenBecauseOfRotate=!0}getAngle(){return typeof window.screen?.orientation?.angle==`number`?window.screen.orientation.angle:0}};Z.registerPlugin(`fullscreenOnRotatePlugin`,zg);var Bg=`
225
+ `,Uh=class extends Bh{constructor(e,t){super(e,t)}createEl(){let e=Vh.prototype.createEl.call(this,`button`,{className:this.buildCSSClass()},{type:`button`,title:this.controlText_});return e.innerHTML=Hh,this.createControlTextEl(e),e}handleClick(e){e.stopPropagation(),e.preventDefault(),this.options_?.onClick&&this.options_.onClick()}buildCSSClass(){return`cv-remove-video-button`}};Z.registerComponent(`removeVideoButton`,Uh),Uh.prototype.controlText_=`Remove from watch history`;var Wh=function(e){return e.Default=`play`,e.Hover=`hover`,e}({}),Gh=Z.getPlugin(`plugin`),Kh=`cv-preview-mode`,qh=`cv-force-16-9`,Jh=class extends Gh{constructor(e,t){super(e),this.hasSeeked=!1,this.buttonAdded=!1,this.mode=null,this.defaultDisplayMode=`normal`,this.onQualityReady=null,t?.defaultDisplayMode&&(this.defaultDisplayMode=t.defaultDisplayMode),t?.startTime&&(this.startTime=t.startTime),this.onSeek=this.onSeek.bind(this),this.player.one(`seeking`,this.onSeek)}onSeek(){this.hasSeeked=!0}dispose(){this.cleanupQualityListener(),this.player.off(`seeking`,this.onSeek),super.dispose()}getMode(){return this.mode}isHovering(){return this.mode===`hover`}setPlayerMode(e,t,n){this.player.trigger(`flushprogress`);let r=this.mode;if(this.mode=e,e===`hover`){this.buttonAdded||this.addButtons(t,n),this.player.addClass(Kh),this.applyAspectRatioFix(),this.enableSubtitles(),this.mute(),this.setLowQuality(),this.removeActivityTimeout(),this.player.trigger(`resize`);return}r===`hover`&&(this.applyDefaultModeLayout(),this.player.removeClass(Kh),this.player.removeClass(qh),this.disableSubtitles(),this.unmute(),this.cleanupQualityListener(),this.restorePreviousQuality(),this.restoreActivityTimeout(),this.player.trigger(`resize`),this.hasSeeked||=(this.player.currentTime(this.startTime??0),!1))}applyDefaultModeLayout(){let e=this.player.usingPlugin?.(`theatreModePlugin`);this.defaultDisplayMode===`theatre`?(e&&this.player.theatreModePlugin()?.toggleTheatreMode(!0),this.player.fill(!0)):(e&&this.player.theatreModePlugin()?.toggleTheatreMode(!1),this.player.fluid(!0))}applyAspectRatioFix(){let e=()=>{let e=this.player.videoWidth(),t=this.player.videoHeight();if(e>0&&t>0){let n=e/t;Math.abs(n-16/9)<.01||this.player.addClass(qh)}};this.player.readyState()>=1?e():this.player.one(`loadedmetadata`,e)}addButtons(e,t){let n=new Lh(this.player),r=new zh(this.player,{onClickHandler:e}),i=new Uh(this.player,{onClick:t});t&&A.isFunction(t)&&this.player.addChild(i),this.player.addChild(n),this.player.addChild(r),this.buttonAdded=!0}enableSubtitles(){this.player.dataLoaded(()=>this.player.persistSubtitleSettingsPlugin().previewModeSubtitles())}disableSubtitles(){this.player.dataLoaded(()=>this.player.persistSubtitleSettingsPlugin().applyUserPreferences())}mute(){this.player.ready(()=>{this.player.persistVolumePlugin().disable(),this.player.muted(!0)})}unmute(){this.player.ready(()=>{this.player.persistVolumePlugin().applyUserPreferences(),this.player.persistVolumePlugin().enable()})}setLowQuality(){this.player.dataLoaded(()=>{this.mode===`hover`&&(this.player.persistQualitySettingsPlugin().disable(),this.cleanupQualityListener(),this.onQualityReady=()=>{this.mode===`hover`&&this.player.qualityManager().selectLowest()},this.player.on(`quality-levels-changed`,this.onQualityReady),this.player.qualityManager().selectLowest())})}cleanupQualityListener(){this.onQualityReady&&=(this.player.off(`quality-levels-changed`,this.onQualityReady),null)}restorePreviousQuality(){this.player.dataLoaded(()=>{this.player.persistQualitySettingsPlugin().applyUserPreferences(),this.player.persistQualitySettingsPlugin().enable()})}removeActivityTimeout(){this.player.cache_.inactivityTimeout=this.player.options_.inactivityTimeout,this.player.options_.inactivityTimeout=0}restoreActivityTimeout(){this.player.options_.inactivityTimeout=this.player.cache_.inactivityTimeout}};Z.registerPlugin(`playerModePlugin`,Jh);function Yh(e,t){for(let n of e)if(n.quality<=t)return n;return e[e.length-1]}var Xh=`cvplayer-playback-quality:v2`,Zh=`cvplayer-localcache-playback-quality:v2`,Qh=`cvplayer-dash-playback-quality:v1`,$h=`auto`,eg=480*60*1e3;function tg(e){return e?Zh:Xh}var ng={hasStoredPreference(){return P.hasLocalStorage()?!!(P.get(`cvplayer-playback-quality:v2`)||P.get(`cvplayer-localcache-playback-quality:v2`)||P.get(`cvplayer-dash-playback-quality:v1`)):!1},storeProgressive(e,t){P.hasLocalStorage()&&P.set(tg(t),e.toString())},resolveProgressive(e,t=!1){let n=t?e?.playbackQualityLocalCache:e?.playbackQuality,r=(P.hasLocalStorage()?P.get(tg(t)):null)||n||e?.playbackQualityFallback;if(!r)return null;let i=parseInt(r);return isNaN(i)?null:i},resolveDash(){if(!P.hasLocalStorage())return $h;let e=P.get(Qh);if(!e)return $h;try{let t=JSON.parse(e);if(typeof t?.quality==`number`&&typeof t?.expiresAt==`number`&&t.expiresAt>Date.now())return t.quality}catch{}return $h},storeDashLock(e){if(!P.hasLocalStorage())return;let t={quality:e,expiresAt:Date.now()+eg};P.set(Qh,JSON.stringify(t))},clearDashLock(){P.hasLocalStorage()&&P.remove(Qh)}};function rg(e,t){let n=e.currentTime(),r=!e.paused(),i=e.hasStarted();e.src(t);let a=()=>{e.off(`error`,o),e.currentTime()!==n&&e.currentTime(n),r&&e.play()?.catch(()=>void 0),i&&e.hasStarted(!0)},o=()=>e.off(`loadedmetadata`,a);e.one(`loadedmetadata`,a),e.one(`error`,o)}var ig=`application/dash+xml`,ag={sortFilesByQuality(e){return{...e,progressive:[...e.progressive].sort((e,t)=>t.quality-e.quality)}},getSignedDashUrl(e,t){let n=e.manifests?.dashUrl;if(n)return`${n}?viewKey=${t}`},getDashSource(e,t,n){let r=ag.getSignedDashUrl(e,t);if(r)return{src:r,type:ig,useBandwidthFromLocalStorage:!n}},getDefaultProgressiveFile(e,t,n){let r=n?.playbackQuality??ng.resolveProgressive(t,!!n);return r===null?e.progressive[0]:Yh(e.progressive,r)},planSources(e){let t=ag.getDashSource(e.files,e.viewKey,e.activeLocalCache),n=ag.getDefaultProgressiveFile(e.files,e.settings,e.activeLocalCache),r=[];return t&&r.push(t),n&&r.push({src:n.url,type:n.mimeType}),{sources:r,defaultFile:n}},applyFile(e,t){rg(e,{src:t.url,type:t.mimeType})}};function og(e){return cg(e)?.BANDWIDTH}function sg(e){return cg(e)?.CODECS}function cg(e){return(e.tech?.(!0))?.vhs?.playlistController_?.mediaTypes_?.AUDIO?.activePlaylistLoader?.media?.()?.attributes}function lg(e){let t=e.isFullscreen?.()??!1,n=e.usingPlugin?.(`playerModePlugin`)?e.playerModePlugin()?.isHovering?.()??!1:!1,r=e.usingPlugin?.(`theatreModePlugin`)?e.theatreModePlugin()?.getTheatreMode?.()??!1:!1;return t?`fullscreen`:n?`hover`:r?`theatre`:`default`}function ug(e){return(e.tech?.(!0))?.vhs?.playlists?.media?.()?.attributes?.CODECS}var dg=1e3*60*60*8,fg=class{constructor(e){this.options=e,this.initialize()}logStream(){let e=`v:${this.options.videoId}`,t=this.getPlayerMetrics();x.cacheExists(e)||(this.collectionApiClient.log({type:k.WebPlayerStream,actionContext:this.getActionContext(),data:{...this.getAnalyticsData(),player:t},eventVersion:E.V3}),x&&x.cacheSet(e,null,300))}logVideoProgress(e,t,n){let r=this.getAnalyticsData(),i=this.getPlayerMetrics(),a=n?k.PreviewStreamProgress:k.StreamProgress,o=e.map(e=>({type:a,actionContext:this.getActionContext(),data:{...r,player:i,progress:e},eventVersion:E.V2}));for(let e of t)o.push({type:k.StreamBuffering,actionContext:this.getActionContext(),data:{...r,player:i,buffering:e},eventVersion:E.V2});this.collectionApiClient.log(o)}logUserAction(e,t){let n={...this.getAnalyticsData(),...e},r={...this.getActionContext(),...t};this.collectionApiClient.log({type:t.actionType,data:n,actionContext:r,eventVersion:t.eventVersion||E.V2})}getAnalyticsData(){let e={video:{id:this.options.videoId},flags:{isUsingLocalCache:this.options.isUsingLocalCache,isQualityUserPreference:ng.hasStoredPreference(),isAutoQuality:this.options.player.qualityManager?.()?.isAuto()??!1},...this.options.additionalAnalyticsData||{}};this.options.shareId&&(e.video.shareId=this.options.shareId);let t=this.getEntityType();return t===D.Interactive?e.interactive={id:+this.options.mediaId}:t===D.Clip&&(e.clip={id:+this.options.mediaId}),e}initialize(){this.setupCollectionApiClient(),se.lockWindowSession(this.options.userId,dg),this.options.player.one(`dispose`,()=>se.unlockWindowSession(this.options.userId))}setupCollectionApiClient(){this.collectionApiClient=new re({productName:`player.web`,productVersion:this.options.productVersion,regionName:this.options.regionName,collectionApiUrls:this.options.collectionApiUrls,collectionApiClientId:this.options.collectionApiClientId,getUser:()=>this.getCurrentUser(),shouldLog:ie.shouldLog,formatData:ie.formatData})}async getCurrentUser(){return{id:this.options.userId,customerId:this.options.customerId,sessionId:this.options.authSessionId}}getActionContext(){return{entity:this.getEntityType(),location:this.getLocationContext(),productArea:void 0,descriptor:this.options.isEmbedded?ne.Embedded:void 0,workflowPhase:void 0}}getEntityType(){switch(this.options.mediaType){case`MasterVideo`:return D.Video;case`MasterInteractive`:return D.Interactive;case`MasterClip`:return D.Clip}}getLocationContext(){switch(this.options.playerType){case`player`:return O.Player;case`interactive-player`:return O.InteractivePlayer;case`create-clip-player`:return O.CreateClipPlayer}}getPlayerMetrics(){let e=this.options.player,t=e.qualityManager?.()?.getActive();return{mode:lg(e),width:e.currentWidth(),height:e.currentHeight(),quality:t?.quality?.toString(),qualityLabel:t?.displayName,preset:t?.preset,tech:e.techName_,playbackType:e.currentType?.()===`application/dash+xml`?`dash`:`progressive`,videoCodec:ug(e),audioBitrate:og(e),audioCodec:sg(e)}}},pg=e(t(((e,t)=>{function n(e){if(e&&typeof e==`object`){var t=e.which||e.keyCode||e.charCode;t&&(e=t)}if(typeof e==`number`)return o[e];var n=String(e),a=r[n.toLowerCase()];if(a)return a;var a=i[n.toLowerCase()];if(a)return a;if(n.length===1)return n.charCodeAt(0)}n.isEventKey=function(e,t){if(e&&typeof e==`object`){var n=e.which||e.keyCode||e.charCode;if(n==null)return!1;if(typeof t==`string`){var a=r[t.toLowerCase()];if(a)return a===n;var a=i[t.toLowerCase()];if(a)return a===n}else if(typeof t==`number`)return t===n;return!1}},e=t.exports=n;var r=e.code=e.codes={backspace:8,tab:9,enter:13,shift:16,ctrl:17,alt:18,"pause/break":19,"caps lock":20,esc:27,space:32,"page up":33,"page down":34,end:35,home:36,left:37,up:38,right:39,down:40,insert:45,delete:46,command:91,"left command":91,"right command":93,"numpad *":106,"numpad +":107,"numpad -":109,"numpad .":110,"numpad /":111,"num lock":144,"scroll lock":145,"my computer":182,"my calculator":183,";":186,"=":187,",":188,"-":189,".":190,"/":191,"`":192,"[":219,"\\":220,"]":221,"'":222},i=e.aliases={windows:91,"⇧":16,"⌥":18,"⌃":17,"⌘":91,ctl:17,control:17,option:18,pause:19,break:19,caps:20,return:13,escape:27,spc:32,spacebar:32,pgup:33,pgdn:34,ins:45,del:46,cmd:91};for(a=97;a<123;a++)r[String.fromCharCode(a)]=a-32;for(var a=48;a<58;a++)r[a-48]=a;for(a=1;a<13;a++)r[`f`+a]=a+111;for(a=0;a<10;a++)r[`numpad `+a]=a+96;var o=e.names=e.title={};for(a in r)o[r[a]]=a;for(var s in i)r[s]=i[s]}))());function mg(e){document[e.fsApi_.fullscreenEnabled]&&(e.isFullscreen()?e.exitFullscreen():e.requestFullscreen())}function hg(e){let t=e.theatreModePlugin().getTheatreMode();e.theatreModePlugin().toggleTheatreMode(!t,{shouldLog:!0})}function gg(e){let t=e.volume(),n=e.lastVolume_();if(t===0){let t=n<.1?.1:n;e.volume(t),e.muted(!1)}else e.muted(!e.muted())}function _g(e){e.paused()?e.play():e.pause()}function vg(e,t){e.currentTime(e.currentTime()+t)}function yg(e,t){t>0&&e.muted()&&e.muted(!1),e.volume(e.volume()+t)}function bg(e){let t=e.target;return t.tagName.toLowerCase()===`video`||!![`video-js`,`vjs-tech`].find(e=>t.classList.contains(e))}var xg={f:mg,m:gg,k:_g,space:_g,t:hg,left:e=>vg(e,-5),right:e=>vg(e,5),j:e=>vg(e,-10),l:e=>vg(e,10),up:e=>yg(e,.05),down:e=>yg(e,-.05)};function Sg(e,t,n){if(e.ctrlKey||e.metaKey||e.altKey)return;let r=(0,pg.default)(e),i=[`up`,`down`].includes(r);if(i&&!e.shiftKey||!i&&e.shiftKey||r===`t`&&!n.allowTheatreMode||r===`f`&&!n.allowFullscreen||!xg[r])return;xg[r](t,e);let a=bg(e),o=[`space`].includes(r);(a||o)&&(e.preventDefault(),e.stopPropagation())}var Cg=function(e){return e.PhysicallyChapteredVideo=`physically-chaptered-video`,e}({}),wg={name:`@clickview/player`,version:`1.54.0-rc.1`,description:`ClickView Player`,main:`dist/player-app.js`,type:`module`,scripts:{"type-check":`tsc --noEmit`,"build-app":`node ../../../node_modules/vite/bin/vite.js build --config vite.config.app.ts`,"build-styles":`node ../../../node_modules/vite/bin/vite.js build --config vite.config.styles.ts`,build:`npm run type-check && npm run build-player && npm run build-interactive-player`,"build-player":`node ../../../node_modules/vite/bin/vite.js build --config vite.player.config.ts`,"build-interactive-player":`node ../../../node_modules/vite/bin/vite.js build --config vite.interactive-player.config.ts`,"build-font":`cross-env NODE_ENV=development npm run start`,test:`jest`,"test-watch":`jest --watch`,"test-harness":`npm run build && node ../../../node_modules/vite/bin/vite.js --config vite.test-harness.config.ts`},repository:{type:`git`,url:`https://gitlab.cvinternal.net/front-end/clickview`},author:`Matt Trengrove, Cameron Hill, Shale Kuzmanovski`,license:`ISC`,devDependencies:{"@clickview/player-font":`0.0.17`,"@types/chromecast-caf-sender":`1.0.3`,"@types/cropperjs":`1.3.0`,"@types/draft-js":`0.10.44`,"@types/node-polyglot":`0.4.34`,"@types/react-draft-wysiwyg":`1.13.1`,"@types/signalr-no-jquery":`0.1.3`,"@types/simplebar":`5.1.1`,"@types/video.js":`7.3.58`,jest:`29.6.4`,"ts-jest":`29.1.1`,"vite-plugin-mkcert":`1.17.12`},dependencies:{"@microsoft/signalr":`5.0.2`,"@types/react-canvas-draw":`1.2.1`,cropperjs:`1.5.6`,"draft-convert":`2.1.10`,"draft-js":`0.11.7`,keycode:`2.2.0`,"node-polyglot":`2.3.0`,"react-canvas-draw":`1.2.1`,"react-draft-wysiwyg":`1.15.0`,"react-textarea-autosize":`8.3.2`,"signalr-no-jquery":`0.2.0`,simplebar:`5.3.0`,"simplebar-react":`2.3.0`,"video.js":`8.20.0`}},Tg=class{constructor(e){this.controller=null,this.logger=Z.log.createLogger(`quality`),this.player=e}setController(e){this.controller?.dispose(),this.controller=e,this.notifyLevelsChanged(),e?.getSelected()&&this.notifyQualityChanged(`system`)}getController(){return this.controller}getLevels(){return this.controller?.getLevels()??[]}getSelected(){return this.controller?.getSelected()??null}getActive(){return this.controller?.getActive()??null}select(e,t){this.controller?.select(e,t)}selectPreferred(e){let t=Yh(this.getLevels(),e);t&&this.select(t.id)}selectLowest(){let e=this.getLevels(),t=e[e.length-1];t&&this.select(t.id)}supportsAuto(){return this.controller?.supportsAuto()??!1}isAuto(){return this.controller?.isAuto()??!1}selectAuto(e){this.controller?.selectAuto(e)}notifyLevelsChanged(){let e=this.getLevels();this.logger.debug(`Levels changed: ${e.map(e=>e.displayName).join(`, `)||`none`}`),this.player.trigger(`quality-levels-changed`),this.player.trigger(`cv-updatecog`),this.player.trigger(`resizemenus`)}notifyQualityChanged(e){let t=this.getSelected();this.logger.debug(`Quality changed to ${t?.displayName??`none`} (origin: ${e})`),this.player.trigger(`quality-changed`,{origin:e}),this.player.trigger(`cv-quality-change`,t?.id)}dispose(){this.controller?.dispose(),this.controller=null}},Eg=new WeakMap;function Dg(){let e=Eg.get(this);if(e)return e;let t=new Tg(this);return Eg.set(this,t),this.one(`dispose`,()=>{t.dispose(),Eg.delete(this)}),t}Z.registerPlugin(`qualityManager`,Dg);var Og={SMALL:450,MEDIUM:650},kg=Z.getPlugin(`plugin`),Ag=class extends kg{constructor(e,t){super(e),this.options=t,this.configureMenuDimensions=this.configureMenuDimensions.bind(this),this.initialize()}initialize(){this.player.ready(this.configureMenuDimensions),this.player.one(`play`,this.configureMenuDimensions),this.player.on(`resize`,this.configureMenuDimensions),this.player.on(`fullscreenchange`,this.configureMenuDimensions),this.player.on(`resizemenus`,this.configureMenuDimensions),this.player.on(`ready`,this.configureMenuDimensions)}dispose(){this.player.off(`resize`,this.configureMenuDimensions),this.player.off(`fullscreenchange`,this.configureMenuDimensions),this.player.off(`resizemenus`,this.configureMenuDimensions),this.player.off(`ready`,this.configureMenuDimensions),super.dispose()}configureMenuDimensions(){let e=e=>{if(this.options.mobile)return;let t=this.player.getChild(`collapserator`),n=t.getChild(`volumePanel`),r=t.children_.indexOf(n);t.removeChild(n),t.addChild(`volumePanel`,{inline:e,playerOptions:this.player.options_.playerOptions},r),this.player.trigger(`volumechange`)},t=this.player.isFullscreen();if(t&&!this.options.mobile){let t=this.player.whiteboardModePlugin().side;if(e(t!==`top`),t===`left`||t===`right`||t===`top`){let e=this.player.currentWidth();this.player.el().querySelectorAll(`.vjs-menu`).forEach(t=>{t.style.paddingTop=null,t.style.marginBottom=null,t.style.width=`calc(${e}px - 4em)`});return}}t||e(!0);let n=this.player.currentWidth(),r=this.player.currentHeight()/n*100,i=this.player.el().querySelector(`.cv-collapsorator`),a=this.player.el().querySelectorAll(`.vjs-menu`),o=i&&i.offsetHeight;if(!o){this.player.one(`play`,this.configureMenuDimensions);return}this.options.seekBarName===`CreateClipSeekBar`&&(o+=22),!(!a||!a.length)&&a.forEach(e=>{!t&&this.options.overflowControls?e.style.paddingTop=`80%`:e.style.paddingTop=`calc(${r}% - ${o}px)`,e.style.marginBottom=`${o}px`,e.style.width=null,e.querySelector(`.vjs-menu-content`)&&(n<=Og.SMALL?this.player.addClass(`cv-player-small`):this.player.removeClass(`cv-player-small`))})}};Z.registerPlugin(`configureMenuDimensionsPlugin`,Ag);var jg=Z.getPlugin(`plugin`),Mg=`cvplayer-volume`,Ng=`cvplayer-mute`,Pg=class extends jg{constructor(e){super(e),this.enabled=!0,this.player.ready(()=>this.initialize())}initialize(){if(this.player.options_.mobile){this.removeVolumeControl();return}P.hasLocalStorage()&&(this.saveVolumeState=this.saveVolumeState.bind(this),this.player.on(`volumechange`,this.saveVolumeState),this.applyUserPreferences())}applyUserPreferences(){let e=P.get(Mg),t=P.get(Ng);e&&this.player.volume(+e),t&&this.player.muted(t===`true`)}saveVolumeState(){this.enabled&&(P.set(Mg,this.player.volume().toString()),P.set(Ng,this.player.muted().toString()))}removeVolumeControl(){this.player.volume(1);let e=this.player.getChild(`collapserator`),t=e.getChild(`volumePanel`);e.removeChild(t)}enable(){this.enabled=!0}disable(){this.enabled=!1}dispose(){this.player.off(`volumechange`,this.saveVolumeState),super.dispose()}};Z.registerPlugin(`persistVolumePlugin`,Pg);var Fg=Z.getPlugin(`plugin`),Ig=`cvplayer-playback-rate`,Lg=class extends Fg{constructor(e,t){super(e),this.options=t,this.player.dataLoaded(()=>this.initialize())}initialize(){if(!P.hasLocalStorage())return;this.savePlaybackRate=this.savePlaybackRate.bind(this),this.player.on(`ratechange`,this.savePlaybackRate),this.one(`dispose`,()=>{this.player.off(`ratechange`,this.savePlaybackRate)});let e=+P.get(Ig);this.player.playbackRates()?.some(t=>t===e)&&this.player.playbackRate(e)}savePlaybackRate(){let e=this.player.playbackRate().toString();this.setDefaultPlaybackRate(+e),P.set(Ig,e),this.options.analyticsService?.logUserAction({rate:e},{actionType:k.Select,workflowPhase:T.Complete,descriptor:C.ChangeSpeed,entity:D.PlaybackSpeed,eventVersion:E.V3})}setDefaultPlaybackRate(e){this.player.defaultPlaybackRate(e)}setPlaybackRateWithoutPersisting(e){this.player.off(`ratechange`,this.savePlaybackRate),this.player.playbackRate(e),this.setDefaultPlaybackRate(e),this.player.on(`ratechange`,this.savePlaybackRate)}};Z.registerPlugin(`persistPlaybackRatePlugin`,Lg);var Rg=Z.getPlugin(`plugin`),zg=class extends Rg{constructor(e){super(e),this.fullscreenBecauseOfRotate=!1,this.player.supportsFullScreen()&&(this.onRotate=this.onRotate.bind(this),this.onFullscreenChange=this.onFullscreenChange.bind(this),this.player.ready(()=>this.initialize()))}initialize(){this.player.on(`fullscreenchange`,this.onFullscreenChange),window.addEventListener(`orientationchange`,this.onRotate)}dispose(){this.player.off(`fullscreenchange`,this.onFullscreenChange),window.removeEventListener(`orientationchange`,this.onRotate)}onFullscreenChange(){this.player.isFullscreen()||(this.fullscreenBecauseOfRotate=!1)}onRotate(){let e=this.getAngle();if(e!==90&&e!==-90&&e!==270){this.fullscreenBecauseOfRotate&&this.player.isFullscreen()&&this.player.exitFullscreen();return}this.player.requestFullscreen(),this.fullscreenBecauseOfRotate=!0}getAngle(){return typeof window.screen?.orientation?.angle==`number`?window.screen.orientation.angle:0}};Z.registerPlugin(`fullscreenOnRotatePlugin`,zg);var Bg=`
226
226
  <svg viewBox="0 0 2420 383">
227
227
  <title>ClickView Logo</title>
228
228
  <path fill="#f8981d" d="M317.302 140.594c38.928 22.475 38.928 78.663 0 101.137L87.93 374.159c-51.737 29.87-109.635-28.028-79.764-79.765l42.745-74.035a58.39 58.39 0 0 0 0-58.392L8.165 87.929C-21.705 36.193 36.193-21.705 87.93 8.165z"/>
@@ -256,4 +256,4 @@ ${fp(e)}`),t.map&&!t.map.bytes&&(this.logger_(`going to request init segment.`),
256
256
  <path d="M268.06 2.91764L254.192 14.8403L262.401 17.4661L258.324 27.0679L272.192 15.1453L263.983 12.5194L268.06 2.91764Z" stroke="white" stroke-linecap="round" stroke-linejoin="round"/>
257
257
  </svg>
258
258
  `})}};Z.registerComponent(`ErrorDisplay`,Ib);var Lb=Z.getComponent(`FullscreenToggle`),Rb=`Fullscreen (f)`,zb=class extends Lb{handleFullscreenChange(){Lb.prototype.handleFullscreenChange.call(this),this.controlText(Rb)}};Z.registerComponent(`FullscreenToggle`,zb),zb.prototype.controlText_=Rb;var Bb=Z.getComponent(`MuteToggle`),Vb=`Mute (m)`,Hb=`Unmute (m)`,Ub=class extends Bb{updateControlText_(){let e=this.player_.muted()||this.player_.volume()===0?Hb:Vb;this.controlText_!==e&&this.controlText(e)}};Z.registerComponent(`MuteToggle`,Ub),Ub.prototype.controlText_=Vb;var Wb=Z.getComponent(`Player`),Gb=e=>e.indexOf(`#`)===0?e.slice(1):e,Kb=3,qb,Jb=class e{static{this.options_={viewKey:null,controls:!0,playbackRates:[.25,.5,.75,1,1.25,1.5,1.75,2],playerApi:new URL(`http://localhost:52000`),enableLocalCache:!0,eventLogging:!0,allowFullscreen:!0}}constructor(t,n){if(this.streamLogged=!1,this.options=Z.obj.merge({},e.options_,n),this.options.playerApi===null)throw Error(`PlayerApi required`);this.initialize(),this.createEl(t),this.buildVideoJs(),this.options.splash&&this.setupSplash(this.options.splash),this.bindEventListeners(),this.setupSeekBar(),this.fetchConfig(),this.logStream=this.logStream.bind(this),this.player.ready(()=>{this._configurePlugins(),this.options.setup&&this.options.setup(this.options,this.player),this.fetch().catch(e=>this.handleFetchError(e))})}initialize(){}_configurePlugins(){this.player.configureMenuDimensionsPlugin({mobile:this.options.mobile,overflowControls:this.options.overflowControls,seekBarName:this.getSeekBarName()}),this.player.progressReporterPlugin({onFlush:this.onFlushProgress=this.onFlushProgress.bind(this)}),this.player.persistVolumePlugin(),!this.options.mobile&&this.options.allowFullscreen&&this.player.fullscreenOnRotatePlugin(),this.player.touchControls(),this.player.playerModePlugin({defaultDisplayMode:this.options.nextDefaultDisplayMode,startTime:this.options.startTime}),this.options.getExternalLink&&this.player.openExternallyPlugin({getExternalLink:this.options.getExternalLink}),this.player.oldVersionRefreshPlugin?.(),this.configurePlugins()}configurePlugins(){}onFlushProgress(e,t){let n=this.player.playerModePlugin().isHovering();this.analyticsService?.logVideoProgress(e,t,n)}buildVideoJs(){return this.player=Z(this.el,this.getPlayerOptions())}getInactivityTimeout(){if(typeof this.options.inactivityTimeout==`number`)return this.options.inactivityTimeout;let e=500;return(this.options.mobile||Z.browser.IS_IOS||Z.browser.IS_ANDROID)&&(e=3e3),e}getFluid(){return!(this.options.theatreMode||this.options.embed||this.options.mobile)}getFill(){return!!(this.options.theatreMode||this.options.embed||this.options.mobile)}getPlayerOptions(){let e=Wb.prototype.options_.children;return e=e.filter(e=>!(e===`bigPlayButton`||e===`posterImage`)),{controls:this.options.controls,fluid:this.getFluid(),fill:this.getFill(),inactivityTimeout:this.getInactivityTimeout(),controlBar:{children:[`timeWrapper`,`progressControl`]},children:[...e,{name:`collapserator`,children:Ph.filter(e=>!(e===`fullscreenToggle`&&!this.options.allowFullscreen||e===`playbackRateMenuButton`&&!this.options.playbackRates?.length))},`playPauseFeedback`,`controlBarGradient`],userActions:{hotkeys:e=>Sg(e,this.player,this.options)},playbackRates:this.options.playbackRates,techOrder:[`html5`],html5:{nativeTextTracks:!1},playsinline:!0,aspectRatio:this.options.aspectRatio,mobile:this.options.mobile,allowTheatreMode:this.options.allowTheatreMode,deferMenus:this.options.deferMenus,muted:this.options.muted,devicesConfig:this.options.devicesConfig}}async getPlaybackObject(){if(this.options.offlinePlaybackObject)return this.options.offlinePlaybackObject;let e=this.options.fetch;if(this.options.fetch===void 0&&(e=e=>{let t=`${this.options.playerApi.origin}/api/playback?viewKey=${e}`;return ze.get(t)}),!this.options.viewKey)throw Error(`Please specify a viewKey or a fetch function`);let t=await e(this.options.viewKey);if(!t)throw Error(`Error fetching playback object`);return t}setChaptersInternal(e,t){let n=hh.getTrack(this.player,`chapters`,null);n||=this.player.addTextTrack(`chapters`),[...n.cues.cues_].forEach(e=>n.removeCue(e)),e.forEach(e=>{n.addCue({startTime:e.timestamp,endTime:e.endTimestamp,text:e.name})}),t&&n.trigger({type:`cv:cuechange`,target:n}),n.trigger({type:`loadeddata`,target:n})}setChapters(e){this.setChaptersInternal(e,!0)}setPlayerMode(e,t,n){this.player.playerModePlugin().setPlayerMode(e,t,n)}getPlayerMode(){return this.player.playerModePlugin().getMode()}setFavourite(e,t){this.player.favouritePlugin().setFavourite(e,t)}async fetch(){let e=await this.getPlaybackObject();if(this.isDisposed())return;let t=e.mediaType===`MasterClip`,n=e.additionalData?.clipData;e.chapters?.list?.length>0&&!t&&!n&&this.setChaptersInternal(e.chapters.list,!1),this.player.localCache({localCacheAddresses:e.localCacheAddresses??[],enabled:this.options.enableLocalCache??!0}),this.player.mediaSources({files:e.files,viewKey:this.options.viewKey,settings:e.settings}),this.player.handleNetworkErrors({playerApi:this.options.playerApi,fileToken:e.files.fileToken}),e.subtitles.list.length>0&&e.subtitles.list.forEach(e=>{if(e.mimeType!==`text/vtt`)return;let t=this.player.addRemoteTextTrack({kind:`subtitles`,src:e.url,language:e.language,label:e.label},!0);if(hh.sanitizeTrack(t.track,this.player),this.options.allowTranscript){let t=this.player.addRemoteTextTrack({kind:`metadata`,src:e.url+(e.url.includes(`?`)?`&`:`?`)+`fullSentences=true`,language:e.language,label:`transcript`},!0);t.track.isClickViewProduced=e.isClickViewProduced,hh.sanitizeTrack(t.track,this.player)}}),e.posterUrl&&this.player.poster(le.createUrl(e.posterUrl,{size:ce.Large})),this.setupSplash({title:e.title,posterUrl:e.posterUrl,episodeNumber:e.episodeNumber,ratingCode:e.ratingCode,seasonNumber:e.seasonNumber,seriesName:e.seriesName}),this.additionalSetup(e),this.handleAutoplay(e),this.options.startTime&&(this.player.currentTime(this.options.startTime),this.player.one(`canplay`,()=>{this.player.currentTime(this.options.startTime)})),this.player.trigger(`cv-playback-data-loaded`,e)}handleFetchError(e){let t=e.message;e instanceof Re&&e.response?.type===Cg.PhysicallyChapteredVideo&&(t=`Video cannot be played because it is either corrupt or damaged.`),this.player.error(t),this.options.onError&&this.options.onError(e)}async fetchConfig(){if(qb||this.options.fetch||this.options.offlinePlaybackObject)return;let e=`${this.options.playerApi.origin}/api/config`;qb=await ze.get(e),!this.isDisposed()&&this.trigger(`config:loaded`)}additionalSetup(e){this.player.whiteboardModePlugin(),this.player.deferMenusPlugin();let t=this.options.enableLocalCache&&!!e.localCacheAddresses?.length;qb?this.setupAnalyticsService(e,t):this.one(`config:loaded`,()=>this.setupAnalyticsService(e,t)),this.analyticsService||!this.isAnalyticsEnabled()?this.setupAnalyticsDependentPlugins(e):this.one(`analytics:loaded`,()=>this.setupAnalyticsDependentPlugins(e))}setupAnalyticsService(e,t){this.options.eventLogging&&(this.analyticsService=new fg({player:this.player,collectionApiUrls:qb.collectionApi.urls,collectionApiClientId:qb.collectionApi.clientId,productVersion:wg.version,authSessionId:e.viewerAuthSessionId,videoId:e.videoId,mediaId:e.mediaId,userId:e.viewerId,shareId:e.shareId,customerId:e.viewerCustomerId,mediaType:e.mediaType,playerType:this.getAnalyticsPlayerType(),isEmbedded:this.options.embed,isUsingLocalCache:t,additionalAnalyticsData:this.getAdditionalAnalyticsData(e),regionName:e.instanceRegion||this.options.sharerInstanceRegion||oe.CvApSoutheast1}),this.on(`timeupdate`,this.logStream),this.trigger(`analytics:loaded`))}setupAnalyticsDependentPlugins(e){this.player.persistSubtitleSettingsPlugin({showSubtitles:e.settings?.showSubtitles,subtitleSize:e.settings?.playbackSubtitleSizeDefault,analyticsService:this.analyticsService}),this.player.persistQualitySettingsPlugin({playbackQuality:e.settings?.playbackQuality,playbackQualityLocalCache:e.settings?.playbackQualityLocalCache,playbackQualityFallback:e.settings?.playbackQualityFallback,analyticsService:this.analyticsService}),this.player.persistPlaybackRatePlugin({analyticsService:this.analyticsService})}getAdditionalAnalyticsData(e){return{}}isAnalyticsEnabled(){return this.options.fetch||this.options.offlinePlaybackObject?!1:this.options.eventLogging}handleAutoplay(e){this.options.autoplay&&this.player.ready(()=>{this.player.play().catch(()=>{this.isDisposed()||this.showSplash()})})}logStream(){this.analyticsService&&(this.player.currentTime()<Kb||this.streamLogged||this.player.playerModePlugin().getMode()!==Wh.Hover&&(this.analyticsService.logStream(),this.streamLogged=!0,this.off(`timeupdate`,this.logStream)))}getAnalyticsPlayerType(){return`player`}createEl(e){let t;typeof e==`string`?(e=Gb(e),t=Z.dom.$(`#`+e)):t=e;let n=`video-js`;return this.getPlayerClassName()&&(n+=` ${this.getPlayerClassName()}`),this.el=Z.dom.createEl(`video`,{},{class:n}),t.appendChild(this.el),this.el}getPlayerClassName(){return``}on(e,t){this.player.on(e,t)}one(e,t){this.player.one(e,t)}off(e,t){this.player.off(e,t)}trigger(e,t){return this.player.trigger(e,t)}dispose(){this.player.dispose()}ready(e){this.player.ready(e)}isDisposed(){return this.player.isDisposed()}play(){this.player.play()}pause(){this.player.pause()}isPaused(){return this.player.paused()}currentTime(e){return this.player.currentTime(e)}muted(e){return this.player.muted(e)}duration(){return this.player.duration()}isFullscreen(){return this.player.isFullscreen()}requestFullscreen(){this.player.requestFullscreen()}exitFullscreen(){this.player.exitFullscreen()}playbackRate(e){return this.player.playbackRate(e)}quality(e){let t=this.player.qualityManager();if(e===`auto`){t.selectAuto();return}if(e){t.select(e.toString());return}return t.getSelected()?.id}subtitles(e){let t=this.player.textTracks();for(let n=0;n<t.length;n++){let r=t[n];if(r.kind===`subtitles`){if(e!==void 0){r.label===e?r.mode=`showing`:r.mode=`disabled`;continue}if(r.mode===`showing`)return r.label}}}bindEventListeners(){let e=e=>e.preventDefault();if(this.showSplash=this.showSplash.bind(this),this.hideSplash=this.hideSplash.bind(this),this.player.on(`ended`,this.showSplash),this.player.on(`play`,this.hideSplash),this.player.tech(!0).on(`contextmenu`,e),this.player.one(`dispose`,()=>{this.off(`ended`,this.showSplash),this.off(`play`,this.hideSplash),this.player.tech(!0).off(`contextmenu`,e)}),!this.options.hotkeyElQuerySelector)return;let t=Z.dom.$(this.options.hotkeyElQuerySelector);t&&(this.player.on(t,`keydown`,this.player.handleKeyDown),this.player.one(`dispose`,()=>{this.player.off(t,`keydown`,this.player.handleKeyDown)}))}setupSeekBar(){let e=this.getSeekBarName(),t=this.player.controlBar.getChild(`progressControl`);t.addChild(e,{...this.getSeekBarOptions(),playerOptions:this.player.options_.playerOptions}),t.setSeekBarName(e)}setupSplash(e){this._splashAdded||(this._splashAdded=!0,this.player.addChild(`posterImage`,{embed:this.options.embed,...e}),this.player.addChild(`bigPlayButton`),this.options.autoplay?this.hideSplash():this.showSplash())}showSplash(){this.player.hasStarted(!1),this.player.getChild(`posterImage`).show(),this.player.getChild(`bigPlayButton`).show()}hideSplash(){this.player.getChild(`posterImage`).hide(),this.player.getChild(`bigPlayButton`).hide()}getSeekBarOptions(){return{}}getSeekBarName(){return`ChapterSeekBar`}};export{ty as a,r_ as c,_h as d,hh as f,ze as h,ly as i,ig as l,Z as m,Uy as n,jv as o,ih as p,uy as r,kv as s,Jb as t,vh as u};
259
- //# sourceMappingURL=CoUj6M-_.chunk.js.map
259
+ //# sourceMappingURL=CKGiikBV.chunk.js.map