@clickview/lite 0.48.0-rc.2 → 0.48.0-rc.3

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 (79) hide show
  1. package/dist/bundles.json +1 -1
  2. package/dist/languages/en.json +1 -1
  3. package/dist/scripts/{1197-52bedf8583-lite.chunk.js → 1197-bc02ba8644-lite.chunk.js} +2 -2
  4. package/dist/scripts/1197-bc02ba8644-lite.chunk.js.map +1 -0
  5. package/dist/scripts/{1285-e93a3f21ba-lite.chunk.js → 1285-746158eef6-lite.chunk.js} +2 -2
  6. package/dist/scripts/{1285-e93a3f21ba-lite.chunk.js.map → 1285-746158eef6-lite.chunk.js.map} +1 -1
  7. package/dist/scripts/1628-3104bf944c-lite.chunk.js +2 -0
  8. package/dist/scripts/1628-3104bf944c-lite.chunk.js.map +1 -0
  9. package/dist/scripts/{170-f48bfc1128-lite.chunk.js → 170-bf0dd6b8ae-lite.chunk.js} +3 -3
  10. package/dist/scripts/170-bf0dd6b8ae-lite.chunk.js.map +1 -0
  11. package/dist/scripts/227-c82ab0d861-lite.chunk.js +2 -0
  12. package/dist/scripts/227-c82ab0d861-lite.chunk.js.map +1 -0
  13. package/dist/scripts/{2469-c504f7a87d-lite.chunk.js → 2469-34d8afaeb3-lite.chunk.js} +2 -2
  14. package/dist/scripts/{2469-c504f7a87d-lite.chunk.js.map → 2469-34d8afaeb3-lite.chunk.js.map} +1 -1
  15. package/dist/scripts/{2679-6c0646cc30-lite.chunk.js → 2679-269830f57c-lite.chunk.js} +2 -2
  16. package/dist/scripts/2679-269830f57c-lite.chunk.js.map +1 -0
  17. package/dist/scripts/{2734-a792d5393b-lite.chunk.js → 2734-9533718178-lite.chunk.js} +2 -2
  18. package/dist/scripts/2734-9533718178-lite.chunk.js.map +1 -0
  19. package/dist/scripts/{2851-e79b075ea9-lite.chunk.js → 2851-c0655d1a1d-lite.chunk.js} +2 -2
  20. package/dist/scripts/2851-c0655d1a1d-lite.chunk.js.map +1 -0
  21. package/dist/scripts/{3157-327cefda57-lite.chunk.js → 3157-730ff8b0ce-lite.chunk.js} +2 -2
  22. package/dist/scripts/3157-730ff8b0ce-lite.chunk.js.map +1 -0
  23. package/dist/scripts/{3158-7cff145fc4-lite.chunk.js → 3158-fbc814c471-lite.chunk.js} +2 -2
  24. package/dist/scripts/3158-fbc814c471-lite.chunk.js.map +1 -0
  25. package/dist/scripts/{5442-eecab1d715-lite.chunk.js → 5442-2326dc9418-lite.chunk.js} +2 -2
  26. package/dist/scripts/{5442-eecab1d715-lite.chunk.js.map → 5442-2326dc9418-lite.chunk.js.map} +1 -1
  27. package/dist/scripts/{5591-a4850980ea-lite.chunk.js → 5591-90c4fa0949-lite.chunk.js} +2 -2
  28. package/dist/scripts/5591-90c4fa0949-lite.chunk.js.map +1 -0
  29. package/dist/scripts/{5940-3ddc297b7a-lite.chunk.js → 5940-634de60f9b-lite.chunk.js} +2 -2
  30. package/dist/scripts/5940-634de60f9b-lite.chunk.js.map +1 -0
  31. package/dist/scripts/{6274-7d4c6ba241-lite.chunk.js → 6274-473fcd2e63-lite.chunk.js} +2 -2
  32. package/dist/scripts/{6274-7d4c6ba241-lite.chunk.js.map → 6274-473fcd2e63-lite.chunk.js.map} +1 -1
  33. package/dist/scripts/{7172-2d87ce76a3-lite.chunk.js → 7172-960e49b199-lite.chunk.js} +2 -2
  34. package/dist/scripts/7172-960e49b199-lite.chunk.js.map +1 -0
  35. package/dist/scripts/7180-79ada17b34-lite.chunk.js +2 -0
  36. package/dist/scripts/7180-79ada17b34-lite.chunk.js.map +1 -0
  37. package/dist/scripts/{7301-44362a7b42-lite.chunk.js → 7301-50cf0faef7-lite.chunk.js} +2 -2
  38. package/dist/scripts/{7301-44362a7b42-lite.chunk.js.map → 7301-50cf0faef7-lite.chunk.js.map} +1 -1
  39. package/dist/scripts/{7915-afd2304b08-lite.chunk.js → 7915-44db39c137-lite.chunk.js} +2 -2
  40. package/dist/scripts/7915-44db39c137-lite.chunk.js.map +1 -0
  41. package/dist/scripts/{8025-d7a573aca0-lite.chunk.js → 8025-24e45dc3b7-lite.chunk.js} +2 -2
  42. package/dist/scripts/8025-24e45dc3b7-lite.chunk.js.map +1 -0
  43. package/dist/scripts/{8258-6c86ad1fa4-lite.chunk.js → 8258-02d619de75-lite.chunk.js} +2 -2
  44. package/dist/scripts/{8258-6c86ad1fa4-lite.chunk.js.map → 8258-02d619de75-lite.chunk.js.map} +1 -1
  45. package/dist/scripts/8906-0821b0babe-lite.chunk.js +3 -0
  46. package/dist/scripts/8906-0821b0babe-lite.chunk.js.map +1 -0
  47. package/dist/scripts/{9212-d73ddd1ae6-lite.chunk.js → 9212-445b6499cb-lite.chunk.js} +2 -2
  48. package/dist/scripts/9212-445b6499cb-lite.chunk.js.map +1 -0
  49. package/dist/scripts/{9557-580fd7d743-lite.chunk.js → 9557-1ba0323e44-lite.chunk.js} +2 -2
  50. package/dist/scripts/{9557-580fd7d743-lite.chunk.js.map → 9557-1ba0323e44-lite.chunk.js.map} +1 -1
  51. package/dist/scripts/bundle-058c7cee3f.min.js +3 -0
  52. package/dist/scripts/bundle-058c7cee3f.min.js.map +1 -0
  53. package/package.json +1 -1
  54. package/dist/scripts/1197-52bedf8583-lite.chunk.js.map +0 -1
  55. package/dist/scripts/1628-58b55d05b5-lite.chunk.js +0 -2
  56. package/dist/scripts/1628-58b55d05b5-lite.chunk.js.map +0 -1
  57. package/dist/scripts/170-f48bfc1128-lite.chunk.js.map +0 -1
  58. package/dist/scripts/227-fb7b36b41a-lite.chunk.js +0 -2
  59. package/dist/scripts/227-fb7b36b41a-lite.chunk.js.map +0 -1
  60. package/dist/scripts/2679-6c0646cc30-lite.chunk.js.map +0 -1
  61. package/dist/scripts/2734-a792d5393b-lite.chunk.js.map +0 -1
  62. package/dist/scripts/2851-e79b075ea9-lite.chunk.js.map +0 -1
  63. package/dist/scripts/3157-327cefda57-lite.chunk.js.map +0 -1
  64. package/dist/scripts/3158-7cff145fc4-lite.chunk.js.map +0 -1
  65. package/dist/scripts/5591-a4850980ea-lite.chunk.js.map +0 -1
  66. package/dist/scripts/5940-3ddc297b7a-lite.chunk.js.map +0 -1
  67. package/dist/scripts/7172-2d87ce76a3-lite.chunk.js.map +0 -1
  68. package/dist/scripts/7180-b29d70e9d8-lite.chunk.js +0 -2
  69. package/dist/scripts/7180-b29d70e9d8-lite.chunk.js.map +0 -1
  70. package/dist/scripts/7915-afd2304b08-lite.chunk.js.map +0 -1
  71. package/dist/scripts/8025-d7a573aca0-lite.chunk.js.map +0 -1
  72. package/dist/scripts/8906-49532e8ec3-lite.chunk.js +0 -3
  73. package/dist/scripts/8906-49532e8ec3-lite.chunk.js.map +0 -1
  74. package/dist/scripts/9212-d73ddd1ae6-lite.chunk.js.map +0 -1
  75. package/dist/scripts/bundle-0fbdccea0d.min.js +0 -3
  76. package/dist/scripts/bundle-0fbdccea0d.min.js.map +0 -1
  77. /package/dist/scripts/{170-f48bfc1128-lite.chunk.js.LICENSE.txt → 170-bf0dd6b8ae-lite.chunk.js.LICENSE.txt} +0 -0
  78. /package/dist/scripts/{8906-49532e8ec3-lite.chunk.js.LICENSE.txt → 8906-0821b0babe-lite.chunk.js.LICENSE.txt} +0 -0
  79. /package/dist/scripts/{bundle-0fbdccea0d.min.js.LICENSE.txt → bundle-058c7cee3f.min.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[7915],{84963:(e,t,n)=>{n.d(t,{r:()=>u});var a=n(32735),r=n(23481),o=n(83914),i=n(76177),l=n(35223);const c={tag:"XRj8d",tooltip:"X6mLk"};var s="specialEventCalendar.comingSoonTag";function u(e){return a.createElement(i.u,{title:r.T.getPhrase(s,"tooltip"),spanHackClassName:"d-block ".concat(c.tooltip),spanHack:!0},a.createElement("div",{className:"d-flex text-dark align-items-center ".concat(c.tag," ").concat(e.className)},a.createElement(o.x,{svgName:l.vn.Timer}),!e.onlyIcon&&r.T.getPhrase(s,"comingSoon")))}},73679:(e,t,n)=>{n.d(t,{s:()=>i});var a=n(32735),r=n(36848);const o={dateItem:"I3SBm",label:"PRORs",body:"RfiM_",bodyDay:"ZOVny",bodyRange:"vYhXN",bodyMonth:"mYslO",month:"EPkkQ"};function i(e){var t,n,i;return a.createElement(r.F,{appLink:null===(t=e.getAppLink)||void 0===t?void 0:t.call(e),className:"text-decoration-none text-center bg-white text-dark border border-3 ".concat(null===(n=e.theme)||void 0===n?void 0:n.border," rounded-3 d-block fw-semibold ").concat(e.className),analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions},a.createElement("div",{className:"position-relative ".concat(o.dateItem)},a.createElement("div",{className:"".concat(null===(i=e.theme)||void 0===i?void 0:i.background," py-1 ").concat(o.label," d-flex align-items-center justify-content-center")},e.label?e.label:a.createElement(a.Fragment,null," ")),a.createElement("div",{className:"".concat(function(){switch(e.body.type){case"range":return o.bodyRange;case"day":return o.bodyDay;case"month":return o.bodyMonth}}()," ").concat(o.body," my-2")},e.body.text),a.createElement("div",{className:"mb-0 ".concat(o.month)},e.month)))}},89043:(e,t,n)=>{n.d(t,{p:()=>S,v:()=>A});var a=n(32735),r=n(110),o=n(12788),i={renderInPortalIfExists:function(e,t){return t?(0,o.createPortal)(e,t):e}},l=n(84963),c=n(73679),s=n(83657),u=n(23481),d=n(36848),m=n(83914),v=n(35223),f="shared.backButton";function p(e){var t=Object.assign({textShadow:!0},e),n=t.backToName,r=t.appLink,o=t.color,i=t.extraClasses,l=t.textShadow,c=n?u.T.getPhrase(f,"backTo",{backToName:n}):u.T.getPhrase(f,"back"),s="black"===o?"":"text-white",p=l?"text-shadow":"";return a.createElement(d.F,{appLink:r,className:"d-inline-flex align-items-center h5 mb-0 ".concat(i," ").concat(s," ").concat(p)},a.createElement(m.x,{svgName:v.vn.ChevronLeft,size:m.S.Medium}),a.createElement("span",{className:"ms-1"},c))}p.defaultProps={color:"black",extraClasses:""};var g=n(36518),h=n(83345),b=n(10587),y=n(94232),E=n(54610),C=n(79967),N=n(67453);const x={bannerContent:"sSCTB",actionsContainer:"Z5WI2",bannerContentWithLogo:"rgs7Q",container:"M51HJ",logoContainer:"vkeJk",logoContainerLeft:"M3U9B",logoHeading:"EtRwC",specialEventContainer:"rOxDc",headingLarge:"_8pnV",heading:"JXVBH"};var w="".concat(b.y[E.__.Banners].width,":").concat(b.y[E.__.Banners].height);function k(e){return e.length<160?"h1":x.headingLarge}var S=a.memo((function(e){var t,n,o,u,d=e.heading,m=e.banner,v=e.imageCdnUrl,f=e.actions,b=e.sortComponent,S=e.blockColourClass,A=e.specialEvent,F=a.useContext(y.n),O=(0,C.k)().xxl?1920:1200,L=a.useMemo((function(){if(!A||e.showComingSoon)return!1;var t=r.O.format(new Date,"YYYY-MM-DD");return A.endDate?A.startDate<=t&&A.endDate>=t:A.startDate===t}),[A]),I=e.imageOptions||{width:O,ratio:w,resizeType:E.Nq.Cover},P=!!m&&!!v&&N.j.createBannerUrl(m,{fallbackBaseUrl:v,fallbackCategoryName:d,type:E.__.Banners},I),T={className:"banner banner-header ".concat(e.bannerClassName),style:P?{backgroundImage:"url('".concat(P,"')")}:{}};!m&&S&&(delete T.style,T.className+=" ".concat(S));var D=e.detailsComponent;return i.renderInPortalIfExists(a.createElement("header",Object.assign({},T),a.createElement("div",{className:"container ".concat(x.container," position-relative inner-banner")},e.backButtonAppLink&&a.createElement("div",{className:"pt-3"},a.createElement(p,{appLink:e.backButtonAppLink,backToName:e.backButtonText,extraClasses:e.backButtonClasses,color:"white"})),a.createElement("div",{className:"".concat(e.alignLogoLeft?"position-absolute top-50 start-0 translate-middle-y w-100 ps-4":"".concat(x.bannerContent," ").concat((null===(t=e.logo)||void 0===t?void 0:t.url)?x.bannerContentWithLogo:""))},!!A&&a.createElement("div",{className:"position-relative ".concat(x.specialEventContainer)},a.createElement(c.s,{body:{type:A.endDate?"range":"day",text:A.endDate?"".concat(r.O.format(A.startDate,"DD"),"-").concat(r.O.format(A.endDate,"DD")):r.O.format(A.startDate,"DD")},month:r.O.format(A.startDate,"MMMM"),theme:e.calendarTheme})),a.createElement("div",null,L&&a.createElement("div",{className:"rounded-pill py-1 px-2 my-1 me-1 fw-semibold bg-light-blue lh-1 d-inline-block"},a.createElement(h.x,{namespace:"shared.bannerHeader",phrase:"onToday"})),e.showComingSoon&&a.createElement(l.r,{className:"pe-2 fw-semibold mb-1 rounded-pill justify-content-start text-nowrap"}),a.createElement("div",{className:"d-flex align-items-center"},e.alignLogoLeft&&a.createElement("div",{className:"".concat(x.logoContainerLeft," d-none d-md-block partial-loading-background rounded-circle overflow-hidden me-3")},(null===(n=e.logo)||void 0===n?void 0:n.url)&&a.createElement(g.w,{src:N.j.createUrl(null===(o=e.logo)||void 0===o?void 0:o.url,{size:E.h2.Small})})),a.createElement("h1",{className:"text-white text-shadow pe-3 ".concat(x.heading," ").concat(k(d)," ").concat(e.alignLogoLeft?"w-50":"")},d,D&&a.createElement(D,null)))),!!f&&a.createElement("div",{className:x.actionsContainer},a.createElement(s.e,{actions:f,sortComponent:b,actionsDropdownClassName:e.actionsDropdownClassName}))),!e.alignLogoLeft&&!!(null===(u=e.logo)||void 0===u?void 0:u.url)&&a.createElement("div",{className:x.logoContainer},a.createElement("img",{src:N.j.createUrl(e.logo.url,{size:E.h2.Small}),className:"rounded-circle"})))),null==F?void 0:F.container)}),(function(e,t){var n,a;return e.actions===t.actions&&e.heading===t.heading&&(null===(n=e.logo)||void 0===n?void 0:n.url)===(null===(a=t.logo)||void 0===a?void 0:a.url)}));function A(){var e=a.useContext(y.n);return i.renderInPortalIfExists(a.createElement("div",{className:"partial-banner partial-loading-background ".concat(x.banner)}),null==e?void 0:e.container)}},71020:(e,t,n)=>{n.d(t,{_:()=>u});var a=n(32735),r=n(80247),o=n(34152),i=n(83914),l=n(35223);const c={container:"VwD1b",spinner:"eJ85e"};function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}function u(e){var t,n,u=(t=(0,o.YD)(),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,o,i,l=[],c=!0,s=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=o.call(n)).done)&&(l.push(a.value),l.length!==t);c=!0);}catch(e){s=!0,r=e}finally{try{if(!c&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(s)throw r}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return s(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),d=u[0],m=u[1];return a.useEffect((function(){var t;e.fetchOnScroll&&m&&!e.isFetching&&(null===(t=e.fetchNext)||void 0===t||t.call(e,e.nextCursor))}),[m,e.isFetching]),a.createElement("div",{className:"p-3 text-center ".concat(c.container),ref:d},e.isFetching?a.createElement(r.Z,{as:"span",animation:"border",role:"status",className:c.spinner}):a.createElement(i.x,{svgName:l.vn.ChevronDown,className:"svg-container cursor-pointer",size:i.S.Large,onClick:function(){var t;return null===(t=e.fetchNext)||void 0===t?void 0:t.call(e,e.nextCursor)}}))}u.defaultProps={fetchOnScroll:!1}},74696:(e,t,n)=>{n.d(t,{S:()=>s});var a=n(32735),r=n(68050),o=n(69111),i=n(9977),l=n(79967);const c={partialOptions:"Gufgq",partialName:"SicQQ",partialDescription:"dPGMq",partialThumbnail:"vZrnb",partialDragHandle:"iq73R"};function s(e){return a.createElement("div",{className:"mx-2"},Array(e.numVideos).fill(null).map((function(t,n){return a.createElement("div",{className:"d-flex",key:n},e.allowBulkActions&&a.createElement("div",{className:"form-check pe-3 pe-sm-2 mx-0 mx-md-2"}),a.createElement(u,Object.assign({},e)))})))}function u(e){var t=(0,l.k)(),n="sm"===i.O.getSize(t,"md"),s=e.withReordering&&!t.xs;return a.createElement(r.Z,{className:"".concat(n?"":"py-2"," flex-grow-1")},a.createElement(o.Z,Object.assign({},i.O.getThumbnailColumns(),{className:"flex-column align-items-flex-start ".concat(n?"pb-2 pe-1":"mb-1 pe-3 pe-md-2")}),a.createElement(r.Z,null,!!s&&a.createElement("div",{className:"d-flex align-items-center justify-content-center col-2"},a.createElement("div",{className:"partial-loading-background ".concat(c.partialDragHandle)})),a.createElement(o.Z,{xs:i.O.getThumbnailColSize(s)},a.createElement("div",{className:"partial-loading-background ".concat(n?"rounded":"rounded-3"," ").concat(c.partialThumbnail)})))),a.createElement(o.Z,Object.assign({},i.O.getDetailsColumns(),{className:n?"pb-2":"px-2"}),a.createElement("div",{className:"partial-loading-background mb-1 ".concat(c.partialName)}),a.createElement("div",{className:"partial-loading-background ".concat(c.partialDescription)})))}s.defaultProps={numVideos:15}},94644:(e,t,n)=>{n.d(t,{r:()=>u});var a=n(50242),r=n(81886),o=n(67058),i=n(14553),l=n(49267),c=n(49075),s={notFound:o.d,forbidden:{rating:i.q,yearLevel:i.q,region:l.a,privacy:i.q},badRequest:c._};function u(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(e){var o;o="number"==typeof e?e:e.status;var i=Object.assign(Object.assign({},s),t);o&&r.Q.Ry.isStatusCodeError(o)&&(o!==a.o.NotFound?o!==a.o.Forbidden?n.badRequest||r.Q.Ry.throw(new i.badRequest):n.forbidden||r.Q.Ry.throw(new i.forbidden.privacy):n.notFound||r.Q.Ry.throw(new i.notFound))}}},60115:(e,t,n)=>{n.d(t,{K:()=>s});var a=n(32735),r=n(50242),o=n(91967),i=400,l=n(45719);function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}function s(e,t,n,s,u,d){var m,v,f,p,g=(m=(0,a.useState)(0),v=2,function(e){if(Array.isArray(e))return e}(m)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,o,i,l=[],c=!0,s=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=o.call(n)).done)&&(l.push(a.value),l.length!==t);c=!0);}catch(e){s=!0,r=e}finally{try{if(!c&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(s)throw r}}return l}}(m,v)||function(e,t){if(e){if("string"==typeof e)return c(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?c(e,t):void 0}}(m,v)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),h=g[0],b=g[1],y=t,E=(0,l.P)((function(t){if(!e)return null;var n=e(t);return n?n.key:null}),s,u);return f={fetchNextPage:function(){if(t&&e&&E)return b((function(e){return e+1})),y(E.nextCursor)},hasMore:!!(null==E?void 0:E.nextCursor),isFetching:null==E?void 0:E.isFetching,scrollContainer:d},p=function(){if(!f.isFetching){if(f.scrollContainer){var e=f.scrollContainer;if(e.getBoundingClientRect().height+e.scrollTop<e.scrollHeight-i)return}else if(window.innerHeight+document.documentElement.scrollTop<document.documentElement.scrollHeight-i)return;f.fetchNextPage()}},(0,a.useEffect)((function(){var e=o.q.throttle(p,200),t=f.scrollContainer||window;return f.hasMore&&t.addEventListener("scroll",e),function(){return t.removeEventListener("scroll",e)}}),[f.hasMore,f.fetchNextPage,f.scrollContainer]),(0,a.useEffect)((function(){E&&E.shouldInitialFetch&&t&&(y(),b((function(e){return e+1})))}),[null==E?void 0:E.shouldInitialFetch,t]),(0,a.useEffect)((function(){var e,t;if((null==E?void 0:E.statusCode)&&o.q.isFunction(n)){var a=+(null===(t=null===(e=E.statusCode)||void 0===e?void 0:e.toString())||void 0===t?void 0:t.substr(0,1));a!==r.k.ClientError&&a!==r.k.ServerError||n(h,E.statusCode)}}),[null==E?void 0:E.statusCode]),{items:null==E?void 0:E.items,hasMore:!!(null==E?void 0:E.nextCursor),nextCursor:null==E?void 0:E.nextCursor,isFetching:null==E?void 0:E.isFetching,totalItems:null==E?void 0:E.totalItems,hasFirstPageCompleted:null==E?void 0:E.hasFirstPageCompleted}}},44110:(e,t,n)=>{n.d(t,{i:()=>i});var a=n(20354),r=n(89454),o=n(86698),i=function(){var e=(0,o.y)({redirectOnError:!0}).activePresentation;return a.a.useBasicFetch(!!e&&r.O.presentationAudiences(e.id))}},97816:(e,t,n)=>{n.d(t,{V:()=>u});var a=n(32735),r=n(20354),o=n(21750),i=n(31949),l=n(1575);function c(e,t){if(e){if("string"==typeof e)return s(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,t):void 0}}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}function u(e){var t,n,u,d=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},m=r.a.useBasicFetch(i.N.currentUser()),v=a.useRef(new Set),f=e&&(Array.isArray(e)?e.filter(Boolean).map((function(e){return e.id})):e.data.filter(Boolean).map((function(e){return e.id}))),p=(n=a.useState([]),u=2,function(e){if(Array.isArray(e))return e}(n)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,o,i,l=[],c=!0,s=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=o.call(n)).done)&&(l.push(a.value),l.length!==t);c=!0);}catch(e){s=!0,r=e}finally{try{if(!c&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(s)throw r}}return l}}(n,u)||c(n,u)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),g=p[0],h=p[1];a.useEffect((function(){var e;if((null==f?void 0:f.length)&&(null===(e=m.data)||void 0===e?void 0:e.isAuthenticated)){var t=[];f.forEach((function(e){v.current.has(e)||(t.push(e),v.current.add(e))})),t.length&&h((function(e){return[].concat(function(e){return function(e){if(Array.isArray(e))return s(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||c(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(e),[o.x.hasCurriculumLinks(t,null,d.flightNamespace),l.R.videoMixinAssocs(t,d.flightNamespace)])}))}}),[null==f?void 0:f.length,null===(t=m.data)||void 0===t?void 0:t.isAuthenticated]),r.a.useBasicFetchAll(g)}},19530:(e,t,n)=>{n.r(t),n.d(t,{FavouritesView:()=>Q});var a=n(32735),r=n(70680),o=n(23481),i=n(20354),l=n(65858),c=n(89043),s=n(71020),u=n(83345),d=n(74696),m=n(13231),v=n(51365),f=n(16714),p=n(94644),g=n(39151),h=n(1666),b=n(63419),y=n(31949),E=n(69883),C=n(60115),N=n(22902),x=n(79612),w=n(31908),k=n(99742),S=n(27638),A=n(44110),F=n(97816),O=n(10741),L=n(22490),I=n(82431),P=n(23232),T=n(83914),D=n(35223),j=n(14070),B=n(97291),M="shared.favouritesEmptyState",R=o.T.encloseNamespace(M);function V(){return a.createElement(u.D.Provider,{value:M},a.createElement(P.u,null,a.createElement(P.u.Image,{src:k.W.EmptyStates.FAVOURITED_VIDEOS,altText:R("info")}),a.createElement("div",{className:"d-flex mb-2"},a.createElement(P.u.Heading,{className:"h3 mb-0"},a.createElement(u.x,{phrase:"emptyStateHeading1"})),a.createElement("div",{className:"box-shadow rounded-circle p-1 bg-white mx-1"},a.createElement(T.x,{svgName:D.vn.HeartOutline,size:T.S.Small})),a.createElement(P.u.Heading,{className:"h3 mb-0"},a.createElement(u.x,{phrase:"emptyStateHeading2"}))),a.createElement(P.u.Info,null,a.createElement(u.x,{phrase:"info"})),a.createElement(P.u.Cta,{text:o.T.getPhrase(M,"cta"),appLink:{application:B.O.DASHBOARD,action:j.e.Dashboard.HOME}})))}function _(){return a.createElement(u.D.Provider,{value:M},a.createElement(P.u,null,a.createElement(P.u.Image,{src:k.W.EmptyStates.FAVOURITED_VIDEOS_PUBLIC,altText:R("publicInfo")}),a.createElement(P.u.Heading,null,a.createElement(u.x,{phrase:"publicHeading"})),a.createElement(P.u.Info,null,a.createElement(u.x,{phrase:"publicInfo"})),a.createElement(P.u.Cta,{text:o.T.getPhrase(M,"publicCta"),appLink:{application:B.O.SIGN_UP,action:j.e.SignUp.SIGN_UP},analyticsData:{},analyticsOptions:{actionType:l.Vw.Click,location:l.LZ.MyFavouritesLanding,entity:l.py.AppLink,workflowPhase:l.eu.Start,descriptor:l.Yu.SignUp}})))}var U=n(26323),H=n(10671),Z="shared.favourites";const q={banner:"FEWd3"};var z="shared.favourites";function Q(){var e,t,n,P,T=(0,r.I0)(),j=(0,E.Z)(),B=(0,S.u)(l.LZ.VideoThumbnail),M=B.setFavourite,R=B.canFavourite,Q=function(){var e=(0,H._)({location:H.i.VideoItem}),t=(0,S.u)(l.LZ.VideoThumbnail).setFavourite;return Object.assign(Object.assign({},e),{getVideoActions:function(n){return w.M.getCanBeConsumed(n).canConsume?e.getVideoActions(n):[{label:o.T.getPhrase(Z,"removeFromFavourites"),svgName:D.vn.Delete,button:!1,className:"btn btn-link text-danger",onClick:function(){return t(n,!1)}}]}})}();(0,x.M)({title:o.T.getPhrase(z,"pageTitle")});var Y=(0,N.T)(),$=Y.hasLocalPermissions,W=Y.hasPermissions,G=i.a.useBasicFetch(y.N.currentUser()),J=i.a.useBasicFetch((null===(e=G.data)||void 0===e?void 0:e.isAuthenticated)&&h.h.yearGroups(G.data.customerId)),X=i.a.useBasicFetch(g.L.config()),K=function(e){return b.P.getFavourites(G.data.id,e)},ee=function(e){return i.a.getFetch(T)(K(e))},te=!$(f.E.ViewMyFavouritesLanding)&&G.hasCompleted,ne=(0,C.K)(!!te&&K,ee,(function(e,t){if(1===e)return(0,p.r)(t);j.error(o.T.getPhrase(z,"error"))})),ae=ne.items,re=ne.hasMore,oe=ne.isFetching;(0,F.V)(null!==(t=null==ae?void 0:ae.filter(w.M.isVideo))&&void 0!==t?t:[]);var ie=(0,A.i)(),le=(0,U.B)(null===(n=G.data)||void 0===n?void 0:n.id),ce=le.count;return le.isLoading?a.createElement(a.Fragment,null):$(f.E.ViewMyFavouritesLanding)?a.createElement(_,null):a.createElement(v.M.Provider,{value:Q},a.createElement("div",{className:"p-3"},a.createElement(c.p,{heading:o.T.getPhrase(z,"header"),banner:{url:k.W.FAVOURITES_PLAYLIST.FAV_PLAYLIST_BANNER},bannerClassName:"".concat(q.banner," bg-pink"),imageCdnUrl:null===(P=X.data)||void 0===P?void 0:P.imageCdnUrl,detailsComponent:function(){return a.createElement("div",{className:"mb-n1 font-size-normal fw-normal mt-1"},a.createElement(u.x,{namespace:z,phrase:"videos",options:{smartCount:ce}}))}}),ae?ae.length?a.createElement(a.Fragment,null,a.createElement(m.E4,{videos:ae,yearGroups:J.data,getVideoAppLink:L.W.getAppLink,hasPermissions:W,getSubTextAppLink:function(e){return I.j.getSeriesAppLink(e.series)},setFavourite:M,canFavourite:R,presentationAudiences:ie.data,getPreviewQuestionsAppLink:function(e){return O.j.getPreviewQuestionsAppLink(e)}}),(re||oe)&&a.createElement(s._,{isFetching:oe,fetchNext:ee})):a.createElement(V,null):a.createElement(d.S,null)))}},26323:(e,t,n)=>{n.d(t,{B:()=>l});var a=n(20354),r=n(63419);function o(e){return function(e){if(Array.isArray(e))return i(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return i(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}function l(e){var t,n,i,l,c,s,u,d,m,v=a.a.useBasicFetch(e&&r.P.getFavouritesVideosCount(e)),f=a.a.useBasicFetch(e&&r.P.getFavouritesClipsCount(e)),p=a.a.useBasicFetch(e&&r.P.getFavouritesInteractivesCount(e));return{count:(null===(t=v.data)||void 0===t?void 0:t.count)+(null===(n=p.data)||void 0===n?void 0:n.count)+(null===(i=f.data)||void 0===i?void 0:i.count),favourites:[].concat(o((null===(l=v.data)||void 0===l?void 0:l.data)||[]),o((null===(c=f.data)||void 0===c?void 0:c.data)||[]),o((null===(s=p.data)||void 0===s?void 0:s.data)||[])),isLoading:!(null===(u=v.data)||void 0===u?void 0:u.data)||!(null===(d=f.data)||void 0===d?void 0:d.data)||!(null===(m=p.data)||void 0===m?void 0:m.data)}}},68050:(e,t,n)=>{n.d(t,{Z:()=>s});var a=n(95685),r=n.n(a),o=n(32735),i=n(46304),l=n(74512);const c=o.forwardRef((({bsPrefix:e,className:t,as:n="div",...a},o)=>{const c=(0,i.vE)(e,"row"),s=(0,i.pi)(),u=(0,i.zG)(),d=`${c}-cols`,m=[];return s.forEach((e=>{const t=a[e];let n;delete a[e],null!=t&&"object"==typeof t?({cols:n}=t):n=t;const r=e!==u?`-${e}`:"";null!=n&&m.push(`${d}${r}-${n}`)})),(0,l.jsx)(n,{ref:o,...a,className:r()(t,c,...m)})}));c.displayName="Row";const s=c}}]);
2
- //# sourceMappingURL=7915-afd2304b08-lite.chunk.js.map
1
+ "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[7915],{84963:(e,t,n)=>{n.d(t,{r:()=>u});var a=n(32735),r=n(23481),o=n(83914),i=n(76177),l=n(35223);const c={tag:"XRj8d",tooltip:"X6mLk"};var s="specialEventCalendar.comingSoonTag";function u(e){return a.createElement(i.u,{title:r.T.getPhrase(s,"tooltip"),spanHackClassName:"d-block ".concat(c.tooltip),spanHack:!0},a.createElement("div",{className:"d-flex text-dark align-items-center ".concat(c.tag," ").concat(e.className)},a.createElement(o.x,{svgName:l.vn.Timer}),!e.onlyIcon&&r.T.getPhrase(s,"comingSoon")))}},73679:(e,t,n)=>{n.d(t,{s:()=>i});var a=n(32735),r=n(36848);const o={dateItem:"I3SBm",label:"PRORs",body:"RfiM_",bodyDay:"ZOVny",bodyRange:"vYhXN",bodyMonth:"mYslO",month:"EPkkQ"};function i(e){var t,n,i;return a.createElement(r.F,{appLink:null===(t=e.getAppLink)||void 0===t?void 0:t.call(e),className:"text-decoration-none text-center bg-white text-dark border border-3 ".concat(null===(n=e.theme)||void 0===n?void 0:n.border," rounded-3 d-block fw-semibold ").concat(e.className),analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions},a.createElement("div",{className:"position-relative ".concat(o.dateItem)},a.createElement("div",{className:"".concat(null===(i=e.theme)||void 0===i?void 0:i.background," py-1 ").concat(o.label," d-flex align-items-center justify-content-center")},e.label?e.label:a.createElement(a.Fragment,null," ")),a.createElement("div",{className:"".concat(function(){switch(e.body.type){case"range":return o.bodyRange;case"day":return o.bodyDay;case"month":return o.bodyMonth}}()," ").concat(o.body," my-2")},e.body.text),a.createElement("div",{className:"mb-0 ".concat(o.month)},e.month)))}},89043:(e,t,n)=>{n.d(t,{p:()=>S,v:()=>A});var a=n(32735),r=n(110),o=n(12788),i={renderInPortalIfExists:function(e,t){return t?(0,o.createPortal)(e,t):e}},l=n(84963),c=n(73679),s=n(83657),u=n(23481),d=n(36848),m=n(83914),v=n(35223),f="shared.backButton";function p(e){var t=Object.assign({textShadow:!0},e),n=t.backToName,r=t.appLink,o=t.color,i=t.extraClasses,l=t.textShadow,c=n?u.T.getPhrase(f,"backTo",{backToName:n}):u.T.getPhrase(f,"back"),s="black"===o?"":"text-white",p=l?"text-shadow":"";return a.createElement(d.F,{appLink:r,className:"d-inline-flex align-items-center h5 mb-0 ".concat(i," ").concat(s," ").concat(p)},a.createElement(m.x,{svgName:v.vn.ChevronLeft,size:m.S.Medium}),a.createElement("span",{className:"ms-1"},c))}p.defaultProps={color:"black",extraClasses:""};var g=n(36518),h=n(83345),b=n(10587),y=n(94232),E=n(54610),C=n(79967),N=n(67453);const x={bannerContent:"sSCTB",actionsContainer:"Z5WI2",bannerContentWithLogo:"rgs7Q",container:"M51HJ",logoContainer:"vkeJk",logoContainerLeft:"M3U9B",logoHeading:"EtRwC",specialEventContainer:"rOxDc",headingLarge:"_8pnV",heading:"JXVBH"};var w="".concat(b.y[E.__.Banners].width,":").concat(b.y[E.__.Banners].height);function k(e){return e.length<160?"h1":x.headingLarge}var S=a.memo((function(e){var t,n,o,u,d=e.heading,m=e.banner,v=e.imageCdnUrl,f=e.actions,b=e.sortComponent,S=e.blockColourClass,A=e.specialEvent,F=a.useContext(y.n),O=(0,C.k)().xxl?1920:1200,L=a.useMemo((function(){if(!A||e.showComingSoon)return!1;var t=r.O.format(new Date,"YYYY-MM-DD");return A.endDate?A.startDate<=t&&A.endDate>=t:A.startDate===t}),[A]),I=e.imageOptions||{width:O,ratio:w,resizeType:E.Nq.Cover},P=!!m&&!!v&&N.j.createBannerUrl(m,{fallbackBaseUrl:v,fallbackCategoryName:d,type:E.__.Banners},I),T={className:"banner banner-header ".concat(e.bannerClassName),style:P?{backgroundImage:"url('".concat(P,"')")}:{}};!m&&S&&(delete T.style,T.className+=" ".concat(S));var D=e.detailsComponent;return i.renderInPortalIfExists(a.createElement("header",Object.assign({},T),a.createElement("div",{className:"container ".concat(x.container," position-relative inner-banner")},e.backButtonAppLink&&a.createElement("div",{className:"pt-3"},a.createElement(p,{appLink:e.backButtonAppLink,backToName:e.backButtonText,extraClasses:e.backButtonClasses,color:"white"})),a.createElement("div",{className:"".concat(e.alignLogoLeft?"position-absolute top-50 start-0 translate-middle-y w-100 ps-4":"".concat(x.bannerContent," ").concat((null===(t=e.logo)||void 0===t?void 0:t.url)?x.bannerContentWithLogo:""))},!!A&&a.createElement("div",{className:"position-relative ".concat(x.specialEventContainer)},a.createElement(c.s,{body:{type:A.endDate?"range":"day",text:A.endDate?"".concat(r.O.format(A.startDate,"DD"),"-").concat(r.O.format(A.endDate,"DD")):r.O.format(A.startDate,"DD")},month:r.O.format(A.startDate,"MMMM"),theme:e.calendarTheme})),a.createElement("div",null,L&&a.createElement("div",{className:"rounded-pill py-1 px-2 my-1 me-1 fw-semibold bg-light-blue lh-1 d-inline-block"},a.createElement(h.x,{namespace:"shared.bannerHeader",phrase:"onToday"})),e.showComingSoon&&a.createElement(l.r,{className:"pe-2 fw-semibold mb-1 rounded-pill justify-content-start text-nowrap"}),a.createElement("div",{className:"d-flex align-items-center"},e.alignLogoLeft&&a.createElement("div",{className:"".concat(x.logoContainerLeft," d-none d-md-block partial-loading-background rounded-circle overflow-hidden me-3")},(null===(n=e.logo)||void 0===n?void 0:n.url)&&a.createElement(g.w,{src:N.j.createUrl(null===(o=e.logo)||void 0===o?void 0:o.url,{size:E.h2.Small})})),a.createElement("h1",{className:"text-white text-shadow pe-3 ".concat(x.heading," ").concat(k(d)," ").concat(e.alignLogoLeft?"w-50":"")},d,D&&a.createElement(D,null)))),!!f&&a.createElement("div",{className:x.actionsContainer},a.createElement(s.e,{actions:f,sortComponent:b,actionsDropdownClassName:e.actionsDropdownClassName}))),!e.alignLogoLeft&&!!(null===(u=e.logo)||void 0===u?void 0:u.url)&&a.createElement("div",{className:x.logoContainer},a.createElement("img",{src:N.j.createUrl(e.logo.url,{size:E.h2.Small}),className:"rounded-circle"})))),null==F?void 0:F.container)}),(function(e,t){var n,a;return e.actions===t.actions&&e.heading===t.heading&&(null===(n=e.logo)||void 0===n?void 0:n.url)===(null===(a=t.logo)||void 0===a?void 0:a.url)}));function A(){var e=a.useContext(y.n);return i.renderInPortalIfExists(a.createElement("div",{className:"partial-banner partial-loading-background ".concat(x.banner)}),null==e?void 0:e.container)}},71020:(e,t,n)=>{n.d(t,{_:()=>u});var a=n(32735),r=n(80247),o=n(34152),i=n(83914),l=n(35223);const c={container:"VwD1b",spinner:"eJ85e"};function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}function u(e){var t,n,u=(t=(0,o.YD)(),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,o,i,l=[],c=!0,s=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=o.call(n)).done)&&(l.push(a.value),l.length!==t);c=!0);}catch(e){s=!0,r=e}finally{try{if(!c&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(s)throw r}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return s(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),d=u[0],m=u[1];return a.useEffect((function(){var t;e.fetchOnScroll&&m&&!e.isFetching&&(null===(t=e.fetchNext)||void 0===t||t.call(e,e.nextCursor))}),[m,e.isFetching]),a.createElement("div",{className:"p-3 text-center ".concat(c.container),ref:d},e.isFetching?a.createElement(r.Z,{as:"span",animation:"border",role:"status",className:c.spinner}):a.createElement(i.x,{svgName:l.vn.ChevronDown,className:"svg-container cursor-pointer",size:i.S.Large,onClick:function(){var t;return null===(t=e.fetchNext)||void 0===t?void 0:t.call(e,e.nextCursor)}}))}u.defaultProps={fetchOnScroll:!1}},74696:(e,t,n)=>{n.d(t,{S:()=>s});var a=n(32735),r=n(68050),o=n(69111),i=n(9977),l=n(79967);const c={partialOptions:"Gufgq",partialName:"SicQQ",partialDescription:"dPGMq",partialThumbnail:"vZrnb",partialDragHandle:"iq73R"};function s(e){return a.createElement("div",{className:"mx-2"},Array(e.numVideos).fill(null).map((function(t,n){return a.createElement("div",{className:"d-flex",key:n},e.allowBulkActions&&a.createElement("div",{className:"form-check pe-3 pe-sm-2 mx-0 mx-md-2"}),a.createElement(u,Object.assign({},e)))})))}function u(e){var t=(0,l.k)(),n="sm"===i.O.getSize(t,"md"),s=e.withReordering&&!t.xs;return a.createElement(r.Z,{className:"".concat(n?"":"py-2"," flex-grow-1")},a.createElement(o.Z,Object.assign({},i.O.getThumbnailColumns(),{className:"flex-column align-items-flex-start ".concat(n?"pb-2 pe-1":"mb-1 pe-3 pe-md-2")}),a.createElement(r.Z,null,!!s&&a.createElement("div",{className:"d-flex align-items-center justify-content-center col-2"},a.createElement("div",{className:"partial-loading-background ".concat(c.partialDragHandle)})),a.createElement(o.Z,{xs:i.O.getThumbnailColSize(s)},a.createElement("div",{className:"partial-loading-background ".concat(n?"rounded":"rounded-3"," ").concat(c.partialThumbnail)})))),a.createElement(o.Z,Object.assign({},i.O.getDetailsColumns(),{className:n?"pb-2":"px-2"}),a.createElement("div",{className:"partial-loading-background mb-1 ".concat(c.partialName)}),a.createElement("div",{className:"partial-loading-background ".concat(c.partialDescription)})))}s.defaultProps={numVideos:15}},94644:(e,t,n)=>{n.d(t,{r:()=>u});var a=n(50242),r=n(81886),o=n(67058),i=n(14553),l=n(49267),c=n(49075),s={notFound:o.d,forbidden:{rating:i.q,yearLevel:i.q,region:l.a,privacy:i.q},badRequest:c._};function u(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(e){var o;o="number"==typeof e?e:e.status;var i=Object.assign(Object.assign({},s),t);o&&r.Q.Ry.isStatusCodeError(o)&&(o!==a.o.NotFound?o!==a.o.Forbidden?n.badRequest||r.Q.Ry.throw(new i.badRequest):n.forbidden||r.Q.Ry.throw(new i.forbidden.privacy):n.notFound||r.Q.Ry.throw(new i.notFound))}}},60115:(e,t,n)=>{n.d(t,{K:()=>s});var a=n(32735),r=n(50242),o=n(91967),i=400,l=n(45719);function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}function s(e,t,n,s,u,d){var m,v,f,p,g=(m=(0,a.useState)(0),v=2,function(e){if(Array.isArray(e))return e}(m)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,o,i,l=[],c=!0,s=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=o.call(n)).done)&&(l.push(a.value),l.length!==t);c=!0);}catch(e){s=!0,r=e}finally{try{if(!c&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(s)throw r}}return l}}(m,v)||function(e,t){if(e){if("string"==typeof e)return c(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?c(e,t):void 0}}(m,v)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),h=g[0],b=g[1],y=t,E=(0,l.P)((function(t){if(!e)return null;var n=e(t);return n?n.key:null}),s,u);return f={fetchNextPage:function(){if(t&&e&&E)return b((function(e){return e+1})),y(E.nextCursor)},hasMore:!!(null==E?void 0:E.nextCursor),isFetching:null==E?void 0:E.isFetching,scrollContainer:d},p=function(){if(!f.isFetching){if(f.scrollContainer){var e=f.scrollContainer;if(e.getBoundingClientRect().height+e.scrollTop<e.scrollHeight-i)return}else if(window.innerHeight+document.documentElement.scrollTop<document.documentElement.scrollHeight-i)return;f.fetchNextPage()}},(0,a.useEffect)((function(){var e=o.q.throttle(p,200),t=f.scrollContainer||window;return f.hasMore&&t.addEventListener("scroll",e),function(){return t.removeEventListener("scroll",e)}}),[f.hasMore,f.fetchNextPage,f.scrollContainer]),(0,a.useEffect)((function(){E&&E.shouldInitialFetch&&t&&(y(),b((function(e){return e+1})))}),[null==E?void 0:E.shouldInitialFetch,t]),(0,a.useEffect)((function(){var e,t;if((null==E?void 0:E.statusCode)&&o.q.isFunction(n)){var a=+(null===(t=null===(e=E.statusCode)||void 0===e?void 0:e.toString())||void 0===t?void 0:t.substr(0,1));a!==r.k.ClientError&&a!==r.k.ServerError||n(h,E.statusCode)}}),[null==E?void 0:E.statusCode]),{items:null==E?void 0:E.items,hasMore:!!(null==E?void 0:E.nextCursor),nextCursor:null==E?void 0:E.nextCursor,isFetching:null==E?void 0:E.isFetching,totalItems:null==E?void 0:E.totalItems,hasFirstPageCompleted:null==E?void 0:E.hasFirstPageCompleted}}},44110:(e,t,n)=>{n.d(t,{i:()=>i});var a=n(20354),r=n(89454),o=n(86698),i=function(){var e=(0,o.y)({redirectOnError:!0}),t=e.activePresentation,n=e.getFallbackPresentation,i=t||n();return a.a.useBasicFetch(!!i&&r.O.presentationAudiences(i.id))}},97816:(e,t,n)=>{n.d(t,{V:()=>u});var a=n(32735),r=n(20354),o=n(21750),i=n(31949),l=n(1575);function c(e,t){if(e){if("string"==typeof e)return s(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,t):void 0}}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}function u(e){var t,n,u,d=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},m=r.a.useBasicFetch(i.N.currentUser()),v=a.useRef(new Set),f=e&&(Array.isArray(e)?e.filter(Boolean).map((function(e){return e.id})):e.data.filter(Boolean).map((function(e){return e.id}))),p=(n=a.useState([]),u=2,function(e){if(Array.isArray(e))return e}(n)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,o,i,l=[],c=!0,s=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=o.call(n)).done)&&(l.push(a.value),l.length!==t);c=!0);}catch(e){s=!0,r=e}finally{try{if(!c&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(s)throw r}}return l}}(n,u)||c(n,u)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),g=p[0],h=p[1];a.useEffect((function(){var e;if((null==f?void 0:f.length)&&(null===(e=m.data)||void 0===e?void 0:e.isAuthenticated)){var t=[];f.forEach((function(e){v.current.has(e)||(t.push(e),v.current.add(e))})),t.length&&h((function(e){return[].concat(function(e){return function(e){if(Array.isArray(e))return s(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||c(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(e),[o.x.hasCurriculumLinks(t,null,d.flightNamespace),l.R.videoMixinAssocs(t,d.flightNamespace)])}))}}),[null==f?void 0:f.length,null===(t=m.data)||void 0===t?void 0:t.isAuthenticated]),r.a.useBasicFetchAll(g)}},19530:(e,t,n)=>{n.r(t),n.d(t,{FavouritesView:()=>Q});var a=n(32735),r=n(70680),o=n(23481),i=n(20354),l=n(65858),c=n(89043),s=n(71020),u=n(83345),d=n(74696),m=n(13231),v=n(51365),f=n(16714),p=n(94644),g=n(39151),h=n(1666),b=n(63419),y=n(31949),E=n(69883),C=n(60115),N=n(22902),x=n(79612),w=n(31908),k=n(99742),S=n(27638),A=n(44110),F=n(97816),O=n(10741),L=n(22490),I=n(82431),P=n(23232),T=n(83914),D=n(35223),j=n(14070),B=n(97291),M="shared.favouritesEmptyState",R=o.T.encloseNamespace(M);function V(){return a.createElement(u.D.Provider,{value:M},a.createElement(P.u,null,a.createElement(P.u.Image,{src:k.W.EmptyStates.FAVOURITED_VIDEOS,altText:R("info")}),a.createElement("div",{className:"d-flex mb-2"},a.createElement(P.u.Heading,{className:"h3 mb-0"},a.createElement(u.x,{phrase:"emptyStateHeading1"})),a.createElement("div",{className:"box-shadow rounded-circle p-1 bg-white mx-1"},a.createElement(T.x,{svgName:D.vn.HeartOutline,size:T.S.Small})),a.createElement(P.u.Heading,{className:"h3 mb-0"},a.createElement(u.x,{phrase:"emptyStateHeading2"}))),a.createElement(P.u.Info,null,a.createElement(u.x,{phrase:"info"})),a.createElement(P.u.Cta,{text:o.T.getPhrase(M,"cta"),appLink:{application:B.O.DASHBOARD,action:j.e.Dashboard.HOME}})))}function _(){return a.createElement(u.D.Provider,{value:M},a.createElement(P.u,null,a.createElement(P.u.Image,{src:k.W.EmptyStates.FAVOURITED_VIDEOS_PUBLIC,altText:R("publicInfo")}),a.createElement(P.u.Heading,null,a.createElement(u.x,{phrase:"publicHeading"})),a.createElement(P.u.Info,null,a.createElement(u.x,{phrase:"publicInfo"})),a.createElement(P.u.Cta,{text:o.T.getPhrase(M,"publicCta"),appLink:{application:B.O.SIGN_UP,action:j.e.SignUp.SIGN_UP},analyticsData:{},analyticsOptions:{actionType:l.Vw.Click,location:l.LZ.MyFavouritesLanding,entity:l.py.AppLink,workflowPhase:l.eu.Start,descriptor:l.Yu.SignUp}})))}var U=n(26323),H=n(10671),Z="shared.favourites";const q={banner:"FEWd3"};var z="shared.favourites";function Q(){var e,t,n,P,T=(0,r.I0)(),j=(0,E.Z)(),B=(0,S.u)(l.LZ.VideoThumbnail),M=B.setFavourite,R=B.canFavourite,Q=function(){var e=(0,H._)({location:H.i.VideoItem}),t=(0,S.u)(l.LZ.VideoThumbnail).setFavourite;return Object.assign(Object.assign({},e),{getVideoActions:function(n){return w.M.getCanBeConsumed(n).canConsume?e.getVideoActions(n):[{label:o.T.getPhrase(Z,"removeFromFavourites"),svgName:D.vn.Delete,button:!1,className:"btn btn-link text-danger",onClick:function(){return t(n,!1)}}]}})}();(0,x.M)({title:o.T.getPhrase(z,"pageTitle")});var Y=(0,N.T)(),$=Y.hasLocalPermissions,W=Y.hasPermissions,G=i.a.useBasicFetch(y.N.currentUser()),J=i.a.useBasicFetch((null===(e=G.data)||void 0===e?void 0:e.isAuthenticated)&&h.h.yearGroups(G.data.customerId)),X=i.a.useBasicFetch(g.L.config()),K=function(e){return b.P.getFavourites(G.data.id,e)},ee=function(e){return i.a.getFetch(T)(K(e))},te=!$(f.E.ViewMyFavouritesLanding)&&G.hasCompleted,ne=(0,C.K)(!!te&&K,ee,(function(e,t){if(1===e)return(0,p.r)(t);j.error(o.T.getPhrase(z,"error"))})),ae=ne.items,re=ne.hasMore,oe=ne.isFetching;(0,F.V)(null!==(t=null==ae?void 0:ae.filter(w.M.isVideo))&&void 0!==t?t:[]);var ie=(0,A.i)(),le=(0,U.B)(null===(n=G.data)||void 0===n?void 0:n.id),ce=le.count;return le.isLoading?a.createElement(a.Fragment,null):$(f.E.ViewMyFavouritesLanding)?a.createElement(_,null):a.createElement(v.M.Provider,{value:Q},a.createElement("div",{className:"p-3"},a.createElement(c.p,{heading:o.T.getPhrase(z,"header"),banner:{url:k.W.FAVOURITES_PLAYLIST.FAV_PLAYLIST_BANNER},bannerClassName:"".concat(q.banner," bg-pink"),imageCdnUrl:null===(P=X.data)||void 0===P?void 0:P.imageCdnUrl,detailsComponent:function(){return a.createElement("div",{className:"mb-n1 font-size-normal fw-normal mt-1"},a.createElement(u.x,{namespace:z,phrase:"videos",options:{smartCount:ce}}))}}),ae?ae.length?a.createElement(a.Fragment,null,a.createElement(m.E4,{videos:ae,yearGroups:J.data,getVideoAppLink:L.W.getAppLink,hasPermissions:W,getSubTextAppLink:function(e){return I.j.getSeriesAppLink(e.series)},setFavourite:M,canFavourite:R,presentationAudiences:ie.data,getPreviewQuestionsAppLink:function(e){return O.j.getPreviewQuestionsAppLink(e)}}),(re||oe)&&a.createElement(s._,{isFetching:oe,fetchNext:ee})):a.createElement(V,null):a.createElement(d.S,null)))}},26323:(e,t,n)=>{n.d(t,{B:()=>l});var a=n(20354),r=n(63419);function o(e){return function(e){if(Array.isArray(e))return i(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return i(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}function l(e){var t,n,i,l,c,s,u,d,m,v=a.a.useBasicFetch(e&&r.P.getFavouritesVideosCount(e)),f=a.a.useBasicFetch(e&&r.P.getFavouritesClipsCount(e)),p=a.a.useBasicFetch(e&&r.P.getFavouritesInteractivesCount(e));return{count:(null===(t=v.data)||void 0===t?void 0:t.count)+(null===(n=p.data)||void 0===n?void 0:n.count)+(null===(i=f.data)||void 0===i?void 0:i.count),favourites:[].concat(o((null===(l=v.data)||void 0===l?void 0:l.data)||[]),o((null===(c=f.data)||void 0===c?void 0:c.data)||[]),o((null===(s=p.data)||void 0===s?void 0:s.data)||[])),isLoading:!(null===(u=v.data)||void 0===u?void 0:u.data)||!(null===(d=f.data)||void 0===d?void 0:d.data)||!(null===(m=p.data)||void 0===m?void 0:m.data)}}},68050:(e,t,n)=>{n.d(t,{Z:()=>s});var a=n(95685),r=n.n(a),o=n(32735),i=n(46304),l=n(74512);const c=o.forwardRef((({bsPrefix:e,className:t,as:n="div",...a},o)=>{const c=(0,i.vE)(e,"row"),s=(0,i.pi)(),u=(0,i.zG)(),d=`${c}-cols`,m=[];return s.forEach((e=>{const t=a[e];let n;delete a[e],null!=t&&"object"==typeof t?({cols:n}=t):n=t;const r=e!==u?`-${e}`:"";null!=n&&m.push(`${d}${r}-${n}`)})),(0,l.jsx)(n,{ref:o,...a,className:r()(t,c,...m)})}));c.displayName="Row";const s=c}}]);
2
+ //# sourceMappingURL=7915-44db39c137-lite.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scripts/7915-44db39c137-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/calendar/components/coming-soon-tag/coming-soon-tag.scss","file:///app/packages/libs/shared/src/apps/calendar/components/coming-soon-tag/ComingSoonTag.tsx","file:///app/packages/libs/shared/src/apps/calendar/components/generic-calendar-date/generic-calendar-date.scss","file:///app/packages/libs/shared/src/apps/calendar/components/generic-calendar-date/GenericCalendarDate.tsx","file:///app/packages/libs/common/src/react/utils/PortalHelper.ts","file:///app/packages/libs/shared/src/components/back-button/BackButton.tsx","file:///app/packages/libs/shared/src/components/banner-header/banner-header.scss","file:///app/packages/libs/shared/src/components/banner-header/BannerHeader.tsx","file:///app/packages/libs/shared/src/components/infinite-scroll-footer/infinite-scroll-footer.scss","file:///app/packages/libs/shared/src/components/infinite-scroll-footer/InfiniteScrollFooter.tsx","file:///app/packages/libs/shared/src/components/video-list/partial-loading/partial-video-list.scss","file:///app/packages/libs/shared/src/components/video-list/partial-loading/PartialVideoList.tsx","file:///app/packages/libs/shared/src/errors/handlers/HttpErrorHandlers.ts","file:///app/packages/libs/shared/src/hooks/UseInfiniteScroll.ts","file:///app/packages/libs/shared/src/hooks/UseInfiniteList.ts","file:///app/packages/projects/lite/src/shared/hooks/usePresentationAudiences.ts","file:///app/packages/projects/lite/src/shared/hooks/useVideoMixin.ts","file:///app/packages/projects/lite/src/shared/views/favourites/empty-state/FavouritesEmptyState.tsx","file:///app/packages/projects/lite/src/shared/views/favourites/FavouritesViewUtils.ts","file:///app/packages/projects/lite/src/shared/views/favourites/favourites-view.scss","file:///app/packages/projects/lite/src/shared/views/favourites/FavouritesView.tsx","file:///app/packages/projects/lite/src/shared/views/favourites/hooks/useFavouritesCount.ts","file:///app/node_modules/react-bootstrap/esm/Row.js"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"tag\":\"XRj8d\",\"tooltip\":\"X6mLk\"};","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport styles from './coming-soon-tag.scss';\n\nconst namespace = 'specialEventCalendar.comingSoonTag';\n\ninterface ComingSoonProps {\n className?: string;\n onlyIcon?: boolean;\n}\n\nexport function ComingSoonTag(props: ComingSoonProps): JSX.Element {\n return (\n <Tooltip title={LanguageService.getPhrase(namespace, 'tooltip')} spanHackClassName={`d-block ${styles.tooltip}`} spanHack>\n <div className={`d-flex text-dark align-items-center ${styles.tag} ${props.className}`}>\n <SvgContainer svgName={cvSvgLibrary.Timer} />\n {!props.onlyIcon && LanguageService.getPhrase(namespace, 'comingSoon')}\n </div>\n </Tooltip>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"dateItem\":\"I3SBm\",\"label\":\"PRORs\",\"body\":\"RfiM_\",\"bodyDay\":\"ZOVny\",\"bodyRange\":\"vYhXN\",\"bodyMonth\":\"mYslO\",\"month\":\"EPkkQ\"};","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\n\nimport { CalendarTheme } from 'libs/shared/apps/calendar/interfaces/CalendarTheme';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\n\nimport styles from './generic-calendar-date.scss';\n\nexport interface GenericCalendarDateProps {\n label?: string;\n body: {\n type: 'month' | 'range' | 'day';\n text: string;\n };\n month?: string;\n getAppLink?: () => Core.AppLink;\n analyticsData?: HashObject;\n analyticsOptions?: AnalyticsOptions;\n className?: string;\n theme?: CalendarTheme;\n}\n\nexport function GenericCalendarDate(props: GenericCalendarDateProps): JSX.Element {\n function getBodyClass(): string {\n switch (props.body.type) {\n case 'range':\n return styles.bodyRange;\n case 'day':\n return styles.bodyDay;\n case 'month':\n return styles.bodyMonth;\n }\n }\n\n return (\n <AppLink\n appLink={props.getAppLink?.()}\n className={`text-decoration-none text-center bg-white text-dark border border-3 ${props.theme?.border} rounded-3 d-block fw-semibold ${props.className}`}\n analyticsData={props.analyticsData}\n analyticsOptions={props.analyticsOptions}\n >\n <div className={`position-relative ${styles.dateItem}`}>\n <div className={`${props.theme?.background} py-1 ${styles.label} d-flex align-items-center justify-content-center`}>\n {props.label ? props.label : <>&nbsp;</>}\n </div>\n <div className={`${getBodyClass()} ${styles.body} my-2`}>\n {props.body.text}\n </div>\n <div className={`mb-0 ${styles.month}`}>\n {props.month}\n </div>\n </div>\n </AppLink>\n );\n}","import React from 'react';\nimport { createPortal } from 'react-dom';\n\nexport const PortalHelper = {\n renderInPortalIfExists(component: React.ReactElement, portalContainer: Element | null): React.ReactElement {\n if (portalContainer)\n return createPortal(component, portalContainer);\n\n return component;\n }\n};","import * as React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nconst namespace = 'shared.backButton';\n\ninterface BackButtonProps {\n appLink: Core.AppLink;\n backToName?: string;\n color?: 'black' | 'white';\n extraClasses?: string;\n /**\n * Whether or not the button text has a text shadow. Defaults to true\n */\n textShadow?: boolean;\n}\n\nBackButton.defaultProps = {\n color: 'black',\n extraClasses: ''\n};\n\nexport function BackButton(props: BackButtonProps): React.ReactElement {\n const { backToName, appLink, color, extraClasses, textShadow } = {\n textShadow: true,\n ...props\n };\n\n const backPhrase = backToName\n ? LanguageService.getPhrase(namespace, 'backTo', { backToName })\n : LanguageService.getPhrase(namespace, 'back');\n\n const colorClass = color === 'black' ? '' : 'text-white';\n const textShadowClass = textShadow ? 'text-shadow' : '';\n\n return (\n <AppLink\n appLink={appLink}\n className={`d-inline-flex align-items-center h5 mb-0 ${extraClasses} ${colorClass} ${textShadowClass}`}\n >\n <SvgContainer svgName={cvSvgLibrary.ChevronLeft} size={SvgContainerSize.Medium} />\n <span className='ms-1'>{backPhrase}</span>\n </AppLink>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"bannerContent\":\"sSCTB\",\"actionsContainer\":\"Z5WI2\",\"bannerContentWithLogo\":\"rgs7Q\",\"container\":\"M51HJ\",\"logoContainer\":\"vkeJk\",\"logoContainerLeft\":\"M3U9B\",\"logoHeading\":\"EtRwC\",\"specialEventContainer\":\"rOxDc\",\"headingLarge\":\"_8pnV\",\"heading\":\"JXVBH\"};","import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\nimport { PortalHelper } from 'libs/common/react/utils/PortalHelper';\n\nimport { ComingSoonTag } from 'libs/shared/apps/calendar/components/coming-soon-tag/ComingSoonTag';\nimport { GenericCalendarDate } from 'libs/shared/apps/calendar/components/generic-calendar-date/GenericCalendarDate';\nimport { CalendarTheme } from 'libs/shared/apps/calendar/interfaces/CalendarTheme';\nimport { ActionOptions, Actions } from 'libs/shared/components/actions/Actions';\nimport { BackButton } from 'libs/shared/components/back-button/BackButton';\nimport { LazyImage } from 'libs/shared/components/lazy-image/LazyImage';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { ImageMinDimensions } from 'libs/shared/constants/ImageSizes';\nimport { BannerPortalContext } from 'libs/shared/context/BannerPortalContext';\nimport { ImageSize, ImageType, ResizeType } from 'libs/shared/enums/Images';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { Banner, CalendarEvent, Logo } from 'libs/shared/interfaces';\nimport { ImageHelper, ImageOptions } from 'libs/shared/utils/ImageHelper';\n\nimport styles from './banner-header.scss';\n\nconst RATIO = `${ImageMinDimensions[ImageType.Banners].width}:${ImageMinDimensions[ImageType.Banners].height}`;\nconst DEFAULT_WIDTH = 1200; // This is ImageSize.Large for a Banner.\nconst LARGE_SCREEN_WIDTH = 1920;\n\nfunction useGetImageWidth(): number {\n const breakpoints = useBreakpoints();\n\n if (breakpoints.xxl)\n return LARGE_SCREEN_WIDTH;\n\n return DEFAULT_WIDTH;\n}\n\nfunction getSizeClass(heading: string): string {\n if (heading.length < 160)\n return 'h1';\n\n return styles.headingLarge;\n}\n\ninterface BannerHeaderProps {\n heading: string;\n banner?: Banner;\n bannerClassName?: string;\n imageCdnUrl?: string;\n logo?: Logo;\n actions?: ActionOptions[];\n specialEvent?: CalendarEvent;\n backButtonAppLink?: Core.AppLink;\n backButtonText?: string;\n backButtonClasses?: string;\n sortComponent?: JSX.Element;\n blockColourClass?: string;\n actionsDropdownClassName?: string;\n detailsComponent?: () => React.ReactElement;\n imageOptions?: ImageOptions;\n showComingSoon?: boolean;\n alignLogoLeft?: boolean;\n calendarTheme?: CalendarTheme;\n}\n\nconst namespace = 'shared.bannerHeader';\n\nexport const BannerHeader = React.memo(function(props: React.PropsWithChildren<BannerHeaderProps>): React.ReactElement {\n const { heading, banner, imageCdnUrl, actions, sortComponent, blockColourClass, specialEvent } = props;\n\n const portalContainerContext = React.useContext(BannerPortalContext);\n\n const imageWidth = useGetImageWidth();\n\n const specialEventIsToday = React.useMemo(() => {\n if (!specialEvent || props.showComingSoon)\n return false;\n\n const today = DateHelper.format(new Date(), 'YYYY-MM-DD');\n\n if (!specialEvent.endDate)\n return specialEvent.startDate === today;\n\n return specialEvent.startDate <= today && specialEvent.endDate >= today;\n }, [specialEvent]);\n\n const imageOptions = props.imageOptions || {\n width: imageWidth,\n ratio: RATIO,\n resizeType: ResizeType.Cover\n };\n\n const url = !!banner && !!imageCdnUrl && ImageHelper.createBannerUrl(banner, {\n fallbackBaseUrl: imageCdnUrl,\n fallbackCategoryName: heading,\n type: ImageType.Banners\n }, imageOptions);\n\n const containerProps: React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement> = {\n className: `banner banner-header ${props.bannerClassName}`,\n style: url ? { backgroundImage: `url('${url}')` } : {}\n };\n\n if (!banner && blockColourClass) {\n delete containerProps.style;\n containerProps.className += ` ${blockColourClass}`;\n }\n\n const DetailsComponent = props.detailsComponent;\n\n return PortalHelper.renderInPortalIfExists(\n // \"banner\" is used in playlists in Online. banner-header is used by all other projects\n <header {...containerProps}>\n <div className={`container ${styles.container} position-relative inner-banner`}>\n {props.backButtonAppLink && (\n <div className='pt-3'>\n <BackButton\n appLink={props.backButtonAppLink}\n backToName={props.backButtonText}\n extraClasses={props.backButtonClasses}\n color='white'\n />\n </div>\n )}\n \n <div className={`${props.alignLogoLeft ? 'position-absolute top-50 start-0 translate-middle-y w-100 ps-4' : `${styles.bannerContent} ${props.logo?.url ? styles.bannerContentWithLogo : ''}`}`}>\n {!!specialEvent && (\n <div className={`position-relative ${styles.specialEventContainer}`}>\n <GenericCalendarDate\n body={{\n type: specialEvent.endDate ? 'range' : 'day',\n text: specialEvent.endDate\n ? `${DateHelper.format(specialEvent.startDate, 'DD')}-${DateHelper.format(specialEvent.endDate, 'DD')}`\n : DateHelper.format(specialEvent.startDate, 'DD')\n }}\n month={DateHelper.format(specialEvent.startDate, 'MMMM')}\n theme={props.calendarTheme}\n />\n </div>\n )}\n <div>\n {specialEventIsToday && (\n <div className='rounded-pill py-1 px-2 my-1 me-1 fw-semibold bg-light-blue lh-1 d-inline-block'>\n <Text namespace={namespace} phrase='onToday' />\n </div>\n )}\n {props.showComingSoon && (\n <ComingSoonTag className='pe-2 fw-semibold mb-1 rounded-pill justify-content-start text-nowrap' />\n )}\n <div className='d-flex align-items-center'>\n {props.alignLogoLeft &&\n <div className={`${styles.logoContainerLeft} d-none d-md-block partial-loading-background rounded-circle overflow-hidden me-3`}>\n {props.logo?.url &&\n <LazyImage src={ImageHelper.createUrl(props.logo?.url, { size: ImageSize.Small })} />}\n </div>\n }\n <h1 className={`text-white text-shadow pe-3 ${styles.heading} ${getSizeClass(heading)} ${props.alignLogoLeft ? 'w-50' : ''}`}>\n {heading}\n {DetailsComponent && <DetailsComponent />}\n </h1>\n </div>\n </div>\n {!!actions && (\n <div className={styles.actionsContainer}>\n <Actions\n actions={actions}\n sortComponent={sortComponent}\n actionsDropdownClassName={props.actionsDropdownClassName}\n />\n </div>\n )}\n </div>\n {!props.alignLogoLeft && !!props.logo?.url &&\n <div className={styles.logoContainer}>\n <img\n src={ImageHelper.createUrl(props.logo.url, { size: ImageSize.Small })}\n className='rounded-circle'\n />\n </div>\n }\n </div>\n </header>,\n portalContainerContext?.container\n );\n}, (prevProps, nextProps): boolean => (\n prevProps.actions === nextProps.actions\n && prevProps.heading === nextProps.heading\n && prevProps.logo?.url === nextProps.logo?.url\n));\n\nexport function PartialBannerHeader(): JSX.Element {\n const portalContainerContext = React.useContext(BannerPortalContext);\n\n return PortalHelper.renderInPortalIfExists(\n <div className={`partial-banner partial-loading-background ${styles.banner}`} />,\n portalContainerContext?.container\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"VwD1b\",\"spinner\":\"eJ85e\"};","import * as React from 'react';\nimport { Spinner } from 'react-bootstrap';\nimport { useInView } from 'react-intersection-observer';\n\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport styles from './infinite-scroll-footer.scss';\n\ninterface InfiniteScrollFooterProps {\n isFetching: boolean;\n fetchNext?: (nextCursor: string) => void;\n nextCursor?: string;\n fetchOnScroll?: boolean;\n}\n\nInfiniteScrollFooter.defaultProps = {\n fetchOnScroll: false\n};\n\nexport function InfiniteScrollFooter(props: InfiniteScrollFooterProps): React.ReactElement {\n const [ ref, inView ] = useInView();\n\n React.useEffect(() => {\n if (!props.fetchOnScroll)\n return;\n\n if (!inView || props.isFetching)\n return;\n\n props.fetchNext?.(props.nextCursor);\n }, [ inView, props.isFetching ]);\n\n return (\n <div className={`p-3 text-center ${styles.container}`} ref={ref}>\n {props.isFetching\n ? <Spinner as='span' animation='border' role='status' className={styles.spinner} />\n : (\n <SvgContainer\n svgName={cvSvgLibrary.ChevronDown}\n className='svg-container cursor-pointer'\n size={SvgContainerSize.Large}\n onClick={() => props.fetchNext?.(props.nextCursor)}\n />\n )\n }\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"partialOptions\":\"Gufgq\",\"partialName\":\"SicQQ\",\"partialDescription\":\"dPGMq\",\"partialThumbnail\":\"vZrnb\",\"partialDragHandle\":\"iq73R\"};","import React from 'react';\nimport { Col, Row } from 'react-bootstrap';\n\nimport { VideoListHelper } from 'libs/shared/components/video-list/VideoListHelper';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\n\nimport styles from './partial-video-list.scss';\n\ninterface PartialVideoListProps {\n withReordering?: boolean;\n numVideos?: number;\n allowBulkActions?: boolean;\n}\n\nPartialVideoList.defaultProps = {\n numVideos: 15\n};\n\nexport function PartialVideoList(props: PartialVideoListProps): JSX.Element {\n return (\n <div className='mx-2'>\n {Array(props.numVideos).fill(null).map((_, i) => (\n <div className='d-flex' key={i}>\n {props.allowBulkActions && <div className='form-check pe-3 pe-sm-2 mx-0 mx-md-2' />}\n <PartialVideoItem {...props} />\n </div>\n ))}\n </div>\n );\n}\n\nexport function PartialVideoItem(props: PartialVideoListProps): JSX.Element {\n const breakpoints = useBreakpoints();\n\n const size = VideoListHelper.getSize(breakpoints, 'md');\n const isSmall = size === 'sm';\n\n const withDragHandle = props.withReordering && !breakpoints.xs;\n\n return (\n <Row className={`${isSmall ? '' : 'py-2'} flex-grow-1`}>\n <Col {...VideoListHelper.getThumbnailColumns()} className={`flex-column align-items-flex-start ${isSmall ? `pb-2 pe-1` : 'mb-1 pe-3 pe-md-2'}`}>\n <Row>\n {!!withDragHandle && (\n <div className='d-flex align-items-center justify-content-center col-2'>\n <div className={`partial-loading-background ${styles.partialDragHandle}`} />\n </div>\n )}\n <Col xs={VideoListHelper.getThumbnailColSize(withDragHandle)}>\n <div className={`partial-loading-background ${isSmall ? 'rounded' : 'rounded-3'} ${styles.partialThumbnail}`} />\n </Col>\n </Row>\n </Col>\n <Col {...VideoListHelper.getDetailsColumns()} className={isSmall ? 'pb-2' : 'px-2'}>\n <div className={`partial-loading-background mb-1 ${styles.partialName}`} />\n <div className={`partial-loading-background ${styles.partialDescription}`} />\n </Col>\n </Row>\n );\n}\n\n","import { BaseError } from 'libs/common/backbone/core/BaseError';\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { Core } from 'libs/common/core';\n\nimport { NotFoundError } from 'libs/shared/errors/general/not-found/NotFoundError';\nimport { PrivateResourceError } from 'libs/shared/errors/general/private-resource/PrivateResourceError';\nimport { RegionLockedResourceError } from 'libs/shared/errors/general/region-locked-resource/RegionLockedResourceError';\nimport { UnspecifiedError } from 'libs/shared/errors/general/unspecified-error/UnspecifiedError';\nimport { VideoTypes } from 'libs/shared/interfaces';\n\nexport interface HttpErrorMap {\n notFound?: new () => BaseError;\n forbidden?: {\n rating?: new (description: string) => BaseError;\n yearLevel?: new (description: string) => BaseError;\n region?: new () => BaseError;\n privacy?: new (video?: VideoTypes) => BaseError;\n };\n badRequest?: new () => BaseError;\n}\n\nexport type IgnoreHttpErrorMap = {\n [key in keyof HttpErrorMap]: boolean;\n};\n\nconst defaultErrors: HttpErrorMap = {\n notFound: NotFoundError,\n forbidden: {\n rating: PrivateResourceError,\n yearLevel: PrivateResourceError,\n region: RegionLockedResourceError,\n privacy: PrivateResourceError\n },\n badRequest: UnspecifiedError\n};\n\nexport function handleHttpError(\n info: HttpStatus | Xhr,\n customErrorMap: HttpErrorMap = {},\n /**\n * Prevent certain errors in the errorMap from being thrown\n * so that you may implement your own handler\n */\n ignoreMap: IgnoreHttpErrorMap = {}\n): void {\n if (!info)\n return;\n\n let statusCode: HttpStatus;\n\n if (typeof(info) === 'number') {\n statusCode = info;\n } else {\n statusCode = info.status;\n }\n\n const errorMap = {\n ...defaultErrors,\n ...customErrorMap\n };\n\n if (!statusCode)\n return;\n\n if (!Core.ErrorHelper.isStatusCodeError(statusCode))\n return;\n\n if (statusCode === HttpStatus.NotFound) {\n if (!ignoreMap.notFound)\n Core.ErrorHelper.throw(new errorMap.notFound());\n return;\n }\n\n if (statusCode === HttpStatus.Forbidden) {\n /**\n * TODO: Work out how to go about handling all forbidden errors, such as region locking, year levels,\n * ratings, and privacy.\n */\n if (!ignoreMap.forbidden)\n Core.ErrorHelper.throw(new errorMap.forbidden.privacy());\n return;\n }\n\n if (!ignoreMap.badRequest)\n Core.ErrorHelper.throw(new errorMap.badRequest());\n}\n\nexport function handleXhrError(xhr: Xhr, customErrorMap?: HttpErrorMap): void {\n handleHttpError(xhr.status, customErrorMap);\n}","import { useEffect } from 'react';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\n\nconst SCROLL_TOLERANCE = 400; // value in px\n\ninterface UseInfiniteScrollOptions {\n fetchNextPage: () => void;\n hasMore: boolean;\n isFetching: boolean;\n scrollContainer?: HTMLElement;\n}\n\nexport function useInfiniteScroll(options: UseInfiniteScrollOptions): void {\n const handleScroll = (): void => {\n if (options.isFetching)\n return;\n\n if (!options.scrollContainer) {\n const currentScrollHeight = window.innerHeight + document.documentElement.scrollTop;\n \n const totalHeight = document.documentElement.scrollHeight - SCROLL_TOLERANCE;\n \n if (currentScrollHeight < totalHeight)\n return;\n } else {\n const { scrollContainer } = options;\n const currentScrollHeight = scrollContainer.getBoundingClientRect().height + scrollContainer.scrollTop;\n \n const totalHeight = scrollContainer.scrollHeight - SCROLL_TOLERANCE;\n \n if (currentScrollHeight < totalHeight)\n return;\n }\n\n options.fetchNextPage();\n };\n\n useEffect(() => {\n const onScroll = FunctionHelper.throttle(handleScroll, 200);\n\n const scrollContainer = options.scrollContainer || window;\n\n if (options.hasMore)\n scrollContainer.addEventListener('scroll', onScroll);\n\n return () => scrollContainer.removeEventListener('scroll', onScroll);\n }, [ options.hasMore, options.fetchNextPage, options.scrollContainer ]);\n}","import { useEffect, useState } from 'react';\n\nimport { HttpStatus, HttpStatusClass } from 'libs/common/backbone/enums/HttpStatus';\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { Flight } from 'libs/common/flight';\n\nimport { BaseObject, BasePaginatedCollection } from 'libs/shared/interfaces';\n\nimport { useInfiniteScroll } from './UseInfiniteScroll';\nimport { useSelectAllPages } from './UseSelectAllPages';\n\nexport interface UseInfiniteListResult<T extends BaseObject> {\n items: T[];\n hasMore: boolean;\n isFetching: boolean;\n nextCursor: string;\n totalItems?: number;\n hasFirstPageCompleted: boolean;\n}\n\n/**\n * Hook to extract an infinite list from the application state,\n * save it locally in state and only update when new data\n * is fetched.\n * \n * @param getRequest - callback function to get the request for each page.\n * Can be false if the request requires data that hasn't yet been fetched - e.g. user id.\n * \n * @param fetchNext - callback function to fetch a page.\n * Can be false if the request requires data that hasn't yet been fetched - e.g. user id.\n */\nexport function useInfiniteList<TObject = BaseObject, TResponse = BasePaginatedCollection<TObject>>(\n getRequest: ((cursor?: string) => Flight.Request) | false,\n fetchNext: ((cursor?: string) => void) | false,\n onError?: (pageNumber: number, statusCode: HttpStatus) => void,\n getItems?: (responseData: TResponse) => TObject[],\n getCursor?: (responseData: TResponse) => string,\n scrollContainer?: HTMLElement\n): UseInfiniteListResult<TObject> {\n const [ pagesFetched, setPagesFetched ] = useState(0);\n\n const fetchNextFn = fetchNext as (cursor?: string) => void;\n\n function getKey(cursor?: string): string {\n if (!getRequest)\n return null;\n\n const request = getRequest(cursor);\n\n if (!request)\n return null;\n\n return request.key;\n }\n\n const response = useSelectAllPages<TObject, TResponse>(\n getKey,\n getItems,\n getCursor\n );\n\n function fetchNextPage(): void {\n if (!fetchNext || !getRequest || !response)\n return;\n\n setPagesFetched(currentVal => currentVal + 1);\n return fetchNextFn(response.nextCursor);\n }\n\n useInfiniteScroll({\n fetchNextPage,\n hasMore: !!response?.nextCursor,\n isFetching: response?.isFetching,\n scrollContainer\n });\n\n useEffect(() => {\n if (!response)\n return;\n\n if (response.shouldInitialFetch && fetchNext) {\n fetchNextFn();\n setPagesFetched(currentVal => currentVal + 1);\n }\n }, [ response?.shouldInitialFetch, fetchNext ]);\n\n useEffect(() => {\n if (!response?.statusCode || !FunctionHelper.isFunction(onError))\n return;\n\n const httpStatusClass: HttpStatusClass = +(response.statusCode?.toString()?.substr(0, 1));\n\n if (httpStatusClass !== HttpStatusClass.ClientError && httpStatusClass !== HttpStatusClass.ServerError)\n return;\n\n onError(pagesFetched, response.statusCode);\n }, [response?.statusCode]);\n\n return {\n items: response?.items,\n hasMore: !!response?.nextCursor,\n nextCursor: response?.nextCursor,\n isFetching: response?.isFetching,\n totalItems: response?.totalItems,\n hasFirstPageCompleted: response?.hasFirstPageCompleted\n };\n}","import { Flight } from 'libs/common/react/index';\n\nimport { AudienceRequests } from 'libs/shared/flight-requests/AudienceRequests';\nimport { PresentationAudience } from 'libs/shared/interfaces';\n\nimport { usePresentation } from 'shared/hooks/usePresentation';\n\nexport const usePresentationAudiences = () => {\n const { activePresentation, getFallbackPresentation } = usePresentation({ redirectOnError: true });\n\n const presentation = activePresentation || getFallbackPresentation();\n\n const audiences = Flight.useBasicFetch<PresentationAudience[]>(\n !!presentation &&\n AudienceRequests.presentationAudiences(presentation.id)\n );\n\n return audiences;\n};","import React from 'react';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { ClassificationRequests } from 'libs/shared/flight-requests/ClassificationRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { CurrentUser, Video, VideoCollection } from 'libs/shared/interfaces';\n\ninterface VideoMixinOptions {\n /**\n * If the videos that are having new data mixed into are sitting on an explicit Flight namespace,\n * providing that namespace here is required\n */\n flightNamespace?: string;\n}\n\nexport function useVideoMixin(videos: VideoCollection | Video[], options: VideoMixinOptions = {}): void {\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n\n const hydratedVideos = React.useRef<Set<string>>(new Set<string>());\n\n const videoIds = videos && (Array.isArray(videos)\n ? videos.filter(Boolean).map(v => v.id)\n : videos.data.filter(Boolean).map(v => v.id));\n\n const [ request, setRequest ] = React.useState<Flight.Request[]>([]);\n\n React.useEffect(() => {\n if (!videoIds?.length || !currentUser.data?.isAuthenticated)\n return;\n\n const unhydratedVideos: string[] = [];\n\n videoIds.forEach(id => {\n if (!hydratedVideos.current.has(id)) {\n unhydratedVideos.push(id);\n hydratedVideos.current.add(id);\n }\n });\n \n if (!unhydratedVideos.length)\n return;\n\n setRequest(r => [\n ...r,\n ClassificationRequests.hasCurriculumLinks(unhydratedVideos, null, options.flightNamespace),\n VideoRequests.videoMixinAssocs(unhydratedVideos, options.flightNamespace)\n ]);\n }, [ videoIds?.length, currentUser.data?.isAuthenticated ]);\n\n Flight.useBasicFetchAll(request);\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EntityType, LocationContext, SignUpDescriptors, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nconst namespace = 'shared.favouritesEmptyState';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function FavouritesEmptyState(): JSX.Element {\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <EmptyState>\n <EmptyState.Image src={ImageUrls.EmptyStates.FAVOURITED_VIDEOS} altText={getPhrase('info')} />\n\n <div className='d-flex mb-2'>\n <EmptyState.Heading className='h3 mb-0'>\n <Text phrase='emptyStateHeading1' />\n </EmptyState.Heading>\n \n <div className='box-shadow rounded-circle p-1 bg-white mx-1'>\n <SvgContainer\n svgName={cvSvgLibrary.HeartOutline}\n size={SvgContainerSize.Small}\n />\n </div>\n\n <EmptyState.Heading className='h3 mb-0'>\n <Text phrase='emptyStateHeading2' />\n </EmptyState.Heading>\n </div>\n\n <EmptyState.Info><Text phrase='info' /></EmptyState.Info>\n\n <EmptyState.Cta\n text={LanguageService.getPhrase(namespace, 'cta')}\n appLink={{\n application: AppChannels.DASHBOARD,\n action: Actions.Dashboard.HOME\n }}\n />\n </EmptyState>\n </LanguageNamespaceContext.Provider>\n );\n}\n\nexport function FavouritesPublicEmptyState(): JSX.Element {\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <EmptyState>\n <EmptyState.Image src={ImageUrls.EmptyStates.FAVOURITED_VIDEOS_PUBLIC} altText={getPhrase('publicInfo')} />\n <EmptyState.Heading><Text phrase='publicHeading' /></EmptyState.Heading>\n <EmptyState.Info><Text phrase='publicInfo' /></EmptyState.Info>\n <EmptyState.Cta\n text={LanguageService.getPhrase(namespace, 'publicCta')}\n appLink={{\n application: AppChannels.SIGN_UP,\n action: Actions.SignUp.SIGN_UP\n }}\n analyticsData={{}}\n analyticsOptions={{\n actionType: UserAction.Click,\n location: LocationContext.MyFavouritesLanding,\n entity: EntityType.AppLink,\n workflowPhase: WorkflowPhase.Start,\n descriptor: SignUpDescriptors.SignUp\n }}\n />\n </EmptyState>\n </LanguageNamespaceContext.Provider>\n );\n}","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { VideoTypes } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { useVideoActions, VideoActionsLocation } from 'shared/hooks/use-video-actions/useVideoActions';\nimport { useLiteFavourites } from 'shared/hooks/useLiteFavourites';\n\nconst namespace = 'shared.favourites';\n\nexport function useFavouritesVideoActions() {\n const videoActions = useVideoActions({ location: VideoActionsLocation.VideoItem });\n const { setFavourite } = useLiteFavourites(LocationContext.VideoThumbnail);\n\n const getVideoActions = (video: VideoTypes) => {\n const { canConsume } = VideoHelper.getCanBeConsumed(video);\n\n if (!canConsume) {\n return [{\n label: LanguageService.getPhrase(namespace, 'removeFromFavourites'),\n svgName: cvSvgLibrary.Delete,\n button: false,\n className: 'btn btn-link text-danger',\n onClick: () => setFavourite(video, false)\n }];\n }\n\n return videoActions.getVideoActions(video);\n };\n\n return {\n ...videoActions,\n getVideoActions\n };\n}","// extracted by mini-css-extract-plugin\nexport default {\"banner\":\"FEWd3\"};","import * as React from 'react';\nimport { useDispatch } from 'react-redux';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { BannerHeader } from 'libs/shared/components/banner-header/BannerHeader';\nimport { InfiniteScrollFooter } from 'libs/shared/components/infinite-scroll-footer/InfiniteScrollFooter';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { LocalPermissionName } from 'libs/shared/enums/PermissionName';\nimport { handleHttpError } from 'libs/shared/errors/handlers/HttpErrorHandlers';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { FavouriteRequests } from 'libs/shared/flight-requests/FavouriteRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useInfiniteList } from 'libs/shared/hooks/UseInfiniteList';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Config, CurrentUser, VideoTypes, YearGroup } from 'libs/shared/interfaces';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { useLiteFavourites } from 'shared/hooks/useLiteFavourites';\nimport { usePresentationAudiences } from 'shared/hooks/usePresentationAudiences';\nimport { useVideoMixin } from 'shared/hooks/useVideoMixin';\nimport { InteractiveHelpers } from 'shared/utils/InteractiveHelper';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\n\nimport { SeriesAppLinkHelper } from 'apps/series/SeriesAppLinkHelper';\n\nimport { FavouritesEmptyState, FavouritesPublicEmptyState } from './empty-state/FavouritesEmptyState';\nimport { useFavouritesCount } from './hooks/useFavouritesCount';\nimport { useFavouritesVideoActions } from './FavouritesViewUtils';\n\nimport styles from './favourites-view.scss';\n\nconst namespace = 'shared.favourites';\n\nexport function FavouritesView(): JSX.Element {\n const dispatch = useDispatch();\n const alerts = useAlerts();\n const { setFavourite, canFavourite } = useLiteFavourites(LocationContext.VideoThumbnail);\n const videoActions = useFavouritesVideoActions();\n\n useSetPageMetadata({ title: LanguageService.getPhrase(namespace, 'pageTitle') });\n const { hasLocalPermissions, hasPermissions } = usePermissions();\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const getRequest = (cursor?: string) => {\n return FavouriteRequests.getFavourites(currentUser.data.id, cursor);\n };\n\n const fetchNext = (cursor?: string) => {\n return Flight.getFetch(dispatch)(getRequest(cursor));\n };\n\n const shouldFetch = !hasLocalPermissions(LocalPermissionName.ViewMyFavouritesLanding) && currentUser.hasCompleted;\n\n const {\n items,\n hasMore,\n isFetching\n } = useInfiniteList<VideoTypes>(shouldFetch ? getRequest : false, fetchNext, onError);\n\n useVideoMixin(items?.filter(VideoHelper.isVideo) ?? []);\n \n const audiences = usePresentationAudiences();\n\n function onError(pageNumber: number, httpStatus: HttpStatus): void {\n if (pageNumber === 1)\n return handleHttpError(httpStatus);\n\n alerts.error(LanguageService.getPhrase(namespace, 'error'));\n }\n\n const { count, isLoading } = useFavouritesCount(currentUser.data?.id);\n if (isLoading)\n return <></>;\n\n if (hasLocalPermissions(LocalPermissionName.ViewMyFavouritesLanding))\n return <FavouritesPublicEmptyState />;\n\n return (\n <VideoActionsContext.Provider value={videoActions}>\n <div className='p-3'>\n <BannerHeader\n heading={LanguageService.getPhrase(namespace, 'header')}\n banner={{ url: ImageUrls.FAVOURITES_PLAYLIST.FAV_PLAYLIST_BANNER }}\n bannerClassName={`${styles.banner} bg-pink`}\n imageCdnUrl={config.data?.imageCdnUrl}\n detailsComponent={() => (\n <div className='mb-n1 font-size-normal fw-normal mt-1'>\n <Text namespace={namespace} phrase='videos' options={{ smartCount: count }} />\n </div>\n )}\n />\n \n {(() => {\n if (!items)\n return <PartialVideoList />;\n\n if (!items.length)\n return <FavouritesEmptyState />;\n\n return (\n <>\n <VideoList\n videos={items}\n yearGroups={yearGroups.data}\n getVideoAppLink={VideoAppLinkHelper.getAppLink}\n hasPermissions={hasPermissions}\n getSubTextAppLink={video => SeriesAppLinkHelper.getSeriesAppLink(video.series)}\n setFavourite={setFavourite}\n canFavourite={canFavourite}\n presentationAudiences={audiences.data}\n getPreviewQuestionsAppLink={interactive => InteractiveHelpers.getPreviewQuestionsAppLink(interactive)}\n />\n {(hasMore || isFetching) && <InfiniteScrollFooter isFetching={isFetching} fetchNext={fetchNext} />}\n </>\n );\n })()}\n </div>\n </VideoActionsContext.Provider>\n );\n}","\nimport { Flight } from 'libs/common/flight';\n\nimport { FavouriteRequests } from 'libs/shared/flight-requests/FavouriteRequests';\nimport { FavouritesCountResponse } from 'libs/shared/interfaces';\n\nexport function useFavouritesCount(userId?: string) {\n// todo there is a beckend bug that we cannot group fetch these three number\n const favouriteVideosCount = Flight.useBasicFetch<FavouritesCountResponse>(userId &&\n FavouriteRequests.getFavouritesVideosCount(userId));\n const favouriteClipsCount = Flight.useBasicFetch<FavouritesCountResponse>(userId &&\n FavouriteRequests.getFavouritesClipsCount(userId));\n const favouriteInteractivesCount = Flight.useBasicFetch<FavouritesCountResponse>(userId &&\n FavouriteRequests.getFavouritesInteractivesCount(userId));\n \n const totalCount = favouriteVideosCount.data?.count\n + favouriteInteractivesCount.data?.count\n + favouriteClipsCount.data?.count;\n\n const favourites = [\n ...(favouriteVideosCount.data?.data || []),\n ...(favouriteClipsCount.data?.data || []),\n ...(favouriteInteractivesCount.data?.data || [])\n ];\n\n return {\n count: totalCount,\n favourites,\n isLoading: !favouriteVideosCount.data?.data\n || !favouriteClipsCount.data?.data\n || !favouriteInteractivesCount.data?.data\n };\n}","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix, useBootstrapBreakpoints, useBootstrapMinBreakpoint } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Row = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n ...props\n}, ref) => {\n const decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'row');\n const breakpoints = useBootstrapBreakpoints();\n const minBreakpoint = useBootstrapMinBreakpoint();\n const sizePrefix = `${decoratedBsPrefix}-cols`;\n const classes = [];\n breakpoints.forEach(brkPoint => {\n const propValue = props[brkPoint];\n delete props[brkPoint];\n let cols;\n if (propValue != null && typeof propValue === 'object') {\n ({\n cols\n } = propValue);\n } else {\n cols = propValue;\n }\n const infix = brkPoint !== minBreakpoint ? `-${brkPoint}` : '';\n if (cols != null) classes.push(`${sizePrefix}${infix}-${cols}`);\n });\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, decoratedBsPrefix, ...classes)\n });\n});\nRow.displayName = 'Row';\nexport default Row;"],"names":["namespace","ComingSoonTag","props","Tooltip","title","LanguageService","spanHackClassName","spanHack","className","SvgContainer","svgName","onlyIcon","GenericCalendarDate","AppLink","appLink","getAppLink","theme","border","analyticsData","analyticsOptions","background","label","body","type","getBodyClass","text","month","PortalHelper","renderInPortalIfExists","component","portalContainer","createPortal","BackButton","textShadow","backToName","color","extraClasses","backPhrase","colorClass","textShadowClass","size","S","defaultProps","RATIO","width","height","getSizeClass","heading","length","BannerHeader","banner","imageCdnUrl","actions","sortComponent","blockColourClass","specialEvent","portalContainerContext","BannerPortalContext","imageWidth","useBreakpoints","xxl","specialEventIsToday","showComingSoon","today","DateHelper","Date","endDate","startDate","imageOptions","ratio","resizeType","url","ImageHelper","fallbackBaseUrl","fallbackCategoryName","containerProps","bannerClassName","style","backgroundImage","DetailsComponent","detailsComponent","backButtonAppLink","backButtonText","backButtonClasses","alignLogoLeft","logo","calendarTheme","Text","phrase","LazyImage","src","Actions","actionsDropdownClassName","container","prevProps","nextProps","PartialBannerHeader","InfiniteScrollFooter","ref","inView","fetchOnScroll","isFetching","fetchNext","nextCursor","Spinner","as","animation","role","onClick","PartialVideoList","Array","numVideos","fill","map","_","i","key","allowBulkActions","PartialVideoItem","breakpoints","isSmall","VideoListHelper","withDragHandle","withReordering","xs","Row","Col","defaultErrors","notFound","forbidden","rating","yearLevel","region","privacy","badRequest","handleHttpError","info","customErrorMap","ignoreMap","statusCode","status","errorMap","SCROLL_TOLERANCE","useInfiniteList","getRequest","onError","getItems","getCursor","scrollContainer","options","handleScroll","useState","pagesFetched","setPagesFetched","fetchNextFn","response","cursor","request","fetchNextPage","currentVal","hasMore","getBoundingClientRect","scrollTop","scrollHeight","window","innerHeight","document","documentElement","useEffect","onScroll","FunctionHelper","addEventListener","removeEventListener","shouldInitialFetch","httpStatusClass","toString","substr","HttpStatus","items","totalItems","hasFirstPageCompleted","usePresentationAudiences","redirectOnError","activePresentation","getFallbackPresentation","presentation","id","useVideoMixin","videos","currentUser","hydratedVideos","Set","videoIds","isArray","filter","Boolean","v","data","setRequest","isAuthenticated","unhydratedVideos","forEach","current","has","push","add","r","flightNamespace","getPhrase","FavouritesEmptyState","value","EmptyState","ImageUrls","altText","application","action","FavouritesPublicEmptyState","actionType","location","entity","workflowPhase","descriptor","SignUp","FavouritesView","dispatch","alerts","useLiteFavourites","u","setFavourite","canFavourite","videoActions","useVideoActions","getVideoActions","video","VideoHelper","canConsume","button","useFavouritesVideoActions","useSetPageMetadata","usePermissions","hasLocalPermissions","hasPermissions","UserRequests","yearGroups","CustomerRequests","customerId","config","ConfigRequests","FavouriteRequests","shouldFetch","hasCompleted","pageNumber","httpStatus","error","audiences","useFavouritesCount","count","isLoading","VideoActionsContext","smartCount","VideoList","getVideoAppLink","VideoAppLinkHelper","getSubTextAppLink","SeriesAppLinkHelper","series","presentationAudiences","getPreviewQuestionsAppLink","interactive","InteractiveHelper","userId","favouriteVideosCount","favouriteClipsCount","favouriteInteractivesCount","favourites","bsPrefix","Component","decoratedBsPrefix","minBreakpoint","sizePrefix","classes","brkPoint","propValue","cols","infix","displayName"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[8025],{2381:(e,t,n)=>{n.d(t,{q:()=>o});var a=n(5173),r=n(23481),l="playlists.validation",o=a.Ry().shape({name:a.Z_().max(250,(function(){return r.T.getPhrase(l,"nameExceeds")})).required((function(){return r.T.getPhrase(l,"nameRequired")})),description:a.Z_().max(16e3,(function(){return r.T.getPhrase(l,"descriptionExceeds")})).nullable()})},38365:(e,t,n)=>{n.d(t,{n:()=>O,W:()=>E});var a=n(32735),r=n(80247),l=n(80130),o=n(92802),i=n(91967),c=n(1048),s=n(36848),u=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(e);r<a.length;r++)t.indexOf(a[r])<0&&Object.prototype.propertyIsEnumerable.call(e,a[r])&&(n[a[r]]=e[a[r]])}return n};function m(e){var t=e.label,n=e.checkboxLabelClassName,r=e.checkboxLabelFontWeight,o=e.className,i=u(e,["label","checkboxLabelClassName","checkboxLabelFontWeight","className"]);return a.createElement(l.Z.Group,{className:"form-group"},a.createElement("div",{className:"form-check ".concat(o||"")},a.createElement(O,Object.assign({className:"form-check-input"},i)),a.createElement(l.Z.Label,{className:"form-check-label cursor-pointer ".concat("normal"===r?"fw-normal":""," \n ").concat(n),htmlFor:i.id},t),e.checkboxAppLink&&e.checkboxAppLinkText&&a.createElement(a.Fragment,null,a.createElement("span",null," "),a.createElement(s.F,{appLink:e.checkboxAppLink,className:"info-link"},e.checkboxAppLinkText))))}var p=n(83914),f=n(83345),d=n(73814),b=n(35223);function y(e){var t=(0,o.u6)().values[e.fieldName];return"string"!=typeof t?a.createElement(a.Fragment,null):a.createElement("div",{className:"float-end text-secondary fw-normal"},t.length,"/",e.limit," characters")}const h={revealPassword:"jCfI0",passwordInput:"RBJnf",passwordContainer:"d78lK",passwordContainerDisabled:"asbVo",infoTooltip:"wzyOG",spinner:"CycFx"};function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var g=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(e);r<a.length;r++)t.indexOf(a[r])<0&&Object.prototype.propertyIsEnumerable.call(e,a[r])&&(n[a[r]]=e[a[r]])}return n},w="shared.formField";function O(e){var t,n,l=e.children,s=e.showLoadingSpinner,u=g(e,["children","showLoadingSpinner"]),m=(t=a.useState(e.type),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,l,o,i=[],c=!0,s=!1;try{if(l=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=l.call(n)).done)&&(i.push(a.value),i.length!==t);c=!0);}catch(e){s=!0,r=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw r}}return i}}(t,n)||function(e,t){if(e){if("string"==typeof e)return v(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?v(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),f=m[0],d=m[1],y=i.q.isFunction(l)?function(e){return l(e)}:a.Children.count(l)?l:null;if("password"!==u.type)return s?a.createElement("div",{className:"position-relative"},a.createElement(o.gN,Object.assign({},c.t.omit(u,["formSize"])),y),a.createElement("div",{className:h.spinner},a.createElement(r.Z,{animation:"border",size:"sm"}))):a.createElement(o.gN,Object.assign({},c.t.omit(u,["formSize"])),y);var w="position-relative ".concat(h.passwordContainer);return u.className&&(w+=" ".concat(u.className)),u.disabled&&(w+=" ".concat(h.passwordContainerDisabled)),a.createElement("div",{className:w},a.createElement(o.gN,Object.assign({},c.t.omit(u,["formSize","type","className"]),{type:f,className:"".concat(h.passwordInput," border-0 w-100 h-100 outline-none rounded")}),y),"password"===u.type&&a.createElement(p.x,{svgName:"password"===f?b.vn.VisibleOn:b.vn.VisibleOff,className:"svg-container cursor-pointer ".concat(h.revealPassword),onClick:function(){d("password"===f?"text":"password")}}))}function E(e){var t=e.label,n=e.className,r=e.showCharacterCounter,i=e.showRequiredStar,s=e.infoTooltip,u=e.infoTooltipPlacement,v=e.infoText,E=e.formSize,C=e.showOptionalLabel,S=g(e,["label","className","showCharacterCounter","showRequiredStar","infoTooltip","infoTooltipPlacement","infoText","formSize","showOptionalLabel"]),x=(0,o.u6)(),N=x.errors,P=x.touched,k=function(){};if("checkbox"===S.type){var j=c.t.omit(e,["formSize","infoTooltipPlacement"]);return e.disabled&&(j.onChange=k),a.createElement(m,Object.assign({},j))}var T=Object.assign(Object.assign({},S),{className:d.w.getCustomFormControlClassName(N,P,S.name,E,n,"string"==typeof e.as?e.as:null)});return e.disabled&&(T.onChange=k),a.createElement(l.Z.Group,{className:"form-group"},!!t&&a.createElement(l.Z.Label,{htmlFor:S.id,className:"d-flex align-items-center"},t,i&&a.createElement("span",{className:"text-danger"},"*"),s&&a.createElement(p.x,{className:"svg-container text-secondary ".concat(h.infoTooltip),svgName:b.vn.Info,title:s,tooltipPlacement:u,tooltipSpanHack:!0}),C&&a.createElement("span",{className:"text-secondary"}," ",a.createElement(f.x,{namespace:w,phrase:"optional"})),!!r&&!!S.maxLength&&a.createElement("div",{className:"ms-auto"},a.createElement(y,{fieldName:S.name,limit:S.maxLength}))),a.createElement(O,Object.assign({},T)),!!v&&a.createElement(l.Z.Text,{className:"text-secondary"},v),a.createElement(o.Bc,{name:S.name},(function(e){return a.createElement(l.Z.Control.Feedback,{type:"invalid"},e)})))}O.defaultProps={autoComplete:"off"},E.defaultProps={autoComplete:"off",infoTooltipPlacement:"top"}},82644:(e,t,n)=>{n.d(t,{b:()=>u,n:()=>s});var a=n(32735),r=n(92802),l=n(91967),o=n(1048);function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var c=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(e);r<a.length;r++)t.indexOf(a[r])<0&&Object.prototype.propertyIsEnumerable.call(e,a[r])&&(n[a[r]]=e[a[r]])}return n};function s(e){var t=e.castInitialValues,n=e.castValuesOnSubmit,s=e.initialValues,u=e.onSubmit,m=c(e,["castInitialValues","castValuesOnSubmit","initialValues","onSubmit"]),p=t&&e.validationSchema?e.validationSchema.cast(function(e){if(!e)return{};var t=o.t.deepClone(e);return function e(n){Object.keys(t).forEach((function(a){t.hasOwnProperty(a)&&(o.t.isObject(n[a])?e(n[a]):null===t[a]&&delete t[a])}))}(t),t}(s)):s,f={allowInitialSubmit:e.allowInitialSubmit};return a.createElement(r.J9,Object.assign({enableReinitialize:!0},m,{initialValues:p,onSubmit:function(t,a){var r=a.setSubmitting,l=a.resetForm,o=a.setFieldError,c=n&&e.validationSchema?e.validationSchema.cast(t):t;u(c,(function(){var e,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(n.reset&&l(),n.errors)for(var a=0,c=Object.entries(n.errors);a<c.length;a++){var s=(e=c[a],t=2,function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,l,o,i=[],c=!0,s=!1;try{if(l=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=l.call(n)).done)&&(i.push(a.value),i.length!==t);c=!0);}catch(e){s=!0,r=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw r}}return i}}(e,t)||function(e,t){if(e){if("string"==typeof e)return i(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),u=s[0],m=s[1];o(u,m)}r(!1)}))},initialStatus:f}),l.q.isFunction(e.children)?function(t){return e.children(t)}:a.Children.count(e.children)?e.children:null)}function u(){return(0,r.u6)()}s.defaultProps={castInitialValues:!0,castValuesOnSubmit:!0}},73814:(e,t,n)=>{n.d(t,{w:()=>r});var a=n(92802),r={getCustomFormControlClassName:function(e,t,n,r,l,o){var i="";return i=function(e,t){var n="";return n="select"===e?"form-select":"form-control","sm"===t&&(n+=" ".concat(n,"-sm")),"lg"===t&&(n+=" ".concat(n,"-lg")),n}(o,r),(0,a.u9)(t,n)&&(0,a.u9)(e,n)&&(i+=" is-invalid"),l&&(i+=" ".concat(l)),i}}},86644:(e,t,n)=>{n.d(t,{e:()=>p});var a=n(32735),r=n(92802),l=n(23481),o=n(2381),i=n(38365),c=n(82644),s=n(13876),u=l.T.encloseNamespace("playlists.playlistDetails");function m(e){var t=(0,c.b)();return a.createElement(r.l0,null,a.createElement(i.W,{label:u("nameLabel"),type:"text",name:"name",id:"name",placeholder:u("namePlaceholder"),autoFocus:!0,value:t.values.name,showRequiredStar:!0}),a.createElement(i.W,{label:u("descriptionLabel"),component:"textarea",name:"description",id:"description",placeholder:u("descriptionPlaceholder"),value:t.values.description}),a.createElement(s.u,null,a.createElement(s.u.Cancel,{onClick:e.onClickCancel}),a.createElement(s.u.Submit,{variant:"dark",isNew:e.isNew,text:e.submitText})))}function p(e){var t=e.playlist,n=void 0===t?{}:t,r=n.name,l=void 0===r?"":r,i=n.description,s=void 0===i?"":i,u=n.id,p=void 0===u?null:u,f=e.savePlaylist,d=e.onClickCancel,b=e.cancelButtonClass;return a.createElement(c.n,{initialValues:{name:l,description:s},validationSchema:o.q,onSubmit:f},a.createElement(m,{isNew:!p,onClickCancel:d,cancelButtonClass:b,submitText:e.submitText}))}},8025:(e,t,n)=>{n.r(t),n.d(t,{NewPlaylistView:()=>g});var a=n(32735),r=n(70680),l=n(23481),o=n(81886),i=n(20354),c=n(28400),s=n(49985),u=n(65858),m=n(9111),p=n(5112),f=n(31949),d=n(69883),b=n(79612),y=n(14070),h=n(86644),v=l.T.encloseNamespace("playlists.newPlaylist");function g(e){var t=(0,r.I0)(),n=(0,d.Z)();(0,b.M)({title:v("title")});var l=i.a.useBasicFetch(f.N.currentUser());return a.createElement(m.G,{title:v("title"),closePopup:e.closePopup,showLoadingSpinner:!l.data},!!l.data&&a.createElement(h.e,{savePlaylist:function(a){i.a.fetch(t,p.C.createPlaylist(l.data.id,a,(function(t){n.success(v("success",{name:a.name,escapeText:!0})),s.k.logUserAction({id:t.id},s.k.mergeOptions(e.analyticsOptions,{actionType:u.Vw.Create,entity:u.py.Playlist,workflowPhase:u.eu.Complete})),e.closePopup(),o.Q.C$.trigger({application:e.application,action:y.e.Playlists.PLAYLIST,args:[t.id,c.m.slugify(t.name)]})}),(function(){n.error(v("error")),e.closePopup()})))},onClickCancel:e.closePopup,cancelButtonClass:"link",submitText:v("submit")}))}}}]);
2
- //# sourceMappingURL=8025-d7a573aca0-lite.chunk.js.map
1
+ "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[8025],{2381:(e,t,n)=>{n.d(t,{q:()=>o});var a=n(5173),r=n(23481),l="playlists.validation",o=a.Ry().shape({name:a.Z_().max(250,(function(){return r.T.getPhrase(l,"nameExceeds")})).required((function(){return r.T.getPhrase(l,"nameRequired")})),description:a.Z_().max(16e3,(function(){return r.T.getPhrase(l,"descriptionExceeds")})).nullable()})},38365:(e,t,n)=>{n.d(t,{n:()=>O,W:()=>E});var a=n(32735),r=n(80247),l=n(80130),o=n(92802),i=n(91967),c=n(1048),s=n(36848),u=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(e);r<a.length;r++)t.indexOf(a[r])<0&&Object.prototype.propertyIsEnumerable.call(e,a[r])&&(n[a[r]]=e[a[r]])}return n};function m(e){var t=e.label,n=e.checkboxLabelClassName,r=e.checkboxLabelFontWeight,o=e.className,i=u(e,["label","checkboxLabelClassName","checkboxLabelFontWeight","className"]);return a.createElement(l.Z.Group,{className:"form-group"},a.createElement("div",{className:"form-check ".concat(o||"")},a.createElement(O,Object.assign({className:"form-check-input"},i)),a.createElement(l.Z.Label,{className:"form-check-label cursor-pointer ".concat("normal"===r?"fw-normal":""," \n ").concat(n),htmlFor:i.id},t),e.checkboxAppLink&&e.checkboxAppLinkText&&a.createElement(a.Fragment,null,a.createElement("span",null," "),a.createElement(s.F,{appLink:e.checkboxAppLink,className:"info-link"},e.checkboxAppLinkText))))}var p=n(83914),f=n(83345),d=n(73814),b=n(35223);function y(e){var t=(0,o.u6)().values[e.fieldName];return"string"!=typeof t?a.createElement(a.Fragment,null):a.createElement("div",{className:"float-end text-secondary fw-normal"},t.length,"/",e.limit," characters")}const h={revealPassword:"jCfI0",passwordInput:"RBJnf",passwordContainer:"d78lK",passwordContainerDisabled:"asbVo",infoTooltip:"wzyOG",spinner:"CycFx"};function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var g=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(e);r<a.length;r++)t.indexOf(a[r])<0&&Object.prototype.propertyIsEnumerable.call(e,a[r])&&(n[a[r]]=e[a[r]])}return n},w="shared.formField";function O(e){var t,n,l=e.children,s=e.showLoadingSpinner,u=g(e,["children","showLoadingSpinner"]),m=(t=a.useState(e.type),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,l,o,i=[],c=!0,s=!1;try{if(l=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=l.call(n)).done)&&(i.push(a.value),i.length!==t);c=!0);}catch(e){s=!0,r=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw r}}return i}}(t,n)||function(e,t){if(e){if("string"==typeof e)return v(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?v(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),f=m[0],d=m[1],y=i.q.isFunction(l)?function(e){return l(e)}:a.Children.count(l)?l:null;if("password"!==u.type)return s?a.createElement("div",{className:"position-relative"},a.createElement(o.gN,Object.assign({},c.t.omit(u,["formSize"])),y),a.createElement("div",{className:h.spinner},a.createElement(r.Z,{animation:"border",size:"sm"}))):a.createElement(o.gN,Object.assign({},c.t.omit(u,["formSize"])),y);var w="position-relative ".concat(h.passwordContainer);return u.className&&(w+=" ".concat(u.className)),u.disabled&&(w+=" ".concat(h.passwordContainerDisabled)),a.createElement("div",{className:w},a.createElement(o.gN,Object.assign({},c.t.omit(u,["formSize","type","className"]),{type:f,className:"".concat(h.passwordInput," border-0 w-100 h-100 outline-none rounded")}),y),"password"===u.type&&a.createElement(p.x,{svgName:"password"===f?b.vn.VisibleOn:b.vn.VisibleOff,className:"svg-container cursor-pointer ".concat(h.revealPassword),onClick:function(){d("password"===f?"text":"password")}}))}function E(e){var t=e.label,n=e.className,r=e.showCharacterCounter,i=e.showRequiredStar,s=e.infoTooltip,u=e.infoTooltipPlacement,v=e.infoText,E=e.formSize,C=e.showOptionalLabel,S=g(e,["label","className","showCharacterCounter","showRequiredStar","infoTooltip","infoTooltipPlacement","infoText","formSize","showOptionalLabel"]),x=(0,o.u6)(),N=x.errors,P=x.touched,k=function(){};if("checkbox"===S.type){var j=c.t.omit(e,["formSize","infoTooltipPlacement"]);return e.disabled&&(j.onChange=k),a.createElement(m,Object.assign({},j))}var T=Object.assign(Object.assign({},S),{className:d.w.getCustomFormControlClassName(N,P,S.name,E,n,"string"==typeof e.as?e.as:null)});return e.disabled&&(T.onChange=k),a.createElement(l.Z.Group,{className:"form-group"},!!t&&a.createElement(l.Z.Label,{htmlFor:S.id,className:"d-flex align-items-center"},t,i&&a.createElement("span",{className:"text-danger"},"*"),s&&a.createElement(p.x,{className:"svg-container text-secondary ".concat(h.infoTooltip),svgName:b.vn.Info,title:s,tooltipPlacement:u,tooltipSpanHack:!0}),C&&a.createElement("span",{className:"text-secondary"}," ",a.createElement(f.x,{namespace:w,phrase:"optional"})),!!r&&!!S.maxLength&&a.createElement("div",{className:"ms-auto"},a.createElement(y,{fieldName:S.name,limit:S.maxLength}))),a.createElement(O,Object.assign({},T)),!!v&&a.createElement(l.Z.Text,{className:"text-secondary"},v),a.createElement(o.Bc,{name:S.name},(function(e){return a.createElement(l.Z.Control.Feedback,{type:"invalid"},e)})))}O.defaultProps={autoComplete:"off"},E.defaultProps={autoComplete:"off",infoTooltipPlacement:"top"}},82644:(e,t,n)=>{n.d(t,{b:()=>u,n:()=>s});var a=n(32735),r=n(92802),l=n(91967),o=n(1048);function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var c=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(e);r<a.length;r++)t.indexOf(a[r])<0&&Object.prototype.propertyIsEnumerable.call(e,a[r])&&(n[a[r]]=e[a[r]])}return n};function s(e){var t=e.castInitialValues,n=e.castValuesOnSubmit,s=e.initialValues,u=e.onSubmit,m=c(e,["castInitialValues","castValuesOnSubmit","initialValues","onSubmit"]),p=t&&e.validationSchema?e.validationSchema.cast(function(e){if(!e)return{};var t=o.t.deepClone(e);return function e(n){Object.keys(t).forEach((function(a){t.hasOwnProperty(a)&&(o.t.isObject(n[a])?e(n[a]):null===t[a]&&delete t[a])}))}(t),t}(s)):s,f={allowInitialSubmit:e.allowInitialSubmit};return a.createElement(r.J9,Object.assign({enableReinitialize:!0},m,{initialValues:p,onSubmit:function(t,a){var r=a.setSubmitting,l=a.resetForm,o=a.setFieldError,c=n&&e.validationSchema?e.validationSchema.cast(t):t;u(c,(function(){var e,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(n.reset&&l(),n.errors)for(var a=0,c=Object.entries(n.errors);a<c.length;a++){var s=(e=c[a],t=2,function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,l,o,i=[],c=!0,s=!1;try{if(l=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=l.call(n)).done)&&(i.push(a.value),i.length!==t);c=!0);}catch(e){s=!0,r=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw r}}return i}}(e,t)||function(e,t){if(e){if("string"==typeof e)return i(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),u=s[0],m=s[1];o(u,m)}r(!1)}))},initialStatus:f}),l.q.isFunction(e.children)?function(t){return e.children(t)}:a.Children.count(e.children)?e.children:null)}function u(){return(0,r.u6)()}s.defaultProps={castInitialValues:!0,castValuesOnSubmit:!0}},73814:(e,t,n)=>{n.d(t,{w:()=>r});var a=n(92802),r={getCustomFormControlClassName:function(e,t,n,r,l,o){var i="";return i=function(e,t){var n="";return n="select"===e?"form-select":"form-control","sm"===t&&(n+=" ".concat(n,"-sm")),"lg"===t&&(n+=" ".concat(n,"-lg")),n}(o,r),(0,a.u9)(t,n)&&(0,a.u9)(e,n)&&(i+=" is-invalid"),l&&(i+=" ".concat(l)),i}}},86644:(e,t,n)=>{n.d(t,{e:()=>p});var a=n(32735),r=n(92802),l=n(23481),o=n(2381),i=n(38365),c=n(82644),s=n(13876),u=l.T.encloseNamespace("playlists.playlistDetails");function m(e){var t=(0,c.b)();return a.createElement(r.l0,null,a.createElement(i.W,{label:u("nameLabel"),type:"text",name:"name",id:"name",placeholder:u("namePlaceholder"),autoFocus:!0,value:t.values.name,showRequiredStar:!0}),a.createElement(i.W,{label:u("descriptionLabel"),component:"textarea",name:"description",id:"description",placeholder:u("descriptionPlaceholder"),value:t.values.description}),a.createElement(s.u,null,a.createElement(s.u.Cancel,{onClick:e.onClickCancel}),a.createElement(s.u.Submit,{variant:"dark",isNew:e.isNew,text:e.submitText})))}function p(e){var t=e.playlist,n=void 0===t?{}:t,r=n.name,l=void 0===r?"":r,i=n.description,s=void 0===i?"":i,u=n.id,p=void 0===u?null:u,f=e.savePlaylist,d=e.onClickCancel,b=e.cancelButtonClass;return a.createElement(c.n,{initialValues:{name:l,description:s},validationSchema:o.q,onSubmit:f},a.createElement(m,{isNew:!p,onClickCancel:d,cancelButtonClass:b,submitText:e.submitText}))}},8025:(e,t,n)=>{n.r(t),n.d(t,{NewPlaylistView:()=>v});var a=n(32735),r=n(70680),l=n(23481),o=n(81886),i=n(20354),c=n(28400),s=n(49985),u=n(65858),m=n(9111),p=n(5112),f=n(31949),d=n(69883),b=n(14070),y=n(86644),h=l.T.encloseNamespace("playlists.newPlaylist");function v(e){var t=(0,r.I0)(),n=(0,d.Z)(),l=i.a.useBasicFetch(f.N.currentUser());return a.createElement(m.G,{title:h("title"),closePopup:e.closePopup,showLoadingSpinner:!l.data},!!l.data&&a.createElement(y.e,{savePlaylist:function(a){i.a.fetch(t,p.C.createPlaylist(l.data.id,a,(function(t){n.success(h("success",{name:a.name,escapeText:!0})),s.k.logUserAction({id:t.id},s.k.mergeOptions(e.analyticsOptions,{actionType:u.Vw.Create,entity:u.py.Playlist,workflowPhase:u.eu.Complete})),e.closePopup(),o.Q.C$.trigger({application:e.application,action:b.e.Playlists.PLAYLIST,args:[t.id,c.m.slugify(t.name)]})}),(function(){n.error(h("error")),e.closePopup()})))},onClickCancel:e.closePopup,cancelButtonClass:"link",submitText:h("submit")}))}}}]);
2
+ //# sourceMappingURL=8025-24e45dc3b7-lite.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scripts/8025-24e45dc3b7-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/playlists/validation/PlaylistValidationSchema.ts","file:///app/packages/libs/shared/src/components/forms/form-checkbox/FormCheckbox.tsx","file:///app/packages/libs/shared/src/components/forms/form-field/CharacterCounter.tsx","file:///app/packages/libs/shared/src/components/forms/form-field/form-field.scss","file:///app/packages/libs/shared/src/components/forms/form-field/FormField.tsx","file:///app/packages/libs/shared/src/components/forms/form-wrapper/FormWrapper.tsx","file:///app/packages/libs/shared/src/utils/FormHelper.ts","file:///app/packages/projects/lite/src/apps/playlists/components/playlist-details/PlaylistDetails.tsx","file:///app/packages/projects/lite/src/apps/playlists/views/new-playlist/NewPlaylistView.tsx"],"sourcesContent":["import * as Yup from 'yup';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nconst namespace = 'playlists.validation';\n\nexport const PlaylistValidationSchema = Yup.object().shape({\n name: Yup.string()\n .max(250, () => LanguageService.getPhrase(namespace, 'nameExceeds'))\n .required(() => LanguageService.getPhrase(namespace, 'nameRequired')),\n description: Yup.string()\n .max(16000, () => LanguageService.getPhrase(namespace, 'descriptionExceeds'))\n .nullable()\n});","import * as React from 'react';\nimport { Form } from 'react-bootstrap';\nimport { FieldAttributes } from 'formik';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\n\nimport { FieldWrapper, FormFieldProps } from '../form-field/FormField';\n\n/**\n * Use this checkbox within Formik contexts\n */\nexport function FormCheckbox(props: FieldAttributes<FormFieldProps>): JSX.Element {\n const { label, checkboxLabelClassName, checkboxLabelFontWeight, className, ...fieldProps } = props;\n\n return (\n <Form.Group className='form-group'>\n <div className={`form-check ${className || ''}`}>\n <FieldWrapper className='form-check-input' {...fieldProps} />\n <Form.Label\n className={`form-check-label cursor-pointer ${checkboxLabelFontWeight === 'normal' ? 'fw-normal' : ''} \n ${checkboxLabelClassName}`}\n htmlFor={fieldProps.id}\n >\n {label}\n </Form.Label>\n {props.checkboxAppLink && props.checkboxAppLinkText && (\n <>\n <span>&nbsp;</span>\n <AppLink appLink={props.checkboxAppLink} className='info-link'>\n {props.checkboxAppLinkText}\n </AppLink>\n </>\n )}\n </div>\n </Form.Group>\n );\n}\n\n","import * as React from 'react';\nimport { useFormikContext } from 'formik';\n\nimport { HashObject } from 'libs/common/react/interfaces';\n\ninterface CharacterCounterProps<Values extends HashObject> {\n fieldName: keyof Values;\n limit: number;\n}\n\nexport function CharacterCounter<Values extends HashObject>(props: CharacterCounterProps<Values>): JSX.Element {\n const { values } = useFormikContext<Values>();\n\n const field = values[props.fieldName];\n\n if (typeof field !== 'string')\n return <></>;\n\n return (\n <div className='float-end text-secondary fw-normal'>\n {field.length}/{props.limit} characters\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"revealPassword\":\"jCfI0\",\"passwordInput\":\"RBJnf\",\"passwordContainer\":\"d78lK\",\"passwordContainerDisabled\":\"asbVo\",\"infoTooltip\":\"wzyOG\",\"spinner\":\"CycFx\"};","import * as React from 'react';\nimport { Form, Spinner } from 'react-bootstrap';\nimport { Placement } from 'react-bootstrap/esm/types';\nimport { ErrorMessage, Field, FieldAttributes, FieldProps, useFormikContext } from 'formik';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { FormCheckbox } from 'libs/shared/components/forms/form-checkbox/FormCheckbox';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { FormHelper } from 'libs/shared/utils/FormHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { CharacterCounter } from './CharacterCounter';\n\nimport styles from './form-field.scss';\n\nconst namespace = 'shared.formField';\n\nexport type FormSize = 'lg' | 'sm';\n\n// If checkboxLabelFontWeight is not specified, it will be bold by default\nexport type CheckboxLabelFontWeight = 'normal' | 'bold'\n\nexport interface FormFieldProps {\n /**\n * The name prop MUST be the same as the attribute\n * name of the value that the field is bound to.\n */\n name: string;\n label?: string;\n children?: any;\n showCharacterCounter?: boolean;\n showRequiredStar?: boolean;\n checkboxAppLink?: Core.AppLink;\n checkboxAppLinkText?: string;\n checkboxLabelClassName?: string;\n checkboxLabelFontWeight?: CheckboxLabelFontWeight\n infoTooltip?: string;\n infoTooltipPlacement?: Placement;\n infoText?: string;\n formSize?: FormSize;\n showOptionalLabel?: boolean;\n showLoadingSpinner?: boolean;\n}\n\nFieldWrapper.defaultProps = {\n autoComplete: 'off'\n};\n\nexport function FieldWrapper(\n props: FieldAttributes<FormFieldProps> & { className: string }\n): React.ReactElement {\n const { children, showLoadingSpinner, ...fieldProps } = props;\n\n const [ type, setType ] = React.useState(props.type);\n\n function onClickTogglePassword(): void {\n if (type === 'password')\n setType('text');\n else\n setType('password');\n }\n\n const resolvedChildren = FunctionHelper.isFunction(children)\n ? (f: FieldProps) => children(f)\n : React.Children.count(children) ? children : null;\n\n if (fieldProps.type !== 'password') {\n if (showLoadingSpinner) {\n return (\n <div className='position-relative'>\n <Field {...(ObjectHelper.omit(fieldProps, ['formSize']))}>\n {resolvedChildren}\n </Field>\n\n <div className={styles.spinner}>\n <Spinner animation='border' size='sm' />\n </div>\n </div>\n );\n }\n\n return (\n <Field {...(ObjectHelper.omit(fieldProps, ['formSize']))}>\n {resolvedChildren}\n </Field>\n );\n }\n\n let containerClassName = `position-relative ${styles.passwordContainer}`;\n\n if (fieldProps.className)\n containerClassName += ` ${fieldProps.className}`;\n\n if (fieldProps.disabled)\n containerClassName += ` ${styles.passwordContainerDisabled}`;\n\n /**\n * We need to wrap out input with a relatively positioned element in order to absolutely\n * position our visibility icon to reveal the password - Sha\n */\n return (\n <div className={containerClassName}>\n <Field\n {...(ObjectHelper.omit(fieldProps, [ 'formSize', 'type', 'className' ]))}\n type={type}\n className={`${styles.passwordInput} border-0 w-100 h-100 outline-none rounded`}\n >\n {resolvedChildren}\n </Field>\n {fieldProps.type === 'password' &&\n <SvgContainer\n svgName={type === 'password' ? cvSvgLibrary.VisibleOn : cvSvgLibrary.VisibleOff}\n className={`svg-container cursor-pointer ${styles.revealPassword}`}\n onClick={onClickTogglePassword}\n />\n }\n </div>\n );\n}\n\nFormField.defaultProps = {\n autoComplete: 'off',\n infoTooltipPlacement: 'top'\n};\n\nexport function FormField<Values extends HashObject>(props: FieldAttributes<FormFieldProps>): React.ReactElement {\n const {\n label,\n className,\n showCharacterCounter,\n showRequiredStar,\n infoTooltip,\n infoTooltipPlacement,\n infoText,\n formSize,\n showOptionalLabel,\n ...fieldProps\n } = props;\n\n const { errors, touched } = useFormikContext<Values>();\n\n // This function overwrites the default `onChange` function whenever `props.disabled` is set.\n // This prevents users from \"undisabling\" form fields via inspect element, then editing the field.\n const disabledOnChange = () => {};\n\n if (fieldProps.type === 'checkbox') {\n const _props = ObjectHelper.omit(props, [ 'formSize', 'infoTooltipPlacement' ]);\n\n if (props.disabled)\n _props.onChange = disabledOnChange;\n\n return <FormCheckbox {..._props} />;\n }\n\n const fieldWrapperProps = {\n ...fieldProps,\n className: FormHelper.getCustomFormControlClassName(\n errors,\n touched,\n fieldProps.name,\n formSize,\n className,\n typeof props.as === 'string' ? props.as : null\n )\n };\n\n if (props.disabled)\n fieldWrapperProps.onChange = disabledOnChange;\n\n return (\n <Form.Group className='form-group'>\n {!!label && (\n <Form.Label htmlFor={fieldProps.id} className='d-flex align-items-center'>\n {label}\n {showRequiredStar && <span className='text-danger'>*</span>}\n {infoTooltip && (\n <SvgContainer\n className={`svg-container text-secondary ${styles.infoTooltip}`}\n svgName={cvSvgLibrary.Info}\n title={infoTooltip}\n tooltipPlacement={infoTooltipPlacement}\n tooltipSpanHack\n />\n )}\n {showOptionalLabel && <span className='text-secondary'>&nbsp;<Text namespace={namespace} phrase='optional' /></span>}\n \n {!!showCharacterCounter && !!(fieldProps as React.HTMLProps<HTMLInputElement>).maxLength &&\n <div className='ms-auto'>\n <CharacterCounter\n fieldName={(fieldProps.name as keyof Values)}\n limit={(fieldProps as React.HTMLProps<HTMLInputElement>).maxLength}\n />\n </div>\n }\n </Form.Label>\n )}\n\n <FieldWrapper {...fieldWrapperProps} />\n\n {!!infoText &&\n <Form.Text className='text-secondary'>\n {infoText}\n </Form.Text>\n }\n\n <ErrorMessage name={fieldProps.name}>\n {(errorMessage: string) => <Form.Control.Feedback type='invalid'>{errorMessage}</Form.Control.Feedback>}\n </ErrorMessage>\n </Form.Group>\n );\n}","import * as React from 'react';\nimport { Formik, FormikConfig, FormikContextType, FormikErrors, FormikHelpers, FormikProps, FormikValues, useFormikContext } from 'formik';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\n/**\n * Note: This currently doesn't support arrays, but the need for arrays as initial\n * form data has not yet come up\n */\nfunction omitNullInitialValues<Values extends FormikValues>(initialValues: Values): Values {\n if (!initialValues)\n return {} as Values;\n\n const values = ObjectHelper.deepClone(initialValues);\n\n function omitChildValues(child: Values): void {\n Object.keys(values).forEach((key: keyof Values) => {\n if (!values.hasOwnProperty(key))\n return;\n \n if (ObjectHelper.isObject(child[key]))\n omitChildValues(child[key]);\n else if (values[key] === null)\n delete values[key];\n });\n }\n\n omitChildValues(values);\n return values;\n}\n\n// Omit attributes from FormikConfig that are defined in FormWrapperProps.\ntype ModifiedFormikConfig<Values extends FormikValues> = Omit<FormikConfig<Values>, 'initialValues' | 'onSubmit'>;\n\ninterface InitialStatus {\n allowInitialSubmit: boolean;\n}\n\nexport type FormSubmissionOptions<FormValues = FormikValues> = {\n reset?: boolean;\n errors?: FormikErrors<FormValues>;\n};\n\ninterface FormWrapperProps<FormValues extends FormikValues, ApiValues extends FormikValues> {\n initialValues: Partial<FormValues | ApiValues>;\n onSubmit: (data: FormValues, onDone: (options?: FormSubmissionOptions<FormValues>) => void) => void;\n castInitialValues?: boolean; // cast to validationSchema\n castValuesOnSubmit?: boolean; // cast to validationSchema\n allowInitialSubmit?: boolean; // if true, useCanSubmitForm will allow submit without any user changes.\n}\n\nFormWrapper.defaultProps = {\n castInitialValues: true,\n castValuesOnSubmit: true\n};\n\nexport function FormWrapper<\n FormValues extends FormikValues = FormikValues,\n ApiValues extends FormikValues = FormValues,\n ExtraProps = HashObject\n>(props: ModifiedFormikConfig<FormValues> & ExtraProps & FormWrapperProps<FormValues, ApiValues>): JSX.Element {\n const { castInitialValues, castValuesOnSubmit, initialValues, onSubmit, ...formikProps } = props;\n\n /**\n * If castInitialValues is true, cast initialValues to the validationSchema.\n * This will ensure that any data fetched from the api conforms to the expected form data shape.\n */\n const formattedInitialValues: FormValues = castInitialValues && props.validationSchema\n ? props.validationSchema.cast(omitNullInitialValues(initialValues))\n : initialValues;\n\n const onSubmitHandler = (\n values: FormValues,\n { setSubmitting, resetForm, setFieldError }: FormikHelpers<FormValues>\n ) => {\n /**\n * validationSchema.cast will coerce the values to the types defined in validationSchema.\n * This is useful for trimming inputs:\n * e.g. if a value field has type Yup.string().trim(), it will be automatically trimmed.\n */\n const formattedData = castValuesOnSubmit && props.validationSchema\n ? props.validationSchema.cast(values)\n : values;\n\n onSubmit(formattedData, (options: FormSubmissionOptions<FormValues> = {}) => {\n options.reset && resetForm();\n\n if (options.errors) {\n for (const [ key, value ] of Object.entries(options.errors)) {\n setFieldError(key, value);\n }\n }\n\n setSubmitting(false);\n });\n };\n\n const initialStatus: InitialStatus = {\n allowInitialSubmit: props.allowInitialSubmit\n };\n\n return (\n <Formik<FormValues, ExtraProps>\n enableReinitialize\n {...(formikProps as ModifiedFormikConfig<FormValues> & ExtraProps)}\n initialValues={formattedInitialValues}\n onSubmit={onSubmitHandler}\n initialStatus={initialStatus}\n >\n {FunctionHelper.isFunction(props.children)\n ? (f: FormikProps<FormValues>) => (props.children as (f: FormikProps<FormValues>) => React.ReactNode)(f)\n : React.Children.count(props.children) ? props.children : null\n }\n </Formik>\n );\n}\n\nexport function useFormikContextWrapper<T>(): FormikContextType<T> {\n return useFormikContext<T>();\n}","import { FormikErrors, FormikTouched, getIn } from 'formik';\n\nimport { FormSize } from 'libs/shared/components/forms/form-field/FormField';\n\nfunction getTypeSize(type: string, size: FormSize) {\n let className = '';\n\n switch (type) {\n case 'select':\n className = 'form-select';\n break;\n default:\n className = 'form-control';\n }\n\n if (size === 'sm')\n className += ` ${className}-sm`;\n\n if (size === 'lg')\n className += ` ${className}-lg`;\n\n return className;\n}\n\nexport const FormHelper = {\n getCustomFormControlClassName<T>(\n errors: FormikErrors<T>,\n touched: FormikTouched<T>,\n attribute: string,\n size?: FormSize,\n additionalClassName?: string,\n type?: string\n ): string {\n let className = '';\n\n className = getTypeSize(type, size);\n\n // Using getIn as it supports dot notation\n if (getIn(touched, attribute) && getIn(errors, attribute))\n className += ' is-invalid';\n\n if (additionalClassName)\n className += ` ${additionalClassName}`;\n\n return className;\n }\n};","import * as React from 'react';\nimport { Form } from 'formik';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { CreateOrUpdatePlaylistRequest } from 'libs/shared/apps/playlists/interfaces';\nimport { PlaylistValidationSchema } from 'libs/shared/apps/playlists/validation/PlaylistValidationSchema';\nimport { FormField } from 'libs/shared/components/forms/form-field/FormField';\nimport { FormWrapper, useFormikContextWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { Playlist } from 'libs/shared/interfaces';\n\nconst namespace = 'playlists.playlistDetails';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface PlaylistDetailsFormComponentProps {\n isNew?: boolean;\n onClickCancel: () => void;\n cancelButtonClass: 'outline-dark' | 'link';\n submitText?: string;\n}\n\nfunction PlaylistDetailsFormComponent(props: PlaylistDetailsFormComponentProps): React.ReactElement {\n const formikProps = useFormikContextWrapper<CreateOrUpdatePlaylistRequest>();\n\n return (\n <Form>\n <FormField\n label={getPhrase('nameLabel')}\n type='text'\n name='name'\n id ='name'\n placeholder={getPhrase('namePlaceholder')}\n autoFocus\n value={formikProps.values.name}\n showRequiredStar\n />\n <FormField\n label={getPhrase('descriptionLabel')}\n component='textarea'\n name='description'\n id ='description'\n placeholder={getPhrase('descriptionPlaceholder')}\n value={formikProps.values.description}\n />\n\n <PopupButtons>\n <PopupButtons.Cancel onClick={props.onClickCancel} />\n <PopupButtons.Submit variant='dark' isNew={props.isNew} text={props.submitText} />\n </PopupButtons>\n </Form>\n );\n}\n\ninterface PlaylistDetailsComponentProps {\n playlist?: Playlist;\n savePlaylist: (data: CreateOrUpdatePlaylistRequest) => void;\n onClickCancel: () => void;\n cancelButtonClass: 'outline-dark' | 'link';\n submitText?: string;\n}\n\nexport function PlaylistDetails(props: PlaylistDetailsComponentProps): React.ReactElement {\n const { playlist: { name = '', description = '', id = null } = {}, savePlaylist, onClickCancel, cancelButtonClass } = props;\n\n return (\n <FormWrapper<CreateOrUpdatePlaylistRequest>\n initialValues={{ name, description }}\n validationSchema={PlaylistValidationSchema}\n onSubmit={savePlaylist}\n >\n <PlaylistDetailsFormComponent\n isNew={!id}\n onClickCancel={onClickCancel}\n cancelButtonClass={cancelButtonClass}\n submitText={props.submitText}\n />\n </FormWrapper>\n );\n}\n","import * as React from 'react';\nimport { useDispatch } from 'react-redux';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { CreateOrUpdatePlaylistRequest } from 'libs/shared/apps/playlists/interfaces';\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PlaylistRequests } from 'libs/shared/flight-requests/PlaylistRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { CurrentUser, Playlist, PropsWithAnalyticsOptions, PropsWithPopupViewProps } from 'libs/shared/interfaces';\n\nimport { Actions } from 'shared/constants/LiteActions';\n\nimport { PlaylistDetails } from 'apps/playlists/components/playlist-details/PlaylistDetails';\n\nconst getPhrase = LanguageService.encloseNamespace('playlists.newPlaylist');\n\ninterface NewPlaylistViewProps {\n application: string;\n}\n\ntype PropTypes = PropsWithAnalyticsOptions<PropsWithPopupViewProps<NewPlaylistViewProps>>;\n\nexport function NewPlaylistView(props: PropTypes): React.ReactElement {\n const dispatch = useDispatch();\n const alerts = useAlerts();\n\n const user = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n\n const savePlaylist = (data: CreateOrUpdatePlaylistRequest): void => {\n const onSuccess = (newPlaylist: Playlist) => {\n alerts.success(getPhrase('success', { name: data.name, escapeText: true }));\n\n AnalyticsHelper.logUserAction({ id: newPlaylist.id }, AnalyticsHelper.mergeOptions(props.analyticsOptions, {\n actionType: UserAction.Create,\n entity: EntityType.Playlist,\n workflowPhase: WorkflowPhase.Complete\n }));\n\n props.closePopup();\n\n Core.AppLinkHelper.trigger({\n application: props.application,\n action: Actions.Playlists.PLAYLIST,\n args: [ newPlaylist.id, TextHelper.slugify(newPlaylist.name) ]\n });\n };\n\n const onError = () => {\n alerts.error(getPhrase('error'));\n props.closePopup();\n };\n\n Flight.fetch(dispatch, PlaylistRequests.createPlaylist(user.data.id, data, onSuccess, onError));\n };\n\n return (\n <Popup title={getPhrase('title')} closePopup={props.closePopup} showLoadingSpinner={!user.data}>\n {!!user.data && (\n <PlaylistDetails\n savePlaylist={savePlaylist}\n onClickCancel={props.closePopup}\n cancelButtonClass='link'\n submitText={getPhrase('submit')}\n />\n )}\n </Popup>\n );\n}"],"names":["namespace","PlaylistValidationSchema","shape","name","max","required","description","nullable","FormCheckbox","props","label","checkboxLabelClassName","checkboxLabelFontWeight","className","fieldProps","Form","FieldWrapper","htmlFor","id","checkboxAppLink","checkboxAppLinkText","AppLink","appLink","CharacterCounter","field","values","fieldName","length","limit","children","showLoadingSpinner","type","setType","resolvedChildren","FunctionHelper","f","ObjectHelper","Spinner","animation","size","containerClassName","disabled","SvgContainer","svgName","onClick","FormField","showCharacterCounter","showRequiredStar","infoTooltip","infoTooltipPlacement","infoText","formSize","showOptionalLabel","errors","touched","disabledOnChange","_props","onChange","fieldWrapperProps","FormHelper","as","title","tooltipPlacement","tooltipSpanHack","Text","phrase","maxLength","errorMessage","defaultProps","autoComplete","FormWrapper","castInitialValues","castValuesOnSubmit","initialValues","onSubmit","formikProps","formattedInitialValues","validationSchema","cast","omitChildValues","child","Object","keys","forEach","key","hasOwnProperty","omitNullInitialValues","initialStatus","allowInitialSubmit","enableReinitialize","setSubmitting","resetForm","setFieldError","formattedData","options","reset","entries","value","useFormikContextWrapper","getCustomFormControlClassName","attribute","additionalClassName","getTypeSize","getPhrase","PlaylistDetailsFormComponent","placeholder","autoFocus","component","onClickCancel","variant","isNew","text","submitText","PlaylistDetails","playlist","savePlaylist","cancelButtonClass","NewPlaylistView","dispatch","alerts","user","closePopup","data","newPlaylist","success","escapeText","analyticsOptions","actionType","entity","workflowPhase","application","action","args","error"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[8258],{38365:(e,t,n)=>{n.d(t,{n:()=>w,W:()=>N});var a=n(32735),r=n(80247),i=n(80130),o=n(92802),l=n(91967),c=n(1048),s=n(36848),m=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(e);r<a.length;r++)t.indexOf(a[r])<0&&Object.prototype.propertyIsEnumerable.call(e,a[r])&&(n[a[r]]=e[a[r]])}return n};function u(e){var t=e.label,n=e.checkboxLabelClassName,r=e.checkboxLabelFontWeight,o=e.className,l=m(e,["label","checkboxLabelClassName","checkboxLabelFontWeight","className"]);return a.createElement(i.Z.Group,{className:"form-group"},a.createElement("div",{className:"form-check ".concat(o||"")},a.createElement(w,Object.assign({className:"form-check-input"},l)),a.createElement(i.Z.Label,{className:"form-check-label cursor-pointer ".concat("normal"===r?"fw-normal":""," \n ").concat(n),htmlFor:l.id},t),e.checkboxAppLink&&e.checkboxAppLinkText&&a.createElement(a.Fragment,null,a.createElement("span",null," "),a.createElement(s.F,{appLink:e.checkboxAppLink,className:"info-link"},e.checkboxAppLinkText))))}var d=n(83914),p=n(83345),f=n(73814),b=n(35223);function v(e){var t=(0,o.u6)().values[e.fieldName];return"string"!=typeof t?a.createElement(a.Fragment,null):a.createElement("div",{className:"float-end text-secondary fw-normal"},t.length,"/",e.limit," characters")}const g={revealPassword:"jCfI0",passwordInput:"RBJnf",passwordContainer:"d78lK",passwordContainerDisabled:"asbVo",infoTooltip:"wzyOG",spinner:"CycFx"};function h(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var y=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(e);r<a.length;r++)t.indexOf(a[r])<0&&Object.prototype.propertyIsEnumerable.call(e,a[r])&&(n[a[r]]=e[a[r]])}return n},E="shared.formField";function w(e){var t,n,i=e.children,s=e.showLoadingSpinner,m=y(e,["children","showLoadingSpinner"]),u=(t=a.useState(e.type),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,i,o,l=[],c=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=i.call(n)).done)&&(l.push(a.value),l.length!==t);c=!0);}catch(e){s=!0,r=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw r}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return h(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?h(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),p=u[0],f=u[1],v=l.q.isFunction(i)?function(e){return i(e)}:a.Children.count(i)?i:null;if("password"!==m.type)return s?a.createElement("div",{className:"position-relative"},a.createElement(o.gN,Object.assign({},c.t.omit(m,["formSize"])),v),a.createElement("div",{className:g.spinner},a.createElement(r.Z,{animation:"border",size:"sm"}))):a.createElement(o.gN,Object.assign({},c.t.omit(m,["formSize"])),v);var E="position-relative ".concat(g.passwordContainer);return m.className&&(E+=" ".concat(m.className)),m.disabled&&(E+=" ".concat(g.passwordContainerDisabled)),a.createElement("div",{className:E},a.createElement(o.gN,Object.assign({},c.t.omit(m,["formSize","type","className"]),{type:p,className:"".concat(g.passwordInput," border-0 w-100 h-100 outline-none rounded")}),v),"password"===m.type&&a.createElement(d.x,{svgName:"password"===p?b.vn.VisibleOn:b.vn.VisibleOff,className:"svg-container cursor-pointer ".concat(g.revealPassword),onClick:function(){f("password"===p?"text":"password")}}))}function N(e){var t=e.label,n=e.className,r=e.showCharacterCounter,l=e.showRequiredStar,s=e.infoTooltip,m=e.infoTooltipPlacement,h=e.infoText,N=e.formSize,S=e.showOptionalLabel,C=y(e,["label","className","showCharacterCounter","showRequiredStar","infoTooltip","infoTooltipPlacement","infoText","formSize","showOptionalLabel"]),k=(0,o.u6)(),O=k.errors,x=k.touched,I=function(){};if("checkbox"===C.type){var R=c.t.omit(e,["formSize","infoTooltipPlacement"]);return e.disabled&&(R.onChange=I),a.createElement(u,Object.assign({},R))}var j=Object.assign(Object.assign({},C),{className:f.w.getCustomFormControlClassName(O,x,C.name,N,n,"string"==typeof e.as?e.as:null)});return e.disabled&&(j.onChange=I),a.createElement(i.Z.Group,{className:"form-group"},!!t&&a.createElement(i.Z.Label,{htmlFor:C.id,className:"d-flex align-items-center"},t,l&&a.createElement("span",{className:"text-danger"},"*"),s&&a.createElement(d.x,{className:"svg-container text-secondary ".concat(g.infoTooltip),svgName:b.vn.Info,title:s,tooltipPlacement:m,tooltipSpanHack:!0}),S&&a.createElement("span",{className:"text-secondary"}," ",a.createElement(p.x,{namespace:E,phrase:"optional"})),!!r&&!!C.maxLength&&a.createElement("div",{className:"ms-auto"},a.createElement(v,{fieldName:C.name,limit:C.maxLength}))),a.createElement(w,Object.assign({},j)),!!h&&a.createElement(i.Z.Text,{className:"text-secondary"},h),a.createElement(o.Bc,{name:C.name},(function(e){return a.createElement(i.Z.Control.Feedback,{type:"invalid"},e)})))}w.defaultProps={autoComplete:"off"},N.defaultProps={autoComplete:"off",infoTooltipPlacement:"top"}},82644:(e,t,n)=>{n.d(t,{b:()=>m,n:()=>s});var a=n(32735),r=n(92802),i=n(91967),o=n(1048);function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var c=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(e);r<a.length;r++)t.indexOf(a[r])<0&&Object.prototype.propertyIsEnumerable.call(e,a[r])&&(n[a[r]]=e[a[r]])}return n};function s(e){var t=e.castInitialValues,n=e.castValuesOnSubmit,s=e.initialValues,m=e.onSubmit,u=c(e,["castInitialValues","castValuesOnSubmit","initialValues","onSubmit"]),d=t&&e.validationSchema?e.validationSchema.cast(function(e){if(!e)return{};var t=o.t.deepClone(e);return function e(n){Object.keys(t).forEach((function(a){t.hasOwnProperty(a)&&(o.t.isObject(n[a])?e(n[a]):null===t[a]&&delete t[a])}))}(t),t}(s)):s,p={allowInitialSubmit:e.allowInitialSubmit};return a.createElement(r.J9,Object.assign({enableReinitialize:!0},u,{initialValues:d,onSubmit:function(t,a){var r=a.setSubmitting,i=a.resetForm,o=a.setFieldError,c=n&&e.validationSchema?e.validationSchema.cast(t):t;m(c,(function(){var e,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(n.reset&&i(),n.errors)for(var a=0,c=Object.entries(n.errors);a<c.length;a++){var s=(e=c[a],t=2,function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,i,o,l=[],c=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=i.call(n)).done)&&(l.push(a.value),l.length!==t);c=!0);}catch(e){s=!0,r=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return l(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),m=s[0],u=s[1];o(m,u)}r(!1)}))},initialStatus:p}),i.q.isFunction(e.children)?function(t){return e.children(t)}:a.Children.count(e.children)?e.children:null)}function m(){return(0,r.u6)()}s.defaultProps={castInitialValues:!0,castValuesOnSubmit:!0}},73814:(e,t,n)=>{n.d(t,{w:()=>r});var a=n(92802),r={getCustomFormControlClassName:function(e,t,n,r,i,o){var l="";return l=function(e,t){var n="";return n="select"===e?"form-select":"form-control","sm"===t&&(n+=" ".concat(n,"-sm")),"lg"===t&&(n+=" ".concat(n,"-lg")),n}(o,r),(0,a.u9)(t,n)&&(0,a.u9)(e,n)&&(l+=" is-invalid"),i&&(l+=" ".concat(i)),l}}},9064:(e,t,n)=>{function a(e){var t,n,a,r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)return null;var o=Object.assign(Object.assign({},i),{id:e.id,interactiveId:e.interactiveId,name:e.name,status:e.status,originType:e.originType});return(null===(t=null==e?void 0:e._parentClip)||void 0===t?void 0:t.id)&&(o.clip={id:null===(n=null==e?void 0:e._parentClip)||void 0===n?void 0:n.id}),(null===(a=null==e?void 0:e._parentVideo)||void 0===a?void 0:a.id)&&(o.video={id:null===(r=null==e?void 0:e._parentVideo)||void 0===r?void 0:r.id}),o}n.d(t,{T:()=>a})},25050:(e,t,n)=>{n.r(t),n.d(t,{EditInteractiveDetailsView:()=>G});var a=n(32735),r=n(70680),i=n(23481),o=n(81886),l=n(20354),c=n(28400),s=n(49985),m=n(65858),u=n(80130),d=n(68050),p=n(69111),f=n(92802),b=n(5173),v=n(38365),g=n(82644),h=n(13876),y=n(77123),E=n(89965),w=n(27022);const N={dropdownMenu:"eDHti"};function S(e){function t(t){return e.selectedContentRegions.some((function(e){return e.id.toString()===t.id.toString()}))}var n,r=e.options.find((function(e){return e.systemName===w.t.GLOBAL})),i=t(r),o=e.options.filter((function(e){return e.systemName!==w.t.GLOBAL}));return a.createElement(y.Z,null,a.createElement(y.Z.Toggle,{id:e.id,variant:"outline-dark"},(null===(n=e.selectedContentRegions)||void 0===n?void 0:n.length)?e.selectedContentRegions.length>1?"".concat(e.selectedContentRegions.length," content regions"):e.selectedContentRegions[0].name:"None"),a.createElement(y.Z.Menu,{className:"".concat(N.dropdownMenu," px-2")},a.createElement(E.X,{key:r.id,label:r.name,name:r.id,id:r.id,onChange:function(){return function(t,n){n?e.onUpdateContentRegions([]):e.onUpdateContentRegions([t])}(r,i)},checked:i,className:"my-1"}),a.createElement(y.Z.Divider,null),o.map((function(n){return a.createElement(E.X,{key:n.id,label:n.name,name:n.id,id:n.id,onChange:function(){return a=n,void(t(n)?e.onUpdateContentRegions(e.selectedContentRegions.filter((function(e){return e.id.toString()!==a.id.toString()}))):e.onUpdateContentRegions(e.selectedContentRegions.concat(a)));var a},checked:t(n),className:"my-1 ".concat(i?"disabled":""),disabled:i})}))))}var C=n(83345),k=n(72355),O=n(54610),x=n(68626),I="interactives.editInteractiveDetails",R=i.T.encloseNamespace(I);function j(e){var t,n=e.interactiveMetadata,r=e.onClickCancel,i=(0,g.b)();return a.createElement(f.l0,null,a.createElement("div",{className:"row form-group"},a.createElement("div",{className:"col-5"},a.createElement(k.u,{video:n,type:"cosmetic",imageOptions:{size:O.h2.Small},textPosition:x.z.Independent,preload:!0})),a.createElement("div",{className:"col-7"},a.createElement("h2",{className:"h6"},i.values.name))),a.createElement(v.W,{label:R("nameLabel"),type:"text",name:"name",id:"name",placeholder:R("namePlaceholder"),autoFocus:!0,value:i.values.name}),a.createElement(v.W,{label:R("descriptionLabel"),component:"textarea",name:"description",id:"description",placeholder:R("descriptionPlaceholder"),value:i.values.description}),!!(null===(t=e.contentRegions)||void 0===t?void 0:t.length)&&a.createElement("div",{className:"pb-2"},a.createElement(v.W,{label:R("contentRegions"),name:"contentRegions",id:"contentRegions",value:i.values.contentRegions},(function(){return a.createElement("div",{className:"w-50"},a.createElement(S,{id:e.interactiveMetadata.id,options:e.contentRegions,selectedContentRegions:i.values.contentRegions,onUpdateContentRegions:function(e){return i.setFieldValue("contentRegions",e)}}))})),a.createElement(u.Z.Control.Feedback,{className:"d-block mt-n2",type:"invalid"},i.errors.contentRegions)),a.createElement(u.Z.Label,null,a.createElement(C.x,{namespace:I,phrase:"interactiveFeatures"})),a.createElement(d.Z,null,a.createElement(p.Z,null,a.createElement(u.Z.Group,{className:"form-group"},a.createElement("div",{className:"form-check"},a.createElement(v.n,{className:"form-check-input",label:R("preventScrubbingLabel"),name:"preventScrubbing",id:"preventScrubbing",type:"checkbox",checked:i.values.preventScrubbing}),a.createElement(u.Z.Label,{className:"form-check-label",htmlFor:"preventScrubbing"},a.createElement(C.x,{namespace:I,phrase:"preventScrubbingLabel"})," "),a.createElement("div",{className:"text-secondary"},a.createElement(C.x,{namespace:I,phrase:"preventScrubbingExplain"}))))),a.createElement(p.Z,null,a.createElement(u.Z.Group,{className:"form-group"},a.createElement("div",{className:"form-check"},a.createElement(v.n,{className:"form-check-input",label:R("immediateFeedbackLabel"),name:"immediateFeedback",id:"immediateFeedback",type:"checkbox",checked:i.values.immediateFeedback}),a.createElement(u.Z.Label,{className:"form-check-label",htmlFor:"immediateFeedback"},a.createElement(C.x,{namespace:I,phrase:"immediateFeedbackLabel"})," "),a.createElement("div",{className:"text-secondary"},a.createElement(C.x,{namespace:I,phrase:"immediateFeedbackExplain"})))))),a.createElement(h.u,null,a.createElement(h.u.Cancel,{onClick:r}),a.createElement(h.u.Submit,{variant:"dark",text:e.publish?R("publish"):R("save")})))}function T(e){var t,n,r,i,o=e.interactive,l=e.interactiveMetadata,c=e.onSubmit,s=e.onClickCancel,m=e.publish,u={name:l.name||"",description:l.description,immediateFeedback:o.immediateFeedback,preventScrubbing:o.preventScrubbing};return(null===(t=e.contentRegions)||void 0===t?void 0:t.length)&&(u.contentRegions=Array.isArray(l.contentRegions)?l.contentRegions:l.contentRegions.data),a.createElement(g.n,{initialValues:u,validationSchema:(r=!!(null===(n=e.contentRegions)||void 0===n?void 0:n.length),i={name:b.Z_().trim().max(255,(function(){return R("titleTooLong")})).required((function(){return R("titleRequired")})).default(""),description:b.Z_().max(16e3,(function(){return R("descriptionTooLong")})).default("")},r&&(i.contentRegions=b.IX().min(1,"Resources must have a content region").default([])),b.Ry().shape(i)),allowInitialSubmit:!0,onSubmit:c},a.createElement(j,{interactiveMetadata:l,onClickCancel:s,publish:m,contentRegions:e.contentRegions}))}var F=n(9111),L=n(5960),P=n(16714),V=n(20768),A=n(69883),Z=n(22902),M=n(31908),z=n(14070),_=n(97291),D=n(9064),U=i.T.encloseNamespace("interactives.editInteractiveDetailsView");function G(e){var t=e.interactiveMetadataId,n=e.publish,i=e.closePopup,u=(0,r.I0)(),d=(0,A.Z)(),p=(0,Z.T)().hasPermissions,f=l.a.useBasicFetch(V.b.interactiveMetadata(t)),b=l.a.useBasicFetch(f.data?V.b.interactive(f.data.interactiveId):null);function v(){d.error(U("error")),i()}function g(){var e=(0,D.T)(f.data);s.k.logUserAction(e,{actionType:n?m.Vw.Publish:m.Vw.Edit,entity:m.py.Interactive,location:m.LZ.EditInteractiveDetails,workflowPhase:m.eu.Discard,descriptor:n?m.Iq.Publish:void 0}),i()}var h=!!f.data&&!!b.data;return a.createElement(F.G,{title:U(n?"publishHeader":"editHeader"),closePopup:g,showLoadingSpinner:!h},a.createElement(T,{interactive:b.data,interactiveMetadata:f.data,onClickCancel:g,onSubmit:function(a){var r={id:b.data.id,name:a.name,duration:M.M.getDuration(f.data),immediateFeedback:!!a.immediateFeedback,preventScrubbing:!!a.preventScrubbing},g={name:a.name,description:a.description,status:n?L.X.Published:f.data.status},h=0,y=function(){h<1?h++:function(a){i(),d.success(U("success",{name:a,escapeText:!0}));var r=(0,D.T)(f.data);s.k.logUserAction(r,{actionType:n?m.Vw.Publish:m.Vw.Edit,entity:m.py.Interactive,location:m.LZ.EditInteractiveDetails,workflowPhase:n?m.eu.Complete:m.eu.Save,descriptor:n?m.Iq.Publish:void 0}),n&&(p(P.C.StudentExperience)?o.Q.C$.trigger({application:_.O.INTERACTIVES,action:z.e.Interactives.VIEW_INTERACTIVE,args:[e.interactiveMetadataId,c.m.slugify(f.data.name)]}):o.Q.C$.trigger({application:_.O.INTERACTIVES,action:z.e.Interactives.CONTRIBUTE_INTERACTIVE,args:[t]}))}(a.name)};l.a.fetch(u,V.b.updateInteractive(b.data.id,r,y,v)),l.a.fetch(u,V.b.updateInteractiveMetadata(f.data.id,g,y,v))},publish:n}))}},68050:(e,t,n)=>{n.d(t,{Z:()=>s});var a=n(95685),r=n.n(a),i=n(32735),o=n(46304),l=n(74512);const c=i.forwardRef((({bsPrefix:e,className:t,as:n="div",...a},i)=>{const c=(0,o.vE)(e,"row"),s=(0,o.pi)(),m=(0,o.zG)(),u=`${c}-cols`,d=[];return s.forEach((e=>{const t=a[e];let n;delete a[e],null!=t&&"object"==typeof t?({cols:n}=t):n=t;const r=e!==m?`-${e}`:"";null!=n&&d.push(`${u}${r}-${n}`)})),(0,l.jsx)(n,{ref:i,...a,className:r()(t,c,...d)})}));c.displayName="Row";const s=c}}]);
2
- //# sourceMappingURL=8258-6c86ad1fa4-lite.chunk.js.map
1
+ "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[8258],{38365:(e,t,n)=>{n.d(t,{n:()=>w,W:()=>N});var a=n(32735),r=n(80247),i=n(80130),o=n(92802),l=n(91967),c=n(1048),s=n(36848),m=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(e);r<a.length;r++)t.indexOf(a[r])<0&&Object.prototype.propertyIsEnumerable.call(e,a[r])&&(n[a[r]]=e[a[r]])}return n};function u(e){var t=e.label,n=e.checkboxLabelClassName,r=e.checkboxLabelFontWeight,o=e.className,l=m(e,["label","checkboxLabelClassName","checkboxLabelFontWeight","className"]);return a.createElement(i.Z.Group,{className:"form-group"},a.createElement("div",{className:"form-check ".concat(o||"")},a.createElement(w,Object.assign({className:"form-check-input"},l)),a.createElement(i.Z.Label,{className:"form-check-label cursor-pointer ".concat("normal"===r?"fw-normal":""," \n ").concat(n),htmlFor:l.id},t),e.checkboxAppLink&&e.checkboxAppLinkText&&a.createElement(a.Fragment,null,a.createElement("span",null," "),a.createElement(s.F,{appLink:e.checkboxAppLink,className:"info-link"},e.checkboxAppLinkText))))}var d=n(83914),p=n(83345),f=n(73814),b=n(35223);function v(e){var t=(0,o.u6)().values[e.fieldName];return"string"!=typeof t?a.createElement(a.Fragment,null):a.createElement("div",{className:"float-end text-secondary fw-normal"},t.length,"/",e.limit," characters")}const g={revealPassword:"jCfI0",passwordInput:"RBJnf",passwordContainer:"d78lK",passwordContainerDisabled:"asbVo",infoTooltip:"wzyOG",spinner:"CycFx"};function h(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var y=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(e);r<a.length;r++)t.indexOf(a[r])<0&&Object.prototype.propertyIsEnumerable.call(e,a[r])&&(n[a[r]]=e[a[r]])}return n},E="shared.formField";function w(e){var t,n,i=e.children,s=e.showLoadingSpinner,m=y(e,["children","showLoadingSpinner"]),u=(t=a.useState(e.type),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,i,o,l=[],c=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=i.call(n)).done)&&(l.push(a.value),l.length!==t);c=!0);}catch(e){s=!0,r=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw r}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return h(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?h(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),p=u[0],f=u[1],v=l.q.isFunction(i)?function(e){return i(e)}:a.Children.count(i)?i:null;if("password"!==m.type)return s?a.createElement("div",{className:"position-relative"},a.createElement(o.gN,Object.assign({},c.t.omit(m,["formSize"])),v),a.createElement("div",{className:g.spinner},a.createElement(r.Z,{animation:"border",size:"sm"}))):a.createElement(o.gN,Object.assign({},c.t.omit(m,["formSize"])),v);var E="position-relative ".concat(g.passwordContainer);return m.className&&(E+=" ".concat(m.className)),m.disabled&&(E+=" ".concat(g.passwordContainerDisabled)),a.createElement("div",{className:E},a.createElement(o.gN,Object.assign({},c.t.omit(m,["formSize","type","className"]),{type:p,className:"".concat(g.passwordInput," border-0 w-100 h-100 outline-none rounded")}),v),"password"===m.type&&a.createElement(d.x,{svgName:"password"===p?b.vn.VisibleOn:b.vn.VisibleOff,className:"svg-container cursor-pointer ".concat(g.revealPassword),onClick:function(){f("password"===p?"text":"password")}}))}function N(e){var t=e.label,n=e.className,r=e.showCharacterCounter,l=e.showRequiredStar,s=e.infoTooltip,m=e.infoTooltipPlacement,h=e.infoText,N=e.formSize,S=e.showOptionalLabel,C=y(e,["label","className","showCharacterCounter","showRequiredStar","infoTooltip","infoTooltipPlacement","infoText","formSize","showOptionalLabel"]),k=(0,o.u6)(),O=k.errors,x=k.touched,I=function(){};if("checkbox"===C.type){var R=c.t.omit(e,["formSize","infoTooltipPlacement"]);return e.disabled&&(R.onChange=I),a.createElement(u,Object.assign({},R))}var j=Object.assign(Object.assign({},C),{className:f.w.getCustomFormControlClassName(O,x,C.name,N,n,"string"==typeof e.as?e.as:null)});return e.disabled&&(j.onChange=I),a.createElement(i.Z.Group,{className:"form-group"},!!t&&a.createElement(i.Z.Label,{htmlFor:C.id,className:"d-flex align-items-center"},t,l&&a.createElement("span",{className:"text-danger"},"*"),s&&a.createElement(d.x,{className:"svg-container text-secondary ".concat(g.infoTooltip),svgName:b.vn.Info,title:s,tooltipPlacement:m,tooltipSpanHack:!0}),S&&a.createElement("span",{className:"text-secondary"}," ",a.createElement(p.x,{namespace:E,phrase:"optional"})),!!r&&!!C.maxLength&&a.createElement("div",{className:"ms-auto"},a.createElement(v,{fieldName:C.name,limit:C.maxLength}))),a.createElement(w,Object.assign({},j)),!!h&&a.createElement(i.Z.Text,{className:"text-secondary"},h),a.createElement(o.Bc,{name:C.name},(function(e){return a.createElement(i.Z.Control.Feedback,{type:"invalid"},e)})))}w.defaultProps={autoComplete:"off"},N.defaultProps={autoComplete:"off",infoTooltipPlacement:"top"}},82644:(e,t,n)=>{n.d(t,{b:()=>m,n:()=>s});var a=n(32735),r=n(92802),i=n(91967),o=n(1048);function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var c=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(e);r<a.length;r++)t.indexOf(a[r])<0&&Object.prototype.propertyIsEnumerable.call(e,a[r])&&(n[a[r]]=e[a[r]])}return n};function s(e){var t=e.castInitialValues,n=e.castValuesOnSubmit,s=e.initialValues,m=e.onSubmit,u=c(e,["castInitialValues","castValuesOnSubmit","initialValues","onSubmit"]),d=t&&e.validationSchema?e.validationSchema.cast(function(e){if(!e)return{};var t=o.t.deepClone(e);return function e(n){Object.keys(t).forEach((function(a){t.hasOwnProperty(a)&&(o.t.isObject(n[a])?e(n[a]):null===t[a]&&delete t[a])}))}(t),t}(s)):s,p={allowInitialSubmit:e.allowInitialSubmit};return a.createElement(r.J9,Object.assign({enableReinitialize:!0},u,{initialValues:d,onSubmit:function(t,a){var r=a.setSubmitting,i=a.resetForm,o=a.setFieldError,c=n&&e.validationSchema?e.validationSchema.cast(t):t;m(c,(function(){var e,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(n.reset&&i(),n.errors)for(var a=0,c=Object.entries(n.errors);a<c.length;a++){var s=(e=c[a],t=2,function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,i,o,l=[],c=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=i.call(n)).done)&&(l.push(a.value),l.length!==t);c=!0);}catch(e){s=!0,r=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return l(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),m=s[0],u=s[1];o(m,u)}r(!1)}))},initialStatus:p}),i.q.isFunction(e.children)?function(t){return e.children(t)}:a.Children.count(e.children)?e.children:null)}function m(){return(0,r.u6)()}s.defaultProps={castInitialValues:!0,castValuesOnSubmit:!0}},73814:(e,t,n)=>{n.d(t,{w:()=>r});var a=n(92802),r={getCustomFormControlClassName:function(e,t,n,r,i,o){var l="";return l=function(e,t){var n="";return n="select"===e?"form-select":"form-control","sm"===t&&(n+=" ".concat(n,"-sm")),"lg"===t&&(n+=" ".concat(n,"-lg")),n}(o,r),(0,a.u9)(t,n)&&(0,a.u9)(e,n)&&(l+=" is-invalid"),i&&(l+=" ".concat(i)),l}}},9064:(e,t,n)=>{function a(e){var t,n,a,r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)return null;var o=Object.assign(Object.assign({},i),{id:e.id,interactiveId:e.interactiveId,name:e.name,status:e.status,originType:e.originType});return(null===(t=null==e?void 0:e._parentClip)||void 0===t?void 0:t.id)&&(o.clip={id:null===(n=null==e?void 0:e._parentClip)||void 0===n?void 0:n.id}),(null===(a=null==e?void 0:e._parentVideo)||void 0===a?void 0:a.id)&&(o.video={id:null===(r=null==e?void 0:e._parentVideo)||void 0===r?void 0:r.id}),o}n.d(t,{T:()=>a})},25050:(e,t,n)=>{n.r(t),n.d(t,{EditInteractiveDetailsView:()=>G});var a=n(32735),r=n(70680),i=n(23481),o=n(81886),l=n(20354),c=n(28400),s=n(49985),m=n(65858),u=n(80130),d=n(68050),p=n(69111),f=n(92802),b=n(5173),v=n(38365),g=n(82644),h=n(13876),y=n(34509),E=n(89965),w=n(27022);const N={dropdownMenu:"eDHti"};function S(e){function t(t){return e.selectedContentRegions.some((function(e){return e.id.toString()===t.id.toString()}))}var n,r=e.options.find((function(e){return e.systemName===w.t.GLOBAL})),i=t(r),o=e.options.filter((function(e){return e.systemName!==w.t.GLOBAL}));return a.createElement(y.Z,null,a.createElement(y.Z.Toggle,{id:e.id,variant:"outline-dark"},(null===(n=e.selectedContentRegions)||void 0===n?void 0:n.length)?e.selectedContentRegions.length>1?"".concat(e.selectedContentRegions.length," content regions"):e.selectedContentRegions[0].name:"None"),a.createElement(y.Z.Menu,{className:"".concat(N.dropdownMenu," px-2")},a.createElement(E.X,{key:r.id,label:r.name,name:r.id,id:r.id,onChange:function(){return function(t,n){n?e.onUpdateContentRegions([]):e.onUpdateContentRegions([t])}(r,i)},checked:i,className:"my-1"}),a.createElement(y.Z.Divider,null),o.map((function(n){return a.createElement(E.X,{key:n.id,label:n.name,name:n.id,id:n.id,onChange:function(){return a=n,void(t(n)?e.onUpdateContentRegions(e.selectedContentRegions.filter((function(e){return e.id.toString()!==a.id.toString()}))):e.onUpdateContentRegions(e.selectedContentRegions.concat(a)));var a},checked:t(n),className:"my-1 ".concat(i?"disabled":""),disabled:i})}))))}var C=n(83345),k=n(72355),O=n(54610),x=n(68626),I="interactives.editInteractiveDetails",R=i.T.encloseNamespace(I);function j(e){var t,n=e.interactiveMetadata,r=e.onClickCancel,i=(0,g.b)();return a.createElement(f.l0,null,a.createElement("div",{className:"row form-group"},a.createElement("div",{className:"col-5"},a.createElement(k.u,{video:n,type:"cosmetic",imageOptions:{size:O.h2.Small},textPosition:x.z.Independent,preload:!0})),a.createElement("div",{className:"col-7"},a.createElement("h2",{className:"h6"},i.values.name))),a.createElement(v.W,{label:R("nameLabel"),type:"text",name:"name",id:"name",placeholder:R("namePlaceholder"),autoFocus:!0,value:i.values.name}),a.createElement(v.W,{label:R("descriptionLabel"),component:"textarea",name:"description",id:"description",placeholder:R("descriptionPlaceholder"),value:i.values.description}),!!(null===(t=e.contentRegions)||void 0===t?void 0:t.length)&&a.createElement("div",{className:"pb-2"},a.createElement(v.W,{label:R("contentRegions"),name:"contentRegions",id:"contentRegions",value:i.values.contentRegions},(function(){return a.createElement("div",{className:"w-50"},a.createElement(S,{id:e.interactiveMetadata.id,options:e.contentRegions,selectedContentRegions:i.values.contentRegions,onUpdateContentRegions:function(e){return i.setFieldValue("contentRegions",e)}}))})),a.createElement(u.Z.Control.Feedback,{className:"d-block mt-n2",type:"invalid"},i.errors.contentRegions)),a.createElement(u.Z.Label,null,a.createElement(C.x,{namespace:I,phrase:"interactiveFeatures"})),a.createElement(d.Z,null,a.createElement(p.Z,null,a.createElement(u.Z.Group,{className:"form-group"},a.createElement("div",{className:"form-check"},a.createElement(v.n,{className:"form-check-input",label:R("preventScrubbingLabel"),name:"preventScrubbing",id:"preventScrubbing",type:"checkbox",checked:i.values.preventScrubbing}),a.createElement(u.Z.Label,{className:"form-check-label",htmlFor:"preventScrubbing"},a.createElement(C.x,{namespace:I,phrase:"preventScrubbingLabel"})," "),a.createElement("div",{className:"text-secondary"},a.createElement(C.x,{namespace:I,phrase:"preventScrubbingExplain"}))))),a.createElement(p.Z,null,a.createElement(u.Z.Group,{className:"form-group"},a.createElement("div",{className:"form-check"},a.createElement(v.n,{className:"form-check-input",label:R("immediateFeedbackLabel"),name:"immediateFeedback",id:"immediateFeedback",type:"checkbox",checked:i.values.immediateFeedback}),a.createElement(u.Z.Label,{className:"form-check-label",htmlFor:"immediateFeedback"},a.createElement(C.x,{namespace:I,phrase:"immediateFeedbackLabel"})," "),a.createElement("div",{className:"text-secondary"},a.createElement(C.x,{namespace:I,phrase:"immediateFeedbackExplain"})))))),a.createElement(h.u,null,a.createElement(h.u.Cancel,{onClick:r}),a.createElement(h.u.Submit,{variant:"dark",text:e.publish?R("publish"):R("save")})))}function T(e){var t,n,r,i,o=e.interactive,l=e.interactiveMetadata,c=e.onSubmit,s=e.onClickCancel,m=e.publish,u={name:l.name||"",description:l.description,immediateFeedback:o.immediateFeedback,preventScrubbing:o.preventScrubbing};return(null===(t=e.contentRegions)||void 0===t?void 0:t.length)&&(u.contentRegions=Array.isArray(l.contentRegions)?l.contentRegions:l.contentRegions.data),a.createElement(g.n,{initialValues:u,validationSchema:(r=!!(null===(n=e.contentRegions)||void 0===n?void 0:n.length),i={name:b.Z_().trim().max(255,(function(){return R("titleTooLong")})).required((function(){return R("titleRequired")})).default(""),description:b.Z_().max(16e3,(function(){return R("descriptionTooLong")})).default("")},r&&(i.contentRegions=b.IX().min(1,"Resources must have a content region").default([])),b.Ry().shape(i)),allowInitialSubmit:!0,onSubmit:c},a.createElement(j,{interactiveMetadata:l,onClickCancel:s,publish:m,contentRegions:e.contentRegions}))}var F=n(9111),L=n(5960),P=n(16714),V=n(20768),A=n(69883),Z=n(22902),M=n(31908),z=n(14070),_=n(97291),D=n(9064),U=i.T.encloseNamespace("interactives.editInteractiveDetailsView");function G(e){var t=e.interactiveMetadataId,n=e.publish,i=e.closePopup,u=(0,r.I0)(),d=(0,A.Z)(),p=(0,Z.T)().hasPermissions,f=l.a.useBasicFetch(V.b.interactiveMetadata(t)),b=l.a.useBasicFetch(f.data?V.b.interactive(f.data.interactiveId):null);function v(){d.error(U("error")),i()}function g(){var e=(0,D.T)(f.data);s.k.logUserAction(e,{actionType:n?m.Vw.Publish:m.Vw.Edit,entity:m.py.Interactive,location:m.LZ.EditInteractiveDetails,workflowPhase:m.eu.Discard,descriptor:n?m.Iq.Publish:void 0}),i()}var h=!!f.data&&!!b.data;return a.createElement(F.G,{title:U(n?"publishHeader":"editHeader"),closePopup:g,showLoadingSpinner:!h},a.createElement(T,{interactive:b.data,interactiveMetadata:f.data,onClickCancel:g,onSubmit:function(a){var r={id:b.data.id,name:a.name,duration:M.M.getDuration(f.data),immediateFeedback:!!a.immediateFeedback,preventScrubbing:!!a.preventScrubbing},g={name:a.name,description:a.description,status:n?L.X.Published:f.data.status},h=0,y=function(){h<1?h++:function(a){i(),d.success(U("success",{name:a,escapeText:!0}));var r=(0,D.T)(f.data);s.k.logUserAction(r,{actionType:n?m.Vw.Publish:m.Vw.Edit,entity:m.py.Interactive,location:m.LZ.EditInteractiveDetails,workflowPhase:n?m.eu.Complete:m.eu.Save,descriptor:n?m.Iq.Publish:void 0}),n&&(p(P.C.StudentExperience)?o.Q.C$.trigger({application:_.O.INTERACTIVES,action:z.e.Interactives.VIEW_INTERACTIVE,args:[e.interactiveMetadataId,c.m.slugify(f.data.name)]}):o.Q.C$.trigger({application:_.O.INTERACTIVES,action:z.e.Interactives.CONTRIBUTE_INTERACTIVE,args:[t]}))}(a.name)};l.a.fetch(u,V.b.updateInteractive(b.data.id,r,y,v)),l.a.fetch(u,V.b.updateInteractiveMetadata(f.data.id,g,y,v))},publish:n}))}},68050:(e,t,n)=>{n.d(t,{Z:()=>s});var a=n(95685),r=n.n(a),i=n(32735),o=n(46304),l=n(74512);const c=i.forwardRef((({bsPrefix:e,className:t,as:n="div",...a},i)=>{const c=(0,o.vE)(e,"row"),s=(0,o.pi)(),m=(0,o.zG)(),u=`${c}-cols`,d=[];return s.forEach((e=>{const t=a[e];let n;delete a[e],null!=t&&"object"==typeof t?({cols:n}=t):n=t;const r=e!==m?`-${e}`:"";null!=n&&d.push(`${u}${r}-${n}`)})),(0,l.jsx)(n,{ref:i,...a,className:r()(t,c,...d)})}));c.displayName="Row";const s=c}}]);
2
+ //# sourceMappingURL=8258-02d619de75-lite.chunk.js.map