{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./assets/lizard.svg","webpack:////tmp/build_31b79d80/packages/creator-ui/build/core/index.js","webpack:////tmp/build_31b79d80/packages/creator-ui/build/core/box.js","webpack:////tmp/build_31b79d80/packages/creator-ui/build/core/flexbox.js","webpack:////tmp/build_31b79d80/packages/creator-ui/build/core/text.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/hooks/useSidebar.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/chrome/navbarContext.js","webpack:///./assets/Image.svg","webpack:////tmp/build_31b79d80/packages/creator-app/build/utils/render.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/carousel.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/interaction.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/chrome/navItem.js","webpack:////tmp/build_31b79d80/packages/creator-ui/build/index.js","webpack:////tmp/build_31b79d80/packages/creator-client/build/api/Theme.js","webpack:///./assets/pointerLight.svg","webpack:////tmp/build_31b79d80/packages/creator-ui/build/core/core.js","webpack:////tmp/build_31b79d80/packages/creator-ui/build/atoms/index.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/index.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/utils/children.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/topic.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/edit/topics.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/chrome/bar.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/chrome/burger.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/chrome/drawer.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/chrome/dropDown.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/chrome/logo.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/chrome/navArrow.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/chrome/user.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/chrome/navbarLink.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/chrome/search.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/chrome/navigation.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/index.js","webpack:////tmp/build_31b79d80/packages/creator-client/build/api/Module.js","webpack:////tmp/build_31b79d80/packages/creator-client/build/api/Response.js","webpack:////tmp/build_31b79d80/packages/creator-client/build/api/Block.js","webpack:////tmp/build_31b79d80/packages/creator-client/build/api/Connection.js","webpack:///./assets/close.svg","webpack:///./assets/addImg@3x.svg","webpack:///./assets/edit.svg","webpack:///./assets/createInteractionPlaceholder.png","webpack:///./assets/createInteractionPlaceholderPreview.svg","webpack:///./assets/Plus.svg","webpack:///./assets/Video.svg","webpack:///./assets/Embed.svg","webpack:///./assets/HotspotDefault_v3.svg","webpack:///./assets/collectFeedbackSubmitted.svg","webpack:///./assets/PortalAvatar.svg","webpack:////tmp/build_31b79d80/packages/creator-client/build/index.js","webpack:///./setup.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/editor.js","webpack:////tmp/build_31b79d80/packages/creator-ui/build/core/button.js","webpack:////tmp/build_31b79d80/packages/creator-ui/build/core/card.js","webpack:////tmp/build_31b79d80/packages/creator-ui/build/core/grid.js","webpack:////tmp/build_31b79d80/packages/creator-ui/build/core/heading.js","webpack:////tmp/build_31b79d80/packages/creator-ui/build/core/image.js","webpack:////tmp/build_31b79d80/packages/creator-ui/build/core/link.js","webpack:////tmp/build_31b79d80/packages/creator-ui/build/core/icon.js","webpack:////tmp/build_31b79d80/packages/creator-ui/build/atoms/windowButton.js","webpack:////tmp/build_31b79d80/packages/creator-ui/build/atoms/indicator.js","webpack:////tmp/build_31b79d80/packages/creator-ui/build/molecules/index.js","webpack:////tmp/build_31b79d80/packages/creator-ui/build/elements/index.js","webpack:////tmp/build_31b79d80/packages/creator-ui/build/elements/browserWindow.js","webpack:////tmp/build_31b79d80/packages/creator-ui/build/elements/column.js","webpack:////tmp/build_31b79d80/packages/creator-ui/build/elements/row.js","webpack:////tmp/build_31b79d80/packages/creator-ui/build/icons/index.js","webpack:////tmp/build_31b79d80/packages/creator-ui/build/icons/back.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/accordion.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/accordionBody.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/accordionField.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/accordionHeader.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/animation.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/animationGroup.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/back.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/branchButton.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/hooks/useCarousel.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/carouselAnimator.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/heighAwareComponent.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/carouselNavigation.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/choice.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/choices.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/column.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/continueButton.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/description.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/dragAndDrop.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/dragContainer.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/dragItem.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/dropContainer.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/dropItem.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/feedback.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/header.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/heading.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/image.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/menu.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/multipleChoice.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/paragraph.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/quiz.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/rating.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/result.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/singleChoice.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/singleColumnLayout.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/slide.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/text.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/textarea.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/title.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/topicTitle.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/twoColumnLayout.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/editable.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/video.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/edit/index.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/edit/color.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/edit/enum.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/edit/richText.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/edit/sidebar.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/edit/block.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/edit/text.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/hooks/useModule.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/frame.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/player.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/app.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/utils/index.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/utils/block.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/chrome/index.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/chrome/navbar.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/chrome/lock.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/chrome/divider.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/chrome/networkActivity.js","webpack:////tmp/build_31b79d80/packages/creator-app/build/chrome/loadingSpinner.js","webpack:///./services/ie11closestPolyfill.ts","webpack:////tmp/build_31b79d80/packages/creator-client/build/api/Client.js","webpack:////tmp/build_31b79d80/packages/creator-client/build/api/Error.js","webpack:////tmp/build_31b79d80/packages/creator-client/build/api/Media.js","webpack:////tmp/build_31b79d80/packages/creator-client/build/api/FontFamily.js","webpack:////tmp/build_31b79d80/packages/creator-client/build/api/BlockType.js","webpack:///./assets/whoopsBrowserIncompatible.png","webpack:///./assets/Carousel_Placeholder.png","webpack:///./assets/clickNReveal_default.png","webpack:///./assets/Correct_loop.gif","webpack:///./assets/Incorrect_loop.gif","webpack:///./assets/Attempt.svg","webpack:///./assets/Incorrect_default.svg","webpack:///./assets/FlipCard_loop.gif","webpack:///./assets/Media_default.svg","webpack:///./assets/Media_loop.gif","webpack:///./assets/MultiChoice_loop.gif","webpack:///./store/localStore.ts","webpack:///./factories/block.ts","webpack:///./selectors/block.ts","webpack:///./services/apiHelpers/getBlockById.ts","webpack:///./services/apiHelpers/getTopics.ts","webpack:///./services/apiHelpers/getCurrentTopic.ts","webpack:///./services/apiHelpers/getInteractionsInTopic.ts","webpack:///./services/apiHelpers/getAllInteractions.ts","webpack:///./factories/utils.ts","webpack:///./factories/scorm.ts","webpack:///./store/mirror.ts","webpack:///./store/next.ts","webpack:///./factories/module.ts","webpack:///./factories/topic.ts","webpack:///./factories/header.ts","webpack:///./services/getStore.ts","webpack:///./styles/variables.ts","webpack:///./services/apiHelpers/setCurrentTopic.ts","webpack:///./services/isIE.ts","webpack:///./components/UI/VisuallyHidden.tsx","webpack:///./services/pubSub/pubSub.ts","webpack:///./services/pubSub/getSubscriptions.ts","webpack:///./components/Header/BackBtn.tsx","webpack:///./services/pubSub/usePubSub.ts","webpack:///./services/pubSub/index.ts","webpack:///./services/onScrollEnds.ts","webpack:///./services/getSectionInView.ts","webpack:///./components/Header/ProgressBar.tsx","webpack:///./services/getTopicSId.ts","webpack:///./services/getCurrentLocation.ts","webpack:///./components/Header/Menu.tsx","webpack:///./components/Header/Burger.tsx","webpack:///./services/findByKeyVal.ts","webpack:///./services/apiHelpers/renderBlock.tsx","webpack:///./components/UI/EditMarker.tsx","webpack:///./services/apiHelpers/setCurrentBlock.ts","webpack:///./components/lib/Image/EditWrappers.tsx","webpack:///./hooks/useImageLoader.tsx","webpack:///./components/UI/LoadingSpinner/LoadingSpinner.tsx","webpack:///./components/UI/LoadingSpinner/index.tsx","webpack:///./services/checkImgSrcIsGif.ts","webpack:///./components/lib/Image/Circle.tsx","webpack:///./components/lib/Image/Image.tsx","webpack:///./components/lib/Image/index.tsx","webpack:///./components/Header/Header.tsx","webpack:///./components/Header/index.tsx","webpack:///./theme.ts","webpack:///./services/ie11VerticalFlexCenterFix.ts","webpack:///./services/replaceWithPolyfill.ts","webpack:///./services/updateReadOnlyText.ts","webpack:///./components/UI/Modal.tsx","webpack:///./services/apiHelpers/getActiveBlocks.ts","webpack:///./services/scoring.ts","webpack:///./services/scorm/scormService.ts","webpack:///./services/scorm/API.ts","webpack:///./services/apiHelpers/isLastInteraction.ts","webpack:///./components/UI/EmptyBtn.tsx","webpack:///./components/UI/EditorBtn.tsx","webpack:///./components/Module/Bookmark.tsx","webpack:///./services/clearLocationHistory.ts","webpack:///./components/errorModal.tsx","webpack:///./components/Module/Fonts.tsx","webpack:///./components/Module/TopicContainer.tsx","webpack:///./components/lib/Scorm/SCORM.tsx","webpack:///./components/Module/windowScrollInfo.ts","webpack:///./components/lib/EmptySection/EmptySection.tsx","webpack:///./components/lib/EmptySection/index.tsx","webpack:///./components/UI/Arrow.tsx","webpack:///./components/lib/Accordion/interactionContext.ts","webpack:///./services/isAppleComputerInc.ts","webpack:///./services/isAndroidSamsung.ts","webpack:///./services/apiHelpers/setBlockProps.ts","webpack:///./components/lib/Accordion/Accordion.tsx","webpack:///./components/lib/EditableText/renderMark.tsx","webpack:///./components/lib/EditableText/renderNode.tsx","webpack:///./components/lib/EditableText/renderInline.tsx","webpack:///./components/lib/EditableText/serializer.tsx","webpack:///./components/lib/EditableText/bulletStyles.ts","webpack:///./components/lib/EditableText/ReadOnlyText.tsx","webpack:///./components/lib/EditableText/EditableText.tsx","webpack:///./components/lib/EditableText/index.tsx","webpack:///./services/unlockInteraction.ts","webpack:///./components/Layouts/Wrapper.tsx","webpack:///./components/Layouts/HiddenBackButton.tsx","webpack:///./components/Layouts/Background.tsx","webpack:///./components/Layouts/next.ts","webpack:///./components/Layouts/ContainerLogical.tsx","webpack:///./services/checkButtonColors.ts","webpack:///./components/lib/ContinueBtn/DButton.tsx","webpack:///./components/Editor/EditorUtilities/UI/LastPageMessage.tsx","webpack:///./services/hasValidLocationUpdated.ts","webpack:///./components/lib/ContinueBtn/continueBtn_v2.tsx","webpack:///./components/lib/EditableBtn/DButton.tsx","webpack:///./services/onFullScreen.ts","webpack:///./components/lib/EditableBtn/EditableBtn.tsx","webpack:///./components/lib/EditableBtn/index.tsx","webpack:///./hooks/useIntersectionObserver.ts","webpack:///./components/lib/TextAndImage/interactionContext.ts","webpack:///./components/lib/Video/Transcript.tsx","webpack:///./components/lib/Video/Video.tsx","webpack:///./components/lib/Video/index.tsx","webpack:///./components/lib/SVG/EditWrappers.tsx","webpack:///./assets/animations/placeholder.js","webpack:///./components/lib/SVG/index.tsx","webpack:///./components/lib/SVG/SVG.tsx","webpack:///./components/lib/Media/index.tsx","webpack:///./components/lib/Media/Media.tsx","webpack:///./components/Layouts/IELayout.tsx","webpack:///./services/shouldUpdate.ts","webpack:///./components/lib/Accordion/AccordionDisplay_v2.tsx","webpack:///./components/lib/Accordion/index.tsx","webpack:///./services/checkReturnToInteractionEditing.ts","webpack:///./components/lib/Carousel/CarouselBtn.tsx","webpack:///./components/lib/Carousel/CarouselMarker.tsx","webpack:///./components/lib/Carousel/interactionContext.ts","webpack:///./services/isEDGE.ts","webpack:///./components/lib/Carousel/CarouselLayout.tsx","webpack:///./components/lib/Carousel/Carousel.tsx","webpack:///./components/lib/Carousel/CarouselSlide.tsx","webpack:///./components/lib/Carousel/CarouselDisplay.tsx","webpack:///./components/lib/Carousel/index.tsx","webpack:///./components/lib/FlipCard/interactionContext.ts","webpack:///./components/lib/FlipCard/Flipcards_v2.tsx","webpack:///./components/lib/FlipCard/Face.tsx","webpack:///./components/lib/FlipCard/Flipcard_v2.tsx","webpack:///./components/lib/FlipCard/FlipCardDisplay_v2.tsx","webpack:///./components/lib/FlipCard/index.tsx","webpack:///./components/lib/FullPageText/interactionContext.ts","webpack:///./components/lib/FullPageText/TermsAndConditions.tsx","webpack:///./components/lib/FullPageText/FullPageText.tsx","webpack:///./components/lib/FullPageText/FullPageTextDisplay.tsx","webpack:///./components/lib/FullPageText/index.tsx","webpack:///./components/lib/Multichoice/interactionContext.ts","webpack:///./components/lib/Embed/EditWrappers.tsx","webpack:///./components/lib/Embed/Embed.tsx","webpack:///./components/lib/Embed/index.tsx","webpack:///./components/lib/Multichoice/Multichoice_v2.tsx","webpack:///./components/lib/Feedback/index.tsx","webpack:///./components/lib/Feedback/Feedback.tsx","webpack:///./components/lib/Multichoice/Answer.tsx","webpack:///./components/lib/Multichoice/SubmitBtn.tsx","webpack:///./components/lib/Multichoice/MultichoiceDisplay_v2.tsx","webpack:///./components/lib/Multichoice/index.tsx","webpack:///./components/lib/Sortation/interactionContext.ts","webpack:///./components/lib/Sortation/Option.tsx","webpack:///./services/apiHelpers/getBlocksByType.ts","webpack:///./components/lib/Sortation/Sortation.tsx","webpack:///./components/lib/Sortation/SortationHeading.tsx","webpack:///./components/lib/Sortation/SortationDisplay_v2.tsx","webpack:///./components/lib/Sortation/index.tsx","webpack:///./components/lib/Matching/interactionContext.ts","webpack:///./services/shuffle.ts","webpack:///./components/lib/Matching/Feedback.tsx","webpack:///./components/lib/Matching/LayoutResponsiveContainer.tsx","webpack:///./components/lib/Matching/Layout.tsx","webpack:///./services/apiHelpers/getMediaParent.ts","webpack:///./components/lib/Matching/ReRenderedFeedback.tsx","webpack:///./components/lib/Matching/Matching.tsx","webpack:///./components/lib/Matching/MatchDrag.tsx","webpack:///./components/lib/Matching/MatchDrop.tsx","webpack:///./components/lib/Matching/MatchingDisplay.tsx","webpack:///./components/lib/Matching/index.tsx","webpack:///./components/lib/TextAndImage/MultiMediaDisplay.tsx","webpack:///./components/lib/TextAndImage/index.tsx","webpack:///./components/lib/HotSpot/interactionContext.ts","webpack:///./components/lib/HotSpot/EditWrapper.tsx","webpack:///./services/hexToRGB.ts","webpack:///./components/lib/HotSpot/Feedback.tsx","webpack:///./components/lib/HotSpot/VisibleHotSpot.tsx","webpack:///./components/lib/HotSpot/HotSpot.tsx","webpack:///./components/lib/HotSpot/HotSpotDisplay.tsx","webpack:///./components/lib/HotSpot/index.tsx","webpack:///./components/lib/FiveStarRating/interactionContext.ts","webpack:///./hooks/useSetState.ts","webpack:///./components/lib/FiveStarRating/Message.tsx","webpack:///./components/lib/FiveStarRating/FiveStarRating_v2.tsx","webpack:///./components/lib/FiveStarRating/FiveStarList.tsx","webpack:///./components/lib/FiveStarRating/Star.tsx","webpack:///./components/lib/FiveStarRating/SubmitBtn.tsx","webpack:///./components/lib/FiveStarRating/FiveStarRatingDisplay_v2.tsx","webpack:///./components/lib/FiveStarRating/index.tsx","webpack:///./components/lib/ResultsPage/interactionContext.ts","webpack:///./components/lib/ResultsPage/ResultsPageContent.tsx","webpack:///./components/lib/ResultsPage/ResultsPageMedia.tsx","webpack:///./components/lib/ResultsPage/GraphCircle.tsx","webpack:///./components/lib/ResultsPage/GraphBar.tsx","webpack:///./components/lib/ResultsPage/ResultsPageResult.tsx","webpack:///./components/lib/ResultsPage/ResultsPageDisplay.tsx","webpack:///./components/lib/ResultsPage/index.tsx","webpack:///./components/lib/ClickAndReveal/interactionContext.ts","webpack:///./components/lib/ClickAndReveal/ClickAndReveals.tsx","webpack:///./components/lib/ClickAndReveal/ClickAndReveal.tsx","webpack:///./components/lib/ClickAndReveal/ClickAndRevealContent.tsx","webpack:///./components/lib/ClickAndReveal/ClickAndRevealDisplay.tsx","webpack:///./components/lib/ClickAndReveal/index.tsx","webpack:///./components/lib/TopicPortal/interactionContext.ts","webpack:///./components/lib/TopicPortal/TopicIcon.tsx","webpack:///./components/lib/TopicPortal/TopicPanel.tsx","webpack:///./components/lib/TopicPortal/TopicPortalContainer.tsx","webpack:///./components/lib/TopicPortal/TopicPortalDisplay.tsx","webpack:///./components/Module/Interactions_Editor.tsx","webpack:///./components/Module/Interactions_Module.tsx","webpack:///./components/Module/Module_v2.tsx","webpack:///./components/Module/index.tsx","webpack:///./services/fontService/fonts.ts","webpack:///./services/fontService/parseFontUrl.ts","webpack:///./components/lib/BootScreen/BootScreen.tsx","webpack:///./services/fontService/fontService.ts","webpack:///./styles/global.ts","webpack:///./styles/flipCard.styles.ts","webpack:///./components/errorHandler.tsx","webpack:///./services/getModuleImages.ts","webpack:///./services/imagePreloader.ts","webpack:///./module.tsx","webpack:////tmp/build_31b79d80/packages/creator-app/build/components/module.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","0","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","__webpack_public_path__","__export","require","__makeTemplateObject","this","cooked","raw","__importDefault","mod","templateObject_1","styled_1","core_1","styled_system_1","Box","default","maxWidth","minWidth","height","minHeight","maxHeight","textAlign","transform","alignSelf","flex","order","overflow","gridArea","opacity","position","zIndex","top","right","bottom","left","width","background","backgroundImage","backgroundSize","backgroundPosition","backgroundRepeat","border","borderBottom","borderTop","borderRight","borderLeft","borderColor","boxShadow","borderRadius","displayName","defaultProps","box_1","Flexbox","alignItems","justifyContent","flexWrap","flexDirection","alignContent","flexBasis","texts","variant","Text","fontFamily","fontWeight","lineHeight","letterSpacing","theme","color","as","fontSize","__assign","assign","arguments","react_1","defaultState","sidebarlist","EditContext","createContext","undefined","useSidebar","_a","useState","state","setState","pushSidebarItem","item","exclusive","sl","popSidebarItem","pop","clearSidebarList","block","NavContext","boxed","nav","search","q","url","networkRequestActive","networkAvailable","isOpen","id","toggleMenu","__importStar","k","Components","Renderer","root","blocks","plugins","parsedPlugins","rootBlock","type","Error","Array","isArray","render","children","map","animator","config","element","createElement","Math","random","props","reduce","fn","onRenderedBlock","renderRoot","editorPlugin","editableFields","Editable","cloneElement","creator_ui_1","useCarousel_1","carouselAnimator_1","carouselNavigation_1","interaction_1","CarouselContext","Carousel","ctx","useCarousel","_b","current","count","interaction","useContext","InteractionContext","useEffect","complete","Provider","py","style","boxSizing","CarouselAnimator","CarouselNavigation","display","topic_1","topic","isComplete","Interaction","autoComplete","TopicContext","_c","editableContainer","forwardRef","ref","onClick","onKeyPress","tabIndex","templateObject_2","templateObject_3","templateObject_4","navbarLink_1","dropDown_1","navArrow_1","navbarContext_1","ListItem","li","DropDownList","ul","DropDownListItem","LogoIcon","img","NavItem","label","logo","Link","target","href","e","stopPropagation","paddingRight","src","NavArrow","DropDown","a","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","step","next","rejected","done","then","__generator","body","f","y","g","_","sent","trys","ops","verb","iterator","v","op","TypeError","transformBlock","Theme","CreateThemeEndpoint","opts","connection","set","obj","put","attributes","Core","div","space","__spreadArrays","il","jl","Select","kind","elements","Children","forEach","child","es","module_1","Topic","ModuleContext","modCtx","active","currentInteraction","Topics","Bar","margin","BurgerIcon","viewBox","version","stroke","strokeWidth","fill","fillRule","x","Burger","showDrawer","setDrawer","pl","pr","cursor","Drawer","Overlay","DrawerLink","Item","DrawerItem","padding","listStyle","Container","DropDownItem","DropDownCtx","open","onBodyClick","addEventListener","removeEventListener","Logo","x1","y1","x2","y2","stopColor","offset","I","points","navItem_1","Admin","profileImg","SearchBar","showSearch","html","className","action","method","outline","defaultValue","placeholder","onKeyUp","currentTarget","console","log","NavigationList","Navigation","Theme_1","Response_1","Block_1","includeTypes","arrayFlatten","acc","cur","concat","mapResponseToDataModel","DataType","Block","transformModule","includes","relationships","selectRelationship","el","included","find","inc","matchInclude","selectIncludes","filter","themeData","Module","links","CreateModuleEndpoint","variants","createdAt","created_at","updatedAt","updated_at","public","description","rootBlockId","root_block_id","transformBlocks","CreateBlockEndpoint","self","project_id","post","setMany","del","delete","meta","deletedAt","deleted_at","Error_1","Connection","base","fetch","credentials","headers","ErrorHandler","resp","json","JSON","stringify","cache","referrer","postRaw","postFile","patch","chameleon","parent","hasRemote","CHAMELEON_URL","hasMode","render_1","edit_1","useModule_1","useSidebar_1","frame_1","Editor","useModule","renderer","useMemo","mr","Sidebar","BrowserWindow","Frame","flexbox_1","buttons","Button","borders","buttonStyle","px","cards","Card","Grid","gridGap","gridRowGap","gridColumnGap","gridColumn","gridRow","gridAutoFlow","gridAutoRows","gridAutoColumns","gridTemplateRows","gridTemplateColumns","gridTemplateAreas","text_1","headings","Heading","images","Image","Icon","WindowButton","Indicator","isActive","bg","transition","test","atoms_1","overflowX","overflowY","Column","__rest","indexOf","getOwnPropertySymbols","propertyIsEnumerable","RowContainer","Row","BackIcon","cx","cy","Accordion","Fragment","AccordionBody","AccordionField","AccordionHeader","Animation","ScrollAnimator","location","hash","AnimationGroup","Back","dispatch","goBack","BranchButton","to","goto","goToPath","CarouselReducer","prev","Next","Prev","Goto","num","slideCount","initialSlide","useReducer","goTo","carousel_1","heighAwareComponent_1","setHeight","slides","isLeft","forwardProps","HeightAwareComponent","others","measuredRef","useCallback","node","offsetHeight","setTimeout","only","indicators","from","Choice","correct","Choices","align","ContinueButton","_d","other","_e","ti","goForward","values","help","Description","DragAndDrop","DragContainer","DragItem","DropContainer","DropItem","Feedback","Header","sticky","title","shape","Menu","MultipleChoice","Paragraph","Quiz","Rating","Result","SingleChoice","SingleColumnLayout","contain","mx","Slide","TextArea","Title","TopicTitle","currentTopic","TwoColumnLayout","useRef","returnFocus","focus","requiredProps","fields","nativeEvent","Video","Color","Enum","RichText","topics_1","block_1","editor","onReturn","cloneModule","Set","Remove","ModuleReducer","nextState","rootId","react_frame_component_1","rest","FrameContextConsumer","frameContext","Player","ExampleSerializedNestedRoot","ExampleSerializedNested","subType","ExampleSerialized","new","cloneBlock","user_1","search_1","logo_1","navigation_1","drawer_1","burger_1","bar_1","lock_1","divider_1","networkActivity_1","Navbar","menu","setMenu","keys","toggler","currentUser","lock","showNetworkActivity","showLock","innerWidth","setDisplay","onResize","isMobileDisplay","Lock","NetworkActivity","showActivity","firstName","profileImage","Divider","LockedIcon","UnlockedIcon","LockIcon","locked","setLocked","loadingSpinner_1","LoadingSpinner","emotion_1","dualRingAnimation","keyframes","Ring","size","lineWeight","SpinContainer","Element","closest","matches","msMatchesSelector","webkitMatchesSelector","ancestor","document","documentElement","contains","parentElement","Module_1","Connection_1","Media_1","FontFamily_1","Client","files","CreateFileEndpoint","themes","fonts","CreateFontFamilyEndpoint","extendStatics","__extends","b","setPrototypeOf","__proto__","__","constructor","ApiError","_super","message","err","_this","redirected","ok","status","statusText","transformFile","CFile","projectId","formData","FormData","file","append","transformFontFamilies","families","ff","font","Font","family","FontFamily","weight","BlockType","match","replace","sessionStorage","clear","localStorage","watch","store","deBounce","subscribe","clearTimeout","getState","focusedNodeId","lastFocusedNodeId","currentInteractionBlockId","interactionsSeen","interactionsOpen","setItem","saveState","createBlock","extra","uuid","getBlock","findBlocks","selector","findBlocksIn","toVisit","discovered","filterToNewRoot","getBlockChildren","blockList","getTopicGroup","possibleGroups","getTopicGroupFromState","getTopicsFromGroup","topicGroup","getInteractionsFromTopicAndState","interactionGroup","newRootBlockList","getTopicInteractionGroup","getAllInteractionsOrdered","getAllTopicsOrdered","getBlockFromState","getStore","getTopics","getCurrentTopic","interactions","curr","getInteractionsInTopic","makeReference","getSId","SIds","getAllInteractions","getBlockById","entry","sId","max","createScorm","shouldSendScoreWhen","moduleCompleteInterationRequirement","moduleCompleteScoreRequirement","run","TrackerState","Mirror","tracker","newTracker","DIRTY","CLEAN","DELETED","toUpdate","toSet","__delete","__isSaving","client","catch","Sentry","scope","setExtra","setAPIErrorAction","currrentTracker","nextTracker","initialState","customFonts","isScrolling","interactionsLocked","scormSettings","setCompleteWhenAllPagesViewed","setCompleteFromScore","setCompleteOnExit","passMark","userPalette","fontFamilies","recoloredChameleonImages","backgroundColor","headerBackgroundColor","headerTextColor","textColor","buttonTextColor","buttonBackgroundColor","buttonShape","buttonShadow","buttonOutline","highContrast","buttonBorderRadius","progressBar","topicMenu","themeId","hasError","error","apiError","mirrorActive","userBehaviour","score","interactionTiming","scormResponses","remoteable","w","flatten","childBlocks","flatMod","rehydrateAction","focusBlockAction","updateInteractionsOpenAction","updateScoreAction","addScormResponseAction","scormAction","actionHandlers","REHYDRATE","FOCUS_BLOCK","updatedCurrentInteractionBlockId","SET_BLOCK","SET_BLOCKS","REMOVE_BLOCK","all","REMOVE_BLOCK_LOCAL","SET_ACTIVE_TOPIC","SET_CURRENT_INTERACTION","updateFocusedNodeId","SET_IS_SCROLLING","UPDATE_INTERACTIONS_SEEN","UPDATE_INTERACTIONS_OPEN","$","nextInteraction","findIndex","nextInteractionId","SET_ROOT_BLOCK","SET_PROJECT_ID","UPDATE_SCORM_SETTINGS","UPDATE_USER_PALETTE","UPDATE_COURSE_THEME","SET_THEME","SET_THEME_ID","REHYDRATE_FROM_LMS","SET_LINKS","SET_ERROR","SET_API_ERROR","SET_TRACKER","MIRROR_ACTIVE","SET_FONTS","UPDATE_RECOLORED_CHAMELEON_IMAGES","LOAD_SUSPEND_DATA","interactionsReporting","UPDATE_SCORE","ADD_SCORM_RESPONSE","composeEnhancers","compose","createStore","handler","applyMiddleware","thunk","savedStore","parse","getItem","_store","colors","getButtonFocus","shadowBefore","dev","setActiveTopicAction","isIE","ua","navigator","userAgent","msie","parseInt","substring","rv","subscriptions","VisuallyHidden","getSubscriptionsWindow","WINDOW","prefix","String","keyId","getId","getSubscriptions","firstSection","scrolling","pubSub","freeze","fN","subscribers","record","publish","query","warn","toUpperCase","usePubSub","pS","onScrollEnds","callback","checkScrolling","getSectionInView","sections","querySelectorAll","section","reverse","getBoundingClientRect","innerHeight","index","lGrey2","Arrow","navToPrevTopic","topics","prevTopic","setCurrentTopic","requestAnimationFrame","scrollTo","scrollHeight","BackBtn","backBtn","querySelector","onScroll","pointerEvents","toggle","locationHistory","checkHistory","setInterval","clearInterval","toString","substr","prevSection","scrollIntoView","behavior","css","lGrey0","ProgressBar","useSelector","allInteractions","unit","percent","toFixed","aria-valuenow","Number","aria-valuemin","aria-valuemax","aria-live","getTopicSId","topicId","topicSId","interactionId","interactionSId","getCurrentLocation","open_menu_kf","close_menu_kf","currentTopicName","close","init","addBurger","keyOverrides","preventDefault","burgerX","anchors","onAnimationEnd","visibility","aria-hidden","aria-label","targetLocation","click","memo","aria-haspopup","aria-expanded","_menu","findByKeyVal_V2","val","found","Component","EditMarker","Edit","lPink","frameSelected","EditWrapper0","mediaParentId","selected","setCurrentBlock","EditWrapper1","editWrapperSize","editWrapperUseIcon","useImgLoader","loadedState","setLoadedState","mounted","loaded","onload","onerror","dualRing","checkImgSrcIsGif","lGrey4","Circle","fit","cachedSrc","imgLoadedState","useImageLoader","circle","useLayoutEffect","checkSize","tick","cachedSrcs","editWrapperType","usePlaceholderValue","borderStyle","fixedHeight","fixedHeightValue","imgSize","layout","image","hasResized","targetHeight","imageWidth","imageHeight","containerWidth","ratio","calculatedMaxHeight","calculatedHeight","getCalculatedHeight","parsedImgSize","EditWrapper","alt","headerHeight","SkipToContent","skipToContent","setSkipToContent","onFocus","onBlur","connect","currentTopicIndex","setMenuState","logoBlock","renderBlock","hideMenu","breakpoints","fontSizes","ie11VerticalFlexCenterFix","ReplaceWithPolyfill","currentNode","parentNode","removeChild","ownerDocument","createTextNode","insertBefore","previousSibling","replaceChild","replaceWith","CharacterData","DocumentType","updateReadOnlyText","containerElement","tagName","toLowerCase","innerText","innerHTML","outerHTML","dataset","closestLi","classList","add","localColor","span","textDecorationColor","container","modalOpen","Modal","onClose","btnColor","setBtnColor","focusedNodeIdOnOpen","rootContainer","contentContainer","hiddenButton","buttonTabIndex","checkResize","content","setAttribute","button","tabOverride","getComputedStyle","closeOnLinkClick","addRemoveCloseOnLinkClick","addOrRemove","link","createPortal","getActiveBlocks","scorm","getAllScoringInteractions","setScore","_scoreValue","scoreValue","getScore","exit","scoreMin","scoreMax","scoreScaled","scoreRaw","success","completion","suspend_data","1","isLastInteraction","interactionsLockedData","multichoiceData","SCORM","unloaded","saveAndQuit","save","quit","setInteractionsLockedData","EmptyBtn","ariaLabel","disabled","lGrey1","EditorBtn","hoverOveride","join","Bookmark","bookmark","setBookmark","local","API","getLocation","firstTopic","firstInteraction","firstTopicSId","firstInteractionSId","Cont","Backdrop","ErrorModal","reload","FontManager","FontFace","load","Background","backgroundImageOpacity","split","TopicContainer","tabindex","Version","SuccessString","CompletionString","ShouldSendScore","ReportableInteractions","API_KEYS","debounceScrolling","oldTopic","newTopic","topicUpdated","setScoreData","passed","sendScore","TwoThousandAndFour","Passed","Failed","exportedExitProps","exitProps","setSCORMCompletion","Complete","Incomplete","setCompletionStatus","setIsComplete","interactionCompletion","scoreCompletion","setShouldSendScore","shoudlSendScore","Never","Always","OnComplete","setCompleteOnExitOps","qid","qtype","qstudent","response","qlearner","qresult","qsave","cmiInteractions","OnePointTwo","Multichoice","Sortation","question","loadActiveBlocks","createSelector","loadScoringBlocks","SCORMRenderer","useDispatch","initialised","setInitialized","setVersion","lastInteractionSeen","setLastInteractionSeen","setUnloaded","reportedInteractions","setReportedInteractions","scoreData","numberOfScorableInteractions","lastInteraction","allInteractionsSeen","scorePercent","remoteData","suspendedData","reported","un","delaySetSCORM","suspendData","ri","setRI","completed","delivered","rep","interactionType","reportable","qProps","getResult","setCMIInteractions","oldPosition","newPosition","windowScrollInfo","scrollDirection","scrollY","sectionInView","inView","EmptySection","setNewSectionWizard","createInteractionPlaceholder","createInteractionPlaceholderPreview","Wrapper","styled","rotate","delay","Line","interactionContext","isAppleComputerInc","vendor","isAndroidSamsung","delayUpdate","newBlocks","hostname","ReactGA","event","category","nonInteraction","setBlockLocalAction","setBlockAction","useAccordion","unlock","viewed","past","AccordionContext","iContext","lockDown","setBlockProps","React","idx","findUl","Indent","indent","remove","data-type","renderMark","mark","renderNode","isFocused","toJS","A","onMouseEnter","text","onMouseOut","renderInline","rules","deserialize","getAttribute","nodes","childNodes","serialize","Html","bulletStyles","bulletColor","ReadOnlyText","useBackgroundControls","readOnlyText","dangerouslySetInnerHTML","__html","isBoldHotkey","isKeyHotkey","isItalicHotkey","isUnderlinedHotkey","EditableText","setBlock","hasPlaceholder","trim","readOnly","onChange","onKeyDown","toggleMark","onPaste","pastedToPs","clipboardData","getData","insertFragment","updateEditor","unlockInteraction","itemsSeen","getBoxShadow","hover","setHover","bottomPadding","Plus","onMouseOver","HiddenBackButton","setDisabled","isMounted","getInteractions","getPrevSection","currentSectionIndex","isTopic0","hasPrevSection","nextTopic","renderCount","getInteractionsOpen","isFirstInteractionInTopic","foreground","parsedTextColor","getInteractionsLockedData","isLocked","overideStyleBackground","paddingTop","data-section","role","checkButtonColors","localBackgroundColor","buttonBackground","buttonForeground","DButton","borderWidth","useLargeButton","focusColor","enabled","shapeStyle","pill","rectangle","closeWindow","btn","fontFromTheme","unlocked","_isLocked","scrollWidth","h","offsetWidth","data-as-exit-btn","lastPageMessageReceived","LastPageMessage","setShowLastPageMessage","hasValidLocationUpdated","isEditActive","disableLastPageMessage","buttonBorderColor","localShape","localShadow","localButtonOutline","localUseLargeButton","localBorderColor","localBorderRadius","hasSetRemoveable","removeable","hasValidLocation","buttonBlock","buttonCount","fullScreen","EditableBtn","useIntersectionObserver","updateWhenIsNotIntersecting","update","entries","options","io","IntersectionObserver","isIntersecting","observe","fullScreenToggle","onFullScreen","fullscreen","Transcript","ShowTranscriptBtn","setShowTranscript","hideControls","useTranscript","isPlaying","setIsPlaying","calcHeight","setCalcHeight","showTranscript","context","video","player","threshold","calcHeightTarget","reactPlayer","onStart","onPlay","onPause","onEnded","playing","controls","VideoIcon","showTranscriptButtonElement","SVG","animationData","svgPlaceholder","svg","bodymovinOptions","loop","autoplay","prerender","hasAnimationData","svg_","removeAttribute","Media","IELayout","isButtonBlock","shouldUpdate","ComponentsObject","headingColor","trigger","isFieldOpen","mt","mb","headingTextColor","spaceBarTrigger","keyCode","fieldBody","fieldBodyBackgroundColor","fieldBodyTextColor","initial","duration","ease","animate","onAnimationStart","onAnimationComplete","Embed","ContinueBtn","EditableButton","AccordionDisplay","interactionBlock","blockId","noop","Btn_v2","dir","arrow","Marker_v2","carouselContext","aria-pressed","isEDGE","edge","Direction","CarouselLayout","_interactionContext","currentIndex","previousIndex","carouselColor","carouselTextColor","animation","tab-index","slide","imgHeight","setCurrentIndex","setPreviousIndex","slideCache","slideCacheIds","childrenIds","diff","removedIndex","_currentIndex","slideNum","CarouselSlide","slideRef","natural","stiffness","damping","smooth","none","CarouselDisplay","updateItemsSeen","Flipcards","updateFlipCardSeen","Face","face","alignTextTop","visibleFace","faceElement","addRemoveStopPropagation","addRemove","Flipcard","cardHasFocus","setCardHasFocus","rotation","updateCardDisplay","edgeOpacityHack","setEdgeOpacityHack","flipcardFrontColor","flipcardBackColor","flipcardFrontTextColor","flipcardBackTextColor","flipcardWidth","flipcardHeight","flipCard","flipCardFaces","flipCardInit","updateRotation","bounds","checkReturnToInteractionEditing","side","clientX","getFocusColor","abs","onTransitionEnd","checkFlipCardSize","flipCardResizeRatio","Flipcards_v2","Flipcard_v2","FlipcardSide","Front","continueBtn","FlipCardDisplay","TermsAndConditions","accept","acceptContent","acceptBorderRadius","acceptTextColor","acceptBackgroundColor","setToggle","tickColor","onSubmit","checked","htmlFor","FullPageText","FullPageTextDisplay","embedIcon","getMinHeight","fullWindowHeight","IFrame","setLoaded","onLoad","iF","SubmitState","targetFeedbackElements","attempt","useAttemptFeedback","numberOfAttempts","showAttemptNumber","useMediaInFeedback","showCorrectAnswer","ModalWithEditableBtn","Correct","Incorrect","Attempt","renderedBlock","Feedbacks","Correct_Feedback","Incorrect_Feedback","Attempt_Feedback","FeedbackButtonCorrect","FeedbackButtonIncorrect","showAttemptNumberComputed","nullSpaceCloseAction","parsedOnClose","MultichoiceContext","sessionLock","interactionContextId","correctOptions","useFeedback","useUniqueOptionFeedback","setSelected","Resolved","Initial","submit","setSubmit","feedback","setFeedback","parsedIsCorrect","Question","Answers","SubmitBtn","multichoice","attemptNumber","isCorrect","sort","isMultiCorrect","isLive","showFeedback","multichoiceIsLive","alert","answerIds","answer","isMultiSelect","updateSelected","optionId","_selected","answerCount","submitButtonElement","Radio","lockedBySCORM","resolved","checkboxColor","isMulti","isSquare","savedMultichoiceData","getMultichoiceData","NewTick","xmlns","strokeMiterlimit","Tick","Answer","multichoiceContext","optionText","panelBackground","panelBorderRadius","optionTextColor","chameleonText","checkAnswerHeight","poll","answerHeight","MultichoiceWithText","Multichoice_v2","MultichoiceDisplay","Option","option","isDragging","optionContainer","panelBackgroundDragging","textColorDragging","firstElementChild","baseColor","answers","getBlocksByType","heading0","heading1","sortFrom","sortTo","shuffledOptions","arr","setOrder","setIsLive","sortation","hasAttempt","sortationResolved","alphabetized","onDragEnd","list","startIndex","endIndex","reordered","removed","source","destination","newOrder","every","droppableId","provided","innerRef","draggableId","snapshot","draggableProps","dragHandleProps","SortationHeading","SortationHeading0","SortationHeading1","SortationDisplay","shuffle","txt","isImg","MatchingLayout","setLayout","dCWidth","updateLayout","cWidth","Layout","columns","reset","LayoutResponsiveContainer","column_a","column_b","drags","drag","firstChild","reRenderedFeedback","getMediaParent","ResetText","Placeholder","panelWidth","panelHeight","Matching","MatchDrags","MatchDrops","shuffledMatchDrags","setColumns","eventType","dragIndex","dropIndex","drop","updatedColumnB","updatedColumns","isDragDisabled","MatchingWrapper","setReset","MatchDrag","isDropDisabled","dropZoneColor","mediaType","keyFromSrc","hoverHilite","MatchDrop","MatchPairs","AnswerContainer","MatchingDisplay","TextAndImage","hexToRgb","hex","exec","outerPulse","innerPulse","VisibleHotSpot","hotSpotsAnimated","hotSpotsVisible","creating","HotSpot","hotspotType","hotSpotColor","hotSpotSize","hotSpots","setImgSize","imgLoading","setImgLoading","setCreating","setShowFeedback","scale","inverseScale","setScale","currentHotspot","hexToRGB","getParsedColor","doHilite","hotSpotRoot","markers","hotspotEditorControls","svgContainer","persist","getHotspots","clientY","preserveAspectRatio","xlinkHref","hotspotDefaultSVG","HotSpotElement","HotSpotIsolated","HotSpotDisplay","useSetState","Message","onUpdateCallback","hasValue","setHasValue","onUpdate","FiveStarRatingContext","resize","FeedbackSubmitted","collectFeedbackSubmitted","FiveStarRating","FiveStarList","useMyFeedbackApp","emailRequired","emailOptional","identityPlaceholder","anonymityRequired","rating","learnerIdentity","submitted","setSubmitted","hasLearnerIdentity","Id","alertLearnerIdentity","onUpdateRating","onUpdateLearnerIdentity","onUpdateMessage","starColor","hoverIndex","setHoverIndex","onHover","isHovered","Star","isClicked","setIsClicked","hasFocus","setHasFocus","onMouseLeave","reference","collectionKey","submissionEmailDestination","subject","identity","myHeaders","Headers","requestOptions","redirect","endPoint","myFeedbackApp","parsedMessage","encodeURIComponent","FiveStarRatingDisplay","ResultsPageContent","displayPassFailContent","showImage","ResultsPageMedia","GraphCircle","animatedValue","setAnimatedValue","actualValue","setActualValue","strokeLinecap","strokeDasharray","ceil","GraphBar","GraphContainer","graphType","graphColor","ResultsPageContentPassed","ResultsPageContentFailed","ResultsPageResult","ResultsPageDisplay","setDisplayPassFailContent","hasScoringInteractions","passedFailed","ClickAndReveals","updateClickAndRevealSeen","parentId","seenSession","ClickAndRevealSeenTick","ClickAndReveal","imageText","seen","setSeen","clickAndRevealPanelTextColor","includeLabel","clickAndRevealLabelTextColor","showSeenState","clickAndRevealShowSeenStateBackgroundColor","clickAndRevealShowSeenStateTickColor","panelOutline","useGlobalNavigation","globalNavigation","panelImg","returnToLastFocused","findLastFocused","lastFocused","useFixedHeightOrAuto","panelId","Content","ClickAndRevealContent","columnA","columnB","getImg","column","ColumnRowA","ColumnRowB","ClickAndRevealDisplay","TopicIcon","topicIcon","isEditing","iconSelected","setIconSelected","TopicPanelDefaultIcon","percentComplete","TopicPanel","cardColor","navigateToTopic","addImage","cardWidth","cardHeight","cardSize","navigationEnabled","navigate","interactionsInTopic","interactionsInTopicSeen","isNaN","shared","TopicPortalContainer","TopicPortalDisplay","InteractionComponents","FlipCard","ResultsPage","TopicPortal","Interactions_Editor","currentTopicId","currentInteractionId","getInteractionsSeen","Interactions","addNextInteractionToInteractionsSeen","group","topicList","compareIds","topicInteraction","topicSid","targetTopic","targetInteraction","targetInteractionIndex","updateInteractionsOpen","scormBlock","Interactions_Module","parseFontUrl","chunks","fontName","fontExtension","fontFormat","ttf","otf","loadAssets","fontFamilyMarks","trimStart","trimEnd","addFont","targetWindow","head","styleTag","appendChild","WebFontConfig","google","custom","loading","loadFonts","inactive","fontloading","familyName","fvd","fontactive","fontinactive","WebFont","fader","ErrorBoundary","eventId","info","setExtras","moduleImages","getModuleImages","interactionBackgrounds","blocks_","compedInteractionBackgroundsImages","loadImgs","checkLoadImages","loadImages","remaining","smoothscroll","polyfill","IS_CHAMELEON_EDITOR","loadTheme","checkFontFamilyDisplays","unsubscribe","ReactDOM","children_1","defaultModuleState","history","histf","to_1","int","topicID","histb","top_1","inter"],"mappings":"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,EAAmB1H,OAAQ89B,IACtD,aAAC,GAAD,CACEz0D,IAAG,eAAUq+B,GACb14B,MAAOA,EACP6E,MAAOA,GAENjK,OAAOszB,MACN,aAAC,GAAD,CACEsgC,eAAgBr7B,EAChBs7B,qBAAsBp7B,EACtBtN,aAAcA,IAGhB,aAACwpC,GAAD,CACEl1D,IAAG,UAAE0rB,EAAa,UAAf,aAAE,EAAiB5kB,GACtB4kB,aAAcA,KAKpB,oBAAK5kB,GAAG,kBAAkBmqC,KAAK,YAEjC,aAAC,GAAD,QEvQFtqB,GAAQ,CACV,OACA,gBACA,OACA,YACA,QACA,iBACA,QACA,OACA,OACA,YACA,SACA,SACA,aACA,QACA,QACA,YACA,SACA,YACA,cACA,eACA,iBACA,SACA,QACA,cACA,MACA,QACA,YACA,sBACA,aACA,eACA,oBACA,QACA,OACA,eACA,gBACA,cACA,eACA,eACA,QACA,QACA,OACA,oBACA,iBACA,UACA,OACA,YACA,eACA,oBACA,aACA,QACA,OACA,eACA,aACA,eACA,YACA,eACA,eACA,eACA,aACA,SACA,cACA,YACA,sBACA,SACA,WACA,SACA,UACA,iBACA,WACA,WACA,mBACA,OACA,mBACA,UACA,YACA,YACA,WACA,UACA,YACA,SACA,mBACA,cACA,cACA,UACA,YACA,QACA,qBACA,UACA,aACA,kBACA,kBACA,mBACA,OACA,gBACA,SACA,mBACA,eACA,WACA,YACA,qBAyBaA,MC7GAwuC,GAhBM,SAAAzuD,GACnB,IAAM0uD,EAAS1uD,EAAIixB,WAAWqN,MAAM,OADV,EAEQowB,EAAOA,EAAOh4D,OAAS,GAAG4nC,MAAM,MAFxC,WAEnBqwB,EAFmB,KAETC,EAFS,KAS1B,MAAO,CACLD,WACAC,gBACAC,WARiB,CACjBC,IAAK,WACLC,IAAK,YACLH,K,yBCGEI,GAAa,GCHbvsC,GAAQoC,K,GACiCpC,GAAMI,WAAW5kB,M,MAAxDJ,mB,OAAa,G,SAAIgqB,qB,OAAe,G,GAGpConC,GAAkB,GAEtBt4D,OAAO6hB,OAAOiK,GAAMI,WAAWliB,QAAQwI,SAAQ,SAACk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","file":"module.1456ce31dd518fe3782a.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t0: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"./\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([376,1]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","module.exports = __webpack_public_path__ + \"images/lizard.svg\";","\"use strict\";\nfunction __export(m) {\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./box\"));\n__export(require(\"./button\"));\n__export(require(\"./card\"));\n__export(require(\"./core\"));\n__export(require(\"./flexbox\"));\n__export(require(\"./grid\"));\n__export(require(\"./heading\"));\n__export(require(\"./image\"));\n__export(require(\"./link\"));\n__export(require(\"./text\"));\n__export(require(\"./icon\"));\n","\"use strict\";\nvar __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar styled_1 = __importDefault(require(\"@emotion/styled\"));\nvar core_1 = __importDefault(require(\"./core\"));\nvar styled_system_1 = require(\"styled-system\");\nexports.Box = styled_1.default(core_1.default)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n\"], [\"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n\"])), styled_system_1.maxWidth, styled_system_1.minWidth, styled_system_1.height, styled_system_1.minHeight, styled_system_1.maxHeight, styled_system_1.textAlign, styled_system_1.transform, styled_system_1.alignSelf, styled_system_1.flex, styled_system_1.order, styled_system_1.overflow, styled_system_1.gridArea, styled_system_1.opacity, styled_system_1.position, styled_system_1.zIndex, styled_system_1.top, styled_system_1.right, styled_system_1.bottom, styled_system_1.left, styled_system_1.width, styled_system_1.background, styled_system_1.backgroundImage, styled_system_1.backgroundSize, styled_system_1.backgroundPosition, styled_system_1.backgroundRepeat, styled_system_1.border, styled_system_1.borderBottom, styled_system_1.borderTop, styled_system_1.borderRight, styled_system_1.borderLeft, styled_system_1.borderColor, styled_system_1.boxShadow, styled_system_1.borderRadius);\nexports.Box.displayName = \"Box\";\nexports.Box.defaultProps = {\n flex: 1\n};\nvar templateObject_1;\n","\"use strict\";\nvar __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar styled_1 = __importDefault(require(\"@emotion/styled\"));\nvar box_1 = require(\"./box\");\nvar styled_system_1 = require(\"styled-system\");\nexports.Flexbox = styled_1.default(box_1.Box)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n \\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n\"], [\"\\n display: flex;\\n \\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n\"])), styled_system_1.alignItems, styled_system_1.justifyContent, styled_system_1.flexWrap, styled_system_1.flexDirection, styled_system_1.alignContent, styled_system_1.flexBasis);\nexports.Flexbox.displayName = \"flexbox\";\nvar templateObject_1;\n","\"use strict\";\nvar __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar styled_1 = __importDefault(require(\"@emotion/styled\"));\nvar box_1 = require(\"./box\");\nvar styled_system_1 = require(\"styled-system\");\nvar texts = styled_system_1.variant({ key: \"textStyles\" });\nexports.Text = styled_1.default(box_1.Box)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n\"], [\"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n\"])), styled_system_1.fontFamily, styled_system_1.fontWeight, styled_system_1.textAlign, styled_system_1.lineHeight, styled_system_1.letterSpacing, texts, function (p) { return p.theme[\"Text\"]; }, styled_system_1.color);\nexports.Text.defaultProps = {\n as: \"p\",\n m: 0,\n p: 0,\n fontSize: 2\n};\nvar templateObject_1;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nexports.defaultState = {\n sidebarlist: []\n};\nexports.EditContext = react_1.createContext(undefined);\nexports.useSidebar = function () {\n var _a = react_1.useState(exports.defaultState), state = _a[0], setState = _a[1];\n var ctx = __assign(__assign(__assign({}, state), {\n pushSidebarItem: function (item, exclusive) {\n if (exclusive === void 0) { exclusive = true; }\n var sl = exclusive ? [] : state.sidebarlist.splice(0);\n sl.push(item);\n setState({ sidebarlist: sl });\n },\n popSidebarItem: function () {\n var sl = state.sidebarlist.splice(0);\n sl.pop();\n setState({ sidebarlist: sl });\n },\n clearSidebarList: function () {\n setState({ sidebarlist: [] });\n }\n }), { apply: function (block) { } });\n return ctx;\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar defaultContext = {\n boxed: false,\n nav: [],\n search: { q: \"\", url: \"\" },\n networkRequestActive: false,\n networkAvailable: false,\n isOpen: function (id) { return false; },\n toggleMenu: function (id) { }\n};\nexports.NavContext = react_1.createContext(defaultContext);\n","module.exports = __webpack_public_path__ + \"images/Image.svg\";","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Components = __importStar(require(\"../components\"));\nvar react_1 = require(\"react\");\nexports.Renderer = function (root, blocks, plugins) {\n var rootBlock = blocks[root];\n if (!root || (!rootBlock.type && rootBlock.type !== \"Module\")) {\n throw new Error(\"Root block must be of type module\");\n }\n var parsedPlugins;\n if (!plugins) {\n parsedPlugins = [];\n }\n else if (Array.isArray(plugins)) {\n parsedPlugins = plugins;\n }\n else {\n throw new Error(\"plugins must be undefined or an array of plugin objects\");\n }\n var renderRoot = function () {\n return render(rootBlock);\n };\n var render = function (block) {\n if (!block) {\n throw new Error(\"block must be not null\");\n }\n if (block.type === \"Ref\") {\n block = blocks[block.id];\n }\n var children = block.children;\n if (!children) {\n children = null;\n }\n else if (children && Array.isArray(children)) {\n children = children.map(render);\n }\n var animator = {};\n if (block.animator) {\n animator.animator = Components[block.animator.type];\n animator.config = block.animator.config;\n }\n var element = react_1.createElement(Components[block.type], __assign(__assign({ key: Math.random(), children: children }, block.props), animator));\n var _a = parsedPlugins.reduce(function (_a, fn) {\n var block = _a[0], element = _a[1];\n return fn.onRenderedBlock(block, element);\n }, [block, element]), _ = _a[0], renderedElement = _a[1];\n return renderedElement;\n };\n return {\n render: render,\n renderRoot: renderRoot\n };\n};\nexports.editorPlugin = {\n onRenderedBlock: function (block, element) {\n if (element.type.editableFields) {\n return [\n block,\n react_1.createElement(Components.Editable, {\n block: block,\n key: \"edit-\" + block.id,\n children: react_1.cloneElement(element)\n })\n ];\n }\n return [block, element];\n }\n};\n","\"use strict\";\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar creator_ui_1 = require(\"@chameleoncreator/creator-ui\");\nvar useCarousel_1 = require(\"../hooks/useCarousel\");\nvar carouselAnimator_1 = require(\"./carouselAnimator\");\nvar carouselNavigation_1 = require(\"./carouselNavigation\");\nvar interaction_1 = require(\"./interaction\");\nexports.CarouselContext = react_1.createContext({});\n/**\n * React Component for displaying a list of slides.\n * Responsible for navigation, and state management, it will report back to\n * the container interaction that it has been completed\n */\nexports.Carousel = function (_a) {\n var children = _a.children;\n var ctx = useCarousel_1.useCarousel(children.length, 0);\n var _b = ctx.state, current = _b.current, count = _b.count;\n var interaction = react_1.useContext(interaction_1.InteractionContext);\n react_1.useEffect(function () {\n if (current === count - 1) {\n interaction.complete();\n }\n }, [current, count]);\n return (react_1.default.createElement(exports.CarouselContext.Provider, { value: ctx },\n react_1.default.createElement(creator_ui_1.Box, { py: \"20px\", position: \"relative\", style: { boxSizing: \"content-box\" } },\n react_1.default.createElement(carouselAnimator_1.CarouselAnimator, null, children)),\n react_1.default.createElement(carouselNavigation_1.CarouselNavigation, null),\n react_1.default.createElement(\"div\", { style: { display: \"none\" }, \"aria-live\": \"polite\", \"aria-atomic\": \"true\" },\n \"Slide \",\n current,\n \" of \",\n count)));\n};\nexports.Carousel.displayName = \"Carousel\";\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar creator_ui_1 = require(\"@chameleoncreator/creator-ui\");\nvar topic_1 = require(\"./topic\");\nexports.InteractionContext = react_1.createContext({\n topic: \"\",\n name: \"\",\n isComplete: false,\n complete: function () { }\n});\nexports.Interaction = function (_a) {\n var children = _a.children, name = _a.name, _b = _a.autoComplete, autoComplete = _b === void 0 ? true : _b;\n var topic = react_1.useContext(topic_1.TopicContext);\n var _c = react_1.useState({ isComplete: autoComplete }), state = _c[0], setState = _c[1];\n return (react_1.default.createElement(exports.InteractionContext.Provider, { value: {\n topic: topic.name,\n name: name,\n isComplete: state.isComplete,\n complete: function () { return setState({ isComplete: true }); }\n } },\n react_1.default.createElement(creator_ui_1.Box, { as: \"section\", id: name, minHeight: \"calc(100vh - 180px)\", height: \"calc(100vh - 180px)\", width: \"100%\", p: \"20px\" }, children)));\n};\nexports.Interaction.displayName = \"Interaction\";\nexports.Interaction.editableFields = [];\nexports.Interaction.editableContainer = react_1.forwardRef(function (props, ref) {\n var p = __assign({}, props);\n delete p.onClick;\n delete p.onKeyPress;\n delete p.tabIndex;\n return react_1.default.createElement(creator_ui_1.Box, __assign({}, p, { ref: ref, p: \"0px\", m: \"30px\", width: \"calc(100% - 60px)\" }));\n});\n","\"use strict\";\nvar __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar navbarLink_1 = require(\"./navbarLink\");\nvar dropDown_1 = require(\"./dropDown\");\nvar navArrow_1 = require(\"./navArrow\");\nvar navbarContext_1 = require(\"./navbarContext\");\nvar styled_1 = __importDefault(require(\"@emotion/styled\"));\nvar ListItem = styled_1.default.li(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n position: relative;\\n flex: 1;\\n height: 100%;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n font-size: 14px;\\n\"], [\"\\n position: relative;\\n flex: 1;\\n height: 100%;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n font-size: 14px;\\n\"])));\nvar DropDownList = styled_1.default.ul(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n\"], [\"\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n\"])));\nvar DropDownListItem = styled_1.default.li(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n position: relative;\\n display: flex;\\n align-items: center;\\n width: 100%;\\n height: 64px;\\n font-size: 16px;\\n cursor: pointer;\\n transition: color 0.2s;\\n border-bottom: 1px solid rgb(221, 229, 254);\\n\\n &:last-of-type {\\n border-bottom: none;\\n margin-bottom: -16px;\\n }\\n\\n &:first-of-type {\\n margin-top: -16px;\\n }\\n\\n &:hover {\\n color: \\\"#ff0063\\\";\\n }\\n\"], [\"\\n position: relative;\\n display: flex;\\n align-items: center;\\n width: 100%;\\n height: 64px;\\n font-size: 16px;\\n cursor: pointer;\\n transition: color 0.2s;\\n border-bottom: 1px solid rgb(221, 229, 254);\\n\\n &:last-of-type {\\n border-bottom: none;\\n margin-bottom: -16px;\\n }\\n\\n &:first-of-type {\\n margin-top: -16px;\\n }\\n\\n &:hover {\\n color: \\\"#ff0063\\\";\\n }\\n\"])));\nvar LogoIcon = styled_1.default.img(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n display: block;\\n width: 44px;\\n height: 32px;\\n padding-right: 4px;\\n padding-left: 8px;\\n\"], [\"\\n display: block;\\n width: 44px;\\n height: 32px;\\n padding-right: 4px;\\n padding-left: 8px;\\n\"])));\nexports.NavItem = function (_a) {\n var item = _a.item, id = _a.id;\n var url = item.url, label = item.label, children = item.children, logo = item.logo;\n var toggleMenu = react_1.useContext(navbarContext_1.NavContext).toggleMenu;\n if (url) {\n return (react_1.default.createElement(ListItem, null,\n react_1.default.createElement(navbarLink_1.Link, { target: \"_parent\", href: url }, label)));\n }\n return (react_1.default.createElement(ListItem, null,\n react_1.default.createElement(navbarLink_1.Link, { onClick: function (e) {\n e.stopPropagation();\n toggleMenu(id);\n }, style: { paddingRight: 16 } },\n react_1.default.createElement(\"div\", null, label),\n logo ? react_1.default.createElement(LogoIcon, { src: logo }) : null,\n react_1.default.createElement(navArrow_1.NavArrow, null)),\n react_1.default.createElement(dropDown_1.DropDown, __assign({}, { id: id }),\n react_1.default.createElement(DropDownList, null, children.map(function (a) {\n return (react_1.default.createElement(DropDownListItem, { key: \"item-\" + a.label },\n react_1.default.createElement(navbarLink_1.Link, { target: \"_parent\", href: a.url }, a.label)));\n })))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n","\"use strict\";\nfunction __export(m) {\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./core\"));\n__export(require(\"./atoms\"));\n__export(require(\"./molecules\"));\n__export(require(\"./elements\"));\n__export(require(\"./icons\"));\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar transformBlock = function (d) { return new Theme(d.data); };\nexports.CreateThemeEndpoint = function (opts) {\n var connection = opts.connection;\n return {\n set: function (ref, obj) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, connection.put(ref, { theme: { data: obj } }).then(transformBlock)];\n });\n });\n },\n };\n};\nvar Theme = /** @class */ (function () {\n function Theme(props) {\n this.id = props.id;\n this.data = props.attributes.data;\n }\n return Theme;\n}());\nexports.Theme = Theme;\n","module.exports = __webpack_public_path__ + \"images/pointerLight.svg\";","\"use strict\";\nvar __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar styled_1 = __importDefault(require(\"@emotion/styled\"));\nvar styled_system_1 = require(\"styled-system\");\nvar Core = styled_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n\"], [\"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n\"])), styled_system_1.space, styled_system_1.width, styled_system_1.color, styled_system_1.fontSize, styled_system_1.display);\nCore.displayName = \"Core\";\nexports.default = Core;\nvar templateObject_1;\n","\"use strict\";\nfunction __export(m) {\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./windowButton\"));\n__export(require(\"./indicator\"));\n","\"use strict\";\nfunction __export(m) {\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./accordion\"));\n__export(require(\"./accordionBody\"));\n__export(require(\"./accordionField\"));\n__export(require(\"./accordionHeader\"));\n__export(require(\"./animation\"));\n__export(require(\"./animationGroup\"));\n__export(require(\"./back\"));\n__export(require(\"./branchButton\"));\n__export(require(\"./carousel\"));\n__export(require(\"./choice\"));\n__export(require(\"./choices\"));\n__export(require(\"./column\"));\n__export(require(\"./continueButton\"));\n__export(require(\"./description\"));\n__export(require(\"./dragAndDrop\"));\n__export(require(\"./dragContainer\"));\n__export(require(\"./dragItem\"));\n__export(require(\"./dropContainer\"));\n__export(require(\"./dropItem\"));\n__export(require(\"./feedback\"));\n__export(require(\"./header\"));\n__export(require(\"./heading\"));\n__export(require(\"./image\"));\n__export(require(\"./interaction\"));\n// export * from \"./logo\";\n__export(require(\"./menu\"));\n__export(require(\"./module\"));\n__export(require(\"./multipleChoice\"));\n__export(require(\"./paragraph\"));\n__export(require(\"./quiz\"));\n__export(require(\"./rating\"));\n__export(require(\"./result\"));\n__export(require(\"./singleChoice\"));\n__export(require(\"./singleColumnLayout\"));\n__export(require(\"./slide\"));\n__export(require(\"./text\"));\n__export(require(\"./textarea\"));\n__export(require(\"./title\"));\n__export(require(\"./topic\"));\n__export(require(\"./topicTitle\"));\n__export(require(\"./twoColumnLayout\"));\n__export(require(\"./editable\"));\n__export(require(\"./video\"));\n","\"use strict\";\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nexports.Select = function (children, kind) {\n var elements = [];\n react_1.Children.forEach(children, function (child, i) {\n if (!child.type) {\n return;\n }\n if (child.type.displayName === kind) {\n elements.push(child);\n }\n if (child.props.children) {\n var es = exports.Select(child.props.children, kind);\n elements = __spreadArrays(elements, es);\n }\n });\n return elements;\n};\n","\"use strict\";\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar module_1 = require(\"./module\");\nexports.TopicContext = react_1.createContext({ name: \"\" });\nexports.Topic = function (_a) {\n var children = _a.children, name = _a.name;\n var _b = react_1.useContext(module_1.ModuleContext), modCtx = _b[0], _ = _b[1];\n var c = react_1.default.Children.map(children, function (child) {\n if (child.type.displayName === \"AnimationGroup\") {\n return react_1.cloneElement(child, { active: modCtx.currentInteraction });\n }\n return child;\n });\n return react_1.default.createElement(exports.TopicContext.Provider, { value: { name: name } }, c);\n};\nexports.Topic.displayName = \"Topic\";\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar creator_ui_1 = require(\"@chameleoncreator/creator-ui\");\nexports.Topics = function () {\n return react_1.default.createElement(creator_ui_1.Box, null, \"Edit Topics\");\n};\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nexports.Bar = function (_a) {\n var children = _a.children, boxed = _a.boxed;\n return (react_1.default.createElement(\"div\", { style: {\n background: \"#fff\",\n position: \"fixed\",\n top: 0,\n left: 0,\n width: \"100vw\",\n height: \"70px\",\n zIndex: 1000,\n boxShadow: \"0 2px 10px rgba(0, 0, 0, 0.1)\"\n } },\n react_1.default.createElement(\"div\", { style: {\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n maxWidth: boxed ? \"1024px\" : \"100%\",\n margin: \"auto\"\n } }, children)));\n};\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar creator_ui_1 = require(\"@chameleoncreator/creator-ui\");\nvar BurgerIcon = function () {\n return (react_1.default.createElement(\"svg\", { width: \"26px\", height: \"16px\", viewBox: \"0 0 18 14\", version: \"1.1\" },\n react_1.default.createElement(\"title\", null, \"Burger\"),\n react_1.default.createElement(\"desc\", null, \"Created with Sketch.\"),\n react_1.default.createElement(\"g\", { stroke: \"none\", strokeWidth: \"1\", fill: \"none\", fillRule: \"evenodd\" },\n react_1.default.createElement(\"g\", { fill: \"#282A2B\" },\n react_1.default.createElement(\"rect\", { x: \"0\", y: \"0\", width: \"18\", height: \"2\" }),\n react_1.default.createElement(\"rect\", { x: \"0\", y: \"6\", width: \"18\", height: \"2\" }),\n react_1.default.createElement(\"rect\", { x: \"0\", y: \"12\", width: \"18\", height: \"2\" })))));\n};\nexports.Burger = function (_a) {\n var showDrawer = _a.showDrawer, setDrawer = _a.setDrawer;\n return (react_1.default.createElement(creator_ui_1.Flexbox, { flex: \"0 0 52px\", pl: \"24px\", pr: \"4px\", height: \"70px\", style: { cursor: \"pointer\" }, onClick: function () { return setDrawer(!showDrawer); }, justifyContent: \"center\", alignItems: \"center\" },\n react_1.default.createElement(BurgerIcon, null)));\n};\n","\"use strict\";\nvar __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar styled_1 = __importDefault(require(\"@emotion/styled\"));\nexports.Drawer = styled_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n transition: transform 0.2s ease-out;\\n transform: translate3d(-340px, 0, 0);\\n width: 340px;\\n height: calc(100vh - 0px);\\n position: fixed;\\n top: 0px;\\n left: 0;\\n z-index: 10000;\\n background: #fff;\\n\"], [\"\\n transition: transform 0.2s ease-out;\\n transform: translate3d(-340px, 0, 0);\\n width: 340px;\\n height: calc(100vh - 0px);\\n position: fixed;\\n top: 0px;\\n left: 0;\\n z-index: 10000;\\n background: #fff;\\n\"])));\nexports.Overlay = styled_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n position: fixed;\\n top: 0px;\\n left: 0;\\n z-index: 9999;\\n background: rgba(0, 0, 0, 0.5);\\n width: 100%;\\n height: calc(100vh - 0px);\\n cursor: pointer;\\n\"], [\"\\n position: fixed;\\n top: 0px;\\n left: 0;\\n z-index: 9999;\\n background: rgba(0, 0, 0, 0.5);\\n width: 100%;\\n height: calc(100vh - 0px);\\n cursor: pointer;\\n\"])));\nexports.DrawerLink = styled_1.default.a(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n padding: 24px;\\n display: block;\\n color: #333;\\n text-decoration: none;\\n transition: color 0.2s;\\n border-bottom: 1px solid rgb(221, 229, 254);\\n\\n &:hover {\\n color: #ff0063;\\n text-decoration: none;\\n }\\n\"], [\"\\n padding: 24px;\\n display: block;\\n color: #333;\\n text-decoration: none;\\n transition: color 0.2s;\\n border-bottom: 1px solid rgb(221, 229, 254);\\n\\n &:hover {\\n color: #ff0063;\\n text-decoration: none;\\n }\\n\"])));\nvar Item = styled_1.default.li(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n list-style: none;\\n\"], [\"\\n list-style: none;\\n\"])));\nexports.DrawerItem = function (_a) {\n var item = _a.item;\n var url = item.url, label = item.label, _b = item.children, children = _b === void 0 ? [] : _b;\n return (react_1.default.createElement(Item, { id: \"drawer-\" + item.label + \"-i\" },\n url ? (react_1.default.createElement(exports.DrawerLink, { href: url }, label)) : (react_1.default.createElement(exports.DrawerLink, null, label)),\n react_1.default.createElement(\"ul\", { style: { padding: \"0\", listStyle: \"none\", margin: 0 } }, children.map(function (a, i) {\n return (react_1.default.createElement(\"li\", { key: \"item-\" + a.label + \"-\" + i },\n react_1.default.createElement(exports.DrawerLink, { href: a.url }, a.label)));\n }))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n","\"use strict\";\nvar __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar styled_1 = __importDefault(require(\"@emotion/styled\"));\nvar navbarContext_1 = require(\"./navbarContext\");\nvar Container = styled_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n margin: 0;\\n padding: 0;\\n list-style: none;\\n position: absolute;\\n top: calc(100% + 12px);\\n min-width: 256px;\\n right: 0;\\n background: #fff;\\n padding: 32px;\\n flex-direction: column;\\n opacity: 0;\\n transition: opacity 0.3s;\\n min-width: 440px;\\n border-radius: 14px;\\n box-shadow: 0 32px 80px -30px rgba(0, 0, 0, 0.17);\\n\\n &::before {\\n content: \\\" \\\";\\n width: 12px;\\n height: 12px;\\n border-radius: 2px;\\n position: absolute;\\n top: -4px;\\n right: 24px;\\n background: #fff;\\n transform: rotate(45deg);\\n box-shadow: 0px 0px 15px -5px rgba(0, 0, 0, 0.5);\\n }\\n\"], [\"\\n margin: 0;\\n padding: 0;\\n list-style: none;\\n position: absolute;\\n top: calc(100% + 12px);\\n min-width: 256px;\\n right: 0;\\n background: #fff;\\n padding: 32px;\\n flex-direction: column;\\n opacity: 0;\\n transition: opacity 0.3s;\\n min-width: 440px;\\n border-radius: 14px;\\n box-shadow: 0 32px 80px -30px rgba(0, 0, 0, 0.17);\\n\\n &::before {\\n content: \\\" \\\";\\n width: 12px;\\n height: 12px;\\n border-radius: 2px;\\n position: absolute;\\n top: -4px;\\n right: 24px;\\n background: #fff;\\n transform: rotate(45deg);\\n box-shadow: 0px 0px 15px -5px rgba(0, 0, 0, 0.5);\\n }\\n\"])));\nexports.DropDownItem = styled_1.default.li(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n display: block;\\n\"], [\"\\n display: block;\\n\"])));\nexports.DropDownCtx = react_1.createContext({\n open: false\n});\nexports.DropDown = function (_a) {\n var children = _a.children, id = _a.id;\n var _b = react_1.useContext(navbarContext_1.NavContext), isOpen = _b.isOpen, toggleMenu = _b.toggleMenu;\n var open = isOpen(id);\n react_1.useEffect(function () {\n var onBodyClick = function () {\n if (open) {\n toggleMenu(id);\n }\n };\n window.addEventListener(\"click\", onBodyClick);\n return function () { return window.removeEventListener(\"click\", onBodyClick); };\n }, [open]);\n return (react_1.default.createElement(exports.DropDownCtx.Provider, { value: { open: open } },\n react_1.default.createElement(Container, { style: {\n display: open ? \"flex\" : \"none\",\n opacity: open ? 1 : 0\n }, onClick: function (e) {\n e.stopPropagation();\n toggleMenu(id);\n } }, children)));\n};\nvar templateObject_1, templateObject_2;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nexports.Logo = function (_a) {\n var _b = _a.style, style = _b === void 0 ? {} : _b;\n return (react_1.default.createElement(\"svg\", { width: \"41px\", height: \"44px\", viewBox: \"0 0 41 44\", version: \"1.1\" },\n react_1.default.createElement(\"defs\", null,\n react_1.default.createElement(\"linearGradient\", { x1: \"0%\", y1: \"49.9784576%\", x2: \"100%\", y2: \"49.9784576%\", id: \"linearGradient-1\" },\n react_1.default.createElement(\"stop\", { stopColor: \"#3CBCB8\", offset: \"0%\" }),\n react_1.default.createElement(\"stop\", { stopColor: \"#61CECE\", offset: \"54%\" }))),\n react_1.default.createElement(\"g\", { stroke: \"none\", strokeWidth: \"1\", fill: \"none\", fillRule: \"evenodd\" },\n react_1.default.createElement(\"g\", { id: \"New-Dashboard-Nav\", transform: \"translate(-37.000000, -27.000000)\", fillRule: \"nonzero\" },\n react_1.default.createElement(\"g\", { id: \"Logo_2019\", transform: \"translate(37.000000, 27.000000)\" },\n react_1.default.createElement(\"path\", { d: \"M15.456,29.6 C17.4556354,35.7401831 22.3805494,40.4821374 28.592,42.248 C36.1045868,39.1387759 41.0047894,31.8105734 41.008,23.68 L28.96,23.68 C28.9336224,28.1029126 25.3429891,31.675682 20.92,31.68 C18.9006207,31.705658 16.9471288,30.9620154 15.456,29.6 Z\", id: \"Fill-1\", fill: \"url(#linearGradient-1)\" }),\n react_1.default.createElement(\"path\", { d: \"M25.368,-2.20638349e-06 L25.368,4.064 C17.2161938,2.2078218 8.76619046,5.58832662 4.14399692,12.5548658 C-0.478196616,19.521405 -0.308512623,28.6209422 4.57019481,35.410313 C9.44890224,42.1996837 18.0190634,45.2628043 26.096,43.104 C18.529893,40.0722864 13.4003278,32.9376693 12.936,24.8 C12.8828595,24.4396532 12.8534628,24.0762031 12.848,23.712 C12.8742091,19.3046238 16.4406238,15.7382091 20.848,15.712 L25.312,15.712 L25.312,15.712 L40.9922955,15.712 C41.0175725,11.5523841 39.3825169,7.5544678 36.4494404,4.60487116 C33.5163639,1.65527452 29.5276939,-0.0022095975 25.368,-2.20638349e-06 Z M32.952,12.72 C31.1846888,12.72 29.752,11.2873112 29.752,9.52 C29.752,7.7526888 31.1846888,6.32 32.952,6.32 C34.7193112,6.32 36.152,7.7526888 36.152,9.52 C36.152,11.2873112 34.7193112,12.72 32.952,12.72 L32.952,12.72 Z\", id: \"Shape\", fill: \"#61CECE\" }),\n react_1.default.createElement(\"path\", { d: \"M33.12,9.512 C33.1245177,8.82254066 33.6839774,8.26561729 34.3734502,8.26422978 C35.0629229,8.26284745 35.6246154,8.8175188 35.6319029,9.50695443 C35.6391903,10.1963901 35.089348,10.7628105 34.4,10.776 C34.0654974,10.776 33.7448105,10.642581 33.5090334,10.4053022 C33.2732564,10.1680234 33.1418694,9.84649586 33.144,9.512\", id: \"Fill-12\", fill: \"#61CECE\" }))))));\n};\n","\"use strict\";\nvar __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar styled_1 = __importDefault(require(\"@emotion/styled\"));\nvar I = styled_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n margin-left: 4px;\\n transform: rotate(90deg);\\n transition: all 0.2s;\\n\\n & svg {\\n stroke: #282a2b;\\n }\\n\"], [\"\\n margin-left: 4px;\\n transform: rotate(90deg);\\n transition: all 0.2s;\\n\\n & svg {\\n stroke: #282a2b;\\n }\\n\"])));\nexports.NavArrow = function () { return (react_1.default.createElement(I, null,\n react_1.default.createElement(\"svg\", { width: \"8px\", height: \"13px\", viewBox: \"0 0 9 15\" },\n react_1.default.createElement(\"defs\", null),\n react_1.default.createElement(\"g\", { strokeWidth: \"1\", fill: \"none\", fillRule: \"evenodd\" },\n react_1.default.createElement(\"g\", { id: \"Third\", transform: \"translate(-1206.000000, -566.000000)\", strokeWidth: \"2\" },\n react_1.default.createElement(\"polyline\", { id: \"Pointer---dark\", transform: \"translate(1210.000000, 573.500000) rotate(-90.000000) translate(-1210.000000, -573.500000) \", points: \"1216.5 570.5 1210 576.5 1203.5 570.5\" })))))); };\nvar templateObject_1;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar navItem_1 = require(\"./navItem\");\nexports.Admin = function (_a) {\n var name = _a.name, profileImg = _a.profileImg;\n return (react_1.default.createElement(\"div\", null,\n react_1.default.createElement(navItem_1.NavItem, { item: {\n logo: profileImg,\n label: name,\n children: [\n {\n label: \"Settings\",\n url: \"/users/edit\"\n },\n {\n label: \"Logout\",\n url: \"/users/sign_out\"\n }\n ]\n }, id: \"user-menu\" })));\n};\n","\"use strict\";\nvar __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar styled_1 = __importDefault(require(\"@emotion/styled\"));\nexports.Link = styled_1.default.a(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n flex: 1;\\n color: #333;\\n text-decoration: none;\\n transition: color 0.2s;\\n display: flex;\\n padding: 4px 8px;\\n cursor: pointer;\\n height: calc(100%);\\n align-items: center;\\n width: calc(100% + 6px);\\n font-size: 14px;\\n\\n &:hover {\\n color: #ff0063;\\n text-decoration: none;\\n }\\n\\n & svg {\\n transition: stroke 0.2s;\\n }\\n\\n &:hover svg {\\n transition: stroke 0.2s;\\n stroke: #ff0063;\\n }\\n\"], [\"\\n flex: 1;\\n color: #333;\\n text-decoration: none;\\n transition: color 0.2s;\\n display: flex;\\n padding: 4px 8px;\\n cursor: pointer;\\n height: calc(100%);\\n align-items: center;\\n width: calc(100% + 6px);\\n font-size: 14px;\\n\\n &:hover {\\n color: #ff0063;\\n text-decoration: none;\\n }\\n\\n & svg {\\n transition: stroke 0.2s;\\n }\\n\\n &:hover svg {\\n transition: stroke 0.2s;\\n stroke: #ff0063;\\n }\\n\"])));\nvar templateObject_1;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar creator_ui_1 = require(\"@chameleoncreator/creator-ui\");\nexports.SearchBar = function (_a) {\n var _b = _a.q, q = _b === void 0 ? \"\" : _b, showSearch = _a.showSearch;\n return showSearch ? (react_1.default.createElement(\"div\", { style: {\n width: \"100%\",\n height: \"40px\",\n borderRadius: \"9999px\",\n background: \"#eaeffb\"\n } },\n react_1.default.createElement(creator_ui_1.Flexbox, { as: \"label\", html: \"#global-search\", alignItems: \"center\", style: { width: \"100%\", height: \"100%\", cursor: \"text\" } },\n react_1.default.createElement(\"i\", { className: \"fa fa-search\", style: { fontSize: 14, margin: \"0 0 0 20px\" } }),\n react_1.default.createElement(\"form\", { action: \"/search\", method: \"GET\" },\n react_1.default.createElement(\"input\", { id: \"global-search\", type: \"text\", name: \"q\", style: {\n flex: 1,\n outline: \"none\",\n border: \"none\",\n background: \"transparent\",\n padding: \"0 0 0 20px\"\n }, defaultValue: q, placeholder: \"Search\", onKeyUp: function (e) {\n var value = e.currentTarget.value;\n if (e.key === \"Enter\") {\n console.log({ value: value });\n }\n } }))))) : null;\n};\n","\"use strict\";\nvar __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar styled_1 = __importDefault(require(\"@emotion/styled\"));\nvar navItem_1 = require(\"./navItem\");\nexports.NavigationList = styled_1.default.ul(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n margin: 0;\\n padding: 0;\\n user-select: none;\\n justify-content: center;\\n align-items: center;\\n height: 70px;\\n list-style: none;\\n\"], [\"\\n display: flex;\\n margin: 0;\\n padding: 0;\\n user-select: none;\\n justify-content: center;\\n align-items: center;\\n height: 70px;\\n list-style: none;\\n\"])));\nexports.Navigation = function (_a) {\n var nav = _a.nav;\n return (react_1.default.createElement(exports.NavigationList, null, nav.map(function (r, i) { return (react_1.default.createElement(navItem_1.NavItem, { key: \"nav-\" + r.label + \"-i\", id: \"nav-\" + r.label + \"-i\", item: r })); })));\n};\nvar templateObject_1;\n","\"use strict\";\nfunction __export(m) {\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./editor\"));\n__export(require(\"./player\"));\n__export(require(\"./components\"));\n__export(require(\"./app\"));\n__export(require(\"./utils\"));\n__export(require(\"./chrome\"));\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Theme_1 = require(\"./Theme\");\nvar Response_1 = require(\"./Response\");\nvar Block_1 = require(\"./Block\");\nvar includeTypes = ['blocks'];\nvar matchInclude = function (el) { return function (inc) { return inc.id === el.id && inc.type === el.type; }; };\nvar selectIncludes = function (d) { return function (el) {\n var i = d.included.find(matchInclude(el));\n return i;\n}; };\nvar selectRelationship = function (d) { return function (k) {\n var i = d.data.relationships[k].data;\n return i;\n}; };\nvar mapIncludesToData = function (d) { return function (k) {\n return selectRelationship(d)(k)\n .map(selectIncludes(d))\n .filter(function (a) { return a; });\n}; };\n/**\n * function to flatten an array\n * @param acc\n * @param cur\n */\nvar arrayFlatten = function (acc, cur) { return acc.concat(cur); };\nvar mapResponseToDataModel = function (d) {\n switch (d.type) {\n case Response_1.DataType.block:\n var b = new Block_1.Block(d);\n return b;\n default:\n return undefined;\n }\n};\nvar transformModule = function (data) {\n var mod = data.data;\n var includes = includeTypes\n .map(mapIncludesToData(data))\n .reduce(arrayFlatten, [])\n .map(mapResponseToDataModel);\n var themeData = data.included.find(function (r) { return r.type === 'theme'; });\n var theme = new Theme_1.Theme(themeData);\n return new Module({\n id: mod.id,\n links: mod.links,\n data: includes,\n relationships: mod.relationships,\n attributes: mod.attributes,\n theme: theme,\n });\n};\nexports.CreateModuleEndpoint = function (opts) {\n var connection = opts.connection;\n return {\n get: function (ref) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, connection.get(ref).then(transformModule)];\n case 1: return [2 /*return*/, _a.sent()];\n }\n });\n }); },\n };\n};\nvar Module = /** @class */ (function () {\n function Module(props) {\n this.id = props.id;\n this.variants = props.variants;\n this.data = props.data;\n this.links = props.links;\n this.relationships = props.relationships;\n this.name = props.attributes.name;\n this.createdAt = props.attributes.created_at;\n this.updatedAt = props.attributes.updated_at;\n this.public = props.attributes.public;\n this.description = props.attributes.description;\n this.rootBlockId = props.attributes.root_block_id;\n this.theme = props.theme;\n }\n return Module;\n}());\nexports.Module = Module;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar DataType;\n(function (DataType) {\n DataType[\"block\"] = \"block\";\n DataType[\"theme\"] = \"theme\";\n DataType[\"user\"] = \"user\";\n})(DataType = exports.DataType || (exports.DataType = {}));\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar transformBlock = function (d) { return new Block(d.data); };\nvar transformBlocks = function (d) { return d.data.map(function (c) { return new Block(c); }); };\nexports.CreateBlockEndpoint = function (opts) {\n var connection = opts.connection;\n return {\n get: function (ref) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, connection.get(ref).then(transformBlock)];\n });\n });\n },\n set: function (obj) {\n return __awaiter(this, void 0, void 0, function () {\n var ref;\n return __generator(this, function (_a) {\n if (obj.links && obj.links.self) {\n ref = obj.links.self;\n return [2 /*return*/, connection.put(ref, { block: obj }).then(transformBlock)];\n }\n ref = \"/api/v2/projects/\" + obj.project_id + \"/blocks\";\n return [2 /*return*/, connection.post(ref, { block: obj }).then(transformBlock)];\n });\n });\n },\n setMany: function (obj, project_id) {\n return __awaiter(this, void 0, void 0, function () {\n var ref;\n return __generator(this, function (_a) {\n ref = \"/api/v2/blocks/set\";\n return [2 /*return*/, connection.post(ref, { blocks: { blocks: obj, project_id: project_id } }).then(transformBlocks)];\n });\n });\n },\n del: function (ref) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, connection.delete(ref)];\n });\n });\n },\n };\n};\nvar Block = /** @class */ (function () {\n function Block(props) {\n var data = props.attributes;\n this.id = props.id;\n this.version = props.version;\n this.props = data.props;\n this.type = data.type;\n this.links = props.links;\n this.meta = data.meta;\n this.animator = data.animator;\n this.children = data.children;\n this.project_id = data.project_id;\n this.deletedAt = data.deleted_at;\n }\n return Block;\n}());\nexports.Block = Block;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nrequire(\"whatwg-fetch\");\nvar Error_1 = require(\"./Error\");\nvar Connection = /** @class */ (function () {\n function Connection(base) {\n this.base = base;\n }\n Connection.prototype.get = function (ref) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, fetch(\"\" + this.base + ref, {\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json; charset=utf-8',\n },\n })\n .then(Error_1.ErrorHandler)\n .then(function (resp) { return resp.json(); })\n .then(function (data) { return data; })];\n });\n });\n };\n Connection.prototype.post = function (ref, data) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, fetch(\"\" + this.base + ref, {\n body: JSON.stringify(data),\n cache: 'no-cache',\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json; charset=utf-8',\n },\n method: 'POST',\n mode: 'cors',\n // redirect: 'follow',\n referrer: 'no-referrer',\n })\n .then(function (resp) {\n console.log(resp);\n return resp;\n })\n .then(Error_1.ErrorHandler)\n .then(function (resp) { return resp.json(); })\n .then(function (data) { return data; })];\n });\n });\n };\n Connection.prototype.postRaw = function (ref, data) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, fetch(\"\" + this.base + ref, {\n body: data,\n cache: 'no-cache',\n credentials: 'include',\n method: 'POST',\n mode: 'cors',\n // redirect: 'follow',\n referrer: 'no-referrer',\n })\n .then(Error_1.ErrorHandler)\n .then(function (resp) { return resp.json(); })\n .then(function (data) { return data; })];\n });\n });\n };\n Connection.prototype.postFile = function (ref, data) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, fetch(\"\" + this.base + ref, {\n body: data,\n cache: 'no-cache',\n credentials: 'include',\n method: 'POST',\n mode: 'cors',\n // redirect: 'follow',\n referrer: 'no-referrer',\n })\n .then(Error_1.ErrorHandler)\n .then(function (resp) { return resp.json(); })\n .then(function (data) { return data; })];\n });\n });\n };\n Connection.prototype.patch = function (ref, data) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, fetch(\"\" + this.base + ref, {\n body: JSON.stringify(data),\n cache: 'no-cache',\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json; charset=utf-8',\n },\n method: 'PATCH',\n mode: 'cors',\n // redirect: 'follow',\n referrer: 'no-referrer',\n })\n .then(Error_1.ErrorHandler)\n .then(function (resp) { return resp.json(); })\n .then(function (data) { return data; })];\n });\n });\n };\n Connection.prototype.put = function (ref, data) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, fetch(\"\" + this.base + ref, {\n body: JSON.stringify(data),\n cache: 'no-cache',\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json; charset=utf-8',\n },\n method: 'PUT',\n mode: 'cors',\n // redirect: 'follow',\n referrer: 'no-referrer',\n })\n .then(Error_1.ErrorHandler)\n .then(function (resp) { return resp.json(); })\n .then(function (data) { return data; })];\n });\n });\n };\n Connection.prototype.delete = function (ref) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, fetch(\"\" + this.base + ref, {\n cache: 'no-cache',\n credentials: 'include',\n method: 'DELETE',\n mode: 'cors',\n // redirect: 'follow',\n referrer: 'no-referrer',\n }).then(Error_1.ErrorHandler)];\n });\n });\n };\n return Connection;\n}());\nexports.Connection = Connection;\n","module.exports = __webpack_public_path__ + \"images/close.svg\";","module.exports = __webpack_public_path__ + \"images/addImg@3x.svg\";","module.exports = __webpack_public_path__ + \"images/edit.svg\";","module.exports = __webpack_public_path__ + \"images/createInteractionPlaceholder.png\";","module.exports = __webpack_public_path__ + \"images/createInteractionPlaceholderPreview.svg\";","module.exports = __webpack_public_path__ + \"images/Plus.svg\";","module.exports = __webpack_public_path__ + \"images/Video.svg\";","module.exports = __webpack_public_path__ + \"images/Embed.svg\";","module.exports = __webpack_public_path__ + \"images/HotspotDefault_v3.svg\";","module.exports = __webpack_public_path__ + \"images/collectFeedbackSubmitted.svg\";","module.exports = __webpack_public_path__ + \"images/PortalAvatar.svg\";","\"use strict\";\nfunction __export(m) {\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./api/Client\"));\n__export(require(\"./api/Connection\"));\n__export(require(\"./api/BlockType\"));\n__export(require(\"./api/Module\"));\n__export(require(\"./api/Response\"));\n__export(require(\"./api/Theme\"));\n","let chameleon = parent.chameleon;\n\nif (!chameleon) {\n chameleon = {\n // CHAMELEON_URL: 'https://chameleon-m-test-can-work.herokuapp.com',\n //CHAMELEON_URL: 'http://localhost:3000',\n // CHAMELEON_URL: 'http://localhost:3011',\n };\n}\n\nwindow.chameleon = chameleon;\nwindow.hasRemote = () => !!chameleon.CHAMELEON_URL;\n\nwindow.hasMode = mode => {\n const windowMode = window.mode || 'DEVELOPMENT';\n\n return mode === windowMode;\n};\n","\"use strict\";\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar creator_ui_1 = require(\"@chameleoncreator/creator-ui\");\nvar render_1 = require(\"./utils/render\");\nvar edit_1 = require(\"./edit\");\nvar useModule_1 = require(\"./hooks/useModule\");\nvar useSidebar_1 = require(\"./hooks/useSidebar\");\nvar frame_1 = require(\"./components/frame\");\n// import { GlobalStyles } from \"./globalStyles\";\nexports.Editor = function (_a) {\n var data = _a.data, root = _a.root;\n var _b = useModule_1.useModule(data, root), mod = _b[0], Set = _b[1], Remove = _b[2];\n var blocks = mod.blocks;\n var renderer = render_1.Renderer(root, blocks, [render_1.editorPlugin]);\n var children = react_1.useMemo(function () { return renderer.renderRoot(); }, [blocks]);\n var ctx = useSidebar_1.useSidebar();\n return (react_1.default.createElement(useSidebar_1.EditContext.Provider, { value: ctx },\n react_1.default.createElement(creator_ui_1.Flexbox, { p: 20, height: \"100vh\", width: \"100%\" },\n react_1.default.createElement(creator_ui_1.Box, { as: \"aside\", flex: [\"0 0 0\", \"0 0 0\", \"0 0 400px\"], mr: [0, 0, 30] },\n react_1.default.createElement(edit_1.Sidebar, null)),\n react_1.default.createElement(creator_ui_1.Box, { as: \"main\", height: \"100%\", flex: \"1\" },\n react_1.default.createElement(creator_ui_1.BrowserWindow, null,\n react_1.default.createElement(frame_1.Frame, null, children))))));\n};\n","\"use strict\";\nvar __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar styled_1 = __importDefault(require(\"@emotion/styled\"));\nvar styled_system_1 = require(\"styled-system\");\nvar flexbox_1 = require(\"./flexbox\");\nvar buttons = styled_system_1.variant({ key: \"buttons\" });\nexports.Button = styled_1.default(flexbox_1.Flexbox)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\" \\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n\\n cursor: pointer;\\n \\n & img {\\n display: block;\\n }\\n\"], [\" \\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n\\n cursor: pointer;\\n \\n & img {\\n display: block;\\n }\\n\"])), styled_system_1.fontWeight, styled_system_1.borders, styled_system_1.borderColor, styled_system_1.borderRadius, styled_system_1.buttonStyle, buttons, function (p) { return p.theme[\"Button\"]; });\nexports.Button.defaultProps = {\n as: \"button\",\n fontSize: \"inherit\",\n fontWeight: \"bold\",\n m: 0,\n px: 3,\n py: 2,\n border: 0,\n borderRadius: 4,\n alignItems: \"center\"\n};\nexports.Button.displayName = \"button\";\nvar templateObject_1;\n","\"use strict\";\nvar __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar styled_1 = __importDefault(require(\"@emotion/styled\"));\nvar styled_system_1 = require(\"styled-system\");\nvar flexbox_1 = require(\"./flexbox\");\nvar cards = styled_system_1.variant({ key: \"cards\" });\nexports.Card = styled_1.default(flexbox_1.Flexbox)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n\"], [\"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n\"])), styled_system_1.borders, styled_system_1.borderColor, styled_system_1.borderRadius, styled_system_1.boxShadow, styled_system_1.backgroundImage, styled_system_1.backgroundSize, styled_system_1.backgroundPosition, styled_system_1.backgroundRepeat, styled_system_1.opacity, cards, function (p) { return p.theme[\"Card\"]; });\nexports.Card.displayName = \"Card\";\nvar templateObject_1;\n","\"use strict\";\nvar __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar styled_1 = __importDefault(require(\"@emotion/styled\"));\nvar styled_system_1 = require(\"styled-system\");\nvar box_1 = require(\"./box\");\nexports.Grid = styled_1.default(box_1.Box)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\" \\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n display: grid;\\n\"], [\" \\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n \", \"\\n display: grid;\\n\"])), styled_system_1.gridGap, styled_system_1.gridRowGap, styled_system_1.gridColumnGap, styled_system_1.gridColumn, styled_system_1.gridRow, styled_system_1.gridAutoFlow, styled_system_1.gridAutoRows, styled_system_1.gridAutoColumns, styled_system_1.gridTemplateRows, styled_system_1.gridTemplateColumns, styled_system_1.gridTemplateAreas);\nexports.Grid.displayName = \"Grid\";\nvar templateObject_1;\n","\"use strict\";\nvar __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar styled_1 = __importDefault(require(\"@emotion/styled\"));\nvar text_1 = require(\"./text\");\nvar styled_system_1 = require(\"styled-system\");\nvar headings = styled_system_1.variant({ key: \"Heading\" });\nexports.Heading = styled_1.default(text_1.Text)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n \", \"\\n\"], [\"\\n \", \"\\n\"])), headings);\nexports.Heading.defaultProps = {\n as: \"h1\"\n};\nexports.Heading.displayName = \"Heading\";\nvar templateObject_1;\n","\"use strict\";\nvar __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar styled_1 = __importDefault(require(\"@emotion/styled\"));\nvar styled_system_1 = require(\"styled-system\");\nvar text_1 = require(\"./text\");\nvar images = styled_system_1.variant({ key: \"Image\" });\nvar Image = styled_1.default(text_1.Text)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n \", \"\\n\"], [\"\\n \", \"\\n\"])), images);\nImage.defaultProps = {\n as: \"img\"\n};\nImage.displayName = \"Image\";\nexports.default = Image;\nvar templateObject_1;\n","\"use strict\";\nvar __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar styled_1 = __importDefault(require(\"@emotion/styled\"));\nvar styled_system_1 = require(\"styled-system\");\nvar text_1 = require(\"./text\");\nvar links = styled_system_1.variant({ key: \"Link\" });\nexports.Link = styled_1.default(text_1.Text)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n \", \"\\n\"], [\"\\n \", \"\\n\"])), links);\nexports.Link.defaultProps = {\n as: \"a\",\n color: \"blue\"\n};\nvar templateObject_1;\n","\"use strict\";\nvar __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar styled_1 = __importDefault(require(\"@emotion/styled\"));\nvar box_1 = require(\"./box\");\nexports.Icon = styled_1.default(box_1.Box)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: block;\\n\\n svg {\\n display: block;\\n }\\n\"], [\"\\n display: block;\\n\\n svg {\\n display: block;\\n }\\n\"])));\nexports.Icon.defaultProps = {\n as: \"i\"\n};\nexports.Icon.displayName = \"logo\";\nvar templateObject_1;\n","\"use strict\";\nvar __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar styled_1 = __importDefault(require(\"@emotion/styled\"));\nexports.WindowButton = styled_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n width: 13px;\\n height: 13px;\\n border-radius: 50%;\\n border: 1px solid #dee3f3;\\n flex: 0 13px;\\n margin-right: 7px;\\n\"], [\"\\n width: 13px;\\n height: 13px;\\n border-radius: 50%;\\n border: 1px solid #dee3f3;\\n flex: 0 13px;\\n margin-right: 7px;\\n\"])));\nvar templateObject_1;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar core_1 = require(\"../core\");\nexports.Indicator = function (_a) {\n var onClick = _a.onClick, isActive = _a.isActive;\n return (react_1.default.createElement(core_1.Box, { as: \"li\", style: { cursor: \"pointer\", listStyle: \"none\" }, m: \"2px\", p: \"5px\", onClick: onClick },\n react_1.default.createElement(core_1.Box, { width: \"10px\", height: \"10px\", borderRadius: \"50%\", bg: \"#000\", transition: \"transform 0.3\", style: {\n transform: \"scale(\" + (isActive ? \"1.4\" : \"1\") + \")\"\n } })));\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.test = \"test\";\n","\"use strict\";\nfunction __export(m) {\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./browserWindow\"));\n__export(require(\"./column\"));\n__export(require(\"./row\"));\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar core_1 = require(\"../core\");\nvar atoms_1 = require(\"../atoms\");\nexports.BrowserWindow = function (props) {\n return (react_1.default.createElement(core_1.Flexbox, { boxShadow: \"0 2px 100px -10px rgba(0, 0, 0, 0.2)\", borderRadius: \"10px\", border: \"1px solid #dee3f3\", flexDirection: \"column\", width: \"100%\", height: \"100%\" },\n react_1.default.createElement(core_1.Flexbox, { flex: \"0 0 40px\", p: 10, px: 20, borderBottom: \"1px solid\", borderColor: \"#dee3f3\", alignItems: \"center\" },\n react_1.default.createElement(atoms_1.WindowButton, null),\n react_1.default.createElement(atoms_1.WindowButton, null),\n react_1.default.createElement(atoms_1.WindowButton, null)),\n react_1.default.createElement(core_1.Box, { p: 0, flex: \"1 1 100%\", height: \"100%\", maxHeight: \"100%\", style: { overflowX: \"hidden\", overflowY: \"auto\" } }, props.children)));\n};\n","\"use strict\";\nvar __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar styled_1 = __importDefault(require(\"@emotion/styled\"));\nvar core_1 = require(\"../core\");\nexports.Column = styled_1.default(core_1.Flexbox)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\"], [\"\"])));\nexports.Column.defaultProps = {\n flexDirection: \"column\",\n justifyContent: \"center\",\n flex: 1,\n margin: 2,\n};\nvar templateObject_1;\n","\"use strict\";\nvar __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar styled_1 = __importDefault(require(\"@emotion/styled\"));\nvar flexbox_1 = require(\"../core/flexbox\");\nvar RowContainer = styled_1.default(flexbox_1.Flexbox)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n @media (max-width: 767px) {\\n flex-direction: column;\\n }\\n\\n flex: 0;\\n\"], [\"\\n @media (max-width: 767px) {\\n flex-direction: column;\\n }\\n\\n flex: 0;\\n\"])));\nexports.Row = function (_a) {\n var children = _a.children, props = __rest(_a, [\"children\"]);\n return (react_1.default.createElement(RowContainer, __assign({}, props, { m: 2 }), children));\n};\nvar templateObject_1;\n","\"use strict\";\nfunction __export(m) {\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./back\"));\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar core_1 = require(\"../core\");\nexports.BackIcon = function (props) {\n return (react_1.default.createElement(core_1.Icon, null,\n react_1.default.createElement(\"svg\", { width: \"31px\", height: \"31px\", viewBox: \"0 0 31 31\", version: \"1.1\" },\n react_1.default.createElement(\"g\", { stroke: \"none\", strokeWidth: \"1\", fill: \"none\", fillRule: \"evenodd\" },\n react_1.default.createElement(\"g\", { transform: \"translate(-235.000000, -232.000000)\" },\n react_1.default.createElement(\"g\", { transform: \"translate(235.000000, 232.000000)\" },\n react_1.default.createElement(\"circle\", { fill: \"#ECEDF0\", cx: \"15.5\", cy: \"15.5\", r: \"15.5\" }),\n react_1.default.createElement(\"polyline\", { stroke: \"#525456\", strokeWidth: \"2\", transform: \"translate(15.000000, 15.500000) rotate(-270.000000) translate(-15.000000, -15.500000) \", points: \"21 13 15 18 9 13\" })))))));\n};\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nexports.Accordion = function (_a) {\n var children = _a.children;\n return react_1.default.createElement(react_1.default.Fragment, null, children);\n};\nexports.Accordion.displayName = \"Accordion\";\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nexports.AccordionBody = function (_a) {\n var children = _a.children;\n return react_1.default.createElement(react_1.default.Fragment, null, children);\n};\nexports.AccordionBody.displayName = \"AccordionBody\";\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nexports.AccordionField = function (_a) {\n var children = _a.children;\n return react_1.default.createElement(react_1.default.Fragment, null, children);\n};\nexports.AccordionField.displayName = \"AccordionField\";\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nexports.AccordionHeader = function (_a) {\n var children = _a.children;\n return react_1.default.createElement(react_1.default.Fragment, null, children);\n};\nexports.AccordionHeader.displayName = \"AccordionHeader\";\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nexports.Animation = function (_a) {\n var children = _a.children;\n return react_1.default.createElement(react_1.default.Fragment, null, children);\n};\nexports.Animation.displayName = \"Animation\";\n","\"use strict\";\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\n// const PagerAnimator = (children, active) => {\n// const el = React.Children.toArray(children).find(\n// r => r.props.name === active\n// );\n// if (!el) return null;\n// return cloneElement(el);\n// };\nexports.ScrollAnimator = function (children, active) {\n react_1.useEffect(function () {\n window.location.hash = active;\n }, [active]);\n return react_1.default.createElement(react_1.default.Fragment, null, children);\n};\nexports.AnimationGroup = function (_a) {\n var children = _a.children, _b = _a.active, active = _b === void 0 ? undefined : _b;\n //return animator(children, active);\n return children;\n};\nexports.AnimationGroup.displayName = \"AnimationGroup\";\n","\"use strict\";\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar module_1 = require(\"./module\");\nvar creator_ui_1 = require(\"@chameleoncreator/creator-ui\");\nexports.Back = function () {\n var _a = react_1.useContext(module_1.ModuleContext), state = _a[0], dispatch = _a[1];\n return (react_1.default.createElement(\"button\", { onClick: function () { return dispatch(module_1.goBack()); } },\n react_1.default.createElement(creator_ui_1.BackIcon, null)));\n};\nexports.Back.displayName = \"Back\";\n","\"use strict\";\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar module_1 = require(\"./module\");\nvar creator_ui_1 = require(\"@chameleoncreator/creator-ui\");\nexports.BranchButton = function (_a) {\n var children = _a.children, to = _a.to;\n var _b = react_1.useContext(module_1.ModuleContext), state = _b[0], dispatch = _b[1];\n var goto = react_1.useMemo(function () { return function () {\n dispatch(module_1.goToPath(to));\n }; }, [to]);\n return (react_1.default.createElement(creator_ui_1.Button, { width: \"fit-content\", alignSelf: \"center\", onClick: goto }, children));\n};\nexports.BranchButton.displayName = \"BranchButton\";\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nexports.CarouselReducer = function (state, action) {\n switch (action.type) {\n case \"PREV\":\n var prev = state.current === 0 ? state.count - 1 : state.current - 1;\n return __assign(__assign({}, state), { current: prev });\n case \"NEXT\":\n var next = state.current === state.count - 1 ? 0 : state.current + 1;\n return __assign(__assign({}, state), { current: next });\n case \"GOTO\":\n return __assign(__assign({}, state), { current: action.data });\n }\n return state;\n};\nexports.Next = function () {\n return {\n type: \"NEXT\"\n };\n};\nexports.Prev = function () {\n return {\n type: \"PREV\"\n };\n};\nexports.Goto = function (num) {\n return {\n type: \"GOTO\",\n data: num\n };\n};\nexports.useCarousel = function (slideCount, initialSlide) {\n var _a = react_1.useReducer(exports.CarouselReducer, {\n current: initialSlide,\n count: slideCount\n }), state = _a[0], dispatch = _a[1];\n return {\n state: state,\n goTo: function (i) { return dispatch(exports.Goto(i)); },\n prev: function () { return dispatch(exports.Prev()); },\n next: function () { return dispatch(exports.Next()); }\n };\n};\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar carousel_1 = require(\"./carousel\");\nvar creator_ui_1 = require(\"@chameleoncreator/creator-ui\");\nvar heighAwareComponent_1 = require(\"./heighAwareComponent\");\nexports.CarouselAnimator = function (_a) {\n var children = _a.children;\n var _b = react_1.useContext(carousel_1.CarouselContext), current = _b.state.current, goTo = _b.goTo;\n var _c = react_1.useState(0), height = _c[0], setHeight = _c[1];\n var slides = children.map(function (child, i) {\n var isActive = current === i;\n var isLeft = i < current;\n var pos = isLeft\n ? [\"translateX(-100%)\", \"translateX(-70%)\"]\n : isActive\n ? [\"translateX(-50%)\", \"translateX(-50%)\"]\n : [\"translateX(0%)\", \"translateX(-30%)\"];\n var forwardProps = {\n position: \"absolute\",\n left: \"50%\",\n onClick: function () { return goTo(i); },\n \"aria-hidden\": isActive ? undefined : \"true\",\n style: {\n cursor: isActive ? \"initial\" : \"pointer\",\n zIndex: isActive ? 100 : 90 + (current - i * (isLeft ? -1 : 1)),\n transition: \"transform 0.5s\",\n transform: pos[1] + \" scale(\" + (isActive ? 1 : 0.8) + \")\"\n }\n };\n return (react_1.default.createElement(heighAwareComponent_1.HeightAwareComponent, __assign({ key: \"slide-cont-\" + i, active: isActive, setHeight: setHeight }, forwardProps), react_1.default.cloneElement(child, __assign({}, forwardProps))));\n });\n return (react_1.default.createElement(creator_ui_1.Box, { as: \"ul\", height: height }, slides));\n};\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nexports.HeightAwareComponent = function (_a) {\n var active = _a.active, children = _a.children, setHeight = _a.setHeight, others = __rest(_a, [\"active\", \"children\", \"setHeight\"]);\n var measuredRef = react_1.useCallback(function (node) {\n if (node !== null) {\n setHeight(node.offsetHeight);\n }\n setTimeout(function () {\n if (node !== null) {\n setHeight(node.offsetHeight);\n }\n }, 30);\n }, [active]);\n return (react_1.default.createElement(react_1.default.Fragment, null, react_1.cloneElement(react_1.default.Children.only(children), __assign(__assign({}, others), { ref: measuredRef }))));\n};\n","\"use strict\";\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar creator_ui_1 = require(\"@chameleoncreator/creator-ui\");\nvar carousel_1 = require(\"./carousel\");\nexports.CarouselNavigation = function () {\n var _a = react_1.useContext(carousel_1.CarouselContext), _b = _a.state, current = _b.current, count = _b.count, goTo = _a.goTo, prev = _a.prev, next = _a.next;\n var mapper = Array.from(Array(count));\n var indicators = mapper.map(function (_, i) {\n var isActive = current === i;\n return (react_1.default.createElement(creator_ui_1.Indicator, { isActive: isActive, onClick: function () { return goTo(i); }, key: \"slide-indicator-\" + i }));\n });\n return (react_1.default.createElement(creator_ui_1.Flexbox, { justifyContent: \"center\", p: \"10px\" },\n react_1.default.createElement(creator_ui_1.Button, { onClick: prev }, \"Prev\"),\n react_1.default.createElement(creator_ui_1.Flexbox, { as: \"ul\" }, indicators),\n react_1.default.createElement(creator_ui_1.Button, { onClick: next }, \"Next\")));\n};\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nexports.Choice = function (_a) {\n var children = _a.children, correct = _a.correct, name = _a.name;\n return react_1.default.createElement(react_1.default.Fragment, null, children);\n};\nexports.Choice.displayName = \"Choice\";\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nexports.Choices = function (_a) {\n var children = _a.children;\n return react_1.default.createElement(react_1.default.Fragment, null, children);\n};\nexports.Choices.displayName = \"Choices\";\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar creator_ui_1 = require(\"@chameleoncreator/creator-ui\");\nexports.Column = function (_a) {\n var children = _a.children, align = _a.align;\n return (react_1.default.createElement(creator_ui_1.Flexbox, { flexDirection: \"column\", justifyContent: align }, children));\n};\nexports.Column.displayName = \"Column\";\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar creator_ui_1 = require(\"@chameleoncreator/creator-ui\");\nvar module_1 = require(\"./module\");\nvar interaction_1 = require(\"./interaction\");\nexports.ContinueButton = function (_a) {\n var _b = _a.children, children = _b === void 0 ? \"Continue\" : _b, _c = _a.onClick, onClick = _c === void 0 ? undefined : _c, _d = _a.align, align = _d === void 0 ? \"center\" : _d, other = __rest(_a, [\"children\", \"onClick\", \"align\"]);\n var _e = react_1.useContext(module_1.ModuleContext), _ = _e[0], dispatch = _e[1];\n var ti = react_1.useContext(interaction_1.InteractionContext);\n if (!onClick) {\n onClick = function () { return dispatch(module_1.goForward(ti.topic + \":\" + ti.name)); };\n }\n return (react_1.default.createElement(creator_ui_1.Button, __assign({ alignSelf: align, onClick: onClick }, other), children));\n};\nexports.ContinueButton.displayName = \"ContinueButton\";\nexports.ContinueButton.editableFields = [\n {\n name: \"align\",\n assign: function (block, value) {\n block.props.alignSelf = value;\n },\n type: \"enum\",\n defaultValue: [\"center\", \"center\"],\n values: [\n [\"left\", \"flex-start\"],\n [\"center\", \"center\"],\n [\"right\", \"flex-end\"]\n ],\n help: \"Horizontal alignment of the button\"\n },\n {\n name: \"content\",\n assign: function (block, value) {\n block.children = value;\n },\n defaultValue: \"Continue\",\n type: \"text\",\n help: \"Button content; default is Continue\"\n }\n];\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nexports.Description = function (_a) {\n var children = _a.children;\n return react_1.default.createElement(react_1.default.Fragment, null, children);\n};\nexports.Description.displayName = \"Description\";\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nexports.DragAndDrop = function (_a) {\n var children = _a.children;\n return react_1.default.createElement(react_1.default.Fragment, null, children);\n};\nexports.DragAndDrop.displayName = \"DragAndDrop\";\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nexports.DragContainer = function (_a) {\n var children = _a.children;\n return react_1.default.createElement(react_1.default.Fragment, null, children);\n};\nexports.DragContainer.displayName = \"DragContainer\";\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nexports.DragItem = function (_a) {\n var children = _a.children, value = _a.value;\n return react_1.default.createElement(react_1.default.Fragment, null, children);\n};\nexports.DragItem.displayName = \"DragItem\";\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nexports.DropContainer = function (_a) {\n var children = _a.children;\n return react_1.default.createElement(react_1.default.Fragment, null, children);\n};\nexports.DropContainer.displayName = \"DropContainer\";\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nexports.DropItem = function (_a) {\n var children = _a.children, value = _a.value;\n return react_1.default.createElement(react_1.default.Fragment, null, children);\n};\nexports.DropItem.displayName = \"DropItem\";\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nexports.Feedback = function (_a) {\n var children = _a.children;\n return react_1.default.createElement(react_1.default.Fragment, null, children);\n};\nexports.Feedback.displayName = \"Feedback\";\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar creator_ui_1 = require(\"@chameleoncreator/creator-ui\");\nexports.Header = function (_a) {\n var children = _a.children, sticky = _a.sticky;\n return (react_1.default.createElement(creator_ui_1.Flexbox, { style: { position: \"sticky\", top: 0 }, bg: \"#fff\", color: \"#333\", p: \"10px\", borderBottom: \"1px solid #eee\", zIndex: \"1000\", boxShadow: \"1px 1px 20px 0 rgba(0,0,0,0.2)\", alignItems: \"center\" }, children));\n};\nexports.Header.displayName = \"Header\";\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nexports.Heading = function (_a) {\n var children = _a.children;\n return react_1.default.createElement(\"h2\", null, children);\n};\nexports.Heading.displayName = exports.Heading;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nexports.Image = function (_a) {\n var src = _a.src, _b = _a.title, title = _b === void 0 ? \"\" : _b;\n return react_1.default.createElement(\"img\", { src: src, title: title });\n};\nexports.Image.displayName = \"Image\";\nexports.Image.editableFields = [\n {\n name: \"shape\",\n assign: function (block, value) {\n block.props.shape = value;\n },\n type: \"enum\",\n defaultValue: [\"rectangle\"],\n values: [\n [\"Circular\", \"circle\"],\n [\"Rounded\", \"rounded\"],\n [\"Rectangular\", \"rectangle\"]\n ],\n help: \"\"\n },\n {\n name: \"Source\",\n assign: function (block, value) {\n block.props.src = value;\n },\n type: \"image\",\n help: \"\"\n }\n];\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Menu = function () {\n return null;\n};\nexports.Menu.displayName = \"Menu\";\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nexports.MultipleChoice = function (_a) {\n var children = _a.children;\n return react_1.default.createElement(react_1.default.Fragment, null, children);\n};\nexports.MultipleChoice.displayName = \"MultipleChoice\";\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nexports.Paragraph = function (_a) {\n var children = _a.children;\n return react_1.default.createElement(\"p\", null, children);\n};\nexports.Paragraph.displayName = \"Paragraph\";\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nexports.Quiz = function (_a) {\n var children = _a.children;\n return react_1.default.createElement(react_1.default.Fragment, null, children);\n};\nexports.Quiz.displayName = \"Quiz\";\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Rating = function (_a) {\n return null;\n};\nexports.Rating.displayName = \"Rating\";\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nexports.Result = function (_a) {\n var children = _a.children, correct = _a.correct, _b = _a.to, to = _b === void 0 ? \"\" : _b;\n return react_1.default.createElement(react_1.default.Fragment, null, children);\n};\nexports.Result.displayName = \"Result\";\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nexports.SingleChoice = function (_a) {\n var children = _a.children;\n return react_1.default.createElement(react_1.default.Fragment, null, children);\n};\nexports.SingleChoice.displayName = \"SingleChoice\";\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar creator_ui_1 = require(\"@chameleoncreator/creator-ui\");\nexports.SingleColumnLayout = function (_a) {\n var children = _a.children, _b = _a.fill, fill = _b === void 0 ? true : _b, _c = _a.contain, contain = _c === void 0 ? \"boxed\" : _c;\n return (react_1.default.createElement(creator_ui_1.Flexbox, { flexDirection: \"column\", justifyContent: \"center\", height: fill ? \"100%\" : \"auto\", maxWidth: contain === \"boxed\" ? \"960px\" : \"100%\", mx: contain === \"boxed\" ? \"auto\" : \"initial\" }, children));\n};\nexports.SingleColumnLayout.displayName = \"SingleColumnLayout\";\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar creator_ui_1 = require(\"@chameleoncreator/creator-ui\");\nexports.Slide = react_1.forwardRef(function (_a, ref) {\n var children = _a.children, other = __rest(_a, [\"children\"]);\n return (react_1.default.createElement(creator_ui_1.Card, __assign({ ref: ref, as: \"li\", flexDirection: \"column\", p: \"10px\", borderRadius: \"10px\", bg: \"#fff\", border: \"1px solid #eee\", textAlign: \"center\", boxShadow: \"2px 2px 20px -2px rgba(0,0,0,0.1)\", width: \"fit-content\", height: \"fit-content\" }, other), children));\n});\nexports.Slide.displayName = \"Slide\";\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar creator_ui_1 = require(\"@chameleoncreator/creator-ui\");\nexports.Text = function (_a) {\n var children = _a.children;\n return (react_1.default.createElement(creator_ui_1.Text, { as: \"div\", width: \"100%\" }, children));\n};\nexports.Text.displayName = \"Text\";\nexports.Text.editableFields = [];\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TextArea = function (_a) {\n return null;\n};\nexports.TextArea.displayName = \"TextArea\";\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nexports.Title = function (_a) {\n var children = _a.children;\n return react_1.default.createElement(react_1.default.Fragment, null, children);\n};\nexports.Title.displayName = \"Title\";\n","\"use strict\";\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar module_1 = require(\"./module\");\nvar creator_ui_1 = require(\"@chameleoncreator/creator-ui\");\nexports.TopicTitle = function () {\n var modCtx = react_1.useContext(module_1.ModuleContext)[0];\n return react_1.default.createElement(creator_ui_1.Box, { mx: \"10px\" }, modCtx.currentTopic);\n};\nexports.TopicTitle.displayName = \"TopicTitle\";\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar creator_ui_1 = require(\"@chameleoncreator/creator-ui\");\nexports.TwoColumnLayout = function (_a) {\n var children = _a.children, _b = _a.fill, fill = _b === void 0 ? true : _b;\n return (react_1.default.createElement(creator_ui_1.Flexbox, { flexDirection: \"column\", height: fill ? \"100%\" : \"auto\" }, children));\n};\nexports.TwoColumnLayout.displayName = \"TwoColumnLayout\";\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar creator_ui_1 = require(\"@chameleoncreator/creator-ui\");\nvar useSidebar_1 = require(\"../hooks/useSidebar\");\nexports.Editable = function (_a) {\n var children = _a.children, block = _a.block;\n var child = react_1.default.Children.only(children);\n var editableFields = child.type.editableFields;\n var ref = react_1.useRef(null);\n var returnFocus = function () {\n if (ref.current) {\n ref.current.focus();\n }\n };\n var ctx = react_1.useContext(useSidebar_1.EditContext);\n var onClick = function () {\n ctx.pushSidebarItem({\n block: block,\n fields: editableFields\n });\n };\n var onActivate = function () {\n ctx.pushSidebarItem({\n block: block,\n fields: editableFields,\n returnFocus: returnFocus\n });\n };\n var requiredProps = {\n onClick: onClick,\n onKeyPress: function (e) {\n if (e.nativeEvent.key === \"Enter\") {\n onActivate();\n }\n },\n ref: ref,\n tabIndex: 0\n };\n if (child.type.editableContainer) {\n return react_1.createElement(child.type.editableContainer, __assign(__assign({}, requiredProps), { children: react_1.cloneElement(child, { onClick: function () { }, tabIndex: -1 }) }));\n }\n return (react_1.default.createElement(creator_ui_1.Box, __assign({ p: \"10px\", border: \"1px solid #eee\", style: { alignSelf: \"center\" }, width: block.type === \"ContinueButton\" ? \"auto\" : \"100%\" }, requiredProps), react_1.cloneElement(child, { onClick: function () { }, tabIndex: -1 })));\n};\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nexports.Video = function (_a) {\n var children = _a.children;\n return react_1.default.createElement(react_1.default.Fragment, null, children);\n};\nexports.Video.displayName = \"Video\";\n","\"use strict\";\nfunction __export(m) {\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./color\"));\n__export(require(\"./enum\"));\n__export(require(\"./richText\"));\n__export(require(\"./sidebar\"));\n__export(require(\"./text\"));\n__export(require(\"./topics\"));\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar creator_ui_1 = require(\"@chameleoncreator/creator-ui\");\nexports.Color = function () {\n react_1.default.createElement(creator_ui_1.Box, null);\n};\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar creator_ui_1 = require(\"@chameleoncreator/creator-ui\");\nexports.Enum = function () {\n react_1.default.createElement(creator_ui_1.Box, null);\n};\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar creator_ui_1 = require(\"@chameleoncreator/creator-ui\");\nexports.RichText = function () {\n react_1.default.createElement(creator_ui_1.Box, null);\n};\n","\"use strict\";\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar creator_ui_1 = require(\"@chameleoncreator/creator-ui\");\nvar useSidebar_1 = require(\"../hooks/useSidebar\");\nvar topics_1 = require(\"./topics\");\nvar block_1 = require(\"./block\");\nexports.Sidebar = function (props) {\n var sidebarlist = react_1.useContext(useSidebar_1.EditContext).sidebarlist;\n var editor;\n if (sidebarlist.length === 0) {\n editor = react_1.default.createElement(topics_1.Topics, null);\n }\n else {\n var o = sidebarlist[sidebarlist.length - 1];\n editor = react_1.default.createElement(block_1.Block, { data: o });\n }\n return react_1.default.createElement(creator_ui_1.Box, null, editor);\n};\n","\"use strict\";\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar creator_ui_1 = require(\"@chameleoncreator/creator-ui\");\nvar useSidebar_1 = require(\"../hooks/useSidebar\");\nexports.Block = function (props) {\n var ctx = react_1.useContext(useSidebar_1.EditContext);\n var onReturn = function () {\n ctx.popSidebarItem();\n };\n if (props.data.returnFocus) {\n onReturn = function () {\n ctx.popSidebarItem();\n props.data.returnFocus();\n };\n }\n var ref = react_1.useRef(null);\n react_1.useEffect(function () {\n if (ref.current && props.data.returnFocus) {\n ref.current.focus();\n }\n }, [props.data]);\n return (react_1.default.createElement(creator_ui_1.Box, null,\n react_1.default.createElement(creator_ui_1.Button, { onClick: onReturn, ref: ref },\n react_1.default.createElement(creator_ui_1.BackIcon, null),\n \" Back\"),\n react_1.default.createElement(creator_ui_1.Heading, { as: \"h3\" },\n \"Editing Block: \",\n props.data.block.type)));\n};\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar creator_ui_1 = require(\"@chameleoncreator/creator-ui\");\nexports.Text = function () {\n react_1.default.createElement(creator_ui_1.Box, null);\n};\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nexports.cloneModule = function (mod) {\n return __assign(__assign({}, mod), { blocks: __assign({}, mod.blocks) });\n};\nexports.Set = function (block) { return ({ type: \"Set\", data: block }); };\nexports.Remove = function (block) { return ({\n type: \"Remove\",\n data: block\n}); };\nexports.ModuleReducer = function (state, action) {\n switch (action.type) {\n case \"Set\": {\n var nextState = exports.cloneModule(state);\n nextState.blocks[action.data.id] = action.data;\n return nextState;\n }\n case \"Remove\": {\n var nextState = exports.cloneModule(state);\n delete nextState.blocks[action.data.id];\n return nextState;\n }\n }\n};\nexports.useModule = function (data, rootId) {\n var _a = react_1.useReducer(exports.ModuleReducer, {\n rootId: rootId,\n blocks: data\n }), mod = _a[0], dispatch = _a[1];\n var SetBlock = function (block) { return dispatch(exports.Set(block)); };\n var RomoveBlock = function (block) { return dispatch(exports.Remove(block)); };\n return [mod, SetBlock, RomoveBlock];\n};\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar react_frame_component_1 = __importStar(require(\"react-frame-component\"));\nexports.Frame = function (props) {\n var _a = props.style, style = _a === void 0 ? {} : _a, children = props.children, rest = __rest(props, [\"style\", \"children\"]);\n return (react_1.default.createElement(react_frame_component_1.default, __assign({ style: __assign({ display: \"block\", overflow: \"scroll\", border: 0, width: \"100%\", height: \"100%\" }, style) }, rest),\n react_1.default.createElement(react_frame_component_1.FrameContextConsumer, null, function (frameContext) { return (react_1.default.createElement(react_1.default.Fragment, null, children)); })));\n};\n","\"use strict\";\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar render_1 = require(\"./utils/render\");\n// import { GlobalStyles } from \"./globalStyles\";\nexports.Player = function (_a) {\n var data = _a.data, root = _a.root;\n var renderer = render_1.Renderer(root, data);\n var children = react_1.useMemo(function () { return renderer.renderRoot(); }, [data]);\n return (react_1.default.createElement(react_1.default.Fragment, null, children));\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExampleSerializedNestedRoot = \"62e376e7-5e02-4fda-9b2e-fe75f59064cc\";\nexports.ExampleSerializedNested = {\n \"62e376e7-5e02-4fda-9b2e-fe75f59064cc\": {\n id: \"62e376e7-5e02-4fda-9b2e-fe75f59064cc\",\n type: \"Module\",\n props: {},\n children: [\n { id: \"afaf91cb-894c-4f30-92f3-88c0434044e7\", type: \"Ref\" },\n { id: \"d45955b4-50af-47f6-919c-7ff443b88de6\", type: \"Ref\" }\n ]\n },\n \"afaf91cb-894c-4f30-92f3-88c0434044e7\": {\n id: \"afaf91cb-894c-4f30-92f3-88c0434044e7\",\n type: \"Header\",\n props: {\n sticky: \"top\"\n },\n children: [\n { id: \"420b641b-9c33-4169-b6fc-23e1c3756975\", type: \"Ref\" },\n { id: \"03e9c4e5-9d55-45c1-abf3-46ef460e73c4\", type: \"Ref\" },\n { id: \"441a2e33-d06f-4822-899a-323025f8fc52\", type: \"Ref\" },\n { id: \"746d06da-fa25-4b6f-be82-edfa6f052d88\", type: \"Ref\" }\n ]\n },\n \"420b641b-9c33-4169-b6fc-23e1c3756975\": {\n id: \"420b641b-9c33-4169-b6fc-23e1c3756975\",\n type: \"Back\"\n },\n \"03e9c4e5-9d55-45c1-abf3-46ef460e73c4\": {\n id: \"03e9c4e5-9d55-45c1-abf3-46ef460e73c4\",\n type: \"TopicTitle\"\n },\n \"441a2e33-d06f-4822-899a-323025f8fc52\": {\n id: \"441a2e33-d06f-4822-899a-323025f8fc52\",\n type: \"Logo\"\n },\n \"746d06da-fa25-4b6f-be82-edfa6f052d88\": {\n id: \"746d06da-fa25-4b6f-be82-edfa6f052d88\",\n type: \"Menu\"\n },\n \"d45955b4-50af-47f6-919c-7ff443b88de6\": {\n id: \"d45955b4-50af-47f6-919c-7ff443b88de6\",\n type: \"AnimationGroup\",\n meta: {\n subType: \"Topic\"\n },\n children: [\n {\n id: \"50c7d9d7-304c-47e7-ac2a-9e4439ccfb0f\",\n type: \"Ref\"\n }\n ]\n },\n \"50c7d9d7-304c-47e7-ac2a-9e4439ccfb0f\": {\n id: \"50c7d9d7-304c-47e7-ac2a-9e4439ccfb0f\",\n type: \"Topic\",\n props: { name: \"welcome\" },\n children: [\n {\n id: \"1690aa8f-2016-46dd-baa0-be5340b84aa0\",\n type: \"Ref\"\n }\n ]\n },\n \"1690aa8f-2016-46dd-baa0-be5340b84aa0\": {\n id: \"1690aa8f-2016-46dd-baa0-be5340b84aa0\",\n type: \"AnimationGroup\",\n props: {},\n meta: {\n subType: \"Interaction\"\n },\n animator: {\n type: \"ScrollAnimator\",\n config: {}\n },\n children: [{ id: \"d3ddb5d5-212e-4a4e-81fa-8de0be3a0316\", type: \"Ref\" }]\n },\n \"d3ddb5d5-212e-4a4e-81fa-8de0be3a0316\": {\n id: \"d3ddb5d5-212e-4a4e-81fa-8de0be3a0316\",\n type: \"Interaction\",\n props: {\n name: \"intro\"\n },\n children: [{ id: \"725d0fbf-f7eb-43f8-b08d-2dfb263a550c\", type: \"Ref\" }]\n },\n \"725d0fbf-f7eb-43f8-b08d-2dfb263a550c\": {\n id: \"725d0fbf-f7eb-43f8-b08d-2dfb263a550c\",\n type: \"SingleColumnLayout\",\n children: [\n {\n id: \"4e71a6dc-a101-47d7-9277-e3b14805a35e\",\n type: \"Ref\"\n }\n ]\n },\n \"4e71a6dc-a101-47d7-9277-e3b14805a35e\": {\n id: \"4e71a6dc-a101-47d7-9277-e3b14805a35e\",\n type: \"Column\",\n props: {\n align: \"center\"\n },\n children: [\n {\n id: \"04d365f3-a2ae-4970-9f3d-af259d5fec70\",\n type: \"Ref\"\n },\n {\n id: \"385afaf3-48a6-491a-b3bd-a0c2c4938c70\",\n type: \"Ref\"\n },\n {\n id: \"2238f67f-242d-413e-93d9-68f87a350ca2\",\n type: \"Ref\"\n }\n ]\n },\n \"04d365f3-a2ae-4970-9f3d-af259d5fec70\": {\n id: \"04d365f3-a2ae-4970-9f3d-af259d5fec70\",\n type: \"Text\",\n children: [\n {\n id: \"09d9ed61-4c03-48d9-a151-c552b581b64c\",\n type: \"Ref\"\n },\n {\n id: \"80f683c3-d5b8-4fd7-bedf-ec49ecdeac5b\",\n type: \"Ref\"\n }\n ]\n },\n \"09d9ed61-4c03-48d9-a151-c552b581b64c\": {\n id: \"09d9ed61-4c03-48d9-a151-c552b581b64c\",\n type: \"Heading\",\n children: \"Module Title\"\n },\n \"80f683c3-d5b8-4fd7-bedf-ec49ecdeac5b\": {\n id: \"80f683c3-d5b8-4fd7-bedf-ec49ecdeac5b\",\n type: \"Paragraph\",\n children: \"Welcome text explaining what this module is about\"\n },\n \"ee79d1b0-2fdd-4efd-9e52-507d2b25ee07\": {\n id: \"ee79d1b0-2fdd-4efd-9e52-507d2b25ee07\",\n type: \"Image\",\n props: {\n src: \"https://dummyimage.com/400x300/333/d5d6ed.png\"\n }\n },\n \"752f8931-7395-4f01-9e4b-9ace9865236a\": {\n id: \"752f8931-7395-4f01-9e4b-9ace9865236a\",\n type: \"Text\",\n children: \"Slide A\"\n },\n \"2441aebc-4a8e-4d7b-88c2-7850b4390f2f\": {\n id: \"2441aebc-4a8e-4d7b-88c2-7850b4390f2f\",\n type: \"Slide\",\n children: [\n {\n id: \"ee79d1b0-2fdd-4efd-9e52-507d2b25ee07\",\n type: \"Ref\"\n },\n {\n id: \"752f8931-7395-4f01-9e4b-9ace9865236a\",\n type: \"Ref\"\n }\n ]\n },\n \"66900c97-0381-4a9d-9533-95125b08d548\": {\n id: \"66900c97-0381-4a9d-9533-95125b08d548\",\n type: \"Text\",\n children: \"Slide B\"\n },\n \"e6cf5d47-1ce3-4300-a892-c2543bbf1ab1\": {\n id: \"e6cf5d47-1ce3-4300-a892-c2543bbf1ab1\",\n type: \"Image\",\n props: {\n src: \"https://dummyimage.com/400x300/333/d5d6ed.png\"\n }\n },\n \"8ccd4fcf-fee8-43f1-bddc-3defb9184d8a\": {\n id: \"8ccd4fcf-fee8-43f1-bddc-3defb9184d8a\",\n type: \"Slide\",\n children: [\n {\n id: \"e6cf5d47-1ce3-4300-a892-c2543bbf1ab1\",\n type: \"Ref\"\n },\n {\n id: \"66900c97-0381-4a9d-9533-95125b08d548\",\n type: \"Ref\"\n }\n ]\n },\n \"df8164c8-f51f-4de4-bc1b-c527ac09308f\": {\n id: \"df8164c8-f51f-4de4-bc1b-c527ac09308f\",\n type: \"Image\",\n props: {\n src: \"https://dummyimage.com/400x300/333/d5d6ed.png\"\n }\n },\n \"9c33776c-3eaf-4032-8cdd-a630e516072e\": {\n id: \"9c33776c-3eaf-4032-8cdd-a630e516072e\",\n type: \"Text\",\n children: \"Slide C\"\n },\n \"e2364ede-ff20-4894-9ef3-c71c0f154b0a\": {\n id: \"e2364ede-ff20-4894-9ef3-c71c0f154b0a\",\n type: \"Slide\",\n children: [\n {\n id: \"df8164c8-f51f-4de4-bc1b-c527ac09308f\",\n type: \"Ref\"\n },\n {\n id: \"9c33776c-3eaf-4032-8cdd-a630e516072e\",\n type: \"Ref\"\n }\n ]\n },\n \"385afaf3-48a6-491a-b3bd-a0c2c4938c70\": {\n id: \"385afaf3-48a6-491a-b3bd-a0c2c4938c70\",\n type: \"Carousel\",\n children: [\n {\n id: \"2441aebc-4a8e-4d7b-88c2-7850b4390f2f\",\n type: \"Ref\"\n },\n {\n id: \"8ccd4fcf-fee8-43f1-bddc-3defb9184d8a\",\n type: \"Ref\"\n },\n {\n id: \"e2364ede-ff20-4894-9ef3-c71c0f154b0a\",\n type: \"Ref\"\n }\n ]\n },\n \"2238f67f-242d-413e-93d9-68f87a350ca2\": {\n id: \"2238f67f-242d-413e-93d9-68f87a350ca2\",\n type: \"ContinueButton\",\n children: \"Continue\"\n }\n};\nexports.ExampleSerialized = {\n id: \"62e376e7-5e02-4fda-9b2e-fe75f59064cc\",\n type: \"Module\",\n props: {},\n children: [\n {\n id: \"d45955b4-50af-47f6-919c-7ff443b88de6\",\n type: \"AnimationGroup\",\n meta: {\n subType: \"Topic\"\n },\n children: [\n {\n id: \"50c7d9d7-304c-47e7-ac2a-9e4439ccfb0f\",\n type: \"Topic\",\n props: { name: \"welcome\" },\n children: [\n {\n id: \"1690aa8f-2016-46dd-baa0-be5340b84aa0\",\n type: \"AnimationGroup\",\n meta: {\n subType: \"Interaction\"\n },\n props: {},\n animator: {\n type: \"ScrollAnimator\",\n config: {}\n },\n children: [\n {\n id: \"d3ddb5d5-212e-4a4e-81fa-8de0be3a0316\",\n type: \"Interaction\",\n props: {\n name: \"intro\"\n },\n children: [\n {\n id: \"725d0fbf-f7eb-43f8-b08d-2dfb263a550c\",\n type: \"SingleColumnLayout\",\n children: [\n {\n id: \"4e71a6dc-a101-47d7-9277-e3b14805a35e\",\n type: \"Column\",\n props: {\n align: \"center\"\n },\n children: [\n {\n id: \"04d365f3-a2ae-4970-9f3d-af259d5fec70\",\n type: \"Text\",\n children: [\n {\n id: \"09d9ed61-4c03-48d9-a151-c552b581b64c\",\n type: \"Heading\",\n children: \"Module Title\"\n },\n {\n id: \"80f683c3-d5b8-4fd7-bedf-ec49ecdeac5b\",\n type: \"Paragraph\",\n children: \"Welcome text explaining what this module is about\"\n }\n ]\n },\n {\n id: \"385afaf3-48a6-491a-b3bd-a0c2c4938c70\",\n type: \"Carousel\",\n children: [\n {\n id: \"2441aebc-4a8e-4d7b-88c2-7850b4390f2f\",\n type: \"Slide\",\n children: [\n {\n id: \"ee79d1b0-2fdd-4efd-9e52-507d2b25ee07\",\n type: \"Image\",\n props: {\n src: \"https://dummyimage.com/400x300/333/d5d6ed.png\"\n }\n },\n {\n id: \"752f8931-7395-4f01-9e4b-9ace9865236a\",\n type: \"Paragraph\",\n children: \"Slide A\"\n }\n ]\n },\n {\n id: \"8ccd4fcf-fee8-43f1-bddc-3defb9184d8a\",\n type: \"Slide\",\n children: [\n {\n id: \"e6cf5d47-1ce3-4300-a892-c2543bbf1ab1\",\n type: \"Image\",\n props: {\n src: \"https://dummyimage.com/400x300/333/d5d6ed.png\"\n }\n },\n {\n id: \"66900c97-0381-4a9d-9533-95125b08d548\",\n type: \"Paragraph\",\n children: \"Slide B\"\n }\n ]\n },\n {\n id: \"e2364ede-ff20-4894-9ef3-c71c0f154b0a\",\n type: \"Slide\",\n children: [\n {\n id: \"df8164c8-f51f-4de4-bc1b-c527ac09308f\",\n type: \"Image\",\n props: {\n src: \"https://dummyimage.com/400x300/333/d5d6ed.png\"\n }\n },\n {\n id: \"9c33776c-3eaf-4032-8cdd-a630e516072e\",\n type: \"Paragraph\",\n children: \"Slide C\"\n }\n ]\n }\n ]\n },\n {\n id: \"2238f67f-242d-413e-93d9-68f87a350ca2\",\n type: \"ContinueButton\",\n children: \"Continue\"\n }\n ]\n }\n ]\n }\n ]\n },\n {\n id: \"e9f6f212-250c-409d-a14d-68838c7e1bc3\",\n type: \"Interaction\",\n props: {\n name: \"number-two\"\n },\n children: [\n {\n id: \"07f3cadd-7abc-4d19-8073-0ed0155627ac\",\n type: \"SingleColumnLayout\",\n children: [\n {\n type: \"Column\",\n props: {\n align: \"center\"\n },\n children: [\n {\n id: \"610e47ed-eb35-44d6-9c00-d5db5179d21d\",\n type: \"Text\",\n children: [\n {\n id: \"\",\n type: \"Heading\",\n children: \"Section 2\"\n },\n {\n id: \"\",\n type: \"Paragraph\",\n children: \"Welcome text explaining what this module is about\"\n }\n ]\n },\n {\n id: \"7fbd0b94-684d-49f2-acb2-8624ead6b634\",\n type: \"Carousel\",\n children: [\n {\n id: \"cf6e7f24-6e91-4cb9-ba94-55d0183bf4a3\",\n type: \"Slide\",\n children: [\n {\n id: \"0ef952ca-72c2-465e-a33b-32a474dd557f\",\n type: \"Image\",\n props: {\n src: \"https://dummyimage.com/400x300/333/d5d6ed.png\"\n }\n },\n {\n id: \"1a284c98-6727-4e42-bb82-4735c325bb4b\",\n type: \"Paragraph\",\n children: \"Slide A\"\n }\n ]\n },\n {\n id: \"eba83134-5738-478c-a719-2b4b3a8732ba\",\n type: \"Slide\",\n children: [\n {\n id: \"9e27942b-3252-4b6a-ab02-2543a07451cf\",\n type: \"Image\",\n props: {\n src: \"https://dummyimage.com/400x300/333/d5d6ed.png\"\n }\n },\n {\n id: \"a9b357ac-f28a-4d23-8877-d9796b3154c1\",\n type: \"Paragraph\",\n children: \"Slide B\"\n }\n ]\n },\n {\n id: \"cbe3b6b7-5f93-41f7-b449-404ac0b7fd4f\",\n type: \"Slide\",\n children: [\n {\n id: \"c911107d-54c6-45ca-a5f0-3e66b886bfed\",\n type: \"Image\",\n props: {\n src: \"https://dummyimage.com/400x300/333/d5d6ed.png\"\n }\n },\n {\n id: \"e5e02602-b8e6-4c20-a340-fc2a3178f897\",\n type: \"Paragraph\",\n children: \"Slide C\"\n }\n ]\n }\n ]\n },\n {\n id: \"381ad80c-5e01-4c77-96ac-d78037cd3a6a\",\n type: \"ContinueButton\",\n children: \"Continue\"\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n};\n","\"use strict\";\nfunction __export(m) {\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./block\"));\n__export(require(\"./children\"));\n__export(require(\"./render\"));\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Block = /** @class */ (function () {\n function Block(data) {\n this.id = data.id;\n this.type = data.type;\n this.props = data.props;\n this.meta = data.meta;\n this.children = data.children;\n this.animator = data.animator;\n }\n Block.new = function () {\n return new Block({});\n };\n return Block;\n}());\nexports.Block = Block;\nexports.cloneBlock = function (block) {\n var children = Array.isArray(block.children) ? __spreadArrays(block.children) : block.children;\n return __assign(__assign({}, block), { children: children, props: __assign({}, block.props) });\n};\n","\"use strict\";\nfunction __export(m) {\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./bar\"));\n__export(require(\"./burger\"));\n__export(require(\"./drawer\"));\n__export(require(\"./dropDown\"));\n__export(require(\"./logo\"));\n__export(require(\"./navArrow\"));\n__export(require(\"./navbar\"));\n__export(require(\"./navbarContext\"));\n__export(require(\"./navbarLink\"));\n__export(require(\"./navigation\"));\n__export(require(\"./navItem\"));\n__export(require(\"./search\"));\n__export(require(\"./user\"));\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar creator_ui_1 = require(\"@chameleoncreator/creator-ui\");\nvar navbarContext_1 = require(\"./navbarContext\");\nvar user_1 = require(\"./user\");\nvar search_1 = require(\"./search\");\nvar logo_1 = require(\"./logo\");\nvar navigation_1 = require(\"./navigation\");\nvar drawer_1 = require(\"./drawer\");\nvar burger_1 = require(\"./burger\");\nvar bar_1 = require(\"./bar\");\nvar lock_1 = require(\"./lock\");\nvar divider_1 = require(\"./divider\");\nvar networkActivity_1 = require(\"./networkActivity\");\nvar toggler = function (menu, setMenu) { return function (id) {\n var _a;\n setMenu(__assign(__assign({}, Object.keys(menu).reduce(function (acc, r) {\n return (acc[r] = false);\n }, {})), (_a = {}, _a[id] = !menu[id], _a)));\n}; };\nexports.Navbar = function (props) {\n var _a = react_1.useState({}), menu = _a[0], setMenu = _a[1];\n var isOpen = function (id) {\n return !!menu[id];\n };\n var toggleMenu = toggler(menu, setMenu);\n var boxed = props.boxed, nav = props.nav, currentUser = props.currentUser, _b = props.search, search = _b === void 0 ? { url: \"\", q: \"\" } : _b, lock = props.lock, networkRequestActive = props.networkRequestActive, networkAvailable = props.networkAvailable, showNetworkActivity = props.showNetworkActivity, showLock = props.showLock, showSearch = props.showSearch;\n var ctx = {\n boxed: boxed,\n nav: nav,\n currentUser: currentUser,\n search: search,\n lock: lock,\n networkRequestActive: networkRequestActive,\n networkAvailable: networkAvailable,\n isOpen: isOpen,\n toggleMenu: toggleMenu\n };\n var _c = react_1.useState(window.innerWidth >= 768 ? \"header\" : \"drawer\"), display = _c[0], setDisplay = _c[1];\n var _d = react_1.useState(false), showDrawer = _d[0], setDrawer = _d[1];\n react_1.useEffect(function () {\n var onResize = function (e) {\n if (window.innerWidth >= 768) {\n display !== \"header\" && setDisplay(\"header\");\n return;\n }\n display !== \"drawer\" && setDisplay(\"drawer\");\n };\n window.addEventListener(\"resize\", onResize);\n return function () { return window.removeEventListener(\"resize\", onResize); };\n }, [display]);\n var isMobileDisplay = display === \"drawer\";\n return (react_1.default.createElement(navbarContext_1.NavContext.Provider, { value: ctx },\n react_1.default.createElement(bar_1.Bar, { boxed: props.boxed },\n react_1.default.createElement(creator_ui_1.Flexbox, { alignItems: \"center\", style: { flex: isMobileDisplay ? 1 : 0, height: 70 } },\n isMobileDisplay ? react_1.default.createElement(burger_1.Burger, __assign({}, { showDrawer: showDrawer, setDrawer: setDrawer })) : null,\n react_1.default.createElement(creator_ui_1.Flexbox, { flex: \"0\", pl: 3, pr: 2 },\n react_1.default.createElement(creator_ui_1.Flexbox, { as: \"a\", href: \"/\", target: \"_parent\" },\n react_1.default.createElement(logo_1.Logo, null))),\n react_1.default.createElement(creator_ui_1.Flexbox, { style: { flex: isMobileDisplay ? 1 : 0 }, px: 2 },\n react_1.default.createElement(search_1.SearchBar, { q: search.q, url: search.url, showSearch: showSearch })),\n !isMobileDisplay ? (react_1.default.createElement(react_1.default.Fragment, null,\n showLock ? (react_1.default.createElement(creator_ui_1.Flexbox, { px: 2 },\n react_1.default.createElement(lock_1.Lock, { lock: lock }))) : null,\n react_1.default.createElement(creator_ui_1.Flexbox, { px: 2 },\n react_1.default.createElement(networkActivity_1.NetworkActivity, { showActivity: showNetworkActivity, isActive: networkRequestActive })))) : null),\n !isMobileDisplay ? (react_1.default.createElement(creator_ui_1.Flexbox, { flex: \"1\", justifyContent: \"flex-end\", px: 3 },\n react_1.default.createElement(navigation_1.Navigation, { nav: nav }),\n currentUser ? react_1.default.createElement(user_1.Admin, { name: currentUser.firstName, profileImg: currentUser.profileImage }) : null)) : null),\n isMobileDisplay ? (react_1.default.createElement(react_1.default.Fragment, null,\n react_1.default.createElement(drawer_1.Overlay, { style: {\n display: showDrawer ? \"block\" : \"none\"\n }, onClick: function () { return setDrawer(false); } }),\n react_1.default.createElement(drawer_1.Drawer, { style: {\n transform: showDrawer\n ? \"translate3d(0,0,0)\"\n : \"translate3d(-340px,0,0)\"\n } },\n react_1.default.createElement(creator_ui_1.Flexbox, { px: 3, py: \"11px\" },\n react_1.default.createElement(logo_1.Logo, null)),\n react_1.default.createElement(divider_1.Divider, null),\n react_1.default.createElement(creator_ui_1.Box, { as: \"ul\", p: 0, m: 0 }, nav.map(function (r, i) { return (react_1.default.createElement(drawer_1.DrawerItem, { key: \"nav-\" + r.label + \"-i\", item: r })); }))))) : null));\n};\n","\"use strict\";\nvar __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar styled_1 = __importDefault(require(\"@emotion/styled\"));\nvar LockedIcon = function () { return (react_1.default.createElement(\"svg\", { width: \"45px\", height: \"45px\", viewBox: \"0 0 48 48\" },\n react_1.default.createElement(\"g\", { stroke: \"none\", strokeWidth: \"1\", fill: \"none\", fillRule: \"evenodd\" },\n react_1.default.createElement(\"g\", { transform: \"translate(1.000000, 1.000000)\" },\n react_1.default.createElement(\"g\", { transform: \"translate(15.000000, 11.000000)\" },\n react_1.default.createElement(\"path\", { d: \"M15.1678711,19.9519192 L1.71800361,19.9519192 C0.769075904,19.9519192 -2.04819277e-05,19.1933333 -2.04819277e-05,18.2573737 L-2.04819277e-05,9.31353535 C-2.04819277e-05,8.37777778 0.769075904,7.6189899 1.71800361,7.6189899 L15.1678711,7.6189899 C16.116594,7.6189899 16.8858952,8.37777778 16.8858952,9.31353535 L16.8858952,18.2573737 C16.8858952,19.1933333 16.116594,19.9519192 15.1678711,19.9519192 Z\", stroke: \"#111214\" }),\n react_1.default.createElement(\"path\", { d: \"M13.2371831,7.61907071 L13.2371831,4.72876768 C13.2371831,2.11725253 11.0906771,8.08080808e-05 8.44297831,8.08080808e-05 C5.79527952,8.08080808e-05 3.64877349,2.11725253 3.64877349,4.72876768 L3.64877349,7.61907071\", stroke: \"#111214\" }),\n react_1.default.createElement(\"path\", { d: \"M9.98668072,12.667899 C9.98668072,11.8268889 9.29541566,11.1452727 8.44295783,11.1452727 C7.59029518,11.1452727 6.89923494,11.8268889 6.89923494,12.667899 C6.89923494,13.207899 7.18495783,13.6812323 7.61487349,13.9515354 L7.61487349,15.627899 C7.61487349,16.0790101 7.98559639,16.4446667 8.44295783,16.4446667 C8.90031928,16.4446667 9.27104217,16.0790101 9.27104217,15.627899 L9.27104217,13.9515354 C9.70075301,13.6812323 9.98668072,13.207899 9.98668072,12.667899\", id: \"Fill-5\", fill: \"#111214\" })),\n react_1.default.createElement(\"circle\", { stroke: \"#D0DBFE\", cx: \"23\", cy: \"23\", r: \"23\" }),\n react_1.default.createElement(\"circle\", { fill: \"#FF0566\", cx: \"40\", cy: \"8\", r: \"4\" }))))); };\nvar UnlockedIcon = function () { return (react_1.default.createElement(\"svg\", { width: \"45px\", height: \"45px\", viewBox: \"0 0 48 48\" },\n react_1.default.createElement(\"g\", { stroke: \"none\", strokeWidth: \"1\", fill: \"none\", fillRule: \"evenodd\" },\n react_1.default.createElement(\"g\", { transform: \"translate(1.000000, 1.000000)\" },\n react_1.default.createElement(\"g\", { transform: \"translate(15.000000, 11.000000)\" },\n react_1.default.createElement(\"path\", { d: \"M15.167912,19.9519192 L1.71804458,19.9519192 C0.769116867,19.9519192 2.04819277e-05,19.1933333 2.04819277e-05,18.2573737 L2.04819277e-05,9.31353535 C2.04819277e-05,8.37777778 0.769116867,7.6189899 1.71804458,7.6189899 L15.167912,7.6189899 C16.1166349,7.6189899 16.8859361,8.37777778 16.8859361,9.31353535 L16.8859361,18.2573737 C16.8859361,19.1933333 16.1166349,19.9519192 15.167912,19.9519192 Z\", stroke: \"#111214\" }),\n react_1.default.createElement(\"path\", { d: \"M12.8603976,2.88810101 C12.1326747,1.19092929 10.4287831,2.02020202e-05 8.44306024,2.02020202e-05 L8.44285542,2.02020202e-05 C5.79515663,2.02020202e-05 3.6486506,2.11719192 3.6486506,4.72870707 L3.6486506,7.6190101\", stroke: \"#111214\" }),\n react_1.default.createElement(\"path\", { d: \"M9.98674217,12.667899 C9.98674217,11.8268889 9.29547711,11.1452727 8.44281446,11.1452727 C7.59035663,11.1452727 6.89909157,11.8268889 6.89909157,12.667899 C6.89909157,13.207899 7.18501928,13.6812323 7.61473012,13.9515354 L7.61473012,15.627899 C7.61473012,16.0790101 7.98565783,16.4446667 8.44301928,16.4446667 C8.9001759,16.4446667 9.27110361,16.0790101 9.27110361,15.627899 L9.27110361,13.9515354 C9.70081446,13.6812323 9.98674217,13.207899 9.98674217,12.667899\", fill: \"#111214\" })),\n react_1.default.createElement(\"circle\", { stroke: \"#D0DBFE\", cx: \"23\", cy: \"23\", r: \"23\" }),\n react_1.default.createElement(\"circle\", { fill: \"#4DE2C1\", cx: \"40\", cy: \"8\", r: \"4\" }))))); };\nvar LockIcon = styled_1.default.i(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n width: 45px;\\n height: 45px;\\n cursor: pointer;\\n transition: opacity 0.2s;\\n\\n &:hover {\\n opacity: 0.5;\\n }\\n\"], [\"\\n width: 45px;\\n height: 45px;\\n cursor: pointer;\\n transition: opacity 0.2s;\\n\\n &:hover {\\n opacity: 0.5;\\n }\\n\"])));\nexports.Lock = function (_a) {\n var lock = _a.lock;\n var _b = react_1.useState(false), locked = _b[0], setLocked = _b[1];\n return (react_1.default.createElement(LockIcon, { onClick: function (e) {\n setLocked(!locked);\n } }, locked ? react_1.default.createElement(LockedIcon, null) : react_1.default.createElement(UnlockedIcon, null)));\n};\nvar templateObject_1;\n","\"use strict\";\nvar __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar styled_1 = __importDefault(require(\"@emotion/styled\"));\nexports.Divider = styled_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n position: \", \";\\n width: 100%;\\n height: 0px;\\n border-bottom: 1px solid #dde5fe;\\n\"], [\"\\n position: \", \";\\n width: 100%;\\n height: 0px;\\n border-bottom: 1px solid #dde5fe;\\n\"])), function (p) { return p.position || \"initial\"; });\nvar templateObject_1;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar loadingSpinner_1 = require(\"./loadingSpinner\");\nexports.NetworkActivity = function (_a) {\n var showActivity = _a.showActivity, isActive = _a.isActive;\n if (showActivity && isActive) {\n return react_1.default.createElement(loadingSpinner_1.LoadingSpinner, null);\n }\n return null;\n};\n","\"use strict\";\nvar __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar emotion_1 = require(\"emotion\");\nvar styled_1 = __importDefault(require(\"@emotion/styled\"));\nvar lineWeight = 5;\nvar dualRingAnimation = emotion_1.keyframes(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n 0% {\\n transform: rotate(0deg);\\n }\\n 100% {\\n transform: rotate(360deg);\\n }\\n\"], [\"\\n 0% {\\n transform: rotate(0deg);\\n }\\n 100% {\\n transform: rotate(360deg);\\n }\\n\"])));\nvar Ring = styled_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n display: inline-block;\\n width: \", \"px;\\n height: \", \"px;\\n animation: 1.2s linear infinite;\\n\\n &:after {\\n content: \\\"\\\";\\n display: block;\\n width: \", \"px;\\n height: \", \"px;\\n\\n border-radius: 50%;\\n border: \", \"px solid \", \";\\n border-color: \", \" transparent \", \" transparent;\\n animation: \", \" 1.2s linear infinite;\\n }\\n\"], [\"\\n display: inline-block;\\n width: \", \"px;\\n height: \", \"px;\\n animation: 1.2s linear infinite;\\n\\n &:after {\\n content: \\\"\\\";\\n display: block;\\n width: \", \"px;\\n height: \", \"px;\\n\\n border-radius: 50%;\\n border: \", \"px solid \", \";\\n border-color: \", \" transparent \", \" transparent;\\n animation: \", \" 1.2s linear infinite;\\n }\\n\"])), function (p) { return p.size; }, function (p) { return p.size; }, function (p) { return p.size - lineWeight * 2; }, function (p) { return p.size - lineWeight * 2; }, lineWeight, function (p) { return p.color; }, function (p) { return p.color; }, function (p) { return p.color; }, dualRingAnimation);\nvar SpinContainer = styled_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n width: 100%;\\n height: 100%;\\n\"], [\"\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n width: 100%;\\n height: 100%;\\n\"])));\nexports.LoadingSpinner = function (_a) {\n var _b = _a.size, size = _b === void 0 ? 36 : _b, _c = _a.color, color = _c === void 0 ? \"#ff0063\" : _c;\n return (react_1.default.createElement(SpinContainer, null,\n react_1.default.createElement(Ring, { size: size, color: color })));\n};\nvar templateObject_1, templateObject_2, templateObject_3;\n","/**\n * Element.closest() polyfill\n * https://developer.mozilla.org/en-US/docs/Web/API/Element/closest#Polyfill\n */\nif (!Element.prototype.closest) {\n if (!Element.prototype.matches) {\n Element.prototype.matches =\n (Element.prototype as any).msMatchesSelector ||\n Element.prototype.webkitMatchesSelector;\n }\n Element.prototype.closest = function(s) {\n var el = this;\n var ancestor = this;\n if (!document.documentElement.contains(el)) return null;\n do {\n if (ancestor.matches(s)) return ancestor;\n ancestor = ancestor.parentElement;\n } while (ancestor !== null);\n return null;\n };\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Module_1 = require(\"./Module\");\nvar Connection_1 = require(\"./Connection\");\nvar Block_1 = require(\"./Block\");\nvar Media_1 = require(\"./Media\");\nvar Theme_1 = require(\"./Theme\");\nvar FontFamily_1 = require(\"./FontFamily\");\nvar Client = /** @class */ (function () {\n function Client(base) {\n this.connection = new Connection_1.Connection(base);\n this.module = Module_1.CreateModuleEndpoint({ connection: this.connection });\n this.blocks = Block_1.CreateBlockEndpoint({ connection: this.connection });\n this.files = Media_1.CreateFileEndpoint({ connection: this.connection });\n this.themes = Theme_1.CreateThemeEndpoint({ connection: this.connection });\n this.fonts = FontFamily_1.CreateFontFamilyEndpoint({ connection: this.connection });\n }\n return Client;\n}());\nexports.Client = Client;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ApiError = /** @class */ (function (_super) {\n __extends(ApiError, _super);\n function ApiError(message, err) {\n var _this = _super.call(this, message) || this;\n _this.err = err;\n return _this;\n }\n ApiError.prototype.Error = function () {\n return this.err;\n };\n return ApiError;\n}(Error));\nexports.ApiError = ApiError;\nexports.ErrorHandler = function (resp) {\n if (resp.redirected) {\n console.log(resp);\n window.top.location = resp.headers.get('Location');\n }\n if (!resp.ok) {\n if (resp.status === 400 || resp.status === 401 || resp.status === 403 || resp.status === 404) {\n return resp.json().then(function (err) {\n throw new ApiError(\"whoops \" + resp.status + \": \" + resp.statusText, err);\n });\n }\n else {\n throw new ApiError(resp.statusText, {\n message: 'Sever is down',\n });\n }\n }\n return resp;\n};\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar transformFile = function (d) { return new CFile(d); };\nexports.CreateFileEndpoint = function (opts) {\n var connection = opts.connection;\n return {\n set: function (obj, projectId) {\n return __awaiter(this, void 0, void 0, function () {\n var formData, files;\n return __generator(this, function (_a) {\n formData = new FormData();\n files = Array.from(obj);\n files.forEach(function (file) {\n formData.append('file', file);\n formData.append('name', file.name);\n });\n if (projectId) {\n formData.append('project_id', projectId);\n }\n return [2 /*return*/, connection.postRaw('/api/v2/media', formData).then(transformFile)];\n });\n });\n },\n };\n};\nvar CFile = /** @class */ (function () {\n function CFile(props) {\n // console.log(props);\n var data = props;\n this.id = data.file.id;\n this.name = data.file.name;\n this.url = data.url;\n }\n return CFile;\n}());\nexports.CFile = CFile;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar transformFontFamilies = function (d) {\n var families = [];\n d.data.map(function (f) {\n var name = f.attributes.name;\n var id = f.id;\n var fonts = f.relationships.fonts.data.map(function (ff) {\n var font = d.included.find(function (t) { return t.type === ff.type && t.id === ff.id; });\n return new Font(font.attributes);\n });\n var family = new FontFamily({ name: name, fonts: fonts, id: id });\n families.push(family);\n });\n return families;\n};\nexports.CreateFontFamilyEndpoint = function (opts) {\n var connection = opts.connection;\n return {\n get: function (ref) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, connection.get(ref).then(transformFontFamilies)];\n });\n });\n },\n };\n};\nvar FontFamily = /** @class */ (function () {\n function FontFamily(props) {\n this.name = props.name;\n this.id = props.id;\n this.fonts = props.fonts;\n }\n return FontFamily;\n}());\nexports.FontFamily = FontFamily;\nvar Font = /** @class */ (function () {\n function Font(props) {\n this.id = props.id;\n this.weight = props.weight;\n this.style = props.style;\n this.url = props.url;\n }\n return Font;\n}());\nexports.Font = Font;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar BlockType;\n(function (BlockType) {\n BlockType[\"Accordion\"] = \"Accordion\";\n BlockType[\"AccordionField\"] = \"AccordionField\";\n BlockType[\"AccordionHeader\"] = \"AccordionHeader\";\n BlockType[\"AccordionBody\"] = \"AccordionBody\";\n})(BlockType = exports.BlockType || (exports.BlockType = {}));\n","module.exports = __webpack_public_path__ + \"images/whoopsBrowserIncompatible.png\";","module.exports = __webpack_public_path__ + \"images/Carousel_Placeholder.png\";","module.exports = __webpack_public_path__ + \"images/clickNReveal_default.png\";","module.exports = __webpack_public_path__ + \"images/Correct_loop.gif\";","module.exports = __webpack_public_path__ + \"images/Incorrect_loop.gif\";","module.exports = __webpack_public_path__ + \"images/Attempt.svg\";","module.exports = __webpack_public_path__ + \"images/Incorrect_default.svg\";","module.exports = __webpack_public_path__ + \"images/FlipCard_loop.gif\";","module.exports = __webpack_public_path__ + \"images/Media_default.svg\";","module.exports = __webpack_public_path__ + \"images/Media_loop.gif\";","module.exports = __webpack_public_path__ + \"images/MultiChoice_loop.gif\";","import { Store } from 'redux';\nimport { ApplicationState } from './store';\nimport mockBlocks from 'mockBlocks';\nimport moduleBlocks from 'moduleBlocks';\n\nconst STORAGE_KEY = 'chameleon_v2';\n\nif (window.location.hash.match('clear')) {\n const location = window.location.href.replace(/#.*$/, '');\n\n sessionStorage.clear();\n localStorage.clear();\n\n window.open(location, '_self');\n // window.close();\n}\n\nexport const saveState = (store: Store) => () => {\n const state = { ...store.getState() };\n\n // Clear the undesired properties from the store\n delete state.focusedNodeId;\n delete state.lastFocusedNodeId;\n delete state.currentInteractionBlockId;\n\n // TODO: use this as ' bookmarking '\n // to be moved to someplace else\n // delete state.currentTopic;\n\n delete state.interactionsSeen;\n delete state.interactionsOpen;\n\n localStorage.setItem(STORAGE_KEY, JSON.stringify(state));\n};\n\nexport const clearState = () => {};\n\nexport const getState = (): ApplicationState => {\n if (window.savedStore) {\n const s = { ...window.savedStore };\n if (s.theme && Object.keys(s.theme).length <= 0) {\n delete s.theme;\n }\n return s;\n }\n return undefined;\n //return JSON.parse(localStorage.getItem('chameleon_v2')) as ApplicationState;\n};\n\nexport const getLocalState = (): ApplicationState => {\n return JSON.parse(localStorage.getItem('chameleon_v2')) as ApplicationState;\n};\n\ntype Callable = () => void;\n\nexport const watch = (store: Store): Callable => {\n let deBounce;\n\n const unsubscribe = store.subscribe(() => {\n clearTimeout(deBounce);\n deBounce = setTimeout(saveState(store), 250);\n });\n\n return unsubscribe;\n};\n","import uuid from 'uuidv4';\nimport { Block, cloneBlock } from '@chameleoncreator/creator-app';\n\nexport const createBlock = (\n type: string,\n children: Block[] = [],\n extra: any = {}\n): Block => {\n return {\n id: uuid(),\n type: type,\n props: extra.props,\n meta: extra.meta,\n animator: extra.animator,\n children: children,\n };\n};\n\nconst reorder = (list: any[], startIndex: number, endIndex: number): any[] => {\n const reordered = [...list];\n const [removed] = reordered.splice(startIndex, 1);\n reordered.splice(endIndex, 0, removed);\n\n return reordered;\n};\n\nexport const reorderChildren = (\n block: Block,\n startIndex: number,\n endIndex: number\n): Block => {\n if (Array.isArray(block.children)) {\n const newBlock = cloneBlock(block);\n newBlock.children = reorder(block.children, startIndex, endIndex);\n return newBlock;\n }\n return block;\n};\n","import { ApplicationState } from '../store/store';\nimport {\n Block,\n Blocks,\n BlockList,\n} from '@chameleoncreator/creator-app/build/utils/block';\n\nexport const getBlock = (blocks: Blocks, id: string): Block => {\n return blocks[id];\n};\n\nexport const getBlockFromState = (state: ApplicationState, id: string): Block =>\n getBlock(state.blocks, id);\n\nexport type Selector = (block: Block) => boolean;\n\nexport const findBlocks = (blocks: Blocks, selector: Selector): Block[] => {\n const keys = Object.keys(blocks).filter(k => {\n return selector(blocks[k]);\n });\n\n return keys.map(k => blocks[k]).filter(i => i);\n};\n\n// using a BFS search filter blocks down to a single new root block provided\nexport const findBlocksIn = (\n blocks: Blocks,\n block: Block,\n selector: Selector\n): Block[] => {\n let toVisit = [];\n let discovered = [];\n\n // Find all initial block children as \"seeds\".\n if (block && block.children && Array.isArray(block.children)) {\n block.children.forEach(k => {\n toVisit.push(k.id);\n discovered.push(k.id);\n });\n }\n\n for (var i = 0; toVisit.length > 0; i++) {\n const b = blocks[toVisit.shift()];\n if (b && b.children && Array.isArray(b.children)) {\n b.children.forEach(k => {\n toVisit.push(k.id);\n discovered.push(k.id);\n });\n }\n }\n\n const keys = discovered.filter(k => {\n return selector(blocks[k]);\n });\n\n return keys.map(k => blocks[k]);\n};\n\nconst getBlockChildren = (blocks: Blocks, block: Block): Blocks => {\n if (Array.isArray(block.children)) {\n // turn block children from refs into blocks\n const blockList = [];\n\n block.children.forEach(block => {\n if (block.type === 'Ref') {\n blockList.push(blocks[block.id]);\n } else {\n blockList.push(block);\n }\n });\n\n // turn an array of blocks into object of blocks and include all the blocks\n // children\n return blockList.reduce((acc, cur) => {\n if (!cur) {\n return acc;\n }\n\n return {\n ...acc,\n ...{ [cur.id]: cur },\n ...getBlockChildren(blocks, cur),\n };\n }, {});\n }\n // no block children, just return an empty object\n return {};\n};\n\nexport const filterToNewRoot = (blocks: Blocks, rootBlock: Block): Blocks => {\n return getBlockChildren(blocks, rootBlock);\n};\n\nexport const getAllTopics = (blocks: Blocks): BlockList => {\n const keys = Object.keys(blocks).filter(k => {\n return blocks[k].type === 'Topic';\n });\n\n return keys.map(k => blocks[k]).filter(i => i);\n};\n\nexport const getTopicGroup = (blocks: Blocks): Block => {\n let groupBlock: Block;\n\n const possibleGroups = findBlocks(\n blocks,\n b => b.meta && b.meta.subType === 'Topic'\n );\n\n if (possibleGroups.length === 1) {\n groupBlock = possibleGroups[0];\n } else {\n throw new Error('Multiple AnimationGroups found in list');\n }\n\n return groupBlock;\n};\n\nexport const getTopicInteractionGroup = (\n blocks: Blocks,\n block: Block\n): Block => {\n if (block.type !== 'Topic') {\n throw new Error(\n `Must provide a block of type: Topic; type \"${block.type}\" provided instead`\n );\n }\n\n let groupBlock: Block;\n const newRootBlockList = filterToNewRoot(blocks, block);\n const possibleGroups = findBlocks(\n newRootBlockList,\n b => b.meta && b.meta.subType === 'Interaction'\n );\n\n if (possibleGroups.length === 1) {\n groupBlock = possibleGroups[0];\n } else {\n throw new Error('Multiple AnimationGroups found in list');\n }\n\n return groupBlock;\n};\n\nexport const getTopicGroupFromState = (state: ApplicationState) =>\n getTopicGroup(state.blocks);\n\nexport const getTopicsFromGroup = (\n state: ApplicationState,\n topicGroup: Block\n): BlockList => {\n if (Array.isArray(topicGroup.children)) {\n return topicGroup.children\n .map(c => {\n return state.blocks[c.id];\n })\n .filter(i => i);\n }\n};\n\nexport const getInteractionsFromTopicAndState = (\n state: ApplicationState,\n topic: Block\n): BlockList => {\n const interactionGroup = getTopicInteractionGroup(state.blocks, topic);\n if (interactionGroup && Array.isArray(interactionGroup.children)) {\n return interactionGroup.children\n .map(c => {\n return state.blocks[c.id];\n })\n .filter(i => i);\n }\n};\n\nexport const getAllInteractions = (state: ApplicationState): BlockList => {\n return getAllTopics(state.blocks)\n .map((topic: Block) => getInteractionsFromTopicAndState(state, topic))\n .reduce((acc, cur) => [...acc, ...cur], []);\n};\n\nexport const getAllTopicsOrdered = (blocks: Blocks): BlockList => {\n let groupBlock: Block;\n\n const possibleGroups = findBlocks(\n blocks,\n b => b.meta && b.type == 'AnimationGroup' && b.meta.subType === 'Topic'\n );\n\n if (possibleGroups.length === 1) {\n groupBlock = possibleGroups[0];\n } else {\n throw new Error('Multiple AnimationGroups found in list');\n }\n\n return (groupBlock.children as Block[])\n .map((k: Block) => blocks[k.id])\n .filter(i => i);\n};\n\nexport const getAllInteractionsOrdered = (\n state: ApplicationState\n): BlockList => {\n return getAllTopicsOrdered(state.blocks)\n .map((topic: Block) => getInteractionsFromTopicAndState(state, topic))\n .reduce((acc, cur) => [...acc, ...cur], []);\n};\n\nexport const isRefBlock = (block: Block): boolean => {\n return block.type === 'Ref';\n};\n","import getStore from 'services/getStore';\nimport { getBlockFromState } from 'selectors/block';\n\nexport default id => getBlockFromState(getStore().getState(), id);\n","import getStore from 'services/getStore';\nimport { getTopicGroupFromState, getTopicsFromGroup } from 'selectors/block';\n\n// export default () => {\n// const state = getStore().getState();\n// return getTopicsFromGroup(state, getTopicGroupFromState(state));\n// };\n\nexport default () => {\n const store = getStore && getStore();\n\n if (store) {\n const state = store.getState();\n if (state) {\n return getTopicsFromGroup(state, getTopicGroupFromState(state));\n }\n }\n\n return [];\n};\n","import getStore from 'services/getStore';\nimport getTopics from 'services/apiHelpers/getTopics';\n\nexport default () => {\n const state = getStore().getState();\n\n return getTopics().find(t => t.id === state.currentTopic);\n};\n","import getStore from 'services/getStore';\nimport getCurrentTopic from 'services/apiHelpers/getCurrentTopic';\nimport { getBlock, getInteractionsFromTopicAndState } from 'selectors/block';\n\nexport default (topic = null) => {\n const state = getStore().getState();\n const block = getBlock(state.blocks, topic ? topic.id : getCurrentTopic().id);\n const interactions = getInteractionsFromTopicAndState(state, block);\n\n return interactions;\n};\n","import getTopics from 'services/apiHelpers/getTopics';\nimport getInteractionsInTopic from 'services/apiHelpers/getInteractionsInTopic';\n\nexport default () =>\n getTopics().reduce((acc, curr) => {\n return [...acc, ...getInteractionsInTopic(curr).map(i => i.id)];\n }, []);\n","import {\n Block,\n Blocks,\n cloneBlock,\n BlockList,\n} from '@chameleoncreator/creator-app';\nimport getBlockById from 'services/apiHelpers/getBlockById';\nimport uuid from 'uuidv4';\nimport { findBlocksIn } from 'selectors/block';\nimport getAllInteractionsOfType from 'services/apiHelpers/getAllInteractionsOfType';\nimport getTopics from 'services/apiHelpers/getTopics';\nimport getAllInteractions from 'services/apiHelpers/getAllInteractions';\nimport getStore from 'services/getStore';\n\nexport const flatten = (block: Block): [Blocks, string] => {\n let blocks: Blocks = {};\n const rootBlockId = block.id;\n const rootBlock = cloneBlock(block);\n blocks[rootBlockId] = rootBlock;\n\n if (Array.isArray(rootBlock.children)) {\n rootBlock.children.forEach(child => {\n if (child.type === 'Ref') {\n return;\n }\n\n const [childBlocks] = flatten(child);\n blocks = {\n ...blocks,\n ...childBlocks,\n };\n });\n }\n\n makeReference(blocks);\n\n return [blocks, rootBlockId];\n};\n\nexport const makeReference = (blocks: Blocks) => {\n Object.keys(blocks).forEach(k => {\n const children = blocks[k].children;\n if (Array.isArray(children)) {\n let c = children.map(child => ({ id: child.id, type: 'Ref' })) as Block[];\n blocks[k].children = c;\n }\n });\n};\n\n// TODO: Remove this function it is DANGEROUS because block is a JS REFERENCE POINTER\nexport const expand = (blocks: Blocks, block: Block): Block => {\n let b;\n\n if (block.type === 'Ref') {\n const fetchedBlock = blocks[block.id];\n b = cloneBlock(fetchedBlock);\n } else {\n b = cloneBlock(block);\n }\n if (b.children && Array.isArray(b.children)) {\n b.children = b.children.map(c => expand(blocks, c));\n }\n\n return b;\n};\n\nexport const expandBlock = (blocks: Blocks) => (block: Block): Block => {\n return expand(blocks, block);\n};\n\n// Using the known interactions, create a duplicated interactions name.\nexport const makeInteractionName = (\n type: string,\n dupCtx: duplicationCtx\n): string => {\n const iMap = {\n TextAndImage: 'Media',\n DragAndDrop: 'Matching',\n };\n\n const typeName = iMap[type] || type;\n\n const prevDuplicationOfType = dupCtx.interactionDuplications[type] || 0;\n const totalTypeCount =\n getAllInteractionsOfType(type).length + prevDuplicationOfType;\n\n return `${typeName} #${totalTypeCount + 1}`;\n};\n\n// TODO: Change duplicate block to use block provided duplicate function\n// Take a single block and return a new block with all the appropriate data updated correctly\nexport const duplicateBlock = (\n block: Block,\n dupCtx: duplicationCtx,\n index?: number\n): Block => {\n // Clone Block\n const nextBlock = cloneBlock(block);\n\n // Reset ID (uuidv4())\n nextBlock.id = uuid();\n\n // Update relevant data within a block\n switch (block.type) {\n case 'Topic':\n nextBlock.props.name = `Topic #${getTopics().length + 1}`;\n\n // update with new sId\n nextBlock.props.sId = getSId('topic'); // uuid();\n\n break;\n\n case 'Interaction':\n nextBlock.props.name = makeInteractionName(\n nextBlock.meta.subType,\n dupCtx\n );\n\n // update with new sId\n const nextSId = getSId('interaction');\n // console.log(nextSId, index, nextSId + index);\n nextBlock.props.sId =\n index === undefined ? nextSId : nextSId + (index - 1); // uuid();\n\n dupCtx.interactionDuplications[block.meta.subType] =\n (dupCtx.interactionDuplications[block.meta.subType] || 0) + 1;\n break;\n // By default do nothing\n default:\n }\n\n // console.log(dupCtx);\n\n // Return new block\n return nextBlock;\n};\n\ninterface duplicationCtx {\n interactionDuplications: { [key: string]: number };\n}\n\n// Give a root block and all the blocks that we know about, duplicate a tree of blocks and return them\n// see selectors/block.ts for function findBlocksIn() using identity selector\nexport const duplicateBlocks = (\n root: Block,\n blocks: Blocks\n): [Blocks, string] => {\n // Create a duplication context. This is an object that keeps information relevant to this call\n // to duplicate. It is like temporary shared state, but shared by an object reference\n const dupCtx: duplicationCtx = {\n interactionDuplications: {},\n };\n\n // Find a list of all the blocks that use the provided root\n const list: Block[] = findBlocksIn(blocks, root, () => true);\n\n // create map for old to new ids\n const idMap: { [key: string]: string } = {};\n\n // Loop through all the blocks and duplicate them\n const nextBlocks: BlockList = [];\n list.forEach((b, index) => {\n const nextBlock = duplicateBlock(b, dupCtx, index);\n nextBlocks.push(nextBlock);\n idMap[b.id] = nextBlock.id;\n });\n\n // Loop through all the blocks a second time to update child refs\n const finalBlocksList = nextBlocks.map(child => {\n if (Array.isArray(child.children)) {\n child.children = child.children.map(ref => {\n return {\n type: 'Ref',\n id: idMap[ref.id],\n };\n });\n }\n return child;\n });\n\n // Update reference ID's\n const finalBlocks = finalBlocksList.reduce((accu: Blocks, curr: Block) => {\n accu[curr.id] = curr;\n return accu;\n }, {} as Blocks);\n\n // Duplicate provided root block\n const newRoot = duplicateBlock(root, dupCtx);\n if (Array.isArray(newRoot.children)) {\n newRoot.children = newRoot.children.map(ref => {\n return {\n type: 'Ref',\n id: idMap[ref.id],\n };\n });\n }\n\n // Add the new root to the object of\n finalBlocks[newRoot.id] = newRoot;\n\n // Return the new blocks\n return [finalBlocks, newRoot.id];\n};\n\nexport const getSId = type => {\n const list =\n type === 'topic'\n ? getTopics()\n : getAllInteractions().map(i => getBlockById(i));\n\n // console.log(list);\n\n let SIds = list.map((entry: any) => entry.props.sId);\n\n if (!SIds.length) {\n SIds = [0];\n }\n\n const nextSId = Math.max(...SIds) + 1;\n // console.log({ nextSId });\n\n return nextSId;\n};\n","import { createBlock } from './block';\nimport { Block, } from '@chameleoncreator/creator-app';\n\ninterface SCORMProps {\n shouldSendScoreWhen: string\n moduleCompleteInterationRequirement: string\n moduleCompleteScoreRequirement: boolean\n}\n\nexport const createScorm = (props: SCORMProps = {\n shouldSendScoreWhen: \"NEVER\",\n moduleCompleteInterationRequirement: \"allInteractionsSeen\",\n moduleCompleteScoreRequirement: false,\n}): Block => {\n return createBlock(\n 'SCORM',\n [],\n {\n props: {\n shouldSendScoreWhen: props.shouldSendScoreWhen,\n moduleCompleteInterationRequirement: props.moduleCompleteInterationRequirement,\n moduleCompleteScoreRequirement: props.moduleCompleteScoreRequirement\n },\n }\n );\n};","import {\n NextState,\n TrackerState,\n setErrorAction,\n setAPIErrorAction,\n} from './next';\nimport { Dispatch } from 'redux';\n\nimport * as Sentry from '@sentry/browser';\n\ninterface Callable {\n (dispatch: Dispatch, getState: () => NextState): Promise;\n}\n\nexport const queue = (fn: Callable): Callable => {\n let run = [false, false];\n\n let runner: Callable = async (\n dispatch: Dispatch,\n getState: () => NextState\n ): Promise => {\n let [isRunning] = run;\n\n if (isRunning) {\n run = [true, true];\n return;\n }\n\n let next = true;\n while (next) {\n run = [true, false];\n await fn(dispatch, getState);\n\n let [_, runAgain] = run;\n if (!runAgain) {\n next = false;\n }\n }\n\n run = [false, false];\n };\n\n return runner;\n};\n\nexport const mirror: Callable = async (\n dispatch,\n getState\n): Promise => {\n // Get the current tracker state\n const state = getState();\n const tracker = state.tracker;\n const blocks = state.blocks;\n\n dispatch({type: \"MIRROR_ACTIVE\", data:true})\n\n // Reset the tracker for async saving\n const newTracker = Object.keys(tracker)\n .map(k => {\n switch (tracker[k]) {\n case TrackerState.DIRTY:\n return TrackerState.CLEAN;\n case TrackerState.DELETED:\n return undefined;\n default:\n return TrackerState.CLEAN;\n }\n })\n .filter(r => !r);\n\n dispatch({\n type: 'SET_TRACKER',\n data: newTracker,\n });\n\n // SAVE and DELETE changes in tracker\n const toUpdate = Object.keys(tracker).filter(\n k => tracker[k] !== TrackerState.CLEAN\n );\n\n const toSet = toUpdate\n .filter(k => tracker[k] !== TrackerState.CLEAN)\n .map(k => blocks[k])\n .filter(b => b)\n .map(b => {\n if (tracker[b.id] === TrackerState.DELETED) {\n b.__delete = true;\n b.project_id = state.projectId;\n return b;\n } else {\n b.__isSaving = true;\n b.project_id = state.projectId;\n return b;\n }\n });\n\n let stop = false;\n\n await window.client.blocks\n .setMany(toSet, state.projectId)\n .then(result => {\n if (Array.isArray(result)) {\n result.forEach(b => {\n if (b.deleted_at) {\n // remove\n dispatch({ type: 'REMOVE_BLOCK_LOCAL', data: b });\n } else {\n // maybe validate\n }\n });\n }\n })\n .catch(err => {\n Sentry.withScope(scope => {\n scope.setExtra('message', err.err);\n Sentry.captureException(err);\n });\n\n dispatch(setAPIErrorAction(err));\n\n // RESTORE TRACKER\n const currentStore = getState();\n const currrentTracker = currentStore.tracker;\n\n const nextTracker = { ...tracker };\n Object.keys(currrentTracker).forEach(k => {\n switch (currrentTracker[k]) {\n case TrackerState.DELETED: {\n nextTracker[k] = TrackerState.DELETED;\n break;\n }\n case TrackerState.DIRTY: {\n nextTracker[k] = TrackerState.DIRTY;\n break;\n }\n default:\n break;\n }\n });\n\n dispatch({\n type: 'SET_TRACKER',\n data: nextTracker,\n });\n });\n\n dispatch({type: \"MIRROR_ACTIVE\", data:false})\n\n return true;\n};\n\nexport const Mirror = queue(mirror);\n","import { combineReducers, createStore, applyMiddleware, compose } from 'redux';\nimport thunk from 'redux-thunk';\nimport { Block, Blocks } from '@chameleoncreator/creator-app';\nimport { watch, getState, getLocalState } from './localStore';\nimport { createModule } from 'factories/module';\nimport { flatten } from 'factories/utils';\nimport { getTopicGroup, findBlocksIn } from 'selectors/block';\nimport { getInteractionsFromTopicAndState } from 'selectors/block';\nimport * as Sentry from '@sentry/browser';\nimport ReactGA from 'react-ga';\nimport { Mirror } from './mirror';\n\nimport mockBlocks from 'mockBlocks';\nimport moduleBlocks from 'moduleBlocks';\n\nexport enum TrackerState {\n DIRTY,\n CLEAN,\n DELETED,\n}\n\nexport interface Tracker {\n [key: string]: TrackerState;\n}\n\ninterface Timing {\n firstLoad: number;\n complete: number;\n buttonClick: { [key: string]: number };\n}\n\nexport interface Report {\n key?: number;\n id: string;\n question?: string | undefined;\n reportable: 'multichoice' | 'sortation';\n type: string;\n response: string;\n result: 0 | 1;\n}\n\nexport interface NextState {\n customFonts: any[];\n focusedNodeId: string | null;\n lastFocusedNodeId: string | null;\n currentInteractionBlockId: string | null;\n interactionsSeen: string[];\n interactionsLocked: string[];\n interactionsOpen: string[];\n\n currentInteraction: string;\n isScrolling: boolean;\n\n currentTopic: string;\n rootBlockId: string;\n projectId: string;\n blocks: { [key: string]: Block };\n hasError: boolean;\n error: any;\n tracker: Tracker;\n apiError: { count: number; err: any };\n mirrorActive: boolean;\n scormSettings: {\n setCompleteWhenAllPagesViewed: boolean;\n setCompleteFromScore: boolean;\n setCompleteOnExit: boolean;\n passMark: number;\n };\n userBehaviour: {\n score: { [key: string]: 0 | 1 };\n interactionTiming: { [key: string]: Timing };\n scormResponses: {\n [key: string]: Report;\n };\n };\n theme: {\n userPalette: any[];\n fontFamily: string;\n fontFamilies: any[];\n recoloredChameleonImages: any;\n //colors\n backgroundColor: string;\n headerBackgroundColor: string;\n headerTextColor: string;\n textColor: string;\n buttonTextColor: string;\n // buttonBorderColor: 'transparent',\n buttonBackgroundColor: string;\n //design\n buttonShape: string;\n buttonShadow: boolean;\n buttonOutline: boolean;\n buttonBorderRadius: number;\n progressBar: boolean;\n topicMenu: boolean;\n highContrast: boolean;\n };\n}\n\nconst initialState = {\n customFonts: [],\n focusedNodeId: undefined,\n lastFocusedNodeId: undefined,\n currentInteractionBlockId: undefined,\n\n currentInteraction: undefined,\n isScrolling: false,\n\n currentTopic: undefined,\n interactionsSeen: [],\n interactionsLocked: [],\n interactionsOpen: [],\n scormSettings: {\n setCompleteWhenAllPagesViewed: true,\n setCompleteFromScore: false,\n setCompleteOnExit: false,\n passMark: 80,\n },\n theme: {\n userPalette: [],\n fontFamily: '',\n fontFamilies: [],\n recoloredChameleonImages: {},\n //colors\n backgroundColor: '#fff',\n headerBackgroundColor: '#fff',\n headerTextColor: '#060709',\n textColor: '#060709',\n buttonTextColor: '#fff',\n // buttonBorderColor: 'transparent',\n buttonBackgroundColor: '#060709',\n //design\n buttonShape: 'pill',\n buttonShadow: false,\n buttonOutline: false,\n highContrast: false,\n buttonBorderRadius: 0,\n progressBar: true,\n topicMenu: true,\n },\n rootBlockId: undefined,\n projectId: undefined,\n themeId: undefined,\n blocks: {},\n links: {},\n hasError: false,\n error: undefined,\n apiError: { count: 0, err: undefined },\n tracker: {},\n mirrorActive: false,\n userBehaviour: {\n score: {},\n interactionTiming: {},\n scormResponses: {},\n },\n};\n\nconst remoteable = (): boolean => {\n const w = window.hasRemote && window.hasRemote();\n const p = parent.hasRemote && parent.hasRemote();\n return w || p;\n};\n\nconst hasMode = (mode: string): boolean => {\n const w = window.hasMode && window.hasMode(mode);\n const p = parent.hasMode && window.hasMode(mode);\n return w || p;\n};\n\nif (\n !remoteable() // ||\n // true\n) {\n const mod = createModule('Example');\n const [flatMod, rootBlockId] = flatten(mod);\n const cur = (getTopicGroup(flatMod).children[0] as Block).id;\n\n initialState.blocks = flatMod;\n initialState.rootBlockId = rootBlockId;\n initialState.currentTopic = cur;\n}\n\ntype State = NextState;\ntype Action = { type: string; data: { [key: string]: any } };\n\nconst rehydrate = (state: State, { data }: Action): State => {\n return { ...state, ...data };\n};\n\nexport const rehydrateAction = data => ({\n type: 'REHYDRATE',\n data: data,\n});\n\nconst focusBlock = (state: State, { data }: Action): State => {\n const { focusedNodeId, lastFocusedNodeId, currentInteractionBlockId } = state;\n\n const type = data && (state.blocks as any)[data.id].type;\n let updatedCurrentInteractionBlockId =\n type && type === 'Interaction'\n ? data.id\n : !data || data.id === null\n ? null\n : currentInteractionBlockId;\n\n return {\n ...state,\n lastFocusedNodeId: lastFocusedNodeId === '' ? data.id : focusedNodeId,\n focusedNodeId: data ? data.id : null,\n currentInteractionBlockId: updatedCurrentInteractionBlockId,\n };\n};\n\nexport const focusBlockAction = (block: Block) => ({\n type: 'FOCUS_BLOCK',\n data: block,\n});\n\nexport const setFontsAction = (fonts: any[]) => ({\n type: 'SET_FONTS',\n data: fonts,\n});\n\nexport const setFonts = (state: State = initialState, { data }: Action) => {\n return {\n ...state,\n customFonts: data as any,\n };\n};\n\nconst setBlock = (state: State = initialState, { data }: Action): State => {\n const nextState = {\n ...state,\n blocks: { ...state.blocks },\n tracker: { ...state.tracker },\n };\n nextState.blocks[data.id] = data as Block;\n nextState.tracker[data.id] = TrackerState.DIRTY;\n return nextState;\n};\n\nexport const setBlockLocalAction = (block: Block) => {\n return {\n type: 'SET_BLOCK',\n data: block,\n };\n};\n\nexport const setBlockAction = (block: Block): any => {\n return (dispatch, getState) => {\n const s = getState();\n block.project_id = s.projectId;\n block.__isSaving = true;\n\n if (window.location.hostname === 'v2.chameleoncreator.com')\n ReactGA.event({\n category: 'Editor',\n action: 'SetBlock',\n label: `${s.projectId}`,\n nonInteraction: true,\n });\n\n dispatch(setBlockLocalAction(block));\n\n if (remoteable()) {\n Mirror(dispatch, getState);\n }\n };\n};\n\nexport const setErrorAction = err => {\n return {\n type: 'SET_ERROR',\n data: err,\n };\n};\n\nexport const setError = (state: State = initialState, { data }: Action) => {\n return {\n ...state,\n hasError: true,\n error: data,\n };\n};\n\nconst setBlocks = (state: State = initialState, { data }: Action): State => {\n const blocks = data as Blocks;\n const nextState = {\n ...state,\n blocks: { ...state.blocks },\n tracker: { ...state.tracker },\n };\n\n Object.keys(blocks).forEach(id => {\n const block = blocks[id];\n nextState.blocks[block.id] = block;\n nextState.tracker[block.id] = TrackerState.DIRTY;\n });\n\n return nextState;\n};\n\nexport const setBlocksLocalAction = (blocks: Blocks) => {\n return {\n type: 'SET_BLOCKS',\n data: blocks,\n };\n};\n\nexport const setBlocksAction = (blocks: Blocks): any => {\n return async (dispatch, getState) => {\n const s = getState();\n\n const bs = Object.keys(blocks).map(key => {\n blocks[key].__isSaving = true;\n blocks[key].project_id = s.projectId;\n return blocks[key];\n });\n\n const localbs = bs.reduce((acc, b) => {\n acc[b.id] = b;\n return acc;\n }, {});\n\n dispatch(setBlocksLocalAction(localbs));\n\n if (remoteable()) {\n Mirror(dispatch, getState);\n }\n };\n};\n\nconst removeBlockLocal = (\n state: State = initialState,\n { data }: Action\n): State => {\n const nextState = {\n ...state,\n blocks: { ...state.blocks },\n };\n\n delete nextState.blocks[data.id];\n\n return nextState;\n};\n\nconst removeBlock = (state: State = initialState, { data }: Action): State => {\n const nextState = {\n ...state,\n blocks: { ...state.blocks },\n tracker: { ...state.tracker },\n };\n\n nextState.tracker[data.id] = TrackerState.DELETED;\n\n const all = findBlocksIn(nextState.blocks, data as Block, () => true);\n\n all.forEach(b => {\n nextState.tracker[b.id] = TrackerState.DELETED;\n });\n\n return nextState;\n};\n\nexport const removeBlockAction = (block: Block): any => {\n return async (dispatch, getState) => {\n const u = { type: 'REMOVE_BLOCK', data: block };\n dispatch(u);\n\n if (remoteable()) {\n Mirror(dispatch, getState);\n }\n };\n};\n\nconst setCurrentInteraction = (\n state: State = initialState,\n { data }: Action\n): State => {\n return {\n ...state,\n ...(data.updateFocusedNodeId && {\n focusedNodeId: data.id,\n }),\n currentInteraction: data.id,\n };\n};\n\nconst setIsScrolling = (\n state: State = initialState,\n { data }: Action\n): State => {\n return {\n ...state,\n isScrolling: data.isScrolling,\n };\n};\n\nconst setActiveTopic = (\n state: State = initialState,\n { data }: Action\n): State => {\n return {\n ...state,\n currentTopic: data.id,\n };\n};\n\nexport const setLinksAction = (links: any) => {\n return {\n type: 'SET_LINKS',\n data: links,\n };\n};\n\nconst setLinks = (state: State = initialState, { data }: Action) => {\n return {\n ...state,\n links: data,\n };\n};\n\nexport const setCurrentInteractionAction = (\n id: string,\n updateFocusedNodeId\n) => {\n return {\n type: 'SET_CURRENT_INTERACTION',\n data: { id: id, updateFocusedNodeId },\n };\n};\n\nexport const setIsScrollingAction = (isScrolling: boolean) => {\n return {\n type: 'SET_IS_SCROLLING',\n data: { isScrolling },\n };\n};\n\nexport const setActiveTopicAction = (id: string) => {\n return {\n type: 'SET_ACTIVE_TOPIC',\n data: { id: id },\n };\n};\n\nexport const rehydrateFromLMSAction = data => {\n // console.log('rehydrateFromLMSAction :', {\n // data,\n // });\n\n return {\n type: 'REHYDRATE_FROM_LMS',\n data,\n };\n};\n\nconst rehydrateFromLMS = (\n state: State = initialState,\n { data }: Action\n): State => {\n const { interactionsSeen } = data as any;\n\n console.log('rehydratedFromLMS :', {\n data,\n // interactionsSeen,\n });\n\n return {\n ...state,\n ...interactionsSeen,\n } as any;\n};\n\nconst updateInteractionsSeen = (\n state: State = initialState,\n { data }: Action\n): State => {\n const { interactionsSeen = [] } = state as any;\n\n // console.log({ interactionsSeen });\n\n if (Array.isArray(data)) {\n return {\n ...state,\n interactionsSeen: [\n ...Array.from(new Set([...interactionsSeen, ...data])),\n ],\n } as any;\n }\n\n if (interactionsSeen.includes(data.id)) {\n return state;\n } else {\n return {\n ...state,\n interactionsSeen: [...interactionsSeen, data.id],\n } as any;\n }\n};\n\nexport const updateInteractionsOpenAction = (id: string) => {\n // console.log('updateInteractionsOpenAction :', id);\n\n return {\n type: 'UPDATE_INTERACTIONS_OPEN',\n data: id,\n };\n};\n\nconst updateInteractionsOpen = (\n state: State = initialState,\n { data }: Action\n): State => {\n const { blocks, currentTopic, interactionsOpen } = state as any;\n\n // interactions in currentTopic\n // get the next interaction.id based on ( current ) data.id\n // add it to the list. . .\n\n // const block = getBlock(\n // blocks,\n // (Object.values(blocks) as any).find(($: any) => $.id === currentTopic)\n // );\n const interactions = getInteractionsFromTopicAndState(\n state as any,\n (Object.values(blocks) as any).find(($: any) => $.id === currentTopic)\n );\n\n const nextInteraction =\n interactions[interactions.findIndex((i: any) => i.id === data) + 1];\n\n if (!nextInteraction) return state;\n\n const nextInteractionId = nextInteraction && nextInteraction.id;\n\n if (interactionsOpen.includes(nextInteractionId)) {\n return state;\n } else {\n return {\n ...state,\n interactionsOpen: [...interactionsOpen, nextInteractionId],\n } as any;\n }\n};\n\nexport const updateUserPaletteAction = (data): any => {\n return (dispatch, getState) => {\n const n = {\n type: 'UPDATE_USER_PALETTE',\n data,\n };\n\n dispatch(n);\n\n if (remoteable()) {\n const { theme, themeId } = getState();\n const nextTheme = {\n ...theme,\n userPalette: data,\n };\n\n window.client.themes\n .set(`/api/v2/themes/${themeId}`, nextTheme)\n .catch(err => {\n Sentry.withScope(scope => {\n scope.setExtra('message', err.err);\n Sentry.captureException(err);\n });\n dispatch(setErrorAction(err));\n });\n }\n };\n};\n\nexport const updateRecoloredChameleonImagesAction = (data): any => {\n return (dispatch, getState) => {\n const n = {\n type: 'UPDATE_RECOLORED_CHAMELEON_IMAGES',\n data,\n };\n\n dispatch(n);\n\n if (remoteable()) {\n const { theme, themeId } = getState();\n const nextTheme = {\n ...theme,\n recoloredChameleonImages: data,\n };\n\n window.client.themes\n .set(`/api/v2/themes/${themeId}`, nextTheme)\n .catch(err => {\n Sentry.withScope(scope => {\n scope.setExtra('message', err.err);\n Sentry.captureException(err);\n });\n dispatch(setErrorAction(err));\n });\n }\n };\n};\n\nconst updateRecoloredChameleonImages = (\n state: State = initialState,\n { data }: Action\n): State => {\n const nextState = {\n ...state,\n theme: {\n ...(state as any).theme,\n recoloredChameleonImages: {\n ...(state as any).theme.recoloredChameleonImages,\n ...data,\n },\n },\n };\n\n return nextState;\n};\n\nexport const setThemeAction = theme => {\n return {\n type: 'SET_THEME',\n data: theme,\n };\n};\n\nconst setTheme = (state: State = initialState, { data }: Action): State => {\n const nextState = {\n ...state,\n themeId: data.id,\n theme: { ...(state as any).theme, ...data.data },\n };\n\n return nextState;\n};\n\nexport const setThemeIdAction = id => {\n return {\n type: 'SET_THEME_ID',\n data: id,\n };\n};\n\nconst setThemeId = (state: State = initialState, { data }: Action): State => {\n const nextState = {\n ...state,\n themeId: data,\n };\n\n return nextState;\n};\n\nconst updateUserPalette = (\n state: State = initialState,\n { data }: Action\n): State => {\n const nextState = {\n ...state,\n theme: {\n ...(state as any).theme,\n userPalette: data,\n },\n };\n\n return nextState;\n};\n\nexport const updateCourseThemeAction = data => {\n return (dispatch, getState) => {\n const next = {\n type: 'UPDATE_COURSE_THEME',\n data,\n };\n dispatch(next);\n\n if (remoteable()) {\n const { theme, themeId } = getState();\n const nextTheme = {\n ...theme,\n ...data,\n };\n\n window.client.themes\n .set(`/api/v2/themes/${themeId}`, nextTheme)\n .catch(err => {\n Sentry.withScope(scope => {\n scope.setExtra('message', err.err);\n Sentry.captureException(err);\n });\n dispatch(setErrorAction(err));\n });\n }\n };\n};\n\n//\n\nexport const updateScormSettingsAction = scormSettings => {\n return {\n type: 'UPDATE_SCORM_SETTINGS',\n data: scormSettings,\n };\n};\n\nconst updateScormSettings = (\n state: State = initialState,\n { data }: Action\n): State => {\n const nextState = {\n ...state,\n scormSettings: {\n ...(state as any).scormSettings,\n ...data,\n },\n };\n\n return nextState;\n};\n\n//\n\nconst updateCourseTheme = (\n state: State = initialState,\n { data }: Action\n): State => {\n const nextState = {\n ...state,\n theme: {\n ...(state as any).theme,\n ...data,\n },\n };\n\n return nextState;\n};\n\nconst setRootBlock = (state: State = initialState, { data }: Action): State => {\n const nextState = {\n ...state,\n rootBlockId: data as any,\n };\n return nextState;\n};\n\nexport const setRootBlockAction = (id: string) => {\n return {\n type: 'SET_ROOT_BLOCK',\n data: id,\n };\n};\n\nconst setProjectId = (state: State = initialState, { data }: Action): State => {\n const nextState = {\n ...state,\n projectId: data as any,\n };\n\n return nextState;\n};\n\nexport const setProjectIdAction = (id: string) => {\n return {\n type: 'SET_PROJECT_ID',\n data: id,\n };\n};\n\nexport const setAPIErrorAction = err => {\n return {\n type: 'SET_API_ERROR',\n data: err,\n };\n};\n\nconst setAPIError = (state: State = initialState, { data }: Action): State => {\n const nextState = {\n ...state,\n apiError: {\n count: state.apiError.count + 1,\n err: data,\n },\n };\n\n if (nextState.apiError.count >= 3) {\n nextState.hasError = true;\n nextState.error = data;\n }\n\n return nextState;\n};\n\nexport const setTrackerAction = tracker => {\n return {\n type: 'SET_TRACKER',\n data: tracker,\n };\n};\n\nconst setTracker = (state: State = initialState, { data }: Action): State => {\n const nextState = {\n ...state,\n tracker: data,\n };\n\n return nextState;\n};\n\nconst mirrorActive = (state: State = initialState, { data }: Action): State => {\n return {\n ...state,\n mirrorActive: data as any,\n };\n};\n\nexport const loadSuspendDataAction = suspendData => {\n return {\n type: 'LOAD_SUSPEND_DATA',\n data: suspendData,\n };\n};\n\nconst loadSuspendData = (\n state: State = initialState,\n { data }: Action\n): State => {\n return {\n ...state,\n ...{\n interactionsSeen: data.interactionsSeen,\n interactionsLocked: data.interactionsLocked,\n userBehaviour: {\n ...state.userBehaviour,\n ...{\n score: data.score,\n interactionsReporting: data.interactionsReporting,\n },\n },\n },\n };\n};\n\nexport const updateScoreAction = (id: string, score: 0 | 1) => {\n return {\n type: 'UPDATE_SCORE',\n data: { id, score },\n };\n};\n\nconst updateScore = (state: State = initialState, { data }: Action) => {\n return {\n ...state,\n userBehaviour: {\n ...state.userBehaviour,\n score: {\n ...state.userBehaviour.score,\n [data.id]: data.score,\n },\n },\n };\n};\n\nexport const addScormResponseAction = (scormAction: Report) => {\n return {\n type: 'ADD_SCORM_RESPONSE',\n data: scormAction,\n };\n};\n\nconst addScormResponse = (state: State = initialState, { data }: Action) => {\n return {\n ...state,\n userBehaviour: {\n ...state.userBehaviour,\n scormResponses: {\n ...state.userBehaviour.scormResponses,\n [data.id]: data,\n },\n },\n };\n};\n\nconst actionHandlers = {\n REHYDRATE: rehydrate,\n FOCUS_BLOCK: focusBlock,\n SET_BLOCK: setBlock,\n SET_BLOCKS: setBlocks,\n REMOVE_BLOCK: removeBlock,\n REMOVE_BLOCK_LOCAL: removeBlockLocal,\n SET_ACTIVE_TOPIC: setActiveTopic,\n SET_CURRENT_INTERACTION: setCurrentInteraction,\n SET_IS_SCROLLING: setIsScrolling,\n UPDATE_INTERACTIONS_SEEN: updateInteractionsSeen,\n UPDATE_INTERACTIONS_OPEN: updateInteractionsOpen,\n SET_ROOT_BLOCK: setRootBlock,\n SET_PROJECT_ID: setProjectId,\n UPDATE_SCORM_SETTINGS: updateScormSettings,\n UPDATE_USER_PALETTE: updateUserPalette,\n UPDATE_COURSE_THEME: updateCourseTheme,\n SET_THEME: setTheme,\n SET_THEME_ID: setThemeId,\n REHYDRATE_FROM_LMS: rehydrateFromLMS,\n SET_LINKS: setLinks,\n SET_ERROR: setError,\n SET_API_ERROR: setAPIError,\n SET_TRACKER: setTracker,\n MIRROR_ACTIVE: mirrorActive,\n SET_FONTS: setFonts,\n UPDATE_RECOLORED_CHAMELEON_IMAGES: updateRecoloredChameleonImages,\n LOAD_SUSPEND_DATA: loadSuspendData,\n UPDATE_SCORE: updateScore,\n ADD_SCORM_RESPONSE: addScormResponse,\n};\n\n// translate actions into handlers (standard redux reducer)\nexport const reducer = (state: State = initialState, action: Action): State => {\n const handler = actionHandlers[action.type];\n return handler ? handler(state, action) : { ...state };\n};\n\n// create the store from the reducer above\n// const store = createStore(reducer, applyMiddleware(thunk));\n\nconst composeEnhancers =\n window['__REDUX_DEVTOOLS_EXTENSION_COMPOSE__'] || compose;\nconst store = createStore(reducer, composeEnhancers(applyMiddleware(thunk)));\n\n(() => {\n // mockBlocks moduleBlocks\n // return store.dispatch(rehydrateAction(mockBlocks as any));\n\n if (!remoteable() && hasMode('PREVIEW')) {\n const savedStore = getState();\n // if we have saved state, lets load it in.\n if (savedStore && savedStore !== undefined) {\n store.dispatch(rehydrateAction(savedStore));\n }\n }\n\n if (!remoteable() && hasMode('DEVELOPMENT')) {\n // rehydrate\n const savedStore = getLocalState();\n\n // if we have saved state, lets load it in.\n if (savedStore && savedStore !== undefined) {\n store.dispatch(rehydrateAction(savedStore));\n }\n\n //Save changes\n watch(store as any);\n }\n})();\n\nexport default store;\n","import { Block, Blocks, cloneBlock } from '@chameleoncreator/creator-app';\nimport { createBlock } from './block';\nimport { createHeader } from './header';\nimport { createTopic } from './topic';\nimport { createScorm } from './scorm';\n\nexport const createModule = (title: string): Block => {\n return createBlock(\n 'Module',\n [\n createScorm(),\n createHeader(),\n createBlock('AnimationGroup', [createTopic('Topic #1')], {\n meta: { subType: 'Topic' },\n }),\n ],\n {\n props: {\n passMark: 80,\n name: title,\n theme: {\n userPalette: [],\n },\n },\n }\n );\n};\n\nexport const addScormBlock = (mod: Block) => (scormBlock: Block): Block => {\n if (mod.type !== 'Module') {\n return mod;\n }\n\n const nextMod = cloneBlock(mod);\n (nextMod.children as Block[]).unshift(scormBlock)\n\n return nextMod\n}\n\n// Returns a new block that should be saved. this will be the TopicGroup block\n// contained within the module\nexport const addTopic = (blocks: Blocks) => (mod: Block) => (\n topic: Block,\n position: number\n): Block => {\n if (mod.type !== 'Module') {\n return mod;\n }\n\n const group = (mod.children as Block[]).find(child => {\n const block = blocks[child.id];\n return block.meta && block.meta.subType === 'Topic';\n });\n\n if (!group) {\n throw new Error(\"Topic group missing from topic. That shouldn't happen\");\n }\n\n const nextGroup = cloneBlock(blocks[group.id]);\n (nextGroup.children as Block[]).splice(position, 0, topic);\n\n return nextGroup;\n};\n\nexport const addTopicToGroup = (blocks: Blocks) => (\n group: Block,\n topic: Block,\n position: number\n): Block => {\n // console.log(group);\n if (!group.meta || group.meta.subType !== 'Topic') {\n throw new Error('Group must contain Topics');\n }\n\n const nextGroup = cloneBlock(blocks[group.id]);\n (nextGroup.children as Block[]).splice(position, 0, topic);\n return nextGroup;\n};\n\nexport const removeTopic = (blocks: Blocks) => (\n mod: Block,\n id: string\n): Block => {\n if (mod.type !== 'Module') {\n return mod;\n }\n\n let group = (mod.children as Block[]).find(child => {\n const block = blocks[child.id];\n return block.meta && block.meta.subType === 'Topic';\n });\n\n if (!group) {\n throw new Error(\"Topic group missing from topic. That shouldn't happen\");\n }\n\n group = blocks[group.id];\n\n return removeTopicFromGroup(blocks)(group, id);\n};\n\nexport const removeTopicFromGroup = (blocks: Blocks) => (\n group: Block,\n id: string\n): Block => {\n if (!group) {\n throw new Error(\"Topic group missing from module. That shouldn't happen\");\n }\n\n if (!group.meta || group.meta.subType !== 'Topic') {\n throw new Error('Group must contain Topics');\n }\n\n const nextGroup = cloneBlock(blocks[group.id]);\n\n const index = (nextGroup.children as Block[]).findIndex(r => r.id === id);\n\n (nextGroup.children as Block[]).splice(index, 1);\n return nextGroup;\n};\n","import { createBlock } from './block';\nimport { Block, cloneBlock, Blocks } from '@chameleoncreator/creator-app';\nimport uuid from 'uuidv4';\nimport { getSId } from './utils';\n\nexport const createTopic = (name: string): Block => {\n return createBlock(\n 'Topic',\n [\n createBlock('AnimationGroup', [], {\n meta: {\n subType: 'Interaction',\n },\n }),\n ],\n {\n props: {\n name: name,\n sId: getSId('topic'), // uuid(),\n },\n }\n );\n};\n\n// Returns a new block that should be saved in a setBlock\nexport const addInteraction = (blocks: Blocks) => (\n topic: Block,\n interaction: Block,\n position: number\n): Block => {\n if (topic.type === 'Topic') {\n // console.log(blocks);\n // console.log(topic, interaction, position);\n\n const group = (topic.children as Block[]).find(child => {\n const block = blocks[child.id];\n return block.meta && block.meta.subType === 'Interaction';\n });\n\n const groupBlock = blocks[group.id];\n\n return addInteractionToGroup(blocks)(groupBlock, interaction, position);\n }\n\n return topic;\n};\n\nexport const addInteractionToGroup = (blocks: Blocks) => (\n group: Block,\n interaction: Block,\n position: number\n) => {\n if (!group) {\n throw new Error(\n \"Interaction group missing from topic. That shouldn't happen\"\n );\n }\n\n if (!group.meta || group.meta.subType !== 'Interaction') {\n throw new Error('Group must have a subtype of Interaction');\n }\n\n const nextGroup = cloneBlock(blocks[group.id]);\n (nextGroup.children as Block[]).splice(position, 0, interaction);\n\n return nextGroup;\n};\n\n// return a new block that needs to be set in the state\n// TODO: Implement\nexport const removeInteractionFromGroup = (group: Block) => (\n interaction: Block\n): Block => {\n if (!group) {\n throw new Error(\n \"Interaction group missing from topic. That shouldn't happen\"\n );\n }\n if (group.meta.subType !== 'Interaction') {\n throw new Error('Group must have a subtype of Interaction');\n }\n\n const nextBlock = cloneBlock(group);\n\n const index = (nextBlock.children as Block[]).findIndex(\n r => r.id === interaction.id\n );\n (nextBlock.children as Block[]).splice(index, 1);\n\n return nextBlock;\n};\n","import { Block } from '@chameleoncreator/creator-app/build/utils';\nimport { createBlock } from './block';\nimport logo from 'assets/lizard.svg'; // lizard Logo_2019\n\nexport const createHeader = (): Block => {\n return createBlock('Header', [\n createBlock('Back'),\n createBlock('TopicTitle'),\n createBlock('Logo', [], { props: { src: logo } }),\n createBlock('Menu'),\n ]);\n};\n","// import store from 'store';\nimport _store from 'store/next.ts';\n// that'll need to be updated. store will eventually become the default. . .\n\nexport default () => {\n if (parent === window) {\n return _store as any;\n }\n\n if (parent.getStore) {\n return parent.getStore();\n }\n\n return _store;\n};\n","import getStore from 'services/getStore';\n\nconst store = getStore();\n\nconst values = {\n headerHeight: 70,\n};\n\nconst colors = {\n lPink: '#ff0063',\n lBlue0: '#b3cde0',\n lGrey0: '#282a2b',\n lGrey1: '#dee3f3',\n lGrey2: '#ecedf0',\n lGrey3: '#eaeffb',\n lGrey4: '#f5f8fa',\n lTeal0: '#3c95a4',\n lTeal1: '#32d0d0',\n};\n\nconst focusBorder = '1px solid #2684FF !important';\nconst focusBoxShadow = '0 0 0 1px #2684FF !important';\n\nfunction getButtonFocus(color, shadowBefore = null, useTransition = true) {\n const { highContrast = false } = store.getState().theme;\n\n return !window.dev()\n ? `\n box-shadow: ${\n shadowBefore ? `${shadowBefore}, ` : ''\n }0 0 0 2px #fff, 0 0 0 ${highContrast ? 5 : 3}px ${color} !important;`\n : '';\n}\n\nexport { values, colors, focusBorder, focusBoxShadow, getButtonFocus };\n","import getStore from 'services/getStore';\nimport { setActiveTopicAction } from 'store/next';\n\nexport default id => {\n getStore().dispatch(setActiveTopicAction(id));\n};\n","import { isValidElement } from 'react';\n\n/**\n * detect IE\n * returns version of IE or false, if browser is not Internet Explorer\n */\nfunction isIE() {\n var ua = window.navigator.userAgent;\n\n // Test values; Uncomment to check result …\n\n // IE 10\n // ua = 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)';\n\n // IE 11\n // ua = 'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko';\n\n // Edge 12 (Spartan)\n // ua = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0';\n\n // Edge 13\n // ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586';\n\n var msie = ua.indexOf('MSIE ');\n if (msie > 0) {\n // IE 10 or older => return version number\n return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n }\n\n var trident = ua.indexOf('Trident/');\n if (trident > 0) {\n // IE 11 => return version number\n var rv = ua.indexOf('rv:');\n return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n }\n\n // var edge = ua.indexOf('Edge/');\n // if (edge > 0) {\n // \t// Edge (IE 12+) => return version number\n // \treturn parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n // }\n\n // other browser\n return false;\n}\n\nexport default isIE;\n","import styled from '@emotion/styled';\n\nexport const VisuallyHidden = styled.span`\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n`;\n\nexport const VisuallyHiddenLink = styled.a`\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n`;\n","import getSubscriptions from './getSubscriptions';\n\nlet subscriptions;\n\ntry {\n subscriptions = getSubscriptions() || {};\n} catch (err) {\n subscriptions = {};\n}\n\nconst exposeToChildFrames = () => {\n subscriptions = getSubscriptions(window);\n};\n\nconst pubSub = Object.freeze({\n subscribe(name, fN) {\n if (!subscriptions[name]) {\n subscriptions[name] = {\n subscribers: [],\n record: undefined,\n };\n }\n\n if (subscriptions[name].subscribers.includes(fN)) {\n return;\n }\n\n subscriptions[name].subscribers.push(fN);\n\n return () =>\n subscriptions[name].subscribers.splice(\n subscriptions[name].subscribers.indexOf(fN),\n 1\n );\n },\n publish(name, data) {\n if (!subscriptions[name]) {\n return;\n return console.warn(\n `%c ${`there are no subscribers to : '${name}' !!! `.toUpperCase()}`,\n 'background: #ff0000; color: #bada55'\n );\n }\n\n subscriptions[name].record = {\n ...subscriptions[name].record,\n ...data,\n };\n\n for (const $ of subscriptions[name].subscribers) {\n $(subscriptions[name].record);\n }\n },\n query(name) {\n return subscriptions[name]\n ? { ...subscriptions[name].store }\n : console.warn(\n `%c ${`there is no store to query on : '${name}' !!! `.toUpperCase()}`,\n 'background: #ff0000; color: #bada55'\n );\n },\n});\n\nexport default pubSub;\nexport { exposeToChildFrames };\n","import uuid from 'uuidv4';\n\nconst getSubscriptionsWindow = (WINDOW = window) => {\n for (const key of Object.keys(WINDOW)) {\n const prefix = String(WINDOW.location);\n\n if (key.includes(prefix)) {\n const keyId = key.replace(prefix, '');\n const getId = WINDOW[key][keyId];\n\n const id = typeof getId === 'function' ? getId(true) : '.';\n\n if (keyId === id) {\n return WINDOW[key][id]();\n }\n }\n }\n\n if (WINDOW === WINDOW.parent) {\n return;\n }\n\n return getSubscriptionsWindow((WINDOW as any).parent);\n};\n\nconst getSubscriptions = (window = null) => {\n if (window) {\n const id = uuid();\n const _ = {};\n\n window[`${String(window.location)}${id}`] = {\n [id]($) {\n return $ ? id : _;\n },\n };\n }\n\n return getSubscriptionsWindow();\n};\n\nexport default getSubscriptions;\n","/** @jsx jsx */\n\nimport React, { useRef, useEffect, useLayoutEffect } from 'react';\nimport { css, jsx } from '@emotion/core';\nimport useIntersectionObserver from 'hooks/useIntersectionObserver';\nimport { useSelector } from 'react-redux';\nimport arrow from 'assets/pointer_dark.svg';\nimport { colors, getButtonFocus } from 'styles/variables';\nimport getStore from 'services/getStore';\nimport getInteractionsInTopic from 'services/apiHelpers/getInteractionsInTopic';\nimport getAllInteractions from 'services/apiHelpers/getAllInteractions';\nimport getTopics from 'services/apiHelpers/getTopics';\nimport setCurrentTopic from 'services/apiHelpers/setCurrentTopic';\nimport isIE from 'services/isIE';\nimport styled from '@emotion/styled';\nimport { VisuallyHidden } from 'components/UI/VisuallyHidden';\nimport pubSub from 'services/pubSub';\nimport onScrollEnds from 'services/onScrollEnds';\nimport getSectionInView from 'services/getSectionInView';\n\nconst store = getStore();\nconst { lPink, lGrey2 } = colors;\n\nlet firstSection;\nlet scrolling;\n\nconst Arrow = ({ color }) => {\n return (\n \n \n \n \n \n \n \n );\n};\n\nconst navToPrevTopic = () => {\n const { currentTopic } = store.getState();\n const topics = getTopics();\n const prevTopic = topics[topics.findIndex(t => t.id === currentTopic) - 1];\n\n if (!prevTopic) return;\n\n setCurrentTopic(prevTopic.id);\n\n requestAnimationFrame(() => window.scrollTo(0, document.body.scrollHeight));\n};\n\nconst BackBtn = ({ currentTopic, topics, color }) => {\n const backBtn = useRef(null);\n\n useEffect(() => {\n if (window.dev()) {\n return;\n }\n\n // if we're not in the first topic. return;\n if (topics.findIndex(t => t.id === currentTopic.id) !== 0) {\n return;\n }\n\n if (!firstSection) {\n firstSection = document.querySelector('section');\n if (!firstSection) {\n return;\n }\n }\n\n const onScroll = () => {\n clearTimeout(scrolling);\n\n scrolling = setTimeout(() => {\n const { top } = firstSection.getBoundingClientRect();\n\n if (top < 0) {\n backBtn.current.style.opacity = 1;\n backBtn.current.style.pointerEvents = 'auto';\n } else {\n backBtn.current.style.opacity = 0.1;\n backBtn.current.style.pointerEvents = 'none';\n }\n }, 100);\n };\n\n onScroll();\n window.addEventListener('scroll', onScroll);\n\n return () => {\n firstSection = null;\n window.removeEventListener('scroll', onScroll);\n };\n }, [currentTopic]);\n\n useEffect(() => {\n pubSub.subscribe('HILITE_CHAMELEON_BACK_BUTTON', ({ toggle }) => {\n backBtn.current.style.boxShadow = toggle\n ? `0 0 0 2px #fff, 0 0 0 3px ${color}`\n : null;\n });\n }, []);\n\n const onClick = () => {\n if (window.locationHistory) {\n const locationHistory = window.locationHistory;\n\n window.location.hash = locationHistory; // window.locationHistory;\n\n const checkHistory = setInterval(() => {\n if (locationHistory !== window.locationHistory) {\n clearInterval(checkHistory);\n\n requestAnimationFrame(\n () =>\n (window.location.hash = Math.random()\n .toString(16)\n .substr(2, 8))\n );\n\n window.locationHistory = null;\n }\n }, 1000 / 60);\n\n return;\n }\n //\n\n if (isIE()) {\n const section = document.querySelector('section');\n const { top } = section.getBoundingClientRect();\n const bounds = window.innerHeight * 0.6 * -1;\n if (top === 0) {\n navToPrevTopic();\n return;\n }\n }\n\n // need a new way to get prev section that isn't based on intersectionObserver\n // const sections = Array.from(document.querySelectorAll('section'));\n // const closestSection = sections.find((section: any) => {\n // const bounds = section.getBoundingClientRect();\n // if (bounds.top >= 0 && bounds.top <= window.innerHeight / 2) {\n // return section;\n // }\n // });\n\n const { sections, section, index } = getSectionInView();\n\n const prevSection = sections[index - 1];\n // sections[sections.indexOf(closestSection) - 1];\n\n if (prevSection) {\n prevSection.scrollIntoView({\n behavior: 'smooth',\n });\n\n onScrollEnds(() => {\n prevSection.focus();\n });\n } else {\n navToPrevTopic();\n }\n\n // prevSection\n // ? prevSection.scrollIntoView({\n // behavior: 'smooth',\n // })\n // : navToPrevTopic();\n };\n\n return (\n {\n if (!backBtn.current) backBtn.current = node;\n }}\n id=\"chameleon-back-button\"\n // href=\"#go-back\"\n title=\"Return to previous interaction\"\n css={css`\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n flex-shrink: 0;\n width: 30px;\n height: 30px;\n border-radius: 50%;\n transform: scaleX(-1);\n transition: opacity: 0.2s;\n cursor: pointer;\n -webkit-backface-visibility: hidden;\n transition: all 0.2s;\n\n &:hover {\n background-color: ${lGrey2};\n }\n\n &:focus {\n ${getButtonFocus(color)}\n }\n `}\n onKeyUp={e => {\n return;\n\n if (![' ', 'Enter'].includes(e.key)) {\n return;\n }\n // console.log('be like button !!!');\n\n onClick();\n }}\n onClick={onClick}\n >\n Go Back\n \n \n );\n};\n\nexport default BackBtn;\n","import React, { useState, useEffect } from 'react';\nimport pubSub from './pubSub';\n\nconst usePubSub = name => {\n const [state, setState] = useState(pubSub.query(name));\n\n useEffect(() => {\n const pS = pubSub.subscribe(name, setState);\n\n return () => pS();\n }, []);\n\n return [\n state,\n $ => {\n pubSub.publish(name, $);\n },\n ];\n};\n\nexport default usePubSub;\n","import pubSub, { exposeToChildFrames } from './pubSub';\nimport usePubSub from './usePubSub';\n\nexport default pubSub;\nexport { exposeToChildFrames, usePubSub };\n","const onScrollEnds = (callback, t = 250) => {\n window.removeEventListener('scroll', checkScrolling);\n //\n let scrolling;\n\n window.addEventListener('scroll', checkScrolling);\n\n function checkScrolling() {\n clearTimeout(scrolling);\n\n scrolling = setTimeout(() => {\n callback();\n window.removeEventListener('scroll', checkScrolling);\n }, t);\n }\n};\n\nexport default onScrollEnds;\n","const getSectionInView = () => {\n const sections = Array.from(document.querySelectorAll('section'));\n\n // reverse the sections to find the section we want from ' bottom up '\n const sectionsReversed = sections.slice().reverse();\n\n //\n const section: any = sectionsReversed.find((i: any) => {\n const { height, top } = i.getBoundingClientRect();\n\n // if height ( is not 0 ). to ignore sections not yet rendered into view\n if (height && top < window.innerHeight / 2) {\n return i;\n }\n });\n\n return {\n sections,\n section,\n index: sections.indexOf(section),\n };\n};\n\nexport default getSectionInView;\n","/** @jsx jsx */\n\nimport React, { useRef, useEffect, useLayoutEffect, useMemo } from 'react';\nimport { css, jsx } from '@emotion/core';\nimport { colors } from 'styles/variables';\nimport getAllInteractions from 'services/apiHelpers/getAllInteractions';\n// import { getSavedInteractionsSeen } from 'services/scorm/scormService';\nimport getStore from 'services/getStore';\nimport { useSelector } from 'react-redux';\n\nconst store = getStore();\nconst { lPink, lGrey0, lGrey2 } = colors;\n\nconst ProgressBar = ({ color = lGrey0 }) => {\n const interactionsSeen = useSelector((state: any) => state.interactionsSeen);\n const width = 200;\n\n // const allSections: any = useMemo(() => {\n // return getAllInteractions();\n // }, [getAllInteractions().length, store.getState().interactionsOpen.length]);\n\n // const unit = width / getAllInteractions().length; // allSections.length\n\n // const percent = (\n // (interactionsSeen.length / getAllInteractions().length) *\n // 100\n // ).toFixed();\n\n const allInteractions = useMemo(() => {\n return getAllInteractions();\n }, []);\n\n const unit = width / allInteractions.length;\n const percent = (\n (interactionsSeen.length / allInteractions.length) *\n 100\n ).toFixed();\n\n return (\n \n \n\n Progress: {percent}%\n \n );\n};\n\nexport default ProgressBar;\n","import getInteractionsInTopic from 'services/apiHelpers/getInteractionsInTopic';\n\nconst getTopicSId = topic => {\n const topicId = topic.id;\n let topicSId = topic.props?.sId;\n\n topicSId = topicSId || topicId;\n\n const interactions = getInteractionsInTopic(topic);\n\n // only list topics that have interactions\n if (!interactions.length) {\n return undefined;\n }\n\n const interaction = interactions[0];\n const interactionId = interaction.id;\n let interactionSId = interaction.props?.sId;\n\n interactionSId = interactionSId || interactionId;\n\n const location = `${topicSId}/${interactionSId}`;\n // console.log('LOCATION:', location);\n\n return location;\n};\n\nexport default getTopicSId;\n","import getCurrentTopic from 'services/apiHelpers/getCurrentTopic';\nimport getInteractionsInTopic from 'services/apiHelpers/getInteractionsInTopic';\nimport getSectionInView from 'services/getSectionInView';\n\nconst getCurrentLocation = () => {\n const currentTopic: any = getCurrentTopic();\n const { sections, section, index } = getSectionInView();\n const interactions = getInteractionsInTopic(currentTopic);\n\n if (!interactions || interactions.length === 0) {\n return;\n }\n\n const interaction = interactions[index];\n\n return `${currentTopic.props.sId || currentTopic.id}/${interaction.props\n .sId || interaction.id}`;\n};\n\nexport default getCurrentLocation;\n","/** @jsx jsx */\n\nimport React, {\n Fragment as _,\n memo,\n useState,\n useRef,\n useEffect,\n useLayoutEffect,\n} from 'react';\nimport { keyframes } from 'emotion';\nimport { css, jsx } from '@emotion/core';\nimport { values, colors } from 'styles/variables';\nimport getTopics from 'services/apiHelpers/getTopics';\nimport getCurrentTopic from 'services/apiHelpers/getCurrentTopic';\nimport setCurrentTopic from 'services/apiHelpers/setCurrentTopic';\nimport { VisuallyHidden } from 'components/UI/VisuallyHidden';\nimport getInteractionsInTopic from 'services/apiHelpers/getInteractionsInTopic';\nimport getTopicSId from 'services/getTopicSId';\nimport getSectionInView from 'services/getSectionInView';\nimport getCurrentLocation from 'services/getCurrentLocation';\n\nconst { lPink, lGrey0 } = colors;\n\nconst open_menu_kf = keyframes`\nfrom {\n\topacity: 0;\n\ttransform: translateX(100%);\n}\nto {\n\topacity: 1;\n\ttransform: translateX(-10px);\n}\n`;\n\nconst close_menu_kf = keyframes`\n0% {\n\topacity: 1;\n\ttransform: translateX(0%);\n}\n35% {\n\topacity: 1;\n\ttransform: translateX(-10%);\n}\n100% {\n\topacity: 0;\n\ttransform: translateX(100%);\n}\n`;\n\nconst Menu = ({ menu, currentTopicName, color = lGrey0, close }) => {\n const topics = getTopics();\n const init = useRef(false);\n const nav = useRef(null);\n const tabIndex = useRef(0);\n\n // console.log('init.current :', init.current);\n\n useEffect(() => {\n let addBurger = false;\n\n if (menu) {\n tabIndex.current = 0;\n // topics.findIndex(\n // (t: any) => t.props.name === currentTopicName\n // );\n // console.log({ 'tabIndex.current': tabIndex.current });\n // topics.findIndex((t:any) => t.name === currentTopicName);\n window.addEventListener('keydown', keyOverrides);\n }\n\n function keyOverrides(e) {\n switch (e.key) {\n case 'Escape': {\n return close();\n }\n\n case 'Tab': {\n e.preventDefault();\n\n const burgerX = document.querySelector('#burger-x');\n const anchors: any = [\n ...(addBurger ? [burgerX] : []),\n ...Array.from(nav.current.querySelectorAll('a')),\n ];\n //.filter((t: any) => t.props.name !== currentTopicName);\n\n anchors[tabIndex.current].focus();\n\n // if (tabIndex.current < topics.length - 1) {\n if (tabIndex.current < anchors.length - 1) {\n tabIndex.current = tabIndex.current + 1;\n } else {\n if (!addBurger) {\n addBurger = true;\n }\n tabIndex.current = 0;\n }\n }\n }\n\n // if (e.key === 'Escape') {\n // return alert('ESCAPE');\n // }\n\n // if (e.key === 'Tab') {\n // e.preventDefault();\n\n // const anchors: any = Array.from(nav.current.querySelectorAll('a'));\n\n // anchors[tabIndex.current].focus();\n\n // if (tabIndex.current < topics.length - 1) {\n // tabIndex.current = tabIndex.current + 1;\n // } else {\n // tabIndex.current = 0;\n // }\n // }\n }\n\n return () => {\n window.removeEventListener('keydown', keyOverrides);\n };\n }, [menu]);\n\n useEffect(() => {\n if (!nav.current) {\n return;\n }\n\n const onAnimationEnd = (e: any) => {\n const { target } = e;\n if (target == nav.current) {\n // why wouldn't it be ???\n if (!menu && init.current) {\n requestAnimationFrame(() => {\n // console.log(menu, init.current);\n nav.current.style.visibility = 'hidden';\n });\n }\n }\n };\n\n nav.current.addEventListener('animationend', onAnimationEnd);\n\n return () => {\n nav.current.removeEventListener('animationend', onAnimationEnd);\n };\n }, [menu]);\n\n useEffect(() => {\n if (menu && !init.current) init.current = true;\n }, [menu]);\n\n // useLayoutEffect(() => {\n // // init.current = true;\n // }, []);\n\n return (\n \n
    \n {topics.map(t => {\n const { id } = t;\n const { name } = t.props;\n return (\n \n {\n e.preventDefault();\n\n const topic = topics.find((t: any) => t.props.name === name);\n const targetLocation = getTopicSId(topic);\n\n if (!targetLocation) {\n return;\n }\n\n window.locationHistory = getCurrentLocation();\n //\n\n window.location.hash = targetLocation;\n\n // setCurrentTopic(id);\n }}\n onKeyUp={e => {\n // e.preventDefault();\n if (e.key === ' ') {\n // setCurrentTopic(id);\n e.currentTarget.click();\n }\n }}\n {...(name === currentTopicName\n ? { 'aria-current': 'page' }\n : {})}\n >\n {name || id}\n \n \n );\n })}\n
\n \n );\n};\n\nexport default Menu;\n","/** @jsx jsx */\n\nimport React, { Fragment as _, memo } from 'react';\nimport { css, jsx } from '@emotion/core';\n\nimport burger from 'assets/burger.svg';\nimport close from 'assets/close.svg';\nimport { VisuallyHidden } from 'components/UI/VisuallyHidden';\nimport { getButtonFocus } from 'styles/variables';\n\nconst width = '24px';\ninterface IHeader {\n currentTopicIndex: number;\n topics: any[];\n color?: string;\n}\n\nconst Burger = memo(\n ({\n menu,\n color,\n onClick,\n }: {\n menu: boolean;\n color?: string;\n onClick?: any;\n }) => {\n // const Stack = () => (\n //
\n // \n //
\n // );\n\n const Stack = () => (\n \n {[0, 1, 2].map(i => (\n \n ))}\n \n );\n\n const X = () => (\n \n \n \n );\n\n return (\n \n \n {menu ? 'Hide' : 'Show'} navigation menu\n \n {menu ? : }\n \n );\n },\n ({ menu, color }, { menu: _menu, color: _color }) => {\n if (color !== _color) return false;\n return menu === _menu;\n }\n);\n\nexport default Burger;\n","import { Block } from '@chameleoncreator/creator-app';\nimport getBlockById from './apiHelpers/getBlockById';\n\nconst findByKeyVal = (o, key, val) => {\n if (o[key] && o[key] === val) return o;\n let result;\n for (const p in o) {\n if (o.hasOwnProperty(p) && typeof o[p] === 'object') {\n result = findByKeyVal(o[p], key, val);\n if (result) {\n return result;\n }\n }\n }\n};\n\nexport default findByKeyVal;\n\nexport const findByKeyVal_V2 = (\n rootId: string,\n type: string,\n val: string\n): Block | undefined => {\n const root = getBlockById(rootId);\n\n if (!root) {\n return undefined;\n }\n\n if (root[type] === val) {\n return root;\n }\n\n let found = undefined;\n if (Array.isArray(root.children)) {\n root.children.forEach(c => {\n const block = findByKeyVal_V2(c.id, type, val);\n if (block) {\n found = block;\n }\n });\n }\n\n return found;\n};\n","import React from 'react';\nimport { Block } from '@chameleoncreator/creator-app';\nimport getBlockById from './getBlockById';\n\n// const render = (block: Block, Components: {}): JSX.Element | string => {\n// const children = Array.isArray(block.children)\n// ? (block.children as Block[]).map(b => render(b, Components))\n// : block.children;\n\n// const Component = Components[block.type];\n\n// return (\n// \n// {children}\n// \n// );\n// };\n\nconst render = (block: Block, Components: {}): JSX.Element | string => {\n let b = block;\n if (b.type === 'Ref') {\n b = getBlockById(b.id);\n }\n\n const children = Array.isArray(b.children)\n ? (b.children as Block[]).map(c => render(c, Components))\n : b.children;\n\n const Component = Components[b.type];\n\n return (\n \n {children}\n \n );\n};\n\nexport default render;\n","/** @jsx jsx */\n\nimport React from 'react';\nimport { css, jsx } from '@emotion/core';\nimport Edit from 'assets/edit.svg';\n\nconst EditMarker = () => (\n\t\n);\n\nexport default EditMarker;\n","import getStore from 'services/getStore';\nimport { focusBlockAction } from 'store/next';\n\nlet delayUpdate;\n\nexport default block => {\n // clearTimeout(delayUpdate);\n // delayUpdate = setTimeout(() => {\n // // getStore().dispatch(focusBlockAction(block));\n // console.log('FOCUS');\n // }, 1000 / 60);\n\n getStore().dispatch(focusBlockAction(block));\n};\n","/** @jsx jsx */\n\nimport React, { Fragment as _ } from 'react';\nimport { keyframes } from 'emotion';\nimport { css, jsx } from '@emotion/core';\nimport EditMarker from 'components/UI/EditMarker';\nimport setCurrentBlock from 'services/apiHelpers/setCurrentBlock';\nimport { colors } from 'styles/variables';\nimport Image from 'assets/Image.svg';\n\nconst { lPink } = colors;\n\nconst frameSelected = keyframes`\n from {\n width: 50%;\n height: 50%;\n }\n to {\n width: 75%;\n height: 75%;\n }\n`;\n\nconst frameNotSelected = keyframes`\nfrom {\n width: 75%;\n height: 75%;\n}\nto {\n width: 50%;\n height: 50%;\n}\n`;\n\nconst EditWrapper0 = ({\n id,\n mediaParentId,\n padding = 0,\n selected,\n children,\n}) => {\n return (\n {\n e.stopPropagation();\n\n if (selected) return;\n\n // console.log({ mediaParentId });\n\n setCurrentBlock({ id });\n }}\n >\n {children}\n\n {!selected && }\n \n );\n};\n\n// ${!selected && 'border-radius: 50%;'}\nconst EditWrapper1 = ({\n id,\n mediaParentId,\n editWrapperSize = '50%',\n editWrapperUseIcon = true,\n selected,\n children,\n}) => {\n return (\n \n {children}\n \n {\n e.stopPropagation();\n\n if (selected) return;\n\n // console.log({ mediaParentId });\n\n setCurrentBlock({ id });\n }}\n >\n {!selected && editWrapperUseIcon && (\n \n )}\n\n {!selected && }\n \n \n \n );\n};\n\nconst EditWrapper2 = ({ id, mediaParentId, selected, children }) => {\n return (\n \n {children}\n \n {\n e.stopPropagation();\n if (selected) return;\n setCurrentBlock({ id });\n }}\n >\n {!selected && }\n \n \n \n );\n};\n\nexport { EditWrapper0, EditWrapper1, EditWrapper2 };\n","import React, { useState, useRef, useEffect } from 'react';\n\nconst useImgLoader = src => {\n let [loadedState, setLoadedState] = useState(0);\n\n const mounted = useRef(true);\n\n useEffect(() => () => (mounted.current = false), []);\n\n useEffect(() => {\n setLoadedState(0);\n\n if (!src) {\n return;\n }\n\n const img = new window['Image']();\n img.src = src;\n\n let loaded = false;\n\n img.onload = () => {\n loaded = true;\n mounted.current && setLoadedState(2);\n };\n\n img.onerror = (e) => {\n window.console.log(e)\n window.console.log(\"error loading image\")\n }\n\n setTimeout(() => {\n if (loaded) return;\n mounted.current && setLoadedState(1);\n }, 300);\n }, [src]);\n\n return loadedState;\n};\n\nexport default useImgLoader;\n","/** @jsx jsx */\n\nimport React from 'react';\nimport { css as _css, cx, keyframes } from 'emotion';\nimport { css, jsx } from '@emotion/core';\nimport { colors } from 'styles/variables';\n\nconst { lPink, lGrey0, lGrey1, lGrey2, lTeal0 } = colors;\nconst lineWeight = 5;\n\nconst dualRingAnimation = keyframes`\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n`;\n\nconst dualRing = (size, color) => _css`\n {\n display: inline-block;\n width: ${size}px;\n height: ${size}px;\n animation: 1.2s linear infinite;\n }\n &:after {\n content: \"\";\n display: block;\n width: ${size - lineWeight * 2}px;\n height: ${size - lineWeight * 2}px;\n // margin: 1px;\n border-radius: 50%;\n border: ${lineWeight}px solid ${color};\n border-color: ${color} transparent ${color} transparent;\n animation: ${dualRingAnimation} 1.2s linear infinite;\n }\n`;\n\nconst LoadingSpinner = ({ size = 46, color = '#cea5f9' }) => (\n \n \n \n);\n\nexport default LoadingSpinner;\n","import LoadingSpinner from './LoadingSpinner';\n\nexport default LoadingSpinner;\n","const checkImgSrcIsGif = src => {\n const updatedSrc = /\\.(gif)$/i.test(src) ? `${src}?a=${Math.random()}` : src;\n return updatedSrc;\n};\n\nexport default checkImgSrcIsGif;\n","/** @jsx jsx */\n\nimport React, { Fragment as _, useRef, useLayoutEffect } from 'react';\nimport { css, jsx } from '@emotion/core';\nimport { values, colors } from 'styles/variables';\nimport useImageLoader from 'hooks/useImageLoader';\nimport LoadingSpinner from 'components/UI/LoadingSpinner';\n\nconst { headerHeight } = values;\nconst { lPink, lGrey4 } = colors;\n\nconst Circle = ({\n id,\n src,\n fit = 'cover',\n cachedSrc,\n children,\n}: {\n id: string | number;\n src: string;\n fit?: string;\n cachedSrc?: any;\n children?: any;\n}) => {\n const imgLoadedState = useImageLoader(src);\n const circle: any = useRef(null);\n\n useLayoutEffect(() => {\n if (!circle.current) {\n return;\n }\n\n const checkSize = () => {\n if (!circle.current) return;\n\n let { width, height } = circle.current.getBoundingClientRect();\n // width\n circle.current.style.maxWidth = `${height}px`;\n\n return [width, height].includes(0) ? false : width === height;\n };\n\n const tick = setInterval(() => {\n if (checkSize()) {\n clearInterval(tick);\n }\n }, 1000 / 60);\n\n // onScrollEnds(() => {\n // console.log('checking for circle size');\n // checkSize();\n // });\n\n window.addEventListener('resize', checkSize);\n\n imgLoadedState === 2 && cachedSrc(id, src);\n\n return () => {\n window.removeEventListener('resize', checkSize);\n };\n }, [imgLoadedState]);\n //\n\n return imgLoadedState === 1 ? (\n \n ) : (\n \n \n {children}\n \n \n );\n};\n\nexport default Circle;\n","/** @jsx jsx */\n\nimport React, {\n Fragment as _,\n useState,\n useRef,\n useEffect,\n useLayoutEffect,\n useMemo,\n memo,\n} from 'react';\nimport { css, jsx } from '@emotion/core';\nimport { useSelector, connect } from 'react-redux';\nimport placeholder from 'assets/addImg@3x.svg';\nimport { values, colors } from 'styles/variables';\nimport getBlockById from 'services/apiHelpers/getBlockById';\nimport { EditWrapper0, EditWrapper1, EditWrapper2 } from './EditWrappers';\nimport useImageLoader from 'hooks/useImageLoader';\nimport LoadingSpinner from 'components/UI/LoadingSpinner';\nimport checkImgSrcIsGif from 'services/checkImgSrcIsGif';\nimport Circle from './Circle';\n\nconst { headerHeight } = values;\nconst { lPink, lGrey4 } = colors;\n\nconst cachedSrcs = {};\n\nconst cachedSrc = (id, src = null) => {\n if (src) {\n cachedSrcs[id] = src;\n return;\n }\n return cachedSrcs[id];\n};\n\nconst getCalculatedHeight = (\n imageWidth,\n imageHeight,\n maxHeight = 50,\n containerWidth\n) => {\n const ratio = imageWidth / imageHeight;\n const calculatedMaxHeight = window.innerHeight * (maxHeight / 100); // window.innerHeight / 2;\n let calculatedHeight = containerWidth / ratio;\n\n if (calculatedHeight > calculatedMaxHeight) {\n calculatedHeight = calculatedMaxHeight;\n }\n\n return calculatedHeight;\n};\n\ninterface IEditable {}\n\nconst Image = props => {\n const {\n id,\n mediaParentId = null,\n // focusedNodeId,\n editWrapperType = 0,\n editWrapperSize = '50%',\n editWrapperUseIcon = true,\n padding = 0,\n usePlaceholderValue = false,\n maxHeight = 50,\n } = props;\n\n // console.log({\n // editWrapperType,\n // usePlaceholderValue,\n // maxHeight,\n // });\n\n const block = getBlockById(id);\n\n const focusedNodeId = useSelector((state: any) => state.focusedNodeId);\n\n let {\n src = placeholder,\n borderStyle = 'rectangle',\n fit = 'contain',\n fixedHeight = false,\n fixedHeightValue = 350,\n imgSize = 0,\n description,\n layout = '',\n width = 800,\n height = 600,\n } = (block && block.props) || ({} as any);\n\n src = useMemo(() => {\n if (window.dev()) {\n return src;\n }\n\n return checkImgSrcIsGif(src);\n }, [src]);\n\n const imgLoadedState = useImageLoader(src);\n const selected = focusedNodeId === id;\n\n const image: any = useRef(null);\n const hasResized = useRef(false);\n\n useLayoutEffect(() => {\n // return;\n\n if (!usePlaceholderValue || !image.current) {\n return;\n }\n\n const targetHeight = getCalculatedHeight(\n width,\n height,\n maxHeight,\n image.current.getBoundingClientRect().width\n );\n\n image.current.style.height = `${targetHeight}px`;\n\n const onResize = () => {\n if (!hasResized.current) {\n image.current.style.height = '';\n //\n window.removeEventListener('resize', onResize);\n hasResized.current = true;\n }\n };\n\n if (!hasResized.current && imgLoadedState === 2) {\n onResize();\n window.addEventListener('resize', onResize);\n }\n\n return () => {\n window.removeEventListener('resize', onResize);\n };\n }, [imgLoadedState]);\n\n useEffect(() => {\n imgLoadedState === 2 && cachedSrc(id, src);\n }, [imgLoadedState]);\n\n const EditWrapper = window.dev()\n ? ({ children }) =>\n editWrapperType === 0 ? (\n \n {children}\n \n ) : (\n \n {children}\n \n )\n : ({ children }) => <_>{children};\n\n // parsed is not the correct term is it. but. . .\n let parsedImgSize;\n if (imgSize) {\n parsedImgSize = window.innerHeight / 2 + imgSize;\n }\n\n const noDescription = '';\n\n // const srcs = useMemo(\n // () =>\n // [\n // {\n // src:\n // 'https://cdnb.artstation.com/p/assets/images/images/025/613/349/4k/paul-chadeisson-testspeed-0301-bulgarovship-a.jpg?1586357957',\n // w: 2200,\n // h: 935,\n // },\n // {\n // src:\n // 'https://cdna.artstation.com/p/assets/images/images/025/429/506/large/roc-h-stickhead200401.jpg?1585762848',\n // w: 920,\n // h: 3340,\n // },\n\n // {\n // src:\n // 'https://cdna.artstation.com/p/assets/images/images/023/299/988/large/brandon-gobey-003.jpg?1578761233',\n // w: 1920,\n // h: 865,\n // },\n // ][Math.floor(Math.random() * 3)],\n // []\n // );\n\n // src = srcs.src;\n // width = srcs.w;\n // height = srcs.h;\n\n // src =\n // 'http://reviewsite.inspiregroup.co.nz/manual/TEMP/Return%20to%20Work%20opening%20slide%20new.jpg';\n\n if (borderStyle === 'circle') {\n return (\n \n \n {description\n \n \n );\n }\n\n // console.log({ fit });\n\n return (\n \n \n {imgLoadedState !== 2 ? (\n \n ) : (\n \n {description\n \n )}\n \n \n );\n};\n\n// export default connect(\n// ({ focusedNodeId }: { focusedNodeId: string | number }, { id }: any) => {\n// return {\n// focusedNodeId,\n// };\n// }\n// )(Image);\n\n// moved the focusedNodeId into the component > react-redux useSelector hook\n// this makes sure our component updates when src changed\nexport default props => {\n return ;\n};\n","import Image from './Image';\n\nexport default Image;\n","/** @jsx jsx */\n\nimport React, {\n Fragment as _,\n useState,\n useRef,\n useCallback,\n useEffect,\n} from 'react';\nimport { css, jsx } from '@emotion/core';\nimport BackBtn from './BackBtn';\nimport ProgressBar from './ProgressBar';\nimport { values, colors } from 'styles/variables';\nimport Menu from './Menu';\nimport Burger from './Burger';\nimport { connect } from 'react-redux';\nimport { findByKeyVal_V2 } from 'services/findByKeyVal';\nimport getStore from 'services/getStore';\nimport getBlockById from 'services/apiHelpers/getBlockById';\nimport renderBlock from 'services/apiHelpers/renderBlock';\nimport Image from 'components/lib/Image';\nimport isIE from 'services/isIE';\nimport {\n VisuallyHiddenLink,\n VisuallyHidden,\n} from 'components/UI/VisuallyHidden';\n\nimport logo from 'assets/lizard.svg'; // lizard Logo_2019\n\nconst store = getStore();\n\nconst { lPink, lGrey0 } = colors;\nconst { headerHeight } = values;\n\ninterface IHeader {\n currentTopicIndex: number;\n topics: any[];\n theme: any;\n}\n\nconst SkipToContent = () => {\n const [skipToContent, setSkipToContent] = useState(false);\n\n const a = useRef(null);\n\n return (\n {\n if (![' ', 'Enter'].includes(e.key)) {\n return;\n }\n\n a.current.click();\n }}\n onFocus={() => {\n // console.log('skipToContent !!!');\n setSkipToContent(true);\n }}\n onBlur={() => {\n setSkipToContent(false);\n }}\n >\n Skip to content\n \n );\n};\n\nconst Header = ({ currentTopicIndex = 0, topics, theme }: IHeader) => {\n const [menu, setMenuState] = useState(false);\n const currentTopicName = topics[currentTopicIndex]\n ? topics[currentTopicIndex].props.name\n : 'unknown';\n const {\n headerBackgroundColor = '#fff',\n headerTextColor = lGrey0,\n progressBar = true,\n topicMenu = true,\n } = theme;\n\n const blocks = store.getState().blocks;\n\n // const H = Object.values(blocks).find(\n // (b: any) => b.type === 'Header'\n // ) as any;\n\n const logoBlock = findByKeyVal_V2(\n (Object.values(blocks).find((b: any) => b.type === 'Header') as any).id,\n 'type',\n 'Logo'\n );\n\n if (!logoBlock.props.src) {\n logoBlock.props.src = logo;\n }\n\n const Logo = renderBlock(logoBlock, { Logo: Image });\n\n // function hideMenu() {\n const hideMenu = useCallback(() => {\n setMenuState(false);\n requestAnimationFrame(() =>\n document.removeEventListener('click', hideMenu)\n );\n }, []);\n\n useEffect(() => {\n // return;\n menu && document.addEventListener('click', hideMenu);\n\n // function hideMenu() {\n // setMenuState(false);\n // requestAnimationFrame(() =>\n // document.removeEventListener('click', hideMenu)\n // );\n // }\n }, [menu]);\n\n return (\n \n {/* all this needs to do is be visible when has focus */}\n {/* Skip to content */}\n \n {/* Skip to content */}\n \n \n \n Current Topic: \n {currentTopicName}\n \n \n \n {Logo}\n \n \n {progressBar && (\n \n \n \n )}\n {topicMenu && (\n <_>\n setMenuState(true)}\n />\n hideMenu()}\n // color={lGrey0 || headerTextColor}\n />\n \n )}\n \n \n );\n};\n\nexport default connect(({ theme }: any) => ({ theme }))(Header);\n","import Header from './Header';\n\nexport default Header;\n","export const theme = {\n breakpoints: ['40em', '52em', '64em'],\n fontSizes: [12, 14, 16, 20, 24, 32, 48, 64, 96, 128],\n space: [\n // margin and padding\n 0,\n 4,\n 8,\n 16,\n 32,\n 64,\n 128,\n 256,\n ],\n colors: {},\n fonts: {\n default: \"'Poppins', sans-serif\",\n },\n Text: {\n color: '#122212',\n },\n};\n","import isIE from 'services/isIE';\n\nconst ie11VerticalFlexCenterFix = height =>\n\tisIE()\n\t\t? `\n&::before {\n\tdisplay: block;\n\tcontent: '';\n\t${height}\n}`\n\t\t: '';\n\nexport default ie11VerticalFlexCenterFix;\n","function ReplaceWithPolyfill() {\n 'use-strict'; // For safari, and IE > 10\n var parent = this.parentNode,\n i = arguments.length,\n currentNode;\n if (!parent) return;\n if (!i)\n // if there are no arguments\n parent.removeChild(this);\n while (i--) {\n // i-- decrements i and returns the value of i before the decrement\n currentNode = arguments[i];\n if (typeof currentNode !== 'object') {\n currentNode = this.ownerDocument.createTextNode(currentNode);\n } else if (currentNode.parentNode) {\n currentNode.parentNode.removeChild(currentNode);\n }\n // the value of \"i\" below is after the decrement\n if (!i)\n // if currentNode is the first argument (currentNode === arguments[0])\n parent.replaceChild(currentNode, this);\n // if currentNode isn't the first\n else parent.insertBefore(currentNode, this.previousSibling);\n }\n}\nif (!Element.prototype.replaceWith)\n Element.prototype.replaceWith = ReplaceWithPolyfill;\nif (!CharacterData.prototype.replaceWith)\n CharacterData.prototype.replaceWith = ReplaceWithPolyfill;\nif (!DocumentType.prototype.replaceWith)\n DocumentType.prototype.replaceWith = ReplaceWithPolyfill;\n","import isIE from 'services/isIE';\nimport 'services/replaceWithPolyfill';\n\nconst lineBreak = () => {\n const _ = document.createElement('span');\n _.style.display = 'block';\n _.style.visibility = 'hidden';\n _.innerHTML = '';\n\n return _;\n};\n\nconst updateReadOnlyText = containerElement => {\n if (!containerElement) {\n return;\n }\n\n Array.from(containerElement.querySelectorAll('.chameleon-text *')).forEach(\n (entry: any) => {\n // if entry is not a span ( indicating a mark )\n // and entry is ' empty '\n if (\n entry.tagName.toLowerCase() !== 'span' &&\n !entry.innerText.toString()\n ) {\n entry.replaceWith(lineBreak());\n }\n\n if (['h1', 'h2', 'h3'].includes(entry.tagName.toLowerCase())) {\n const pTags = Array.from(entry.querySelectorAll('p'));\n pTags.forEach((p: any) => {\n if (p.innerText.toString()) {\n // old. no line breaks\n //\n // p.outerHTML = p.outerHTML.replace(\n // /\\

|\\<\\/p\\>/g,\n // ''\n // );\n\n p.outerHTML = p.outerHTML\n .replace(/\\

/g, '')\n .replace(/\\<\\/p\\>/g, '
');\n }\n });\n }\n\n if (entry.dataset.type === 'indent') {\n const closestLi = entry.closest('li');\n\n if (closestLi) {\n closestLi.classList.add('indent');\n } else {\n entry.classList.add('indent-alt');\n }\n }\n\n if (entry.tagName.toLowerCase() === 'li') {\n }\n\n if (entry.tagName.toLowerCase() === 'a') {\n const spans = Array.from(entry.querySelectorAll('span'));\n const localColor: any = spans.find((span: any) => {\n return span.style.color;\n });\n\n if (localColor && localColor.style.color) {\n entry.style.textDecorationColor = localColor.style.color;\n }\n }\n\n if (isIE()) {\n if (entry.style.fontFamily === '') entry.style.fontFamily = '';\n }\n }\n );\n};\n\nexport default updateReadOnlyText;\n","/** @jsx jsx */\n\nimport React, {\n useContext,\n useState,\n useRef,\n useEffect,\n useLayoutEffect,\n} from 'react';\nimport { createPortal } from 'react-dom';\nimport { css, jsx } from '@emotion/core';\nimport ie11VerticalFlexCenterFix from 'services/ie11VerticalFlexCenterFix';\nimport getStore from 'services/getStore';\nimport pubSub from 'services/pubSub';\nimport checkReturnToInteractionEditing from 'services/checkReturnToInteractionEditing';\nimport getBlockById from 'services/apiHelpers/getBlockById';\nimport { useSelector } from 'react-redux';\nimport setCurrentBlock from 'services/apiHelpers/setCurrentBlock';\nimport updateReadOnlyText from 'services/updateReadOnlyText';\n\nconst store = getStore();\n\n//\n\nlet container;\nlet modalOpen = false;\n\ninterface IModal {\n minWidth?: string;\n onClose?: () => void;\n children: any;\n}\n\nconst Modal = ({ minWidth = '50vw', onClose, children }: IModal) => {\n if (!container) container = document.querySelector('#modal-container');\n\n const [btnColor, setBtnColor] = useState(undefined);\n\n const focusedNodeIdOnOpen = useSelector(\n ({ focusedNodeId }) => focusedNodeId\n );\n\n const rootContainer = useRef(null);\n const contentContainer = useRef(null);\n const hiddenButton = useRef(null);\n const buttonTabIndex = useRef(0);\n const checkResize = useRef(false);\n\n useEffect(() => {\n modalOpen = true;\n window['MODAL_OPEN'] = true;\n\n // if (window.dev && !window.dev()) {\n // console.log('modal has focus'.toUpperCase());\n // rootContainer.current.focus();\n contentContainer.current.focus();\n\n const content: any = contentContainer.current.querySelector(\n '.chameleon-text'\n );\n\n if (content) {\n content.setAttribute('tabindex', '0');\n content.focus();\n }\n\n let button: any = contentContainer.current.querySelector('button');\n button?.setAttribute('aria-label', 'Close dialog');\n\n window.addEventListener('keydown', tabOverride);\n // }\n\n // give ALL other elements aria-hidden ???\n const root = document.querySelector('#root');\n root.setAttribute('aria-hidden', 'true');\n\n document.body.style.overflowY = 'hidden';\n\n const onResize = () => {\n if (!rootContainer.current) return;\n\n rootContainer.current.style.alignItems =\n window.innerHeight < contentContainer.current.scrollHeight\n ? 'flex-start'\n : 'center';\n\n checkResize.current = true;\n };\n\n const tick = setInterval(() => {\n onResize();\n window.addEventListener('resize', onResize);\n if (checkResize.current) clearInterval(tick);\n }, 100);\n\n function tabOverride(e) {\n const content: any = contentContainer.current.querySelector(\n '.chameleon-text'\n );\n\n button = contentContainer.current.querySelector('button');\n const buttonBackgroundColor = window.getComputedStyle(button)\n .backgroundColor;\n\n // button.setAttribute('aria-label', 'Close dialog');\n\n if (!btnColor) {\n setBtnColor(buttonBackgroundColor);\n }\n\n if (e.key === 'Tab') {\n e.preventDefault();\n\n // if (buttonTabIndex.current === 0) {\n // buttonTabIndex.current = 1;\n // button.focus();\n // } else {\n // buttonTabIndex.current = 0;\n // hiddenButton.current.focus();\n // }\n\n const elements = [content, button, hiddenButton.current];\n\n // console.log({ elements });\n\n elements[\n (buttonTabIndex.current =\n (buttonTabIndex.current + 1) % elements.length)\n ].focus();\n }\n }\n\n return () => {\n modalOpen = false;\n window['MODAL_OPEN'] = false;\n\n root.setAttribute('aria-hidden', 'false');\n document.body.style.overflowY = 'auto';\n\n checkResize.current = false;\n window.removeEventListener('keydown', tabOverride);\n window.removeEventListener('resize', onResize);\n };\n }, []);\n\n useEffect(() => {\n if (!window.dev) {\n // we're opening the modal from the editor so we don't need these checks\n return;\n }\n\n pubSub.subscribe('CLOSE_MODAL', $ => {\n onClose();\n });\n\n return () => {\n const { focusedNodeId } = store.getState();\n\n if (!focusedNodeId) {\n return;\n }\n\n const block = getBlockById(focusedNodeId);\n\n const isNotInteraction = [\n 'text',\n 'image',\n 'video',\n 'svg',\n 'embed',\n 'editablebutton',\n 'continuebutton',\n ].includes(block.type.toLowerCase());\n\n // console.log({ 'block?.meta?.subType': block?.meta?.subType });\n\n if (isNotInteraction) {\n if (focusedNodeIdOnOpen) {\n setCurrentBlock({ id: focusedNodeIdOnOpen });\n } else {\n setCurrentBlock(null);\n }\n }\n };\n }, []);\n\n useLayoutEffect(() => {\n if (window.dev && !window.dev()) {\n updateReadOnlyText(contentContainer.current);\n }\n }, []);\n\n useEffect(() => {\n if (window.dev && window.dev()) {\n return;\n }\n\n // find all the hrefs a\n\n const links = Array.from(contentContainer.current.querySelectorAll('a'));\n\n if (!links.length) {\n return;\n }\n\n const closeOnLinkClick = e => {\n onClose();\n };\n\n const addRemoveCloseOnLinkClick = addOrRemove => {\n links.forEach(link => {\n if (link.href.includes('#')) {\n link[`${addOrRemove}EventListener`]('click', closeOnLinkClick);\n }\n });\n };\n\n addRemoveCloseOnLinkClick('add');\n\n return () => {\n addRemoveCloseOnLinkClick('remove');\n };\n }, []);\n\n return createPortal(\n \n {\n // console.log(e.detail, onClose);\n onClose();\n }}\n aria-hidden=\"true\"\n >\n\n e.stopPropagation()}\n // tabIndex={0}\n >\n {children}\n \n ,\n container\n );\n};\n\nconst useModal = ({ onClose, children }) => {\n const [open, setState] = useState(true);\n\n return setState(false)}>{children};\n};\n\nexport default Modal;\n\nexport { useModal };\n","import getTopics from 'services/apiHelpers/getTopics';\nimport { findBlocksIn } from 'selectors/block';\nimport getStore from 'services/getStore';\n\nconst store = getStore();\n\nconst getActiveBlocks = () => {\n const { blocks, rootBlockId } = store.getState();\n return findBlocksIn(blocks, blocks[rootBlockId], () => true);\n\n // first thought was this might be the ' highest level '\n // where we can getActiveBlocks from\n // const { blocks } = store.getState();\n // const topics = getTopics();\n\n // return topics.reduce(\n // (acc, curr) => [...acc, ...findBlocksIn(blocks, curr, () => true)],\n // []\n // );\n};\n\nexport default getActiveBlocks;\n","import getStore from 'services/getStore';\nimport getActiveBlocks from 'services/apiHelpers/getActiveBlocks';\n\nconst getAllScoringInteractions = () => {\n let blocks;\n\n try {\n blocks = getActiveBlocks();\n } catch (err) {\n blocks = getStore().getState().blocks;\n }\n\n return (\n Object.values(blocks as any)\n // Object.values(getActiveBlocks() as any)\n // Object.values(getStore().getState().blocks as any)\n .filter((b: any) => b?.props.score && b?.props.score === true)\n .map((b: any) => b.id)\n );\n\n // console.log(getallScoringInteractions());\n};\n\nlet score: {\n [key: string]: number;\n} = {};\n\nlet dummyScore;\n\nconst setScore = (id, _scoreValue) => {\n const scoreValue = _scoreValue ? 1 : 0;\n score[id] = scoreValue;\n};\n\nconst rehydrateScore = savedScore => {\n // Object.keys(savedScore).forEach(entry => {\n // setScore(entry, savedScore[entry]);\n // });\n\n score = {\n ...score,\n ...savedScore,\n };\n};\n\nconst getScore = (id?: number) => (id ? score[id] : score);\n\nconst getScoreRaw = () => {\n const us = Object.values(\n (getStore().getState().userBehaviour?.score as any) || {}\n );\n const scoreRaw = (us as any).reduce((acc, curr) => acc + curr, 0) || 0;\n\n return scoreRaw;\n};\n\nconst getScorePercent = () =>\n (getScoreRaw() / getAllScoringInteractions().length) * 100 || 0;\n\nconst getDummyScore = () => {\n const parsedDummyScore = getScorePercent() || dummyScore;\n if (parsedDummyScore) {\n return Number(parsedDummyScore).toFixed();\n }\n\n return (dummyScore = (Math.random() * 100).toFixed());\n};\n\nexport {\n setScore,\n rehydrateScore,\n getScore,\n getScoreRaw,\n getScorePercent,\n getAllScoringInteractions,\n getDummyScore,\n};\n","import getStore from 'services/getStore';\nimport {\n getScore,\n setScore,\n rehydrateScore,\n getScoreRaw,\n getScorePercent,\n getAllScoringInteractions,\n} from 'services/scoring';\nimport getAllInteractions from 'services/apiHelpers/getAllInteractions';\nimport getBlockById from 'services/apiHelpers/getBlockById';\nimport { SCORM } from 'pipwerks-scorm-api-wrapper';\nimport API from 'services/scorm/API';\nimport { getLastInteractionSeen } from 'services/apiHelpers/isLastInteraction';\nimport isLastInteraction from 'services/apiHelpers/isLastInteraction';\n\nconst store = getStore();\n\nlet scorm;\nlet completionStatus;\nlet allPagesViewed;\nlet savedInteractionsSeen = [];\nlet interactionsLockedData = {};\nlet multichoiceData = {};\n\nlet CMIInteractionsIds = [];\n// this broke the thing. sorry sam\n// let CMIInteractionsIds = getAllInteractions().filter((i: any) =>\n// ['Multichoice', 'Sortation'].includes(getBlockById(i).meta.subType)\n// );\n\nlet delaySetSCORM;\n\ntry {\n scorm = SCORM.init();\n} catch (err) {\n console.log('scorm aint happy outside of LMS');\n}\n\nlet scormInit;\nlet version = SCORM.version || '1.2';\nlet location;\n\nlet unloaded;\n['beforeunload', 'unload'].forEach(e =>\n window.addEventListener(e, () => {\n if (unloaded) return;\n\n saveAndQuit();\n unloaded = true;\n })\n);\n\nconst getLocation = (local = false) => {\n if (local) {\n // testing\n return sessionStorage.getItem('TESTING_LIZARD_BOOKMARKING');\n }\n\n if (!scorm) {\n return;\n }\n\n const entry = SCORM.get(API[version].entry);\n\n return entry === 'ab-initio'\n ? null\n : version\n ? SCORM.get(API[version].location)\n : null;\n};\n\nconst getSuspendData = () =>\n version && scormInit ? SCORM.get(API[version].suspend_data) : null;\n\nconst onExit = () => {\n // console.log('bye !!!');\n if (scorm) {\n saveAndQuit();\n }\n\n setTimeout(() => {\n if (window.self === window.top) {\n window.close();\n } else {\n window.top.close();\n }\n }, 100);\n};\n\nconst getScoreData = () => {\n const allScoringInteractions = getAllScoringInteractions();\n const hasScoring = !!allScoringInteractions.length;\n const scoreRaw = getScoreRaw();\n const scorePercent = getScorePercent();\n\n return {\n allScoringInteractions,\n hasScoring,\n scoreRaw,\n scorePercent,\n };\n};\n\nconst setScoreData = () => {\n const {\n allScoringInteractions,\n hasScoring,\n scoreRaw,\n scorePercent,\n } = getScoreData();\n\n if (hasScoring) {\n SCORM.set(API[version].scoreMin, 0);\n SCORM.set(API[version].scoreMax, allScoringInteractions.length);\n SCORM.set(API[version].scoreRaw, scoreRaw);\n\n if (version === '2004') {\n SCORM.set(\n API[version].scoreScaled,\n scoreRaw / allScoringInteractions.length\n );\n SCORM.set(API[version].success, scorePercent >= 80 ? 'passed' : 'failed');\n }\n }\n};\n\nconst setComplete = (completed: boolean) => {\n SCORM.set(API[version].completion, completed ? 'completed' : 'incomplete');\n};\n\nconst saveAndQuit = () => {\n SCORM.save();\n SCORM.quit();\n};\n\nconst exit = () => {\n if (!scorm) return;\n\n const { scormSettings } = store.getState();\n const {\n setCompleteWhenAllPagesViewed,\n setCompleteFromScore,\n setCompleteOnExit,\n passMark,\n } = scormSettings;\n\n const { scorePercent } = getScoreData();\n\n // inlining this first up\n // refactor later. . .\n\n if (setCompleteOnExit) {\n // we won't send any scoring from here\n // if scoring was a requirement author ' should ' be using setCompleteFromScore\n // setScoreData();\n\n // isLastInteraction : enforce exit from last page ?\n // getLastInteractionSeen() : we've navigated to the last page. completion is assumed\n // we can go back to anywhere else and close. still sets complete\n // this would be the ' safest ' way i reckon\n\n if (getLastInteractionSeen()) {\n setComplete(true);\n saveAndQuit();\n }\n return;\n }\n\n //\n if (setCompleteWhenAllPagesViewed && !setCompleteFromScore) {\n if (allPagesViewed) {\n // only send score when. . .\n setScoreData();\n\n setComplete(true);\n } else {\n setComplete(false);\n }\n\n saveAndQuit();\n return;\n }\n\n if (!setCompleteWhenAllPagesViewed && setCompleteFromScore) {\n if (getLastInteractionSeen()) {\n setScoreData();\n\n if (scorePercent >= Number(passMark)) {\n setComplete(true);\n } else {\n setComplete(false);\n }\n } else {\n // will ( should ) already be incomplete\n setComplete(false);\n }\n\n saveAndQuit();\n return;\n }\n\n if (setCompleteWhenAllPagesViewed && setCompleteFromScore) {\n if (allPagesViewed) {\n setScoreData();\n if (scorePercent >= passMark) {\n setComplete(true);\n } else {\n setComplete(false);\n }\n } else {\n setComplete(false);\n }\n\n saveAndQuit();\n return;\n }\n};\n\nconst getInteractionsLockedData = (id = null) => {\n return id ? interactionsLockedData[id] : interactionsLockedData;\n};\n\nconst setInteractionsLockedData = id => {\n interactionsLockedData[id] = 0;\n};\n\nconst getMultichoiceData = () => {\n let savedMultichoiceData = getSuspendData();\n savedMultichoiceData = savedMultichoiceData\n ? JSON.parse(savedMultichoiceData)\n : {};\n\n return savedMultichoiceData.multichoiceData\n ? savedMultichoiceData.multichoiceData\n : multichoiceData;\n};\n\nconst setMultichoiceData = data => {\n multichoiceData[data.id] = data;\n};\n\nconst getCMIInteractionsId = id => {\n // moved up into ' init '\n // if (!CMIInteractionsIds) {\n // CMIInteractionsIds = getAllInteractions().filter((i: any) =>\n // ['Multichoice', 'Sortation'].includes(getBlockById(i).meta.subType)\n // );\n // }\n\n return CMIInteractionsIds.indexOf(id);\n\n // if (!CMIInteractionsIds.includes(id)) {\n // CMIInteractionsIds.push(id);\n // }\n // return CMIInteractionsIds.length - 1;\n};\n\nconst getQuestion = (question, compress = false) =>\n compress\n ? question.replace(/ |\\r|\\n/g, '_').replace(/[^a-zA-Z0-9 -]/g, '')\n : question;\n\nconst getResult = result => {\n if (version === '1.2') {\n return result ? 'correct' : 'wrong';\n }\n\n return result ? 'correct' : 'incorrect';\n};\n\nconst setCMIInteractionsMultichoice = data => {\n const { id, question, type, response = 'pending', result } = data;\n\n // console.log('setCMIInteractionsMultichoice:', { id, type, response, result });\n\n if (!scorm) return;\n\n // SCORM.set(\n // `cmi.interactions.${id}.id`,\n // version === '1.2' ? getQuestion(question, true) : `Question${id}`\n // );\n SCORM.set(`cmi.interactions.${id}.id`, `Question${id}`);\n\n if (version !== '1.2') {\n SCORM.set(`cmi.interactions.${id}.description`, getQuestion(question));\n }\n SCORM.set(`cmi.interactions.${id}.type`, type);\n SCORM.set(\n `cmi.interactions.${id}.${\n version === '1.2' ? 'student_response' : 'learner_response'\n }`,\n response\n );\n SCORM.set(`cmi.interactions.${id}.result`, getResult(result));\n};\n\nconst setCMIInteractionsSortation = data => {\n let { id, type, response = 'pending', result } = data;\n\n // console.log('setCMIInteractionsSortation:', { id, type, response, result });\n\n if (!scorm) return;\n\n SCORM.set(`cmi.interactions.${id}.id`, `Question${id}`);\n SCORM.set(`cmi.interactions.${id}.type`, type);\n SCORM.set(\n `cmi.interactions.${id}.${\n version === '1.2' ? 'student_response' : 'learner_response'\n }`,\n response\n );\n SCORM.set(`cmi.interactions.${id}.result`, getResult(result));\n};\n\nconst getSavedInteractionsSeen = () => {\n return savedInteractionsSeen;\n};\n\nexport {\n getLocation,\n getSavedInteractionsSeen,\n getSuspendData,\n getInteractionsLockedData,\n setInteractionsLockedData,\n setMultichoiceData,\n getMultichoiceData,\n getCMIInteractionsId,\n setCMIInteractionsMultichoice,\n setCMIInteractionsSortation,\n onExit,\n};\n","export default {\n '2004': {\n exit: 'cmi.exit',\n entry: 'cmi.entry',\n location: 'cmi.location',\n scoreMin: 'cmi.score.min',\n scoreMax: 'cmi.score.max',\n scoreScaled: 'cmi.score.scaled',\n scoreRaw: 'cmi.score.raw',\n success: 'cmi.success_status',\n completion: 'cmi.completion_status',\n suspend_data: 'cmi.suspend_data',\n result: {\n 0: \"incorrect\",\n 1: \"correct\"\n }\n },\n '1.2': {\n exit: 'cmi.core.exit',\n entry: 'cmi.core.entry',\n location: 'cmi.core.lesson_location',\n scoreMin: 'cmi.core.score.min',\n scoreMax: 'cmi.core.score.max',\n scoreRaw: 'cmi.core.score.raw',\n completion: 'cmi.core.lesson_status',\n suspend_data: 'cmi.suspend_data',\n result: {\n 0: \"wrong\",\n 1: \"correct\"\n }\n },\n};\n","import getAllInteractions from 'services/apiHelpers/getAllInteractions';\n\nlet lastInteractionSeen;\n\nconst isLastInteraction = id => {\n const allInteractions = getAllInteractions() as any;\n return allInteractions[allInteractions.length - 1] === id;\n};\n\nconst setLastInteractionSeen = (value: boolean) => {\n if (!lastInteractionSeen) {\n lastInteractionSeen = value;\n }\n};\n\nconst getLastInteractionSeen = () => lastInteractionSeen;\n\nexport default isLastInteraction;\nexport { setLastInteractionSeen, getLastInteractionSeen };\n","/** @jsx jsx */\n\nimport React from 'react';\nimport { css, jsx } from '@emotion/core';\nimport { colors } from 'styles/variables';\n\nconst { lPink, lGrey0 } = colors;\n\nconst EmptyBtn = ({\n label,\n ariaLabel = '',\n disabled,\n onClick,\n style = {},\n ...props\n}: {\n label?: string;\n ariaLabel?: string;\n disabled?: boolean;\n style?: {};\n onClick?: any;\n}) => {\n //\n return (\n \n {label}\n \n );\n};\n\nexport default EmptyBtn;\n","/** @jsx jsx */\n\nimport React from 'react';\n// import { css as _css } from 'emotion';\nimport { css, jsx } from '@emotion/core';\nimport EmptyBtn from 'components/UI/EmptyBtn';\nimport { colors } from 'styles/variables';\n\nconst { lPink, lGrey1 } = colors;\n\nconst EditorBtn = ({ label, onClick, style = {}, ...props }) => {\n let hoverOveride = null;\n if (style['hover']) {\n hoverOveride = Object.keys(style['hover'])\n .map(key => `${key}: ${style['hover'][key]} !important;`)\n .join('');\n }\n\n return (\n \n );\n};\n\nexport default EditorBtn;\n","/** @jsx jsx */\n\nimport React, { useState, useEffect } from 'react';\nimport { css, jsx } from '@emotion/core';\nimport { connect } from 'react-redux';\nimport Modal from 'components/UI/Modal';\nimport { Box } from '@chameleoncreator/creator-ui';\nimport Interactions from './Interactions';\nimport { ThemeProvider } from 'emotion-theming';\nimport { theme } from 'theme';\nimport { getLocation, getSuspendData } from 'services/scorm/scormService';\nimport getStore from 'services/getStore';\nimport getTopics from 'services/apiHelpers/getTopics';\nimport getInteractionsInTopic from 'services/apiHelpers/getInteractionsInTopic';\nimport EditorBtn from 'components/UI/EditorBtn';\nimport setCurrentTopic from 'services/apiHelpers/setCurrentTopic';\nimport { rehydrateFromLMSAction } from 'store/next';\nimport { clearLocationHistory } from 'services/clearLocationHistory';\n\nconst store = getStore();\n\nconst Bookmark = () => {\n const [bookmark, setBookmark] = useState(null);\n\n const {\n textColor,\n buttonBackgroundColor,\n buttonTextColor,\n fontFamily,\n } = store.getState().theme;\n\n useEffect(() => {\n const location = getLocation(); // true for testing local\n\n // testing this as 1/1\n // but need to calculate what the actual first topic / interaction is\n\n const firstTopic: any = getTopics()[0];\n const firstInteraction: any = getInteractionsInTopic(firstTopic)[0];\n\n if (!firstTopic || !firstInteraction) {\n return;\n }\n\n const firstTopicSId = firstTopic.props.sId || firstTopic.id;\n const firstInteractionSId =\n firstInteraction.props.sId || firstInteraction.id;\n\n if (location && location !== `${firstTopicSId}/${firstInteractionSId}`) {\n setBookmark(location);\n }\n }, []);\n\n return bookmark ? (\n \n setBookmark(null)}>\n \n \n \n Would you like to return to where you left off?\n \n \n \n \n {\n window.location.hash = bookmark;\n\n requestAnimationFrame(() => {\n clearLocationHistory();\n setBookmark(null);\n });\n }}\n />\n\n {\n setCurrentTopic(getTopics()[0].id);\n setBookmark(null);\n }}\n />\n \n \n \n \n \n ) : null;\n};\n\nexport default Bookmark;\n","const clearLocationHistory = () => {\n const locationHistory = window.locationHistory;\n\n const checkHistory = setInterval(() => {\n if (locationHistory !== window.locationHistory) {\n clearInterval(checkHistory);\n\n requestAnimationFrame(\n () =>\n (window.location.hash = Math.random()\n .toString(16)\n .substr(2, 8))\n );\n\n (window as any).locationHistory = null;\n }\n }, 1000 / 60);\n};\n\nexport { clearLocationHistory };\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport { NextState } from 'store/next';\nimport styled from '@emotion/styled';\nimport EditorBtn from './UI/EditorBtn';\n\nconst Cont = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n justify-content: center;\n align-items: center;\n display: flex;\n`;\n\nconst Backdrop = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n background: rgba(0, 0, 0, 0.5);\n z-index: 1000;\n`;\n\nconst Modal = styled.div`\n background: rgb(255, 255, 255);\n border-radius: 30px;\n padding: 32px;\n line-height: 1.6;\n z-index: 1001;\n max-width: 600px;\n box-shadow: 0 0 0 12px rgba(0, 0, 0, 0.2);\n\n & h1 {\n line-height: 2;\n }\n\n & div {\n line-height: 1.6;\n }\n\n & button {\n margin: 16px 0;\n }\n`;\n\nconst errorModal = ({ hasError, error, children }) => {\n if (hasError) {\n // You can render any custom fallback UI\n return (\n \n \n \n {children(error)}\n {\n window.location.reload();\n }}\n />\n \n \n );\n }\n\n return null;\n};\n\nexport const ErrorModal = connect((state: NextState) => {\n return {\n hasError: state.hasError,\n error: state.error,\n };\n})(errorModal);\n","import React, { useEffect } from 'react';\nimport { connect } from 'react-redux';\n\nexport const FontManager = connect((s: any) => {\n return {\n fonts: s.customFonts,\n };\n})(({ fonts = [] }: any) => {\n useEffect(() => {\n if (window.FontFace) {\n fonts.map(family => {\n family.fonts.map(font => {\n const ff = new window.FontFace(family.name, `url(${font.url})`, {\n weight: font.weight,\n style: font.style,\n });\n ff.load().then(() => {\n document.fonts.add(ff);\n });\n });\n });\n }\n }, [fonts]);\n\n return null;\n});\n","/** @jsx jsx */\n\nimport React, { Fragment as _, useLayoutEffect } from 'react';\nimport { css, jsx } from '@emotion/core';\nimport getBlockById from 'services/apiHelpers/getBlockById';\nimport { Box } from '@chameleoncreator/creator-ui';\nimport useImageLoader from 'hooks/useImageLoader';\n\nconst Background = ({ background, backgroundImageOpacity }) => {\n const imgLoadedState = useImageLoader(\n background ? background.split(/\\(|\\)/g)[1] : ''\n );\n\n const opacity = backgroundImageOpacity / 100;\n\n return (\n \n );\n};\n\nconst TopicContainer = props => {\n const { state, topic, children } = props as any;\n\n const block: any = getBlockById(topic.id);\n let {\n sId,\n src,\n backgroundImage,\n backgroundImageOpacity = 100,\n }: any = getBlockById(topic.id).props;\n\n // console.log('TOPIC sId :', sId);\n\n // dirty gotta try and cover for legacy backgroundImage\n if (src) {\n backgroundImage = src;\n }\n\n const backgroundColor =\n block.props.backgroundColor || state.theme.backgroundColor || '';\n\n const textColor = block.props.textColor || state.theme.textColor || '';\n\n const opacity = backgroundImageOpacity / 100;\n // console.log(opacity);\n\n return (\n \n \n\n {children}\n \n );\n\n return (\n \n {children}\n \n );\n};\n\nexport default TopicContainer;\n","import { useEffect, useState, useContext } from 'react';\nimport { Block, Blocks } from '@chameleoncreator/creator-app';\nimport { SCORM } from 'pipwerks-scorm-api-wrapper';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { createSelector } from 'reselect';\n\nimport API from '../../../services/scorm/API';\nimport { NextState, Report } from '../../../store/next';\nimport {\n findBlocksIn,\n getAllInteractions,\n getAllInteractionsOrdered,\n} from '../../../selectors/block';\nimport { ModuleContext } from 'components/Module/Module_v2';\n\nimport pubSub from 'services/pubSub';\nimport getCurrentLocation from 'services/getCurrentLocation';\n\nconst API_KEYS = API;\n\nenum Version {\n OnePointTwo = '1.2',\n TwoThousandAndFour = '2004',\n}\n\nenum SuccessString {\n Passed = 'passed',\n Failed = 'failed',\n}\n\nenum CompletionString {\n Complete = 'completed',\n Incomplete = 'incomplete',\n}\n\nenum ShouldSendScore {\n Always = 'ALWAYS',\n Never = 'NEVER',\n OnComplete = 'COMPLETE',\n}\n\nexport enum ReportableInteractions {\n Multichoice = 'multichoice',\n Sortation = 'sortation',\n}\n\nconst getResult = (version, result) => {\n if (version === '1.2') {\n return result ? 'correct' : 'wrong';\n }\n\n return result ? 'correct' : 'incorrect';\n};\n\n/**\n * ExitProps\n *\n * When the module is perparing to exit, it needs to make sure that all the appropriate\n * controls are triggered in the SCORM container. The data in ExitProps is a complete\n * representation of this data and as such can be used to toggle saving behaviours further\n * down the chain\n */\ninterface ExitProps {\n lastInteractionSeen: boolean;\n allInteractionsSeen: boolean;\n passed: boolean;\n isComplete: boolean;\n scoreRaw: number;\n scoreMax: number;\n sendScore: boolean;\n moduleCompleteInterationRequirement: string;\n moduleCompleteScoreRequirement: boolean;\n shouldSendScoreWhen: string;\n}\n\n/**\n * scormFunc\n *\n * A scorm function is a chainable side effect function. It takes some data, possibly performs\n * and action that changes remote data (eg. scorm container function call) updating the props in\n * the process and then returns a new ExitProps object.\n *\n * By chaining these functions we can create easy to follow processes for saving data on exit\n */\ntype scormFunc = (e: ExitProps) => ExitProps;\n\n/**\n * pipe\n *\n * a custom pipe implementation with type safety for chaining scormFuncs\n *\n * @param fns scormFuncs\n */\nconst pipe = (...fns: scormFunc[]) => (x: ExitProps) =>\n fns.reduce((v, f) => f(v), x);\n\n/**\n * setScoreData\n *\n * saves the score to scorm container IF required\n */\nconst setScoreData = (scorm: SCORM, version: string): scormFunc => props => {\n const { scoreRaw, scoreMax, passed, sendScore } = props;\n if (!sendScore) {\n return props;\n }\n\n scorm.set(API[version].scoreMin, 0);\n scorm.set(API[version].scoreMax, scoreMax);\n scorm.set(API[version].scoreRaw, scoreRaw);\n\n if (version === Version.TwoThousandAndFour) {\n scorm.set(API[version].scoreScaled, scoreRaw / scoreMax);\n scorm.set(\n API[version].success,\n passed ? SuccessString.Passed : SuccessString.Failed\n );\n }\n return props;\n};\n\nconst exportedExitProps = {\n exitProps: undefined,\n};\n\n/**\n * setSCORMCompletion\n *\n * If the module has been completed, declare it so.\n */\nconst setSCORMCompletion = (scorm: SCORM, version: string) => (\n isComplete: boolean\n): void => {\n // window.console.log(`set: isComplete: ${isComplete}`);\n scorm.set(\n API[version].completion,\n isComplete ? CompletionString.Complete : CompletionString.Incomplete\n );\n};\n\n/**\n * setCompletionStatus\n *\n * chainable version of setSCORMCompletion\n */\nconst setCompletionStatus = (\n scorm: SCORM,\n version: string\n): scormFunc => props => {\n const { isComplete } = props;\n\n setSCORMCompletion(scorm, version)(isComplete);\n\n return props;\n};\n\n/**\n * saveAndQuit\n *\n * shut down the scorm container (should be called last)\n */\nconst save = (scorm: SCORM): scormFunc => props => {\n scorm.save();\n\n return props;\n};\n\n/**\n * setIsComplete\n *\n * determins whether or not the module is completed based on props\n */\nconst setIsComplete: scormFunc = props => {\n // window.console.log(props);\n const interactionCompletion =\n props[props.moduleCompleteInterationRequirement];\n const scoreCompletion = props.moduleCompleteScoreRequirement\n ? props.passed\n : true;\n const isComplete = interactionCompletion && scoreCompletion;\n\n // window.console.log(interactionCompletion);\n // window.console.log(scoreCompletion);\n // window.console.log(isComplete);\n\n return { ...props, isComplete };\n};\n\n/**\n * setShouldSendScore\n *\n * using data provided, decided if we should be sending the score to the scorm container\n * @param props\n */\nconst setShouldSendScore: scormFunc = props => {\n let shoudlSendScore = false;\n\n switch (props.shouldSendScoreWhen) {\n case ShouldSendScore.Never:\n shoudlSendScore = false;\n break;\n case ShouldSendScore.Always:\n shoudlSendScore = true;\n break;\n case ShouldSendScore.OnComplete:\n shoudlSendScore = props.isComplete;\n break;\n }\n\n return {\n ...props,\n sendScore: shoudlSendScore || props.isComplete ? true : false,\n };\n};\n\n/**\n * setCompleteOnExitOps\n *\n * the chain of operations for saving\n */\nconst setCompleteOnExitOps = (\n scorm: SCORM,\n version: string,\n exitProps: ExitProps\n) => {\n const funcs = [\n setIsComplete,\n setShouldSendScore,\n setScoreData(scorm, version),\n setCompletionStatus(scorm, version),\n save(scorm),\n ];\n\n funcs.reduce((cur: ExitProps, next: scormFunc) => {\n const props = next(cur);\n return props;\n }, exitProps);\n};\n\n/**\n * q contains all the data that an interaction sends when it wants to report to\n * the scorm container\n */\n// interface q {\n// id: string\n// question?: string\n// type: string\n// response: string\n// result: string\n// }\n\ntype q = Report & { success: string };\n\ntype qFunc = (p: q) => void;\n\n// returning early on all of these for testing\nconst qid: qFunc = ({ id, key }) => {\n SCORM.set(`cmi.interactions.${key}.id`, id);\n};\n\nconst qdesc: qFunc = ({ key, question }) => {\n SCORM.set(`cmi.interactions.${key}.description`, question);\n};\n\nconst qtype: qFunc = ({ key, type }) => {\n SCORM.set(`cmi.interactions.${key}.type`, type);\n};\n\nconst qstudent: qFunc = ({ key, response }) => {\n SCORM.set(`cmi.interactions.${key}.student_response`, response);\n};\n\nconst qlearner: qFunc = ({ key, response }) => {\n SCORM.set(`cmi.interactions.${key}.learner_response`, response);\n};\n\nconst qresult: qFunc = ({ key, result }) => {\n SCORM.set(`cmi.interactions.${key}.result`, result);\n};\n\nconst qsave: qFunc = () => {\n SCORM.save();\n};\n\ntype InteractionsReportingSequence = {\n [key in Version]: {\n [key in ReportableInteractions]: qFunc[];\n };\n};\n\n/**\n * cmiInteractions is a nested map that contains the sequence functions needed\n * to send interaction reporting data to the SCORM container.\n */\nconst cmiInteractions: InteractionsReportingSequence = {\n [Version.OnePointTwo]: {\n [ReportableInteractions.Multichoice]: [\n qid,\n qtype,\n qstudent,\n qresult,\n qsave,\n ],\n [ReportableInteractions.Sortation]: [qid, qtype, qstudent, qresult, qsave],\n },\n [Version.TwoThousandAndFour]: {\n [ReportableInteractions.Multichoice]: [\n qid,\n qdesc,\n qtype,\n qlearner,\n qresult,\n qsave,\n ],\n [ReportableInteractions.Sortation]: [qid, qtype, qlearner, qresult, qsave],\n },\n};\n\n/**\n * setCMIInteractions is an internal function for saving an interaction into the scorm container\n *\n * @param interactionType the type of interaction ( Multichoice | Sortation )\n * @param version version of scorm that we are targeting (1.2 | 2004)\n */\nconst setCMIInteractions = (\n interactionType: ReportableInteractions,\n version: Version\n) => ({ id, question, type, response, result, reportable }: Report) => {\n // return; //bailing from here too for testing\n const count = SCORM.get('cmi.interactions._count');\n const resultParsed = getResult(version, result);\n\n const qProps: q = {\n key: count,\n id,\n question,\n type,\n reportable,\n response: response ? response : 'pending',\n result: resultParsed as any, // this is BAD\n success: API_KEYS[version].result[result],\n };\n\n cmiInteractions[version][interactionType].reduce((_, next) => {\n next(qProps);\n return true;\n }, false);\n};\n\n/**\n * activeBlockSelector finds blocks that are accessible from the root block\n */\nconst activeBlockSelector = (blocks: Blocks, rootId: string): Block[] => {\n return findBlocksIn(blocks, blocks[rootId], (i: any) => i);\n};\n\n/**\n * scoringBlocks finds all the blocks that are scorable and have it turned on\n */\nconst scoringBlocks = (blocks: Block[]): string[] => {\n return blocks\n .filter((b: any) => {\n return b?.props?.score && b.props.score === true;\n })\n .map((b: any) => b.id);\n};\n\n/**\n * This selector pulls out all the active blocks from the store\n */\nconst loadActiveBlocks = createSelector(\n [(state: NextState) => state.blocks, (state: NextState) => state.rootBlockId],\n activeBlockSelector\n);\n\nconst loadScoringBlocks = createSelector(loadActiveBlocks, scoringBlocks);\n\nlet loaded = false;\n\n/**\n * This block is responsible for ALL scorm interaction. The core parts are\n *\n * - saving and loading current users progress\n * - saving score and behaviour into the CMI.interactions\n * - setting the score\n * - provide an exit facility ?? (i'm not convinced of this one)\n *\n * @param props\n */\n\nexport const SCORMRenderer = (props: Block) => {\n // window.console.log(\"loading SCORM BLOCK\")\n const scormSettings = props.props;\n\n const {\n shouldSendScoreWhen,\n moduleCompleteInterationRequirement,\n moduleCompleteScoreRequirement,\n } = scormSettings as any;\n\n const dispatch = useDispatch();\n\n const { passMark } = useContext(ModuleContext);\n\n const [initialised, setInitialized] = useState(false);\n const [version, setVersion] = useState(Version.OnePointTwo);\n\n const [lastInteractionSeen, setLastInteractionSeen] = useState(false);\n const [unloaded, setUnloaded] = useState(false);\n\n const [reportedInteractions, setReportedInteractions] = useState({});\n\n const {\n currentTopic,\n interactionsSeen,\n interactionsLocked,\n interactionsReporting,\n scoreData = {},\n } = useSelector((state: NextState) => {\n return {\n currentTopic: state.currentTopic,\n interactionsSeen: state.interactionsSeen,\n interactionsLocked: state.interactionsLocked,\n interactionsReporting: state.userBehaviour.scormResponses,\n scoreData: state.userBehaviour.score,\n };\n });\n\n const allInteractions = useSelector(getAllInteractionsOrdered);\n const scoringInteractions = useSelector(loadScoringBlocks);\n const numberOfScorableInteractions = scoringInteractions.length;\n const hasScoring = numberOfScorableInteractions > 0;\n\n useEffect(() => {\n if (!initialised) {\n return;\n }\n\n // console.log(allInteractions, interactionsSeen);\n\n if (!allInteractions.length) {\n return;\n }\n if (!interactionsSeen.length) {\n return;\n }\n\n const lastInteraction = allInteractions[allInteractions.length - 1].id;\n // window.console.log(\n // lastInteraction,\n // interactionsSeen,\n // interactionsSeen.includes(`i${lastInteraction}`)\n // );\n\n if (interactionsSeen.includes(lastInteraction)) {\n setLastInteractionSeen(true);\n }\n }, [initialised, interactionsSeen, allInteractions]);\n\n const allInteractionsSeen =\n interactionsSeen &&\n allInteractions &&\n interactionsSeen.length === allInteractions.length;\n\n const scoreRaw = Object.values(scoreData).reduce(\n (acc, curr) => acc + curr,\n 0\n );\n const scorePercent =\n ((scoreRaw || 0) / numberOfScorableInteractions) * 100 || 0;\n\n const exitProps: ExitProps = {\n lastInteractionSeen,\n allInteractionsSeen,\n scoreRaw,\n scoreMax: numberOfScorableInteractions,\n passed: scorePercent >= Number(passMark),\n isComplete: false,\n sendScore: false,\n shouldSendScoreWhen,\n moduleCompleteInterationRequirement,\n moduleCompleteScoreRequirement,\n };\n\n // dirty exported\n exportedExitProps.exitProps = {\n ...exitProps,\n scorePercent,\n } as any;\n //\n\n /**\n * call exit on scorm based on the options provided to the block\n */\n const exit = () => {\n if (!initialised) {\n return;\n }\n\n setCompleteOnExitOps(SCORM, version, exitProps);\n };\n\n // Initialise SCORM\n useEffect(() => {\n if (!initialised && !loaded) {\n try {\n const scorm = SCORM.init();\n setInitialized(true);\n loaded = true;\n } catch (err) {\n window.console.log('scorm aint happy outside of LMS');\n }\n\n setVersion((SCORM.version as Version) || Version.OnePointTwo);\n }\n }, [initialised]);\n\n // LOAD SAVED DATA\n useEffect(() => {\n if (!initialised) {\n return;\n }\n\n // console.log('LOADING SAVED DATA');\n\n // force incomplete if not explicitly marked as complete\n const completionStatus = SCORM.get(API_KEYS[version].completion);\n if (completionStatus !== CompletionString.Complete) {\n setSCORMCompletion(SCORM, version)(false);\n }\n\n //Get the latest suspend data\n const remoteData = SCORM.get(API[version].suspend_data);\n // window.console.log(remoteData);\n let suspendedData = remoteData ? JSON.parse(remoteData) : {};\n\n // Send loaded data to the store\n if (suspendedData) {\n dispatch({\n type: 'LOAD_SUSPEND_DATA',\n data: suspendedData,\n });\n\n dispatch({\n type: 'UPDATE_INTERACTIONS_SEEN',\n data:\n suspendedData?.interactionsSeen?.length > 0\n ? suspendedData?.interactionsSeen\n : [],\n });\n }\n\n const reported = Object.keys(\n suspendedData?.interactionsReporting || {}\n ).reduce((k, next: string) => {\n return {\n ...k,\n [next]: true,\n };\n }, {});\n\n setReportedInteractions(reported);\n }, [initialised]);\n\n useEffect(() => {\n const un = () => {\n if (unloaded) return;\n\n exit();\n setUnloaded(true);\n };\n\n console.log('component mounting');\n window.addEventListener('beforeunload', un);\n window.addEventListener('unload', un);\n\n return () => {\n console.log('component unmounting');\n window.removeEventListener('beforeunload', un);\n window.removeEventListener('unload', un);\n };\n }, []);\n\n // SAVE LOCAL DATA ON CHANGES\n useEffect(() => {\n if (!initialised) {\n return;\n }\n\n // TODO: remove the magic number here\n const delaySetSCORM = setTimeout(() => {\n const suspendData = {\n scoreData,\n interactionsSeen,\n interactionsLocked,\n interactionsReporting,\n };\n\n SCORM.set(API[version].suspend_data, JSON.stringify(suspendData));\n // SCORM.set(API[version].location, currentTopic);\n\n setCompleteOnExitOps(SCORM, version, exitProps);\n }, 100);\n\n return () => {\n clearTimeout(delaySetSCORM);\n };\n }, [\n initialised,\n interactionsSeen,\n interactionsLocked,\n interactionsReporting,\n lastInteractionSeen,\n ]);\n\n const [ri, setRI] = useState([]);\n\n useEffect(() => {\n if (!initialised) {\n return;\n }\n\n const completed = Object.keys(reportedInteractions);\n const reported = Object.keys(interactionsReporting);\n\n const delivered = reported\n .filter(x => !ri.includes(x))\n .filter(x => !completed.includes(x))\n .map(r => {\n const rep = interactionsReporting[r];\n setCMIInteractions(\n rep.reportable as ReportableInteractions,\n version\n )(rep);\n\n return r;\n });\n\n setRI([...ri, ...delivered]);\n }, [initialised, interactionsReporting]);\n\n useEffect(() => {\n // doing the bookmarking when nav happens here. . .\n const pS: any = pubSub.subscribe('SECTION_IN_VIEW', $ => {\n const location = getCurrentLocation() as string;\n\n if (initialised) {\n SCORM.set(API[version].location, location);\n }\n\n sessionStorage.setItem('TESTING_LIZARD_BOOKMARKING', location);\n });\n\n return () => {\n // even though this component never unmounts ( ? )\n pS();\n };\n }, [initialised]);\n\n return null;\n};\n\nexport { exportedExitProps };\n","import getStore from 'services/getStore';\nimport pubSub from 'services/pubSub';\n// import getCurrentLocation from 'services/getCurrentLocation';\n\nconst store = getStore();\n\nconst interactionsSeen = [];\nlet debounceScrolling;\n\nlet oldTopic;\nlet newTopic;\nlet topicUpdated;\n\nlet oldPosition = 0;\nlet newPosition = 0;\n\nconst clearHistory = () => {\n requestAnimationFrame(\n () =>\n (window.location.hash = Math.random()\n .toString(16)\n .substr(2, 8))\n );\n window.locationHistory = null;\n};\n\n// when the pattern settles. all this will just publish an object with\n// all this\n\nconst windowScrollInfo = (e, currentTopic) => {\n if (currentTopic) {\n newTopic = currentTopic;\n }\n\n clearTimeout(debounceScrolling);\n\n debounceScrolling = setTimeout(() => {\n let scrollDirection;\n\n if (oldTopic !== newTopic) {\n topicUpdated = true;\n oldTopic = newTopic;\n } else {\n topicUpdated = false;\n }\n\n if (!topicUpdated) {\n newPosition = window.scrollY;\n\n if (oldPosition !== newPosition) {\n scrollDirection = oldPosition < newPosition ? 'down' : 'up';\n\n // either direction. might change. us direction for other things. . .\n if (\n window.locationHistory &&\n ['up', 'down'].includes(scrollDirection)\n ) {\n clearHistory();\n }\n\n oldPosition = newPosition;\n }\n }\n\n // return;\n\n // we're not gonna use this now. but we could come back to it\n // and update interactionsSeen in the store from here\n\n const sections = Array.from(document.querySelectorAll('section'));\n\n const sectionInView: any = sections\n .reduce((acc, curr, index) => {\n const { top, height } = curr.getBoundingClientRect();\n\n return [\n ...acc,\n {\n section: curr,\n id: curr.id.replace(/i/, ''),\n inView: height\n ? top >= 0 - height / 2 && top <= window.innerHeight / 2\n : false,\n index,\n },\n ];\n }, [])\n .find(s => s.inView);\n\n if (window['sectionInView'] !== sectionInView) {\n window['sectionInView'] = sectionInView;\n\n pubSub.publish('SECTION_IN_VIEW', {\n sectionInView,\n });\n }\n\n // console.log(sectionInView, window['sectionInView']);\n if (!window['sectionInView']) {\n return;\n }\n\n if (!interactionsSeen.includes(window['sectionInView'].id)) {\n interactionsSeen.push(window['sectionInView'].id);\n // console.log(window['sectionInView'], interactionsSeen);\n\n store.dispatch({\n type: 'UPDATE_INTERACTIONS_SEEN',\n data: {\n id: window['sectionInView'].id,\n },\n });\n }\n }, 100);\n};\n\nwindow.addEventListener('scroll', e => windowScrollInfo(e, null));\n\nexport default windowScrollInfo;\n","/** @jsx jsx */\n\nimport React, { useState } from 'react';\nimport { css, jsx } from '@emotion/core';\nimport createInteractionPlaceholder from 'assets/createInteractionPlaceholder.png'; //createInteractionPlaceholder.svg';\nimport createInteractionPlaceholderPreview from 'assets/createInteractionPlaceholderPreview.svg';\n// import NewSectionWizard from 'components/Editor/NewSectionWizard';\nimport { values } from 'styles/variables';\n\nconst { headerHeight } = values;\n\nconst EmptySection = () => {\n // const [addNewSection, setAddNewSection] = useState(false);\n //\n return (\n {\n parent.setNewSectionWizard && parent.setNewSectionWizard(true);\n // setAddNewSection(!addNewSection)\n }}\n >\n \n \n {window.dev() && 'Welcome! Click here to create an interaction.'}\n \n {/* {addNewSection && (\n {\n setAddNewSection(false);\n }}\n />\n )} */}\n \n );\n};\n\nexport default EmptySection;\n","import EmptySection from './EmptySection';\n\nexport default EmptySection;\n","import React from 'react';\nimport styled from '@emotion/styled-base';\n\ninterface WrapParams {\n width: number;\n height: number;\n weight: number;\n delay: number;\n rotate: number;\n}\n\nconst Wrapper = styled('div')`\n position: relative;\n width: ${p => p.width + p.weight}px;\n height: ${p => p.height + p.weight}px;\n transform: rotate(${p => p.rotate}deg);\n transform-origin: 50% 50%;\n transition: transform 0.2s;\n ${p => p.delay && `transition-delay: ${p => p.delay}s;`}\n`;\n\ninterface LineProps {\n color: string;\n weight: number;\n}\n\nconst Line = styled('polyline')`\n fill: none;\n stroke: ${p => p.color};\n stroke-width: ${p => p.weight};\n stroke-linejoin: miter;\n stroke-miterlimit: 10;\n transform: translateY(${p => p.weight / 4}px) scale(0.8);\n transform-origin: 50% 50%;\n`;\n\nconst Arrow = ({\n className = '',\n color = '#fff',\n height = 16,\n rotate = 0,\n delay = 0,\n weight = 2,\n width = 8,\n onClick = () => {},\n}) => {\n return (\n \n \n \n \n \n );\n};\n\nexport default Arrow;\n","import { createContext } from 'react';\n\nexport const interactionContext = createContext(null);\n","// https://developer.mozilla.org/en-US/docs/Web/API/Navigator/vendor\n\nconst isAppleComputerInc = () => {\n return navigator.vendor === 'Apple Computer, Inc.';\n};\n\nexport default isAppleComputerInc;\n","const isAndroidSamsung = () => navigator.userAgent.match(/Android|SAMSUNG/g);\n\nexport default isAndroidSamsung;\n","import getStore from 'services/getStore';\nimport { cloneBlock } from '@chameleoncreator/creator-app';\nimport { setBlockAction } from 'store/next';\n\nlet newBlocks = {};\nlet delayUpdate;\n\nexport default (block, props) => {\n // const newBlock = cloneBlock(block);\n // newBlock.props = { ...newBlock.props, ...props };\n\n // return getStore().dispatch(setBlockAction(newBlock));\n\n if (!newBlocks[block.id]) {\n newBlocks[block.id] = cloneBlock(block);\n }\n\n newBlocks[block.id].props = { ...newBlocks[block.id].props, ...props };\n\n clearTimeout(delayUpdate);\n delayUpdate = setTimeout(() => {\n // console.log('WOW !!!', newBlocks);\n Object.values(newBlocks).forEach((b: any) => {\n getStore().dispatch(setBlockAction(b));\n });\n newBlocks = {};\n }, 1000 / 60);\n};\n","/** @jsx jsx */\n\nimport React, {\n Fragment as _,\n useState,\n useEffect,\n createContext,\n useContext,\n useRef,\n cloneElement,\n} from 'react';\nimport { css, jsx } from '@emotion/core';\nimport { keyframes } from 'emotion';\nimport Arrow from 'components/UI/Arrow';\nimport { Box, Text, Flexbox, Row } from '@chameleoncreator/creator-ui';\n// import posed from 'react-pose';\n\nimport { ThemeProvider } from 'emotion-theming';\nimport { interactionContext } from './interactionContext';\nimport isIE from 'services/isIE';\nimport isiOS from 'services/isiOS';\nimport isAppleComputerInc from 'services/isAppleComputerInc';\nimport isAndroidSamsung from 'services/isAndroidSamsung';\nimport getBlockById from 'services/apiHelpers/getBlockById';\nimport setBlockProps from 'services/apiHelpers/setBlockProps';\nimport { motion } from 'framer-motion';\n\nimport IELayout from './IELayout';\n\nconst fader = keyframes`\nfrom {\n opacity: 0;\n}\nto {\n opacity: 1;\n}\n`;\n\n// Close all the accordions (used when e)\nconst close = (obj: {}): {} => {\n return Object.keys(obj).reduce((a, k) => {\n a[k] = false;\n return a;\n }, {});\n};\n\n// The useAccordion hook is a state object that allows\n// for accordions open/close state to be tracked and altered.\n// If the exclusive tag is passed in, it will close all the\n// fields when one is openned\nconst useAccordion = (\n unlock: () => void,\n count: number,\n exclusive?: boolean\n) => {\n const [state, setState] = useState({\n open: {},\n viewed: {},\n });\n\n const toggle = (key: string) => {\n const past = exclusive ? close(state.open) : { ...state.open };\n const viewed = state.viewed[key.toString()]\n ? state.viewed\n : { ...state.viewed, [key.toString()]: true };\n\n if (Object.keys(viewed).length === count) {\n unlock();\n }\n\n setState({\n ...state,\n viewed,\n open: { ...past, [key]: !state.open[key] },\n });\n };\n\n const isOpen = (key: string) => {\n return state.open[key] || false;\n };\n\n return { toggle, isOpen };\n};\n\ninterface AccordionCtx {\n toggle(key: string): void;\n isOpen(key: string): boolean;\n}\n\nconst AccordionContext = createContext({\n toggle: () => {},\n isOpen: () => false,\n});\n\n// A field is the grouping of headers and bodies of accordion fields.\n// It passes information down the the header / body to toggle and\n// open status\nexport const Field = ({ children, ...props }) => {\n const { toggle, isOpen } = useContext(AccordionContext);\n const { headingColor: borderColor } = useContext(interactionContext).props;\n const idx = props.idx;\n const trigger = () => {\n toggle(idx);\n };\n const isFieldOpen = isOpen(idx);\n\n return (\n \n {React.Children.map(children, child =>\n cloneElement(child, { trigger, isOpen: isFieldOpen })\n )}\n \n );\n};\n\ninterface HeaderProps {\n children: JSX.Element | string;\n foreground?: string;\n background?: string;\n}\n\ninterface InjectdProps {\n isOpen: boolean;\n trigger(key: string): void;\n}\n\n// The Field Header is\nexport const FieldHeader = ({\n children,\n foreground = '#fff',\n background = '#222',\n ...props\n}: HeaderProps) => {\n const { isOpen, trigger } = props as InjectdProps;\n\n const { headingColor, headingTextColor } = useContext(\n interactionContext\n ).props;\n\n const spaceBarTrigger = useRef(null);\n\n return (\n \n {\n if (spaceBarTrigger.current) return (spaceBarTrigger.current = false);\n trigger('');\n }}\n onKeyDown={e => {\n if (e.keyCode === 32) {\n spaceBarTrigger.current = true;\n }\n }}\n p={2}\n aria-expanded={isOpen}\n >\n \n {children}\n \n \n \n \n \n \n );\n};\n\n// This posed element is responsible for the transition between open and closed states\n// const Collapse = posed.div({\n// closed: { height: 0 },\n// open: { height: 'auto' },\n// });\n\nexport const FieldBody = ({ children, ...props }) => {\n const { isOpen } = props as InjectdProps;\n\n const { id } = props;\n\n const fieldBody = useRef(null);\n\n const { fieldBodyBackgroundColor, fieldBodyTextColor } = useContext(\n interactionContext\n ).props;\n\n //\n // var it for testing . . .\n const isDevice = isAppleComputerInc() || isAndroidSamsung();\n if (isDevice) {\n return (\n \n {children}\n \n );\n }\n\n return (\n {\n if (isOpen && fieldBody.current) {\n // fieldBody.current.style.visibility = 'visible';\n fieldBody.current.style.display = '';\n }\n }}\n onAnimationComplete={() => {\n if (!isOpen && fieldBody.current) {\n // fieldBody.current.style.visibility = 'hidden';\n fieldBody.current.style.display = 'none';\n }\n }}\n aria-hidden={!isOpen}\n aria-live=\"assertive\"\n >\n \n {children}\n \n \n );\n};\n\n// An accordion is made up of 1 or more children\ninterface AccordionProps {\n children: JSX.Element[] | JSX.Element;\n}\n\nexport const Accordion = ({ children }: AccordionProps) => {\n const iContext = useContext(interactionContext);\n\n const block = getBlockById(iContext.id);\n const unlock = () => {\n if (block.props.lockDown === 0) {\n return;\n }\n setBlockProps(block, { lockDown: 0 });\n };\n\n const ctx = useAccordion(unlock, React.Children.count(children), true);\n\n return (\n \n {React.Children.map(children, (c, i) => cloneElement(c, { idx: i }))}\n \n );\n};\n","/** @jsx jsx */\nimport React, { useState, useRef, useEffect, useLayoutEffect } from 'react';\nimport { css, jsx } from '@emotion/core';\n// import Score from './Scoring/Score';\n\nconst findUl = node => {\n if (node === document.body) {\n return;\n }\n\n if (node.parentNode.tagName.toLowerCase() === 'ul') {\n // foundUl = true;\n // console.log(node.parentNode);\n return node.parentNode;\n }\n\n return findUl(node.parentNode);\n};\n\nconst Indent = ({ type, attributes, children }) => {\n const indent: any = useRef(null);\n\n useLayoutEffect(() => {\n const foundUl = findUl(indent.current.parentNode);\n // console.log({ foundUl });\n\n let closestLi;\n if (foundUl) {\n closestLi = indent.current.closest('li');\n if (closestLi) {\n closestLi.classList.add('indent');\n }\n } else {\n indent.current.classList.add('indent-alt');\n }\n\n return () => {\n closestLi?.classList.remove('indent');\n indent.current.classList.remove('indent-alt');\n };\n }, []);\n\n useEffect(() => {\n // indent.current.classList.add('indent-alt');\n\n requestAnimationFrame(() => {\n const foundUl = findUl(indent.current.parentNode);\n\n if (!foundUl && indent.current.classList.contains('indent-alt')) {\n console.log('kill it with fire !!!');\n }\n });\n }, []);\n\n return (\n \n {children}\n \n );\n};\n\nconst renderMark = (props, editor, next) => {\n const { children, mark, attributes } = props;\n const { type, data } = mark;\n\n switch (type) {\n case 'bold':\n return {children};\n case 'italic':\n return {children};\n case 'underline':\n return {children};\n\n case 'fontFamily':\n const fontFamily = data.get('fontFamily');\n\n return (\n \n {/* */}\n {children}\n \n );\n\n case 'fontSize':\n return (\n \n {children}\n \n );\n\n case 'color':\n return (\n \n {children}\n \n );\n\n case 'indent': {\n return (\n \n {children}\n \n );\n }\n\n case 'superscript': {\n return (\n \n {children}\n \n );\n }\n\n case 'subscript': {\n return (\n \n {children}\n \n );\n }\n\n // case 'score': {\n // return {children};\n // }\n\n default:\n return next();\n }\n};\n\nexport default renderMark;\n","/** @jsx jsx */\nimport React, { Fragment as _, useEffect } from 'react';\nimport { css, jsx } from '@emotion/core';\n\nconst Li = ({ attributes, children }) => {\n useEffect(() => {\n const li = attributes.ref.current;\n let _fontFamily = '';\n let _color = '';\n Array.from(li.querySelectorAll('span')).forEach((span: any) => {\n //\n if (span.closest('a')) {\n return;\n }\n\n const { fontFamily, color } = span.style;\n if (fontFamily && !_fontFamily) _fontFamily = fontFamily;\n if (color && !_color) _color = color;\n });\n\n li.style.fontFamily = _fontFamily;\n li.style.color = _color;\n });\n\n return

  • {children}
  • ;\n};\n\nconst renderNode = (props, editor, next) => {\n const { attributes, children, node, isFocused } = props;\n\n let style;\n try {\n style = props.node.data.toJS().style || {};\n } catch (err) {\n console.warn('!!!');\n }\n\n switch (node.type) {\n case 'list-item':\n // return
  • {children}
  • ;\n return
  • {children}
  • ;\n\n case 'bulleted-list':\n return (\n
      \n {children}\n
    \n );\n\n case 'numbered-list':\n return (\n
      \n {children}\n
    \n );\n\n case 'indented-list':\n return (\n
      \n {children}\n
    \n );\n\n case 'indented':\n return (\n
    \n {children}\n
    \n );\n\n case 'textAlignLeft':\n return (\n
    \n {children}\n
    \n );\n\n case 'textAlignCenter':\n return (\n
    \n {children}\n
    \n );\n\n case 'textAlignRight':\n return (\n
    \n {children}\n
    \n );\n\n case 'heading-one':\n return (\n

    \n {children}\n

    \n );\n\n case 'heading-two':\n return (\n

    \n {children}\n

    \n );\n\n case 'heading-three':\n return (\n

    \n {children}\n

    \n );\n\n case 'paragraph': {\n return (\n

    \n {children}\n

    \n );\n }\n\n case 'code': {\n return (\n
    \n          {children}\n        
    \n );\n }\n\n default:\n return next();\n }\n};\n\nexport default renderNode;\n","/** @jsx jsx */\nimport React, {\n Fragment as _,\n useState,\n useRef,\n useLayoutEffect,\n useEffect,\n Component,\n} from 'react';\nimport { css, jsx } from '@emotion/core';\n\nconst A = ({ href, title, target, attributes, children }) => {\n useEffect(() => {\n const a = attributes.ref.current;\n const localColor = Array.from(a.querySelectorAll('span')).find(\n (span: any) => span.style.color\n ) as any;\n\n if (localColor) {\n a.style.textDecorationColor = localColor.style.color;\n }\n });\n\n return (\n {\n window['CURRENT_LINK_WITH_FOCUS'] = {\n text: currentTarget.innerText,\n href,\n };\n }\n : null\n }\n onMouseOut={\n window.dev() ? () => (window['CURRENT_LINK_WITH_FOCUS'] = null) : null\n }\n >\n {children}\n \n );\n};\n\nconst renderInline = (props, editor, next) => {\n const { attributes, children, node } = props;\n\n switch (node.type) {\n case 'link': {\n const { data } = node;\n const href = data.get('href');\n const title = data.get('title');\n const target = data.get('target');\n\n return (\n \n {children}\n \n );\n }\n\n default:\n return next();\n }\n};\n\nexport default renderInline;\n","import React, { Fragment as _ } from 'react';\nimport { css } from 'emotion';\nimport Html from 'slate-html-serializer';\nimport getCurrentLocation from 'services/getCurrentLocation';\n\nconst rules = [\n {\n deserialize(el, next) {\n const type = el && el.getAttribute && el.getAttribute('data-type');\n\n if (!type) return;\n\n if (\n [\n 'code',\n 'paragraph',\n 'list-item',\n 'bulleted-list',\n 'numbered-list',\n 'indented-list',\n 'indented',\n 'textAlignLeft',\n 'textAlignCenter',\n 'textAlignRight',\n 'heading-one',\n 'heading-two',\n 'heading-three',\n 'br',\n 'span',\n ].includes(type)\n )\n return {\n object: 'block',\n type: type,\n data: {\n className: el.getAttribute('class'),\n element: el,\n },\n nodes: next(el.childNodes),\n };\n },\n serialize(obj, children) {\n if (obj.object == 'block') {\n switch (obj.type) {\n case 'paragraph':\n return (\n

    \n {children}\n

    \n );\n\n case 'list-item':\n return (\n
  • \n {children}\n
  • \n );\n\n case 'bulleted-list':\n return (\n
      \n {children}\n
    \n );\n\n case 'numbered-list':\n return (\n
      \n {children}\n
    \n );\n\n case 'indented-list':\n return (\n
      \n {children}\n
    \n );\n\n case 'indented':\n return (\n
    \n {children}\n
    \n );\n\n case 'textAlignLeft':\n return (\n
    \n {children}\n
    \n );\n\n case 'textAlignCenter':\n return (\n
    \n {children}\n
    \n );\n\n case 'textAlignRight':\n return (\n
    \n {children}\n
    \n );\n\n case 'heading-one':\n return

    {children}

    ;\n\n case 'heading-two':\n return

    {children}

    ;\n\n case 'heading-three':\n return

    {children}

    ;\n\n case 'code':\n return (\n \n {children}\n \n );\n\n case 'br':\n return
    
    ;\n\n case 'span':\n return {children};\n\n case '':\n return <_>{children};\n }\n }\n },\n },\n {\n deserialize(el, next) {\n const type = el && el.getAttribute && el.getAttribute('data-type');\n if (!type) return;\n\n if (['link'].includes(type))\n return {\n object: 'inline',\n type: type,\n data: {\n className: el.getAttribute('class'),\n href: el.getAttribute('href'),\n title: el.getAttribute('title'),\n target: el.getAttribute('target'),\n },\n nodes: next(el.childNodes),\n };\n },\n serialize(obj, children) {\n const isInternalLink = false;\n\n if (obj.object == 'inline') {\n switch (obj.type) {\n case 'link': {\n const href = obj.data.get('href');\n\n return (\n \n {children}\n \n );\n }\n }\n }\n },\n },\n\n {\n deserialize(el, next) {\n const type = el && el.getAttribute && el.getAttribute('data-type');\n\n // !type ||\n if (\n ![\n 'bold',\n 'italic',\n 'underline',\n 'superscript',\n 'subscript',\n 'indent',\n ].includes(type)\n ) {\n return;\n }\n\n let style = el.getAttribute('style');\n if (style) {\n style = style.split(/:/g);\n style = {\n [style[0]]: style[1],\n };\n } else {\n style = {};\n }\n\n return {\n object: 'mark',\n type: type,\n nodes: next(el.childNodes),\n };\n },\n serialize(obj, children) {\n if (obj.object === 'mark') {\n switch (obj.type) {\n case 'bold':\n return {children};\n\n case 'italic':\n return {children};\n\n case 'underline':\n return {children};\n\n case 'superscript':\n return {children};\n\n case 'subscript':\n return {children};\n\n case 'indent':\n return {children};\n }\n }\n },\n },\n\n {\n deserialize(el, next) {\n const type = el && el.getAttribute && el.getAttribute('data-type');\n\n // !type ||\n if (!['fontFamily', 'fontSize', 'color'].includes(type)) {\n return;\n }\n\n let style = el.getAttribute('style');\n if (style) {\n style = style.split(/:/g);\n style = {\n [style[0]]: style[1],\n };\n } else {\n style = {};\n }\n\n return {\n object: 'mark',\n type: type,\n data: {\n className: el.getAttribute('class'),\n fontFamily: style['font-family'],\n fontSize: style['font-size'],\n color: style['color'],\n },\n nodes: next(el.childNodes),\n };\n },\n serialize(obj, children) {\n const { data } = obj.toJS();\n\n if (obj.object === 'mark') {\n switch (obj.type) {\n case 'fontFamily':\n const { fontFamily } = data;\n return (\n \n {children}\n \n );\n case 'fontSize':\n return (\n \n {children}\n \n );\n case 'color':\n return (\n \n {children}\n \n );\n }\n }\n },\n },\n];\n\n//\nconst html = new Html({ rules });\n\nexport default html;\n","const bulletStyles = bulletColor => `\nul {\n list-style: none;\n margin-left: 15px;\n}\n\nul li::before {\n content: '\\\\2022';\n color: ${bulletColor};\n font-weight: 700;\n display: inline-block;\n width: 1em;\n margin-left: -1em;\n}\n\nol {\n counter-reset: li;\n margin-left: 0;\n padding-left: 0;\n\n > li {\n position: relative;\n left: -5px;\n margin: 0 0 0 20px;\n padding: 2px 0;\n list-style: none;\n\n \n }\n\n > li:before {\n content: counter(li);\n counter-increment: li;\n position: absolute;\n top: -2px;\n left: -2em;\n width: 2em;\n box-sizing: border-box;\n\n \n padding: 4px 0;\n font-weight: 700;\n text-align: center;\n\n color: ${bulletColor};\n }\n}\n\n.chameleon-ol .indented-list li::before {\n margin-left: 12px;\n// text-indent: 1px;\n\n \n}\n\n.chameleon-ul ul{\nmargin-left: 15px;\n}\n\n.indented-list li::before {\n content: \"\\\\25cb\" !important;\n // text-indent: -4px;\n color: ${bulletColor};\n display: inline-block;\n width: 1em;\n margin-left: -1em;\n}\n\n.indented {\npadding: 0 0 0 1em;\n }\n `;\n\nexport default bulletStyles;\n","/** @jsx jsx */\n\nimport React, { useState, useRef, useLayoutEffect, useEffect } from 'react';\nimport { css, jsx } from '@emotion/core';\nimport { Text } from '@chameleoncreator/creator-ui';\nimport isIE from 'services/isIE';\n// import { getDummyScore } from 'services/scoring';\nimport getStore from 'services/getStore';\nimport 'services/ie11closestPolyfill';\nimport doDirtyTestContent from 'services/doDirtyTestContent';\nimport bulletStyles from './bulletStyles';\n\nconst store = getStore();\nlet { textColor = '' } = store.getState().theme;\n\nlet counter = 0;\n\nconst ReadOnlyText = ({\n content,\n className,\n useBackgroundControls,\n borderRadius,\n backgroundColor,\n bulletColor,\n}) => {\n //\n const readOnlyText = useRef(null);\n const section = useRef(null);\n const hasScoring = useRef(null);\n\n // useLayoutEffect(() => {\n // isIE() &&\n // doDirtyTestContent(\n // readOnlyText.current.querySelector('div'),\n // false,\n // 'https://www.artstation.com/artwork/4bZ8B4'\n // );\n // }, []);\n\n return (\n \n \n \n );\n};\n\nexport default ReadOnlyText;\n","/** @jsx jsx */\n\nimport React, {\n useState,\n useRef,\n useEffect,\n useMemo,\n useLayoutEffect,\n Fragment as _,\n} from 'react';\nimport { Editor } from 'slate-react';\nimport { Value } from 'slate';\nimport { css, jsx } from '@emotion/core';\nimport EditMarker from 'components/UI/EditMarker';\nimport { connect, useSelector } from 'react-redux';\n\nimport renderMark from './renderMark';\nimport renderNode from './renderNode';\nimport renderInline from './renderInline';\n\nimport html from './serializer';\nimport slatePlainSerializer from 'slate-plain-serializer';\nimport getBlockById from 'services/apiHelpers/getBlockById';\nimport setBlock from 'services/apiHelpers/setBlockProps';\nimport setCurrentBlock from 'services/apiHelpers/setCurrentBlock';\nimport { Text } from '@chameleoncreator/creator-ui';\nimport getStore from 'services/getStore';\nimport { isKeyHotkey } from 'is-hotkey';\nimport ReadOnlyText from './ReadOnlyText';\nimport isIE from 'services/isIE';\nimport bulletStyles from './bulletStyles';\n\nconst store = getStore();\n\nconst isBoldHotkey = isKeyHotkey('mod+b');\nconst isItalicHotkey = isKeyHotkey('mod+i');\nconst isUnderlinedHotkey = isKeyHotkey('mod+u');\n\nconst schema = {\n marks: {\n score: {\n isVoid: true,\n },\n },\n};\n\nconst getInitialValue = content =>\n Value.fromJSON(\n content || {\n document: {\n nodes: [\n {\n object: 'block',\n type: 'paragraph',\n nodes: [\n {\n object: 'text',\n // leaves: [\n // {\n // text: '',\n // },\n // ],\n },\n ],\n },\n ],\n },\n }\n );\n\nexport const placeholderText = 'Add content...';\n\nlet delayUpdate;\n\nconst EditableText = ({ focusedNodeId, ...props }) => {\n const { id, className } = props;\n const block = getBlockById(id);\n const {\n content = '',\n json,\n borderRadius = 0,\n useBackgroundControls,\n backgroundColor,\n bulletColor = '#000',\n } = block.props;\n\n if (!window.dev()) {\n return (\n \n );\n }\n\n const [state, setState] = useState({\n value: html.deserialize(content),\n });\n\n const text = useRef(null);\n const editor = useRef(null);\n const section = useRef(null);\n const selected = focusedNodeId === id;\n\n // const bullet = '\"\\\\2022\"';\n\n if (window.dev() && selected)\n window['__CURRENT_EDITOR_CLEAR_ALL_FORMATTING__'] = content => {\n setBlock(getBlockById(id), {\n content,\n });\n\n setState({\n value: html.deserialize(content),\n });\n };\n\n useEffect(() => {\n if (!selected) return;\n\n parent.editor = editor.current;\n }, [selected]);\n\n // not to\n // update with all the colors\n\n useLayoutEffect(() => {\n // test\n // if !window.dev() < ???\n if (!text.current) {\n return;\n }\n\n //\n const innerText = text.current.innerText\n .toString()\n .replace(/\\s\\s+/g, ' ')\n .trim();\n\n const hasPlaceholder = innerText === placeholderText;\n\n text.current.style.textAlign = '';\n\n if (hasPlaceholder)\n requestAnimationFrame(() => {\n if (text.current) text.current.style.textAlign = 'left';\n });\n });\n\n const onChange = ({ value }) => {\n // this was causing a loss of focus\n // assuming because of the update being delayed\n // if (!selected) {\n // return;\n // }\n\n if (value.document !== state.value.document) {\n clearTimeout(delayUpdate);\n delayUpdate = setTimeout(() => {\n setBlock(getBlockById(id), {\n // text: slatePlainSerializer.serialize(value),\n content: html.serialize(value),\n // json: value.toJSON(),\n });\n }, 500);\n }\n\n setState({ value });\n };\n\n const onKeyDown = (e, editor, next) => {\n let mark;\n\n if (isBoldHotkey(e)) {\n mark = 'bold';\n } else if (isItalicHotkey(e)) {\n mark = 'italic';\n } else if (isUnderlinedHotkey(e)) {\n mark = 'underline';\n } else {\n return next();\n }\n\n e.preventDefault();\n editor.toggleMark(mark);\n };\n\n if (selected && editor.current) parent.editor = editor.current;\n\n return (\n {\n e.stopPropagation();\n\n if (selected) return;\n setCurrentBlock({ id });\n setTimeout(() => {\n editor.current.focus();\n }, 10);\n }}\n fontFamily={store.getState().theme.fontFamily || ''}\n >\n {\n let pasted = (\n e.clipboardData || (window as any).clipboardData\n ).getData('text');\n\n // break it\n const pastedToPs = pasted\n .split(/(\\r\\n|\\n|\\r)/g)\n .map(p => p.replace(/\\s\\s+/g, ' ').trim())\n .filter(p => p !== '')\n .map(p => `

    ${p}

    `)\n .join('');\n\n // ' filter ' it ?\n const { document } = html.deserialize(pastedToPs);\n\n editor.current.insertFragment(document);\n // or just prang in the text ?\n // editor.current.insertText(paste);\n\n e.preventDefault();\n }}\n renderMark={renderMark}\n // renderNode\n renderBlock={renderNode}\n renderInline={renderInline}\n />\n\n {selected && parent.updateEditor && parent.updateEditor(Math.random())}\n\n {!selected && }\n \n );\n};\n\nexport default connect(\n ({ focusedNodeId }: { focusedNodeId: string | number }) => ({\n focusedNodeId,\n [Math.random()]: '',\n })\n)(EditableText);\n","import EditableText from './EditableText';\n\nexport default EditableText;\n","import getBlockById from 'services/apiHelpers/getBlockById';\nimport setBlockProps from 'services/apiHelpers/setBlockProps';\nimport { setInteractionsLockedData } from 'services/scorm/scormService';\n\n// export default (id, showMessage = false) => {\n// if (!window.dev())\n// return requestAnimationFrame(() => {\n// const block = getBlockById(id);\n// if (block.props.lockDown === 0) return;\n// setBlockProps(getBlockById(id), { lockDown: 0 });\n// });\n// showMessage && console.log(`${id} will unlock in production. . .`);\n// };\n\nconst unlockInteraction = (id, length = 0) => {\n if (window.dev()) return () => {};\n\n const block = getBlockById(id);\n const { lockDown } = block.props;\n\n if (!!!length) {\n if (lockDown === 1) {\n setInteractionsLockedData(id);\n setBlockProps(block, { lockDown: 0 });\n }\n // lockDown === 1 && setBlockProps(block, { lockDown: 0 });\n return () => {};\n }\n\n let itemsSeen = [];\n\n return entry => {\n if (block.props.lockDown === 0) return;\n\n itemsSeen = itemsSeen.includes(entry) ? itemsSeen : [...itemsSeen, entry];\n itemsSeen.length === length &&\n requestAnimationFrame(() => {\n setInteractionsLockedData(id);\n setBlockProps(block, { lockDown: 0 });\n });\n\n return itemsSeen;\n };\n};\n\nexport default unlockInteraction;\nexport { unlockInteraction };\n","/** @jsx jsx */\n\nimport React, { useState, useEffect } from 'react';\nimport { keyframes } from 'emotion';\nimport { css, jsx } from '@emotion/core';\nimport { values, colors } from 'styles/variables';\nimport getCurrentTopic from 'services/apiHelpers/getCurrentTopic';\nimport getInteractionsInTopic from 'services/apiHelpers/getInteractionsInTopic';\nimport setCurrentBlock from 'services/apiHelpers/setCurrentBlock';\nimport Plus from 'assets/Plus.svg';\n\nconst { lPink } = colors;\nconst { headerHeight } = values;\n\nconst color = lPink;\n// const width = 40;\nconst size = 40;\nconst bottomPadding = 30;\nconst getBoxShadow = hover =>\n `box-shadow: 0 3px 10px rgba(0, 0, 0, ${hover ? 0.25 : 0});`;\n\nconst fadeInHilite = keyframes`\n\tfrom {\n\t\topacity: 0;\n\t}\n\tto {\n\t\topacity: 1;\n\t}\n`;\n\nconst Wrapper = ({ id, focusedNodeId }) => {\n const [hover, setHover] = useState(false);\n\n return (\n \n \n\n {\n parent.setNewSectionWizard && parent.setNewSectionWizard(true);\n }}\n />\n\n setHover(true)}\n onMouseOut={() => setHover(false)}\n onClick={() => {\n setCurrentBlock(focusedNodeId !== id ? { id } : null);\n }}\n >\n SETTINGS\n \n \n );\n};\n\nexport default Wrapper;\n","/** @jsx jsx */\n\nimport React, {\n Fragment as _,\n useState,\n useEffect,\n useRef,\n useMemo,\n useLayoutEffect,\n useCallback,\n memo,\n} from 'react';\nimport { css, jsx } from '@emotion/core';\nimport getTopics from 'services/apiHelpers/getTopics';\nimport setCurrentTopic from 'services/apiHelpers/setCurrentTopic';\nimport { useSelector } from 'react-redux';\nimport onScrollEnds from 'services/onScrollEnds';\nimport pubSub from 'services/pubSub';\n\nconst HiddenBackButton = ({ id }) => {\n const [disabled, setDisabled] = useState(false);\n const currentTopic = useSelector(({ currentTopic }: any) => currentTopic);\n\n const isMounted = useRef(true);\n\n const getInteractions = () =>\n Array.from(document.querySelectorAll('[data-section]'));\n\n const getPrevSection = () => {\n const interactions = getInteractions();\n\n const currentSectionIndex = interactions.findIndex(\n (i: any) => i.id === `i${id}`\n );\n\n const prevSection = interactions[currentSectionIndex - 1];\n\n return prevSection;\n };\n\n const getPrevTopic = () => {\n const topics: any = getTopics();\n\n const prevTopic =\n topics[topics.findIndex((t: any) => t.id === currentTopic) - 1];\n\n return prevTopic;\n };\n\n const navToPrevTopic = () => {\n if (window.locationHistory) {\n window.location.hash = window.locationHistory;\n return (window.locationHistory = null);\n }\n\n const prevTopic = getPrevTopic();\n\n if (!prevTopic) return;\n\n setCurrentTopic(prevTopic.id);\n requestAnimationFrame(() => {\n const interactions = getInteractions();\n interactions[interactions.length - 1].scrollIntoView();\n });\n };\n\n const goBack = () => {\n const prevSection: any = getPrevSection();\n\n if (prevSection) {\n prevSection.scrollIntoView({\n behavior: 'smooth',\n });\n\n onScrollEnds(() => {\n prevSection.focus();\n });\n } else {\n navToPrevTopic();\n }\n };\n\n const isModulesFirstInteraction = () => {\n const isTopic0 =\n getTopics().findIndex((t: any) => t.id === currentTopic) === 0;\n const hasPrevSection = !!getPrevSection();\n\n if (isTopic0) {\n if (!hasPrevSection) {\n return true;\n }\n }\n\n return false;\n };\n\n useEffect(() => {\n if (isModulesFirstInteraction()) {\n setDisabled(true);\n }\n\n return () => {\n isMounted.current = false;\n };\n }, []);\n\n return (\n {\n pubSub.publish('HILITE_CHAMELEON_BACK_BUTTON', { toggle: true });\n }}\n onBlur={() => {\n pubSub.publish('HILITE_CHAMELEON_BACK_BUTTON', { toggle: false });\n }}\n aria-label=\"Go back\"\n >\n {/* {id} */}\n Go back\n \n );\n};\n\nexport default HiddenBackButton;\n","/** @jsx jsx */\n\nimport React from 'react';\nimport { css, jsx } from '@emotion/core';\n\nimport useImageLoader from 'hooks/useImageLoader';\n\nconst Background = ({ background, backgroundImageOpacity }) => {\n const imgLoadedState = useImageLoader(\n background ? background.split(/\\(|\\)/g)[1] : ''\n );\n\n const opacity = backgroundImageOpacity / 100;\n\n return (\n \n );\n};\n\nexport default Background;\n","import getTopics from 'services/apiHelpers/getTopics';\nimport getStore from 'services/getStore';\nimport { updateInteractionsOpenAction } from 'store/next';\nimport getCurrentTopic from 'services/apiHelpers/getCurrentTopic';\nimport setCurrentTopic from 'services/apiHelpers/setCurrentTopic';\nimport onScrollEnds from 'services/onScrollEnds';\nimport { subscriptionExchange } from 'urql';\n\nconst store = getStore();\n\nconst navToNextTopic = () => {\n const topics = getTopics();\n const nextTopic =\n topics[topics.findIndex(t => t.id === getCurrentTopic().id) + 1];\n\n if (!nextTopic) return;\n\n setCurrentTopic(nextTopic.id);\n\n window.scrollTo(0, 0);\n};\n\nconst next = (sId, id) => l => {\n if (l !== 'next') {\n // window.USE_UPDATED_NAV\n // if (window.sessionStorage.getItem('USE_UPDATED_NAV') === 'true') {\n\n // updated. always true ( < remove later )\n\n // we're setting this in module.tsx onHashChange\n // const currentTopic = getCurrentTopic();\n // const locationHistory = `${currentTopic.props.sId ||\n // currentTopic.id}/${sId || id}`;\n // window.locationHistory = locationHistory;\n\n // console.log({ l });\n\n window.location.hash = l;\n\n // old way\n // } else {\n // window.locationHistory = `${getCurrentTopic().id}/${id}`;\n // setCurrentTopic(l);\n // }\n\n return;\n }\n\n requestAnimationFrame(\n () =>\n (window.location.hash = Math.random()\n .toString(16)\n .substr(2, 8))\n );\n\n window.locationHistory = null;\n\n store.dispatch(updateInteractionsOpenAction(id));\n // console.log(store.getState().interactionsOpen);\n\n const getNextInteraction = () => {\n // testing this\n const interactions = Array.from(document.querySelectorAll('section'));\n // Array.from(document.querySelectorAll('[data-section]'));\n\n const nextInteraction: any =\n interactions[interactions.findIndex(i => i.id === `i${id}`) + 1];\n\n // if (nextInteraction) {\n // store.dispatch({\n // type: 'UPDATE_INTERACTIONS_SEEN',\n // data: {\n // id: nextInteraction.id,\n // },\n // });\n // }\n\n return nextInteraction;\n };\n\n requestAnimationFrame(() => {\n // const interactions = Array.from(\n // document.querySelectorAll('[data-section]')\n // );\n\n // const nextInteraction: any =\n // interactions[interactions.findIndex(i => i.id === `i${id}`) + 1];\n const nextInteraction = getNextInteraction();\n\n if (nextInteraction) {\n nextInteraction.scrollIntoView({\n behavior: 'smooth',\n });\n\n onScrollEnds(() => {\n // requestAnimationFrame(() => nextInteraction.focus());\n\n // store.dispatch({\n // type: 'UPDATE_INTERACTIONS_SEEN',\n // data: {\n // id: nextInteraction.id.replace(/i/, ''),\n // },\n // });\n\n nextInteraction.focus();\n });\n } else {\n navToNextTopic();\n }\n\n // nextInteraction\n // ? nextInteraction.scrollIntoView({\n // behavior: 'smooth',\n // })\n // : navToNextTopic();\n });\n};\n\nexport default next;\n","/** @jsx jsx */\n\nimport React, {\n Fragment as _,\n useState,\n useEffect,\n useRef,\n useMemo,\n useLayoutEffect,\n memo,\n useContext,\n} from 'react';\nimport { keyframes } from 'emotion';\nimport { css, jsx } from '@emotion/core';\nimport { values, colors } from 'styles/variables';\nimport { connect } from 'react-redux';\nimport getBlockById from 'services/apiHelpers/getBlockById';\nimport { createContext } from 'react';\nimport { Box, Flexbox } from '@chameleoncreator/creator-ui';\nimport getTopics from 'services/apiHelpers/getTopics';\nimport getStore from 'services/getStore';\nimport getCurrentTopic from 'services/apiHelpers/getCurrentTopic';\nimport setCurrentTopic from 'services/apiHelpers/setCurrentTopic';\nimport useImageLoader from 'hooks/useImageLoader';\nimport { getSuspendData } from 'services/scorm/scormService';\nimport isIE from 'services/isIE';\nimport ie11VerticalFlexCenterFix from 'services/ie11VerticalFlexCenterFix';\nimport { unlockInteraction } from 'services/unlockInteraction';\nimport { getInteractionsLockedData } from 'services/scorm/scormService';\nimport isLastInteraction, {\n setLastInteractionSeen,\n} from 'services/apiHelpers/isLastInteraction';\nimport getInteractionsInTopic from 'services/apiHelpers/getInteractionsInTopic';\nimport setCurrentBlock from 'services/apiHelpers/setCurrentBlock';\nimport Wrapper from './Wrapper';\nimport { useSelector } from 'react-redux';\nimport HiddenBackButton from './HiddenBackButton';\nimport onScrollEnds from 'services/onScrollEnds';\nimport getAllInteractions from 'services/apiHelpers/getAllInteractions';\nimport Background from './Background';\nimport next from './next';\nimport updateReadOnlyText from 'services/updateReadOnlyText';\nimport pubSub from 'services/pubSub';\nimport { createSelector } from 'reselect';\nimport { updateInteractionsOpenAction } from 'store/next';\n\nconst store = getStore();\n\nconst { lPink } = colors;\nconst { headerHeight } = values;\n\nconst fadeInHilite = keyframes`\n\tfrom {\n\t\topacity: 0;\n\t}\n\tto {\n\t\topacity: 1;\n\t}\n`;\n\nlet hasFocus: boolean;\n\nconst renderCount = {};\n\nexport const InteractionContext = createContext(undefined);\n\nconst getInteractionsOpen = createSelector(\n (state: any) => state.interactionsOpen,\n interactionsOpen => interactionsOpen\n);\n\nconst Container = props => {\n const {\n id,\n focusedNodeId,\n name,\n style,\n children,\n isFirstInteractionInTopic,\n // isOpen,\n lockDown,\n } = props;\n\n let {\n sId,\n background = undefined,\n backgroundImage = undefined,\n backgroundImageOpacity = 100,\n src = undefined,\n textColor = style.foreground,\n } = getBlockById(id).props;\n\n let interactionsOpen = useSelector(getInteractionsOpen);\n const isOpen = props.isOpen || interactionsOpen.includes(id);\n\n // dirty gotta try and cover for legacy backgroundImage\n if (src) {\n // console.log({ src, backgroundImage });\n backgroundImage = `url(${src}) center / cover no-repeat`;\n }\n\n const section = useRef(null);\n const selected = id === focusedNodeId;\n\n const parsedTextColor =\n textColor ||\n getBlockById(getCurrentTopic().id).props.textColor ||\n (store.getState().theme as any).textColor ||\n '';\n const contentContainer = useRef(null);\n\n useLayoutEffect(() => {\n if (!section.current) {\n section.current = document.querySelector(`#i${id}`);\n }\n\n !window.dev() && updateReadOnlyText(section.current);\n }, [parsedTextColor]);\n\n useEffect(() => {\n const pS = pubSub.subscribe('FOCUS_NODE', $ => {\n // console.log($);\n setCurrentBlock($);\n });\n\n return () => {\n pS();\n };\n }, []);\n\n useEffect(() => {\n if (selected) hasFocus = true;\n return () => {\n hasFocus = false;\n };\n }, []);\n\n useEffect(() => {\n if (!lockDown) {\n return;\n }\n\n // unlocking from saved state in lms\n if (getInteractionsLockedData(id) !== undefined) {\n unlockInteraction(id);\n }\n });\n\n useEffect(() => {\n if (!section.current) {\n return;\n }\n\n const onFocus = () => {\n // console.log(section.current);\n };\n\n section.current.addEventListener('focus', onFocus);\n\n return () => {\n section?.current.removeEventListener('focus', onFocus);\n };\n }, []);\n\n let isLocked = lockDown;\n\n // since the background gets set on the style on creation\n // kill it if we have a ' local ' background color\n // goal would be to remove it from the factory. but it's legacy from wizard\n // WINDING on down. . .\n const overideStyleBackground = props.hasOwnProperty('background')\n ? {\n background: background || '',\n }\n : {};\n\n const getSectionLabel = () => {\n return `Section ${getAllInteractions().findIndex((i: any) => i === id) +\n 1}`;\n };\n\n if (!renderCount[id]) {\n renderCount[id] = 0;\n }\n\n // console.log(`container ${name} renders`, (renderCount[id] += 1));\n\n return (\n \n \n \n\n \n\n {!isIE() ? (\n \n {children}\n \n ) : (\n \n \n {children}\n \n \n )}\n\n {window.dev() && }\n \n \n );\n};\n\n// export default Container;\n\nexport default connect(\n ({ focusedNodeId }: { focusedNodeId: string | number }) => ({\n focusedNodeId,\n // forceUpdate: Math.random(),\n })\n)(Container);\n","import getStore from 'services/getStore';\nimport { colors } from 'styles/variables';\n\nconst { lPink } = colors;\n\nconst checkButtonColors = props => {\n const {\n buttonBackgroundColor,\n buttonTextColor,\n } = getStore().getState().theme;\n\n const { localBackgroundColor, localColor } = props;\n\n // we preference in order :\n // props.background _ color set on button directly\n // buttonBackgroundColor _ color from them ( if any )\n // props.buttonBackground _ color from wizard ( if any )\n // default\n // sameness for textColor. . .\n\n // checked with ' localBackgroundColor, localColor ' which update to true when changed in settings\n // SINCE\n // where the fudge is the background from the ' section ' coming in here !!!!!\n //\n return {\n background:\n (localBackgroundColor && props.background) ||\n buttonBackgroundColor ||\n props.buttonBackground ||\n lPink,\n color:\n (localColor && props.color) ||\n buttonTextColor ||\n props.buttonForeground ||\n '#fff',\n };\n};\n\nexport default checkButtonColors;\n","/** @jsx jsx */\n\nimport { useContext, useRef, useEffect } from 'react';\nimport { css, jsx } from '@emotion/core';\nimport { colors, getButtonFocus } from 'styles/variables';\nimport { Button, Box } from '@chameleoncreator/creator-ui';\nimport { InteractionContext } from '../../Layouts/ContainerLogical';\nimport { useLayoutEffect } from 'react';\nimport getStore from 'services/getStore';\nimport isIE from 'services/isIE';\nimport { ModuleContext } from 'components/Module/Module_v2';\nimport { useSelector } from 'react-redux';\nimport { updateInteractionsOpenAction } from 'store/next';\n\nconst store = getStore();\nconst { lPink } = colors;\nconst ieCircleBtnPadding = 20;\n\nconst interactionsOpenCache = {};\n\nconst DButton = ({\n id,\n shape,\n background = 'pink',\n foreground = 'white',\n borderWidth,\n borderColor,\n borderRadius,\n buttonOutline,\n useLargeButton,\n buttonShadow,\n font = '',\n children,\n location,\n focusColor,\n enabled,\n ...props\n}) => {\n const shapeStyle = {\n pill: 'border-radius: 9999px',\n rectangle: `border-radius: ${borderRadius}px`,\n circle: 'border-radius: 50%',\n }[shape];\n\n const ctx = useContext(InteractionContext) as any;\n const { exit: closeWindow } = useContext(ModuleContext);\n const btn = useRef(null);\n // const exit = isLastInteraction(ctx.id);\n\n const exit = location === 'exit';\n\n const { fontFamily: fontFromTheme } = store.getState().theme;\n\n // the glitch found\n // using continue button in modals or anywhere outside of the ' root page '\n // they'll have this same locking behaviour\n let isLocked;\n\n if (window.dev()) {\n isLocked = false;\n } else {\n isLocked = ctx.isLocked === undefined ? false : ctx.isLocked;\n if (props.unlocked && props.unlocked === true) {\n isLocked = false;\n }\n }\n\n const _isLocked = useSelector((state: any) => {\n return state.blocks[ctx.id].props.lockDown;\n });\n\n if (_isLocked === 0) {\n isLocked = _isLocked;\n }\n\n useEffect(() => {\n return;\n\n if (window.dev()) {\n return;\n }\n\n // console.log({ interactionsOpenCache });\n\n if (!interactionsOpenCache[ctx.id] && _isLocked === 0) {\n store.dispatch(updateInteractionsOpenAction(ctx.id));\n interactionsOpenCache[ctx.id] = true;\n }\n }, [_isLocked]);\n\n useLayoutEffect(() => {\n if (shape === 'circle' && isIE()) {\n const size = btn.current.querySelector('#ie-btn-children-container')\n .scrollWidth;\n btn.current.style.width = `${size + ieCircleBtnPadding}px`;\n btn.current.style.height = `${size + ieCircleBtnPadding}px`;\n }\n }, []);\n\n useLayoutEffect(() => {\n if (shape === 'circle') {\n btn.current.style.height = `${btn.current.offsetWidth}px`;\n return;\n }\n btn.current.style.height = 'auto';\n btn.current.style.minHeight = '45px';\n\n if (isIE()) {\n const h = btn.current.querySelector('#ie-btn-children-container')\n .scrollHeight;\n\n btn.current.style.height = `${h + 10}px`;\n }\n });\n\n // old vals\n // ${borderColor && `border: ${borderWidth}px solid ${borderColor};`}\n\n const disabled = !window.dev() ? !!isLocked : false;\n\n return (\n {\n if (window.dev()) {\n return;\n }\n\n exit ? closeWindow() : ctx.next(location);\n }}\n style={{\n ...(isLocked && {\n opacity: 0.25,\n pointerEvents: 'none',\n }),\n }}\n >\n {isIE() ? (\n \n {children}\n \n ) : (\n children\n )}\n \n );\n};\n\nexport default DButton;\n","/** @jsx jsx */\n\nimport { useState, useContext, useRef, useEffect } from 'react';\nimport { css, jsx } from '@emotion/core';\nimport { colors } from 'styles/variables';\nimport getStore from 'services/getStore';\n\nconst store = getStore();\n\nconst { lPink } = colors;\n\nlet lastPageMessageReceived = false;\n\nconst LastPageMessage = () => {\n const [showLastPageMessage, setShowLastPageMessage] = useState(\n lastPageMessageReceived\n );\n\n const Arrow = ({ width = 5, height = 13 }) => (\n \n \n \n \n \n );\n\n return !lastPageMessageReceived ? (\n \n
    \n This is the last page of your module. Consider adding an 'Exit' action\n and label, or removing the button altogether.\n
    \n\n {\n e.stopPropagation();\n setShowLastPageMessage((lastPageMessageReceived = true));\n }}\n >\n Got it!\n \n \n \n ) : null;\n};\n\nexport default LastPageMessage;\n","import getTopics from 'services/apiHelpers/getTopics';\nimport getInteractionsInTopic from 'services/apiHelpers/getInteractionsInTopic';\n\nconst hasValidLocationUpdated = location => {\n if (!location) {\n return undefined;\n }\n\n if (['next', 'exit'].includes(location)) {\n return true;\n }\n //\n\n const [topicSId, interactionSId] = location.split('/');\n\n const topics = getTopics();\n const topic = topics.find((t: any) => {\n const tSId = t.props.sId || t.id;\n const found = tSId == topicSId;\n\n return found;\n });\n\n if (!topic) {\n return false;\n }\n\n const interactions = getInteractionsInTopic(topic);\n const interaction = interactions.find((i: any) => {\n const iSId = i.props.sId || i.id;\n const found = iSId == interactionSId;\n\n return found;\n });\n\n return interaction ? true : false;\n};\n\nexport default hasValidLocationUpdated;\n","/** @jsx jsx */\n\nimport React, {\n memo,\n useMemo,\n useState,\n useContext,\n useRef,\n useEffect,\n} from 'react';\nimport { css, jsx } from '@emotion/core';\nimport EditMarker from 'components/UI/EditMarker';\nimport { colors } from 'styles/variables';\nimport setCurrentBlock from 'services/apiHelpers/setCurrentBlock';\nimport setBlockProps from 'services/apiHelpers/setBlockProps';\nimport { connect } from 'react-redux';\nimport { Button, Box } from '@chameleoncreator/creator-ui';\nimport { InteractionContext } from '../../Layouts/ContainerLogical';\nimport { useLayoutEffect } from 'react';\nimport checkButtonColors from 'services/checkButtonColors';\nimport getAllInteractions from 'services/apiHelpers/getAllInteractions';\nimport isLastInteraction from 'services/apiHelpers/isLastInteraction';\nimport { onExit } from 'services/scorm/scormService';\nimport getBlockById from 'services/apiHelpers/getBlockById';\nimport getStore from 'services/getStore';\nimport isIE from 'services/isIE';\nimport getTopics from 'services/apiHelpers/getTopics';\nimport { useSelector } from 'react-redux';\nimport DButton from './DButton';\nimport { findByKeyVal_V2 } from 'services/findByKeyVal';\nimport LastPageMessage from 'components/Editor/EditorUtilities/UI/LastPageMessage';\nimport hasValidLocationUpdated from 'services/hasValidLocationUpdated';\n\nconst store = getStore();\n\nconst { lPink } = colors;\n\nconst ieCircleBtnPadding = 20;\n\nconst renderCount = {};\n\ninterface IEditable {\n isEditActive: boolean;\n children: any;\n lockDown: boolean;\n unlocked?: boolean;\n id: string;\n shape?: string;\n background?: string;\n foreground?: string;\n label?: string;\n color?: string;\n borderWidth?: string;\n borderColor?: string;\n localBorderColor?: boolean;\n buttonShape?: string;\n localShape?: boolean;\n borderRadius?: number | string;\n localBorderRadius?: boolean;\n localButtonOutline?: boolean;\n buttonOutline?: boolean;\n useLargeButton?: boolean;\n localUseLargeButton?: boolean;\n // buttonBorderRadius?: number | string;\n // localButtonBorderRadius?: boolean;\n buttonShadow?: boolean;\n localShadow?: boolean;\n font?: string;\n location?: string;\n style?: {};\n hasSetRemoveable?: boolean;\n removeable?: boolean;\n focusColor?: string;\n disableLastPageMessage?: boolean;\n enabled?: boolean;\n}\n\nconst ContinueBtn = (props: IEditable) => {\n const {\n isEditActive,\n id,\n label,\n shape,\n // background,\n // color,\n borderWidth,\n // borderColor,\n // buttonShadow,\n // useLargeButton = false,\n font,\n location,\n unlocked,\n disableLastPageMessage,\n focusColor,\n } = props as any;\n\n // might not need this just yet\n // button is ' disabled ' by isLocked on interaction context\n let { enabled } = props;\n // so we can map it something else if need be\n\n const {\n buttonShape,\n buttonShadow,\n buttonOutline,\n useLargeButton,\n borderColor,\n buttonBorderRadius = 0,\n } = useSelector((state: any) => {\n // props.localShape props.localShadow\n // if this is set. means author has made a decision on the button props\n // we preference this setting true or false\n\n const {\n buttonShape,\n buttonShadow,\n buttonOutline,\n useLargeButton,\n buttonBorderColor,\n buttonBorderRadius,\n } = state.theme;\n\n return {\n buttonShape: props.localShape ? props.buttonShape : buttonShape,\n buttonShadow: props.localShadow ? props.buttonShadow : buttonShadow,\n buttonOutline: props.localButtonOutline\n ? props.buttonOutline\n : buttonOutline,\n useLargeButton: props.localUseLargeButton\n ? props.useLargeButton\n : useLargeButton,\n borderColor: props.localBorderColor\n ? props.borderColor\n : buttonBorderColor,\n buttonBorderRadius: props.localBorderRadius\n ? props.borderRadius\n : buttonBorderRadius,\n };\n });\n\n const { background, color } = checkButtonColors(props);\n\n const interactionContext = useContext(InteractionContext) as any;\n\n const exit =\n getAllInteractions().length > 1 &&\n // label.toLowerCase() === 'continue' &&\n location !== 'exit' &&\n isLastInteraction(interactionContext.id);\n\n useEffect(() => {\n // this is the hack to get this onto the legacy buttons\n // would want to set it from the factory but that would only work for newly created buttons\n //\n if (props.hasOwnProperty('removeable')) {\n const { hasSetRemoveable, removeable } = props;\n if (!hasSetRemoveable) {\n setBlockProps(getBlockById(id), { hasSetRemoveable: true, removeable });\n }\n }\n }, []);\n\n // error checking here against a potentially removed topic\n const hasValidLocation = hasValidLocationUpdated(location);\n // location === 'next'\n // ['next', 'exit'].includes(location)\n // ? true\n // : !!getTopics().find((t: any) => t.id === location);\n\n let buttonBlock = findByKeyVal_V2(\n interactionContext.id,\n 'type',\n 'Column'\n ) as any;\n\n const buttonCount =\n buttonBlock.meta &&\n buttonBlock.meta.subType === 'ButtonBlock' &&\n buttonBlock.children.length;\n\n return window.dev() ? (\n {\n e.stopPropagation();\n if (isEditActive) {\n return;\n }\n setCurrentBlock({ id });\n }}\n >\n \n {/* {exit ? 'Exit' : label} */}\n {label}\n \n {!isEditActive && }\n\n {/* can only have the one button. else assumption is made author knows what they're up to */}\n {buttonCount === 1 && exit && !disableLastPageMessage && (\n \n )}\n \n ) : (\n \n {/* {exit ? 'Exit' : label} */}\n {label}\n \n );\n};\n\nexport default connect(\n ({ focusedNodeId }: { focusedNodeId: string | number }, props: any) => {\n return {\n isEditActive: focusedNodeId === props.id && props.id !== undefined,\n // [Math.random()]: '',\n };\n }\n)(ContinueBtn);\n\n// const Bx = (props: any) => {\n// // console.log(props.id, 'CONTINUE');\n\n// const {\n// buttonShape,\n// buttonShadow,\n// buttonOutline,\n// borderColor,\n// buttonBorderRadius = 0,\n// } = useSelector((state: any) => {\n// // props.localShape props.localShadow\n// // if this is set. means author has made a decision on the button props\n// // we preference this setting true or false\n\n// const {\n// buttonShape,\n// buttonShadow,\n// buttonOutline,\n// buttonBorderColor,\n// buttonBorderRadius,\n// } = state.theme;\n\n// return {\n// buttonShape: props.localShape ? props.buttonShape : buttonShape,\n// buttonShadow: props.localShadow ? props.buttonShadow : buttonShadow,\n// buttonOutline: props.localButtonOutline\n// ? props.buttonOutline\n// : buttonOutline,\n// borderColor: props.localBorderColor\n// ? props.borderColor\n// : buttonBorderColor,\n// buttonBorderRadius: props.localBorderRadius\n// ? props.borderRadius\n// : buttonBorderRadius,\n// };\n// });\n\n// const { background, color } = checkButtonColors(props);\n\n// const ctx = useContext(InteractionContext) as any;\n\n// const Bx_ = useMemo(() => {\n// if (!renderCount[props.id]) {\n// renderCount[props.id] = 0;\n// }\n\n// console.log(`continue > ${props.id} renders`, (renderCount[props.id] += 1));\n\n// //\n\n// const props_ = {\n// ...props,\n// shape: buttonShape,\n// buttonShadow,\n// buttonOutline,\n// borderColor,\n// buttonBorderRadius,\n// background,\n// foreground: color,\n// };\n\n// return (\n// \n// {/* {exit ? 'Exit' : label} */}\n// {props_.label}\n// \n// );\n// }, []);\n\n// return Bx_;\n// };\n\n// export default Bx;\n","/** @jsx jsx */\n\nimport { useContext, useRef } from 'react';\nimport { css, jsx } from '@emotion/core';\nimport EditMarker from 'components/UI/EditMarker';\nimport { colors, getButtonFocus } from 'styles/variables';\nimport setCurrentBlock from 'services/apiHelpers/setCurrentBlock';\nimport { connect } from 'react-redux';\nimport { Button, Box } from '@chameleoncreator/creator-ui';\nimport { InteractionContext } from '../../Layouts/ContainerLogical';\nimport { useLayoutEffect } from 'react';\nimport checkButtonColors from 'services/checkButtonColors';\nimport getStore from 'services/getStore';\nimport isIE from 'services/isIE';\n\nconst store = getStore();\n\nconst { getState } = getStore();\n\nconst { lPink } = colors;\n\ninterface IEditable {\n isEditActive: boolean;\n children: any;\n lockDown: boolean;\n id: string;\n shape?: string;\n background?: string;\n foreground?: string;\n label?: string;\n color?: string;\n borderWidth?: string;\n borderColor?: string;\n borderRadius?: number | string;\n font?: string;\n focusColor?: string;\n onClick?: () => void;\n}\n\nconst DButton = ({\n id,\n shape,\n background,\n foreground,\n borderWidth,\n borderColor,\n borderRadius,\n buttonOutline,\n buttonShadow,\n font = '',\n focusColor,\n children,\n onClick,\n ...props\n}) => {\n const shapeStyle = {\n pill: 'border-radius: 9999px',\n rectangle: `border-radius: ${borderRadius}px`,\n circle: 'border-radius: 50%',\n }[shape];\n\n const btn = useRef(null);\n\n const { fontFamily: fontFromTheme } = store.getState().theme;\n\n useLayoutEffect(() => {\n if (shape === 'circle') {\n btn.current.style.height = `${btn.current.offsetWidth}px`;\n return;\n }\n btn.current.style.height = 'auto';\n btn.current.style.minHeight = '45px';\n\n if (isIE()) {\n const h = btn.current.querySelector('#ie-btn-children-container')\n .scrollHeight;\n // console.log(h);\n\n btn.current.style.height = `${h + 10}px`;\n }\n });\n\n // old values :\n // ${shape !== 'circle' && 'min-width: 230px;'}\n // white-space: ${shape !== 'circle' ? 'nowrap' : 'wrap'};\n // line-height: 1.6;\n\n // ${borderColor && `border: ${borderWidth}px solid ${borderColor};`}\n\n let { enabled } = props;\n if (window.dev()) {\n enabled = true;\n }\n\n return (\n {\n if (window.dev()) {\n return;\n }\n onClick();\n }}\n >\n {/* */}\n {isIE() ? (\n \n {children}\n \n ) : (\n children\n )}\n \n );\n};\n\nexport default DButton;\n","let fullScreen;\nlet fullScreenToggle = false;\n\n// undecided if want to make this a global ' singleton ? ' kinda thing\n// where there can only ever be one ' instance ' of the functionality. . .\n\nconst onFullScreen = (callback = undefined) => {\n if (!callback) {\n clearInterval(fullScreen);\n return;\n }\n\n fullScreen = setInterval(() => {\n if (document.fullscreen && !fullScreenToggle) {\n callback((fullScreenToggle = true));\n }\n\n if (!document.fullscreen && fullScreenToggle) {\n callback((fullScreenToggle = false));\n }\n }, 100);\n};\n\nexport default onFullScreen;\n","/** @jsx jsx */\n\nimport { useContext, useRef } from 'react';\nimport { css, jsx } from '@emotion/core';\nimport EditMarker from 'components/UI/EditMarker';\nimport { colors } from 'styles/variables';\nimport setCurrentBlock from 'services/apiHelpers/setCurrentBlock';\nimport { connect } from 'react-redux';\nimport { Button, Box } from '@chameleoncreator/creator-ui';\nimport { InteractionContext } from '../../Layouts/ContainerLogical';\nimport { useLayoutEffect } from 'react';\nimport checkButtonColors from 'services/checkButtonColors';\nimport getStore from 'services/getStore';\nimport isIE from 'services/isIE';\nimport DButton from './DButton';\nimport { useSelector } from 'react-redux';\n\nconst store = getStore();\n\nconst { getState } = getStore();\n\nconst { lPink } = colors;\n\ninterface IEditable {\n enabled?: boolean;\n isEditActive: boolean;\n children: any;\n lockDown: boolean;\n id: string;\n shape?: string;\n background?: string;\n foreground?: string;\n label?: string;\n color?: string;\n buttonShape?: string;\n localShape?: boolean;\n\n borderRadius?: number | string;\n localBorderRadius?: boolean;\n\n buttonShadow?: boolean;\n localShadow?: boolean;\n\n localButtonOutline?: boolean;\n buttonOutline?: boolean;\n\n borderWidth?: string;\n borderColor?: string;\n localBorderColor?: boolean;\n font?: string;\n focusColor?: string;\n onClick?: () => void;\n}\n\nconst EditableBtn = (props: IEditable) => {\n const {\n enabled = undefined,\n isEditActive,\n id,\n label,\n shape,\n borderWidth,\n // borderColor,\n font,\n focusColor,\n onClick = () => {},\n } = props as any;\n\n const {\n buttonShape,\n buttonShadow,\n buttonOutline,\n borderColor,\n buttonBorderRadius = 0,\n } = useSelector((state: any) => {\n // props.localShape props.localShadow\n // if this is set. means author has made a decision on the button props\n // we preference this setting true or false\n\n const {\n buttonShape,\n buttonShadow,\n buttonOutline,\n buttonBorderColor,\n buttonBorderRadius,\n } = state.theme;\n\n return {\n buttonShape: props.localShape ? props.buttonShape : buttonShape,\n buttonShadow: props.localShadow ? props.buttonShadow : buttonShadow,\n buttonOutline: props.localButtonOutline\n ? props.buttonOutline\n : buttonOutline,\n borderColor: props.localBorderColor\n ? props.borderColor\n : buttonBorderColor,\n buttonBorderRadius: props.localBorderRadius\n ? props.borderRadius\n : buttonBorderRadius,\n };\n });\n\n const { background, color } = checkButtonColors(props);\n\n return window.dev() ? (\n {\n e.stopPropagation();\n if (isEditActive) {\n return;\n }\n setCurrentBlock({ id });\n }}\n >\n \n {label}\n \n {!isEditActive && }\n \n ) : (\n \n {label}\n \n );\n};\n\nexport default connect(\n ({ focusedNodeId }: { focusedNodeId: string | number }, props: any) => {\n // console.log(props);\n // remove the random ' force update '\n return {\n isEditActive: focusedNodeId === props.id && props.id !== undefined,\n [Math.random()]: '',\n };\n }\n)(EditableBtn);\n","import EditableBtn from './EditableBtn';\n\nexport default EditableBtn;\n","import React, { useState, useRef, useEffect } from 'react';\n\nconst useIntersectionObserver = (updateWhenIsNotIntersecting = false) => {\n const [entry, update] = useState(null);\n // {} as any\n const mounted = useRef(false);\n\n useEffect(() => {\n mounted.current = true;\n return () => (mounted.current = false);\n }, []);\n\n return {\n entry,\n init(entries, options) {\n const io = new IntersectionObserver(entries => {\n entries.forEach(entry => {\n if (entry.isIntersecting) {\n update(entry);\n }\n if (updateWhenIsNotIntersecting && entry && !entry.isIntersecting) {\n mounted.current && update(entry);\n }\n });\n }, options);\n //\n try {\n entries.forEach(entry => io.observe(entry));\n } catch (err) {\n console.warn(entries);\n }\n },\n };\n};\n\nexport default useIntersectionObserver;\n","import { createContext } from 'react';\n\nexport const interactionContext = createContext(null);\n","/** @jsx jsx */\n\nimport React, {\n Fragment as _,\n memo,\n useMemo,\n useCallback,\n useContext,\n useRef,\n useState,\n useEffect,\n useLayoutEffect,\n} from 'react';\nimport { keyframes } from 'emotion';\nimport { css, jsx } from '@emotion/core';\nimport { colors } from 'styles/variables';\nimport Modal from 'components/UI/Modal';\n\nconst { lPink } = colors;\n\nconst Transcript = ({\n id,\n onClose,\n children,\n}: {\n id?: any;\n onClose?: any;\n children?: any;\n}) => {\n let [text, btn] = children[0].props.children;\n\n btn = React.cloneElement(btn, {\n onClick() {\n onClose();\n },\n });\n\n return (\n \n \n \n {text}\n \n \n
    {btn}
    \n \n \n
    \n );\n};\n\nexport default Transcript;\n","/** @jsx jsx */\n\nimport React, {\n Fragment as _,\n memo,\n useMemo,\n useCallback,\n useContext,\n useRef,\n useState,\n useEffect,\n useLayoutEffect,\n} from 'react';\nimport { keyframes } from 'emotion';\nimport { css, jsx } from '@emotion/core';\nimport { connect } from 'react-redux';\nimport EditMarker from 'components/UI/EditMarker';\nimport placeholder from 'assets/addImg@3x.svg';\nimport { colors, getButtonFocus, focusBoxShadow } from 'styles/variables';\nimport getBlockById from 'services/apiHelpers/getBlockById';\nimport setCurrentBlock from 'services/apiHelpers/setCurrentBlock';\nimport { EditWrapper0, EditWrapper1 } from './EditWrappers';\nimport ReactPlayer from 'react-player';\nimport VideoIcon from 'assets/Video.svg';\nimport useIntersectionObserver from 'hooks/useIntersectionObserver';\nimport { interactionContext } from 'components/lib/TextAndImage/interactionContext';\nimport { unlockInteraction } from 'services/unlockInteraction';\nimport onFullScreen from 'services/onFullScreen';\nimport Transcript from './Transcript';\nimport onScrollEnds from 'services/onScrollEnds';\n\nconst { lPink } = colors;\n\nconst frameSelected = keyframes`\n from {\n width: 50%;\n height: 50%;\n }\n to {\n width: 75%;\n height: 75%;\n }\n`;\n\nlet videoResizeDelay;\n\nconst ShowTranscriptBtn = ({ id, setShowTranscript }) => {\n return (\n {\n setShowTranscript(true);\n }}\n aria-label=\"Show transcript\"\n >\n Show transcript\n \n );\n};\n\nconst Video = ({\n id,\n focusedNodeId,\n children,\n ...props\n}: {\n id?: any;\n focusedNodeId?: any;\n children?: any;\n}) => {\n // const maxWidth = 960;\n\n const { entry, init } = useIntersectionObserver(true);\n const { src, maxWidth = 960, hideControls, useTranscript } = getBlockById(\n id\n ).props;\n\n const [isPlaying, setIsPlaying] = useState(false);\n const [calcHeight, setCalcHeight] = useState(maxWidth * 0.5625);\n const [showTranscript, setShowTranscript] = useState(false);\n\n const selected = focusedNodeId === id;\n const context = useContext(interactionContext);\n const mounted = useRef(false);\n const video = useRef(null);\n const player = useRef(null);\n\n // const resize = useCallback(() => {\n // console.log('resize runs');\n\n // setCalcHeight(video.current.getBoundingClientRect().width * 0.5625);\n // },[]);\n\n useLayoutEffect(() => {\n if (!mounted.current) {\n init([video.current], {\n threshold: 0.5,\n });\n }\n\n mounted.current = true;\n\n return () => {\n mounted.current = false;\n };\n }, []);\n\n useEffect(() => {\n const { width } = video.current.getBoundingClientRect();\n const calcHeightTarget = width * 0.5625;\n\n if (calcHeight === calcHeightTarget) {\n return;\n }\n\n setCalcHeight(calcHeightTarget);\n });\n\n // useEffect(() => {\n // const resize = () => {\n // const { width, height } = video.current.getBoundingClientRect();\n // setCalcHeight(width * 0.5625);\n // };\n\n // const boot = () => {\n // window.addEventListener('resize', resize);\n // resize();\n // };\n\n // if (window.dev()) {\n // boot();\n // } else {\n // clearTimeout(videoResizeDelay);\n // videoResizeDelay = setTimeout(() => {\n // boot();\n // }, 300);\n // }\n\n // return () => window.removeEventListener('resize', resize);\n // }, [context?.isOpen]);\n\n if (entry) {\n if (entry.isIntersecting) {\n onFullScreen(toggle => {\n if (!toggle) {\n const section = document.querySelector(`#i${context.id}`);\n section && section.scrollIntoView();\n }\n });\n } else {\n onFullScreen();\n }\n }\n\n const reactPlayer = (\n \n {}}\n onPlay={() => {\n setIsPlaying(true);\n }}\n onPause={() => {\n setIsPlaying(false);\n }}\n onEnded={() => {\n unlockInteraction(context.id);\n }}\n playing={isPlaying && entry && entry.isIntersecting}\n controls={!hideControls}\n />\n\n {useTranscript && (\n \n )}\n \n );\n\n return (\n <_>\n {window.dev() ? (\n \n {reactPlayer}\n {/* {useTranscript && (\n \n )} */}\n \n {\n e.stopPropagation();\n if (selected) return;\n setCurrentBlock({ id });\n }}\n >\n {!selected && (\n \n )}\n\n {!selected && }\n \n \n \n ) : (\n \n {reactPlayer}\n {/* {useTranscript && (\n \n )} */}\n \n )}\n\n {showTranscript && (\n {\n const tick = setInterval(() => {\n const showTranscriptButtonElement: any = document.querySelector(\n `#show-transcript-${id}`\n );\n\n if (showTranscriptButtonElement) {\n showTranscriptButtonElement.focus();\n\n clearInterval(tick);\n }\n }, 0);\n\n setShowTranscript(false);\n }}\n >\n {children}\n \n )}\n \n );\n};\n\nexport default Video;\n","import Video from './Video';\n\nexport default Video;\n","/** @jsx jsx */\n\nimport React, { Fragment as _ } from 'react';\nimport { keyframes } from 'emotion';\nimport { css, jsx } from '@emotion/core';\nimport EditMarker from 'components/UI/EditMarker';\nimport setCurrentBlock from 'services/apiHelpers/setCurrentBlock';\nimport { colors } from 'styles/variables';\nimport Image from 'assets/Image.svg';\n\nconst { lPink } = colors;\n\nconst frameSelected = keyframes`\n from {\n width: 50%;\n height: 50%;\n }\n to {\n width: 75%;\n height: 75%;\n }\n`;\n\nconst frameNotSelected = keyframes`\nfrom {\n width: 75%;\n height: 75%;\n}\nto {\n width: 50%;\n height: 50%;\n}\n`;\n\nconst EditWrapper0 = ({ id, mediaParentId, selected, children }) => {\n return (\n {\n e.stopPropagation();\n\n if (selected) return;\n\n // console.log({ mediaParentId });\n\n setCurrentBlock({ id });\n }}\n >\n {children}\n\n {!selected && }\n \n );\n};\n\n// ${!selected && 'border-radius: 50%;'}\nconst EditWrapper1 = ({ id, mediaParentId, selected, children }) => {\n return (\n \n {children}\n \n {\n e.stopPropagation();\n\n if (selected) return;\n\n // console.log({ mediaParentId });\n\n setCurrentBlock({ id });\n }}\n >\n {!selected && (\n // \n \n )}\n\n {!selected && }\n \n \n \n );\n};\n\nexport { EditWrapper0, EditWrapper1 };\n","export default {\"v\":\"4.6.8\",\"fr\":25,\"ip\":0,\"op\":201,\"w\":180,\"h\":180,\"nm\":\"visualDesignerIcon\",\"ddd\":0,\"assets\":[{\"id\":\"comp_1\",\"layers\":[{\"ddd\":0,\"ind\":1,\"ty\":4,\"nm\":\"i-dot Outlines\",\"ks\":{\"o\":{\"a\":0,\"k\":100},\"r\":{\"a\":0,\"k\":0},\"p\":{\"a\":0,\"k\":[108.5,57.5,0]},\"a\":{\"a\":0,\"k\":[2.5,3.5,0]},\"s\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667,0.667,0.667],\"y\":[1,1,0.667]},\"o\":{\"x\":[0.333,0.333,0.333],\"y\":[0,0,0.333]},\"n\":[\"0p667_1_0p333_0\",\"0p667_1_0p333_0\",\"0p667_0p667_0p333_0p333\"],\"t\":33,\"s\":[0,0,100],\"e\":[120,120,100]},{\"i\":{\"x\":[0.667,0.667,0.667],\"y\":[1,1,0.667]},\"o\":{\"x\":[0.333,0.333,0.333],\"y\":[0,0,0.333]},\"n\":[\"0p667_1_0p333_0\",\"0p667_1_0p333_0\",\"0p667_0p667_0p333_0p333\"],\"t\":38,\"s\":[120,120,100],\"e\":[90,90,100]},{\"i\":{\"x\":[0.667,0.667,0.667],\"y\":[1,1,0.667]},\"o\":{\"x\":[0.333,0.333,0.333],\"y\":[0,0,0.333]},\"n\":[\"0p667_1_0p333_0\",\"0p667_1_0p333_0\",\"0p667_0p667_0p333_0p333\"],\"t\":43,\"s\":[90,90,100],\"e\":[105,105,100]},{\"i\":{\"x\":[0.667,0.667,0.667],\"y\":[1,1,0.667]},\"o\":{\"x\":[0.333,0.333,0.333],\"y\":[0,0,0.333]},\"n\":[\"0p667_1_0p333_0\",\"0p667_1_0p333_0\",\"0p667_0p667_0p333_0p333\"],\"t\":48,\"s\":[105,105,100],\"e\":[97.5,97.5,100]},{\"i\":{\"x\":[0.667,0.667,0.667],\"y\":[1,1,0.667]},\"o\":{\"x\":[0.333,0.333,0.333],\"y\":[0,0,0.333]},\"n\":[\"0p667_1_0p333_0\",\"0p667_1_0p333_0\",\"0p667_0p667_0p333_0p333\"],\"t\":53,\"s\":[97.5,97.5,100],\"e\":[100,100,100]},{\"t\":58}]}},\"ao\":0,\"shapes\":[{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":0,\"k\":{\"i\":[[-0.021,0.01],[0.001,-1.224],[0.808,-0.443],[0.021,-0.01],[0,1.224],[-0.808,0.443]],\"o\":[[0.78,-0.38],[0,1.263],[-0.021,0.012],[-0.78,0.38],[0.001,-1.263],[0.02,-0.011]],\"v\":[[0.064,-2.248],[1.488,-0.815],[-0.002,2.216],[-0.064,2.248],[-1.489,0.816],[0.002,-2.215]],\"c\":true}},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\"},{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[0,0],[0,0],[0,0]],\"o\":[[0,0],[0,0],[0,0],[0,0]],\"v\":[[-7218.622,7232.345],[7181.378,7232.345],[7181.378,-7167.655],[-7218.622,-7167.655]],\"c\":true}},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\"},{\"ind\":1,\"ty\":\"sh\",\"ix\":2,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[0,0],[0,0],[0,0]],\"o\":[[0,0],[0,0],[0,0],[0,0]],\"v\":[[-7218.622,-7167.655],[7181.378,-7167.655],[7181.378,7232.345],[-7218.622,7232.345]],\"c\":true}},\"nm\":\"Path 2\",\"mn\":\"ADBE Vector Shape - Group\"},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Group 1\",\"np\":2,\"cix\":2,\"ix\":2,\"mn\":\"ADBE Vector Group\"},{\"ty\":\"mm\",\"mm\":4,\"nm\":\"Merge Paths 1\",\"mn\":\"ADBE Vector Filter - Merge\"},{\"ty\":\"fl\",\"c\":{\"a\":0,\"k\":[1,1,1,1]},\"o\":{\"a\":0,\"k\":100},\"r\":1,\"nm\":\"Fill 1\",\"mn\":\"ADBE Vector Graphic - Fill\"},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[2.622,3.655],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Group 1\",\"np\":4,\"cix\":2,\"ix\":1,\"mn\":\"ADBE Vector Group\"}],\"ip\":33,\"op\":234,\"st\":33,\"bm\":0,\"sr\":1},{\"ddd\":0,\"ind\":2,\"ty\":4,\"nm\":\"in Outlines\",\"ks\":{\"o\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.833],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"n\":[\"0p833_1_0p333_0\"],\"t\":16,\"s\":[0],\"e\":[100]},{\"t\":23}]},\"r\":{\"a\":0,\"k\":0},\"p\":{\"a\":1,\"k\":[{\"i\":{\"x\":0.667,\"y\":1},\"o\":{\"x\":0.333,\"y\":0},\"n\":\"0p667_1_0p333_0\",\"t\":16,\"s\":[113.625,75.65,0],\"e\":[113.625,63.85,0],\"to\":[0,0,0],\"ti\":[0,0,0]},{\"i\":{\"x\":0.667,\"y\":1},\"o\":{\"x\":0.333,\"y\":0},\"n\":\"0p667_1_0p333_0\",\"t\":23,\"s\":[113.625,63.85,0],\"e\":[113.625,70.75,0],\"to\":[0,0,0],\"ti\":[0,0,0]},{\"i\":{\"x\":0.667,\"y\":1},\"o\":{\"x\":0.333,\"y\":0},\"n\":\"0p667_1_0p333_0\",\"t\":30,\"s\":[113.625,70.75,0],\"e\":[113.625,66.85,0],\"to\":[0,0,0],\"ti\":[0,0,0]},{\"i\":{\"x\":0.667,\"y\":1},\"o\":{\"x\":0.333,\"y\":0},\"n\":\"0p667_1_0p333_0\",\"t\":37,\"s\":[113.625,66.85,0],\"e\":[113.625,68.25,0],\"to\":[0,0,0],\"ti\":[0,0,0]},{\"t\":44}]},\"a\":{\"a\":0,\"k\":[9,12,0]},\"s\":{\"a\":0,\"k\":[100,100,100]}},\"ao\":0,\"shapes\":[{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":0,\"k\":{\"i\":[[-0.037,0.018],[-0.001,-2.768],[0.175,-0.988],[0,0],[-0.003,-0.302],[-0.31,0.151],[-0.481,2.277],[0,0],[1.29,-0.703],[0.047,-0.023],[0,1.794],[-0.112,0.621],[0,0],[-0.004,0.372],[0.764,-0.373],[0.026,-0.014],[0.355,-2.347],[0,0],[0,0],[0,0],[1.236,-0.677],[0.048,-0.024],[-0.003,1.888],[-0.091,0.611],[0,0],[0,0],[0,0],[0,0],[0,0],[0,-0.369],[-0.323,0.068],[-0.039,0.019],[-0.767,3.005],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.29,0.712]],\"o\":[[1.331,-0.649],[-0.003,0.732],[0,0],[-0.065,0.434],[-0.001,0.641],[0.354,-0.19],[0,0],[-0.567,3.32],[-0.049,0.027],[-1.409,0.687],[0.003,-0.527],[0,0],[0.088,-0.477],[0.001,-1.215],[-0.025,0.012],[-1.03,0.56],[0,0],[0,0],[0,0],[-0.72,2.188],[-0.05,0.027],[-1.384,0.674],[-0.004,-0.498],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.109,0.685],[0,0.623],[0.017,-0.003],[0.387,-0.189],[0,0],[0,0],[0,0],[0,0],[0,0],[0.657,-2.206],[0.038,-0.02]],\"v\":[[4.225,-10.25],[6.627,-7.235],[6.385,-4.689],[5.682,-0.5],[5.573,0.587],[6.05,1.315],[7.302,-1.749],[8.262,-1.717],[5.375,4.129],[5.231,4.204],[3.145,2.141],[3.302,0.407],[4.023,-3.898],[4.135,-5.151],[2.899,-6.485],[2.823,-6.446],[0.763,-2.054],[-0.637,7.201],[-3.087,8.543],[-2.648,5.631],[-5.603,10.148],[-5.751,10.225],[-7.783,8.094],[-7.654,6.357],[-6.533,-1.153],[-8.262,-0.203],[-7.736,-3.421],[-3.583,-5.692],[-5.225,5.05],[-5.379,6.651],[-4.855,7.281],[-4.77,7.249],[-2.26,3.038],[-1.177,-4.077],[-2.928,-3.125],[-2.4,-6.343],[1.34,-8.389],[0.856,-4.798],[4.112,-10.192]],\"c\":true}},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\"},{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[0,0],[0,0],[0,0]],\"o\":[[0,0],[0,0],[0,0],[0,0]],\"v\":[[-7223.185,7222.922],[7176.815,7222.922],[7176.815,-7177.078],[-7223.185,-7177.078]],\"c\":true}},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\"},{\"ind\":1,\"ty\":\"sh\",\"ix\":2,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[0,0],[0,0],[0,0]],\"o\":[[0,0],[0,0],[0,0],[0,0]],\"v\":[[-7223.185,-7177.078],[7176.815,-7177.078],[7176.815,7222.922],[-7223.185,7222.922]],\"c\":true}},\"nm\":\"Path 2\",\"mn\":\"ADBE Vector Shape - Group\"},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Group 1\",\"np\":2,\"cix\":2,\"ix\":2,\"mn\":\"ADBE Vector Group\"},{\"ty\":\"mm\",\"mm\":4,\"nm\":\"Merge Paths 1\",\"mn\":\"ADBE Vector Filter - Merge\"},{\"ty\":\"fl\",\"c\":{\"a\":0,\"k\":[1,1,1,1]},\"o\":{\"a\":0,\"k\":100},\"r\":1,\"nm\":\"Fill 1\",\"mn\":\"ADBE Vector Graphic - Fill\"},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[9.184,12.078],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Group 1\",\"np\":4,\"cix\":2,\"ix\":1,\"mn\":\"ADBE Vector Group\"}],\"ip\":16,\"op\":217,\"st\":16,\"bm\":0,\"sr\":1},{\"ddd\":0,\"ind\":3,\"ty\":4,\"nm\":\"inDesignLogo Outlines\",\"ks\":{\"o\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.833],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"n\":[\"0p833_1_0p333_0\"],\"t\":13,\"s\":[0],\"e\":[100]},{\"t\":20}]},\"r\":{\"a\":0,\"k\":0},\"p\":{\"a\":1,\"k\":[{\"i\":{\"x\":0.667,\"y\":1},\"o\":{\"x\":0.333,\"y\":0},\"n\":\"0p667_1_0p333_0\",\"t\":13,\"s\":[112.5,71.9,0],\"e\":[112.5,60.1,0],\"to\":[0,0,0],\"ti\":[0,0,0]},{\"i\":{\"x\":0.667,\"y\":1},\"o\":{\"x\":0.333,\"y\":0},\"n\":\"0p667_1_0p333_0\",\"t\":20,\"s\":[112.5,60.1,0],\"e\":[112.5,67,0],\"to\":[0,0,0],\"ti\":[0,0,0]},{\"i\":{\"x\":0.667,\"y\":1},\"o\":{\"x\":0.333,\"y\":0},\"n\":\"0p667_1_0p333_0\",\"t\":27,\"s\":[112.5,67,0],\"e\":[112.5,63.1,0],\"to\":[0,0,0],\"ti\":[0,0,0]},{\"i\":{\"x\":0.667,\"y\":1},\"o\":{\"x\":0.333,\"y\":0},\"n\":\"0p667_1_0p333_0\",\"t\":34,\"s\":[112.5,63.1,0],\"e\":[112.5,64.5,0],\"to\":[0,0,0],\"ti\":[0,0,0]},{\"t\":41}]},\"a\":{\"a\":0,\"k\":[12.5,24.5,0]},\"s\":{\"a\":0,\"k\":[100,100,100]}},\"ao\":0,\"shapes\":[{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[1.214,-0.666],[0,0],[0.03,-0.014],[0,1.8],[0,0],[-1.215,0.666],[0,0],[-0.03,0.014],[0,-1.8]],\"o\":[[0,1.837],[0,0],[-0.03,0.016],[-1.178,0.575],[0,0],[0,-1.845],[0,0],[0.03,-0.016],[1.178,-0.575],[0,0]],\"v\":[[12.163,8.427],[9.955,12.973],[-9.973,23.866],[-10.063,23.912],[-12.178,21.734],[-12.163,-8.426],[-9.955,-12.972],[9.973,-23.865],[10.063,-23.911],[12.178,-21.733]],\"c\":true}},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\"},{\"ty\":\"fl\",\"c\":{\"a\":0,\"k\":[0.42,0.749,0.733,1]},\"o\":{\"a\":0,\"k\":100},\"r\":1,\"nm\":\"Fill 1\",\"mn\":\"ADBE Vector Graphic - Fill\"},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[12.652,24.495],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Group 1\",\"np\":2,\"cix\":2,\"ix\":1,\"mn\":\"ADBE Vector Group\"}],\"ip\":13,\"op\":188,\"st\":-13,\"bm\":0,\"sr\":1},{\"ddd\":0,\"ind\":4,\"ty\":4,\"nm\":\"diamond Outlines\",\"ks\":{\"o\":{\"a\":0,\"k\":100},\"r\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"n\":[\"0p667_1_0p333_0\"],\"t\":0,\"s\":[23.2],\"e\":[-10]},{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"n\":[\"0p667_1_0p333_0\"],\"t\":8.6,\"s\":[-10],\"e\":[5]},{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"n\":[\"0p667_1_0p333_0\"],\"t\":17.2,\"s\":[5],\"e\":[-2.5]},{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"n\":[\"0p667_1_0p333_0\"],\"t\":25.8,\"s\":[-2.5],\"e\":[1]},{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"n\":[\"0p667_1_0p333_0\"],\"t\":34.4,\"s\":[1],\"e\":[0]},{\"t\":43}]},\"p\":{\"a\":0,\"k\":[73.564,109.013,0]},\"a\":{\"a\":0,\"k\":[15.564,43.013,0]},\"s\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667,0.667,0.667],\"y\":[1,1,0.667]},\"o\":{\"x\":[0.333,0.333,0.333],\"y\":[0,0,0.333]},\"n\":[\"0p667_1_0p333_0\",\"0p667_1_0p333_0\",\"0p667_0p667_0p333_0p333\"],\"t\":0,\"s\":[0,0,100],\"e\":[120,120,100]},{\"i\":{\"x\":[0.667,0.667,0.667],\"y\":[1,1,0.667]},\"o\":{\"x\":[0.333,0.333,0.333],\"y\":[0,0,0.333]},\"n\":[\"0p667_1_0p333_0\",\"0p667_1_0p333_0\",\"0p667_0p667_0p333_0p333\"],\"t\":7.679,\"s\":[120,120,100],\"e\":[90,90,100]},{\"i\":{\"x\":[0.667,0.667,0.667],\"y\":[1,1,0.667]},\"o\":{\"x\":[0.333,0.333,0.333],\"y\":[0,0,0.333]},\"n\":[\"0p667_1_0p333_0\",\"0p667_1_0p333_0\",\"0p667_0p667_0p333_0p333\"],\"t\":15.357,\"s\":[90,90,100],\"e\":[105,105,100]},{\"i\":{\"x\":[0.667,0.667,0.667],\"y\":[1,1,0.667]},\"o\":{\"x\":[0.333,0.333,0.333],\"y\":[0,0,0.333]},\"n\":[\"0p667_1_0p333_0\",\"0p667_1_0p333_0\",\"0p667_0p667_0p333_0p333\"],\"t\":23.036,\"s\":[105,105,100],\"e\":[97.5,97.5,100]},{\"i\":{\"x\":[0.667,0.667,0.667],\"y\":[1,1,0.667]},\"o\":{\"x\":[0.333,0.333,0.333],\"y\":[0,0,0.333]},\"n\":[\"0p667_1_0p333_0\",\"0p667_1_0p333_0\",\"0p667_0p667_0p333_0p333\"],\"t\":30.714,\"s\":[97.5,97.5,100],\"e\":[100,100,100]},{\"t\":38.392578125}]}},\"ao\":0,\"shapes\":[{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[0,0],[0,0]],\"o\":[[0,0],[0,0],[0,0]],\"v\":[[2.263,14.131],[5.534,-8.208],[11.996,-11.675]],\"c\":true}},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\"},{\"ind\":1,\"ty\":\"sh\",\"ix\":2,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[0,0],[0,0]],\"o\":[[0,0],[0,0],[0,0]],\"v\":[[0.669,16.23],[-4.234,-2.97],[4.136,-7.459]],\"c\":true}},\"nm\":\"Path 2\",\"mn\":\"ADBE Vector Shape - Group\"},{\"ind\":2,\"ty\":\"sh\",\"ix\":3,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[0,0],[0,0]],\"o\":[[0,0],[0,0],[0,0]],\"v\":[[-12.093,1.246],[-5.631,-2.221],[-1.008,15.885]],\"c\":true}},\"nm\":\"Path 3\",\"mn\":\"ADBE Vector Shape - Group\"},{\"ind\":3,\"ty\":\"sh\",\"ix\":4,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[0,0],[0,0]],\"o\":[[0,0],[0,0],[0,0]],\"v\":[[-7.681,-10.253],[-6.076,-3.969],[-11.955,-0.815]],\"c\":true}},\"nm\":\"Path 4\",\"mn\":\"ADBE Vector Shape - Group\"},{\"ind\":4,\"ty\":\"sh\",\"ix\":5,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[0,0],[0,0],[0,0]],\"o\":[[0,0],[0,0],[0,0],[0,0]],\"v\":[[5.738,-18.419],[4.45,-9.614],[-4.678,-4.718],[-6.502,-11.854]],\"c\":true}},\"nm\":\"Path 5\",\"mn\":\"ADBE Vector Shape - Group\"},{\"ind\":5,\"ty\":\"sh\",\"ix\":6,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[0,0],[0,0]],\"o\":[[0,0],[0,0],[0,0]],\"v\":[[6.981,-18.117],[11.727,-13.517],[5.847,-10.364]],\"c\":true}},\"nm\":\"Path 6\",\"mn\":\"ADBE Vector Shape - Group\"},{\"ind\":6,\"ty\":\"sh\",\"ix\":7,\"ks\":{\"a\":0,\"k\":{\"i\":[[0.136,0.103],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.008,0.238]],\"o\":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.09,-0.215],[-0.009,-0.279]],\"v\":[[13.745,-14.324],[6.544,-20.838],[-7.938,-12.753],[-13.982,0.589],[-13.986,1.86],[0.513,20.838],[0.725,20.824],[0.822,20.781],[1.046,20.61],[1.352,20.104],[13.841,-13.023],[13.978,-13.731]],\"c\":true}},\"nm\":\"Path 7\",\"mn\":\"ADBE Vector Shape - Group\"},{\"ty\":\"mm\",\"mm\":1,\"nm\":\"Merge Paths 1\",\"mn\":\"ADBE Vector Filter - Merge\"},{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[0,0],[0,0],[0,0]],\"o\":[[0,0],[0,0],[0,0],[0,0]],\"v\":[[-7182.818,7202.326],[7217.182,7202.326],[7217.182,-7197.674],[-7182.818,-7197.674]],\"c\":true}},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\"},{\"ind\":1,\"ty\":\"sh\",\"ix\":2,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[0,0],[0,0],[0,0]],\"o\":[[0,0],[0,0],[0,0],[0,0]],\"v\":[[-7182.818,-7197.674],[7217.182,-7197.674],[7217.182,7202.326],[-7182.818,7202.326]],\"c\":true}},\"nm\":\"Path 2\",\"mn\":\"ADBE Vector Shape - Group\"},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Group 1\",\"np\":2,\"cix\":2,\"ix\":9,\"mn\":\"ADBE Vector Group\"},{\"ty\":\"mm\",\"mm\":4,\"nm\":\"Merge Paths 2\",\"mn\":\"ADBE Vector Filter - Merge\"},{\"ty\":\"fl\",\"c\":{\"a\":0,\"k\":[0.431,0.753,0.737,1]},\"o\":{\"a\":0,\"k\":100},\"r\":1,\"nm\":\"Fill 1\",\"mn\":\"ADBE Vector Graphic - Fill\"},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[14.818,21.674],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Group 1\",\"np\":11,\"cix\":2,\"ix\":1,\"mn\":\"ADBE Vector Group\"}],\"ip\":0,\"op\":201,\"st\":0,\"bm\":0,\"sr\":1}]}],\"layers\":[{\"ddd\":0,\"ind\":1,\"ty\":0,\"nm\":\"visualDesignerIconsAppear\",\"refId\":\"comp_1\",\"ks\":{\"o\":{\"a\":0,\"k\":100},\"r\":{\"a\":0,\"k\":0},\"p\":{\"a\":0,\"k\":[90,90,0]},\"a\":{\"a\":0,\"k\":[90,90,0]},\"s\":{\"a\":0,\"k\":[100,100,100]}},\"ao\":0,\"w\":180,\"h\":180,\"ip\":31,\"op\":232,\"st\":31,\"bm\":0,\"sr\":1},{\"ddd\":0,\"ind\":2,\"ty\":0,\"nm\":\"visualDesignerIconsAppear\",\"refId\":\"comp_1\",\"ks\":{\"o\":{\"a\":0,\"k\":34},\"r\":{\"a\":0,\"k\":0},\"p\":{\"a\":0,\"k\":[80,85.75,0]},\"a\":{\"a\":0,\"k\":[90,90,0]},\"s\":{\"a\":0,\"k\":[100,100,100]}},\"ao\":0,\"w\":180,\"h\":180,\"ip\":35,\"op\":236,\"st\":35,\"bm\":0,\"sr\":1},{\"ddd\":0,\"ind\":4,\"ty\":4,\"nm\":\"button Outlines\",\"ks\":{\"o\":{\"a\":0,\"k\":100},\"r\":{\"a\":0,\"k\":0},\"p\":{\"a\":0,\"k\":[129,112.5,0]},\"a\":{\"a\":0,\"k\":[8,4.5,0]},\"s\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0,0,0.667],\"y\":[1,1,0.667]},\"o\":{\"x\":[1,1,0.333],\"y\":[0,0,0.333]},\"n\":[\"0_1_1_0\",\"0_1_1_0\",\"0p667_0p667_0p333_0p333\"],\"t\":27,\"s\":[0,0,100],\"e\":[100,100,100]},{\"t\":46}]}},\"ao\":0,\"shapes\":[{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[-1.524,-0.887],[1.534,-0.884],[0,0],[1.52,0.888],[-1.535,0.883]],\"o\":[[1.534,-0.883],[1.523,0.887],[0,0],[-1.533,0.884],[-1.523,-0.887],[0,0]],\"v\":[[0.073,-3.231],[5.604,-3.228],[5.574,-0.024],[-0.082,3.232],[-5.604,3.224],[-5.583,0.025]],\"c\":true}},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\"},{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[0,0],[0,0],[0,0]],\"o\":[[0,0],[0,0],[0,0],[0,0]],\"v\":[[-7238.927,7177.39],[7161.073,7177.39],[7161.073,-7222.61],[-7238.927,-7222.61]],\"c\":true}},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\"},{\"ind\":1,\"ty\":\"sh\",\"ix\":2,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[0,0],[0,0],[0,0]],\"o\":[[0,0],[0,0],[0,0],[0,0]],\"v\":[[-7238.927,-7222.61],[7161.073,-7222.61],[7161.073,7177.39],[-7238.927,7177.39]],\"c\":true}},\"nm\":\"Path 2\",\"mn\":\"ADBE Vector Shape - Group\"},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Group 1\",\"np\":2,\"cix\":2,\"ix\":2,\"mn\":\"ADBE Vector Group\"},{\"ty\":\"mm\",\"mm\":4,\"nm\":\"Merge Paths 1\",\"mn\":\"ADBE Vector Filter - Merge\"},{\"ty\":\"fl\",\"c\":{\"a\":0,\"k\":[1,1,1,1]},\"o\":{\"a\":0,\"k\":100},\"r\":1,\"nm\":\"Fill 1\",\"mn\":\"ADBE Vector Graphic - Fill\"},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[7.927,4.611],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Group 1\",\"np\":4,\"cix\":2,\"ix\":1,\"mn\":\"ADBE Vector Group\"}],\"ip\":27,\"op\":228,\"st\":27,\"bm\":0,\"sr\":1},{\"ddd\":0,\"ind\":5,\"ty\":4,\"nm\":\"screen Outlines\",\"ks\":{\"o\":{\"a\":0,\"k\":100},\"r\":{\"a\":0,\"k\":0},\"p\":{\"a\":0,\"k\":[87.5,88.5,0]},\"a\":{\"a\":0,\"k\":[70.5,41.5,0]},\"s\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0,0,0.667],\"y\":[1,1,0.667]},\"o\":{\"x\":[1,1,0.333],\"y\":[0,0,0.333]},\"n\":[\"0_1_1_0\",\"0_1_1_0\",\"0p667_0p667_0p333_0p333\"],\"t\":19,\"s\":[0,0,100],\"e\":[100,100,100]},{\"t\":38}]}},\"ao\":0,\"shapes\":[{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":0,\"k\":{\"i\":[[0.949,0.552],[0,0],[0.955,-0.55],[0,0],[-0.954,-0.556],[0,0],[-0.956,0.55],[0,0]],\"o\":[[0,0],[-0.956,-0.557],[0,0],[-0.957,0.549],[0,0],[0.949,0.553],[0,0],[0.959,-0.55]],\"v\":[[68.86,0.857],[-1.055,-39.887],[-4.567,-39.897],[-68.842,-2.891],[-68.857,-0.854],[1.059,39.891],[4.579,39.896],[68.853,2.891]],\"c\":true}},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\"},{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[0,0],[0,0],[0,0]],\"o\":[[0,0],[0,0],[0,0],[0,0]],\"v\":[[-7197.736,7201.393],[7202.264,7201.393],[7202.264,-7198.607],[-7197.736,-7198.607]],\"c\":true}},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\"},{\"ind\":1,\"ty\":\"sh\",\"ix\":2,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[0,0],[0,0],[0,0]],\"o\":[[0,0],[0,0],[0,0],[0,0]],\"v\":[[-7197.736,-7198.607],[7202.264,-7198.607],[7202.264,7201.393],[-7197.736,7201.393]],\"c\":true}},\"nm\":\"Path 2\",\"mn\":\"ADBE Vector Shape - Group\"},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Group 1\",\"np\":2,\"cix\":2,\"ix\":2,\"mn\":\"ADBE Vector Group\"},{\"ty\":\"mm\",\"mm\":4,\"nm\":\"Merge Paths 1\",\"mn\":\"ADBE Vector Filter - Merge\"},{\"ty\":\"fl\",\"c\":{\"a\":0,\"k\":[1,1,1,1]},\"o\":{\"a\":0,\"k\":100},\"r\":1,\"nm\":\"Fill 1\",\"mn\":\"ADBE Vector Graphic - Fill\"},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[70.736,41.607],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Group 1\",\"np\":4,\"cix\":2,\"ix\":1,\"mn\":\"ADBE Vector Group\"}],\"ip\":19,\"op\":220,\"st\":19,\"bm\":0,\"sr\":1},{\"ddd\":0,\"ind\":6,\"ty\":4,\"nm\":\"face Outlines\",\"ks\":{\"o\":{\"a\":0,\"k\":100},\"r\":{\"a\":0,\"k\":0},\"p\":{\"a\":0,\"k\":[91.5,90,0]},\"a\":{\"a\":0,\"k\":[79.5,46,0]},\"s\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0,0,0.667],\"y\":[1,1,0.667]},\"o\":{\"x\":[1,1,0.333],\"y\":[0,0,0.333]},\"n\":[\"0_1_1_0\",\"0_1_1_0\",\"0p667_0p667_0p333_0p333\"],\"t\":11,\"s\":[0,0,100],\"e\":[100,100,100]},{\"t\":30}]}},\"ao\":0,\"shapes\":[{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[-3.854,-2.248],[0,0],[3.887,-2.238],[0,0],[3.864,2.252],[0,0],[-3.879,2.234]],\"o\":[[3.89,-2.239],[0,0],[3.857,2.249],[0,0],[-3.88,2.233],[0,0],[-3.857,-2.248],[0,0]],\"v\":[[-13.96,-42.752],[0.122,-42.73],[75.018,0.916],[72.492,7.629],[11.48,42.756],[-2.597,42.739],[-75.019,0.531],[-74.971,-7.627]],\"c\":true}},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\"},{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[0,0],[0,0],[0,0]],\"o\":[[0,0],[0,0],[0,0],[0,0]],\"v\":[[-7201.47,7199.939],[7198.53,7199.939],[7198.53,-7200.061],[-7201.47,-7200.061]],\"c\":true}},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\"},{\"ind\":1,\"ty\":\"sh\",\"ix\":2,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[0,0],[0,0],[0,0]],\"o\":[[0,0],[0,0],[0,0],[0,0]],\"v\":[[-7201.47,-7200.061],[7198.53,-7200.061],[7198.53,7199.939],[-7201.47,7199.939]],\"c\":true}},\"nm\":\"Path 2\",\"mn\":\"ADBE Vector Shape - Group\"},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Group 1\",\"np\":2,\"cix\":2,\"ix\":2,\"mn\":\"ADBE Vector Group\"},{\"ty\":\"mm\",\"mm\":4,\"nm\":\"Merge Paths 1\",\"mn\":\"ADBE Vector Filter - Merge\"},{\"ty\":\"fl\",\"c\":{\"a\":0,\"k\":[0.129,0.129,0.137,1]},\"o\":{\"a\":0,\"k\":100},\"r\":1,\"nm\":\"Fill 1\",\"mn\":\"ADBE Vector Graphic - Fill\"},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[79.47,46.06],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Group 1\",\"np\":4,\"cix\":2,\"ix\":1,\"mn\":\"ADBE Vector Group\"}],\"ip\":11,\"op\":212,\"st\":11,\"bm\":0,\"sr\":1},{\"ddd\":0,\"ind\":7,\"ty\":4,\"nm\":\"base Outlines\",\"ks\":{\"o\":{\"a\":0,\"k\":100},\"r\":{\"a\":0,\"k\":0},\"p\":{\"a\":0,\"k\":[91,94.5,0]},\"a\":{\"a\":0,\"k\":[78,47.5,0]},\"s\":{\"a\":0,\"k\":[100,100,100]}},\"ao\":0,\"shapes\":[{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":1,\"k\":[{\"i\":{\"x\":0,\"y\":1},\"o\":{\"x\":1,\"y\":0},\"n\":\"0_1_1_0\",\"t\":30,\"s\":[{\"i\":[[0.001,2.156],[0,0],[0.956,-0.55],[0.001,1.47],[-0.004,-2.155],[-1.918,-1.117],[0,0],[-3.88,2.234],[0,0],[0.004,1.451]],\"o\":[[0.001,1.451],[-0.956,-0.557],[0,0],[0.003,2.156],[0.001,1.471],[0,0],[3.864,2.25],[0,0],[2.521,-1.45],[-0.002,-2.154]],\"v\":[[77.415,-1.496],[-4.322,-46.118],[-7.834,-46.127],[-77.427,-8.304],[-77.417,-8.714],[-74.539,-4.656],[-2.117,37.551],[11.959,37.568],[72.969,2.443],[77.424,-1.906]],\"c\":true}],\"e\":[{\"i\":[[0.001,2.156],[0,0],[0.956,-0.55],[0.001,1.47],[-0.004,-2.155],[-1.918,-1.117],[0,0],[-3.88,2.234],[0,0],[0.004,1.451]],\"o\":[[0.001,1.451],[-0.956,-0.557],[0,0],[0.003,2.156],[0.001,1.471],[0,0],[3.864,2.25],[0,0],[2.521,-1.45],[-0.002,-2.154]],\"v\":[[77.415,-1.496],[-4.322,-46.118],[-7.834,-46.127],[-77.427,-8.304],[-77.417,-1.839],[-74.539,2.219],[-2.117,44.426],[11.959,44.443],[72.969,9.318],[77.424,4.969]],\"c\":true}]},{\"t\":46}]},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\"},{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[0,0],[0,0],[0,0]],\"o\":[[0,0],[0,0],[0,0],[0,0]],\"v\":[[-7201.002,7195.162],[7198.998,7195.162],[7198.998,-7204.838],[-7201.002,-7204.838]],\"c\":true}},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\"},{\"ind\":1,\"ty\":\"sh\",\"ix\":2,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[0,0],[0,0],[0,0]],\"o\":[[0,0],[0,0],[0,0],[0,0]],\"v\":[[-7201.002,-7204.838],[7198.998,-7204.838],[7198.998,7195.162],[-7201.002,7195.162]],\"c\":true}},\"nm\":\"Path 2\",\"mn\":\"ADBE Vector Shape - Group\"},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Group 1\",\"np\":2,\"cix\":2,\"ix\":2,\"mn\":\"ADBE Vector Group\"},{\"ty\":\"mm\",\"mm\":4,\"nm\":\"Merge Paths 1\",\"mn\":\"ADBE Vector Filter - Merge\"},{\"ty\":\"fl\",\"c\":{\"a\":0,\"k\":[0.843,0.906,0.969,1]},\"o\":{\"a\":0,\"k\":100},\"r\":1,\"nm\":\"Fill 1\",\"mn\":\"ADBE Vector Graphic - Fill\"},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[78.002,47.838],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Group 1\",\"np\":4,\"cix\":2,\"ix\":1,\"mn\":\"ADBE Vector Group\"}],\"ip\":30,\"op\":231,\"st\":30,\"bm\":0,\"sr\":1},{\"ddd\":0,\"ind\":8,\"ty\":4,\"nm\":\"backCircle Outlines 2\",\"ks\":{\"o\":{\"a\":0,\"k\":100},\"r\":{\"a\":0,\"k\":0},\"p\":{\"a\":0,\"k\":[89.5,90,0]},\"a\":{\"a\":0,\"k\":[73.5,73,0]},\"s\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0,0,0.667],\"y\":[1,1,0.667]},\"o\":{\"x\":[1,1,0.333],\"y\":[0,0,0.333]},\"n\":[\"0_1_1_0\",\"0_1_1_0\",\"0p667_0p667_0p333_0p333\"],\"t\":0,\"s\":[0,0,100],\"e\":[100,100,100]},{\"t\":19}]}},\"ao\":0,\"shapes\":[{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":0,\"k\":{\"i\":[[-2.998,38.259],[-38.259,-2.998],[2.997,-38.259],[38.258,2.998]],\"o\":[[2.998,-38.259],[38.259,2.998],[-2.998,38.259],[-38.259,-2.998]],\"v\":[[-69.273,-5.428],[5.428,-69.274],[69.274,5.428],[-5.428,69.274]],\"c\":true}},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\"},{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[0,0],[0,0],[0,0]],\"o\":[[0,0],[0,0],[0,0],[0,0]],\"v\":[[-7199.5,7200.309],[7200.5,7200.309],[7200.5,-7199.691],[-7199.5,-7199.691]],\"c\":true}},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\"},{\"ind\":1,\"ty\":\"sh\",\"ix\":2,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[0,0],[0,0],[0,0]],\"o\":[[0,0],[0,0],[0,0],[0,0]],\"v\":[[-7199.5,-7199.691],[7200.5,-7199.691],[7200.5,7200.309],[-7199.5,7200.309]],\"c\":true}},\"nm\":\"Path 2\",\"mn\":\"ADBE Vector Shape - Group\"},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Group 1\",\"np\":2,\"cix\":2,\"ix\":2,\"mn\":\"ADBE Vector Group\"},{\"ty\":\"mm\",\"mm\":4,\"nm\":\"Merge Paths 1\",\"mn\":\"ADBE Vector Filter - Merge\"},{\"ty\":\"fl\",\"c\":{\"a\":0,\"k\":[0.914,0.914,0.949,1]},\"o\":{\"a\":0,\"k\":100},\"r\":1,\"nm\":\"Fill 1\",\"mn\":\"ADBE Vector Graphic - Fill\"},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[73.5,72.691],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Group 1\",\"np\":4,\"cix\":2,\"ix\":1,\"mn\":\"ADBE Vector Group\"}],\"ip\":0,\"op\":201,\"st\":0,\"bm\":0,\"sr\":1}]}","import SVG from './SVG';\n\nexport default SVG;\n","/** @jsx jsx */\n\nimport React, { Fragment as _, useState, useRef, useEffect } from 'react';\nimport { keyframes } from 'emotion';\nimport { css, jsx } from '@emotion/core';\nimport { connect } from 'react-redux';\nimport EditMarker from 'components/UI/EditMarker';\nimport placeholder from 'assets/addImg@3x.svg';\nimport { colors } from 'styles/variables';\nimport getBlockById from 'services/apiHelpers/getBlockById';\nimport setCurrentBlock from 'services/apiHelpers/setCurrentBlock';\nimport { EditWrapper0, EditWrapper1 } from './EditWrappers';\n// import SVGIcon from 'assets/SVG.svg';\nimport svgPlaceholder from 'assets/animations/placeholder.js';\nimport isIE from 'services/isIE';\n\nimport ReactBodymovin from 'react-lottie';\n\nconst { lPink } = colors;\n\nconst frameSelected = keyframes`\n from {\n width: 50%;\n height: 50%;\n }\n to {\n width: 75%;\n height: 75%;\n }\n`;\n\nconst SVG = ({\n id,\n focusedNodeId,\n src,\n mediaParentId = null,\n editWrapperType = 0,\n}) => {\n // const [animationData, setAnimationData] = useState(src);\n\n let animationData;\n // this : src != undefined seemed to break it ?\n if (src) {\n try {\n animationData = JSON.parse(src);\n } catch {\n animationData = svgPlaceholder;\n }\n } else {\n animationData = svgPlaceholder;\n }\n\n const selected = focusedNodeId === id;\n\n const svg = useRef(null);\n\n const bodymovinOptions = {\n loop: true,\n autoplay: true,\n prerender: true,\n renderer: 'svg',\n animationData,\n };\n\n const hasAnimationData = Object.keys(animationData).length > 0;\n\n // console.log({ src, animationData });\n\n useEffect(() => {\n if (!isIE()) return;\n //\n const svg_ = svg.current.querySelector('svg');\n\n svg_.removeAttribute('width');\n svg_.removeAttribute('height');\n\n const onResize = () => {\n svg_.style.width = '100%';\n svg_.style.height = `${window.innerHeight / 2}px`;\n };\n onResize();\n window.addEventListener('resize', onResize);\n\n return () => window.removeEventListener('resize', onResize);\n });\n\n // useEffect(() => {\n // setAnimationData({});\n // //\n // fetch(src, {\n // mode: 'no-cors',\n // headers: {\n // Accept: 'application/json',\n // },\n // })\n // .then(response => {\n // if (response.status === 302 || response.status === 301) {\n // return fetch(response.headers.get('Location'), {\n // mode: 'no-cors',\n // headers: {\n // Accept: 'application/json',\n // },\n // });\n // } else {\n // return response.json();\n // }\n // })\n // .then(json => {\n // setAnimationData(json);\n // });\n // }, [src]);\n\n //\n // window.console.log(bodymovinOptions);\n\n const EditWrapper = window.dev()\n ? ({ children }) =>\n editWrapperType === 0 ? (\n \n {children}\n \n ) : (\n \n {children}\n \n )\n : ({ children }) => <_>{children};\n\n return (\n \n \n {hasAnimationData ? : ''}\n \n \n );\n\n return window.dev() ? (\n {\n e.stopPropagation();\n\n if (selected) return;\n\n setCurrentBlock({ id });\n }}\n >\n {hasAnimationData ? : ''}\n\n {!selected && }\n \n ) : (\n <_>\n {hasAnimationData ? : ''}\n \n );\n};\n\nexport default connect(\n ({ focusedNodeId }: { focusedNodeId: string | number }, { id }: any) => {\n const { src } = getBlockById(id).props;\n return {\n focusedNodeId,\n // ...(focusedNodeId === id && { [Math.random()]: '' }),\n src,\n };\n }\n)(SVG);\n","import Media from './Media';\n\nexport default Media;\n","/** @jsx jsx */\n\nimport React, { Fragment as _, memo } from 'react';\nimport { connect } from 'react-redux';\n\nconst Media = connect((state: any, props: any) => ({\n child: state.blocks[props.id].props.child,\n children: props.children,\n}))(({ children, child }) => children[child]);\n\nexport default Media;\n","/** @jsx jsx */\n\nimport React, { Fragment as _, useState, useContext } from 'react';\nimport { css, jsx } from '@emotion/core';\nimport { colors } from 'styles/variables';\nimport isIE from 'services/isIE';\nimport getBlockById from 'services/apiHelpers/getBlockById';\n\nconst { lPink, lGrey0, lGrey1, lGrey2 } = colors;\n\nconst IELayout = interactionContext => {\n return isIE()\n ? {\n Row: ({ children, ...props }) => {\n // console.clear();\n // console.log('IELayout ROW');\n\n const context = useContext(interactionContext);\n\n return (\n \n {children}\n \n );\n },\n Column: ({ children, ...props }) => {\n const context = useContext(interactionContext);\n\n const testBorder = children.length === 1 ? 'lightBlue' : 'lime';\n\n const block = getBlockById(props.id);\n const isButtonBlock =\n block && block.meta && block.meta.subType === 'ButtonBlock';\n\n return (\n \n {children}\n \n );\n },\n TwoColumnLayout: ({ children, ...props }) => {\n const context = useContext(interactionContext);\n return (\n \n {children}\n \n );\n },\n SingleColumnLayout: ({ children, ...props }) => {\n const context = useContext(interactionContext);\n // console.log(children);\n return (\n 1 && 'height: auto;'}\n\n // word-break: break-all;\n // overflow-wrap: break-word;\n // white-space: pre-wrap;\n\n * {\n // word-break: break-all;\n // overflow-wrap: break-word;\n // white-space: pre-wrap;\n }\n\n .chameleon-text {\n width: 100%;\n\n * {\n width: 100%;\n }\n }\n `}\n >\n {children}\n \n );\n },\n }\n : {};\n};\n\nexport default IELayout;\n","import getStore from 'services/getStore';\n\nconst store = getStore();\n\nconst shouldUpdate = () => {\n if (window.dev && !window.dev()) {\n return true;\n }\n\n const { focusedNodeId, blocks } = store.getState();\n const { type } = blocks[focusedNodeId] || {};\n\n const typeIsText = type ? type.toLowerCase() === 'text' : undefined;\n\n return typeIsText;\n};\n\nexport default shouldUpdate;\n","import React, { useContext, memo, useMemo } from 'react';\nimport { Row, Column } from '@chameleoncreator/creator-ui';\nimport { Block } from '@chameleoncreator/creator-app';\nimport { Accordion, Field, FieldHeader, FieldBody } from './Accordion';\nimport EditableText from 'components/lib/EditableText';\nimport Image from '../Image';\nimport Container from 'components/Layouts/ContainerLogical';\nimport ContinueBtn from 'components/lib/ContinueBtn/continueBtn_v2';\nimport EditableButton from 'components/lib/EditableBtn';\nimport getBlockById from 'services/apiHelpers/getBlockById';\nimport { interactionContext } from './interactionContext';\nimport Video from 'components/lib/Video';\nimport Transcript from 'components/lib/Video/Transcript';\nimport SVG from 'components/lib/SVG';\nimport Media from 'components/lib/Media';\nimport isIE from 'services/isIE';\nimport IELayout from 'components/Layouts/IELayout';\nimport shouldUpdate from 'services/shouldUpdate';\n\nconst SingleColumnLayout = Row.bind({}) as any;\nSingleColumnLayout.defaultProps = {\n ...(Row as any).defaultProps,\n flexDirection: 'column',\n};\n\nconst TwoColumnLayout = Row.bind({}) as any;\nTwoColumnLayout.defaultProps = {\n ...(Row as any).defaultProps,\n flexDirection: 'row',\n};\n\nconst ComponentsObject = {\n Row,\n Column,\n Text: EditableText,\n Accordion: isIE\n ? ({ children, ...props }) => {\n return (\n
    \n {children}\n
    \n );\n }\n : Accordion,\n AccordionField: Field,\n AccordionHeader: FieldHeader,\n AccordionBody: FieldBody,\n Image,\n Video,\n Transcript,\n Modal: () => null,\n SVG,\n Embed: () => null,\n Media,\n TwoColumnLayout: TwoColumnLayout,\n SingleColumnLayout: SingleColumnLayout,\n ContinueButton: ContinueBtn,\n EditableButton,\n ...IELayout(interactionContext),\n};\n\nconst render = (block: Block, Components: {}): JSX.Element | string => {\n let b = block;\n if (b.type === 'Ref') {\n b = getBlockById(b.id);\n }\n\n const children = Array.isArray(b.children)\n ? (b.children as Block[]).map(c => render(c, Components))\n : b.children;\n\n const Component = Components[b.type];\n\n return (\n \n {children}\n \n );\n};\n\ninterface DisplayProps {\n blockId: string;\n interactionBlock?: Block;\n}\n\nconst AccordionDisplay = memo((props: any) => {\n const interactionBlock = getBlockById(props.blockId);\n\n return (\n \n \n {(interactionBlock.children as Block[]).map(child => {\n return render(child, ComponentsObject);\n })}\n \n \n );\n}, shouldUpdate);\n\n// const AccordionDisplay = props => {\n// const interactionBlock = getBlockById(props.blockId);\n\n// const container = (\n// \n// \n// {(interactionBlock.children as Block[]).map(child => {\n// return render(child, ComponentsObject);\n// })}\n// \n// \n// );\n\n// return window.dev()\n// ? container\n// : useMemo(() => {\n// // console.log('accordion renders');\n// return container;\n// }, [props.isOpen, interactionBlock.props.lockDown]);\n\n// return (\n// \n// \n// {(interactionBlock.children as Block[]).map(child => {\n// return render(child, ComponentsObject);\n// })}\n// \n// \n// );\n// };\n\nexport default AccordionDisplay;\n","import AccordionDisplay from './AccordionDisplay_v2';\n\nexport default AccordionDisplay;\n","import getStore from 'services/getStore';\nimport setCurrentBlock from 'services/apiHelpers/setCurrentBlock';\n\nexport default (noop = false) => {\n const { currentInteractionBlockId, focusedNodeId } = getStore().getState();\n\n if (noop && currentInteractionBlockId === focusedNodeId) {\n return;\n }\n //\n if (currentInteractionBlockId === focusedNodeId) {\n return setCurrentBlock(null);\n }\n\n if (currentInteractionBlockId) {\n return setCurrentBlock({ id: currentInteractionBlockId });\n }\n\n setCurrentBlock(null);\n};\n","/** @jsx jsx */\n\nimport React, { Fragment as _, useState, useRef } from 'react';\nimport { css, jsx } from '@emotion/core';\nimport arrow from 'assets/pointerLight.svg';\nimport { colors, getButtonFocus } from 'styles/variables';\nimport EmptyBtn from 'components/UI/EmptyBtn';\nimport checkReturnToInteractionEditing from 'services/checkReturnToInteractionEditing';\n//\n\nconst { lPink, lGrey0, lGrey1, lGrey2 } = colors;\n\n// rgba(0,0,0,0.4) #999999\n// rgba(0,0,0,0.1)\n\nconst Btn = ({ dir = 'next', size = 60, style = {}, onClick }) => {\n //\n return (\n {\n checkReturnToInteractionEditing();\n onClick();\n }}\n />\n );\n};\n\nconst Btn_v2 = ({\n dir = 'next',\n size = 60,\n top = '',\n enabled = true,\n style = {},\n onClick,\n ...props\n}) => {\n // const [isMouseHover, setIsMouseHover] = useState(false);\n const height = props.height || '100%';\n //\n\n // onMouseOver={(e: any) => {\n // e.currentTarget.firstElementChild.blur();\n // setIsMouseHover(true);\n // }}\n // onMouseOut={e => {\n // setIsMouseHover(false);\n // }}\n\n // quick little ' hack ' to remove the outline when is mouse\n // outline still in effect when tabbing. . .\n // removed\n // ${isMouseHover &&\n // `\n // :focus {\n // outline: none;\n // }`}\n\n return (\n {\n onClick();\n }}\n >\n {\n // onClick();\n // }}\n\n ariaLabel={dir === 'prev' ? 'Previous slide' : 'Next slide'}\n disabled={!enabled}\n />\n \n );\n};\n\nexport default Btn_v2;\n","/** @jsx jsx */\n\nimport React, { Fragment as _, useContext } from 'react';\nimport { css, jsx } from '@emotion/core';\nimport { colors } from 'styles/variables';\nimport { CarouselContext } from './Carousel';\n\n//\n\nconst { lPink, lGrey0, lGrey1, lGrey2 } = colors;\n\nconst Marker = ({ size = 10, current = false }) => {\n return (\n \n );\n};\n\nconst Marker_v2 = ({\n size = 15,\n index,\n current = false,\n}: {\n size?: number;\n index?: number;\n current?: boolean;\n}) => {\n const carouselContext = useContext(CarouselContext);\n const { goto, animate } = carouselContext;\n\n // background: rgba(73, 73, 73, ${current ? 1 : 0.45});\n // #959595\n\n return (\n {\n !current && goto(index);\n }}\n aria-label={`Go to slide ${index + 1}`}\n aria-pressed={current}\n />\n );\n};\n\nexport default Marker_v2;\n","import { createContext } from 'react';\n\nexport const interactionContext = createContext(null);\n","const isEDGE = () => {\n const ua = window.navigator.userAgent;\n\n const edge = ua.indexOf('Edge/');\n if (edge > 0) {\n return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n }\n\n // other browser\n return false;\n};\n\nexport default isEDGE;\n","/** @jsx jsx */\n\nimport React, { ReactElement, useContext, useRef, useEffect } from 'react';\nimport { css, jsx } from '@emotion/core';\nimport Btn from './CarouselBtn';\nimport Marker from './CarouselMarker';\nimport { VisuallyHidden } from 'components/UI/VisuallyHidden';\nimport { colors, getButtonFocus } from 'styles/variables';\nimport { unlockInteraction } from 'services/unlockInteraction';\nimport { interactionContext as _interactionContext } from './interactionContext';\nimport { CarouselContext } from './Carousel';\nimport isEDGE from 'services/isEDGE';\n\nconst { lPink, lGrey0, lGrey1, lGrey2 } = colors;\n\nenum Direction {\n Prev = 'prev',\n Next = 'next',\n}\n\n// document.addEventListener('keyup', e => {\n// if (e.key !== 'Tab') {\n// return;\n// }\n\n// const activeElement = document.activeElement;\n\n// console.log({ activeElement });\n// });\n\nconst CarouselLayout = ({ children }) => {\n const interactionContext = useContext(_interactionContext);\n const carouselContext = useContext(CarouselContext);\n const { previousIndex, currentIndex, animate } = carouselContext;\n const imgHeight = 350;\n\n const {\n carouselColor = '#fff',\n carouselTextColor = lGrey0,\n animation = 'natural',\n } = interactionContext.props;\n\n const { layout } = interactionContext.meta;\n\n const itemsSeen = useRef(\n unlockInteraction(interactionContext.id, (children as any).length)\n );\n\n useEffect(() => {\n if (window.dev()) return;\n if (interactionContext.props.lockDown === 0) return;\n itemsSeen.current(currentIndex);\n });\n\n // removed focus of\n // &:focus {\n // ${getButtonFocus(\n // !['#fff', '#ffffff', 'rgb(255, 255, 255)'].includes(carouselColor)\n // ? carouselColor\n // : lGrey0,\n // `5px 10px 20px 10px rgba(0, 0, 0, 0.05)`\n // )}\n // }\n\n // tabIndex={-1}\n\n return (\n \n \n \n {(children as any).map((slide, index) =>\n React.cloneElement(slide, {\n index,\n currentIndex,\n animate,\n imgHeight,\n carouselColor,\n carouselTextColor,\n animation,\n slide,\n })\n )}\n \n\n \n Showing slide {currentIndex + 1} of {children.length}:\n \n\n \n \n {children.map((child, i) => (\n \n ))}\n \n \n\n 0}\n onClick={carouselContext[Direction.Prev]}\n />\n \n \n \n );\n};\n\nexport default CarouselLayout;\n","import React, {\n ReactElement,\n useState,\n useRef,\n createContext,\n useEffect,\n} from 'react';\n\nimport { interactionContext as _interactionContext } from './interactionContext';\nimport CarouselLayout from './CarouselLayout';\n\ninterface CarouselProps {\n children: ReactElement[] | ReactElement | string | null;\n}\n\ninterface CarouselContext {\n previousIndex: number;\n currentIndex: number;\n animate: boolean;\n next: () => void;\n prev: () => void;\n goto: (slideNum: number) => void;\n}\n\nconst CarouselContext = createContext(undefined);\n\nconst Carousel = (props: CarouselProps) => {\n const { children } = props as any;\n\n const [currentIndex, setCurrentIndex] = useState(0);\n const [previousIndex, setPreviousIndex] = useState(0);\n\n const slideCache = useRef([]);\n\n // rename to something like shouldAnimateTransition\n const animate = useRef(true);\n\n const next = (): void => {\n if (currentIndex < React.Children.count(children) - 1) {\n setPreviousIndex(currentIndex);\n setCurrentIndex(_currentIndex => _currentIndex + 1);\n }\n };\n const prev = (): void => {\n if (currentIndex >= 1) {\n setPreviousIndex(currentIndex);\n setCurrentIndex(_currentIndex => _currentIndex - 1);\n }\n };\n const goto = (slideNum: number): void => {\n setPreviousIndex(currentIndex);\n setCurrentIndex(slideNum);\n };\n\n useEffect(() => {\n if (!window.dev()) {\n return;\n }\n\n if (slideCache.current.length > children.length) {\n const slideCacheIds = slideCache.current.map(s => s.props.id);\n const childrenIds = children.map(c => c.props.id);\n const diff = slideCacheIds.filter(s => !childrenIds.includes(s));\n const removedIndex = slideCacheIds.indexOf(diff[0]);\n\n if (\n removedIndex < currentIndex ||\n (currentIndex === children.length && removedIndex === children.length)\n ) {\n animate.current = false;\n setCurrentIndex(_currentIndex => _currentIndex - 1);\n }\n }\n\n slideCache.current = children;\n requestAnimationFrame(() => (animate.current = true));\n }, [children.length]);\n\n // will just be me and timings. but the rAF up there does a better job of resetting it\n // useEffect(() => {\n // animate.current = true;\n // }, [animate.current]);\n\n return (\n \n {children}\n \n );\n};\n\n// for if we need to ' key ' a hard update\n// export default props => {\n// const { children } = props;\n// return (\n// \n// {children}\n// \n// );\n// };\n\nexport default Carousel;\nexport { CarouselContext };\n","/** @jsx jsx */\n\nimport React, { ReactElement, useContext, useRef, useEffect } from 'react';\nimport { css, jsx } from '@emotion/core';\nimport { motion } from 'framer-motion';\nimport { colors } from 'styles/variables';\nimport { interactionContext as _interactionContext } from './interactionContext';\nimport isiOS from 'services/isiOS';\nimport isEDGE from 'services/isEDGE';\nimport isAppleComputerInc from 'services/isAppleComputerInc';\n\nconst { lPink, lGrey0, lGrey1, lGrey2 } = colors;\n\nconst imgTransition = currentIndex => {\n // console.log(currentIndex);\n\n return {\n initial: {},\n go: {\n transform: `translateX(-${100 * currentIndex}%)`,\n transition: {\n duration: 0.35,\n type: 'spring',\n stiffness: 260,\n damping: 20,\n },\n },\n };\n};\n\nconst CarouselSlide = ({\n index,\n currentIndex,\n animate,\n imgHeight,\n carouselColor,\n carouselTextColor,\n animation,\n slide,\n}) => {\n const img = slide.props.children[0];\n const text = slide.props.children[1];\n\n const slideRef = useRef(null);\n\n // isiOS()\n return isAppleComputerInc() ? (\n \n \n {img}\n \n \n {text}\n \n \n ) : (\n \n \n {img}\n \n \n {text}\n \n \n );\n};\n\nexport default CarouselSlide;\n","import React, { Fragment as _, memo, useMemo } from 'react';\nimport EditableText from 'components/lib/EditableText';\nimport Carousel from './Carousel';\nimport renderBlock from 'services/apiHelpers/renderBlock';\nimport { Row, Column } from '@chameleoncreator/creator-ui';\nimport ContinueBtn from 'components/lib/ContinueBtn/continueBtn_v2';\nimport Image from 'components/lib/Image';\nimport { interactionContext } from './interactionContext';\nimport { connect } from 'react-redux';\nimport Container from 'components/Layouts/ContainerLogical';\nimport { Block } from '@chameleoncreator/creator-app';\nimport getBlockById from 'services/apiHelpers/getBlockById';\nimport CarouselSlide from './CarouselSlide';\nimport IELayout from 'components/Layouts/IELayout';\nimport shouldUpdate from 'services/shouldUpdate';\n\nconst SingleColumnLayout = Row.bind({}) as any;\nSingleColumnLayout.defaultProps = {\n ...(Row as any).defaultProps,\n flexDirection: 'column',\n};\n\nconst TwoColumnLayout = Row.bind({}) as any;\nTwoColumnLayout.defaultProps = {\n ...(Row as any).defaultProps,\n flexDirection: 'row',\n};\n\nconst Components = {\n Row,\n Column,\n Text: EditableText,\n Carousel,\n Slide: CarouselSlide,\n Image,\n TwoColumnLayout: TwoColumnLayout,\n SingleColumnLayout: SingleColumnLayout,\n ContinueButton: ContinueBtn,\n ...IELayout(interactionContext),\n};\n\nconst CarouselDisplay = memo((props: any) => {\n const interactionBlock = getBlockById(props.blockId);\n return (\n \n \n {(interactionBlock.children as Block[]).map(child => {\n return renderBlock(child, Components);\n })}\n \n \n );\n}, shouldUpdate);\n\n// const CarouselDisplay = props => {\n// const interactionBlock = getBlockById(props.blockId);\n\n// const container = (\n// \n// \n// {(interactionBlock.children as Block[]).map(child => {\n// return renderBlock(child, Components);\n// })}\n// \n// \n// );\n\n// return window.dev()\n// ? container\n// : useMemo(() => {\n// // console.log('carousel renders');\n// return container;\n// }, [props.isOpen, interactionBlock.props.lockDown]);\n\n// return (\n// \n// \n// {(interactionBlock.children as Block[]).map(child => {\n// return renderBlock(child, Components);\n// })}\n// \n// \n// );\n// };\n\n// export default connect((state: any, props: any) => {\n// const { data } = props;\n// const { background, carouselColor, carouselTextColor } = state.blocks[\n// data.id\n// ].props;\n\n// return {\n// background,\n// carouselColor,\n// carouselTextColor,\n// [Math.random()]: '',\n// };\n// })(CarouselDisplay);\n\nexport default CarouselDisplay;\n","import CarouselDisplay from './CarouselDisplay';\n\nexport default CarouselDisplay;\n","import { createContext } from 'react';\n\nexport const interactionContext = createContext(null);\n","/** @jsx jsx */\n\nimport React, {\n Fragment as _,\n ReactElement,\n useState,\n useContext,\n useRef,\n} from 'react';\nimport { css, jsx } from '@emotion/core';\nimport { interactionContext } from './interactionContext';\nimport { unlockInteraction } from 'services/unlockInteraction';\nimport { motion } from 'framer-motion';\n\ninterface FlipcardsProps {\n children: ReactElement[];\n}\n\nconst Flipcards = (props: FlipcardsProps) => {\n const { children } = props;\n const context = useContext(interactionContext);\n\n const itemsSeen = useRef(\n unlockInteraction(context.id, (children as any).length)\n );\n\n const updateFlipCardSeen = id => {\n if (context.props.lockDown === 0) return;\n itemsSeen.current(id);\n };\n\n return (\n \n \n Click a button to change the content\n \n\n \n {children.map((child: any) =>\n React.cloneElement(child, { updateFlipCardSeen })\n )}\n \n \n );\n};\n\nexport default Flipcards;\n","/** @jsx jsx */\n\nimport React, {\n ReactElement,\n useRef,\n useCallback,\n useEffect,\n useLayoutEffect,\n} from 'react';\nimport { css, jsx } from '@emotion/core';\nimport isEDGE from 'services/isEDGE';\n\ninterface FaceProps {\n id: string;\n face: string;\n color: string;\n textColor: string;\n alignTextTop: boolean;\n zIndex: number;\n transform: string;\n visibleFace: string;\n visibility: boolean;\n children: ReactElement;\n}\n\nconst Face = ({\n id,\n face,\n color,\n textColor,\n alignTextTop,\n zIndex,\n transform = '',\n visibleFace,\n visibility,\n children,\n ...props\n}: FaceProps) => {\n //\n\n const { opacity } = props as any;\n const faceElement: any = useRef(null);\n const anchors: any = useRef(undefined);\n\n useEffect(() => {\n const stopPropagation = e => {\n e.stopPropagation();\n };\n\n const addRemoveStopPropagation = addRemove => {\n if (anchors.current && anchors.current.length) {\n anchors.current.forEach((a: any) => {\n // console.log(`addRemoveStopPropagation('${addRemove}');`, a);\n a[`${addRemove}EventListener`]('click', stopPropagation);\n });\n }\n };\n\n if (!anchors.current) {\n anchors.current = Array.from(faceElement.current.querySelectorAll('a'));\n addRemoveStopPropagation('add');\n }\n\n return () => {\n addRemoveStopPropagation('remove');\n };\n }, []);\n\n useEffect(() => {\n if (anchors.current && anchors.current.length) {\n anchors.current.forEach((a: any) => {\n a.style.visibility = ['all', face].includes(visibleFace)\n ? 'visible'\n : 'hidden';\n });\n }\n }, [visibleFace]);\n\n return (\n \n {children}\n \n );\n};\n\nexport default Face;\n","/** @jsx jsx */\n\nimport React, {\n useState,\n useRef,\n useContext,\n useEffect,\n useLayoutEffect,\n} from 'react';\nimport { css, jsx } from '@emotion/core';\nimport { interactionContext } from './interactionContext';\nimport checkReturnToInteractionEditing from 'services/checkReturnToInteractionEditing';\nimport Face from './Face';\nimport { getButtonFocus } from 'styles/variables';\n\nconst Flipcard = props => {\n const { id, updateFlipCardSeen, children } = props;\n // const [rotation, setRotation] = useState(0);\n // const [visibleFace, setVisibleFace] = useState('all');\n\n const [cardHasFocus, setCardHasFocus] = useState(false);\n const [{ rotation, visibleFace }, updateCardDisplay] = useState({\n rotation: 0,\n visibleFace: 'front',\n });\n\n const [edgeOpacityHack, setEdgeOpacityHack] = useState(0);\n const context = useContext(interactionContext);\n const {\n flipcardFrontColor,\n flipcardBackColor,\n flipcardFrontTextColor,\n flipcardBackTextColor,\n focusColor,\n flipcardWidth,\n flipcardHeight,\n alignTextTop,\n } = context.props;\n\n const flipCard = useRef(null);\n const flipCardFaces = useRef(undefined);\n const flipCardInit = useRef(false);\n const hiddenButton = useRef(null);\n\n const updateRotation = e => {\n //\n window.dev() && checkReturnToInteractionEditing(true);\n\n // const { left, width } = e.currentTarget.getBoundingClientRect();\n // const side = e.clientX < left + width / 2 ? 'left' : 'right';\n\n let bounds;\n let left;\n let width;\n let side = 'left';\n\n if (e) {\n bounds = e.currentTarget.getBoundingClientRect();\n left = bounds.left;\n width = bounds.width;\n side = e.clientX < left + width / 2 ? 'left' : 'right';\n }\n\n // setVisibleFace('all');\n // setRotation(rotation + (side === 'left' ? -180 : 180));\n\n updateCardDisplay({\n rotation: rotation + (side === 'left' ? -180 : 180),\n visibleFace: 'all',\n });\n\n setEdgeOpacityHack(edgeOpacityHack => (edgeOpacityHack === 0 ? 1 : 0));\n\n updateFlipCardSeen(id);\n };\n\n const cardWithFocusId = useRef(null);\n\n const flipCardBaseShadow = '0 8px 24px 5px rgba(0, 0, 0, 0.2)';\n\n const getFocusColor = () => {\n if (focusColor) {\n return focusColor;\n }\n\n return (Math.abs(rotation) / 180) % 2 == 0\n ? ['#fff', '#ffffff', 'rgb(255, 255, 255)'].includes(flipcardFrontColor)\n ? flipcardBackColor\n : flipcardFrontColor\n : flipcardBackColor;\n };\n\n const getFocusColor_2 = () =>\n getButtonFocus(getFocusColor(), flipCardBaseShadow)\n .replace(/box-shadow:|;|!important/g, '')\n .trim();\n\n useEffect(() => {\n if (!flipCardFaces.current) {\n flipCardFaces.current = Array.from(flipCard.current.children);\n }\n\n const onTransitionEnd = e => {\n const visibleFace =\n (Math.abs(rotation) / 180) % 2 === 1 ? 'back' : 'front';\n\n // if we want to NOT use state. . .\n const hiddenCardElement: any = flipCardFaces.current.filter(element =>\n element.id.includes(visibleFace)\n )[0];\n\n if (flipCardInit.current) {\n updateCardDisplay({\n rotation,\n visibleFace,\n });\n flipCard.current.removeEventListener('transitionend', onTransitionEnd);\n }\n\n flipCardInit.current = true;\n // flipCard.current.removeEventListener('transitionend', onTransitionEnd);\n };\n\n flipCard.current.addEventListener('transitionend', onTransitionEnd);\n\n return () => {\n flipCard.current.removeEventListener('transitionend', onTransitionEnd);\n };\n }, [rotation]);\n\n useEffect(() => {\n if (window.dev()) {\n return;\n }\n\n const padding = 60;\n\n const checkFlipCardSize = () => {\n if (window.innerWidth - padding <= flipcardWidth) {\n let flipCardResizeRatio = window.innerWidth / flipcardWidth;\n\n flipCard.current.style.width = `${flipcardWidth * flipCardResizeRatio -\n padding}px`;\n flipCard.current.style.height = `${flipcardHeight *\n flipCardResizeRatio -\n padding}px`;\n\n return;\n }\n\n if (flipCard.current.style.width === `${flipcardWidth}px`) {\n return;\n }\n\n flipCard.current.style.width = `${flipcardWidth}px`;\n flipCard.current.style.height = `${flipcardHeight}px`;\n };\n\n checkFlipCardSize();\n\n window.addEventListener('resize', checkFlipCardSize);\n\n return () => {\n window.removeEventListener('resize', checkFlipCardSize);\n };\n }, []);\n\n return (\n {\n // if (![' ', 'Enter'].includes(e.key)) {\n // return;\n // }\n\n // updateRotation(e);\n // }}\n onClick={(e: any) => {\n // if (window.dev()) {\n // if (e.detail === 0) {\n // return;\n // }\n // }\n\n e.stopPropagation();\n updateRotation(e);\n\n if (hiddenButton.current) {\n requestAnimationFrame(() => hiddenButton.current.focus());\n }\n }}\n aria-label=\"flip card\"\n role=\"list-item\"\n // tabIndex={0}\n >\n {!window.dev() && (\n {\n setCardHasFocus(true);\n }}\n onBlur={() => {\n setCardHasFocus(false);\n }}\n onClick={e => {\n e?.stopPropagation();\n updateRotation(null);\n }}\n aria-pressed={visibleFace !== 'front'}\n />\n )}\n\n \n {children[0]}\n \n \n {children[1]}\n \n \n );\n};\n\nexport default Flipcard;\n","/** @jsx jsx */\n\nimport React, { Fragment as _, memo, useMemo } from 'react';\nimport { css, jsx } from '@emotion/core';\nimport EditableText from 'components/lib/EditableText';\nimport Flipcards_v2 from './Flipcards_v2';\nimport Flipcard_v2 from './Flipcard_v2';\nimport renderBlock from 'services/apiHelpers/renderBlock';\nimport { Row, Column, Button, Box } from '@chameleoncreator/creator-ui';\nimport Image from 'components/lib/Image';\nimport Video from 'components/lib/Video';\nimport SVG from 'components/lib/SVG';\nimport Media from 'components/lib/Media';\nimport { interactionContext } from './interactionContext';\nimport Container from 'components/Layouts/ContainerLogical';\nimport getBlockById from 'services/apiHelpers/getBlockById';\nimport continueBtn from '../ContinueBtn/continueBtn_v2';\nimport { Block } from '@chameleoncreator/creator-app';\nimport IELayout from 'components/Layouts/IELayout';\nimport shouldUpdate from 'services/shouldUpdate';\n\nconst SingleColumnLayout = Row.bind({}) as any;\nSingleColumnLayout.defaultProps = {\n ...(Row as any).defaultProps,\n flexDirection: 'column',\n};\n\nconst TwoColumnLayout = Row.bind({}) as any;\nTwoColumnLayout.defaultProps = {\n ...(Row as any).defaultProps,\n flexDirection: 'row',\n};\n\nconst Components = {\n Row,\n Column,\n Text: ({ children, ...props }) => (\n \n ),\n Flipcards: Flipcards_v2,\n Flipcard: Flipcard_v2,\n FlipcardSide: ({ children }) => children,\n Front: ({ children }) => children,\n Back: ({ children }) => children,\n Image: ({ children, ...props }) => (\n \n ),\n Video,\n // these can return null\n Transcript: () => null,\n EditableButton: () => null,\n //\n SVG: ({ children, ...props }) => (\n \n ),\n Embed: () => null,\n Media,\n TwoColumnLayout: TwoColumnLayout,\n SingleColumnLayout: SingleColumnLayout,\n ContinueButton: continueBtn,\n ...IELayout(interactionContext),\n};\n\nconst FlipCardDisplay = memo((props: any) => {\n const interactionBlock = getBlockById(props.blockId);\n return (\n \n \n {(interactionBlock.children as Block[]).map(child => {\n return renderBlock(child, Components);\n })}\n \n \n );\n}, shouldUpdate);\n\n// const FlipCardDisplay = props => {\n// const interactionBlock = getBlockById(props.blockId);\n\n// const container = (\n// \n// \n// {(interactionBlock.children as Block[]).map(child => {\n// return renderBlock(child, Components);\n// })}\n// \n// \n// );\n\n// return window.dev()\n// ? container\n// : useMemo(() => {\n// // console.log('flipCard renders');\n// return container;\n// }, [props.isOpen, interactionBlock.props.lockDown]);\n\n// return (\n// \n// \n// {(interactionBlock.children as Block[]).map(child => {\n// return renderBlock(child, Components);\n// })}\n// \n// \n// );\n// };\n\nexport default FlipCardDisplay;\n","import FlipCardDisplay from './FlipCardDisplay_v2';\n\nexport default FlipCardDisplay;\n","import { createContext } from 'react';\n\nexport const interactionContext = createContext(null);\n","/** @jsx jsx */\n\nimport React, {\n useState,\n useRef,\n useEffect,\n useMemo,\n useLayoutEffect,\n Fragment as _,\n useContext,\n} from 'react';\n\nimport { css, jsx } from '@emotion/core';\nimport { interactionContext } from './interactionContext';\nimport getBlockById from 'services/apiHelpers/getBlockById';\nimport setBlockProps from 'services/apiHelpers/setBlockProps';\nimport { colors, getButtonFocus } from 'styles/variables';\n\nconst TermsAndConditions = ({ size = 15, onClick = null, ...props }) => {\n const context: any = useContext(interactionContext);\n const { id } = props;\n\n const {\n accept,\n acceptContent = 'e.g. I accept these terms and conditions.',\n acceptBorderRadius = 0,\n acceptTextColor = undefined,\n acceptBackgroundColor = undefined,\n lockDown,\n } = context.props;\n\n //\n const [toggle, setToggle] = useState(lockDown === 0 ? true : false);\n\n const tickColor = acceptTextColor || '#000';\n\n useEffect(() => {\n if (toggle) {\n setBlockProps(getBlockById(context.id), { lockDown: 0 });\n }\n }, [toggle]);\n\n return accept ? (\n
    e.preventDefault()}>\n {\n setToggle(true);\n }}\n onKeyUp={\n window.dev()\n ? null\n : (e: any) => {\n console.log(e);\n if ([' ', 'Enter'].includes(e.key)) {\n setToggle(true);\n }\n }\n }\n tabIndex={!toggle ? 0 : -1}\n >\n \n \n {acceptContent}\n \n\n \n \n \n \n \n ) : null;\n};\n\nexport default TermsAndConditions;\n","/** @jsx jsx */\n\nimport React, { Fragment as _, useContext } from 'react';\nimport { css, jsx } from '@emotion/core';\nimport Layout from 'components/Layouts/Layout';\nimport placeholder from 'assets/placeholder.png';\nimport EditableText from 'components/lib/EditableText';\nimport Image from 'components/lib/Image';\n//\nimport getTempTextImageData from 'services/getTempTextImageContinueBtnData';\nimport TermsAndConditions from './TermsAndConditions';\n\nconst FullPageText = ({ children, ...props }) => {\n return (\n \n {children}\n\n \n \n );\n};\n\nexport default FullPageText;\n","/** @jsx jsx */\n\nimport React, {\n Fragment as _,\n memo,\n useMemo,\n useState,\n useContext,\n} from 'react';\nimport { css, jsx } from '@emotion/core';\nimport EditableText from 'components/lib/EditableText';\nimport { colors } from 'styles/variables';\nimport getTempTextImageData from 'services/getTempTextImageContinueBtnData';\nimport expandBlock from 'services/apiHelpers/expandBlock';\nimport renderBlock from 'services/apiHelpers/renderBlock';\nimport { Row, Column, Button, Box } from '@chameleoncreator/creator-ui';\nimport Image from 'components/lib/Image';\nimport Video from 'components/lib/Video';\nimport SVG from 'components/lib/SVG';\nimport ContinueBtn from 'components/lib/ContinueBtn/continueBtn_v2';\nimport Container from 'components/Layouts/ContainerLogical';\nimport { connect } from 'react-redux';\nimport { interactionContext } from './interactionContext';\nimport Media from 'components/lib/Media';\nimport { Block } from '@chameleoncreator/creator-app';\nimport getBlockById from 'services/apiHelpers/getBlockById';\nimport shouldUpdate from 'services/shouldUpdate';\nimport IELayout from 'components/Layouts/IELayout';\nimport FullPageText from './FullPageText';\nimport TermsAndConditions from './TermsAndConditions';\n\nconst { lPink, lGrey0, lGrey1, lGrey2 } = colors;\n\nconst SingleColumnLayout = Row.bind({}) as any;\nSingleColumnLayout.defaultProps = {\n ...(Row as any).defaultProps,\n flexDirection: 'column',\n};\n\nconst TwoColumnLayout = Row.bind({}) as any;\nTwoColumnLayout.defaultProps = {\n ...(Row as any).defaultProps,\n flexDirection: 'row',\n};\n\nconst Components = {\n Row,\n Column,\n Text: EditableText,\n // FullPageText: ({ children, ...props }) => (\n // \n // {children}\n\n // {\n // // console.log('terms met');\n // // }}\n // />\n // \n // ),\n FullPageText,\n Image,\n TwoColumnLayout,\n SingleColumnLayout,\n ContinueButton: ContinueBtn,\n Video,\n SVG,\n Media,\n ...IELayout(interactionContext),\n};\n\nconst FullPageTextDisplay = memo((props: any) => {\n const interactionBlock = getBlockById(props.blockId);\n\n return (\n \n \n {(interactionBlock.children as Block[]).map(child => {\n return renderBlock(child, Components);\n })}\n \n \n );\n}, shouldUpdate);\n\n// const FullPageTextDisplay = props => {\n// const interactionBlock = getBlockById(props.blockId);\n\n// // const container = (\n// return (\n// \n// \n// {(interactionBlock.children as Block[]).map(child => {\n// return renderBlock(child, Components);\n// })}\n// \n// \n// );\n// // );\n\n// // return window.dev()\n// // ? container\n// // : useMemo(() => {\n// // // console.log('fullPageText renders');\n// // return container;\n// // }, [props.isOpen, interactionBlock.props.lockDown]);\n// };\n\nexport default FullPageTextDisplay;\n","import FullPageTextDisplay from './FullPageTextDisplay';\n\nexport default FullPageTextDisplay;\n","import { createContext } from 'react';\n\nexport const interactionContext = createContext(null);\n","/** @jsx jsx */\n\nimport React, { Fragment as _ } from 'react';\nimport { keyframes } from 'emotion';\nimport { css, jsx } from '@emotion/core';\nimport EditMarker from 'components/UI/EditMarker';\nimport setCurrentBlock from 'services/apiHelpers/setCurrentBlock';\nimport { colors } from 'styles/variables';\nimport embedIcon from 'assets/Embed.svg';\n\nconst { lPink } = colors;\n\nconst frameSelected = keyframes`\n from {\n width: 50%;\n height: 50%;\n }\n to {\n width: 75%;\n height: 75%;\n }\n`;\n\nconst frameNotSelected = keyframes`\nfrom {\n width: 75%;\n height: 75%;\n}\nto {\n width: 50%;\n height: 50%;\n}\n`;\n\nconst EditWrapper0 = ({ id, mediaParentId, selected, children }) => {\n return (\n {\n e.stopPropagation();\n\n if (selected) return;\n\n // console.log({ mediaParentId });\n\n setCurrentBlock({ id });\n }}\n >\n {children}\n\n {!selected && }\n \n );\n};\n\n// ${!selected && 'border-radius: 50%;'}\nconst EditWrapper1 = ({ id, mediaParentId, selected, children }) => {\n return (\n \n {children}\n \n {\n e.stopPropagation();\n\n if (selected) return;\n\n // console.log({ mediaParentId });\n\n setCurrentBlock({ id });\n }}\n >\n {!selected && (\n // \n \n )}\n\n {!selected && }\n \n \n \n );\n};\n\nexport { EditWrapper0, EditWrapper1 };\n","/** @jsx jsx */\n\nimport React, {\n Fragment as _,\n memo,\n useMemo,\n useCallback,\n useContext,\n useRef,\n useState,\n useEffect,\n useLayoutEffect,\n} from 'react';\nimport { keyframes } from 'emotion';\nimport { css, jsx } from '@emotion/core';\nimport { useSelector, connect } from 'react-redux';\nimport EditMarker from 'components/UI/EditMarker';\nimport placeholder from 'assets/addImg@3x.svg';\nimport { colors } from 'styles/variables';\nimport getBlockById from 'services/apiHelpers/getBlockById';\nimport setCurrentBlock from 'services/apiHelpers/setCurrentBlock';\nimport { EditWrapper0, EditWrapper1 } from './EditWrappers';\nimport ReactPlayer from 'react-player';\nimport VideoIcon from 'assets/Video.svg';\nimport useIntersectionObserver from 'hooks/useIntersectionObserver';\nimport { interactionContext } from 'components/lib/TextAndImage/interactionContext';\nimport { unlockInteraction } from 'services/unlockInteraction';\nimport onFullScreen from 'services/onFullScreen';\nimport LoadingSpinner from 'components/UI/LoadingSpinner';\nimport embedIcon from 'assets/Embed.svg';\nimport EmbedPlaceholder from 'assets/EmbedPlaceholder.svg';\n\nconst { lPink, lGrey0, lGrey2 } = colors;\n\nconst frameSelected = keyframes`\n from {\n width: 50%;\n height: 50%;\n }\n to {\n width: 75%;\n height: 75%;\n }\n`;\n\nconst minHeight = '50vh';\nconst getMinHeight = fullWindowHeight => {\n return fullWindowHeight ? 'calc(100vh - 250px)' : minHeight;\n};\n\n// ${loaded && `min-height: ${getMinHeight(fullWindowHeight)};`}\n\nconst IFrame = ({ src, fullWindowHeight }) => {\n const [loaded, setLoaded] = useState(false);\n\n return (\n <_>\n {\n const iF = e.currentTarget;\n iF.style.minHeight = '50vh';\n setTimeout(() => {\n iF.style.minHeight = getMinHeight(fullWindowHeight);\n }, 1000 / 60);\n //\n setLoaded(true);\n }}\n >\n {!loaded && (\n \n \n \n )}\n \n );\n};\n\nconst Embed = props => {\n const { id, src, fullWindowHeight = false, mediaParentId = null } = props;\n\n const focusedNodeId = useSelector((state: any) => state.focusedNodeId);\n const selected = id === focusedNodeId;\n\n return (\n \n {window.dev() ? (\n \n