{"version":3,"sources":["webpack:///./app/react/packages/track/track.js","webpack:///./app/react/packages/track/modules/folders.js","webpack:///./app/react/packages/track/modules/studentOnboarding.js","webpack:///./app/react/packages/track/modules/print.js","webpack:///./app/react/packages/track/hooks/usePathnameTracking.js"],"names":["mapModuleValues","eventValue","properties","options","callback","analytics","track","changedFoldersSortOption","changedSharedFoldersSortOption","viewedPublishedFolder","viewedPublishedFoldersSection","viewedSharedFolder","viewedSharedFoldersSection","toggledUsername","changedAvatar","printedPdf","downloadedPdf","reduce","trackObj","module","usePathnameTracking","useState","firstTime","setFirstTime","useEffect","page","window","location","pathname"],"mappings":"07BAQA,IAKMA,EAAkB,SAAAC,GAAU,OAAI,eACpCC,EADoC,uDACvB,GACbC,EAFoC,uDAE1B,GACVC,EAHoC,uDAGzB,KAHyB,OAIjCC,UAAUC,MAAML,EAAYC,EAAYC,EAASC,KAYvCE,EArBC,CCRD,CACbC,yBAA0B,8BAC1BC,+BAAgC,oCAChCC,sBAAuB,0BACvBC,8BAA+B,mCAC/BC,mBAAoB,uBACpBC,2BAA4B,iCCNf,CACbC,gBAAiB,0BACjBC,cAAe,0BCFF,CACbC,WAAY,cACZC,cAAe,mBHmBKC,QACpB,SAACC,EAAUC,GAAX,cACKD,GACA,IAAMlB,EAAiBmB,MAE5B,I,mhCIvBa,SAASC,IACtB,QAAkCC,oBAAS,GAA3C,GAAOC,EAAP,KAAkBC,EAAlB,KAGAC,qBAAU,WACRD,GAAa,KACZ,IAKHC,qBAAU,WACJF,GACJjB,UAAUoB,KAAKC,OAAOC,SAASC,YAC9B,CAACF,OAAOC,SAASC","file":"package-track.21f3cdabb9e3ef975774.chunk.js","sourcesContent":["/* global analytics */\nimport R from 'ramda'\n\nimport folders from './modules/folders'\nimport studentOnboarding from './modules/studentOnboarding'\nimport print from './modules/print'\n\n// Add your app/feature's module here:\nconst modules = [folders, studentOnboarding, print]\n\n// For a given module, convert its values into functions.\n// Each function returns analytics.track() using the value as the event name;\n// properties, options, and a callback may be optionally passed to this function.\nconst mapModuleValues = eventValue => (\n properties = {},\n options = {},\n callback = null\n) => analytics.track(eventValue, properties, options, callback)\n\n// Track is an object whose keys are the keys from every module,\n// and whose values are the functions created by mapModuleValues\nconst track = modules.reduce(\n (trackObj, module) => ({\n ...trackObj,\n ...R.map(mapModuleValues, module),\n }),\n {}\n)\n\nexport default track\n","export default {\n changedFoldersSortOption: 'Changed folders sort option',\n changedSharedFoldersSortOption: 'Change shared folders sort option',\n viewedPublishedFolder: 'Viewed published folder',\n viewedPublishedFoldersSection: 'Viewed published folders section',\n viewedSharedFolder: 'Viewed shared folder',\n viewedSharedFoldersSection: 'Viewed shared folders section',\n}\n","export default {\n toggledUsername: 'Toggled username switch',\n changedAvatar: 'Changed default avatar',\n}\n","export default {\n printedPdf: 'Printed PDF',\n downloadedPdf: 'Downloaded PDF',\n}\n","/* global analytics */\nimport { useEffect, useState } from 'react'\n\nexport default function usePathnameTracking() {\n const [firstTime, setFirstTime] = useState(true)\n\n // since we're also tracking the pageview on the first render using _segmentio_integration.html.slim, we need to prevent from tracking twice on load\n useEffect(() => {\n setFirstTime(false)\n }, [])\n\n // I wasn't able to use React Router's location for two reasons:\n // 1) if location was the dependency, this useEffect would be triggered on every query parameter change\n // 2) the location is not always the complete path, because it will depend on React Router's basename\n useEffect(() => {\n if (firstTime) return\n analytics.page(window.location.pathname)\n }, [window.location.pathname])\n}\n"],"sourceRoot":""}