From 422ffa5e129035cae4dc6d57879a5c4cb8284197 Mon Sep 17 00:00:00 2001 From: PostHog Bot Date: Thu, 9 Jan 2025 16:51:12 +0000 Subject: [PATCH] Storybook build for e80bde2ad7329df27718dac093853ca60b0c5114 --- docs/iframe.html | 2 +- ...ec66.iframe.bundle.js => main.3c6c669a.iframe.bundle.js} | 6 +++--- ...ame.bundle.js.map => main.3c6c669a.iframe.bundle.js.map} | 2 +- docs/project.json | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) rename docs/{main.8757ec66.iframe.bundle.js => main.3c6c669a.iframe.bundle.js} (89%) rename docs/{main.8757ec66.iframe.bundle.js.map => main.3c6c669a.iframe.bundle.js.map} (99%) diff --git a/docs/iframe.html b/docs/iframe.html index 00f622e08..7c655d5d2 100644 --- a/docs/iframe.html +++ b/docs/iframe.html @@ -352,4 +352,4 @@ import './97192.4ba8ee11.iframe.bundle.js'; - import './main.8757ec66.iframe.bundle.js'; \ No newline at end of file + import './main.3c6c669a.iframe.bundle.js'; \ No newline at end of file diff --git a/docs/main.8757ec66.iframe.bundle.js b/docs/main.3c6c669a.iframe.bundle.js similarity index 89% rename from docs/main.8757ec66.iframe.bundle.js rename to docs/main.3c6c669a.iframe.bundle.js index 689515612..b15fbb082 100644 --- a/docs/main.8757ec66.iframe.bundle.js +++ b/docs/main.3c6c669a.iframe.bundle.js @@ -72,7 +72,7 @@ limit 100`,explain:!0},DataWarehouse={kind:_queries_schema__WEBPACK_IMPORTED_MOD } } return fibonacci(16);`},queryExamples={Events,EventsTable,EventsTableFull,TotalEventsTable,PropertyFormulasTable,EventAggregations,Persons,PersonsTable,PersonsTableFull,InsightTrendsQuery,InsightTrends:{kind:_queries_schema__WEBPACK_IMPORTED_MODULE_1__.OH.InsightVizNode,source:InsightTrendsQuery},InsightFunnelsQuery,InsightFunnels:{kind:_queries_schema__WEBPACK_IMPORTED_MODULE_1__.OH.InsightVizNode,source:InsightFunnelsQuery},InsightRetentionQuery,InsightRetention:{kind:_queries_schema__WEBPACK_IMPORTED_MODULE_1__.OH.InsightVizNode,source:InsightRetentionQuery},InsightPathsQuery,InsightPaths:{kind:_queries_schema__WEBPACK_IMPORTED_MODULE_1__.OH.InsightVizNode,source:InsightPathsQuery},InsightStickinessQuery,InsightStickiness:{kind:_queries_schema__WEBPACK_IMPORTED_MODULE_1__.OH.InsightVizNode,source:InsightStickinessQuery},InsightLifecycleQuery,InsightLifecycle:{kind:_queries_schema__WEBPACK_IMPORTED_MODULE_1__.OH.InsightVizNode,source:InsightLifecycleQuery}};Object.fromEntries(Object.entries(queryExamples).map(_ref=>{let[key,node]=_ref;return[key,JSON.stringify(node)]}));let examples={...queryExamples,HogQLRaw,HogQLTable,DataVisualization,Hog,Hoggonacci,DataWarehouse},stringifiedExamples=Object.fromEntries(Object.entries(examples).map(_ref2=>{let[key,node]=_ref2;return[key,JSON.stringify(node)]}))},"./frontend/src/queries/nodes/DataNode/DateRange.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{C:()=>DateRange});var lib_components_DateFilter_DateFilter__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/src/lib/components/DateFilter/DateFilter.tsx"),_queries_utils__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/queries/utils.ts"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function DateRange(_ref){var _query$after,_query$before,_query$filters$dateRa,_query$filters$dateRa2;let{query,setQuery}=_ref;return(0,_queries_utils__WEBPACK_IMPORTED_MODULE_1__.rz)(query)?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(lib_components_DateFilter_DateFilter__WEBPACK_IMPORTED_MODULE_0__.f,{dateFrom:null!==(_query$after=query.after)&&void 0!==_query$after?_query$after:void 0,dateTo:null!==(_query$before=query.before)&&void 0!==_query$before?_query$before:void 0,onChange:(changedDateFrom,changedDateTo)=>{let newQuery={...query,after:null!=changedDateFrom?changedDateFrom:void 0,before:null!=changedDateTo?changedDateTo:void 0};setQuery?.(newQuery)}}):(0,_queries_utils__WEBPACK_IMPORTED_MODULE_1__.Vf)(query)||(0,_queries_utils__WEBPACK_IMPORTED_MODULE_1__.Sy)(query)?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(lib_components_DateFilter_DateFilter__WEBPACK_IMPORTED_MODULE_0__.f,{size:"medium",dateFrom:null!==(_query$filters$dateRa=query.filters?.dateRange?.date_from)&&void 0!==_query$filters$dateRa?_query$filters$dateRa:void 0,dateTo:null!==(_query$filters$dateRa2=query.filters?.dateRange?.date_to)&&void 0!==_query$filters$dateRa2?_query$filters$dateRa2:void 0,onChange:(changedDateFrom,changedDateTo)=>{var _query$filters;let newQuery={...query,filters:{...null!==(_query$filters=query.filters)&&void 0!==_query$filters?_query$filters:{},dateRange:{date_from:null!=changedDateFrom?changedDateFrom:void 0,date_to:null!=changedDateTo?changedDateTo:void 0}}};setQuery?.(newQuery)}}):null}},"./frontend/src/queries/nodes/DataNode/ElapsedTime.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{F:()=>Timings,W:()=>ElapsedTime});var clsx__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/.pnpm/clsx@1.2.1/node_modules/clsx/dist/clsx.m.js"),kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),lib_lemon_ui_Popover__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/lib/lemon-ui/Popover/index.ts"),react__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/index.js"),_queries_nodes_DataNode_dataNodeLogic__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/queries/nodes/DataNode/dataNodeLogic.ts"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function Timings(_ref){let{timings,elapsedTime}=_ref;return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)("div",{className:"space-y-2 p-2",children:[timings.map(_ref2=>{let{k:key,t:time}=_ref2;return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)("div",{className:(0,clsx__WEBPACK_IMPORTED_MODULE_5__.default)("flex justify-between items-start space-x-2",time>.5*timings[timings.length-1].t?"font-bold":""),children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("div",{children:"."==key?"Query total":key}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)("div",{children:[time.toFixed(3),"s"]})]},key)}),void 0!==elapsedTime&&timings.length>0?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)("div",{className:(0,clsx__WEBPACK_IMPORTED_MODULE_5__.default)("flex justify-between items-start space-x-2"),children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("div",{children:"+ HTTP overhead"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)("div",{children:[(elapsedTime/1e3-timings[timings.length-1].t).toFixed(3),"s"]})]}):null]})}function ElapsedTimeWithTimings(_ref3){let{elapsedTime,hasError,timings}=_ref3,[popoverVisible,setPopoverVisible]=(0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(!1);return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(lib_lemon_ui_Popover__WEBPACK_IMPORTED_MODULE_1__.J2,{onClickOutside:()=>setPopoverVisible(!1),visible:popoverVisible,placement:"bottom",overlay:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(Timings,{timings:timings,elapsedTime:elapsedTime}),children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)("div",{onClick:()=>setPopoverVisible(visible=>!visible),className:(0,clsx__WEBPACK_IMPORTED_MODULE_5__.default)(hasError?"text-danger":"","cursor-help"),children:[(elapsedTime/1e3).toFixed(elapsedTime<1e3?2:1),"s"]})})}function ElapsedTime(_ref4){let{showTimings}=_ref4,{elapsedTime,loadingStart,responseError,isShowingCachedResults,timings}=(0,kea__WEBPACK_IMPORTED_MODULE_0__.useValues)(_queries_nodes_DataNode_dataNodeLogic__WEBPACK_IMPORTED_MODULE_3__.M),[,setTick]=(0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(0),time=elapsedTime;return(isShowingCachedResults&&(time=0),isShowingCachedResults||!loadingStart||elapsedTime||(time=performance.now()-loadingStart,window.requestAnimationFrame(()=>{setTick(tick=>tick+1)})),time)?elapsedTime&&timings&&showTimings?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(ElapsedTimeWithTimings,{elapsedTime:elapsedTime,timings:timings,hasError:!!responseError}):(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)("div",{className:responseError?"text-danger":"",children:[(time/1e3).toFixed(time<1e3?2:1),"s"]}):null}},"./frontend/src/queries/nodes/DataNode/LoadNext.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{g:()=>LoadNext});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),lib_lemon_ui_LemonButton__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonButton/index.ts"),_queries_nodes_DataNode_dataNodeLogic__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/queries/nodes/DataNode/dataNodeLogic.ts"),_queries_utils__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/queries/utils.ts"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function LoadNext(_ref){let{query}=_ref,{canLoadNextData,nextDataLoading,numberOfRows,hasMoreData,dataLimit}=(0,kea__WEBPACK_IMPORTED_MODULE_0__.useValues)(_queries_nodes_DataNode_dataNodeLogic__WEBPACK_IMPORTED_MODULE_2__.M),{loadNextData}=(0,kea__WEBPACK_IMPORTED_MODULE_0__.useActions)(_queries_nodes_DataNode_dataNodeLogic__WEBPACK_IMPORTED_MODULE_2__.M);return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("div",{className:"m-2 flex items-center",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(lib_lemon_ui_LemonButton__WEBPACK_IMPORTED_MODULE_1__.J,{onClick:loadNextData,loading:nextDataLoading,fullWidth:!0,center:!0,disabled:!canLoadNextData,children:(0,_queries_utils__WEBPACK_IMPORTED_MODULE_3__.Vf)(query)&&!canLoadNextData&&hasMoreData&&dataLimit?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.Fragment,{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("br",{}),"Default limit of ",dataLimit," rows reached. Try adding a LIMIT clause to adjust."]}):(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.Fragment,{children:["Showing ",canLoadNextData||1===numberOfRows?"":"all ",1===numberOfRows?"one":numberOfRows," ",1===numberOfRows?"entry":"entries",canLoadNextData?". Click to load more.":". Reached the end of results."]})})})}},"./frontend/src/queries/nodes/DataNode/Reload.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{H:()=>ReloadAll,L:()=>Reload});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),lib_lemon_ui_icons__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/lib/lemon-ui/icons/index.ts"),lib_lemon_ui_LemonButton__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonButton/index.ts"),lib_lemon_ui_Spinner__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/lemon-ui/Spinner/index.ts"),_queries_nodes_DataNode_dataNodeCollectionLogic__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/queries/nodes/DataNode/dataNodeCollectionLogic.ts"),_queries_nodes_DataNode_dataNodeLogic__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/queries/nodes/DataNode/dataNodeLogic.ts"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function Reload(){let{responseLoading}=(0,kea__WEBPACK_IMPORTED_MODULE_0__.useValues)(_queries_nodes_DataNode_dataNodeLogic__WEBPACK_IMPORTED_MODULE_5__.M),{loadData,cancelQuery}=(0,kea__WEBPACK_IMPORTED_MODULE_0__.useActions)(_queries_nodes_DataNode_dataNodeLogic__WEBPACK_IMPORTED_MODULE_5__.M);return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(lib_lemon_ui_LemonButton__WEBPACK_IMPORTED_MODULE_2__.J,{type:"secondary",onClick:()=>{responseLoading?cancelQuery():loadData(!0)},icon:responseLoading?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(lib_lemon_ui_Spinner__WEBPACK_IMPORTED_MODULE_3__.$,{textColored:!0}):(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(lib_lemon_ui_icons__WEBPACK_IMPORTED_MODULE_1__.tr,{}),children:responseLoading?"Cancel":"Reload"})}function ReloadAll(){let{areAnyLoading}=(0,kea__WEBPACK_IMPORTED_MODULE_0__.useValues)(_queries_nodes_DataNode_dataNodeCollectionLogic__WEBPACK_IMPORTED_MODULE_4__.y),{reloadAll}=(0,kea__WEBPACK_IMPORTED_MODULE_0__.useActions)(_queries_nodes_DataNode_dataNodeCollectionLogic__WEBPACK_IMPORTED_MODULE_4__.y);return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(lib_lemon_ui_LemonButton__WEBPACK_IMPORTED_MODULE_2__.J,{type:"secondary",size:"small",onClick:()=>{reloadAll()},icon:areAnyLoading?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(lib_lemon_ui_Spinner__WEBPACK_IMPORTED_MODULE_3__.$,{textColored:!0}):(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(lib_lemon_ui_icons__WEBPACK_IMPORTED_MODULE_1__.tr,{}),disabledReason:areAnyLoading?"Loading":void 0,children:"Reload"})}},"./frontend/src/queries/nodes/DataNode/dataNodeCollectionLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{y:()=>dataNodeCollectionLogic});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js");let dataNodeCollectionLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(["queries","nodes","dataNodeCollectionLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.props)({}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.key)(props=>props.key),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)({mountDataNode:(id,props)=>({id,props}),unmountDataNode:id=>({id}),reloadAll:()=>({}),cancelAllLoading:()=>({}),collectionNodeLoadData:id=>({id}),collectionNodeLoadDataSuccess:id=>({id}),collectionNodeLoadDataFailure:id=>({id})}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)({mountedDataNodes:[[],{mountDataNode:(state,payload)=>{let filtered=state.filter(node=>node.id!==payload.id);return[...filtered,payload.props]},unmountDataNode:(state,payload)=>state.filter(node=>node.id!==payload.id)}],collectionNodeStatus:[{},{mountDataNode:(state,payload)=>({...state,[payload.id]:{isLoading:!1,hasError:!1}}),unmountDataNode:(state,payload)=>{let{[payload.id]:_discard,...rest}=state;return rest},collectionNodeLoadData:(state,payload)=>({...state,[payload.id]:{isLoading:!0,hasError:!1}}),collectionNodeLoadDataSuccess:(state,payload)=>({...state,[payload.id]:{isLoading:!1,hasError:!1}}),collectionNodeLoadDataFailure:(state,payload)=>({...state,[payload.id]:{isLoading:!1,hasError:!0}})}]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.selectors)({areAnyLoading:[s=>[s.collectionNodeStatus],collectionNodeStatus=>Object.values(collectionNodeStatus).some(status=>status?.isLoading)]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.listeners)(_ref=>{let{values}=_ref;return{reloadAll:()=>{values.mountedDataNodes.forEach(node=>node.loadData(!0))},cancelAllLoading:()=>{values.mountedDataNodes.forEach(node=>{let status=values.collectionNodeStatus[node.id];status?.isLoading&&node.cancelQuery()})}}})])},"./frontend/src/queries/nodes/DataNode/dataNodeLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{M:()=>dataNodeLogic});var clsx_m=__webpack_require__("./node_modules/.pnpm/clsx@1.2.1/node_modules/clsx/dist/clsx.m.js"),index_esm=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),lib=__webpack_require__("./node_modules/.pnpm/kea-loaders@3.0.0_kea@3.1.5/node_modules/kea-loaders/lib/index.js"),kea_subscriptions_lib=__webpack_require__("./node_modules/.pnpm/kea-subscriptions@3.0.1_kea@3.1.5/node_modules/kea-subscriptions/lib/index.js"),api=__webpack_require__("./frontend/src/lib/api.ts"),dayjs=__webpack_require__("./frontend/src/lib/dayjs.ts"),featureFlagLogic=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),utils=__webpack_require__("./frontend/src/lib/utils.tsx"),defineProperty=__webpack_require__("./node_modules/.pnpm/@babel+runtime@7.24.0/node_modules/@babel/runtime/helpers/esm/defineProperty.js"),FastPriorityQueue=__webpack_require__("./node_modules/.pnpm/fastpriorityqueue@0.7.5/node_modules/fastpriorityqueue/FastPriorityQueue.js"),FastPriorityQueue_default=__webpack_require__.n(FastPriorityQueue);class ConcurrencyControllerItem{constructor(concurrencyController,userFn,abortController){let priority=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1/0,debugTag=arguments.length>4?arguments[4]:void 0;(0,defineProperty.Z)(this,"_debugTag",void 0),(0,defineProperty.Z)(this,"_runFn",void 0),(0,defineProperty.Z)(this,"_priority",1/0),(0,defineProperty.Z)(this,"_promise",void 0),this._debugTag=debugTag,this._priority=priority;let{promise,resolve,reject}=(0,utils.uy)();this._promise=promise,this._runFn=async()=>{if(abortController?.signal.aborted){reject(new FakeAbortError(abortController.signal.reason||"AbortError"));return}if(concurrencyController._current.length>=concurrencyController._concurrencyLimit)throw Error("Developer Error: ConcurrencyControllerItem: _runFn called while already running");try{concurrencyController._current.push(this);let result=await userFn();resolve(result)}catch(error){reject(error)}},abortController?.signal.addEventListener("abort",()=>{reject(new FakeAbortError(abortController.signal.reason||"AbortError"))}),promise.catch(()=>{}).finally(()=>{concurrencyController._current.includes(this)&&(concurrencyController._current=concurrencyController._current.filter(item=>item!==this),concurrencyController._runNext())})}}class FakeAbortError extends Error{constructor(){super(...arguments),(0,defineProperty.Z)(this,"name","AbortError")}}var insightLogic=__webpack_require__("./frontend/src/scenes/insights/insightLogic.tsx"),queryUtils=__webpack_require__("./frontend/src/scenes/insights/utils/queryUtils.ts"),teamLogic=__webpack_require__("./frontend/src/scenes/teamLogic.tsx"),userLogic=__webpack_require__("./frontend/src/scenes/userLogic.ts"),dataNodeCollectionLogic=__webpack_require__("./frontend/src/queries/nodes/DataNode/dataNodeCollectionLogic.ts"),DataTable_utils=__webpack_require__("./frontend/src/queries/nodes/DataTable/utils.ts"),queries_query=__webpack_require__("./frontend/src/queries/query.ts"),schema=__webpack_require__("./frontend/src/queries/schema.ts"),queries_utils=__webpack_require__("./frontend/src/queries/utils.ts");let concurrencyController=new class{constructor(concurrencyLimit){(0,defineProperty.Z)(this,"_concurrencyLimit",void 0),(0,defineProperty.Z)(this,"_current",[]),(0,defineProperty.Z)(this,"_queue",new(FastPriorityQueue_default())((a,b)=>a._priority{let{fn,priority,abortController,debugTag}=_ref,item=new ConcurrencyControllerItem(this,fn,abortController,priority,debugTag);return this._queue.add(item),this._tryRunNext(),item._promise}),(0,defineProperty.Z)(this,"setConcurrencyLimit",limit=>{this._concurrencyLimit=limit}),this._concurrencyLimit=concurrencyLimit}_runNext(){let next=this._queue.poll();next&&next._runFn().catch(()=>{}).finally(()=>{this._tryRunNext()})}_tryRunNext(){this._current.lengthprops.key),(0,index_esm.connect)(props=>({values:[userLogic.userLogic,["user"],teamLogic.H,["currentTeamId"],featureFlagLogic.h,["featureFlags"]],actions:[(0,dataNodeCollectionLogic.y)({key:props.dataNodeCollectionId||props.key}),["mountDataNode","unmountDataNode","collectionNodeLoadData","collectionNodeLoadDataSuccess","collectionNodeLoadDataFailure"]]})),(0,index_esm.props)({query:{},variablesOverride:void 0,autoLoad:!0}),(0,index_esm.propsChanged)((_ref,oldProps)=>{let{actions,props}=_ref;if(!props.query)return;oldProps.query?.kind&&props.query.kind!==oldProps.query.kind&&actions.clearResponse();let hasQueryChanged=!(0,queryUtils.xJ)(props.query,oldProps.query),queryVarsHaveChanged=(0,queryUtils.dm)(props.query,oldProps.query),queryStatus=props.cachedResults?.query_status||null;hasQueryChanged&&queryStatus?.complete===!1?actions.loadData(queryVarsHaveChanged,queryStatus.id):hasQueryChanged&&props.autoLoad&&!(props.cachedResults&&props.key.includes("dashboard"))&&(!props.cachedResults||(0,queries_utils.Yg)(props.query)&&!props.cachedResults.result&&!props.cachedResults.results)?actions.loadData(queryVarsHaveChanged):props.cachedResults&&actions.setResponse(props.cachedResults)}),(0,index_esm.actions)({loadData:function(){let refresh=arguments.length>0&&void 0!==arguments[0]&&arguments[0],alreadyRunningQueryId=arguments.length>1?arguments[1]:void 0,overrideQuery=arguments.length>2?arguments[2]:void 0;return{refresh,queryId:alreadyRunningQueryId||(0,utils.Vj)(),pollOnly:!!alreadyRunningQueryId,overrideQuery}},abortAnyRunningQuery:!0,abortQuery:payload=>payload,cancelQuery:!0,setResponse:response=>response,clearResponse:!0,startAutoLoad:!0,stopAutoLoad:!0,toggleAutoLoad:!0,highlightRows:rows=>({rows}),setElapsedTime:elapsedTime=>({elapsedTime}),setPollResponse:status=>({status}),setLocalCache:response=>response}),(0,lib.loaders)(_ref2=>{var _props$cachedResults;let{actions,cache,values,props}=_ref2;return{response:[null!==(_props$cachedResults=props.cachedResults)&&void 0!==_props$cachedResults?_props$cachedResults:null,{setResponse:response=>response,clearResponse:()=>null,loadData:async(_ref3,breakpoint)=>{let{refresh:refreshArg,queryId,pollOnly,overrideQuery}=_ref3,query=null!=overrideQuery?overrideQuery:props.query,refresh=props.alwaysRefresh||refreshArg;if(props.doNotLoad)return props.cachedResults;let queryStatus=props.cachedResults?.query_status||null;if(props.cachedResults&&!refresh&&queryStatus?.complete!==!1&&(props.cachedResults.result||props.cachedResults.results))return props.cachedResults;if("query"in query){let stringifiedQuery=JSON.stringify(query.query);if(cache.localResults[stringifiedQuery]&&!refresh)return cache.localResults[stringifiedQuery];if(!query.query)return null}if(!values.currentTeamId||void 0===query||0===Object.keys(query).length||!(0,queryUtils.O_)(query))return null;actions.abortAnyRunningQuery(),actions.setPollResponse(null);let abortController=new AbortController;cache.abortController=abortController;let methodOptions={signal:cache.abortController.signal};try{let response=await concurrencyController.run({debugTag:query.kind,abortController,priority:props.loadPriority,fn:async()=>{let now=performance.now();try{var _await$performQuery;breakpoint();let data=null!==(_await$performQuery=await (0,queries_query.jr)(addModifiers(query,props.modifiers),methodOptions,refresh,queryId,actions.setPollResponse,props.filtersOverride,props.variablesOverride,pollOnly))&&void 0!==_await$performQuery?_await$performQuery:null,duration=performance.now()-now;return{data,duration}}catch(error){let duration=performance.now()-now;throw error.duration=duration,error}}});return breakpoint(),actions.setElapsedTime(response.duration),response.data}catch(error){throw error.duration&&actions.setElapsedTime(error.duration),error.queryId=queryId,(0,utils.sd)(error)&&actions.abortQuery({queryId}),breakpoint(),error}},loadNewData:async()=>{if(props.cachedResults)return props.cachedResults;if(!values.canLoadNewData||values.dataLoading)return values.response;if((0,queries_utils.rz)(props.query)&&values.newQuery){var _await$performQuery2,_newResponse$results;let now=performance.now(),newResponse=null!==(_await$performQuery2=await (0,queries_query.jr)(addModifiers(values.newQuery,props.modifiers),void 0,props.alwaysRefresh))&&void 0!==_await$performQuery2?_await$performQuery2:null;if(actions.setElapsedTime(performance.now()-now),null===values.response)return newResponse;newResponse?.results&&actions.highlightRows(newResponse?.results);let currentResults=(values.response||{results:[]}).results;return{...values.response,results:[...null!==(_newResponse$results=newResponse?.results)&&void 0!==_newResponse$results?_newResponse$results:[],...currentResults]}}return values.response},loadNextData:async()=>{var _await$performQuery3,_queryResponse$result,_newResponse$results2,_await$performQuery4,_values$response$resu,_newResponse$results3;if(props.cachedResults)return props.cachedResults;if(!values.canLoadNextData||values.dataLoading||!values.nextQuery)return values.response;let now=performance.now();if((0,queries_utils.rz)(props.query)||(0,queries_utils.NS)(props.query)){let newResponse=null!==(_await$performQuery3=await (0,queries_query.jr)(addModifiers(values.nextQuery,props.modifiers),void 0,props.alwaysRefresh))&&void 0!==_await$performQuery3?_await$performQuery3:null;actions.setElapsedTime(performance.now()-now);let queryResponse=values.response;return{...queryResponse,results:[...null!==(_queryResponse$result=queryResponse?.results)&&void 0!==_queryResponse$result?_queryResponse$result:[],...null!==(_newResponse$results2=newResponse?.results)&&void 0!==_newResponse$results2?_newResponse$results2:[]],hasMore:newResponse?.hasMore}}if((0,queries_utils.cK)(props.query)){let newResponse=null!==(_await$performQuery4=await (0,queries_query.jr)(addModifiers(values.nextQuery,props.modifiers),void 0,props.alwaysRefresh))&&void 0!==_await$performQuery4?_await$performQuery4:null;if(actions.setElapsedTime(performance.now()-now),Array.isArray(values.response))throw Error("Unexpected response type for persons node query");return{...values.response,results:[...null!==(_values$response$resu=values.response?.results)&&void 0!==_values$response$resu?_values$response$resu:[],...null!==(_newResponse$results3=newResponse?.results)&&void 0!==_newResponse$results3?_newResponse$results3:[]],next:newResponse?.next}}return values.response}}]}}),(0,index_esm.reducers)(_ref4=>{let{props}=_ref4;return{isRefresh:[!1,{loadData:(_,_ref5)=>{let{refresh}=_ref5;return!!refresh}}],dataLoading:[!1,{loadData:()=>!0,loadDataSuccess:()=>!1,loadDataFailure:()=>!1}],queryId:[null,{loadData:(_,_ref6)=>{let{queryId}=_ref6;return queryId}}],newDataLoading:[!1,{loadNewData:()=>!0,loadNewDataSuccess:()=>!1,loadNewDataFailure:()=>!1}],nextDataLoading:[!1,{loadNextData:()=>!0,loadNextDataSuccess:()=>!1,loadNextDataFailure:()=>!1}],queryCancelled:[!1,{loadNextData:()=>!1,loadNewData:()=>!1,loadData:()=>!1,cancelQuery:()=>!0}],pollResponse:[null,{setPollResponse:(state,_ref7)=>{let{status}=_ref7;return{status,previousStatus:state&&state.status}}}],autoLoadToggled:[!1,{persist:!0,storageKey:(0,clsx_m.default)("queries.nodes.dataNodeLogic.autoLoadToggled",props.query?.kind,{action:(0,queries_utils.rz)(props.query)&&props.query.actionId,person:(0,queries_utils.rz)(props.query)&&props.query.personId})},{toggleAutoLoad:state=>!state}],autoLoadStarted:[!1,{startAutoLoad:()=>!0,stopAutoLoad:()=>!1}],highlightedRows:[new Set,{highlightRows:(state,_ref8)=>{let{rows}=_ref8;return new Set([...Array.from(state),...rows])},loadDataSuccess:()=>new Set}],loadingStart:[null,{setElapsedTime:()=>null,loadData:()=>performance.now(),loadNewData:()=>performance.now(),loadNextData:()=>performance.now()}],response:{loadDataFailure:()=>null},responseErrorObject:[null,{loadData:()=>null,loadDataFailure:(_,_ref9)=>{let{errorObject}=_ref9;return errorObject},loadDataSuccess:()=>null}],responseError:[null,{loadData:()=>null,loadNewData:()=>null,loadDataFailure:(_,_ref10)=>{var _errorObject$error,_errorObject$detail;let{error,errorObject}=_ref10;return errorObject&&"error"in errorObject?null!==(_errorObject$error=errorObject.error)&&void 0!==_errorObject$error?_errorObject$error:"Error loading data":errorObject&&"detail"in errorObject?null!==(_errorObject$detail=errorObject.detail)&&void 0!==_errorObject$detail?_errorObject$detail:"Error loading data":null!=error?error:"Error loading data"},loadNewDataFailure:(_,_ref11)=>{var _errorObject$error2,_errorObject$detail2;let{error,errorObject}=_ref11;return errorObject&&"error"in errorObject?null!==(_errorObject$error2=errorObject.error)&&void 0!==_errorObject$error2?_errorObject$error2:"Error loading data":errorObject&&"detail"in errorObject?null!==(_errorObject$detail2=errorObject.detail)&&void 0!==_errorObject$detail2?_errorObject$detail2:"Error loading data":null!=error?error:"Error loading data"},loadDataSuccess:(_,_ref12)=>{var _response$error;let{response}=_ref12;return null!==(_response$error=response?.error)&&void 0!==_response$error?_response$error:null},loadNewDataSuccess:(_,_ref13)=>{var _response$error2;let{response}=_ref13;return null!==(_response$error2=response?.error)&&void 0!==_response$error2?_response$error2:null}}],elapsedTime:[null,{setElapsedTime:(_,_ref14)=>{let{elapsedTime}=_ref14;return elapsedTime},loadData:()=>null,loadNewData:()=>null,loadNextData:()=>null}],localCache:[{},{setLocalCache:(state,response)=>({...state,...response})}]}}),(0,index_esm.selectors)(_ref15=>{let{cache}=_ref15;return{variableOverridesAreSet:[(_,p)=>{var _p$variablesOverride;return[null!==(_p$variablesOverride=p.variablesOverride)&&void 0!==_p$variablesOverride?_p$variablesOverride:()=>({})]},variablesOverride=>!!variablesOverride],isShowingCachedResults:[s=>[(_,props)=>{var _props$cachedResults2;return null!==(_props$cachedResults2=props.cachedResults)&&void 0!==_props$cachedResults2?_props$cachedResults2:null},(_,props)=>props.query,s.isRefresh],(cachedResults,query,isRefresh)=>!isRefresh&&(!!cachedResults||cache.localResults&&"query"in query&&JSON.stringify(query.query) in cache.localResults)],query:[(_,p)=>[p.query],query=>query],newQuery:[(s,p)=>[p.query,s.response],(query,response)=>{if(!(0,queries_utils.rz)(query))return null;if((0,queries_utils.rz)(query)&&!query.before){var _query$orderBy$;let sortKey=null!==(_query$orderBy$=query.orderBy?.[0])&&void 0!==_query$orderBy$?_query$orderBy$:"timestamp DESC";if("timestamp DESC"===sortKey){let sortColumnIndex=query.select.map(hql=>(0,DataTable_utils.$p)(hql)).indexOf("timestamp");if(-1!==sortColumnIndex){let typedResults=response?.results,firstTimestamp=typedResults?.[0]?.[sortColumnIndex];if(firstTimestamp){let nextQuery={...query,after:firstTimestamp};return nextQuery}return query}}}return null}],canLoadNewData:[s=>[s.newQuery,s.isShowingCachedResults],(newQuery,isShowingCachedResults)=>!isShowingCachedResults&&!!newQuery],nextQuery:[(s,p)=>[p.query,s.response,s.responseError,s.dataLoading,s.isShowingCachedResults],(query,response,responseError,dataLoading,isShowingCachedResults)=>{if(isShowingCachedResults)return null;if(((0,queries_utils.rz)(query)||(0,queries_utils.NS)(query)||(0,queries_utils.Ii)(query))&&!responseError&&!dataLoading&&response?.hasMore){var _query$orderBy$2;let sortKey=null!==(_query$orderBy$2=query.orderBy?.[0])&&void 0!==_query$orderBy$2?_query$orderBy$2:"timestamp DESC";if((0,queries_utils.rz)(query)&&"timestamp DESC"===sortKey){let typedResults=response?.results,sortColumnIndex=query.select.map(hql=>(0,DataTable_utils.$p)(hql)).indexOf("timestamp");if(-1!==sortColumnIndex){let lastTimestamp=typedResults?.[typedResults.length-1]?.[sortColumnIndex];if(lastTimestamp){let newQuery={...query,before:lastTimestamp,limit:Math.max(100,Math.min(2*(typedResults?.length||100),1e4))};return newQuery}}}else{let typedResults=response?.results;return{...query,offset:typedResults?.length||0,limit:Math.max(100,Math.min(2*(typedResults?.length||100),1e4))}}}if((0,queries_utils.cK)(query)&&response&&!responseError&&response.next){let personsResults=response?.results,nextQuery={...query,limit:query.limit||100,offset:personsResults.length};return nextQuery}return null}],canLoadNextData:[s=>[s.nextQuery,s.isShowingCachedResults],(nextQuery,isShowingCachedResults)=>!isShowingCachedResults&&!!nextQuery],hasMoreData:[s=>[s.response],response=>!!response?.hasMore&&response.hasMore],dataLimit:[s=>[s.response],response=>response?.limit?response.limit:null],backToSourceQuery:[s=>[s.query],query=>{if((0,queries_utils.NS)(query)&&(0,queries_utils.a5)(query.source)&&query.source.source){let insightQuery=query.source.source,insightVizNode={kind:schema.OH.InsightVizNode,source:insightQuery,full:!0};return insightVizNode}return null}],autoLoadRunning:[s=>[s.autoLoadToggled,s.autoLoadStarted,s.dataLoading],(autoLoadToggled,autoLoadStarted,dataLoading)=>autoLoadToggled&&autoLoadStarted&&!dataLoading],lastRefresh:[s=>[s.response],response=>response&&"last_refresh"in response?response.last_refresh:null],nextAllowedRefresh:[(s,p)=>[p.query,s.response],(query,response)=>(0,queries_utils.Yg)(query)&&response&&"next_allowed_client_refresh"in response?response.next_allowed_client_refresh:null],getInsightRefreshButtonDisabledReason:[s=>[s.nextAllowedRefresh,s.lastRefresh],(nextAllowedRefresh,lastRefresh)=>()=>{let now=(0,dayjs.Bv)();if(nextAllowedRefresh){let nextRefreshTime=(0,dayjs.Bv)(nextAllowedRefresh);if(now.isBefore(nextRefreshTime))return`You can refresh this insight again ${nextRefreshTime.from(now)}`}if(lastRefresh){let earliestRefresh=(0,dayjs.Bv)(lastRefresh).add(insightLogic.P9,"minutes");if(now.isBefore(earliestRefresh))return`You can refresh this insight again ${earliestRefresh.from(now)}`}return""}],timings:[s=>[s.response],response=>response&&"timings"in response?response.timings:null],numberOfRows:[s=>[s.response],response=>{if(!response)return null;for(let field of["result","results"])if(field in response&&Array.isArray(response[field]))return response[field].length;return null}]}}),(0,index_esm.listeners)(_ref16=>{let{actions,values,cache,props}=_ref16;return{abortAnyRunningQuery:()=>{cache.abortController&&(cache.abortController.abort(),cache.abortController=null)},abortQuery:async _ref17=>{let{queryId}=_ref17;try{let{currentTeamId}=values;await api.ZP.delete(`api/environments/${currentTeamId}/query/${queryId}/`)}catch(e){console.warn("Failed cancelling query",e)}},cancelQuery:()=>{actions.abortAnyRunningQuery()},loadData:()=>{actions.collectionNodeLoadData(props.key)},loadDataSuccess:_ref18=>{let{response}=_ref18;props.onData?.(response),actions.collectionNodeLoadDataSuccess(props.key),"query"in props.query&&(cache.localResults[JSON.stringify(props.query.query)]=response)},loadDataFailure:()=>{actions.collectionNodeLoadDataFailure(props.key)},loadNewDataSuccess:_ref19=>{let{response}=_ref19;props.onData?.(response)},loadNextDataSuccess:_ref20=>{let{response}=_ref20;props.onData?.(response)}}}),(0,kea_subscriptions_lib.Vt)(_ref21=>{let{actions,cache,values}=_ref21;return{autoLoadRunning:autoLoadRunning=>{cache.autoLoadInterval&&(window.clearInterval(cache.autoLoadInterval),cache.autoLoadInterval=null),autoLoadRunning&&(actions.loadNewData(),cache.autoLoadInterval=window.setInterval(()=>{values.responseLoading||actions.loadNewData()},3e4))}}}),(0,index_esm.afterMount)(_ref22=>{let{actions,props,cache}=_ref22;cache.localResults={},props.cachedResults?actions.setResponse(props.cachedResults):Object.keys(props.query||{}).length>0&&actions.loadData(),actions.mountDataNode(props.key,{id:props.key,loadData:actions.loadData,cancelQuery:actions.cancelQuery})}),(0,index_esm.beforeUnmount)(_ref23=>{let{actions,props,values}=_ref23;values.autoLoadRunning&&actions.stopAutoLoad(),values.dataLoading&&actions.abortAnyRunningQuery(),actions.unmountDataNode(props.key)})])},"./frontend/src/queries/nodes/DataTable/DataTableExport.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{dj:()=>startDownload,ln:()=>DataTableExport,yP:()=>MAX_SELECT_RETURNED_ROWS});var _posthog_icons__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/@posthog+icons@0.9.2_react-dom@18.2.0_react@18.2.0/node_modules/@posthog/icons/dist/posthog-icons.es.js"),_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),kea__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),lib_components_ExportButton_exportsLogic__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/components/ExportButton/exportsLogic.ts"),lib_lemon_ui_LemonField__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonField/index.ts"),lib_utils_copyToClipboard__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/lib/utils/copyToClipboard.tsx"),papaparse__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./node_modules/.pnpm/papaparse@5.4.1/node_modules/papaparse/papaparse.min.js"),papaparse__WEBPACK_IMPORTED_MODULE_6___default=__webpack_require__.n(papaparse__WEBPACK_IMPORTED_MODULE_6__),scenes_persons_person_utils__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/scenes/persons/person-utils.ts"),_queries_nodes_DataTable_utils__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./frontend/src/queries/nodes/DataTable/utils.ts"),_queries_query__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./frontend/src/queries/query.ts"),_queries_utils__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__("./frontend/src/queries/utils.ts"),_types__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__("./frontend/src/types.ts"),_dataTableLogic__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__("./frontend/src/queries/nodes/DataTable/dataTableLogic.ts"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let MAX_SELECT_RETURNED_ROWS=5e4,columnDisallowList=["person.$delete","*"];async function startDownload(query,onlySelectedColumns,exportCall){let format=arguments.length>3&&void 0!==arguments[3]?arguments[3]:_types__WEBPACK_IMPORTED_MODULE_11__.P5.CSV,exportContext=(0,_queries_utils__WEBPACK_IMPORTED_MODULE_10__.cK)(query.source)?{path:(0,_queries_query__WEBPACK_IMPORTED_MODULE_9__.rY)(query.source)}:{source:query.source};if(!exportContext)throw Error("Unsupported node type");if(onlySelectedColumns){var _ref,_ref2;exportContext.columns=(null!==(_ref=null!==(_ref2=_queries_utils__WEBPACK_IMPORTED_MODULE_10__.rz(query.source)||_queries_utils__WEBPACK_IMPORTED_MODULE_10__.NS(query.source)?query.source.select:null)&&void 0!==_ref2?_ref2:query.columns)&&void 0!==_ref?_ref:_queries_nodes_DataTable_utils__WEBPACK_IMPORTED_MODULE_8__.Qi(query.source.kind))?.filter(c=>"person.$delete"!==c),(0,_queries_utils__WEBPACK_IMPORTED_MODULE_10__.rz)(query.source)?exportContext.columns=exportContext.columns.map(c=>"person"===(0,_queries_nodes_DataTable_utils__WEBPACK_IMPORTED_MODULE_8__.$p)(c)?"person.properties.email":c):(0,_queries_utils__WEBPACK_IMPORTED_MODULE_10__.cK)(query.source)&&(exportContext.columns=exportContext.columns.map(c=>"person"===(0,_queries_nodes_DataTable_utils__WEBPACK_IMPORTED_MODULE_8__.$p)(c)?"email":c)),exportContext.columns.includes("person")&&(exportContext.columns=exportContext.columns.map(c=>"person"===c?"person.distinct_ids.0":c)),exportContext.columns=exportContext.columns.filter(n=>!columnDisallowList.includes(n))}exportCall({export_format:format,export_context:exportContext})}let getCsvTableData=(dataTableRows,columns,query)=>{if((0,_queries_utils__WEBPACK_IMPORTED_MODULE_10__.cK)(query.source)){let filteredColumns=columns.filter(n=>!columnDisallowList.includes(n)),csvData=dataTableRows.map(n=>{let record=n.result,recordWithPerson={...null!=record?record:{},person:record?.name};return filteredColumns.map(n=>recordWithPerson[n])});return[filteredColumns,...csvData]}if((0,_queries_utils__WEBPACK_IMPORTED_MODULE_10__.rz)(query.source)){let filteredColumns=columns.filter(n=>!columnDisallowList.includes(n)).map(n=>(0,_queries_nodes_DataTable_utils__WEBPACK_IMPORTED_MODULE_8__.fU)(n)),csvData=dataTableRows.map(n=>columns.map((col,colIndex)=>columnDisallowList.includes(col)?null:"person"===col?(0,scenes_persons_person_utils__WEBPACK_IMPORTED_MODULE_7__.y)(n.result?.[colIndex]):n.result?.[colIndex]).filter(Boolean));return[filteredColumns,...csvData]}return(0,_queries_utils__WEBPACK_IMPORTED_MODULE_10__.Vf)(query.source)?[columns,...dataTableRows.map(n=>{var _ref3;return null!==(_ref3=n.result)&&void 0!==_ref3?_ref3:[]})]:[]},getJsonTableData=(dataTableRows,columns,query)=>{if((0,_queries_utils__WEBPACK_IMPORTED_MODULE_10__.cK)(query.source)){let filteredColumns=columns.filter(n=>!columnDisallowList.includes(n));return dataTableRows.map(n=>{let record=n.result,recordWithPerson={...null!=record?record:{},person:record?.name};return filteredColumns.reduce((acc,cur)=>(acc[cur]=recordWithPerson[cur],acc),{})})}return(0,_queries_utils__WEBPACK_IMPORTED_MODULE_10__.rz)(query.source)?dataTableRows.map(n=>columns.reduce((acc,col,colIndex)=>{if(columnDisallowList.includes(col))return acc;if("person"===col)return acc[col]=(0,scenes_persons_person_utils__WEBPACK_IMPORTED_MODULE_7__.y)(n.result?.[colIndex]),acc;let colName=(0,_queries_nodes_DataTable_utils__WEBPACK_IMPORTED_MODULE_8__.fU)(col);return acc[colName]=n.result?.[colIndex],acc},{})):(0,_queries_utils__WEBPACK_IMPORTED_MODULE_10__.Vf)(query.source)?dataTableRows.map(n=>{var _n$result;let data=null!==(_n$result=n.result)&&void 0!==_n$result?_n$result:{};return columns.reduce((acc,cur,index)=>(acc[cur]=data[index],acc),{})}):[]};function DataTableExport(_ref4){let{query}=_ref4,{dataTableRows,columnsInResponse,columnsInQuery,queryWithDefaults}=(0,kea__WEBPACK_IMPORTED_MODULE_2__.useValues)(_dataTableLogic__WEBPACK_IMPORTED_MODULE_12__.yC),{startExport,createStaticCohort}=(0,kea__WEBPACK_IMPORTED_MODULE_2__.useActions)(lib_components_ExportButton_exportsLogic__WEBPACK_IMPORTED_MODULE_3__.exportsLogic),source=query.source,filterCount=(((0,_queries_utils__WEBPACK_IMPORTED_MODULE_10__.rz)(source)||(0,_queries_utils__WEBPACK_IMPORTED_MODULE_10__.cK)(source))&&source.properties?.length||0)+((0,_queries_utils__WEBPACK_IMPORTED_MODULE_10__.rz)(source)&&source.event?1:0)+((0,_queries_utils__WEBPACK_IMPORTED_MODULE_10__.cK)(source)&&source.search?1:0),canExportAllColumns=(0,_queries_utils__WEBPACK_IMPORTED_MODULE_10__.rz)(source)&&source.select.includes("*")||(0,_queries_utils__WEBPACK_IMPORTED_MODULE_10__.cK)(source)||(0,_queries_utils__WEBPACK_IMPORTED_MODULE_10__.NS)(source),showExportClipboardButtons=(0,_queries_utils__WEBPACK_IMPORTED_MODULE_10__.cK)(source)||(0,_queries_utils__WEBPACK_IMPORTED_MODULE_10__.rz)(source)||(0,_queries_utils__WEBPACK_IMPORTED_MODULE_10__.Vf)(source),canSaveAsCohort=(0,_queries_utils__WEBPACK_IMPORTED_MODULE_10__.NS)(source);return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__.d6,{items:[{label:"Export current columns",items:[{label:"CSV",onClick:()=>{startDownload(query,!0,startExport)}},{label:"XLSX",onClick:()=>{startDownload(query,!0,startExport,_types__WEBPACK_IMPORTED_MODULE_11__.P5.XLSX)}}]},canExportAllColumns&&{label:"Export all columns",items:[{label:"CSV",onClick:()=>void startDownload(query,!1,startExport)},{label:"XLSX",onClick:()=>void startDownload(query,!1,startExport,_types__WEBPACK_IMPORTED_MODULE_11__.P5.XLSX)}]},showExportClipboardButtons&&{label:"Copy to clipboard",items:[{label:"CSV",onClick:()=>{dataTableRows&&function(dataTableRows,columns,query){try{let tableData=getCsvTableData(dataTableRows,columns,query),csv=papaparse__WEBPACK_IMPORTED_MODULE_6___default().unparse(tableData);(0,lib_utils_copyToClipboard__WEBPACK_IMPORTED_MODULE_5__.v)(csv,"table")}catch{_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__.UJ.error("Copy failed!")}}(dataTableRows,null!=columnsInResponse?columnsInResponse:columnsInQuery,queryWithDefaults)},"data-attr":"copy-csv-to-clipboard"},{label:"JSON",onClick:()=>{dataTableRows&&function(dataTableRows,columns,query){try{let tableData=getJsonTableData(dataTableRows,columns,query),json=JSON.stringify(tableData,null,4);(0,lib_utils_copyToClipboard__WEBPACK_IMPORTED_MODULE_5__.v)(json,"table")}catch{_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__.UJ.error("Copy failed!")}}(dataTableRows,null!=columnsInResponse?columnsInResponse:columnsInQuery,queryWithDefaults)},"data-attr":"copy-json-to-clipboard"}]},canSaveAsCohort&&{label:"Save as cohort",items:[{label:"Save as static cohort",onClick:()=>{_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__.dn.openForm({title:"Save as static cohort",description:"This will create a cohort with the current list of people.",initialValues:{name:""},content:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(lib_lemon_ui_LemonField__WEBPACK_IMPORTED_MODULE_4__.D,{name:"name",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__.DF,{type:"text","data-attr":"insight-name",placeholder:"Name of the new cohort",autoFocus:!0})}),errors:{name:name=>name?void 0:"You must enter a name"},onSubmit:async _ref5=>{let{name}=_ref5;return createStaticCohort(name,source)}})}}]}].filter(Boolean),children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__.Jp,{type:"secondary",icon:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_posthog_icons__WEBPACK_IMPORTED_MODULE_0__.IconDownload,{}),"data-attr":"data-table-export-menu",children:["Export",filterCount>0?` (${filterCount} filter${1===filterCount?"":"s"})`:""]})})}},"./frontend/src/queries/nodes/DataTable/dataTableLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{cl:()=>errorColumn,uB:()=>loadingColumn,yC:()=>dataTableLogic});var fast_deep_equal__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js"),fast_deep_equal__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(fast_deep_equal__WEBPACK_IMPORTED_MODULE_0__),kea__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),lib_constants__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/constants.tsx"),lib_dayjs__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/dayjs.ts"),lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),lib_utils__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/lib/utils.tsx"),_queries_nodes_DataNode_dataNodeLogic__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/queries/nodes/DataNode/dataNodeLogic.ts"),_queries_nodes_DataTable_queryFeatures__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/queries/nodes/DataTable/queryFeatures.ts"),_queries_nodes_InsightViz_InsightViz__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./frontend/src/queries/nodes/InsightViz/InsightViz.tsx"),_queries_schema__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./frontend/src/queries/schema.ts"),_queries_utils__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__("./frontend/src/queries/utils.ts"),_utils__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__("./frontend/src/queries/nodes/DataTable/utils.ts");let loadingColumn=Symbol("..."),errorColumn=Symbol("Error!"),dataTableLogic=(0,kea__WEBPACK_IMPORTED_MODULE_1__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_1__.props)({}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.key)(props=>{if(!props.vizKey)throw Error("dataTableLogic must contain a vizKey in props");if(!(0,_queries_utils__WEBPACK_IMPORTED_MODULE_10__.TC)(props.query))throw Error("dataTableLogic only accepts queries of type DataTableNode");return props.vizKey}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.path)(["queries","nodes","DataTable","dataTableLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_1__.actions)({setColumnsInQuery:columns=>({columns})}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.reducers)(_ref=>{let{props}=_ref;return{columnsInQuery:[(0,_utils__WEBPACK_IMPORTED_MODULE_11__.dm)(props.query),{setColumnsInQuery:(_,_ref2)=>{let{columns}=_ref2;return columns}}]}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.connect)(props=>{var _props$dataNodeLogicK,_props$dataNodeLogicK2;return{values:[lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_4__.h,["featureFlags"],(0,_queries_nodes_DataNode_dataNodeLogic__WEBPACK_IMPORTED_MODULE_6__.M)({key:null!==(_props$dataNodeLogicK=props.dataNodeLogicKey)&&void 0!==_props$dataNodeLogicK?_props$dataNodeLogicK:props.dataKey,query:props.query.source,dataNodeCollectionId:(0,_queries_nodes_InsightViz_InsightViz__WEBPACK_IMPORTED_MODULE_8__.Cf)(props.context?.insightProps,null!==(_props$dataNodeLogicK2=props.dataNodeLogicKey)&&void 0!==_props$dataNodeLogicK2?_props$dataNodeLogicK2:props.dataKey),loadPriority:props.context?.insightProps?.loadPriority}),["response","responseLoading","responseError"]]}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.selectors)({sourceKind:[(_,p)=>[p.query],query=>query.source?.kind],sourceFeatures:[(_,p)=>[p.query,(_,props)=>props.context],(query,context)=>{let sourceFeatures=(0,_queries_nodes_DataTable_queryFeatures__WEBPACK_IMPORTED_MODULE_7__.r)(query.source);if(context?.extraDataTableQueryFeatures)for(let feature of context.extraDataTableQueryFeatures)sourceFeatures.add(feature);return sourceFeatures}],orderBy:[(s,p)=>[p.query,s.sourceFeatures],(query,sourceFeatures)=>{var _orderBy;return sourceFeatures.has(_queries_nodes_DataTable_queryFeatures__WEBPACK_IMPORTED_MODULE_7__.P.selectAndOrderByColumns)?"orderBy"in query.source?null!==(_orderBy=query.source.orderBy)&&void 0!==_orderBy?_orderBy:null:(0,_queries_utils__WEBPACK_IMPORTED_MODULE_10__.rz)(query.source)?["timestamp DESC"]:null:null},{resultEqualityCheck:lib_utils__WEBPACK_IMPORTED_MODULE_5__.h0}],columnsInResponse:[s=>[s.response],response=>response&&"columns"in response&&Array.isArray(response.columns)?response?.columns:null],dataTableRows:[s=>[s.sourceKind,s.orderBy,s.response,s.columnsInQuery,s.columnsInResponse],(sourceKind,orderBy,response,columnsInQuery,columnsInResponse)=>{var _results$map,_columnsInResponse$fi;if(response&&sourceKind===_queries_schema__WEBPACK_IMPORTED_MODULE_9__.OH.EventsQuery&&response){if(!fast_deep_equal__WEBPACK_IMPORTED_MODULE_0___default()(columnsInQuery,columnsInResponse))return[];let results=[];if("results"in response?results=response.results:"result"in response&&(results=response.result),!results)return[];let orderKey=orderBy?.[0]?.endsWith(" DESC")?orderBy[0].replace(/ DESC$/,""):orderBy?.[0],orderKeyIndex=null!==(_columnsInResponse$fi=columnsInResponse?.findIndex(column=>_utils__WEBPACK_IMPORTED_MODULE_11__.$p(column)===orderKey||_utils__WEBPACK_IMPORTED_MODULE_11__.$p(column)===`-${orderKey}`))&&void 0!==_columnsInResponse$fi?_columnsInResponse$fi:-1;if("timestamp"===orderKey&&-1!==orderKeyIndex){let lastResult=null,newResults=[];for(let result of results)result&&lastResult&&!(0,lib_dayjs__WEBPACK_IMPORTED_MODULE_3__.Bv)(result[orderKeyIndex]).isSame(lastResult[orderKeyIndex],"day")&&newResults.push({label:(0,lib_dayjs__WEBPACK_IMPORTED_MODULE_3__.Bv)(result[orderKeyIndex]).format("LL")}),newResults.push({result}),lastResult=result;return newResults}return results.map(result=>({result}))}let results=response?"results"in response&&Array.isArray(response.results)?response.results:"result"in response&&Array.isArray(response.result)?response.result:null:null;return results&&null!==(_results$map=results.map(result=>({result})))&&void 0!==_results$map?_results$map:null}],queryWithDefaults:[(s,p)=>[p.query,s.columnsInQuery,s.featureFlags,(_,props)=>props.context],(query,columnsInQuery,featureFlags,context)=>{var _query$full,_query$expandable,_query$embedded,_query$propertiesViaU,_query$showPropertyFi,_query$showEventFilte,_query$showSearch,_query$showActions,_query$showDateRange,_query$showTestAccoun,_query$showExport,_query$showReload,_query$showTimings,_query$showTimings2,_query$showElapsedTim,_query$showColumnConf,_query$showPersistent,_query$showSavedQueri,_query$showHogQLEdito,_query$allowSorting,_query$showOpenEditor,_query$showResultsTab;let{kind,columns:_columns,source,...rest}=query,showIfFull=!!query.full,flagQueryRunningTimeEnabled=!!featureFlags[lib_constants__WEBPACK_IMPORTED_MODULE_2__.y8.QUERY_RUNNING_TIME],flagQueryTimingsEnabled=!!featureFlags[lib_constants__WEBPACK_IMPORTED_MODULE_2__.y8.QUERY_TIMINGS];return{kind,columns:columnsInQuery,hiddenColumns:[],source,...(0,lib_utils__WEBPACK_IMPORTED_MODULE_5__.kS)({...rest,full:null!==(_query$full=query.full)&&void 0!==_query$full&&_query$full,expandable:null===(_query$expandable=query.expandable)||void 0===_query$expandable||_query$expandable,embedded:null!==(_query$embedded=query.embedded)&&void 0!==_query$embedded&&_query$embedded,propertiesViaUrl:null!==(_query$propertiesViaU=query.propertiesViaUrl)&&void 0!==_query$propertiesViaU&&_query$propertiesViaU,showPropertyFilter:null!==(_query$showPropertyFi=query.showPropertyFilter)&&void 0!==_query$showPropertyFi?_query$showPropertyFi:showIfFull,showEventFilter:null!==(_query$showEventFilte=query.showEventFilter)&&void 0!==_query$showEventFilte?_query$showEventFilte:showIfFull,showSearch:null!==(_query$showSearch=query.showSearch)&&void 0!==_query$showSearch?_query$showSearch:showIfFull,showActions:null===(_query$showActions=query.showActions)||void 0===_query$showActions||_query$showActions,showDateRange:null!==(_query$showDateRange=query.showDateRange)&&void 0!==_query$showDateRange?_query$showDateRange:showIfFull,showTestAccountFilters:null!==(_query$showTestAccoun=query.showTestAccountFilters)&&void 0!==_query$showTestAccoun?_query$showTestAccoun:showIfFull,showExport:null!==(_query$showExport=query.showExport)&&void 0!==_query$showExport?_query$showExport:showIfFull,showReload:null!==(_query$showReload=query.showReload)&&void 0!==_query$showReload?_query$showReload:showIfFull,showTimings:null!==(_query$showTimings=query.showTimings)&&void 0!==_query$showTimings?_query$showTimings:flagQueryTimingsEnabled,showElapsedTime:(null!==(_query$showTimings2=query.showTimings)&&void 0!==_query$showTimings2?_query$showTimings2:flagQueryTimingsEnabled)||(null!==(_query$showElapsedTim=query.showElapsedTime)&&void 0!==_query$showElapsedTim?_query$showElapsedTim:(flagQueryRunningTimeEnabled||source.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_9__.OH.HogQLQuery)&&showIfFull),showColumnConfigurator:null!==(_query$showColumnConf=query.showColumnConfigurator)&&void 0!==_query$showColumnConf?_query$showColumnConf:showIfFull,showPersistentColumnConfigurator:null!==(_query$showPersistent=query.showPersistentColumnConfigurator)&&void 0!==_query$showPersistent&&_query$showPersistent,showSavedQueries:null!==(_query$showSavedQueri=query.showSavedQueries)&&void 0!==_query$showSavedQueri&&_query$showSavedQueri,showHogQLEditor:null!==(_query$showHogQLEdito=query.showHogQLEditor)&&void 0!==_query$showHogQLEdito?_query$showHogQLEdito:showIfFull,allowSorting:null===(_query$allowSorting=query.allowSorting)||void 0===_query$allowSorting||_query$allowSorting,showOpenEditorButton:context?.showOpenEditorButton!==void 0?context.showOpenEditorButton:null===(_query$showOpenEditor=query.showOpenEditorButton)||void 0===_query$showOpenEditor||_query$showOpenEditor,showResultsTable:null===(_query$showResultsTab=query.showResultsTable)||void 0===_query$showResultsTab||_query$showResultsTab})}}],canSort:[s=>[s.queryWithDefaults,s.sourceFeatures],(query,sourceFeatures)=>sourceFeatures.has(_queries_nodes_DataTable_queryFeatures__WEBPACK_IMPORTED_MODULE_7__.P.selectAndOrderByColumns)&&!!query.allowSorting]}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.propsChanged)((_ref3,oldProps)=>{let{actions,props}=_ref3,newColumns=(0,_utils__WEBPACK_IMPORTED_MODULE_11__.dm)(props.query),oldColumns=(0,_utils__WEBPACK_IMPORTED_MODULE_11__.dm)(oldProps.query);JSON.stringify(newColumns)!==JSON.stringify(oldColumns)&&actions.setColumnsInQuery(newColumns)})])},"./frontend/src/queries/nodes/DataTable/defaultEventsQuery.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{JB:()=>HOGQL_COLUMNS_KEY,Rr:()=>getDefaultEventsQueryForTeam,v8:()=>getEventsQueriesForTeam});var scenes_activity_explore_defaults__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/src/scenes/activity/explore/defaults.ts"),_queries_schema__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/queries/schema.ts"),_queries_utils__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/queries/utils.ts");let HOGQL_COLUMNS_KEY="--v2:hogql";function getDefaultEventsQueryForTeam(team){var columns;let liveColumns=team?.live_events_columns?(columns=team.live_events_columns).length>0&&columns[0]===HOGQL_COLUMNS_KEY?columns.slice(1):["*",...columns.map(column=>"event"===column||"person"===column?column:"url"===column?"coalesce(properties.$current_url, properties.$screen_name) -- Url / Screen":"source"===column?"properties.$lib":`properties.${(0,_queries_utils__WEBPACK_IMPORTED_MODULE_2__.AU)(String(column))}`),"timestamp"]:null;return liveColumns?{kind:_queries_schema__WEBPACK_IMPORTED_MODULE_1__.OH.EventsQuery,select:liveColumns,after:"-24h",orderBy:liveColumns.includes("timestamp")?["timestamp DESC"]:[]}:null}function getEventsQueriesForTeam(team){let projectDefault=getDefaultEventsQueryForTeam(team);return{...projectDefault?{"Project default view":projectDefault}:{},"PostHog default view":(0,scenes_activity_explore_defaults__WEBPACK_IMPORTED_MODULE_0__.w)().source,"Event counts view":{kind:_queries_schema__WEBPACK_IMPORTED_MODULE_1__.OH.EventsQuery,select:["event","count()"],after:"-24h",orderBy:["count() DESC"]}}}},"./frontend/src/queries/nodes/DataTable/queryFeatures.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{P:()=>QueryFeature,r:()=>getQueryFeatures});var _queries_utils__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/src/queries/utils.ts");let QueryFeature=function(QueryFeature){return QueryFeature[QueryFeature.columnsInResponse=0]="columnsInResponse",QueryFeature[QueryFeature.eventActionsColumn=1]="eventActionsColumn",QueryFeature[QueryFeature.dateRangePicker=2]="dateRangePicker",QueryFeature[QueryFeature.eventNameFilter=3]="eventNameFilter",QueryFeature[QueryFeature.eventPropertyFilters=4]="eventPropertyFilters",QueryFeature[QueryFeature.personPropertyFilters=5]="personPropertyFilters",QueryFeature[QueryFeature.personsSearch=6]="personsSearch",QueryFeature[QueryFeature.savedEventsQueries=7]="savedEventsQueries",QueryFeature[QueryFeature.columnConfigurator=8]="columnConfigurator",QueryFeature[QueryFeature.resultIsArrayOfArrays=9]="resultIsArrayOfArrays",QueryFeature[QueryFeature.selectAndOrderByColumns=10]="selectAndOrderByColumns",QueryFeature[QueryFeature.displayResponseError=11]="displayResponseError",QueryFeature[QueryFeature.hideLoadNextButton=12]="hideLoadNextButton",QueryFeature[QueryFeature.testAccountFilters=13]="testAccountFilters",QueryFeature[QueryFeature.highlightExceptionEventRows=14]="highlightExceptionEventRows",QueryFeature}({});function getQueryFeatures(query){let features=new Set;return((0,_queries_utils__WEBPACK_IMPORTED_MODULE_0__.Vf)(query)||(0,_queries_utils__WEBPACK_IMPORTED_MODULE_0__.rz)(query)||(0,_queries_utils__WEBPACK_IMPORTED_MODULE_0__.Sy)(query))&&(features.add(QueryFeature.dateRangePicker),features.add(QueryFeature.columnsInResponse),features.add(QueryFeature.eventPropertyFilters),features.add(QueryFeature.resultIsArrayOfArrays),features.add(QueryFeature.displayResponseError),features.add(QueryFeature.testAccountFilters)),(0,_queries_utils__WEBPACK_IMPORTED_MODULE_0__.rz)(query)&&(features.add(QueryFeature.eventActionsColumn),features.add(QueryFeature.eventNameFilter),features.add(QueryFeature.savedEventsQueries),features.add(QueryFeature.columnConfigurator),features.add(QueryFeature.selectAndOrderByColumns)),((0,_queries_utils__WEBPACK_IMPORTED_MODULE_0__.cK)(query)||(0,_queries_utils__WEBPACK_IMPORTED_MODULE_0__.NS)(query))&&(features.add(QueryFeature.personPropertyFilters),features.add(QueryFeature.personsSearch),(0,_queries_utils__WEBPACK_IMPORTED_MODULE_0__.NS)(query)&&(features.add(QueryFeature.selectAndOrderByColumns),features.add(QueryFeature.columnsInResponse),features.add(QueryFeature.resultIsArrayOfArrays))),((0,_queries_utils__WEBPACK_IMPORTED_MODULE_0__.vD)(query)||(0,_queries_utils__WEBPACK_IMPORTED_MODULE_0__._x)(query)||(0,_queries_utils__WEBPACK_IMPORTED_MODULE_0__.Ku)(query)||(0,_queries_utils__WEBPACK_IMPORTED_MODULE_0__.yL)(query))&&(features.add(QueryFeature.columnsInResponse),features.add(QueryFeature.resultIsArrayOfArrays),features.add(QueryFeature.hideLoadNextButton)),features}},"./frontend/src/queries/nodes/DataTable/renderColumn.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{W:()=>renderColumn});var lib=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),CopyToClipboard=__webpack_require__("./frontend/src/lib/components/CopyToClipboard.tsx"),JSONViewer=__webpack_require__("./frontend/src/lib/components/JSONViewer.tsx"),src=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),utils=__webpack_require__("./frontend/src/lib/utils.tsx"),jsx_runtime=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function Property(_ref){let valueString,valueComponent,{value}=_ref;return"object"==typeof value?valueString=valueComponent=JSON.stringify(value):(0,utils.Bm)(value)?(valueString=value,valueComponent=(0,jsx_runtime.jsx)(src.rU,{to:valueString,target:"_blank",children:value})):valueString=valueComponent=String(value),(0,jsx_runtime.jsx)("span",{title:valueString,children:valueComponent})}var PropertyKeyInfo=__webpack_require__("./frontend/src/lib/components/PropertyKeyInfo.tsx"),types=__webpack_require__("./frontend/src/lib/components/TaxonomicFilter/types.ts"),TZLabel=__webpack_require__("./frontend/src/lib/components/TZLabel/index.tsx"),LemonTag=__webpack_require__("./frontend/src/lib/lemon-ui/LemonTag/LemonTag.tsx"),Link=__webpack_require__("./frontend/src/lib/lemon-ui/Link/index.ts"),Spinner=__webpack_require__("./frontend/src/lib/lemon-ui/Spinner/Spinner.tsx"),Tooltip=__webpack_require__("./frontend/src/lib/lemon-ui/Tooltip/index.ts"),GroupActorDisplay=__webpack_require__("./frontend/src/scenes/persons/GroupActorDisplay.tsx"),PersonDisplay=__webpack_require__("./frontend/src/scenes/persons/PersonDisplay.tsx"),urls=__webpack_require__("./frontend/src/scenes/urls.ts"),dataTableLogic=__webpack_require__("./frontend/src/queries/nodes/DataTable/dataTableLogic.ts"),render=__webpack_require__("./frontend/src/queries/nodes/HogQLX/render.tsx"),posthog_icons_es=__webpack_require__("./node_modules/.pnpm/@posthog+icons@0.9.2_react-dom@18.2.0_react@18.2.0/node_modules/@posthog/icons/dist/posthog-icons.es.js"),index_esm=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),LemonButton=__webpack_require__("./frontend/src/lib/lemon-ui/LemonButton/index.ts"),personDeleteModalLogic=__webpack_require__("./frontend/src/scenes/persons/personDeleteModalLogic.tsx"),dataNodeLogic=__webpack_require__("./frontend/src/queries/nodes/DataNode/dataNodeLogic.ts");function DeletePersonButton(_ref){let{person}=_ref,{showPersonDeleteModal}=(0,index_esm.useActions)(personDeleteModalLogic.C),{loadData}=(0,index_esm.useActions)(dataNodeLogic.M);return(0,jsx_runtime.jsx)(LemonButton.J,{onClick:()=>showPersonDeleteModal(person,()=>loadData()),icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconTrash,{}),status:"danger",size:"small","data-attr":"delete-person"})}var queries_utils=__webpack_require__("./frontend/src/queries/utils.ts"),src_types=__webpack_require__("./frontend/src/types.ts");function renderColumn(key,value,record,recordIndex,query,setQuery,context){let queryContextColumnName=key.startsWith("context.columns.")?(0,queries_utils.go)(key.substring(16)):void 0,queryContextColumn=queryContextColumnName?context?.columns?.[queryContextColumnName]:void 0;if(value===dataTableLogic.uB)return(0,jsx_runtime.jsx)(Spinner.$,{});if(value===dataTableLogic.cl)return(0,jsx_runtime.jsx)(LemonTag.o,{className:"text-danger",children:"Error"});if(queryContextColumnName&&queryContextColumn?.render){let Component=queryContextColumn?.render;return(0,jsx_runtime.jsx)(Component,{record:record,columnName:queryContextColumnName,value:value,query:query,recordIndex:recordIndex})}if(context?.columns?.[key]&&context?.columns?.[key].render){let Component=context?.columns?.[key]?.render;return Component?(0,jsx_runtime.jsx)(Component,{record:record,columnName:key,value:value,query:query,recordIndex:recordIndex}):String(value)}if("object"==typeof value&&Array.isArray(value)&&"__hx_tag"===value[0])return(0,render.E)(value);if(null===value)return(0,jsx_runtime.jsx)(Tooltip.u,{title:"NULL",placement:"right",delayMs:0,children:(0,jsx_runtime.jsx)("span",{className:"cursor-default","aria-hidden":!0,children:"—"})});if((0,queries_utils.Vf)(query.source)){if("string"==typeof value){try{if(value.startsWith("{")&&value.endsWith("}"))return(0,jsx_runtime.jsx)(JSONViewer.C,{src:JSON.parse(value),name:key,collapsed:Object.keys(JSON.stringify(value)).length>10?0:1});if(value.startsWith("[")&&value.endsWith("]"))return(0,jsx_runtime.jsx)(JSONViewer.C,{src:JSON.parse(value),name:key,collapsed:JSON.stringify(value).length>10?0:1})}catch(e){}if(value.match(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{3,6})?(?:Z|[+-]\d{2}:\d{2})?$/))return(0,jsx_runtime.jsx)(TZLabel.w,{time:value,showSeconds:!0})}return"object"==typeof value?Array.isArray(value)?(0,jsx_runtime.jsx)(JSONViewer.C,{src:value,name:key,collapsed:value.length>10?0:1}):(0,jsx_runtime.jsx)(JSONViewer.C,{src:value,name:key,collapsed:Object.keys(value).length>10?0:1}):(0,jsx_runtime.jsx)(Property,{value:value})}else if("event"===key&&(0,queries_utils.rz)(query.source)){let eventRecord=query.source.select.includes("*")?record[query.source.select.indexOf("*")]:null;if("$autocapture"===value&&eventRecord)return(0,utils.Sh)(eventRecord);let content=(0,jsx_runtime.jsx)(PropertyKeyInfo.T,{value:value,type:types.t.Events}),$sentry_url=eventRecord?.properties?.$sentry_url;return $sentry_url?(0,jsx_runtime.jsx)(Link.r,{to:$sentry_url,target:"_blank",children:content}):content}else if("timestamp"===key||"created_at"===key||"session_start"===key||"session_end"===key)return(0,jsx_runtime.jsx)(TZLabel.w,{time:value,showSeconds:!0});else if(!Array.isArray(record)&&key.startsWith("properties.")){let propertyKey=(0,queries_utils.go)(key.substring(11));if(setQuery&&((0,queries_utils.rz)(query.source)||(0,queries_utils.cK)(query.source))&&query.showPropertyFilter){let newProperty={key:propertyKey,value:record.properties[propertyKey],operator:src_types.WV.Exact,type:(0,queries_utils.cK)(query.source)?src_types.FT.Person:src_types.FT.Event},matchingProperty=(query.source.properties||[]).find(p=>p.key===newProperty.key&&p.type===newProperty.type),newProperties=matchingProperty?(query.source.properties||[]).filter(p=>p!==matchingProperty):[...query.source.properties||[],newProperty],newUrl=query.propertiesViaUrl?(0,lib.combineUrl)(lib.router.values.location.pathname,{...lib.router.values.searchParams,properties:newProperties},lib.router.values.hashParams).url:"#";return(0,jsx_runtime.jsx)(Link.r,{className:"ph-no-capture",to:newUrl,onClick:e=>{e.preventDefault(),setQuery({...query,source:{...query.source,properties:newProperties}})},children:(0,jsx_runtime.jsx)(Property,{value:record.properties[propertyKey]})})}return(0,jsx_runtime.jsx)(Property,{value:record.properties[propertyKey]})}else if(!Array.isArray(record)&&key.startsWith("person.properties.")){let propertyKey=(0,queries_utils.go)(key.substring(18));if(setQuery&&(0,queries_utils.rz)(query.source)){let newProperty={key:propertyKey,value:record.person?.properties[propertyKey],operator:src_types.WV.Exact,type:src_types.FT.Person},matchingProperty=(query.source.properties||[]).find(p=>p.key===newProperty.key&&p.type===newProperty.type),newProperties=matchingProperty?(query.source.properties||[]).filter(p=>p!==matchingProperty):[...query.source.properties||[],newProperty],newUrl=query.propertiesViaUrl?(0,lib.combineUrl)(lib.router.values.location.pathname,{...lib.router.values.searchParams,properties:newProperties},lib.router.values.hashParams).url:"#";return(0,jsx_runtime.jsx)(Link.r,{className:"ph-no-capture",to:newUrl,onClick:e=>{e.preventDefault(),setQuery({...query,source:{...query.source,properties:newProperties}})},children:(0,jsx_runtime.jsx)(Property,{value:record.person?.properties?.[propertyKey]})})}return(0,jsx_runtime.jsx)(Property,{value:record.person?.properties?.[propertyKey]})}else if("person"===key){let displayProps={withIcon:!0,person:record,noPopover:!0};return(0,queries_utils.rz)(query.source)&&(displayProps.person=(value.distinct_id,value),displayProps.noPopover=!1),(0,queries_utils.cK)(query.source)&&record.distinct_ids&&(displayProps.href=urls.j.personByDistinctId(record.distinct_ids[0])),(0,queries_utils.NS)(query.source)&&value&&(displayProps.person=value,displayProps.href=value.distinct_ids?.[0]?urls.j.personByDistinctId(value.distinct_ids[0]):urls.j.personByUUID(value.id)),(0,jsx_runtime.jsx)(PersonDisplay.I,{...displayProps})}else if("group"===key&&"object"==typeof value)return(0,jsx_runtime.jsx)(GroupActorDisplay.k,{actor:value});else if("person.$delete"===key&&((0,queries_utils.cK)(query.source)||(0,queries_utils.NS)(query.source))){if(!Array.isArray(record))return console.error("Expected record to be an array for person.$delete column"),"";let personRecord=record[0];return(0,jsx_runtime.jsx)(DeletePersonButton,{person:personRecord})}else if(key.startsWith("context.columns.")){let columnName=(0,queries_utils.go)(key.substring(16)),Component=context?.columns?.[columnName]?.render;return Component?(0,jsx_runtime.jsx)(Component,{record:record,columnName:columnName,value:value,query:query,recordIndex:recordIndex}):String(value)}else if("id"===key&&((0,queries_utils.cK)(query.source)||(0,queries_utils.NS)(query.source)))return(0,jsx_runtime.jsx)(CopyToClipboard.D,{explicitValue:String(value),iconStyle:{color:"var(--primary)"},description:"person id",children:String(value)});if("object"==typeof value)return(0,jsx_runtime.jsx)(JSONViewer.C,{src:value,name:null,collapsed:Object.keys(value).length>10?0:1});if("string"==typeof value&&(value.startsWith("{")&&value.endsWith("}")||value.startsWith("[")&&value.endsWith("]")))try{return(0,jsx_runtime.jsx)(JSONViewer.C,{src:JSON.parse(value),name:null,collapsed:Object.keys(value).length>10?0:1})}catch(e){}return String(value)}},"./frontend/src/queries/nodes/DataTable/renderColumnMeta.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{a:()=>renderColumnMeta});var lib_components_PropertyKeyInfo__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/src/lib/components/PropertyKeyInfo.tsx"),lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/lib/components/TaxonomicFilter/types.ts"),lib_lemon_ui_LemonTable_sorting__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonTable/sorting.tsx"),_queries_nodes_DataTable_queryFeatures__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/queries/nodes/DataTable/queryFeatures.ts"),_queries_nodes_DataTable_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/queries/nodes/DataTable/utils.ts"),_queries_utils__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/queries/utils.ts"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function renderColumnMeta(key,query,context){var _ref;let width,title,align;let queryFeatures=(0,_queries_nodes_DataTable_queryFeatures__WEBPACK_IMPORTED_MODULE_3__.r)(query.source),queryContextColumnName=key.startsWith("context.columns.")?(0,_queries_utils__WEBPACK_IMPORTED_MODULE_5__.go)(key.substring(16)):void 0,queryContextColumn=null!==(_ref=queryContextColumnName?context?.columns?.[queryContextColumnName]:void 0)&&void 0!==_ref?_ref:context?.columns?.[key];if(queryContextColumnName&&queryContextColumn&&(queryContextColumn.title||queryContextColumn.renderTitle)){let Component=queryContextColumn.renderTitle;title=Component?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(Component,{columnName:queryContextColumnName,query:query}):queryContextColumn.title}else if((0,_queries_utils__WEBPACK_IMPORTED_MODULE_5__.Vf)(query.source)){if((title=key).startsWith("`")&&title.endsWith("`")&&(title=title.substring(1,title.length-1)),title.startsWith("tuple('__hx_tag', '")){let tagName=title.substring(19,title.indexOf("'",19));title="__hx_obj"===tagName?"Object":"RecordingButton"===tagName?"Recording":"<"+tagName+" />"}}else"timestamp"===key?title="Time":"created_at"===key?title="First seen":"event"===key?title="Event":"person"===key?title="Person":key.startsWith("properties.")?title=(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(lib_components_PropertyKeyInfo__WEBPACK_IMPORTED_MODULE_0__.T,{value:(0,_queries_utils__WEBPACK_IMPORTED_MODULE_5__.go)(key.substring(11)),type:lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_1__.t.EventProperties,disableIcon:!0}):"person.$delete"===key?(title="",width=0):title=key.startsWith("person.properties.")?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(lib_components_PropertyKeyInfo__WEBPACK_IMPORTED_MODULE_0__.T,{value:(0,_queries_utils__WEBPACK_IMPORTED_MODULE_5__.go)(key.substring(18)),type:lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_1__.t.PersonProperties,disableIcon:!0}):queryContextColumnName?queryContextColumnName.replace("_"," "):queryFeatures.has(_queries_nodes_DataTable_queryFeatures__WEBPACK_IMPORTED_MODULE_3__.P.selectAndOrderByColumns)?(0,_queries_nodes_DataTable_utils__WEBPACK_IMPORTED_MODULE_4__.fU)(key):key;if(queryContextColumn?.align&&(align=queryContextColumn.align),queryContextColumn?.width?width=queryContextColumn.width:context?.columns?.[key]?.width&&(width=context.columns[key].width),queryContextColumnName&&queryContextColumn&&(queryContextColumn.title||queryContextColumn.renderTitle)){let Component=queryContextColumn.renderTitle;title=Component?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(Component,{columnName:queryContextColumnName,query:query}):queryContextColumn.title}else if(context?.columns?.[key]?.title||context?.columns?.[key]?.renderTitle){let Component=context?.columns?.[key]?.renderTitle;title=Component?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(Component,{columnName:key,query:query}):context?.columns?.[key]?.title}if(queryFeatures.has(_queries_nodes_DataTable_queryFeatures__WEBPACK_IMPORTED_MODULE_3__.P.selectAndOrderByColumns)&&(0,_queries_utils__WEBPACK_IMPORTED_MODULE_5__.TC)(query)&&!query.allowSorting){let sortKey=queryFeatures.has(_queries_nodes_DataTable_queryFeatures__WEBPACK_IMPORTED_MODULE_3__.P.selectAndOrderByColumns)?query.source?.orderBy?.[0]:null,sortOrder=key===sortKey?1:`-${key}`===sortKey?-1:void 0;sortOrder&&(title=(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:[title,(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(lib_lemon_ui_LemonTable_sorting__WEBPACK_IMPORTED_MODULE_2__.a,{order:sortOrder})]}))}return{title,...void 0!==width?{width}:{},...align?{align}:{}}}},"./frontend/src/queries/nodes/DataTable/utils.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{$p:()=>removeExpressionComment,DP:()=>getDataNodeDefaultColumns,Qi:()=>defaultDataTableColumns,dm:()=>getColumnsForQuery,fU:()=>extractExpressionComment});var _queries_nodes_DataTable_queryFeatures__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/src/queries/nodes/DataTable/queryFeatures.ts"),_queries_schema__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/queries/schema.ts");let defaultDataTableEventColumns=["*","event","person","coalesce(properties.$current_url, properties.$screen_name) -- Url / Screen","properties.$lib","timestamp"],defaultDataTablePersonColumns=["person","id","created_at","person.$delete"];function defaultDataTableColumns(kind){return kind===_queries_schema__WEBPACK_IMPORTED_MODULE_1__.OH.PersonsNode||kind===_queries_schema__WEBPACK_IMPORTED_MODULE_1__.OH.ActorsQuery?defaultDataTablePersonColumns:kind===_queries_schema__WEBPACK_IMPORTED_MODULE_1__.OH.EventsQuery?defaultDataTableEventColumns:kind===_queries_schema__WEBPACK_IMPORTED_MODULE_1__.OH.EventsNode?defaultDataTableEventColumns.filter(c=>"*"!==c):[]}function getDataNodeDefaultColumns(source){return(0,_queries_nodes_DataTable_queryFeatures__WEBPACK_IMPORTED_MODULE_0__.r)(source).has(_queries_nodes_DataTable_queryFeatures__WEBPACK_IMPORTED_MODULE_0__.P.selectAndOrderByColumns)&&Array.isArray(source.select)&&source.select.length>0?source.select:defaultDataTableColumns(source.kind)}function getColumnsForQuery(query){var _query$columns;return null!==(_query$columns=query.columns)&&void 0!==_query$columns?_query$columns:getDataNodeDefaultColumns(query.source)}function extractExpressionComment(query){return query.includes("--")&&query.split("--").pop()?.trim()||query}function removeExpressionComment(query){return query.includes("--")?query.split("--").slice(0,-1).join("--").trim():query.trim()}},"./frontend/src/queries/nodes/DataVisualization/Components/Charts/LineGraph.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{x:()=>Charts_LineGraph_LineGraph}),__webpack_require__("./node_modules/.pnpm/chartjs-adapter-dayjs-3@1.2.3_chart.js@4.4.3_dayjs@1.11.11/node_modules/chartjs-adapter-dayjs-3/dist/chartjs-adapter-dayjs-3.esm.js");var injectStylesIntoStyleTag=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),injectStylesIntoStyleTag_default=__webpack_require__.n(injectStylesIntoStyleTag),LineGraph=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/queries/nodes/DataVisualization/Components/Charts/LineGraph.scss"),LineGraph_default=__webpack_require__.n(LineGraph),options={};options.insert="head",options.singleton=!1,injectStylesIntoStyleTag_default()(LineGraph_default(),options),LineGraph_default().locals,__webpack_require__("./frontend/src/scenes/insights/InsightTooltip/InsightTooltip.scss");var src=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),chartjs_plugin_annotation_esm=__webpack_require__("./node_modules/.pnpm/chartjs-plugin-annotation@2.2.1_chart.js@4.4.3/node_modules/chartjs-plugin-annotation/dist/chartjs-plugin-annotation.esm.js"),chartjs_plugin_datalabels_esm=__webpack_require__("./node_modules/.pnpm/chartjs-plugin-datalabels@2.2.0_chart.js@4.4.3/node_modules/chartjs-plugin-datalabels/dist/chartjs-plugin-datalabels.esm.js"),build=__webpack_require__("./node_modules/.pnpm/chartjs-plugin-stacked100@1.4.0_chart.js@4.4.3/node_modules/chartjs-plugin-stacked100/build/index.js"),build_default=__webpack_require__.n(build),chartjs_plugin_trendline=__webpack_require__("./node_modules/.pnpm/chartjs-plugin-trendline@2.1.2/node_modules/chartjs-plugin-trendline/src/chartjs-plugin-trendline.js"),chartjs_plugin_trendline_default=__webpack_require__.n(chartjs_plugin_trendline),clsx_m=__webpack_require__("./node_modules/.pnpm/clsx@1.2.1/node_modules/clsx/dist/clsx.m.js"),index_esm=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),Chart=__webpack_require__("./frontend/src/lib/Chart.ts"),lib_colors=__webpack_require__("./frontend/src/lib/colors.ts"),InsightLabel=__webpack_require__("./frontend/src/lib/components/InsightLabel/index.tsx"),utils=__webpack_require__("./frontend/src/lib/utils.tsx"),react=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/index.js"),LineGraph_LineGraph=__webpack_require__("./frontend/src/scenes/insights/views/LineGraph/LineGraph.tsx"),themeLogic=__webpack_require__("./frontend/src/layout/navigation-3000/themeLogic.ts"),types=__webpack_require__("./frontend/src/types.ts"),dataVisualizationLogic=__webpack_require__("./frontend/src/queries/nodes/DataVisualization/dataVisualizationLogic.ts"),displayLogic=__webpack_require__("./frontend/src/queries/nodes/DataVisualization/displayLogic.ts"),seriesBreakdownLogic=__webpack_require__("./frontend/src/queries/nodes/DataVisualization/Components/seriesBreakdownLogic.ts"),jsx_runtime=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");Chart.k.register(chartjs_plugin_annotation_esm.Z),Chart.k.register(build_default()),Chart.k.register(chartjs_plugin_trendline_default());let getGraphType=(chartType,settings)=>settings&&settings.display&&settings.display.displayType&&settings.display?.displayType!=="auto"?settings.display?.displayType==="bar"?types.KU.Bar:types.KU.Line:chartType===types.Qb.ActionsBar||chartType===types.Qb.ActionsStackedBar?types.KU.Bar:types.KU.Line,getYAxisSettings=(chartSettings,settings,stacked,position,tickOptions,gridOptions)=>{var _ref,_settings$startAtZero;return settings?.scale==="logarithmic"?{display:!0,stacked:stacked,type:"logarithmic",grid:gridOptions,position}:{display:!0,beginAtZero:null===(_ref=null!==(_settings$startAtZero=settings?.startAtZero)&&void 0!==_settings$startAtZero?_settings$startAtZero:chartSettings.yAxisAtZero)||void 0===_ref||_ref,stacked:stacked,type:"linear",ticks:{display:!0,...tickOptions,precision:1},grid:gridOptions,position}},Charts_LineGraph_LineGraph=()=>{let canvasRef=(0,react.useRef)(null),{isDarkModeOn}=(0,index_esm.useValues)(themeLogic.b),colors=(0,lib_colors.lw)(isDarkModeOn),{xData,yData,presetChartHeight,visualizationType,showEditingUI,chartSettings,dataVisualizationProps}=(0,index_esm.useValues)(dataVisualizationLogic.H8),isBarChart=visualizationType===types.Qb.ActionsBar||visualizationType===types.Qb.ActionsStackedBar,isStackedBarChart=visualizationType===types.Qb.ActionsStackedBar,isAreaChart=visualizationType===types.Qb.ActionsAreaGraph,{seriesBreakdownData}=(0,index_esm.useValues)((0,seriesBreakdownLogic.h)({key:dataVisualizationProps.key})),{goalLines}=(0,index_esm.useValues)(displayLogic.Y);return(0,react.useEffect)(()=>{var _colors$crosshair;let ySeriesData,xSeriesData;let hasRightYAxis=!1,hasLeftYAxis=!1;if(seriesBreakdownData.xData.data.length&&seriesBreakdownData.seriesData.length)ySeriesData=seriesBreakdownData.seriesData,xSeriesData=seriesBreakdownData.xData,hasLeftYAxis=!(hasRightYAxis=!!ySeriesData.find(n=>n.settings?.display?.yAxisPosition==="right"))||!!ySeriesData.find(n=>n.settings?.display?.yAxisPosition==="left");else{if(!xData||!yData)return;ySeriesData=yData,xSeriesData=xData,hasLeftYAxis=!(hasRightYAxis=!!ySeriesData.find(n=>n.settings?.display?.yAxisPosition==="right"))||!!ySeriesData.find(n=>n.settings?.display?.yAxisPosition==="left")}let data={labels:xSeriesData.data,datasets:ySeriesData.map((_ref2,index)=>{var _settings$display$col;let{data,settings}=_ref2,color=null!==(_settings$display$col=settings?.display?.color)&&void 0!==_settings$display$col?_settings$display$col:(0,lib_colors._r)(index),backgroundColor=isAreaChart?(0,utils.E9)(color,.5):color,graphType=getGraphType(visualizationType,settings);return{data,borderColor:color,backgroundColor:backgroundColor,borderWidth:graphType===types.KU.Bar?0:2,pointRadius:0,hitRadius:0,order:1,hoverBorderWidth:graphType===types.KU.Bar?0:2,hoverBorderRadius:graphType===types.KU.Bar?0:2,type:graphType,fill:!!isAreaChart&&"origin",yAxisID:settings?.display?.yAxisPosition==="right"?"yRight":"yLeft",...settings?.display?.trendLine?{trendlineLinear:{colorMin:(0,utils.E9)(color,.6),colorMax:(0,utils.E9)(color,.6),lineStyle:"dotted",width:3}}:{}}})},annotations=goalLines.reduce((acc,cur,curIndex)=>{let line={label:{display:!0,content:cur.label,position:"end"},scaleID:hasLeftYAxis?"yLeft":"yRight",value:cur.value};return acc.annotations[`line${curIndex}`]={type:"line",...line},acc},{annotations:{}}),tickOptions={color:colors.axisLabel,font:{family:'-apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", "Roboto", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',size:12,weight:"normal"}},gridOptions={color:colors.axisLine,tickColor:colors.axisLine,tickBorderDash:[4,2]},options={responsive:!0,maintainAspectRatio:!1,elements:{line:{tension:0}},plugins:{stacked100:{enable:isStackedBarChart&&chartSettings.stackBars100,precision:1},datalabels:{color:"white",anchor:context=>{let datum=context.dataset.data[context.dataIndex];return"number"!=typeof datum?"end":datum>0?"end":"start"},backgroundColor:context=>context.dataset.borderColor||"black",display:()=>!1,formatter:()=>{},borderWidth:2,borderRadius:4,borderColor:"white"},legend:{display:!1},annotation:annotations,...isBarChart?{crosshair:!1}:{crosshair:{snap:{enabled:!0},sync:{enabled:!1},zoom:{enabled:!1},line:{color:null!==(_colors$crosshair=colors.crosshair)&&void 0!==_colors$crosshair?_colors$crosshair:void 0,width:1}}},tooltip:{enabled:!1,mode:"index",intersect:!1,external(_ref3){let{tooltip}=_ref3;if(!canvasRef.current)return;let[tooltipRoot,tooltipEl]=(0,LineGraph_LineGraph.LS)();if(0===tooltip.opacity){tooltipEl.style.opacity="0";return}if(tooltipEl.classList.remove("above","below","no-transform"),tooltipEl.classList.add(tooltip.yAlign||"no-transform"),tooltipEl.style.opacity="1",tooltip.body){let referenceDataPoint=tooltip.dataPoints[0];tooltipRoot.render((0,jsx_runtime.jsx)("div",{className:"InsightTooltip",children:(0,jsx_runtime.jsx)(src.g3,{dataSource:ySeriesData.map(series=>{let seriesName=series?.settings?.display?.label||("column"in series?series.column.name:series.name);return{series:seriesName,data:(0,dataVisualizationLogic.FB)(series.data[referenceDataPoint.dataIndex],series.settings),rawData:series.data[referenceDataPoint.dataIndex],dataIndex:referenceDataPoint.dataIndex}}),columns:[{title:xSeriesData.data[referenceDataPoint.dataIndex],dataIndex:"series",render:value=>(0,jsx_runtime.jsx)("div",{className:"datum-label-column",children:(0,jsx_runtime.jsx)(InsightLabel.q,{fallbackName:value?.toString(),hideBreakdown:!0,showSingleName:!0,hideCompare:!0,hideIcon:!0,allowWrap:!0})})},{title:"",dataIndex:"data",render:(value,record)=>{if(isStackedBarChart&&chartSettings.stackBars100){let total=ySeriesData.map(n=>n.data[record.dataIndex]).reduce((acc,cur)=>acc+cur,0),percentageLabel=parseFloat((record.rawData/total*100).toFixed(1));return(0,jsx_runtime.jsxs)("div",{className:"series-data-cell",children:[value," (",percentageLabel,"%)"]})}return(0,jsx_runtime.jsx)("div",{className:"series-data-cell",children:value})}}],uppercaseHeader:!1,rowRibbonColor:(_datum,index)=>{var _ySeriesData$index$se;return null!==(_ySeriesData$index$se=ySeriesData[index]?.settings?.display?.color)&&void 0!==_ySeriesData$index$se?_ySeriesData$index$se:(0,lib_colors._r)(index)},showHeader:!0})}))}let bounds=canvasRef.current.getBoundingClientRect(),tooltipClientTop=bounds.top+window.pageYOffset+0,chartClientLeft=bounds.left+window.pageXOffset,defaultOffsetLeft=Math.max(chartClientLeft,chartClientLeft+tooltip.caretX+8),maxXPosition=bounds.right-tooltipEl.clientWidth,tooltipClientLeft=defaultOffsetLeft>maxXPosition?chartClientLeft+tooltip.caretX-tooltipEl.clientWidth-8:defaultOffsetLeft;tooltipEl.style.top=tooltipClientTop+"px",tooltipEl.style.left=tooltipClientLeft+"px"}}},hover:{mode:isBarChart?"point":"nearest",axis:"x",intersect:!1},scales:{x:{display:!0,beginAtZero:!0,stacked:isStackedBarChart,ticks:tickOptions,grid:{...gridOptions,drawOnChartArea:!1,tickLength:12}},...hasLeftYAxis?{yLeft:getYAxisSettings(chartSettings,chartSettings.leftYAxisSettings,isAreaChart||isStackedBarChart,"left",tickOptions,gridOptions)}:{},...hasRightYAxis?{yRight:getYAxisSettings(chartSettings,chartSettings.rightYAxisSettings,isAreaChart||isStackedBarChart,"right",tickOptions,gridOptions)}:{}}},newChart=new Chart.k(canvasRef.current?.getContext("2d"),{type:isBarChart?types.KU.Bar:types.KU.Line,data,options,plugins:[chartjs_plugin_datalabels_esm.Z]});return()=>newChart.destroy()},[xData,yData,seriesBreakdownData,visualizationType,goalLines,chartSettings]),(0,jsx_runtime.jsx)("div",{className:(0,clsx_m.default)("rounded bg-bg-light relative flex flex-1 flex-col p-2",{DataVisualization__LineGraph:presetChartHeight,"h-full":!presetChartHeight,border:showEditingUI}),children:(0,jsx_runtime.jsx)("div",{className:"flex flex-1 w-full h-full overflow-hidden",children:(0,jsx_runtime.jsx)("canvas",{ref:canvasRef})})})}},"./frontend/src/queries/nodes/DataVisualization/Components/SideBar.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{K:()=>SideBar_SideBar});var injectStylesIntoStyleTag=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),injectStylesIntoStyleTag_default=__webpack_require__.n(injectStylesIntoStyleTag),SideBar=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/queries/nodes/DataVisualization/Components/SideBar.scss"),SideBar_default=__webpack_require__.n(SideBar),options={};options.insert="head",options.singleton=!1,injectStylesIntoStyleTag_default()(SideBar_default(),options),SideBar_default().locals;var src=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),index_esm=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),types=__webpack_require__("./frontend/src/types.ts"),dataVisualizationLogic=__webpack_require__("./frontend/src/queries/nodes/DataVisualization/dataVisualizationLogic.ts"),ConditionalFormattingTab=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/queries/nodes/DataVisualization/Components/ConditionalFormatting/ConditionalFormattingTab.scss"),ConditionalFormattingTab_default=__webpack_require__.n(ConditionalFormattingTab),ConditionalFormattingTab_options={};ConditionalFormattingTab_options.insert="head",ConditionalFormattingTab_options.singleton=!1,injectStylesIntoStyleTag_default()(ConditionalFormattingTab_default(),ConditionalFormattingTab_options),ConditionalFormattingTab_default().locals;var posthog_icons_es=__webpack_require__("./node_modules/.pnpm/@posthog+icons@0.9.2_react-dom@18.2.0_react@18.2.0/node_modules/@posthog/icons/dist/posthog-icons.es.js"),SeriesGlyph=__webpack_require__("./frontend/src/lib/components/SeriesGlyph.tsx"),utils=__webpack_require__("./frontend/src/lib/utils.tsx"),react=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/index.js"),es=__webpack_require__("./node_modules/.pnpm/react-color@2.19.3_react@18.2.0/node_modules/react-color/es/index.js"),themeLogic=__webpack_require__("./frontend/src/layout/navigation-3000/themeLogic.ts"),jsx_runtime=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let DEFAULT_PICKER_COLORS=["#FFADAD","#E8A598","#FFD6A5","#FFCFD2","#FDFFB6","#C1FBA4","#9BF6FF","#A0C4FF","#BDB2FF","#FFC6FF"],ColorPickerButton=_ref=>{let{color,onColorSelect:propOnColorSelect,colorChoices=DEFAULT_PICKER_COLORS}=_ref,[pickerOpen,setPickerOpen]=(0,react.useState)(!1),{isDarkModeOn}=(0,index_esm.useValues)(themeLogic.b),colors=isDarkModeOn?colorChoices.map(n=>(0,utils.fc)((0,utils._$)(n,-30))):colorChoices;return(0,jsx_runtime.jsx)(src.J2,{visible:pickerOpen,overlay:(0,jsx_runtime.jsx)(es.e8,{color:color,colors:colors,onChangeComplete:colorResult=>{propOnColorSelect&&propOnColorSelect(colorResult.hex),colorChoices.includes(colorResult.hex)&&setPickerOpen(!1)}}),onClickOutside:()=>setPickerOpen(!1),padded:!1,children:(0,jsx_runtime.jsx)(src.Jp,{type:"secondary",onClick:()=>setPickerOpen(!pickerOpen),sideIcon:(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{}),className:"ConditionalFormattingTab__ColorPicker",children:(0,jsx_runtime.jsx)(SeriesGlyph.KA,{color:color})})})};var DataVisualization_types=__webpack_require__("./frontend/src/queries/nodes/DataVisualization/types.ts"),lib=__webpack_require__("./node_modules/.pnpm/kea-loaders@3.0.0_kea@3.1.5/node_modules/kea-loaders/lib/index.js"),kea_subscriptions_lib=__webpack_require__("./node_modules/.pnpm/kea-subscriptions@3.0.1_kea@3.1.5/node_modules/kea-subscriptions/lib/index.js"),api=__webpack_require__("./frontend/src/lib/api.ts");let conditionalFormattingLogic=(0,index_esm.kea)([(0,index_esm.key)(props=>props.rule.id),(0,index_esm.path)(["queries","nodes","DataVisualization","Components","conditionalFormattingLogic"]),(0,index_esm.props)({rule:{id:""},key:""}),(0,index_esm.connect)({actions:[dataVisualizationLogic.H8,["updateConditionalFormattingRule"]]}),(0,index_esm.actions)({selectColumn:columnName=>({columnName}),updateInput:input=>({input}),selectTemplate:templateId=>({templateId}),updateBytecode:bytecode=>({bytecode}),selectColor:color=>({color}),deleteRule:!0}),(0,index_esm.reducers)(_ref=>{let{props}=_ref;return{rule:[props.rule,{selectColumn:(state,_ref2)=>{let{columnName}=_ref2;return{...state,columnName}},updateInput:(state,_ref3)=>{let{input}=_ref3;return{...state,input}},selectTemplate:(state,_ref4)=>{let{templateId}=_ref4;return{...state,templateId}},updateBytecode:(state,_ref5)=>{let{bytecode}=_ref5;return{...state,bytecode}},selectColor:(state,_ref6)=>{let{color}=_ref6;return{...state,color}}}]}}),(0,index_esm.selectors)({template:[s=>[s.rule],rule=>{let template=DataVisualization_types.p.find(n=>n.id===rule.templateId);return template||DataVisualization_types.p[0]}]}),(0,lib.loaders)({hog:[null,{compileHog:async _ref7=>{let{hog}=_ref7,res=await api.ZP.hog.create(hog);return res.bytecode}}]}),(0,index_esm.listeners)(_ref8=>{let{actions,values}=_ref8;return{compileHogSuccess:_ref9=>{let{hog}=_ref9;actions.updateBytecode(hog)},deleteRule:()=>{actions.updateConditionalFormattingRule(values.rule,!0)}}}),(0,kea_subscriptions_lib.Vt)(_ref10=>{let{actions}=_ref10;return{template:(template,oldTemplate)=>{actions.compileHog({hog:template.hog}),!oldTemplate?.hideInput&&template.hideInput&&actions.updateInput("")},rule:rule=>{actions.updateConditionalFormattingRule(rule)}}})]),getRuleHeader=rule=>{if(!rule.columnName||!rule.input)return"New rule";let template=DataVisualization_types.p.find(n=>n.id===rule.templateId);return template?template.hideInput?`${rule.columnName} ${template.label.toLowerCase()}`:`${rule.columnName} ${template.label.toLowerCase()} ${rule.input}`:"New rule"},RuleItem=_ref=>{let{rule:propsRule}=_ref,{columns,responseLoading,dataVisualizationProps}=(0,index_esm.useValues)(dataVisualizationLogic.H8),builtCFLogic=conditionalFormattingLogic({key:dataVisualizationProps.key,rule:propsRule}),{selectColumn,updateInput,selectTemplate,selectColor,deleteRule}=(0,index_esm.useActions)(builtCFLogic),{rule,template}=(0,index_esm.useValues)(builtCFLogic);return(0,jsx_runtime.jsxs)("div",{className:"gap-2 flex flex-col",children:[(0,jsx_runtime.jsx)(src.Yv,{placeholder:"Column",className:"w-full",value:rule.columnName||null,options:columns.map(_ref2=>{let{name,type}=_ref2;return{value:name,label:(0,jsx_runtime.jsxs)("div",{className:"items-center flex-1",children:[name,(0,jsx_runtime.jsx)(src.oe,{className:"ml-2",type:"default",children:type.name})]})}}),disabledReason:responseLoading?"Query loading...":void 0,onChange:value=>{let column=columns.find(n=>n.name===value);column&&selectColumn(column.name)}}),(0,jsx_runtime.jsx)(src.Yv,{className:"w-full",options:DataVisualization_types.p.filter(n=>{let column=columns.find(n=>n.name===rule.columnName);return!column||n.availableColumnTypes.includes(column.type.name)}).map(_ref3=>{let{id,label}=_ref3;return{label,value:id}}),value:rule.templateId,onSelect:value=>selectTemplate(value)}),(0,jsx_runtime.jsxs)("div",{className:"flex flex-1",children:[(0,jsx_runtime.jsx)(ColorPickerButton,{color:rule.color,onColorSelect:selectColor}),(0,jsx_runtime.jsx)(src.DF,{placeholder:"value",className:"ml-2 flex-1",onChange:value=>updateInput(value),value:rule.input,disabled:template.hideInput}),(0,jsx_runtime.jsx)(src.Jp,{icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconTrash,{}),status:"danger",title:"Delete rule",className:"ml-1",noPadding:!0,tooltip:"Delete formatting rule",onClick:()=>deleteRule()})]})]})};var LemonField=__webpack_require__("./frontend/src/lib/lemon-ui/LemonField/index.ts"),displayLogic=__webpack_require__("./frontend/src/queries/nodes/DataVisualization/displayLogic.ts"),kea_forms_lib=__webpack_require__("./node_modules/.pnpm/kea-forms@3.2.0_kea@3.1.5/node_modules/kea-forms/lib/index.js"),colors=__webpack_require__("./frontend/src/lib/colors.ts"),seriesBreakdownLogic=__webpack_require__("./frontend/src/queries/nodes/DataVisualization/Components/seriesBreakdownLogic.ts");let YSeriesSettingsTab=function(YSeriesSettingsTab){return YSeriesSettingsTab.Formatting="formatting",YSeriesSettingsTab.Display="display",YSeriesSettingsTab}({}),ySeriesLogic=(0,index_esm.kea)([(0,index_esm.path)(["queries","nodes","DataVisualization","Components","ySeriesLogic"]),(0,index_esm.key)(props=>{var _props$series$column$,_props$seriesIndex;return`${null!==(_props$series$column$=props.series?.column?.name)&&void 0!==_props$series$column$?_props$series$column$:"new"}-${null!==(_props$seriesIndex=props.seriesIndex)&&void 0!==_props$seriesIndex?_props$seriesIndex:0}`}),(0,index_esm.connect)(props=>({actions:[(0,dataVisualizationLogic.H8)(props.dataVisualizationProps),["updateSeriesIndex"]]})),(0,index_esm.props)({series:dataVisualizationLogic.pf}),(0,index_esm.actions)({setSettingsOpen:open1=>({open:open1}),setSettingsTab:tab=>({tab})}),(0,index_esm.reducers)({isSettingsOpen:[!1,{setSettingsOpen:(_,_ref)=>{let{open:open1}=_ref;return open1}}],activeSettingsTab:[YSeriesSettingsTab.Formatting,{setSettingsTab:(_state,_ref2)=>{let{tab}=_ref2;return tab}}]}),(0,index_esm.selectors)({canOpenSettings:[(_s,p)=>[p.series],series=>series!==dataVisualizationLogic.pf]}),(0,kea_forms_lib.forms)(_ref3=>{var _props$series$setting,_props$series$setting2,_props$series$setting3,_props$series$setting4,_props$series$setting5,_props$series$setting6,_props$series$setting7,_props$series$setting8;let{actions,props}=_ref3;return{formatting:{defaults:{prefix:null!==(_props$series$setting=props.series?.settings?.formatting?.prefix)&&void 0!==_props$series$setting?_props$series$setting:"",suffix:null!==(_props$series$setting2=props.series?.settings?.formatting?.suffix)&&void 0!==_props$series$setting2?_props$series$setting2:"",style:null!==(_props$series$setting3=props.series?.settings?.formatting?.style)&&void 0!==_props$series$setting3?_props$series$setting3:"none",decimalPlaces:props.series?.settings?.formatting?.decimalPlaces},submit:async format=>{actions.updateSeriesIndex(props.seriesIndex,props.series.column.name,{formatting:{prefix:format.prefix,suffix:format.suffix,style:format.style,decimalPlaces:Number.isNaN(format.decimalPlaces)?void 0:format.decimalPlaces}}),actions.setSettingsOpen(!1)}},display:{defaults:{color:null!==(_props$series$setting4=props.series?.settings?.display?.color)&&void 0!==_props$series$setting4?_props$series$setting4:(0,colors._r)(props.seriesIndex),label:null!==(_props$series$setting5=props.series?.settings?.display?.label)&&void 0!==_props$series$setting5?_props$series$setting5:"",trendLine:null!==(_props$series$setting6=props.series?.settings?.display?.trendLine)&&void 0!==_props$series$setting6&&_props$series$setting6,yAxisPosition:null!==(_props$series$setting7=props.series?.settings?.display?.yAxisPosition)&&void 0!==_props$series$setting7?_props$series$setting7:"left",displayType:null!==(_props$series$setting8=props.series?.settings?.display?.displayType)&&void 0!==_props$series$setting8?_props$series$setting8:"auto"},submit:async display=>{actions.updateSeriesIndex(props.seriesIndex,props.series.column.name,{display:{color:display.color,label:display.label,trendLine:display.trendLine,yAxisPosition:display.yAxisPosition,displayType:display.displayType}}),actions.setSettingsOpen(!1)}}}})]),YSeries=_ref2=>{var _series$settings$disp;let{series,index}=_ref2,{columns,numericalColumns,responseLoading,dataVisualizationProps,showTableSettings}=(0,index_esm.useValues)(dataVisualizationLogic.H8),{updateSeriesIndex,deleteYSeries}=(0,index_esm.useActions)(dataVisualizationLogic.H8),{selectedSeriesBreakdownColumn}=(0,index_esm.useValues)((0,seriesBreakdownLogic.h)({key:dataVisualizationProps.key})),seriesLogicProps={series,seriesIndex:index,dataVisualizationProps},seriesLogic=ySeriesLogic(seriesLogicProps),{isSettingsOpen,canOpenSettings,activeSettingsTab}=(0,index_esm.useValues)(seriesLogic),{setSettingsOpen,submitFormatting,submitDisplay,setSettingsTab}=(0,index_esm.useActions)(seriesLogic),seriesColor=null!==(_series$settings$disp=series.settings?.display?.color)&&void 0!==_series$settings$disp?_series$settings$disp:(0,colors._r)(index),showSeriesColor=!showTableSettings&&!selectedSeriesBreakdownColumn,options=(showTableSettings?columns:numericalColumns).map(_ref3=>{let{name,type}=_ref3;return{value:name,label:(0,jsx_runtime.jsxs)("div",{className:"items-center flex flex-1",children:[showSeriesColor&&(0,jsx_runtime.jsx)(SeriesGlyph.KA,{className:"mr-2",color:seriesColor}),series.settings?.display?.label&&series.column.name===name?series.settings.display.label:name,(0,jsx_runtime.jsx)(src.oe,{className:"ml-2",type:"default",children:type.name})]})}});return(0,jsx_runtime.jsxs)("div",{className:"flex gap-1 mb-1",children:[(0,jsx_runtime.jsx)(src.Yv,{className:"grow flex-1 break-all",value:null!==series?series.column.name:"None",options:options,disabledReason:responseLoading?"Query loading...":void 0,onChange:value=>{let column=columns.find(n=>n.name===value);column&&updateSeriesIndex(index,column.name)}}),(0,jsx_runtime.jsx)(src.J2,{overlay:(0,jsx_runtime.jsx)("div",{className:"m-2",children:(0,jsx_runtime.jsx)(src.TP,{activeKey:activeSettingsTab,barClassName:"justify-around",onChange:tab=>setSettingsTab(tab),tabs:Object.values(Y_SERIES_SETTINGS_TABS).map((_ref4,index)=>{let{label,Component}=_ref4;return{label:label,key:Object.keys(Y_SERIES_SETTINGS_TABS)[index],content:(0,jsx_runtime.jsx)(Component,{ySeriesLogicProps:seriesLogicProps})}})})}),visible:isSettingsOpen,placement:"bottom",onClickOutside:()=>{submitFormatting(),submitDisplay()},children:(0,jsx_runtime.jsx)(src.Jp,{icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconGear,{}),noPadding:!0,onClick:()=>setSettingsOpen(!0),disabledReason:!canOpenSettings&&"Select a column first"},"seriesSettings")}),!showTableSettings&&(0,jsx_runtime.jsx)(src.Jp,{icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconTrash,{}),status:"danger",title:"Delete Y-series",noPadding:!0,onClick:()=>deleteYSeries(index)},"delete")]})},Y_SERIES_SETTINGS_TABS={[YSeriesSettingsTab.Formatting]:{label:"Formatting",Component:_ref5=>{let{ySeriesLogicProps}=_ref5;return(0,jsx_runtime.jsxs)(kea_forms_lib.Form,{logic:ySeriesLogic,props:ySeriesLogicProps,formKey:"formatting",className:"space-y-4",children:[ySeriesLogicProps.series.column.type.isNumerical&&(0,jsx_runtime.jsx)(LemonField.D,{name:"style",label:"Style",className:"gap-1",children:(0,jsx_runtime.jsx)(src.Yv,{options:[{value:"none",label:"None"},{value:"number",label:"Number"},{value:"percent",label:"Percentage"}]})}),(0,jsx_runtime.jsx)(LemonField.D,{name:"prefix",label:"Prefix",children:(0,jsx_runtime.jsx)(src.DF,{placeholder:"$"})}),(0,jsx_runtime.jsx)(LemonField.D,{name:"suffix",label:"Suffix",children:(0,jsx_runtime.jsx)(src.DF,{placeholder:"USD"})}),ySeriesLogicProps.series.column.type.isNumerical&&(0,jsx_runtime.jsx)(LemonField.D,{name:"decimalPlaces",label:"Decimal places",children:(0,jsx_runtime.jsx)(src.DF,{type:"number",min:0})})]})}},[YSeriesSettingsTab.Display]:{label:"Display",Component:_ref6=>{let{ySeriesLogicProps}=_ref6,{showTableSettings,dataVisualizationProps}=(0,index_esm.useValues)(dataVisualizationLogic.H8),{selectedSeriesBreakdownColumn}=(0,index_esm.useValues)((0,seriesBreakdownLogic.h)({key:dataVisualizationProps.key})),showColorPicker=!showTableSettings&&!selectedSeriesBreakdownColumn,showLabelInput=showTableSettings||!selectedSeriesBreakdownColumn;return(0,jsx_runtime.jsxs)(kea_forms_lib.Form,{logic:ySeriesLogic,props:ySeriesLogicProps,formKey:"display",className:"space-y-4",children:[(showColorPicker||showLabelInput)&&(0,jsx_runtime.jsxs)("div",{className:"flex gap-3",children:[showColorPicker&&(0,jsx_runtime.jsx)(LemonField.D,{name:"color",label:"Color",children:_ref7=>{let{value,onChange}=_ref7;return(0,jsx_runtime.jsx)(ColorPickerButton,{color:value,onColorSelect:onChange,colorChoices:(0,colors.Qu)()})}}),showLabelInput&&(0,jsx_runtime.jsx)(LemonField.D,{name:"label",label:"Label",children:(0,jsx_runtime.jsx)(src.DF,{})})]}),!showTableSettings&&(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[!selectedSeriesBreakdownColumn&&(0,jsx_runtime.jsx)(LemonField.D,{name:"trendLine",label:"Trend line",children:_ref8=>{let{value,onChange}=_ref8;return(0,jsx_runtime.jsx)(src.f4,{checked:value,onChange:newValue=>onChange(newValue)})}}),(0,jsx_runtime.jsx)(LemonField.D,{name:"yAxisPosition",label:"Y-axis position",children:_ref9=>{let{value,onChange}=_ref9;return(0,jsx_runtime.jsx)(src.P4,{value:value,className:"w-full",options:[{label:"Left",value:"left"},{label:"Right",value:"right"}],onChange:newValue=>onChange(newValue)})}}),(0,jsx_runtime.jsx)(LemonField.D,{name:"displayType",label:"Display type",children:_ref10=>{let{value,onChange}=_ref10;return(0,jsx_runtime.jsx)(src.P4,{value:value,className:"w-full",options:[{label:"Auto",value:"auto"},{label:"Line",value:"line"},{label:"Bar",value:"bar"}],onChange:newValue=>onChange(newValue)})}})]})]})}}},SeriesBreakdownSelector=()=>{let{columns,responseLoading,selectedXAxis,dataVisualizationProps}=(0,index_esm.useValues)(dataVisualizationLogic.H8),breakdownLogic=(0,seriesBreakdownLogic.h)({key:dataVisualizationProps.key}),{selectedSeriesBreakdownColumn,seriesBreakdownData}=(0,index_esm.useValues)(breakdownLogic),{addSeriesBreakdown,deleteSeriesBreakdown}=(0,index_esm.useActions)(breakdownLogic),seriesBreakdownOptions=columns.map(_ref11=>{let{name,type}=_ref11;return{value:name,label:(0,jsx_runtime.jsxs)("div",{className:"items-center flex-1",children:[name,(0,jsx_runtime.jsx)(src.oe,{className:"ml-2",type:"default",children:type.name})]})}}).filter(column=>column.value!==selectedXAxis);return(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsxs)("div",{className:"flex gap-1 my-1",children:[(0,jsx_runtime.jsx)(src.Yv,{className:"grow",value:null!==selectedSeriesBreakdownColumn?selectedSeriesBreakdownColumn:"None",options:seriesBreakdownOptions,disabledReason:responseLoading?"Query loading...":void 0,onChange:value=>{let column=columns.find(n=>n.name===value);column&&addSeriesBreakdown(column.name)}}),(0,jsx_runtime.jsx)(src.Jp,{icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconTrash,{}),status:"danger",title:"Delete series breakdown",noPadding:!0,onClick:()=>deleteSeriesBreakdown()},"delete")]}),(0,jsx_runtime.jsx)("div",{className:"ml-4 mt-2",children:seriesBreakdownData.error?(0,jsx_runtime.jsx)("div",{className:"text-danger font-bold mt-1",children:seriesBreakdownData.error}):seriesBreakdownData.seriesData.map((series,index)=>(0,jsx_runtime.jsx)(BreakdownSeries,{series:series,index:index},`${series.name}-${index}`))})]})},BreakdownSeries=_ref12=>{var _series$settings$disp2;let{series,index}=_ref12,seriesColor=null!==(_series$settings$disp2=series.settings?.display?.color)&&void 0!==_series$settings$disp2?_series$settings$disp2:(0,colors._r)(index);return(0,jsx_runtime.jsx)("div",{className:"flex gap-1 mb-2",children:(0,jsx_runtime.jsxs)("div",{className:"flex gap-2",children:[(0,jsx_runtime.jsx)(SeriesGlyph.KA,{color:seriesColor,className:"mr-2"}),(0,jsx_runtime.jsx)("span",{children:series.name?series.name:"[No value]"})]})})},TABS_TO_CONTENT={[dataVisualizationLogic.B8.Series]:{label:"Series",content:(0,jsx_runtime.jsx)(()=>{let{columns,numericalColumns,xData,yData,responseLoading,showTableSettings,tabularColumns,selectedXAxis,dataVisualizationProps}=(0,index_esm.useValues)(dataVisualizationLogic.H8),{updateXSeries,addYSeries}=(0,index_esm.useActions)(dataVisualizationLogic.H8),breakdownLogic=(0,seriesBreakdownLogic.h)({key:dataVisualizationProps.key}),{showSeriesBreakdown}=(0,index_esm.useValues)(breakdownLogic),{addSeriesBreakdown}=(0,index_esm.useActions)(breakdownLogic),hideAddYSeries=yData.length>=numericalColumns.length,hideAddSeriesBreakdown=!(!showSeriesBreakdown&&selectedXAxis&&columns.length>yData.length);if(showTableSettings)return(0,jsx_runtime.jsxs)("div",{className:"flex flex-col w-full",children:[(0,jsx_runtime.jsx)(src.HQ,{children:"Columns"}),tabularColumns.map((series,index)=>(0,jsx_runtime.jsx)(YSeries,{series:series,index:index},`${series.column.name}-${index}`))]});let options=columns.map(_ref=>{let{name,type}=_ref;return{value:name,label:(0,jsx_runtime.jsxs)("div",{className:"items-center flex-1",children:[name,(0,jsx_runtime.jsx)(src.oe,{className:"ml-2",type:"default",children:type.name})]})}});return(0,jsx_runtime.jsxs)("div",{className:"flex flex-col w-full",children:[(0,jsx_runtime.jsx)(src.HQ,{className:"mb-1",children:"X-axis"}),(0,jsx_runtime.jsx)(src.Yv,{className:"w-full",value:null!==xData?xData.column.name:"None",options:options,disabledReason:responseLoading?"Query loading...":void 0,onChange:value=>{let column=columns.find(n=>n.name===value);column&&updateXSeries(column.name)}}),!hideAddSeriesBreakdown&&(0,jsx_runtime.jsx)(src.Jp,{className:"mt-1",type:"tertiary",onClick:()=>addSeriesBreakdown(null),icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconPlusSmall,{}),fullWidth:!0,children:"Add series breakdown"}),showSeriesBreakdown&&(0,jsx_runtime.jsx)(SeriesBreakdownSelector,{}),(0,jsx_runtime.jsx)(src.HQ,{className:"mt-4 mb-1",children:"Y-axis"}),yData.map((series,index)=>(0,jsx_runtime.jsx)(YSeries,{series:series,index:index},`${series?.column.name}-${index}`)),!hideAddYSeries&&(0,jsx_runtime.jsx)(src.Jp,{className:"mt-1",type:"tertiary",onClick:()=>addYSeries(),icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconPlusSmall,{}),fullWidth:!0,children:"Add Y-series"})]})},{}),shouldShow:()=>!0},[dataVisualizationLogic.B8.ConditionalFormatting]:{label:"Conditional formatting",content:(0,jsx_runtime.jsx)(()=>{let{conditionalFormattingRules,conditionalFormattingRulesPanelActiveKeys}=(0,index_esm.useValues)(dataVisualizationLogic.H8),{addConditionalFormattingRule,setConditionalFormattingRulesPanelActiveKeys}=(0,index_esm.useActions)(dataVisualizationLogic.H8);return(0,jsx_runtime.jsxs)("div",{className:"flex flex-col w-full ConditionalFormattingTab",children:[(0,jsx_runtime.jsx)("p",{children:"You can add rules to make the cells in the table change color if they meet certain conditions."}),conditionalFormattingRules.length>0&&(0,jsx_runtime.jsx)(src.JL,{activeKeys:conditionalFormattingRulesPanelActiveKeys,onChange:activeKeys=>setConditionalFormattingRulesPanelActiveKeys(activeKeys),multiple:!0,className:"mb-2",size:"small",panels:conditionalFormattingRules.map(rule=>({key:rule.id,header:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(SeriesGlyph.KA,{color:rule.color}),(0,jsx_runtime.jsx)("span",{className:"ml-2",children:getRuleHeader(rule)})]}),content:(0,jsx_runtime.jsx)(RuleItem,{rule:rule},rule.id)}))}),(0,jsx_runtime.jsx)(src.Jp,{className:"mt-1",onClick:()=>addConditionalFormattingRule(),icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconPlusSmall,{}),fullWidth:!0,type:"secondary",children:"Add rule"})]})},{}),shouldShow:displayType=>displayType===types.Qb.ActionsTable},[dataVisualizationLogic.B8.Display]:{label:"Display",content:(0,jsx_runtime.jsx)(()=>{var _chartSettings$leftYA,_ref,_chartSettings$leftYA2,_chartSettings$rightY,_ref2,_chartSettings$rightY2,_chartSettings$stackB;let{visualizationType}=(0,index_esm.useValues)(dataVisualizationLogic.H8),{goalLines,chartSettings}=(0,index_esm.useValues)(displayLogic.Y),{addGoalLine,updateGoalLine,removeGoalLine,updateChartSettings}=(0,index_esm.useActions)(displayLogic.Y),isStackedBarChart=visualizationType===types.Qb.ActionsStackedBar;return(0,jsx_runtime.jsxs)("div",{className:"flex flex-col w-full",children:[(0,jsx_runtime.jsxs)("div",{className:"mt-1 mb-2 flex flex-col",children:[(0,jsx_runtime.jsx)("h3",{children:"Left Y-axis"}),(0,jsx_runtime.jsx)(LemonField.D.Pure,{label:"Scale",className:"gap-0 mb-3",children:(0,jsx_runtime.jsx)(src.Yv,{value:null!==(_chartSettings$leftYA=chartSettings.leftYAxisSettings?.scale)&&void 0!==_chartSettings$leftYA?_chartSettings$leftYA:"linear",options:[{value:"linear",label:"Linear"},{value:"logarithmic",label:"Logarithmic"}],onChange:value=>{updateChartSettings({leftYAxisSettings:{scale:value}})}})}),(0,jsx_runtime.jsx)(src.f4,{className:"flex-1 mb-3 w-full",label:"Begin Y-axis at zero",checked:null===(_ref=null!==(_chartSettings$leftYA2=chartSettings.leftYAxisSettings?.startAtZero)&&void 0!==_chartSettings$leftYA2?_chartSettings$leftYA2:chartSettings.yAxisAtZero)||void 0===_ref||_ref,onChange:value=>{updateChartSettings({leftYAxisSettings:{startAtZero:value}})}})]}),(0,jsx_runtime.jsxs)("div",{className:"mt-1 mb-2 flex flex-col",children:[(0,jsx_runtime.jsx)("h3",{children:"Right Y-axis"}),(0,jsx_runtime.jsx)(LemonField.D.Pure,{label:"Scale",className:"gap-0 mb-3",children:(0,jsx_runtime.jsx)(src.Yv,{value:null!==(_chartSettings$rightY=chartSettings.rightYAxisSettings?.scale)&&void 0!==_chartSettings$rightY?_chartSettings$rightY:"linear",options:[{value:"linear",label:"Linear"},{value:"logarithmic",label:"Logarithmic"}],onChange:value=>{updateChartSettings({rightYAxisSettings:{scale:value}})}})}),(0,jsx_runtime.jsx)(src.f4,{className:"flex-1 mb-3 w-full",label:"Begin Y-axis at zero",checked:null===(_ref2=null!==(_chartSettings$rightY2=chartSettings.rightYAxisSettings?.startAtZero)&&void 0!==_chartSettings$rightY2?_chartSettings$rightY2:chartSettings.yAxisAtZero)||void 0===_ref2||_ref2,onChange:value=>{updateChartSettings({rightYAxisSettings:{startAtZero:value}})}})]}),isStackedBarChart&&(0,jsx_runtime.jsx)("div",{className:"mt-1 mb-2 flex",children:(0,jsx_runtime.jsx)(src.f4,{className:"flex-1",label:"Stack bars 100%",checked:null!==(_chartSettings$stackB=chartSettings.stackBars100)&&void 0!==_chartSettings$stackB&&_chartSettings$stackB,onChange:value=>{updateChartSettings({stackBars100:value})}})}),(0,jsx_runtime.jsxs)("div",{className:"mt-1 mb-2",children:[(0,jsx_runtime.jsx)(src.HQ,{className:"mb-1",children:"Goal line"}),goalLines.map((goalLine,goalLineIndex)=>{var _goalLine$value;return(0,jsx_runtime.jsxs)("div",{className:"flex flex-1 gap-1 mb-1",children:[(0,jsx_runtime.jsx)(SeriesGlyph.rF,{className:"self-center",hasBreakdown:!1,seriesIndex:goalLineIndex}),(0,jsx_runtime.jsx)(src.DF,{placeholder:"Label",className:"grow-2",value:goalLine.label,onChange:value=>updateGoalLine(goalLineIndex,"label",value)}),(0,jsx_runtime.jsx)(src.DF,{placeholder:"Value",className:"grow",value:(null!==(_goalLine$value=goalLine.value)&&void 0!==_goalLine$value?_goalLine$value:0).toString(),inputMode:"numeric",onChange:value=>updateGoalLine(goalLineIndex,"value",parseInt(value))}),(0,jsx_runtime.jsx)(src.Jp,{icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconTrash,{}),status:"danger",title:"Delete Y-series",noPadding:!0,onClick:()=>removeGoalLine(goalLineIndex)},"delete")]},`${goalLineIndex}`)}),(0,jsx_runtime.jsx)(src.Jp,{className:"mt-1",onClick:()=>addGoalLine(),icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconPlusSmall,{}),fullWidth:!0,children:"Add goal line"})]})]})},{}),shouldShow:displayType=>displayType!==types.Qb.ActionsTable&&displayType!==types.Qb.BoldNumber}},ContentWrapper=_ref=>{let{children}=_ref;return(0,jsx_runtime.jsx)("div",{className:"SideBar bg-bg-light border p-4 rounded-t-none border-t-0",children:children})},SideBar_SideBar=()=>{let{activeSideBarTab,visualizationType}=(0,index_esm.useValues)(dataVisualizationLogic.H8),{setSideBarTab}=(0,index_esm.useActions)(dataVisualizationLogic.H8),tabs=Object.values(TABS_TO_CONTENT).filter(n=>n.shouldShow(visualizationType)).map((tab,index)=>({label:tab.label,key:Object.keys(TABS_TO_CONTENT)[index],content:(0,jsx_runtime.jsx)(ContentWrapper,{children:tab.content})}));return(0,jsx_runtime.jsx)(src.TP,{activeKey:activeSideBarTab,onChange:tab=>setSideBarTab(tab),tabs:tabs})}},"./frontend/src/queries/nodes/DataVisualization/Components/Table.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{i:()=>Table});var _posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),kea__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),lib_hog__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/hog.ts"),lib_utils__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/utils.tsx"),scenes_insights_EmptyStates__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/scenes/insights/EmptyStates/index.ts"),_layout_navigation_3000_themeLogic__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/layout/navigation-3000/themeLogic.ts"),_queries_schema__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/queries/schema.ts"),_DataNode_LoadNext__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/queries/nodes/DataNode/LoadNext.tsx"),_DataTable_renderColumn__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./frontend/src/queries/nodes/DataTable/renderColumn.tsx"),_DataTable_renderColumnMeta__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./frontend/src/queries/nodes/DataTable/renderColumnMeta.tsx"),_dataVisualizationLogic__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__("./frontend/src/queries/nodes/DataVisualization/dataVisualizationLogic.ts"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let Table=props=>{let{isDarkModeOn}=(0,kea__WEBPACK_IMPORTED_MODULE_1__.useValues)(_layout_navigation_3000_themeLogic__WEBPACK_IMPORTED_MODULE_5__.b),{tabularData,tabularColumns,conditionalFormattingRules,responseLoading,responseError,queryCancelled,response}=(0,kea__WEBPACK_IMPORTED_MODULE_1__.useValues)(_dataVisualizationLogic__WEBPACK_IMPORTED_MODULE_10__.H8),tableColumns=tabularColumns.map((_ref,index)=>{let{column,settings}=_ref,{title,...columnMeta}=(0,_DataTable_renderColumnMeta__WEBPACK_IMPORTED_MODULE_9__.a)(column.name,props.query,props.context);return{...columnMeta,title:settings?.display?.label||title||column.name,render:(_,data,recordIndex)=>(0,_DataTable_renderColumn__WEBPACK_IMPORTED_MODULE_8__.W)(column.name,data[index].formattedValue,data,recordIndex,{kind:_queries_schema__WEBPACK_IMPORTED_MODULE_6__.OH.DataTableNode,source:props.query.source}),style:(_,data)=>{let cf=conditionalFormattingRules.filter(n=>n.columnName===column.name).map(n=>{let res=(0,lib_hog__WEBPACK_IMPORTED_MODULE_2__.z)(n.bytecode,{globals:{value:data[index].value,input:(0,_dataVisualizationLogic__WEBPACK_IMPORTED_MODULE_10__.r2)(n.input,column.type.name)},functions:{},maxAsyncSteps:0});return{rule:n,result:res.result}}),conditionalFormattingMatches=cf.find(n=>!!n.result);if(conditionalFormattingMatches){var _conditionalFormattin;let ruleColor=conditionalFormattingMatches.rule.color,colorMode=null!==(_conditionalFormattin=conditionalFormattingMatches.rule.colorMode)&&void 0!==_conditionalFormattin?_conditionalFormattin:"light";return"dark"===colorMode&&isDarkModeOn||"light"===colorMode&&!isDarkModeOn?{backgroundColor:ruleColor}:"dark"!==colorMode||isDarkModeOn?{backgroundColor:(0,lib_utils__WEBPACK_IMPORTED_MODULE_3__._$)(ruleColor,-30)}:{backgroundColor:(0,lib_utils__WEBPACK_IMPORTED_MODULE_3__._$)(ruleColor,30)}}}}});return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("div",{className:"relative w-full flex flex-col gap-4 flex-1 h-full",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.g3,{dataSource:tabularData,columns:tableColumns,loading:responseLoading,emptyState:responseError?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(scenes_insights_EmptyStates__WEBPACK_IMPORTED_MODULE_4__.jC,{query:props.query,excludeDetail:!0,title:queryCancelled?"The query was cancelled":response&&"error"in response?response.error:responseError}):(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(scenes_insights_EmptyStates__WEBPACK_IMPORTED_MODULE_4__.dV,{heading:"There are no matching rows for this query",detail:""}),footer:tabularData.length>0?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(_DataNode_LoadNext__WEBPACK_IMPORTED_MODULE_7__.g,{query:props.query}):null,rowClassName:"DataVizRow"})})}},"./frontend/src/queries/nodes/DataVisualization/Components/TableDisplay.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{V:()=>TableDisplay});var _posthog_icons__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/@posthog+icons@0.9.2_react-dom@18.2.0_react@18.2.0/node_modules/@posthog/icons/dist/posthog-icons.es.js"),_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),kea__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),lib_lemon_ui_icons__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/lemon-ui/icons/index.ts"),_types__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/types.ts"),_dataVisualizationLogic__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/queries/nodes/DataVisualization/dataVisualizationLogic.ts"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let TableDisplay=()=>{let{setVisualizationType}=(0,kea__WEBPACK_IMPORTED_MODULE_2__.useActions)(_dataVisualizationLogic__WEBPACK_IMPORTED_MODULE_5__.H8),{visualizationType}=(0,kea__WEBPACK_IMPORTED_MODULE_2__.useValues)(_dataVisualizationLogic__WEBPACK_IMPORTED_MODULE_5__.H8),options=[{title:"Table",options:[{value:_types__WEBPACK_IMPORTED_MODULE_4__.Qb.ActionsTable,icon:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(lib_lemon_ui_icons__WEBPACK_IMPORTED_MODULE_3__.p$,{}),label:"Table"},{value:_types__WEBPACK_IMPORTED_MODULE_4__.Qb.BoldNumber,icon:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(lib_lemon_ui_icons__WEBPACK_IMPORTED_MODULE_3__.hQ,{}),label:"Big Number"}]},{title:"Charts",options:[{value:_types__WEBPACK_IMPORTED_MODULE_4__.Qb.ActionsLineGraph,icon:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(_posthog_icons__WEBPACK_IMPORTED_MODULE_0__.IconTrends,{}),label:"Line chart"},{value:_types__WEBPACK_IMPORTED_MODULE_4__.Qb.ActionsBar,icon:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(_posthog_icons__WEBPACK_IMPORTED_MODULE_0__.IconGraph,{}),label:"Bar chart"},{value:_types__WEBPACK_IMPORTED_MODULE_4__.Qb.ActionsStackedBar,icon:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(_posthog_icons__WEBPACK_IMPORTED_MODULE_0__.IconLifecycle,{}),label:"Stacked bar chart"},{value:_types__WEBPACK_IMPORTED_MODULE_4__.Qb.ActionsAreaGraph,icon:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(lib_lemon_ui_icons__WEBPACK_IMPORTED_MODULE_3__.Ii,{}),label:"Area chart"}]}];return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__.Yv,{value:visualizationType,onChange:value=>{setVisualizationType(value)},dropdownPlacement:"bottom-end",optionTooltipPlacement:"left",dropdownMatchSelectWidth:!1,"data-attr":"chart-filter",options:options})}},"./frontend/src/queries/nodes/DataVisualization/Components/Variables/AddVariableButton.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{u:()=>AddVariableButton});var _posthog_icons__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/@posthog+icons@0.9.2_react-dom@18.2.0_react@18.2.0/node_modules/@posthog/icons/dist/posthog-icons.es.js"),_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),kea__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),lib_constants__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/constants.tsx"),lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),_dataVisualizationLogic__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/queries/nodes/DataVisualization/dataVisualizationLogic.ts"),_NewVariableModal__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/queries/nodes/DataVisualization/Components/Variables/NewVariableModal.tsx"),_variableModalLogic__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/queries/nodes/DataVisualization/Components/Variables/variableModalLogic.ts"),_variablesLogic__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./frontend/src/queries/nodes/DataVisualization/Components/Variables/variablesLogic.ts"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let AddVariableButton=()=>{let{showEditingUI}=(0,kea__WEBPACK_IMPORTED_MODULE_2__.useValues)(_dataVisualizationLogic__WEBPACK_IMPORTED_MODULE_5__.H8),{featureFlags}=(0,kea__WEBPACK_IMPORTED_MODULE_2__.useValues)(lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_4__.h),{openNewVariableModal}=(0,kea__WEBPACK_IMPORTED_MODULE_2__.useActions)(_variableModalLogic__WEBPACK_IMPORTED_MODULE_7__.b),{variables,variablesLoading}=(0,kea__WEBPACK_IMPORTED_MODULE_2__.useValues)(_variablesLogic__WEBPACK_IMPORTED_MODULE_8__.Q),{addVariable}=(0,kea__WEBPACK_IMPORTED_MODULE_2__.useActions)(_variablesLogic__WEBPACK_IMPORTED_MODULE_8__.Q);return featureFlags[lib_constants__WEBPACK_IMPORTED_MODULE_3__.y8.INSIGHT_VARIABLES]&&showEditingUI?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.Fragment,{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__.d6,{items:[{title:"New variable",items:[{label:"String",onClick:()=>openNewVariableModal("String")},{label:"Number",onClick:()=>openNewVariableModal("Number")},{label:"Boolean",onClick:()=>openNewVariableModal("Boolean")},{label:"List",onClick:()=>openNewVariableModal("List")}]},{label:"Existing variable",items:variablesLoading?[{label:"Loading...",onClick:()=>{}}]:variables.map(n=>({label:n.name,onClick:()=>addVariable({variableId:n.id,code_name:n.code_name})}))}],children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__.Jp,{type:"secondary",sideIcon:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_posthog_icons__WEBPACK_IMPORTED_MODULE_0__.IconPlus,{}),children:"Add variable"})}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_NewVariableModal__WEBPACK_IMPORTED_MODULE_6__.f,{})]}):(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.Fragment,{})}},"./frontend/src/queries/nodes/DataVisualization/Components/Variables/NewVariableModal.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{f:()=>NewVariableModal});var _posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),kea__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),lib_lemon_ui_LemonField__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonField/index.ts"),_variableModalLogic__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/queries/nodes/DataVisualization/Components/Variables/variableModalLogic.ts"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let renderVariableSpecificFields=(variable,updateVariable)=>{if("String"===variable.type)return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(lib_lemon_ui_LemonField__WEBPACK_IMPORTED_MODULE_2__.D.Pure,{label:"Default value",className:"gap-1",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.DF,{placeholder:"Default value",value:variable.default_value,onChange:value=>updateVariable({...variable,default_value:value})})});if("Number"===variable.type)return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(lib_lemon_ui_LemonField__WEBPACK_IMPORTED_MODULE_2__.D.Pure,{label:"Default value",className:"gap-1",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.DF,{placeholder:"Default value",type:"number",value:variable.default_value,onChange:value=>updateVariable({...variable,default_value:null!=value?value:0})})});if("Boolean"===variable.type)return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(lib_lemon_ui_LemonField__WEBPACK_IMPORTED_MODULE_2__.D.Pure,{label:"Default value",className:"gap-1",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.P4,{className:"w-full",value:variable.default_value?"true":"false",onChange:value=>updateVariable({...variable,default_value:"true"===value}),options:[{value:"true",label:"true"},{value:"false",label:"false"}]})});if("List"===variable.type)return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.Fragment,{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(lib_lemon_ui_LemonField__WEBPACK_IMPORTED_MODULE_2__.D.Pure,{label:"Values",className:"gap-1",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.nt,{value:variable.values,onChange:value=>updateVariable({...variable,values:value}),placeholder:"Options...",mode:"multiple",allowCustomValues:!0,options:[]})}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(lib_lemon_ui_LemonField__WEBPACK_IMPORTED_MODULE_2__.D.Pure,{label:"Default value",className:"gap-1",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.Yv,{className:"w-full",placeholder:"Select default value",value:variable.default_value,options:variable.values.map(n=>({label:n,value:n})),onChange:value=>updateVariable({...variable,default_value:null!=value?value:""}),allowClear:!0,dropdownMaxContentWidth:!0})})]});throw Error(`Unsupported variable type: ${variable.type}`)},NewVariableModal=()=>{let{closeModal,updateVariable,save}=(0,kea__WEBPACK_IMPORTED_MODULE_1__.useActions)(_variableModalLogic__WEBPACK_IMPORTED_MODULE_3__.b),{isModalOpen,variable,modalType}=(0,kea__WEBPACK_IMPORTED_MODULE_1__.useValues)(_variableModalLogic__WEBPACK_IMPORTED_MODULE_3__.b),title="new"===modalType?`New ${variable.type} variable`:`Editing ${variable.name}`;return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.fQ,{title:title,isOpen:isModalOpen,onClose:closeModal,maxWidth:"30rem",footer:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)("div",{className:"flex flex-1 justify-end gap-2",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.Jp,{type:"secondary",onClick:closeModal,children:"Close"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.Jp,{type:"primary",onClick:()=>save(),children:"Save"})]}),children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)("div",{className:"gap-4 flex flex-col",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(lib_lemon_ui_LemonField__WEBPACK_IMPORTED_MODULE_2__.D.Pure,{label:"Name",className:"gap-1",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.DF,{placeholder:"Name",value:variable.name,onChange:value=>updateVariable({...variable,name:value})})}),renderVariableSpecificFields(variable,updateVariable)]})})}},"./frontend/src/queries/nodes/DataVisualization/Components/Variables/Variables.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{B:()=>VariablesForDashboard,M:()=>VariablesForInsight});var injectStylesIntoStyleTag=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),injectStylesIntoStyleTag_default=__webpack_require__.n(injectStylesIntoStyleTag),Variables=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/queries/nodes/DataVisualization/Components/Variables/Variables.scss"),Variables_default=__webpack_require__.n(Variables),options={};options.insert="head",options.singleton=!1,injectStylesIntoStyleTag_default()(Variables_default(),options),Variables_default().locals;var posthog_icons_es=__webpack_require__("./node_modules/.pnpm/@posthog+icons@0.9.2_react-dom@18.2.0_react@18.2.0/node_modules/@posthog/icons/dist/posthog-icons.es.js"),src=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),index_esm=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),constants=__webpack_require__("./frontend/src/lib/constants.tsx"),LemonField=__webpack_require__("./frontend/src/lib/lemon-ui/LemonField/index.ts"),featureFlagLogic=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),copyToClipboard=__webpack_require__("./frontend/src/lib/utils/copyToClipboard.tsx"),react=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/index.js"),dashboardLogic=__webpack_require__("./frontend/src/scenes/dashboard/dashboardLogic.tsx"),dataNodeLogic=__webpack_require__("./frontend/src/queries/nodes/DataNode/dataNodeLogic.ts"),dataVisualizationLogic=__webpack_require__("./frontend/src/queries/nodes/DataVisualization/dataVisualizationLogic.ts"),NewVariableModal=__webpack_require__("./frontend/src/queries/nodes/DataVisualization/Components/Variables/NewVariableModal.tsx"),variableModalLogic=__webpack_require__("./frontend/src/queries/nodes/DataVisualization/Components/Variables/variableModalLogic.ts"),variablesLogic=__webpack_require__("./frontend/src/queries/nodes/DataVisualization/Components/Variables/variablesLogic.ts"),jsx_runtime=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let VariablesForDashboard=()=>{let{featureFlags}=(0,index_esm.useValues)(featureFlagLogic.h),{dashboardVariables}=(0,index_esm.useValues)(dashboardLogic.BM),{overrideVariableValue}=(0,index_esm.useActions)(dashboardLogic.BM);return featureFlags[constants.y8.INSIGHT_VARIABLES]&&dashboardVariables.length?(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:(0,jsx_runtime.jsx)("div",{className:"flex gap-4 flex-wrap px-px mt-4",children:dashboardVariables.map(n=>(0,jsx_runtime.jsx)(VariableComponent,{variable:n,showEditingUI:!1,onChange:overrideVariableValue,variableOverridesAreSet:!1},n.id))})}):(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{})},VariablesForInsight=()=>{let{featureFlags}=(0,index_esm.useValues)(featureFlagLogic.h),{variablesForInsight,showVariablesBar}=(0,index_esm.useValues)(variablesLogic.Q),{updateVariableValue,removeVariable}=(0,index_esm.useActions)(variablesLogic.Q),{showEditingUI}=(0,index_esm.useValues)(dataVisualizationLogic.H8),{variableOverridesAreSet}=(0,index_esm.useValues)(dataNodeLogic.M),{openExistingVariableModal}=(0,index_esm.useActions)(variableModalLogic.b);return featureFlags[constants.y8.INSIGHT_VARIABLES]&&variablesForInsight.length&&showVariablesBar?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)("div",{className:"flex gap-4 flex-wrap px-px",children:variablesForInsight.map(n=>(0,jsx_runtime.jsx)(VariableComponent,{variable:n,showEditingUI:showEditingUI,onChange:updateVariableValue,onRemove:removeVariable,variableOverridesAreSet:variableOverridesAreSet,variableSettingsOnClick:()=>openExistingVariableModal(n)},n.id))}),(0,jsx_runtime.jsx)(NewVariableModal.f,{})]}):(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{})},VariableInput=_ref=>{let{variable,showEditingUI,closePopover,onChange,onRemove,variableSettingsOnClick}=_ref,[localInputValue,setLocalInputValue]=(0,react.useState)(()=>{var _variable$value;let val=null!==(_variable$value=variable.value)&&void 0!==_variable$value?_variable$value:variable.default_value;return"Number"!==variable.type||val?null!=val?val:"":0}),inputRef=(0,react.useRef)(null),codeRef=(0,react.useRef)(null);(0,react.useEffect)(()=>{inputRef.current?.focus()},[inputRef.current]);let variableAsHogQL=`{variables.${variable.code_name}}`;return(0,jsx_runtime.jsxs)("div",{children:[(0,jsx_runtime.jsxs)("div",{className:"flex gap-1 p-1",children:["String"===variable.type&&(0,jsx_runtime.jsx)(src.DF,{inputRef:inputRef,placeholder:"Value...",className:"flex flex-1",value:localInputValue.toString(),onChange:value=>setLocalInputValue(value),onPressEnter:()=>{onChange(variable.id,localInputValue),closePopover()}}),"Number"===variable.type&&(0,jsx_runtime.jsx)(src.DF,{type:"number",inputRef:inputRef,placeholder:"Value...",className:"flex flex-1",value:Number(localInputValue),onChange:value=>setLocalInputValue(null!=value?value:0),onPressEnter:()=>{onChange(variable.id,localInputValue),closePopover()}}),"Boolean"===variable.type&&(0,jsx_runtime.jsx)(src.P4,{className:"grow",value:localInputValue?"true":"false",onChange:value=>setLocalInputValue("true"===value),options:[{value:"true",label:"true"},{value:"false",label:"false"}]}),"List"===variable.type&&(0,jsx_runtime.jsx)(src.Yv,{className:"grow",value:localInputValue,onChange:value=>setLocalInputValue(value),options:variable.values.map(n=>({label:n,value:n}))}),(0,jsx_runtime.jsx)(src.Jp,{type:"primary",onClick:()=>{onChange(variable.id,localInputValue),closePopover()},children:showEditingUI?"Save":"Update"})]}),showEditingUI&&(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(src.p2,{className:"m1"}),(0,jsx_runtime.jsxs)("div",{className:"flex p-1",children:[(0,jsx_runtime.jsx)("code",{ref:codeRef,onClick:()=>{if(window.getSelection&&codeRef.current){let selection=window.getSelection(),range=document.createRange();range.selectNodeContents(codeRef.current),selection&&(selection.removeAllRanges(),selection.addRange(range))}},className:"text-xs flex flex-1 items-center mr-2",children:variableAsHogQL}),(0,jsx_runtime.jsx)(src.Jp,{icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconCopy,{}),size:"xsmall",onClick:()=>void(0,copyToClipboard.v)(variableAsHogQL,"variable HogQL"),tooltip:"Copy HogQL"}),onRemove&&(0,jsx_runtime.jsx)(src.Jp,{onClick:()=>onRemove(variable.id),icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconTrash,{}),size:"xsmall",tooltip:"Remove variable from insight"}),variableSettingsOnClick&&(0,jsx_runtime.jsx)(src.Jp,{onClick:variableSettingsOnClick,icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconGear,{}),size:"xsmall",tooltip:"Open variable settings"})]})]})]})},VariableComponent=_ref2=>{var _variable$value$toStr,_variable$value2;let{variable,showEditingUI,onChange,variableOverridesAreSet,onRemove,variableSettingsOnClick}=_ref2,[isPopoverOpen,setPopoverOpen]=(0,react.useState)(!1);return showEditingUI||"List"!==variable.type?(0,jsx_runtime.jsx)(src.J2,{overlay:(0,jsx_runtime.jsx)(VariableInput,{variable:variable,showEditingUI:showEditingUI,onChange:onChange,closePopover:()=>setPopoverOpen(!1),onRemove:onRemove,variableSettingsOnClick:()=>{variableSettingsOnClick&&(setPopoverOpen(!1),variableSettingsOnClick())}}),visible:isPopoverOpen,onClickOutside:()=>setPopoverOpen(!1),className:"DataVizVariable_Popover",children:(0,jsx_runtime.jsx)("div",{children:(0,jsx_runtime.jsx)(LemonField.D.Pure,{label:variable.name,className:"gap-0",info:`Use this variable in your HogQL by referencing {variables.${variable.code_name}}`,children:(0,jsx_runtime.jsx)(src.Jp,{type:"secondary",className:"min-w-32 DataVizVariable_Button",onClick:()=>setPopoverOpen(!isPopoverOpen),disabledReason:variableOverridesAreSet&&"Discard dashboard variables to change",children:null!==(_variable$value$toStr=variable.value?.toString())&&void 0!==_variable$value$toStr?_variable$value$toStr:variable.default_value?.toString()})})})},variable.id):(0,jsx_runtime.jsx)(src.Yv,{value:null!==(_variable$value2=variable.value)&&void 0!==_variable$value2?_variable$value2:variable.default_value,onChange:value=>onChange(variable.id,value),options:variable.values.map(n=>({label:n,value:n}))})}},"./frontend/src/queries/nodes/DataVisualization/Components/Variables/variableDataLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{p:()=>variableDataLogic});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_loaders__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea-loaders@3.0.0_kea@3.1.5/node_modules/kea-loaders/lib/index.js"),lib_api__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/api.ts");let variableDataLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(["queries","nodes","DataVisualization","Components","Variables","variableDataLogic"]),(0,kea_loaders__WEBPACK_IMPORTED_MODULE_1__.loaders)({variables:[[],{getVariables:async()=>{let insights=await lib_api__WEBPACK_IMPORTED_MODULE_2__.ZP.insightVariables.list();return insights.results}}]})])},"./frontend/src/queries/nodes/DataVisualization/Components/Variables/variableModalLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{b:()=>variableModalLogic});var _posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),kea__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),lib_api__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/api.ts"),_variableDataLogic__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/queries/nodes/DataVisualization/Components/Variables/variableDataLogic.ts"),_variablesLogic__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/queries/nodes/DataVisualization/Components/Variables/variablesLogic.ts");let DEFAULT_VARIABLE={id:"",type:"String",name:"",default_value:"",code_name:""},variableModalLogic=(0,kea__WEBPACK_IMPORTED_MODULE_1__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_1__.path)(["queries","nodes","DataVisualization","Components","Variables","variableLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_1__.props)({key:""}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.key)(props=>props.key),(0,kea__WEBPACK_IMPORTED_MODULE_1__.connect)({actions:[_variableDataLogic__WEBPACK_IMPORTED_MODULE_3__.p,["getVariables"],_variablesLogic__WEBPACK_IMPORTED_MODULE_4__.Q,["addVariable"]]}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.actions)({openNewVariableModal:variableType=>({variableType}),openExistingVariableModal:variable=>({variable}),closeModal:!0,updateVariable:variable=>({variable}),save:!0}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.reducers)({modalType:["new",{openNewVariableModal:()=>"new",openExistingVariableModal:()=>"existing"}],variableType:["string",{openNewVariableModal:(_,_ref)=>{let{variableType}=_ref;return variableType},openExistingVariableModal:(_,_ref2)=>{let{variable}=_ref2;return variable.type}}],isModalOpen:[!1,{openNewVariableModal:()=>!0,openExistingVariableModal:()=>!0,closeModal:()=>!1}],variable:[DEFAULT_VARIABLE,{openExistingVariableModal:(_,_ref3)=>{let{variable}=_ref3;return{...variable}},openNewVariableModal:(_,_ref4)=>{let{variableType}=_ref4;if("String"===variableType)return{id:"",type:"String",name:"",default_value:"",code_name:""};if("Number"===variableType)return{id:"",type:"Number",name:"",default_value:0,code_name:""};if("Boolean"===variableType)return{id:"",type:"Boolean",name:"",default_value:!1,code_name:""};if("List"===variableType)return{id:"",type:"List",name:"",values:[],default_value:"",code_name:""};throw Error(`Unsupported variable type ${variableType}`)},updateVariable:(state,_ref5)=>{let{variable}=_ref5;return{...state,...variable}},closeModal:()=>DEFAULT_VARIABLE}]}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.listeners)(_ref6=>{let{values,actions}=_ref6;return{save:async()=>{try{if("new"===values.modalType){let variable=await lib_api__WEBPACK_IMPORTED_MODULE_2__.ZP.insightVariables.create(values.variable);actions.addVariable({variableId:variable.id,code_name:variable.code_name})}else await lib_api__WEBPACK_IMPORTED_MODULE_2__.ZP.insightVariables.update(values.variable.id,values.variable);actions.getVariables(),actions.closeModal()}catch(e){var _error$detail;_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.error(null!==(_error$detail=e.detail)&&void 0!==_error$detail?_error$detail:e.message)}}}})])},"./frontend/src/queries/nodes/DataVisualization/Components/Variables/variablesLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Q:()=>variablesLogic});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_subscriptions__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea-subscriptions@3.0.1_kea@3.1.5/node_modules/kea-subscriptions/lib/index.js"),lib_constants__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/constants.tsx"),lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),scenes_insights_utils_queryUtils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/scenes/insights/utils/queryUtils.ts"),_dataVisualizationLogic__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/queries/nodes/DataVisualization/dataVisualizationLogic.ts"),_variableDataLogic__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/queries/nodes/DataVisualization/Components/Variables/variableDataLogic.ts");let convertValueToCorrectType=(value,type)=>"Number"===type?Number(value):"Boolean"===type&&"string"==typeof value?"true"===value.toLowerCase():value,variablesLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(["queries","nodes","DataVisualization","Components","Variables","variablesLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.props)({key:""}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.key)(props=>props.key),(0,kea__WEBPACK_IMPORTED_MODULE_0__.connect)({actions:[_dataVisualizationLogic__WEBPACK_IMPORTED_MODULE_5__.H8,["setQuery","loadData"],_variableDataLogic__WEBPACK_IMPORTED_MODULE_6__.p,["getVariables"]],values:[_dataVisualizationLogic__WEBPACK_IMPORTED_MODULE_5__.H8,["query"],_variableDataLogic__WEBPACK_IMPORTED_MODULE_6__.p,["variables","variablesLoading"],lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_3__.h,["featureFlags"]]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)(_ref=>{let{values}=_ref;return{addVariable:variable=>({variable}),addVariables:variables=>({variables}),removeVariable:variableId=>({variableId}),updateVariableValue:(variableId,value)=>({variableId,value,allVariables:values.variables}),setEditorQuery:query=>({query}),updateSourceQuery:!0}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.propsChanged)((_ref2,oldProps)=>{let{props,actions}=_ref2;if(oldProps.queryInput!==props.queryInput){var _props$queryInput;actions.setEditorQuery(null!==(_props$queryInput=props.queryInput)&&void 0!==_props$queryInput?_props$queryInput:"")}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)({internalSelectedVariables:[[],{addVariable:(state,_ref3)=>{let{variable}=_ref3;return state.find(n=>variable.variableId===n.variableId)?state:[...state,{...variable}]},addVariables:(_state,_ref4)=>{let{variables}=_ref4;return[...variables.map(n=>({...n}))]},updateVariableValue:(state,_ref5)=>{let{variableId,value,allVariables}=_ref5,variableIndex=state.findIndex(n=>n.variableId===variableId);if(variableIndex<0)return state;let variableType=allVariables.find(n=>n.id===variableId)?.type,valueWithType=convertValueToCorrectType(value,null!=variableType?variableType:"String"),variablesInState=[...state];return variablesInState[variableIndex]={...variablesInState[variableIndex],value:valueWithType},variablesInState},removeVariable:(state,_ref6)=>{let{variableId}=_ref6,stateCopy=[...state],index=stateCopy.findIndex(n=>n.variableId===variableId);return index>=0&&stateCopy.splice(index,1),stateCopy}}],editorQuery:["",{setEditorQuery:(_,_ref7)=>{let{query}=_ref7;return query},setQuery:(_,_ref8)=>{let{node}=_ref8;return node.source.query}}]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.selectors)({variablesForInsight:[s=>[s.variables,s.internalSelectedVariables],(variables,internalSelectedVariables)=>variables.length&&internalSelectedVariables.length?internalSelectedVariables.map(_ref9=>{let{variableId,value}=_ref9,v=variables.find(n=>n.id===variableId);if(v)return{...v,value}}).filter(n=>!!n):[]],showVariablesBar:[()=>[(_,props)=>props.dashboardId],dashboardId=>!dashboardId]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.listeners)(_ref10=>{let{props,values,actions}=_ref10;return{addVariable:()=>{actions.updateSourceQuery()},removeVariable:()=>{actions.updateSourceQuery()},updateVariableValue:()=>{actions.updateSourceQuery()},updateSourceQuery:()=>{if(!values.featureFlags[lib_constants__WEBPACK_IMPORTED_MODULE_2__.y8.INSIGHT_VARIABLES])return;let variables=values.internalSelectedVariables,query={...values.query,source:{...values.query.source,variables:variables.reduce((acc,cur)=>(cur.variableId&&(acc[cur.variableId]={variableId:cur.variableId,value:cur.value,code_name:cur.code_name}),acc),{})}},queryVarsHaveChanged=(0,scenes_insights_utils_queryUtils__WEBPACK_IMPORTED_MODULE_4__.dm)(query.source,values.query.source);queryVarsHaveChanged&&(actions.setQuery(query),props.readOnly&&actions.loadData(!0,void 0,query.source))}}}),(0,kea_subscriptions__WEBPACK_IMPORTED_MODULE_1__.Vt)(_ref11=>{let{actions,values}=_ref11;return{editorQuery:query=>{let queryVariableMatches=(0,scenes_insights_utils_queryUtils__WEBPACK_IMPORTED_MODULE_4__.Zg)(query);queryVariableMatches?.forEach(match=>{if(null===match)return;let variableExists=values.variables.find(n=>n.code_name===match);if(!variableExists)return;let variableAlreadySelected=values.internalSelectedVariables.find(n=>n.code_name===match);variableAlreadySelected||actions.addVariable({variableId:variableExists.id,code_name:variableExists.code_name})})},query:query=>{var _query$source$variabl;if(!values.featureFlags[lib_constants__WEBPACK_IMPORTED_MODULE_2__.y8.INSIGHT_VARIABLES])return;let variables=Object.values(null!==(_query$source$variabl=query.source.variables)&&void 0!==_query$source$variabl?_query$source$variabl:{});variables.length&&actions.addVariables(variables)}}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.afterMount)(_ref12=>{let{actions,values}=_ref12;values.featureFlags[lib_constants__WEBPACK_IMPORTED_MODULE_2__.y8.INSIGHT_VARIABLES]&&actions.getVariables()})])},"./frontend/src/queries/nodes/DataVisualization/Components/seriesBreakdownLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{h:()=>seriesBreakdownLogic});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_subscriptions__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea-subscriptions@3.0.1_kea@3.1.5/node_modules/kea-subscriptions/lib/index.js"),_dataVisualizationLogic__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/queries/nodes/DataVisualization/dataVisualizationLogic.ts");let EmptyBreakdownSeries={xData:{column:{name:"None",type:{name:"INTEGER",isNumerical:!1},label:"None",dataIndex:-1},data:[]},seriesData:[]},createEmptyBreakdownSeriesWithError=error=>({...EmptyBreakdownSeries,error}),seriesBreakdownLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(["queries","nodes","DataVisualization","Components","seriesBreakdownLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.key)(props=>props.key),(0,kea__WEBPACK_IMPORTED_MODULE_0__.props)({key:""}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.connect)({actions:[_dataVisualizationLogic__WEBPACK_IMPORTED_MODULE_2__.H8,["clearAxis","setQuery"]],values:[_dataVisualizationLogic__WEBPACK_IMPORTED_MODULE_2__.H8,["query","response","columns","selectedXAxis","selectedYAxis"]]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)(_ref=>{let{values}=_ref;return{addSeriesBreakdown:columnName=>({columnName,response:values.response}),deleteSeriesBreakdown:()=>({})}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)(_ref2=>{var _values$query$chartSe;let{values}=_ref2;return{showSeriesBreakdown:[!1,{clearAxis:()=>!1,addSeriesBreakdown:()=>!0,deleteSeriesBreakdown:()=>!1}],selectedSeriesBreakdownColumn:[null!==(_values$query$chartSe=values.query?.chartSettings?.seriesBreakdownColumn)&&void 0!==_values$query$chartSe?_values$query$chartSe:null,{clearAxis:()=>null,addSeriesBreakdown:(_,_ref3)=>{let{columnName}=_ref3;return columnName},deleteSeriesBreakdown:()=>null}]}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.selectors)({breakdownColumnValues:[state=>[state.selectedSeriesBreakdownColumn,state.response,state.columns],(breakdownColumn,response,columns)=>{var _ref4,_response$results;if(!response||null===breakdownColumn)return[];let data=null!==(_ref4=null!==(_response$results=response?.results)&&void 0!==_response$results?_response$results:response?.result)&&void 0!==_ref4?_ref4:[],column=columns.find(n=>n.name===breakdownColumn);return column?Array.from(new Set(data.map(n=>n[column.dataIndex]))):[]}],seriesBreakdownData:[state=>[state.selectedSeriesBreakdownColumn,state.breakdownColumnValues,state.selectedYAxis,state.selectedXAxis,state.response,state.columns],(selectedBreakdownColumn,breakdownColumnValues,ySeries,xSeries,response,columns)=>{var _ref5,_response$results2;if(!response||!selectedBreakdownColumn||null===ySeries||0===ySeries.length||null===xSeries||null===columns||0===columns.length||ySeries.length>1)return EmptyBreakdownSeries;let selectedYAxis=ySeries[0];if(!selectedYAxis)return EmptyBreakdownSeries;let yColumn=columns.find(n=>n.name===selectedYAxis.name);if(!yColumn)return EmptyBreakdownSeries;let xColumn=columns.find(n=>n.name===xSeries);if(!xColumn)return EmptyBreakdownSeries;let breakdownColumn=columns.find(n=>n.name===selectedBreakdownColumn);if(!breakdownColumn)return EmptyBreakdownSeries;if(breakdownColumnValues.length>50)return createEmptyBreakdownSeriesWithError("Too many breakdown values (max 50)");let data=null!==(_ref5=null!==(_response$results2=response?.results)&&void 0!==_response$results2?_response$results2:response?.result)&&void 0!==_ref5?_ref5:[],xData=Array.from(new Set(data.map(n=>n[xColumn.dataIndex]))),isUnaggregated=!1,seriesData=breakdownColumnValues.map(value=>{let filteredData=data.filter(n=>n[breakdownColumn.dataIndex]===value);if(0===filteredData.length)return{name:value,data:[]};if(!isUnaggregated){let xColumnValues=filteredData.map(n=>n[xColumn.dataIndex]),xColumnValuesSet=new Set(xColumnValues);xColumnValues.length!==xColumnValuesSet.size&&(isUnaggregated=!0)}let dataset=xData.map(xValue=>{let yValue=filteredData.filter(n=>n[xColumn.dataIndex]===xValue).map(n=>{try{let value=n[yColumn.dataIndex],multiplier=selectedYAxis.settings.formatting?.style==="percent"?100:1;if(selectedYAxis.settings.formatting?.decimalPlaces)return parseFloat((parseFloat(value)*multiplier).toFixed(selectedYAxis.settings.formatting.decimalPlaces));let isInt=Number.isInteger(value);return isInt?parseInt(value)*multiplier:parseFloat(value)*multiplier}catch{return 0}}).reduce((a,b)=>a+b,0);return yValue});return{name:value||"[No value]",data:dataset,settings:{formatting:selectedYAxis.settings.formatting,display:{yAxisPosition:selectedYAxis.settings?.display?.yAxisPosition,displayType:selectedYAxis.settings?.display?.displayType}}}});return{xData:{column:xColumn,data:xData},seriesData,isUnaggregated}}]}),(0,kea_subscriptions__WEBPACK_IMPORTED_MODULE_1__.Vt)(_ref6=>{let{values,actions}=_ref6;return{selectedSeriesBreakdownColumn:value=>{var _values$query$chartSe2;actions.setQuery({...values.query,chartSettings:{...null!==(_values$query$chartSe2=values.query.chartSettings)&&void 0!==_values$query$chartSe2?_values$query$chartSe2:{},seriesBreakdownColumn:value}})}}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.afterMount)(_ref7=>{let{values,actions}=_ref7;values.query?.chartSettings?.seriesBreakdownColumn&&actions.addSeriesBreakdown(values.query.chartSettings.seriesBreakdownColumn)})])},"./frontend/src/queries/nodes/DataVisualization/dataVisualizationLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{B8:()=>SideBarTab,FB:()=>formatDataWithSettings,H8:()=>dataVisualizationLogic,pf:()=>EmptyYAxisSeries,r2:()=>convertTableValue});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_subscriptions__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea-subscriptions@3.0.1_kea@3.1.5/node_modules/kea-subscriptions/lib/index.js"),lib_dayjs__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/dayjs.ts"),lib_utils__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/utils.tsx"),lodash_merge__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/.pnpm/lodash.merge@4.6.2/node_modules/lodash.merge/index.js"),lodash_merge__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(lodash_merge__WEBPACK_IMPORTED_MODULE_4__),scenes_teamLogic__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/scenes/teamLogic.tsx"),_layout_navigation_3000_themeLogic__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/layout/navigation-3000/themeLogic.ts"),_types__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/types.ts"),_DataNode_dataNodeLogic__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./frontend/src/queries/nodes/DataNode/dataNodeLogic.ts"),_DataTable_queryFeatures__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./frontend/src/queries/nodes/DataTable/queryFeatures.ts"),_types__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__("./frontend/src/queries/nodes/DataVisualization/types.ts");let SideBarTab=function(SideBarTab){return SideBarTab.Series="series",SideBarTab.Display="display",SideBarTab.ConditionalFormatting="conditional_formatting",SideBarTab}({}),EmptyYAxisSeries={column:{name:"None",type:{name:"INTEGER",isNumerical:!1},label:"None",dataIndex:-1},data:[]},DefaultAxisSettings=()=>({formatting:{prefix:"",suffix:""}}),formatDataWithSettings=(data,settings)=>{if(null===data||Number.isNaN(data))return null;if("object"==typeof data)return data;let decimalPlaces=settings?.formatting?.decimalPlaces,dataAsString=`${data}`;return"number"==typeof data&&(dataAsString=`${decimalPlaces?data.toFixed(decimalPlaces):data}`,settings?.formatting?.style==="number"&&(dataAsString=data.toLocaleString(void 0,{maximumFractionDigits:decimalPlaces})),settings?.formatting?.style==="percent"&&(dataAsString=`${data.toLocaleString(void 0,{maximumFractionDigits:decimalPlaces})}%`)),settings?.formatting?.prefix&&(dataAsString=`${settings.formatting.prefix}${dataAsString}`),settings?.formatting?.suffix&&(dataAsString=`${dataAsString}${settings.formatting.suffix}`),dataAsString},convertTableValue=(value,type)=>null==value?null:"STRING"===type?value.toString():"INTEGER"===type?"number"==typeof value?value:parseInt(value):"FLOAT"===type||"DECIMAL"===type?"number"==typeof value?value:parseFloat(value):"BOOLEAN"===type?!!value:"DATE"===type||"DATETIME"===type?(0,lib_dayjs__WEBPACK_IMPORTED_MODULE_2__.Bv)(value).unix():value,toFriendlyClickhouseTypeName=type=>-1!==type.indexOf("Tuple")?"TUPLE":-1!==type.indexOf("Int")?"INTEGER":-1!==type.indexOf("Float")?"FLOAT":-1!==type.indexOf("DateTime")?"DATETIME":-1!==type.indexOf("Date")?"DATE":-1!==type.indexOf("Boolean")?"BOOLEAN":-1!==type.indexOf("Decimal")?"DECIMAL":-1!==type.indexOf("String")?"STRING":type,isNumericalType=type=>"INTEGER"===type||"FLOAT"===type||"DECIMAL"===type,dataVisualizationLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.key)(props=>props.key),(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(["queries","nodes","DataVisualization","dataVisualizationLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.connect)(props=>({values:[scenes_teamLogic__WEBPACK_IMPORTED_MODULE_5__.H,["currentTeamId"],(0,_DataNode_dataNodeLogic__WEBPACK_IMPORTED_MODULE_8__.M)({cachedResults:props.cachedResults,key:props.key,query:props.query.source,dataNodeCollectionId:props.dataNodeCollectionId,loadPriority:props.loadPriority,variablesOverride:props.variablesOverride}),["response","responseLoading","responseError","queryCancelled"],_layout_navigation_3000_themeLogic__WEBPACK_IMPORTED_MODULE_6__.b,["isDarkModeOn"]],actions:[(0,_DataNode_dataNodeLogic__WEBPACK_IMPORTED_MODULE_8__.M)({cachedResults:props.cachedResults,key:props.key,query:props.query.source,dataNodeCollectionId:props.dataNodeCollectionId,loadPriority:props.loadPriority,variablesOverride:props.variablesOverride}),["loadData"]]})),(0,kea__WEBPACK_IMPORTED_MODULE_0__.propsChanged)((_ref,oldProps)=>{let{actions,props}=_ref;props.query&&!(0,lib_utils__WEBPACK_IMPORTED_MODULE_3__.h0)(props.query,oldProps.query)&&actions._setQuery(props.query)}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.props)({query:{source:{}}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)(_ref2=>{let{values}=_ref2;return{setVisualizationType:visualizationType=>({visualizationType}),updateXSeries:columnName=>({columnName}),updateSeriesIndex:(seriesIndex,columnName,settings)=>({seriesIndex,columnName,settings}),updateSeries:(columnName,settings)=>({columnName,settings}),addYSeries:(columnName,settings)=>({columnName,settings,allNumericalColumns:values.numericalColumns}),addSeries:(columnName,settings)=>({columnName,settings,allColumns:values.columns}),deleteYSeries:seriesIndex=>({seriesIndex}),clearAxis:!0,setQuery:node=>({node}),updateChartSettings:settings=>({settings}),setSideBarTab:tab=>({tab}),toggleChartSettingsPanel:open1=>({open:open1}),addConditionalFormattingRule:rule=>({rule:null!=rule?rule:{id:(0,lib_utils__WEBPACK_IMPORTED_MODULE_3__.Vj)()},isDarkModeOn:values.isDarkModeOn}),updateConditionalFormattingRule:(rule,deleteRule)=>({rule,deleteRule,colorMode:values.isDarkModeOn?"dark":"light"}),setConditionalFormattingRulesPanelActiveKeys:keys=>({keys}),_setQuery:node=>({node})}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)(_ref3=>{var _props$query$chartSet;let{props}=_ref3;return{query:[props.query,{setQuery:(_,_ref4)=>{let{node}=_ref4;return node},_setQuery:(_,_ref5)=>{let{node}=_ref5;return node}}],visualizationType:[_types__WEBPACK_IMPORTED_MODULE_7__.Qb.ActionsTable,{setVisualizationType:(_,_ref6)=>{let{visualizationType}=_ref6;return visualizationType}}],tabularColumnSettings:[null,{clearAxis:()=>null,addSeries:(state,_ref7)=>{let{columnName,settings,allColumns}=_ref7;if(!state&&void 0!==columnName)return[{name:columnName,settings:null!=settings?settings:DefaultAxisSettings()}];if(!state)return[null];if(!columnName){let ungraphedColumns=allColumns.filter(n=>!state.map(m=>m?.name).includes(n.name));if(ungraphedColumns.length>0)return[...state,{name:ungraphedColumns[0].name,settings:null!=settings?settings:DefaultAxisSettings()}]}return[...state,void 0===columnName?null:{name:columnName,settings:null!=settings?settings:DefaultAxisSettings()}]},updateSeries:(state,_ref8)=>{var _ySeries$index$settin;let{columnName,settings}=_ref8;if(!state)return null;let ySeries=[...state],index=ySeries.findIndex(n=>n?.name===columnName);return index<0||(ySeries[index]={name:columnName,settings:lodash_merge__WEBPACK_IMPORTED_MODULE_4___default()(null!==(_ySeries$index$settin=ySeries[index]?.settings)&&void 0!==_ySeries$index$settin?_ySeries$index$settin:{},settings)}),ySeries},updateSeriesIndex:(state,_ref9)=>{var _ySeries$seriesIndex$;let{seriesIndex,columnName,settings}=_ref9;if(!state)return null;let ySeries=[...state];return ySeries[seriesIndex]={name:columnName,settings:lodash_merge__WEBPACK_IMPORTED_MODULE_4___default()(null!==(_ySeries$seriesIndex$=ySeries[seriesIndex]?.settings)&&void 0!==_ySeries$seriesIndex$?_ySeries$seriesIndex$:{},settings)},ySeries}}],selectedXAxis:[null,{clearAxis:()=>null,updateXSeries:(_,_ref10)=>{let{columnName}=_ref10;return columnName}}],selectedYAxis:[null,{clearAxis:()=>null,addYSeries:(state,_ref11)=>{let{columnName,settings,allNumericalColumns}=_ref11;if(!state&&void 0!==columnName)return[{name:columnName,settings:null!=settings?settings:DefaultAxisSettings()}];if(!state)return[null];if(!columnName){let ungraphedColumns=allNumericalColumns.filter(n=>!state.map(m=>m?.name).includes(n.name));if(ungraphedColumns.length>0)return[...state,{name:ungraphedColumns[0].name,settings:null!=settings?settings:DefaultAxisSettings()}]}return[...state,void 0===columnName?null:{name:columnName,settings:null!=settings?settings:DefaultAxisSettings()}]},updateSeriesIndex:(state,_ref12)=>{var _ySeries$seriesIndex$2;let{seriesIndex,columnName,settings}=_ref12;if(!state)return null;let ySeries=[...state];return ySeries[seriesIndex]={name:columnName,settings:lodash_merge__WEBPACK_IMPORTED_MODULE_4___default()(null!==(_ySeries$seriesIndex$2=ySeries[seriesIndex]?.settings)&&void 0!==_ySeries$seriesIndex$2?_ySeries$seriesIndex$2:{},settings)},ySeries},updateSeries:(state,_ref13)=>{var _ySeries$index$settin2;let{columnName,settings}=_ref13;if(!state)return null;let ySeries=[...state],index=ySeries.findIndex(n=>n?.name===columnName);return index<0||(ySeries[index]={name:columnName,settings:lodash_merge__WEBPACK_IMPORTED_MODULE_4___default()(null!==(_ySeries$index$settin2=ySeries[index]?.settings)&&void 0!==_ySeries$index$settin2?_ySeries$index$settin2:{},settings)}),ySeries},deleteYSeries:(state,_ref14)=>{let{seriesIndex}=_ref14;if(!state)return null;if(state.length<=1)return[null];let ySeries=[...state];return ySeries.splice(seriesIndex,1),ySeries}}],activeSideBarTab:[SideBarTab.Series,{setSideBarTab:(_state,_ref15)=>{let{tab}=_ref15;return tab}}],chartSettings:[null!==(_props$query$chartSet=props.query.chartSettings)&&void 0!==_props$query$chartSet?_props$query$chartSet:{},{updateChartSettings:(state,_ref16)=>{let{settings}=_ref16;return{...lodash_merge__WEBPACK_IMPORTED_MODULE_4___default()(state,settings)}},setQuery:(state,_ref17)=>{var _node$chartSettings;let{node}=_ref17;return{...lodash_merge__WEBPACK_IMPORTED_MODULE_4___default()(state,null!==(_node$chartSettings=node.chartSettings)&&void 0!==_node$chartSettings?_node$chartSettings:{})}}}],isChartSettingsPanelOpen:[!1,{toggleChartSettingsPanel:(state,_ref18)=>{let{open:open1}=_ref18;return void 0===open1?!state:open1},setVisualizationType:(state,_ref19)=>{let{visualizationType}=_ref19;return!!state||visualizationType!==_types__WEBPACK_IMPORTED_MODULE_7__.Qb.ActionsTable}}],conditionalFormattingRules:[[],{addConditionalFormattingRule:(state,_ref20)=>{let{rule,isDarkModeOn}=_ref20,rules=[...state];return rules.push({templateId:_types__WEBPACK_IMPORTED_MODULE_10__.p[0].id,columnName:"",bytecode:[],input:"",color:isDarkModeOn?(0,lib_utils__WEBPACK_IMPORTED_MODULE_3__.fc)((0,lib_utils__WEBPACK_IMPORTED_MODULE_3__._$)("#FFADAD",-30)):"#FFADAD",...rule}),rules},updateConditionalFormattingRule:(state,_ref21)=>{let{rule,deleteRule,colorMode}=_ref21,rules=[...state],index=rules.findIndex(n=>n.id===rule.id);return -1===index||(deleteRule?rules.splice(index,1):rules[index]={...rule,colorMode:colorMode}),rules}}],conditionalFormattingRulesPanelActiveKeys:[[],{addConditionalFormattingRule:(state,_ref22)=>{let{rule:{id}}=_ref22;return[...state,id]},setConditionalFormattingRulesPanelActiveKeys:(_,_ref23)=>{let{keys}=_ref23;return[...keys]}}]}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.selectors)({columns:[s=>[s.response],response=>{var _response$columns,_response$types;if(!response)return[];let columns=null!==(_response$columns=response.columns)&&void 0!==_response$columns?_response$columns:[],types=null!==(_response$types=response.types)&&void 0!==_response$types?_response$types:[];return columns.map((column,index)=>{let type=types[index]?.[1],friendlyClickhouseTypeName=toFriendlyClickhouseTypeName(type);return{name:column,type:{name:friendlyClickhouseTypeName,isNumerical:isNumericalType(friendlyClickhouseTypeName)},label:`${column} - ${type}`,dataIndex:index}})}],numericalColumns:[s=>[s.columns],columns=>columns.filter(n=>n.type.isNumerical)],dashboardId:[()=>[(_,props)=>props.dashboardId],dashboardId=>null!=dashboardId?dashboardId:null],showEditingUI:[(state,props)=>[props.insightMode,state.dashboardId],(insightMode,dashboardId)=>!dashboardId&&insightMode==_types__WEBPACK_IMPORTED_MODULE_7__.LO.Edit],showResultControls:[(state,props)=>[props.insightMode,state.dashboardId],(insightMode,dashboardId)=>insightMode===_types__WEBPACK_IMPORTED_MODULE_7__.LO.Edit||!dashboardId],presetChartHeight:[(state,props)=>[props.key,state.dashboardId],(key,dashboardId)=>!key.includes("new-SQL")&&!dashboardId],sourceFeatures:[(_,props)=>[props.query],query=>(0,_DataTable_queryFeatures__WEBPACK_IMPORTED_MODULE_9__.r)(query.source)],isShowingCachedResults:[()=>[(_,props)=>{var _props$cachedResults;return null!==(_props$cachedResults=props.cachedResults)&&void 0!==_props$cachedResults?_props$cachedResults:null}],cachedResults=>!!cachedResults],yData:[state=>[state.selectedYAxis,state.response,state.columns],(ySeries,response,columns)=>{var _ref24,_response$results;if(!response||null===ySeries||0===ySeries.length)return[EmptyYAxisSeries];let data=null!==(_ref24=null!==(_response$results=response?.results)&&void 0!==_response$results?_response$results:response?.result)&&void 0!==_ref24?_ref24:[];return ySeries.map(series=>{if(!series)return EmptyYAxisSeries;let column=columns.find(n=>n.name===series.name);return column?{column,data:data.map(n=>{try{let multiplier=series.settings.formatting?.style==="percent"?100:1;if(series.settings.formatting?.decimalPlaces)return parseFloat((parseFloat(n[column.dataIndex])*multiplier).toFixed(series.settings.formatting.decimalPlaces));let isInt=Number.isInteger(n[column.dataIndex]);return isInt?parseInt(n[column.dataIndex],10)*multiplier:parseFloat(n[column.dataIndex])*multiplier}catch{return 0}}),settings:series.settings}:EmptyYAxisSeries}).filter(series=>!!series)}],xData:[state=>[state.selectedXAxis,state.response,state.columns],(xSeries,response,columns)=>{var _ref25,_response$results2;if(!response||null===xSeries)return{column:{name:"None",type:{name:"STRING",isNumerical:!1},label:"None",dataIndex:-1},data:[]};let data=null!==(_ref25=null!==(_response$results2=response?.results)&&void 0!==_response$results2?_response$results2:response?.result)&&void 0!==_ref25?_ref25:[],column=columns.find(n=>n.name===xSeries);return column?{column,data:data.map(n=>n[column.dataIndex])}:null}],tabularData:[state=>[state.tabularColumns,state.response],(tabularColumns,response)=>{var _ref26,_response$results3;if(!response||null===tabularColumns)return[];let data=null!==(_ref26=null!==(_response$results3=response?.results)&&void 0!==_response$results3?_response$results3:response?.result)&&void 0!==_ref26?_ref26:[];return data.map(row=>tabularColumns.map(column=>{if(!column)return{value:null,formattedValue:null,type:"STRING"};let value=row[column.column.dataIndex];if(column.column.type.isNumerical)try{if(null===value)return{value:null,formattedValue:null,type:column.column.type.name};let multiplier=column.settings?.formatting?.style==="percent"?100:1;if(column.settings?.formatting?.decimalPlaces)return{value,formattedValue:formatDataWithSettings(parseFloat((parseFloat(value.toString())*multiplier).toFixed(column.settings.formatting.decimalPlaces)),column.settings),type:column.column.type.name};let isInt=Number.isInteger(value);return{value,formattedValue:formatDataWithSettings(isInt?parseInt(value.toString(),10)*multiplier:parseFloat(value.toString())*multiplier,column.settings),type:column.column.type.name}}catch{return{value:0,formattedValue:"0",type:column.column.type.name}}return{value:convertTableValue(value,column.column.type.name),formattedValue:formatDataWithSettings(value,column.settings),type:column.column.type.name}}))}],tabularColumns:[state=>[state.tabularColumnSettings,state.response,state.columns],(tabularColumnSettings,response,columns)=>response?columns.map(col=>{var _series$settings;let series=(tabularColumnSettings||[]).find(n=>n?.name===col.name);return{column:col,data:[],settings:null!==(_series$settings=series?.settings)&&void 0!==_series$settings?_series$settings:DefaultAxisSettings()}}):[]],dataVisualizationProps:[()=>[(_,props)=>props],props=>props],isTableVisualization:[state=>[state.visualizationType],visualizationType=>visualizationType===_types__WEBPACK_IMPORTED_MODULE_7__.Qb.ActionsTable],showTableSettings:[state=>[state.visualizationType],visualizationType=>visualizationType===_types__WEBPACK_IMPORTED_MODULE_7__.Qb.ActionsTable||visualizationType===_types__WEBPACK_IMPORTED_MODULE_7__.Qb.BoldNumber]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.listeners)(_ref27=>{let{props,actions}=_ref27;return{updateChartSettings:_ref28=>{var _props$query$chartSet2;let{settings}=_ref28;actions.setQuery({...props.query,chartSettings:{...null!==(_props$query$chartSet2=props.query.chartSettings)&&void 0!==_props$query$chartSet2?_props$query$chartSet2:{},...settings}})},setQuery:_ref29=>{let{node}=_ref29;props.setQuery&&props.setQuery(node)},setVisualizationType:_ref30=>{let{visualizationType}=_ref30;actions.setQuery({...props.query,display:visualizationType})}}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.afterMount)(_ref31=>{let{actions,props}=_ref31;if(props.query.display&&actions.setVisualizationType(props.query.display),props.query.chartSettings){let{xAxis,yAxis}=props.query.chartSettings;xAxis&&actions.updateXSeries(xAxis.column),yAxis&&yAxis.length&&yAxis.forEach(axis=>{actions.addYSeries(axis.column,axis.settings)})}props.query.tableSettings&&props.query.tableSettings.columns&&props.query.tableSettings.columns.forEach(column=>{actions.addSeries(column.column,column.settings)}),props.query.tableSettings?.conditionalFormatting?.length&&(props.query.tableSettings.conditionalFormatting.forEach(rule=>{actions.addConditionalFormattingRule(rule)}),actions.setConditionalFormattingRulesPanelActiveKeys([]))}),(0,kea_subscriptions__WEBPACK_IMPORTED_MODULE_1__.Vt)(_ref32=>{let{props,actions,values}=_ref32;return{columns:(value,oldValue)=>{if(!values.response||!values.response.results&&!values.response.result)return;let oldTabularColumnSettings=JSON.parse(JSON.stringify(values.tabularColumnSettings));if(oldValue&&oldValue.length&&JSON.stringify(value)!==JSON.stringify(oldValue)&&actions.clearAxis(),values.response&&null===values.tabularColumnSettings&&value.forEach(column=>{if(oldTabularColumnSettings){let lastValue=oldTabularColumnSettings.find(n=>n?.name===column.name);return actions.addSeries(column.name,lastValue?.settings)}actions.addSeries(column.name)}),values.response&&null===values.selectedXAxis&&null===values.selectedYAxis){let xAxisTypes=value.find(n=>-1!==n.type.name.indexOf("DATE")),yAxisTypes=value.filter(n=>n.type.isNumerical);yAxisTypes&&yAxisTypes.forEach(y=>{if(oldTabularColumnSettings){let lastValue=oldTabularColumnSettings.find(n=>n?.name===y.name);return actions.addYSeries(y.name,lastValue?.settings)}actions.addYSeries(y.name)}),xAxisTypes&&actions.updateXSeries(xAxisTypes.name)}},selectedXAxis:value=>{var _values$selectedYAxis,_props$query$chartSet3;if(values.isTableVisualization)return;let yColumns=null!==(_values$selectedYAxis=values.selectedYAxis?.filter(n=>!!n))&&void 0!==_values$selectedYAxis?_values$selectedYAxis:[];actions.setQuery({...props.query,chartSettings:{...null!==(_props$query$chartSet3=props.query.chartSettings)&&void 0!==_props$query$chartSet3?_props$query$chartSet3:{},yAxis:yColumns.map(n=>({column:n.name,settings:n.settings})),xAxis:null!==value?{column:value}:void 0}})},selectedYAxis:value=>{var _value$filter,_props$query$chartSet4;if(values.isTableVisualization)return;let yColumns=null!==(_value$filter=value?.filter(n=>!!n))&&void 0!==_value$filter?_value$filter:[],xColumn=null!==values.selectedXAxis?{column:values.selectedXAxis}:void 0;actions.setQuery({...props.query,chartSettings:{...null!==(_props$query$chartSet4=props.query.chartSettings)&&void 0!==_props$query$chartSet4?_props$query$chartSet4:{},yAxis:yColumns.map(n=>({column:n.name,settings:n.settings})),xAxis:xColumn}})},tabularColumnSettings:value=>{var _value$filter2,_props$query$tableSet;if(!values.isTableVisualization)return;let columns=null!==(_value$filter2=value?.filter(n=>!!n))&&void 0!==_value$filter2?_value$filter2:[];actions.setQuery({...props.query,tableSettings:{...null!==(_props$query$tableSet=props.query.tableSettings)&&void 0!==_props$query$tableSet?_props$query$tableSet:{},columns:columns.map(n=>({column:n.name,settings:n.settings}))}})},conditionalFormattingRules:rules=>{var _props$query$tableSet2;let saveableRules=rules.filter(n=>n.columnName&&n.input&&n.templateId&&n.bytecode.length);actions.setQuery({...props.query,tableSettings:{...null!==(_props$query$tableSet2=props.query.tableSettings)&&void 0!==_props$query$tableSet2?_props$query$tableSet2:{},conditionalFormatting:saveableRules}})}}})])},"./frontend/src/queries/nodes/DataVisualization/displayLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Y:()=>displayLogic});var d3__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/d3@7.8.2/node_modules/d3/src/index.js"),kea__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_subscriptions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-subscriptions@3.0.1_kea@3.1.5/node_modules/kea-subscriptions/lib/index.js"),_dataVisualizationLogic__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/queries/nodes/DataVisualization/dataVisualizationLogic.ts");let displayLogic=(0,kea__WEBPACK_IMPORTED_MODULE_1__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_1__.key)(props=>props.key),(0,kea__WEBPACK_IMPORTED_MODULE_1__.path)(["queries","nodes","DataVisualization","displayLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_1__.props)({key:""}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.connect)({values:[_dataVisualizationLogic__WEBPACK_IMPORTED_MODULE_3__.H8,["yData","query","chartSettings"]],actions:[_dataVisualizationLogic__WEBPACK_IMPORTED_MODULE_3__.H8,["setQuery","updateChartSettings"]]}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.actions)(_ref=>{let{values}=_ref;return{addGoalLine:()=>({yData:values.yData}),updateGoalLine:(goalLineIndex,key,value)=>({goalLineIndex,key,value}),removeGoalLine:goalLineIndex=>({goalLineIndex}),setGoalLines:goalLines=>({goalLines})}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.reducers)({goalLines:[[],{addGoalLine:(state,_ref2)=>{var _yData$flatMap,_d3$mean;let{yData}=_ref2,yDataFlat=null!==(_yData$flatMap=yData?.flatMap(n=>n.data))&&void 0!==_yData$flatMap?_yData$flatMap:[],yDataAvg=Math.round(null!==(_d3$mean=d3__WEBPACK_IMPORTED_MODULE_0__.J69(yDataFlat))&&void 0!==_d3$mean?_d3$mean:0);return[...state,{label:"Q4 Goal",value:null!=yDataAvg?yDataAvg:0}]},removeGoalLine:(state,_ref3)=>{let{goalLineIndex}=_ref3,goalLines=[...state];return goalLines.splice(goalLineIndex,1),goalLines},updateGoalLine:(state,_ref4)=>{let{goalLineIndex,key,value}=_ref4,goalLines=[...state];return"value"===key?Number.isNaN(value)?goalLines[goalLineIndex][key]=0:goalLines[goalLineIndex][key]=parseInt(value.toString()):goalLines[goalLineIndex][key]=value,goalLines},setGoalLines:(_state,_ref5)=>{let{goalLines}=_ref5;return goalLines}}]}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.afterMount)(_ref6=>{let{values,actions}=_ref6,chartSettings=values.query.chartSettings;chartSettings?.goalLines&&actions.setGoalLines(chartSettings.goalLines)}),(0,kea_subscriptions__WEBPACK_IMPORTED_MODULE_2__.Vt)(_ref7=>{let{values,actions}=_ref7;return{goalLines:value=>{let goalLines=value.length>0?value:void 0;actions.setQuery({...values.query,chartSettings:{...values.query.chartSettings,goalLines}})}}})])},"./frontend/src/queries/nodes/DataVisualization/types.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{p:()=>FORMATTING_TEMPLATES});let FORMATTING_TEMPLATES=[{id:"equals",label:"Is equal to",hog:"return value == input",availableColumnTypes:["INTEGER","FLOAT","DATETIME","DATE","BOOLEAN","DECIMAL","STRING"]},{id:"not_equals",label:"Is not equal to",hog:"return value != input",availableColumnTypes:["INTEGER","FLOAT","DATETIME","DATE","BOOLEAN","DECIMAL","STRING"]},{id:"greater_than",label:"Is greater than",hog:"return value > input",availableColumnTypes:["INTEGER","FLOAT","DATETIME","DATE","BOOLEAN","DECIMAL"]},{id:"greater_than_equal",label:"Is greater than or equal to",hog:"return value >= input",availableColumnTypes:["INTEGER","FLOAT","DATETIME","DATE","BOOLEAN","DECIMAL"]},{id:"less_than",label:"Is less than",hog:"return value < input",availableColumnTypes:["INTEGER","FLOAT","DATETIME","DATE","BOOLEAN","DECIMAL"]},{id:"less_than_equal",label:"Is less than or equal to",hog:"return value <= input",availableColumnTypes:["INTEGER","FLOAT","DATETIME","DATE","BOOLEAN","DECIMAL"]},{id:"is_null",label:"Is null",hog:"return value == null",availableColumnTypes:["INTEGER","FLOAT","DATETIME","DATE","BOOLEAN","DECIMAL","STRING"],hideInput:!0},{id:"is_not_null",label:"Is not null",hog:"return value != null",availableColumnTypes:["INTEGER","FLOAT","DATETIME","DATE","BOOLEAN","DECIMAL","STRING"],hideInput:!0}]},"./frontend/src/queries/nodes/EventsNode/EventPropertyFilters.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{H:()=>EventPropertyFilters});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),lib_components_PropertyFilters_PropertyFilters__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/lib/components/PropertyFilters/PropertyFilters.tsx"),lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/components/TaxonomicFilter/types.ts"),react__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/index.js"),_models_groupsModel__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/models/groupsModel.ts"),_queries_utils__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/queries/utils.ts"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let uniqueNode=0;function EventPropertyFilters(_ref){let{query,setQuery,taxonomicGroupTypes}=_ref,[id]=(0,react__WEBPACK_IMPORTED_MODULE_3__.useState)(()=>uniqueNode++),properties=(0,_queries_utils__WEBPACK_IMPORTED_MODULE_5__.Vf)(query)||(0,_queries_utils__WEBPACK_IMPORTED_MODULE_5__.Sy)(query)?query.filters?.properties:query.properties,eventNames=(0,_queries_utils__WEBPACK_IMPORTED_MODULE_5__.Vf)(query)||(0,_queries_utils__WEBPACK_IMPORTED_MODULE_5__.Sy)(query)?[]:query.event?[query.event]:[],{groupsTaxonomicTypes}=(0,kea__WEBPACK_IMPORTED_MODULE_0__.useValues)(_models_groupsModel__WEBPACK_IMPORTED_MODULE_4__.$);return!properties||Array.isArray(properties)?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(lib_components_PropertyFilters_PropertyFilters__WEBPACK_IMPORTED_MODULE_1__.t,{propertyFilters:properties||[],taxonomicGroupTypes:taxonomicGroupTypes||[lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_2__.t.EventProperties,lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_2__.t.PersonProperties,lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_2__.t.EventFeatureFlags,...groupsTaxonomicTypes,lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_2__.t.Cohorts,lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_2__.t.Elements,lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_2__.t.HogQLExpression],onChange:value=>{if((0,_queries_utils__WEBPACK_IMPORTED_MODULE_5__.Vf)(query)||(0,_queries_utils__WEBPACK_IMPORTED_MODULE_5__.Sy)(query)){var _query$filters;setQuery?.({...query,filters:{...null!==(_query$filters=query.filters)&&void 0!==_query$filters?_query$filters:{},properties:value}})}else setQuery?.({...query,properties:value})},pageKey:`EventPropertyFilters.${id}`,eventNames:eventNames}):(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("div",{children:"Error: property groups are not supported."})}},"./frontend/src/queries/nodes/HogQLQuery/HogQLQueryEditor.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{n:()=>HogQLQueryEditor});var posthog_icons_es=__webpack_require__("./node_modules/.pnpm/@posthog+icons@0.9.2_react-dom@18.2.0_react@18.2.0/node_modules/@posthog/icons/dist/posthog-icons.es.js"),src=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),clsx_m=__webpack_require__("./node_modules/.pnpm/clsx@1.2.1/node_modules/clsx/dist/clsx.m.js"),index_esm=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),lib=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),FlaggedFeature=__webpack_require__("./frontend/src/lib/components/FlaggedFeature.tsx"),constants=__webpack_require__("./frontend/src/lib/constants.tsx"),LemonBanner=__webpack_require__("./frontend/src/lib/lemon-ui/LemonBanner/index.ts"),LemonButton=__webpack_require__("./frontend/src/lib/lemon-ui/LemonButton/index.ts"),CodeEditor=__webpack_require__("./frontend/src/lib/monaco/CodeEditor.tsx"),codeEditorLogic=__webpack_require__("./frontend/src/lib/monaco/codeEditorLogic.tsx"),react=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/index.js"),dataWarehouseSceneLogic=__webpack_require__("./frontend/src/scenes/data-warehouse/settings/dataWarehouseSceneLogic.ts"),urls=__webpack_require__("./frontend/src/scenes/urls.ts"),api=__webpack_require__("./frontend/src/lib/api.ts"),LemonField=__webpack_require__("./frontend/src/lib/lemon-ui/LemonField/index.ts"),featureFlagLogic=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),dataWarehouseViewsLogic=__webpack_require__("./frontend/src/scenes/data-warehouse/saved_queries/dataWarehouseViewsLogic.tsx"),preflightLogic=__webpack_require__("./frontend/src/scenes/PreflightCheck/preflightLogic.tsx"),schema=__webpack_require__("./frontend/src/queries/schema.ts"),jsx_runtime=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let hogQLQueryEditorLogic=(0,index_esm.kea)([(0,index_esm.path)(["queries","nodes","HogQLQuery","hogQLQueryEditorLogic"]),(0,index_esm.props)({}),(0,index_esm.key)(props=>props.key),(0,index_esm.propsChanged)((_ref,oldProps)=>{let{actions,props}=_ref,selection=props.editor?.getSelection(),model=props.editor?.getModel(),highlightedQuery=selection&&model?model.getValueInRange(selection):null;highlightedQuery&&props.query.query===highlightedQuery||props.query.query===oldProps.query.query&&props.editor===oldProps.editor||actions.setQueryInput(props.query.query)}),(0,index_esm.connect)({values:[featureFlagLogic.h,["featureFlags"]],actions:[dataWarehouseViewsLogic.$,["createDataWarehouseSavedQuery"],dataWarehouseSceneLogic.M,["updateView"]]}),(0,index_esm.actions)({saveQuery:queryOverride=>({queryOverride}),setQueryInput:queryInput=>({queryInput}),setPrompt:prompt=>({prompt}),setPromptError:error=>({error}),draftFromPrompt:!0,draftFromPromptComplete:!0,saveAsView:!0,saveAsViewSuccess:name=>({name}),onUpdateView:!0}),(0,index_esm.reducers)(_ref2=>{let{props}=_ref2;return{queryInput:[props.query.query,{setQueryInput:(_,_ref3)=>{let{queryInput}=_ref3;return queryInput}}],prompt:["",{setPrompt:(_,_ref4)=>{let{prompt}=_ref4;return prompt}}],promptError:[null,{setPromptError:(_,_ref5)=>{let{error}=_ref5;return error},draftFromPrompt:()=>null,saveQuery:()=>null}],promptLoading:[!1,{draftFromPrompt:()=>!0,draftFromPromptComplete:()=>!1}]}}),(0,index_esm.selectors)({aiAvailable:[()=>[preflightLogic.preflightLogic.selectors.preflight],preflight=>preflight?.openai_available],multitab:[s=>[s.featureFlags,()=>!!dataWarehouseSceneLogic.M.findMounted()?.values.editingView],(featureFlags,isEditingView)=>!!(featureFlags[constants.y8.MULTITAB_EDITOR]&&lib.router.values.location.pathname.includes(urls.j.dataWarehouse())&&0===Object.keys(lib.router.values.hashParams).length&&!isEditingView)]}),(0,index_esm.listeners)(_ref6=>{let{actions,props,values}=_ref6;return{saveQuery:_ref7=>{let{queryOverride}=_ref7,query=values.queryInput;actions.setQueryInput(query),props.setQuery?.({...props.query,query:null!=queryOverride?queryOverride:query})},setQueryInput:async _ref8=>{let{queryInput}=_ref8;props.onChange?.(queryInput)},draftFromPrompt:async()=>{if(!values.aiAvailable)throw Error("To use AI features, configure environment variable OPENAI_API_KEY for this instance of PostHog");try{let result=await api.ZP.get((0,lib.combineUrl)("api/projects/@current/query/draft_sql/",{prompt:values.prompt,current_query:values.queryInput}).url),{sql}=result;actions.setQueryInput(sql)}catch(e){actions.setPromptError(e.detail)}finally{actions.draftFromPromptComplete()}},saveAsView:async()=>{src.dn.openForm({title:"Save as view",initialValues:{viewName:""},content:(0,jsx_runtime.jsx)(LemonField.D,{name:"viewName",children:(0,jsx_runtime.jsx)(src.DF,{placeholder:"Please enter the name of the view",autoFocus:!0})}),errors:{viewName:name=>name?void 0:"You must enter a name"},onSubmit:_ref9=>{let{viewName}=_ref9;return actions.saveAsViewSuccess(viewName)}})},saveAsViewSuccess:async _ref10=>{var _props$queryResponse$;let{name}=_ref10,query={kind:schema.OH.HogQLQuery,query:values.queryInput},types=null!==(_props$queryResponse$=props.queryResponse?.types)&&void 0!==_props$queryResponse$?_props$queryResponse$:[];await dataWarehouseViewsLogic.$.asyncActions.createDataWarehouseSavedQuery({name,query,types})},onUpdateView:async()=>{var _props$queryResponse$2;let types=null!==(_props$queryResponse$2=props.queryResponse?.types)&&void 0!==_props$queryResponse$2?_props$queryResponse$2:[];actions.updateView(values.queryInput,types)}}})]),uniqueNode=0;function HogQLQueryEditor(props){let editorRef=(0,react.useRef)(null),[key,setKey]=(0,react.useState)(()=>lib.router.values.location.pathname.includes(urls.j.dataWarehouse())?lib.router.values.location.pathname:uniqueNode++);(0,react.useEffect)(()=>{lib.router.values.location.pathname.includes(urls.j.dataWarehouse())&&setKey(lib.router.values.location.pathname)},[lib.router.values.location.pathname]);let[monacoAndEditor,setMonacoAndEditor]=(0,react.useState)(null),[monaco,editor]=null!=monacoAndEditor?monacoAndEditor:[],hogQLQueryEditorLogicProps={query:props.query,setQuery:props.setQuery,onChange:props.onChange,key,editor,monaco,queryResponse:props.queryResponse},logic=hogQLQueryEditorLogic(hogQLQueryEditorLogicProps),{queryInput,prompt,aiAvailable,promptError,promptLoading,multitab}=(0,index_esm.useValues)(logic),{setQueryInput,saveQuery,setPrompt,draftFromPrompt,saveAsView,onUpdateView}=(0,index_esm.useActions)(logic),codeEditorKey=`hogQLQueryEditor/${key}`,codeEditorLogicProps={key:codeEditorKey,sourceQuery:props.query,query:queryInput,language:"hogQL",metadataFilters:props.query.filters,multitab},{hasErrors,error,isValidView,activeModelUri,allModels}=(0,index_esm.useValues)((0,codeEditorLogic.Pc)(codeEditorLogicProps)),{createModel,setModel,deleteModel,setModels,addModel,updateState}=(0,index_esm.useActions)((0,codeEditorLogic.Pc)(codeEditorLogicProps)),{editingView}=(0,index_esm.useValues)((0,dataWarehouseSceneLogic.M)({monaco,editor})),monacoDisposables=(0,react.useRef)([]);return(0,react.useEffect)(()=>()=>{monacoDisposables.current.forEach(d=>d?.dispose())},[]),(0,react.useEffect)(()=>{if(monaco&&activeModelUri&&multitab){let _model=monaco.editor.getModel(activeModelUri),val=_model?.getValue();val&&(setQueryInput(val),saveQuery())}},[activeModelUri]),(0,jsx_runtime.jsx)("div",{className:"flex items-start gap-2",children:(0,jsx_runtime.jsxs)("div",{"data-attr":"hogql-query-editor",className:(0,clsx_m.default)("flex flex-col rounded space-y-2 w-full overflow-hidden",!props.embedded&&"p-2 border"),children:[(0,jsx_runtime.jsx)(FlaggedFeature.P,{flag:constants.y8.ARTIFICIAL_HOG,children:(0,jsx_runtime.jsxs)("div",{className:"flex gap-2",children:[(0,jsx_runtime.jsx)(src.DF,{className:"grow",prefix:(0,jsx_runtime.jsx)(posthog_icons_es.IconMagicWand,{}),value:prompt,onPressEnter:()=>draftFromPrompt(),onChange:value=>setPrompt(value),placeholder:aiAvailable?"What do you want to know? How would you like to tweak the query?":"To use AI features, set environment variable OPENAI_API_KEY for this instance of PostHog",disabled:!aiAvailable,maxLength:400}),(0,jsx_runtime.jsx)(LemonButton.J,{type:"primary",onClick:()=>draftFromPrompt(),disabledReason:aiAvailable?prompt?null:"Provide a prompt first":"Environment variable OPENAI_API_KEY is unset for this instance of PostHog",tooltipPlacement:"left",loading:promptLoading,children:"Think"})]})}),promptError?(0,jsx_runtime.jsx)(LemonBanner.V,{type:"warning",children:promptError}):null,(0,jsx_runtime.jsxs)("div",{className:"relative flex-1 overflow-hidden flex-col",children:[multitab&&(0,jsx_runtime.jsxs)("div",{className:"flex flex-row overflow-scroll hide-scrollbar",children:[allModels.map(model=>(0,jsx_runtime.jsx)(QueryTab,{active:model.path===activeModelUri?.path,model:model,onClick:setModel,onClear:allModels.length>1?deleteModel:void 0},model.path)),(0,jsx_runtime.jsx)(LemonButton.J,{onClick:()=>{createModel()},icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconPlus,{fontSize:14})})]}),(0,jsx_runtime.jsx)("div",{ref:editorRef,className:"resize-y overflow-hidden",style:{height:222},children:(0,jsx_runtime.jsx)(CodeEditor.p,{queryKey:codeEditorKey,sourceQuery:props.query,className:"border rounded-b overflow-hidden h-full",language:"hogQL",value:queryInput,onChange:v=>{setQueryInput(null!=v?v:""),updateState()},height:"100%",onMount:(editor,monaco)=>{setMonacoAndEditor([monaco,editor]);let allModelQueries=localStorage.getItem((0,codeEditorLogic.nz)(codeEditorKey)),activeModelUri=localStorage.getItem((0,codeEditorLogic.nx)(codeEditorKey));if(allModelQueries&&multitab){monaco.editor.getModels().forEach(model=>{model.dispose()});let models=JSON.parse(allModelQueries||"[]"),newModels=[];if(models.forEach(model=>{if(monaco){let uri=monaco.Uri.parse(model.path),newModel=monaco.editor.createModel(model.query,"hogQL",uri);editor?.setModel(newModel),newModels.push(uri)}}),setModels(newModels),activeModelUri){let uri=monaco.Uri.parse(activeModelUri),activeModel=monaco.editor.getModels().find(model=>model.uri.path===uri.path);activeModel&&editor?.setModel(activeModel);let val=activeModel?.getValue();val&&(setQueryInput(val),saveQuery()),setModel(uri)}else newModels.length&&setModel(newModels[0])}else{let model=editor.getModel();model&&(addModel(model.uri),setModel(model.uri))}},onPressCmdEnter:(value,selectionType)=>{value&&"selection"===selectionType?saveQuery(value):saveQuery()},options:{minimap:{enabled:!1},wordWrap:"on",scrollBeyondLastLine:!1,automaticLayout:!0,fixedOverflowWidgets:!0,suggest:{showInlineDetails:!0},quickSuggestionsDelay:300}})})]}),(0,jsx_runtime.jsx)("div",{className:"flex flex-row px-px",children:props.editorFooter?props.editorFooter(hasErrors,error,isValidView):(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)("div",{className:"flex-1",children:(0,jsx_runtime.jsx)(LemonButton.J,{onClick:()=>saveQuery(),type:"primary",disabledReason:props.setQuery?hasErrors?null!=error?error:"Query has errors":void 0:"No permission to update",center:!0,fullWidth:!0,"data-attr":"hogql-query-editor-save",children:props.setQuery?"Update and run":"No permission to update"})}),editingView?(0,jsx_runtime.jsx)(LemonButton.J,{className:"ml-2",onClick:onUpdateView,type:"primary",center:!0,disabledReason:hasErrors?null!=error?error:"Query has errors":isValidView?"":"Some fields may need an alias","data-attr":"hogql-query-editor-update-view",children:"Update view"}):(0,jsx_runtime.jsx)(LemonButton.J,{className:"ml-2",onClick:saveAsView,type:"primary",center:!0,disabledReason:hasErrors?null!=error?error:"Query has errors":isValidView?"":"Some fields may need an alias","data-attr":"hogql-query-editor-save-as-view",tooltip:(0,jsx_runtime.jsxs)("div",{children:["Save a query as a view that can be referenced in another query. This is useful for modeling data and organizing large queries into readable chunks."," ",(0,jsx_runtime.jsx)(src.rU,{to:"https://posthog.com/docs/data-warehouse",children:"More Info"})," "]}),children:"Save as view"})]})})]})})}function QueryTab(_ref){let{model,active,onClear,onClick}=_ref;return(0,jsx_runtime.jsxs)("button",{onClick:()=>onClick?.(model),className:(0,clsx_m.default)("space-y-px rounded-t p-1 flex flex-row items-center gap-1 hover:bg-[var(--bg-light)] cursor-pointer",active?"bg-[var(--bg-light)] border":"bg-bg-3000",onClear?"pl-3 pr-2":"px-4"),children:["Query "+model.path.split("/").pop(),onClear&&(0,jsx_runtime.jsx)(LemonButton.J,{onClick:e=>{e.stopPropagation(),onClear(model)},size:"xsmall",icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconX,{})})]})}},"./frontend/src/queries/nodes/HogQLX/render.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{E:()=>function renderHogQLX(value){let object=function parseHogQLX(value){if(!Array.isArray(value))return value;if("__hx_tag"===value[0]){let object={},start="__hx_obj"===value[1]?2:0;for(let i=start;iparseHogQLX(v))}(value);if("object"==typeof object){if(Array.isArray(object))return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(lib_components_JSONViewer__WEBPACK_IMPORTED_MODULE_1__.C,{src:object,name:null,collapsed:object.length>10?0:1});let{__hx_tag:tag,...rest}=object;if(!tag)return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(lib_components_JSONViewer__WEBPACK_IMPORTED_MODULE_1__.C,{src:rest,name:null,collapsed:Object.keys(rest).length>10?0:1});if("Sparkline"===tag){let{data,type,...props}=rest;return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_layout_ErrorBoundary__WEBPACK_IMPORTED_MODULE_4__.S,{children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(lib_components_Sparkline__WEBPACK_IMPORTED_MODULE_2__.b,{className:"h-8",...props,data:null!=data?data:[],type:type})})}if("RecordingButton"===tag){let{sessionId,...props}=rest;return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_layout_ErrorBoundary__WEBPACK_IMPORTED_MODULE_4__.S,{children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(lib_components_ViewRecordingButton__WEBPACK_IMPORTED_MODULE_3__.Z,{inModal:!0,sessionId:sessionId,type:"primary",size:"xsmall","data-attr":"hog-ql-view-recording-button",className:"inline-block",...props,disabledReason:sessionId?void 0:"No session id associated with this event"})})}if("a"===tag){let{href,source,target}=rest;return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_layout_ErrorBoundary__WEBPACK_IMPORTED_MODULE_4__.S,{children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.rU,{to:href,target:null!=target?target:"_self",children:source?renderHogQLX(source):href})})}else if("strong"===tag){let{source}=rest;return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_layout_ErrorBoundary__WEBPACK_IMPORTED_MODULE_4__.S,{children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("strong",{children:renderHogQLX(source)})})}else if("em"===tag){let{source}=rest;return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_layout_ErrorBoundary__WEBPACK_IMPORTED_MODULE_4__.S,{children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("em",{children:renderHogQLX(source)})})}return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)("div",{children:["Unknown tag: ",String(tag)]})}return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.Fragment,{children:String(value)})}});var _posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),lib_components_JSONViewer__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/lib/components/JSONViewer.tsx"),lib_components_Sparkline__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/components/Sparkline.tsx"),lib_components_ViewRecordingButton__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/components/ViewRecordingButton.tsx"),_layout_ErrorBoundary__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/layout/ErrorBoundary/index.ts"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js")},"./frontend/src/queries/nodes/InsightQuery/utils/filtersToQueryNode.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{NG:()=>actionsAndEventsToSeries,Ic:()=>breakdownFilterToQuery,P0:()=>compareFilterToQuery,aP:()=>exlusionEntityToNode,wK:()=>filtersToQueryNode,Sk:()=>funnelsFilterToQuery,pE:()=>legacyEntityToNode,oW:()=>lifecycleFilterToQuery,iE:()=>pathsFilterToQuery,iq:()=>retentionFilterToQuery,d6:()=>sanitizeRetentionEntity,jx:()=>stickinessFilterToQuery,XK:()=>trendsFilterToQuery});var esm_exports=__webpack_require__("./node_modules/.pnpm/@sentry+core@7.112.1/node_modules/@sentry/core/esm/exports.js"),utils=__webpack_require__("./frontend/src/lib/utils.tsx"),funnelUtils=__webpack_require__("./frontend/src/scenes/funnels/funnelUtils.ts"),ActionFilterRow=__webpack_require__("./frontend/src/scenes/insights/filters/ActionFilter/ActionFilterRow/ActionFilterRow.tsx"),sharedUtils=__webpack_require__("./frontend/src/scenes/insights/sharedUtils.ts"),schema=__webpack_require__("./frontend/src/queries/schema.ts"),queries_utils=__webpack_require__("./frontend/src/queries/utils.ts"),types=__webpack_require__("./frontend/src/types.ts");let cleanGlobalProperties=properties=>void 0==properties||Array.isArray(properties)&&0==properties.length||0==Object.keys(properties).length?void 0:(isOldStyleProperties(properties)?properties={type:"AND",values:[{type:"AND",values:properties=transformOldStyleProperties(properties)}]}:Array.isArray(properties)?properties={type:"AND",values:[{type:"AND",values:properties}]}:"AND"!==properties.type&&"OR"!==properties.type||properties.values.some(property=>"AND"===property.type||"OR"===property.type)||(properties={type:"AND",values:[properties]}),cleanPropertyGroupFilter(properties)),cleanEntityProperties=properties=>{if(!(void 0==properties||Array.isArray(properties)&&0==properties.length)&&0!=Object.keys(properties).length){if(isOldStyleProperties(properties))return transformOldStyleProperties(properties);if(Array.isArray(properties))return properties.map(cleanProperty);if(("AND"===properties.type||"OR"===properties.type)&&!properties.values.some(property=>"AND"===property.type||"OR"===property.type))return properties.values.map(cleanProperty);throw Error("Unexpected format of entity properties.")}},cleanPropertyGroupFilter=properties=>(properties.values=cleanPropertyGroupFilterValues(properties.values),properties),cleanPropertyGroupFilterValues=properties=>properties.map(cleanPropertyGroupFilterValue),cleanPropertyGroupFilterValue=property=>"AND"==property.type||"OR"==property.type?(property.values=cleanPropertyGroupFilterValues(property.values),property):cleanProperty(property),cleanProperty=property=>0===Object.keys(property).length||void 0===property.type?{type:types.FT.HogQL,key:"true"}:("events"===property.type&&(property.type="event"),void 0!==property.values&&void 0===property.value&&(property.value=property.values,delete property.values),["precalculated-cohort","static-cohort"].includes(property.type)&&(property.type="cohort"),"cohort"===property.type&&"id"!==property.key&&(property.key="id"),isPropertyWithOperator(property)&&void 0===property.operator&&(property.operator="exact"),isPropertyWithOperator(property)||void 0===property.operator||delete property.operator,"cohort"===property.type&&void 0!==property.negation&&(property.operator===types.WV.Exact&&property.negation&&(property.operator=types.WV.NotIn),delete property.negation),Array.isArray(property.value)&&(property.value=property.value.filter(x=>null!==x)),Object.keys(property).forEach(key=>{void 0===property[key]&&delete property[key]}),property),isPropertyWithOperator=property=>!["hogql"].includes(property.type),isOldStyleProperties=properties=>!Array.isArray(properties)&&1===Object.keys(properties).length&&!["AND","OR"].includes(properties.type),transformOldStyleProperties=properties=>{let key=Object.keys(properties)[0],value=Object.values(properties)[0],keySplit=key.split("__");return[{key:keySplit[0],value:value,operator:keySplit.length>1?keySplit[1]:types.WV.Exact,type:types.FT.Event}]},insightTypeToNodeKind={[types.dw.TRENDS]:schema.OH.TrendsQuery,[types.dw.FUNNELS]:schema.OH.FunnelsQuery,[types.dw.RETENTION]:schema.OH.RetentionQuery,[types.dw.PATHS]:schema.OH.PathsQuery,[types.dw.STICKINESS]:schema.OH.StickinessQuery,[types.dw.LIFECYCLE]:schema.OH.LifecycleQuery},actorsOnlyMathTypes=[types.vN.UniqueUsers,types.vN.WeeklyActiveUsers,types.vN.MonthlyActiveUsers,types.OU.UniqueGroup,types.mY.HogQL],funnelsMathTypes=[types.S7.FirstTimeForUser,types.S7.FirstTimeForUserWithFilters],legacyEntityToNode=(entity,includeProperties,mathAvailability)=>{let shared={name:entity.name||void 0,custom_name:entity.custom_name||void 0};return((0,types.U6)(entity)&&(shared={...shared,id_field:entity.id_field||void 0,timestamp_field:entity.timestamp_field||void 0,distinct_id_field:entity.distinct_id_field||void 0,table_name:entity.table_name||void 0}),includeProperties&&(shared={...shared,properties:cleanEntityProperties(entity.properties)}),mathAvailability!==ActionFilterRow.Qq.None&&(mathAvailability!==ActionFilterRow.Qq.ActorsOnly||actorsOnlyMathTypes.includes(entity.math)?mathAvailability===ActionFilterRow.Qq.FunnelsOnly?funnelsMathTypes.includes(entity.math)&&(shared={...shared,math:entity.math}):shared={...shared,math:entity.math||"total",math_property:entity.math_property,math_property_type:entity.math_property_type,math_hogql:entity.math_hogql,math_group_type_index:entity.math_group_type_index}:shared={...shared,math:types.vN.UniqueUsers}),"actions"===entity.type)?(0,utils.jU)({kind:schema.OH.ActionsNode,id:entity.id,...shared}):"data_warehouse"===entity.type?(0,utils.jU)({kind:schema.OH.DataWarehouseNode,id:entity.id,...shared}):(0,utils.jU)({kind:schema.OH.EventsNode,event:entity.id,...shared})},exlusionEntityToNode=entity=>{let baseEntity=legacyEntityToNode(entity,!1,ActionFilterRow.Qq.None);return{...baseEntity,funnelFromStep:entity.funnel_from_step,funnelToStep:entity.funnel_to_step}},actionsAndEventsToSeries=(_ref,includeProperties,includeMath)=>{let{actions,events,data_warehouse,new_entity}=_ref,series=[...actions||[],...events||[],...data_warehouse||[],...new_entity||[]].sort((a,b)=>a.order||b.order?a.order?b.order?a.order-b.order:1:-1:0).map(f=>legacyEntityToNode(f,includeProperties,includeMath));return series},hiddenLegendKeysToIndexes=hidden_legend_keys=>hidden_legend_keys?Object.entries(hidden_legend_keys).filter(_ref2=>{let[k,v]=_ref2;return/^\d+$/.test(k)&&!0===v}).map(_ref3=>{let[k]=_ref3;return Number(k)}):void 0,hiddenLegendKeysToBreakdowns=hidden_legend_keys=>hidden_legend_keys?Object.entries((0,funnelUtils.oH)(hidden_legend_keys)).filter(_ref4=>{let[k,v]=_ref4;return!/^\d+$/.test(k)&&!0===v}).map(_ref5=>{let[k]=_ref5;return k}):void 0,sanitizeRetentionEntity=entity=>{if(!entity)return;let record={...entity};for(let key of Object.keys(record))["id","kind","name","type","order","uuid","custom_name"].includes(key)||delete record[key];return"id"in record&&"actions"===record.type&&(record.id=Number(record.id)),record},processBool=value=>{if(null!=value)return"boolean"==typeof value?value:"string"==typeof value&&strToBool(value)},strToBool=value=>{if(null!=value)return["y","yes","t","true","on","1"].includes(String(value).toLowerCase())},filtersToQueryNode=filters=>{if(!filters.insight)throw Error('filtersToQueryNode expects "insight"');let query={kind:insightTypeToNodeKind[filters.insight],properties:cleanGlobalProperties(filters.properties),filterTestAccounts:filters.filter_test_accounts};if(filters.sampling_factor&&(query.samplingFactor=filters.sampling_factor),query.dateRange=(0,utils.jU)({date_to:filters.date_to,date_from:filters.date_from,explicitDate:processBool(filters.explicit_date)}),(0,queries_utils.B8)(query)){let includeMath=ActionFilterRow.Qq.None;(0,queries_utils.kX)(query)?includeMath=ActionFilterRow.Qq.All:(0,queries_utils.vy)(query)?includeMath=ActionFilterRow.Qq.ActorsOnly:(0,queries_utils.Wl)(query)&&(includeMath=ActionFilterRow.Qq.FunnelsOnly);let{events,actions,data_warehouse}=filters;query.series=actionsAndEventsToSeries({actions,events,data_warehouse},!0,includeMath),query.interval=filters.interval}return(0,queries_utils.CN)(query)&&(null!=filters.breakdowns?((0,sharedUtils.e1)(filters)&&(1===filters.breakdowns.length?(filters.breakdown_type=filters.breakdowns[0].type||"event",filters.breakdown=filters.breakdowns[0].property):esm_exports.Tb(Error("Could not convert multi-breakdown property `breakdowns` - found more than one breakdown"),{tags:{DataExploration:!0},extra:{filters}})),(0,sharedUtils.pM)(filters)&&(filters.breakdowns=filters.breakdowns.map(b=>({...b,type:b.type||filters.breakdown_type||"event"})))):null!=filters.breakdown&&null==filters.breakdown_type&&(filters.breakdown_type="event"),query.breakdownFilter=breakdownFilterToQuery(filters,(0,sharedUtils.pM)(filters))),(0,queries_utils.DM)(query)&&(query.compareFilter=compareFilterToQuery(filters)),void 0!==filters.aggregation_group_type_index&&(query.aggregation_group_type_index=filters.aggregation_group_type_index),(0,sharedUtils.pM)(filters)&&(0,queries_utils.kX)(query)&&(query.trendsFilter=trendsFilterToQuery(filters)),(0,sharedUtils.e1)(filters)&&(0,queries_utils.Wl)(query)&&(query.funnelsFilter=funnelsFilterToQuery(filters)),(0,sharedUtils.A6)(filters)&&(0,queries_utils.I5)(query)&&(query.retentionFilter=retentionFilterToQuery(filters)),(0,sharedUtils.MS)(filters)&&(0,queries_utils.Qp)(query)&&(query.pathsFilter=pathsFilterToQuery(filters),query.funnelPathsFilter=filtersToFunnelPathsQuery(filters)),(0,sharedUtils.jk)(filters)&&(0,queries_utils.vy)(query)&&(query.stickinessFilter=stickinessFilterToQuery(filters)),(0,sharedUtils.Ni)(filters)&&(0,queries_utils.Vr)(query)&&(query.lifecycleFilter=lifecycleFilterToQuery(filters)),(0,utils.jU)(query,["series"])},trendsFilterToQuery=filters=>(0,utils.jU)({smoothingIntervals:filters.smoothing_intervals,showLegend:filters.show_legend,showAlertThresholdLines:filters.show_alert_threshold_lines,hiddenLegendIndexes:hiddenLegendKeysToIndexes(filters.hidden_legend_keys),aggregationAxisFormat:filters.aggregation_axis_format,aggregationAxisPrefix:filters.aggregation_axis_prefix,aggregationAxisPostfix:filters.aggregation_axis_postfix,decimalPlaces:filters.decimal_places,formula:filters.formula,display:filters.display,showValuesOnSeries:filters.show_values_on_series,showPercentStackView:filters.show_percent_stack_view,showLabelsOnSeries:filters.show_labels_on_series,yAxisScaleType:filters.y_axis_scale_type}),funnelsFilterToQuery=filters=>(0,utils.jU)({funnelVizType:filters.funnel_viz_type,funnelFromStep:filters.funnel_from_step,funnelToStep:filters.funnel_to_step,funnelStepReference:filters.funnel_step_reference,breakdownAttributionType:filters.breakdown_attribution_type,breakdownAttributionValue:filters.breakdown_attribution_value,binCount:filters.bin_count,funnelWindowIntervalUnit:filters.funnel_window_interval_unit,funnelWindowInterval:filters.funnel_window_interval,funnelOrderType:filters.funnel_order_type,exclusions:void 0!==filters.exclusions?filters.exclusions.map(entity=>exlusionEntityToNode(entity)):void 0,layout:filters.layout,hiddenLegendBreakdowns:hiddenLegendKeysToBreakdowns(filters.hidden_legend_keys),funnelAggregateByHogQL:filters.funnel_aggregate_by_hogql}),retentionFilterToQuery=filters=>(0,utils.jU)({retentionType:filters.retention_type,retentionReference:filters.retention_reference,totalIntervals:filters.total_intervals,returningEntity:sanitizeRetentionEntity(filters.returning_entity),targetEntity:sanitizeRetentionEntity(filters.target_entity),period:filters.period,showMean:filters.show_mean,cumulative:filters.cumulative}),pathsFilterToQuery=filters=>(0,utils.jU)({pathsHogQLExpression:filters.paths_hogql_expression,includeEventTypes:filters.include_event_types,startPoint:filters.start_point,endPoint:filters.end_point,pathGroupings:filters.path_groupings,excludeEvents:filters.exclude_events,stepLimit:filters.step_limit,pathReplacements:filters.path_replacements,localPathCleaningFilters:filters.local_path_cleaning_filters,edgeLimit:filters.edge_limit,minEdgeWeight:filters.min_edge_weight,maxEdgeWeight:filters.max_edge_weight}),filtersToFunnelPathsQuery=filters=>{if(void 0!==filters.funnel_paths&&void 0!==filters.funnel_filter)return{funnelPathType:filters.funnel_paths,funnelSource:filtersToQueryNode(filters.funnel_filter),funnelStep:filters.funnel_filter?.funnel_step}},stickinessFilterToQuery=filters=>(0,utils.jU)({display:filters.display,showLegend:filters.show_legend,hiddenLegendIndexes:hiddenLegendKeysToIndexes(filters.hidden_legend_keys),showValuesOnSeries:filters.show_values_on_series}),lifecycleFilterToQuery=filters=>(0,utils.jU)({showLegend:filters.show_legend,toggledLifecycles:filters.toggledLifecycles,showValuesOnSeries:filters.show_values_on_series}),breakdownFilterToQuery=(filters,isTrends)=>(0,utils.jU)({breakdown_type:filters.breakdown_type,breakdown:filters.breakdown,breakdown_normalize_url:filters.breakdown_normalize_url,breakdowns:filters.breakdowns,breakdown_group_type_index:filters.breakdown_group_type_index,breakdown_limit:filters.breakdown_limit,...isTrends?{breakdown_histogram_bin_count:filters.breakdown_histogram_bin_count,breakdown_hide_other_aggregation:filters.breakdown_hide_other_aggregation}:{}}),compareFilterToQuery=filters=>(0,utils.jU)({compare:filters.compare,compare_to:filters.compare_to})},"./frontend/src/queries/nodes/InsightQuery/utils/queryNodeToFilter.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{AG:()=>seriesNodeToFilter,Wz:()=>nodeKindToInsightType,ce:()=>queryNodeToFilter,sB:()=>seriesToActionsAndEvents});var lib_utils__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/src/lib/utils.tsx"),_queries_schema__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/queries/schema.ts"),_queries_utils__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/queries/utils.ts"),_types__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/types.ts");let seriesNodeToFilter=(node,index)=>{let entity=(0,lib_utils__WEBPACK_IMPORTED_MODULE_0__.hO)({type:(0,_queries_utils__WEBPACK_IMPORTED_MODULE_2__.oX)(node)?_types__WEBPACK_IMPORTED_MODULE_3__.DC.DATA_WAREHOUSE:(0,_queries_utils__WEBPACK_IMPORTED_MODULE_2__.VU)(node)?_types__WEBPACK_IMPORTED_MODULE_3__.DC.ACTIONS:_types__WEBPACK_IMPORTED_MODULE_3__.DC.EVENTS,id:(0,_queries_utils__WEBPACK_IMPORTED_MODULE_2__.oX)(node)?node.table_name:((0,_queries_utils__WEBPACK_IMPORTED_MODULE_2__.VU)(node)?node.id:node.event)||null,order:index,name:node.name,custom_name:node.custom_name,math:node.math,math_property:node.math_property,math_property_type:node.math_property_type,math_hogql:node.math_hogql,math_group_type_index:node.math_group_type_index,properties:node.properties,...(0,_queries_utils__WEBPACK_IMPORTED_MODULE_2__.oX)(node)?{table_name:node.table_name,id_field:node.id_field,timestamp_field:node.timestamp_field,distinct_id_field:node.distinct_id_field}:{}});return entity},seriesToActionsAndEvents=series=>{let actions=[],events=[],data_warehouse=[],new_entity=[];return series.forEach((node,index)=>{let entity=seriesNodeToFilter(node,index);(0,_queries_utils__WEBPACK_IMPORTED_MODULE_2__.cT)(node)?events.push(entity):(0,_queries_utils__WEBPACK_IMPORTED_MODULE_2__.VU)(node)?actions.push(entity):(0,_queries_utils__WEBPACK_IMPORTED_MODULE_2__.oX)(node)?data_warehouse.push(entity):new_entity.push(entity)}),{actions,events,data_warehouse,new_entity}},hiddenLegendItemsToKeys=hidden_items=>hidden_items?.reduce((k,b)=>({...k,[b]:!0}),{}),nodeKindToInsightType={[_queries_schema__WEBPACK_IMPORTED_MODULE_1__.OH.TrendsQuery]:_types__WEBPACK_IMPORTED_MODULE_3__.dw.TRENDS,[_queries_schema__WEBPACK_IMPORTED_MODULE_1__.OH.FunnelsQuery]:_types__WEBPACK_IMPORTED_MODULE_3__.dw.FUNNELS,[_queries_schema__WEBPACK_IMPORTED_MODULE_1__.OH.RetentionQuery]:_types__WEBPACK_IMPORTED_MODULE_3__.dw.RETENTION,[_queries_schema__WEBPACK_IMPORTED_MODULE_1__.OH.PathsQuery]:_types__WEBPACK_IMPORTED_MODULE_3__.dw.PATHS,[_queries_schema__WEBPACK_IMPORTED_MODULE_1__.OH.StickinessQuery]:_types__WEBPACK_IMPORTED_MODULE_3__.dw.STICKINESS,[_queries_schema__WEBPACK_IMPORTED_MODULE_1__.OH.LifecycleQuery]:_types__WEBPACK_IMPORTED_MODULE_3__.dw.LIFECYCLE},nodeKindToFilterKey={[_queries_schema__WEBPACK_IMPORTED_MODULE_1__.OH.TrendsQuery]:"trendsFilter",[_queries_schema__WEBPACK_IMPORTED_MODULE_1__.OH.FunnelsQuery]:"funnelsFilter",[_queries_schema__WEBPACK_IMPORTED_MODULE_1__.OH.RetentionQuery]:"retentionFilter",[_queries_schema__WEBPACK_IMPORTED_MODULE_1__.OH.PathsQuery]:"pathsFilter",[_queries_schema__WEBPACK_IMPORTED_MODULE_1__.OH.StickinessQuery]:"stickinessFilter",[_queries_schema__WEBPACK_IMPORTED_MODULE_1__.OH.LifecycleQuery]:"lifecycleFilter"},queryNodeToFilter=query=>{let filters=(0,lib_utils__WEBPACK_IMPORTED_MODULE_0__.hO)({insight:nodeKindToInsightType[query.kind],properties:query.properties,filter_test_accounts:query.filterTestAccounts,date_to:query.dateRange?.date_to,date_from:query.dateRange?.date_from,explicit_date:query.dateRange?.explicitDate,entity_type:"events",sampling_factor:query.samplingFactor});if(!(0,_queries_utils__WEBPACK_IMPORTED_MODULE_2__.I5)(query)&&!(0,_queries_utils__WEBPACK_IMPORTED_MODULE_2__.Qp)(query)){let{actions,events,data_warehouse,new_entity}=seriesToActionsAndEvents(query.series);actions.length>0&&(filters.actions=actions),events.length>0&&(filters.events=events),data_warehouse.length>0&&(filters.data_warehouse=data_warehouse),new_entity.length>0&&(filters.new_entity=new_entity)}((0,_queries_utils__WEBPACK_IMPORTED_MODULE_2__.kX)(query)||(0,_queries_utils__WEBPACK_IMPORTED_MODULE_2__.Wl)(query))&&query.breakdownFilter&&Object.assign(filters,(0,lib_utils__WEBPACK_IMPORTED_MODULE_0__.hO)(query.breakdownFilter)),((0,_queries_utils__WEBPACK_IMPORTED_MODULE_2__.kX)(query)||(0,_queries_utils__WEBPACK_IMPORTED_MODULE_2__.vy)(query))&&query.compareFilter&&Object.assign(filters,(0,lib_utils__WEBPACK_IMPORTED_MODULE_0__.hO)(query.compareFilter)),(0,_queries_utils__WEBPACK_IMPORTED_MODULE_2__.vy)(query)||Object.assign(filters,(0,lib_utils__WEBPACK_IMPORTED_MODULE_0__.hO)({aggregation_group_type_index:query.aggregation_group_type_index})),((0,_queries_utils__WEBPACK_IMPORTED_MODULE_2__.kX)(query)||(0,_queries_utils__WEBPACK_IMPORTED_MODULE_2__.vy)(query)||(0,_queries_utils__WEBPACK_IMPORTED_MODULE_2__.Vr)(query)||(0,_queries_utils__WEBPACK_IMPORTED_MODULE_2__.Wl)(query))&&(filters.interval=query.interval);let queryCopy=JSON.parse(JSON.stringify(query)),camelCasedTrendsProps={},camelCasedFunnelsProps={},camelCasedRetentionProps={},camelCasedPathsProps={},camelCasedStickinessProps={},camelCasedLifecycleProps={};return(0,_queries_utils__WEBPACK_IMPORTED_MODULE_2__.kX)(queryCopy)?(camelCasedTrendsProps.hidden_legend_keys=hiddenLegendItemsToKeys(queryCopy.trendsFilter?.hiddenLegendIndexes),camelCasedTrendsProps.smoothing_intervals=queryCopy.trendsFilter?.smoothingIntervals,camelCasedTrendsProps.decimal_places=queryCopy.trendsFilter?.decimalPlaces,camelCasedTrendsProps.aggregation_axis_format=queryCopy.trendsFilter?.aggregationAxisFormat,camelCasedTrendsProps.aggregation_axis_postfix=queryCopy.trendsFilter?.aggregationAxisPostfix,camelCasedTrendsProps.aggregation_axis_prefix=queryCopy.trendsFilter?.aggregationAxisPrefix,camelCasedTrendsProps.show_labels_on_series=queryCopy.trendsFilter?.showLabelsOnSeries,camelCasedTrendsProps.show_percent_stack_view=queryCopy.trendsFilter?.showPercentStackView,camelCasedTrendsProps.show_legend=queryCopy.trendsFilter?.showLegend,camelCasedTrendsProps.show_values_on_series=queryCopy.trendsFilter?.showValuesOnSeries,camelCasedTrendsProps.y_axis_scale_type=queryCopy.trendsFilter?.yAxisScaleType,delete queryCopy.trendsFilter?.hiddenLegendIndexes,delete queryCopy.trendsFilter?.smoothingIntervals,delete queryCopy.trendsFilter?.decimalPlaces,delete queryCopy.trendsFilter?.aggregationAxisFormat,delete queryCopy.trendsFilter?.aggregationAxisPostfix,delete queryCopy.trendsFilter?.aggregationAxisPrefix,delete queryCopy.trendsFilter?.showLabelsOnSeries,delete queryCopy.trendsFilter?.showPercentStackView,delete queryCopy.trendsFilter?.showLegend,delete queryCopy.trendsFilter?.showValuesOnSeries,delete queryCopy.trendsFilter?.yAxisScaleType):(0,_queries_utils__WEBPACK_IMPORTED_MODULE_2__.Wl)(queryCopy)?(camelCasedFunnelsProps.exclusions=queryCopy.funnelsFilter?.exclusions?queryCopy.funnelsFilter.exclusions.map((_ref,index)=>{let{funnelFromStep,funnelToStep,...rest}=_ref;return{funnel_from_step:funnelFromStep,funnel_to_step:funnelToStep,order:index,...seriesNodeToFilter(rest)}}):void 0,camelCasedFunnelsProps.bin_count=queryCopy.funnelsFilter?.binCount,camelCasedFunnelsProps.breakdown_attribution_type=queryCopy.funnelsFilter?.breakdownAttributionType,camelCasedFunnelsProps.breakdown_attribution_value=queryCopy.funnelsFilter?.breakdownAttributionValue,camelCasedFunnelsProps.funnel_aggregate_by_hogql=queryCopy.funnelsFilter?.funnelAggregateByHogQL,camelCasedFunnelsProps.funnel_to_step=queryCopy.funnelsFilter?.funnelToStep,camelCasedFunnelsProps.funnel_from_step=queryCopy.funnelsFilter?.funnelFromStep,camelCasedFunnelsProps.funnel_order_type=queryCopy.funnelsFilter?.funnelOrderType,camelCasedFunnelsProps.funnel_viz_type=queryCopy.funnelsFilter?.funnelVizType,camelCasedFunnelsProps.funnel_window_interval=queryCopy.funnelsFilter?.funnelWindowInterval,camelCasedFunnelsProps.funnel_window_interval_unit=queryCopy.funnelsFilter?.funnelWindowIntervalUnit,camelCasedFunnelsProps.hidden_legend_keys=hiddenLegendItemsToKeys(queryCopy.funnelsFilter?.hiddenLegendBreakdowns),camelCasedFunnelsProps.funnel_step_reference=queryCopy.funnelsFilter?.funnelStepReference,delete queryCopy.funnelsFilter?.exclusions,delete queryCopy.funnelsFilter?.binCount,delete queryCopy.funnelsFilter?.breakdownAttributionType,delete queryCopy.funnelsFilter?.breakdownAttributionValue,delete queryCopy.funnelsFilter?.funnelAggregateByHogQL,delete queryCopy.funnelsFilter?.funnelToStep,delete queryCopy.funnelsFilter?.funnelFromStep,delete queryCopy.funnelsFilter?.funnelOrderType,delete queryCopy.funnelsFilter?.funnelVizType,delete queryCopy.funnelsFilter?.funnelWindowInterval,delete queryCopy.funnelsFilter?.funnelWindowIntervalUnit,delete queryCopy.funnelsFilter?.hiddenLegendBreakdowns,delete queryCopy.funnelsFilter?.funnelStepReference):(0,_queries_utils__WEBPACK_IMPORTED_MODULE_2__.I5)(queryCopy)?(camelCasedRetentionProps.retention_reference=queryCopy.retentionFilter?.retentionReference,camelCasedRetentionProps.retention_type=queryCopy.retentionFilter?.retentionType,camelCasedRetentionProps.returning_entity=queryCopy.retentionFilter?.returningEntity,camelCasedRetentionProps.target_entity=queryCopy.retentionFilter?.targetEntity,camelCasedRetentionProps.total_intervals=queryCopy.retentionFilter?.totalIntervals,camelCasedRetentionProps.show_mean=queryCopy.retentionFilter?.showMean,camelCasedRetentionProps.cumulative=queryCopy.retentionFilter?.cumulative,delete queryCopy.retentionFilter?.retentionReference,delete queryCopy.retentionFilter?.retentionType,delete queryCopy.retentionFilter?.returningEntity,delete queryCopy.retentionFilter?.targetEntity,delete queryCopy.retentionFilter?.totalIntervals,delete queryCopy.retentionFilter?.showMean,delete queryCopy.retentionFilter?.cumulative):(0,_queries_utils__WEBPACK_IMPORTED_MODULE_2__.Qp)(queryCopy)?(camelCasedPathsProps.edge_limit=queryCopy.pathsFilter?.edgeLimit,camelCasedPathsProps.paths_hogql_expression=queryCopy.pathsFilter?.pathsHogQLExpression,camelCasedPathsProps.include_event_types=queryCopy.pathsFilter?.includeEventTypes,camelCasedPathsProps.start_point=queryCopy.pathsFilter?.startPoint,camelCasedPathsProps.end_point=queryCopy.pathsFilter?.endPoint,camelCasedPathsProps.path_groupings=queryCopy.pathsFilter?.pathGroupings,camelCasedPathsProps.exclude_events=queryCopy.pathsFilter?.excludeEvents,camelCasedPathsProps.step_limit=queryCopy.pathsFilter?.stepLimit,camelCasedPathsProps.path_replacements=queryCopy.pathsFilter?.pathReplacements,camelCasedPathsProps.local_path_cleaning_filters=queryCopy.pathsFilter?.localPathCleaningFilters,camelCasedPathsProps.min_edge_weight=queryCopy.pathsFilter?.minEdgeWeight,camelCasedPathsProps.max_edge_weight=queryCopy.pathsFilter?.maxEdgeWeight,camelCasedPathsProps.funnel_paths=queryCopy.funnelPathsFilter?.funnelPathType,camelCasedPathsProps.funnel_filter=void 0!==queryCopy.funnelPathsFilter?{...queryNodeToFilter(queryCopy.funnelPathsFilter.funnelSource),funnel_step:queryCopy.funnelPathsFilter.funnelStep}:void 0,delete queryCopy.pathsFilter?.edgeLimit,delete queryCopy.pathsFilter?.pathsHogQLExpression,delete queryCopy.pathsFilter?.includeEventTypes,delete queryCopy.pathsFilter?.startPoint,delete queryCopy.pathsFilter?.endPoint,delete queryCopy.pathsFilter?.pathGroupings,delete queryCopy.pathsFilter?.excludeEvents,delete queryCopy.pathsFilter?.stepLimit,delete queryCopy.pathsFilter?.pathReplacements,delete queryCopy.pathsFilter?.localPathCleaningFilters,delete queryCopy.pathsFilter?.minEdgeWeight,delete queryCopy.pathsFilter?.maxEdgeWeight,delete queryCopy.funnelPathsFilter):(0,_queries_utils__WEBPACK_IMPORTED_MODULE_2__.vy)(queryCopy)?(camelCasedStickinessProps.show_legend=queryCopy.stickinessFilter?.showLegend,camelCasedStickinessProps.show_values_on_series=queryCopy.stickinessFilter?.showValuesOnSeries,camelCasedStickinessProps.hidden_legend_keys=hiddenLegendItemsToKeys(queryCopy.stickinessFilter?.hiddenLegendIndexes),delete queryCopy.stickinessFilter?.showLegend,delete queryCopy.stickinessFilter?.showValuesOnSeries,delete queryCopy.stickinessFilter?.hiddenLegendIndexes):(0,_queries_utils__WEBPACK_IMPORTED_MODULE_2__.Vr)(queryCopy)&&(camelCasedLifecycleProps.show_values_on_series=queryCopy.lifecycleFilter?.showValuesOnSeries,camelCasedLifecycleProps.show_legend=queryCopy.lifecycleFilter?.showLegend,camelCasedLifecycleProps.toggledLifecycles=queryCopy.lifecycleFilter?.toggledLifecycles,delete queryCopy.lifecycleFilter?.showLegend,delete queryCopy.lifecycleFilter?.showValuesOnSeries,delete queryCopy.lifecycleFilter?.toggledLifecycles),Object.assign(filters,camelCasedTrendsProps),Object.assign(filters,camelCasedFunnelsProps),Object.assign(filters,camelCasedRetentionProps),Object.assign(filters,camelCasedPathsProps),Object.assign(filters,camelCasedStickinessProps),Object.assign(filters,camelCasedLifecycleProps),Object.assign(filters,queryCopy[nodeKindToFilterKey[query.kind]]),filters}},"./frontend/src/queries/nodes/InsightViz/InsightViz.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{hs:()=>InsightViz_InsightViz_InsightViz,Cf:()=>insightVizDataCollectionId,gG:()=>insightVizDataNodeKey});var injectStylesIntoStyleTag=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),injectStylesIntoStyleTag_default=__webpack_require__.n(injectStylesIntoStyleTag),InsightViz=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/queries/nodes/InsightViz/InsightViz.scss"),InsightViz_default=__webpack_require__.n(InsightViz),options={};options.insert="head",options.singleton=!1,injectStylesIntoStyleTag_default()(InsightViz_default(),options),InsightViz_default().locals;var clsx_m=__webpack_require__("./node_modules/.pnpm/clsx@1.2.1/node_modules/clsx/dist/clsx.m.js"),index_esm=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),useFeatureFlag=__webpack_require__("./frontend/src/lib/hooks/useFeatureFlag.ts"),react=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/index.js"),insightLogic=__webpack_require__("./frontend/src/scenes/insights/insightLogic.tsx"),insightSceneLogic=__webpack_require__("./frontend/src/scenes/insights/insightSceneLogic.tsx"),insightVizDataLogic=__webpack_require__("./frontend/src/scenes/insights/insightVizDataLogic.ts"),sharedUtils=__webpack_require__("./frontend/src/scenes/insights/sharedUtils.ts"),ErrorBoundary=__webpack_require__("./frontend/src/layout/ErrorBoundary/index.ts"),utils=__webpack_require__("./frontend/src/queries/utils.ts"),types=__webpack_require__("./frontend/src/types.ts"),dataNodeLogic=__webpack_require__("./frontend/src/queries/nodes/DataNode/dataNodeLogic.ts"),EditorFilters=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/queries/nodes/InsightViz/EditorFilters.scss"),EditorFilters_default=__webpack_require__.n(EditorFilters),EditorFilters_options={};EditorFilters_options.insert="head",EditorFilters_options.singleton=!1,injectStylesIntoStyleTag_default()(EditorFilters_default(),EditorFilters_options),EditorFilters_default().locals;var posthog_icons_es=__webpack_require__("./node_modules/.pnpm/@posthog+icons@0.9.2_react-dom@18.2.0_react@18.2.0/node_modules/@posthog/icons/dist/posthog-icons.es.js"),src=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),constants=__webpack_require__("./frontend/src/lib/constants.tsx"),CSSTransition=__webpack_require__("./node_modules/.pnpm/react-transition-group@4.4.5_react-dom@18.2.0_react@18.2.0/node_modules/react-transition-group/esm/CSSTransition.js"),funnelDataLogic=__webpack_require__("./frontend/src/scenes/funnels/funnelDataLogic.ts"),FunnelsQuerySteps=__webpack_require__("./frontend/src/scenes/insights/EditorFilters/FunnelsQuerySteps.tsx"),jsx_runtime=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function Attribution(_ref){let{insightProps}=_ref,{insightFilter,steps}=(0,index_esm.useValues)((0,funnelDataLogic.l)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,funnelDataLogic.l)(insightProps)),{breakdownAttributionType,breakdownAttributionValue,funnelOrderType}=insightFilter||{},currentValue=breakdownAttributionType?breakdownAttributionType===types.q9.Step?`${breakdownAttributionType}/${breakdownAttributionValue||0}`:breakdownAttributionType:types.q9.FirstTouch;return(0,jsx_runtime.jsx)(src.Yv,{value:currentValue,placeholder:"Attribution",options:[{value:types.q9.FirstTouch,label:"First touchpoint"},{value:types.q9.LastTouch,label:"Last touchpoint"},{value:types.q9.AllSteps,label:"All steps"},{value:types.q9.Step,label:"Any step",hidden:funnelOrderType!==types.kO.UNORDERED},{label:"Specific step",options:Array(FunnelsQuerySteps.i).fill(null).map((_,stepIndex)=>({value:`${types.q9.Step}/${stepIndex}`,label:`Step ${stepIndex+1}`,hidden:stepIndex>=steps.length})),hidden:funnelOrderType===types.kO.UNORDERED}],onChange:value=>{let[breakdownAttributionType,breakdownAttributionValue]=(value||"").split("/");value&&updateInsightFilter({breakdownAttributionType:breakdownAttributionType,breakdownAttributionValue:breakdownAttributionValue?parseInt(breakdownAttributionValue):0})},dropdownMaxContentWidth:!0,"data-attr":"breakdown-attributions"})}var LemonButton=__webpack_require__("./frontend/src/lib/lemon-ui/LemonButton/index.ts"),LemonField=__webpack_require__("./frontend/src/lib/lemon-ui/LemonField/index.ts"),dist_module=__webpack_require__("./node_modules/.pnpm/@react-hook+size@2.1.2_react@18.2.0/node_modules/@react-hook/size/dist/module/index.js"),TaxonomicFilter_types=__webpack_require__("./frontend/src/lib/components/TaxonomicFilter/types.ts"),ActionFilter=__webpack_require__("./frontend/src/scenes/insights/filters/ActionFilter/ActionFilter.tsx"),ActionFilterRow=__webpack_require__("./frontend/src/scenes/insights/filters/ActionFilter/ActionFilterRow/ActionFilterRow.tsx"),filtersToQueryNode=__webpack_require__("./frontend/src/queries/nodes/InsightQuery/utils/filtersToQueryNode.ts");function ExclusionRow(_ref){let{seriesIndicator,filter,suffix,isVertical}=_ref;return isVertical?(0,jsx_runtime.jsxs)("div",{className:"w-full",children:[(0,jsx_runtime.jsxs)("div",{className:"flex flex-nowrap items-center",children:[(0,jsx_runtime.jsx)("div",{className:"px-2",children:seriesIndicator}),(0,jsx_runtime.jsx)("div",{className:"flex-1",children:filter})]}),(0,jsx_runtime.jsx)("div",{className:"ml-9",children:suffix})]}):(0,jsx_runtime.jsxs)("div",{className:"flex items-center w-full",children:[(0,jsx_runtime.jsx)("div",{className:"px-2",children:seriesIndicator}),(0,jsx_runtime.jsx)("div",{className:"flex-1",children:filter}),suffix]})}var funnelUtils=__webpack_require__("./frontend/src/scenes/funnels/funnelUtils.ts");function ExclusionRowSuffix(_ref){var _exclusions$index$fun,_exclusions$index$fun2,_stepRange$funnelFrom,_stepRange$funnelFrom2;let{index,onClose,isVertical}=_ref,{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{querySource,funnelsFilter,series,isFunnelWithEnoughSteps,exclusionDefaultStepRange}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,insightVizDataLogic.Z)(insightProps)),exclusions=funnelsFilter?.exclusions,numberOfSeries=series?.length||0,stepRange={funnelFromStep:null!==(_exclusions$index$fun=exclusions?.[index]?.funnelFromStep)&&void 0!==_exclusions$index$fun?_exclusions$index$fun:exclusionDefaultStepRange.funnelFromStep,funnelToStep:null!==(_exclusions$index$fun2=exclusions?.[index]?.funnelToStep)&&void 0!==_exclusions$index$fun2?_exclusions$index$fun2:exclusionDefaultStepRange.funnelToStep},onChange=function(){let funnelFromStep=arguments.length>0&&void 0!==arguments[0]?arguments[0]:stepRange.funnelFromStep,funnelToStep=arguments.length>1&&void 0!==arguments[1]?arguments[1]:stepRange.funnelToStep,newStepRange=(0,funnelUtils.rN)({stepRange:{funnelFromStep,funnelToStep},query:querySource}),newExclusions=funnelsFilter?.exclusions?.map((exclusion,exclusionIndex)=>exclusionIndex===index?{...exclusion,...newStepRange}:exclusion);updateInsightFilter({exclusions:newExclusions})};return(0,jsx_runtime.jsxs)("div",{className:(0,clsx_m.default)("flex items-center flex-nowrap pl-1 mx-0",isVertical?"w-full my-1":"w-auto my-0"),children:["between",(0,jsx_runtime.jsx)(src.Yv,{className:"mx-1",size:"small",value:stepRange.funnelFromStep||0,onChange:onChange,options:Array.from(Array(numberOfSeries).keys()).slice(0,-1).map(stepIndex=>({value:stepIndex,label:`Step ${stepIndex+1}`})),disabled:!isFunnelWithEnoughSteps}),"and",(0,jsx_runtime.jsx)(src.Yv,{className:"ml-1",size:"small",value:stepRange.funnelToStep||(null!==(_stepRange$funnelFrom=stepRange.funnelFromStep)&&void 0!==_stepRange$funnelFrom?_stepRange$funnelFrom:0)+1,onChange:toStep=>onChange(stepRange.funnelFromStep,toStep),options:Array.from(Array(numberOfSeries).keys()).slice((null!==(_stepRange$funnelFrom2=stepRange.funnelFromStep)&&void 0!==_stepRange$funnelFrom2?_stepRange$funnelFrom2:0)+1).map(stepIndex=>({value:stepIndex,label:`Step ${stepIndex+1}`})),disabled:!isFunnelWithEnoughSteps}),(0,jsx_runtime.jsx)(src.Jp,{size:"small",icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconTrash,{}),onClick:onClose,"data-attr":"delete-prop-exclusion-filter",title:"Delete event exclusion series",className:"ml-1"})]})}function FunnelExclusionsFilter(){let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{exclusionFilters,exclusionDefaultStepRange,isFunnelWithEnoughSteps}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,insightVizDataLogic.Z)(insightProps)),ref=(0,react.useRef)(null),[width]=(0,dist_module.Z)(ref),isVerticalLayout=!!width&&width<450;return(0,jsx_runtime.jsx)(ActionFilter.T,{ref:ref,setFilters:filters=>{let exclusions=filters.events?.map(entity=>{let baseEntity=filtersToQueryNode.pE(entity,!1,ActionFilterRow.Qq.None);return{...baseEntity,funnelFromStep:entity.funnel_from_step,funnelToStep:entity.funnel_to_step}});updateInsightFilter({exclusions})},filters:exclusionFilters,typeKey:`${(0,sharedUtils.bk)("new")(insightProps)}-FunnelExclusionsFilter`,addFilterDefaultOptions:{id:"$pageview",name:"$pageview",type:types.DC.EVENTS,funnel_from_step:exclusionDefaultStepRange.funnelFromStep,funnel_to_step:exclusionDefaultStepRange.funnelToStep},disabled:!isFunnelWithEnoughSteps,buttonCopy:"Add exclusion",actionsTaxonomicGroupTypes:[TaxonomicFilter_types.t.Events],mathAvailability:ActionFilterRow.Qq.None,hideFilter:!0,hideRename:!0,hideDeleteBtn:!0,seriesIndicatorType:"alpha",renderRow:props=>(0,jsx_runtime.jsx)(ExclusionRow,{...props,isVertical:isVerticalLayout}),customRowSuffix:props=>(0,jsx_runtime.jsx)(ExclusionRowSuffix,{...props,isVertical:isVerticalLayout})})}function FunnelStepReferencePicker(){let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{insightFilter}=(0,index_esm.useValues)((0,funnelDataLogic.l)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,funnelDataLogic.l)(insightProps)),{funnelStepReference}=insightFilter||{},options=[{value:types.XF.total,label:"Overall conversion"},{value:types.XF.previous,label:"Relative to previous step"}];return(0,jsx_runtime.jsx)(src.Yv,{value:funnelStepReference||types.XF.total,onChange:stepRef=>stepRef&&updateInsightFilter({funnelStepReference:stepRef}),dropdownMatchSelectWidth:!1,"data-attr":"funnel-step-reference-selector",options:options})}let FunnelStepOrderPicker_options=[{label:"Sequential",value:types.kO.ORDERED},{label:"Strict order",value:types.kO.STRICT},{label:"Any order",value:types.kO.UNORDERED}];function FunnelStepOrderPicker(){let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{insightFilter}=(0,index_esm.useValues)((0,funnelDataLogic.l)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,funnelDataLogic.l)(insightProps)),{funnelOrderType}=insightFilter||{};return(0,jsx_runtime.jsx)(src.Yv,{id:"funnel-step-order-filter","data-attr":"funnel-step-order-filter",value:funnelOrderType||types.kO.ORDERED,onChange:stepOrder=>stepOrder&&updateInsightFilter({funnelOrderType:stepOrder}),dropdownMatchSelectWidth:!1,options:FunnelStepOrderPicker_options})}function FunnelsAdvanced(_ref){let{insightProps}=_ref,{querySource,aggregationTargetLabel,advancedOptionsUsedCount}=(0,index_esm.useValues)((0,funnelDataLogic.l)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,funnelDataLogic.l)(insightProps));return(0,jsx_runtime.jsxs)("div",{className:"space-y-4",children:[(0,jsx_runtime.jsx)(LemonField.D.Pure,{label:"Step order",info:(0,jsx_runtime.jsx)(StepOrderInfo,{}),children:(0,jsx_runtime.jsx)(FunnelStepOrderPicker,{})}),(0,jsx_runtime.jsx)(LemonField.D.Pure,{label:"Conversion rate calculation",children:(0,jsx_runtime.jsx)(FunnelStepReferencePicker,{})}),(0,jsx_runtime.jsx)(LemonField.D.Pure,{label:"Exclusion steps",info:(0,jsx_runtime.jsx)(ExclusionStepsInfo,{aggregationTargetLabel:aggregationTargetLabel,aggregation_group_type_index:querySource?.aggregation_group_type_index}),children:(0,jsx_runtime.jsx)(FunnelExclusionsFilter,{})}),!!advancedOptionsUsedCount&&(0,jsx_runtime.jsx)("div",{className:"mt-4",children:(0,jsx_runtime.jsx)(LemonButton.J,{status:"danger",onClick:()=>{updateInsightFilter({funnelOrderType:void 0,funnelStepReference:void 0,exclusions:void 0})},children:"Reset advanced options"})})]})}function StepOrderInfo(){return(0,jsx_runtime.jsxs)("ul",{className:"list-disc pl-4",children:[(0,jsx_runtime.jsxs)("li",{children:[(0,jsx_runtime.jsx)("b",{children:"Sequential"})," - Step B must happen after Step A, but any number events can happen between A and B."]}),(0,jsx_runtime.jsxs)("li",{children:[(0,jsx_runtime.jsx)("b",{children:"Strict order"})," - Step B must happen directly after Step A without any events in between."]}),(0,jsx_runtime.jsxs)("li",{children:[(0,jsx_runtime.jsx)("b",{children:"Any order"})," - Steps can be completed in any sequence."]})]})}function ExclusionStepsInfo(_ref2){let{aggregationTargetLabel,aggregation_group_type_index}=_ref2;return(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["Exclude ",aggregationTargetLabel.plural," ",void 0!=aggregation_group_type_index?"that":"who"," ","completed the specified event between two specific steps. Note that these ",aggregationTargetLabel.plural," ","will be ",(0,jsx_runtime.jsx)("b",{children:"completely excluded from the entire funnel"}),"."]})}var PayGateMini=__webpack_require__("./frontend/src/lib/components/PayGateMini/PayGateMini.tsx"),LemonLabel=__webpack_require__("./frontend/src/lib/lemon-ui/LemonLabel/LemonLabel.tsx"),pathsDataLogic=__webpack_require__("./frontend/src/scenes/paths/pathsDataLogic.ts"),PathCleanFilters=__webpack_require__("./frontend/src/lib/components/PathCleanFilters/PathCleanFilters.tsx"),Tooltip=__webpack_require__("./frontend/src/lib/lemon-ui/Tooltip/index.ts"),teamLogic=__webpack_require__("./frontend/src/scenes/teamLogic.tsx"),urls=__webpack_require__("./frontend/src/scenes/urls.ts");function PathCleaningFilter(_ref){let{insightProps}=_ref,{pathsFilter}=(0,index_esm.useValues)((0,pathsDataLogic.e)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,pathsDataLogic.e)(insightProps)),{localPathCleaningFilters,pathReplacements}=pathsFilter||{},{currentTeam}=(0,index_esm.useValues)(teamLogic.H),hasFilters=(currentTeam?.path_cleaning_filters||[]).length>0;return(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(PathCleanFilters.f,{filters:localPathCleaningFilters,setFilters:filters=>updateInsightFilter({localPathCleaningFilters:filters})}),(0,jsx_runtime.jsx)(Tooltip.u,{title:hasFilters?"Clean paths based using regex replacement.":"You don't have path cleaning filters. Configure via the gear icon.",children:(0,jsx_runtime.jsx)("div",{className:"inline-block mt-4 w-full",children:(0,jsx_runtime.jsx)(src.f4,{disabled:!hasFilters,checked:!!hasFilters&&(pathReplacements||!1),onChange:checked=>{updateInsightFilter({pathReplacements:checked})},label:(0,jsx_runtime.jsxs)("div",{className:"flex items-center",children:[(0,jsx_runtime.jsx)("span",{children:"Apply global path URL cleaning"}),(0,jsx_runtime.jsx)(src.Jp,{icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconGear,{}),to:urls.j.settings("project-product-analytics","path-cleaning"),size:"small",noPadding:!0,className:"ml-1"})]}),fullWidth:!0,bordered:!0})})})]})}function PathsAdvanced(_ref){let{insightProps,...rest}=_ref,{pathsFilter}=(0,index_esm.useValues)((0,pathsDataLogic.e)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,pathsDataLogic.e)(insightProps)),{edgeLimit,minEdgeWeight,maxEdgeWeight}=pathsFilter||{},[localEdgeParameters,setLocalEdgeParameters]=(0,react.useState)({edgeLimit,minEdgeWeight,maxEdgeWeight}),updateEdgeParameters=()=>{(localEdgeParameters.edgeLimit!==edgeLimit||localEdgeParameters.minEdgeWeight!==minEdgeWeight||localEdgeParameters.maxEdgeWeight!==maxEdgeWeight)&&updateInsightFilter({...localEdgeParameters})};return(0,jsx_runtime.jsx)(PayGateMini.E,{feature:types.P$.PATHS_ADVANCED,children:(0,jsx_runtime.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,jsx_runtime.jsx)(src.p2,{}),(0,jsx_runtime.jsx)(LemonLabel.H,{info:"Determines the maximum number of path nodes that can be generated. If necessary certain items will be grouped.",children:"Maximum number of paths"}),(0,jsx_runtime.jsx)(src.DF,{type:"number",min:0,max:1e3,defaultValue:localEdgeParameters.edgeLimit||50,onChange:value=>setLocalEdgeParameters(state=>({...state,edgeLimit:Number(value)})),onBlur:updateEdgeParameters,onPressEnter:updateEdgeParameters}),(0,jsx_runtime.jsx)(LemonLabel.H,{info:"Determines the minimum and maximum number of persons in each path. Helps adjust the density of the visualization.",className:"mt-2",children:"Number of people on each path"}),(0,jsx_runtime.jsxs)("div",{className:"flex items-baseline",children:[(0,jsx_runtime.jsx)("span",{className:"mr-2",children:"Between"}),(0,jsx_runtime.jsx)(src.DF,{type:"number",min:0,max:1e5,defaultValue:localEdgeParameters.minEdgeWeight,onChange:value=>{setLocalEdgeParameters(state=>({...state,minEdgeWeight:Number(value)})),updateEdgeParameters()},onBlur:updateEdgeParameters,onPressEnter:updateEdgeParameters}),(0,jsx_runtime.jsx)("span",{className:"mx-2",children:"and"}),(0,jsx_runtime.jsx)(src.DF,{type:"number",onChange:value=>{setLocalEdgeParameters(state=>({...state,maxEdgeWeight:Number(value)})),updateEdgeParameters()},min:0,max:1e5,defaultValue:localEdgeParameters.maxEdgeWeight,onBlur:updateEdgeParameters,onPressEnter:updateEdgeParameters}),(0,jsx_runtime.jsx)("span",{className:"ml-2",children:"persons."})]}),(0,jsx_runtime.jsxs)("div",{children:[(0,jsx_runtime.jsx)("div",{className:"flex items-center my-2",children:(0,jsx_runtime.jsx)(LemonLabel.H,{info:(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:"Cleaning rules are an advanced feature that uses regex to normalize URLS for paths visualization. Rules can be set for all insights in the project settings, or they can be defined specifically for an insight."}),children:"Path Cleaning Rules"})}),(0,jsx_runtime.jsx)(PathCleaningFilter,{insightProps:insightProps,...rest})]})]})})}var LemonCheckbox=__webpack_require__("./frontend/src/lib/lemon-ui/LemonCheckbox/index.ts"),lib_utils=__webpack_require__("./frontend/src/lib/utils.tsx"),insights_utils=__webpack_require__("./frontend/src/scenes/insights/utils.tsx");function PathsEventsTypes(_ref){let{insightProps}=_ref,{pathsFilter}=(0,index_esm.useValues)((0,pathsDataLogic.e)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,pathsDataLogic.e)(insightProps)),includeEventTypes=pathsFilter?.includeEventTypes,setIncludeEventTypes=includeEventTypes=>{updateInsightFilter({includeEventTypes:includeEventTypes})},options=[{type:types.cB.PageView,label:"Page views",selected:includeEventTypes?.includes(types.cB.PageView)},{type:types.cB.Screen,label:"Screen views",selected:includeEventTypes?.includes(types.cB.Screen)},{type:types.cB.CustomEvent,label:"Custom event",selected:includeEventTypes?.includes(types.cB.CustomEvent)},{type:types.cB.HogQL,label:"HogQL expression",selected:includeEventTypes?.includes(types.cB.HogQL)}],onClickPathtype=pathType=>{includeEventTypes?includeEventTypes.includes(pathType)?setIncludeEventTypes(includeEventTypes.filter(types=>types!==pathType)):setIncludeEventTypes(includeEventTypes?[...includeEventTypes,pathType]:[pathType]):setIncludeEventTypes([pathType])},summary=(0,lib_utils.fm)((0,insights_utils.FE)(includeEventTypes).join(" & "));return(0,jsx_runtime.jsx)(LemonButton.$,{fullWidth:!0,type:"secondary",dropdown:{matchWidth:!0,closeOnClickInside:!1,overlay:options.map(option=>(0,jsx_runtime.jsxs)(LemonButton.J,{onClick:()=>onClickPathtype(option.type),disabledReason:option.selected&&includeEventTypes?.length===1?"At least one event type must be selected":void 0,fullWidth:!0,"data-attr":option["data-attr"],children:[(0,jsx_runtime.jsx)("span",{className:"pointer-events-none mr-2",children:(0,jsx_runtime.jsx)(LemonCheckbox.H,{checked:option.selected})}),option.label]},option.type)),actionable:!0},children:summary})}var TaxonomicFilter=__webpack_require__("./frontend/src/lib/components/TaxonomicFilter/TaxonomicFilter.tsx"),Popover=__webpack_require__("./frontend/src/lib/lemon-ui/Popover/Popover.tsx");function PathItemSelector(_ref){let{pathItem,onChange,children,taxonomicGroupTypes,disabled,wildcardOptions}=_ref,[visible,setVisible]=(0,react.useState)(!1);return(0,jsx_runtime.jsx)(Popover.J2,{visible:visible,placement:"bottom-end",onClickOutside:()=>setVisible(!1),overlay:(0,jsx_runtime.jsx)(TaxonomicFilter.I,{value:pathItem,onChange:(_,value)=>{onChange(value),setVisible(!1)},taxonomicGroupTypes:taxonomicGroupTypes,optionsFromProp:{wildcard:wildcardOptions}}),children:(0,jsx_runtime.jsx)("div",{onClick:disabled?()=>{}:()=>setVisible(!visible),children:children})})}var PropertyFilterButton=__webpack_require__("./frontend/src/lib/components/PropertyFilters/components/PropertyFilterButton.tsx"),propertyFilterLogic=__webpack_require__("./frontend/src/lib/components/PropertyFilters/propertyFilterLogic.ts");function PathItemFilters(_ref){let{propertyFilters,onChange,pageKey,taxonomicGroupTypes,wildcardOptions}=_ref,logicProps={propertyFilters,onChange,pageKey},{filtersWithNew}=(0,index_esm.useValues)((0,propertyFilterLogic.n)(logicProps)),{setFilter,remove,setFilters}=(0,index_esm.useActions)((0,propertyFilterLogic.n)(logicProps));return(0,react.useEffect)(()=>{propertyFilters&&!(0,lib_utils.h0)(propertyFilters,filtersWithNew)&&setFilters([...propertyFilters,{}])},[propertyFilters]),(0,jsx_runtime.jsx)(index_esm.BindLogic,{logic:propertyFilterLogic.n,props:logicProps,children:filtersWithNew?.map((filter,index)=>jsx_runtime.jsx("div",{className:"mb-2",children:jsx_runtime.jsx(PathItemSelector,{pathItem:filter.value,onChange:pathItem=>setFilter(index,{key:pathItem,value:pathItem,type:types.FT.Event,operator:types.WV.Exact}),index:index,taxonomicGroupTypes:taxonomicGroupTypes,wildcardOptions:wildcardOptions,children:filter.value?jsx_runtime.jsx(PropertyFilterButton.C,{item:filter,onClose:()=>{remove(index)},children:filter.value.toString()}):jsx_runtime.jsx(src.Jp,{className:"new-prop-filter","data-attr":"new-prop-filter-"+pageKey,type:"secondary",icon:jsx_runtime.jsx(posthog_icons_es.IconPlusSmall,{}),sideIcon:null,children:"Add exclusion"})})},index))})}function PathsExclusions(_ref){let{insightProps}=_ref,{pathsFilter,taxonomicGroupTypes}=(0,index_esm.useValues)((0,pathsDataLogic.e)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,pathsDataLogic.e)(insightProps)),{excludeEvents,pathGroupings}=pathsFilter||{};return(0,jsx_runtime.jsx)(PathItemFilters,{taxonomicGroupTypes:taxonomicGroupTypes,pageKey:`${(0,sharedUtils.bk)("new")(insightProps)}-excludeEvents`,propertyFilters:excludeEvents&&excludeEvents.map(name=>({key:name,value:name,operator:types.WV.Exact,type:types.FT.Event})),onChange:values=>{updateInsightFilter({excludeEvents:values.map(v=>v.value)})},wildcardOptions:pathGroupings?.map(name=>({name}))})}var TaxonomicPopover=__webpack_require__("./frontend/src/lib/components/TaxonomicPopover/TaxonomicPopover.tsx");function PathsHogQL(_ref){let{insightProps}=_ref,{pathsFilter}=(0,index_esm.useValues)((0,pathsDataLogic.e)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,pathsDataLogic.e)(insightProps));return(0,jsx_runtime.jsx)(TaxonomicPopover.b,{groupType:TaxonomicFilter_types.t.HogQLExpression,value:pathsFilter?.pathsHogQLExpression||"event","data-attr":"paths-hogql-expression",fullWidth:!0,onChange:(v,g)=>{let hogQl=(0,utils.R_)(g,v);hogQl&&updateInsightFilter({pathsHogQLExpression:hogQl})},groupTypes:[TaxonomicFilter_types.t.HogQLExpression]})}var lib=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),icons=__webpack_require__("./frontend/src/lib/lemon-ui/icons/index.ts"),queryNodeToFilter=__webpack_require__("./frontend/src/queries/nodes/InsightQuery/utils/queryNodeToFilter.ts");function PathsTargetStart(props){return(0,jsx_runtime.jsx)(PathsTarget,{position:"start",...props})}function PathsTargetEnd(props){return(0,jsx_runtime.jsx)(PathsTarget,{position:"end",...props})}function PathsTarget(_ref){let{position,insightProps}=_ref,{pathsFilter,funnelPathsFilter,taxonomicGroupTypes}=(0,index_esm.useValues)((0,pathsDataLogic.e)(insightProps)),{updateInsightFilter,updateQuerySource}=(0,index_esm.useActions)((0,pathsDataLogic.e)(insightProps)),{startPoint,endPoint,pathGroupings}=pathsFilter||{},{funnelPathType,funnelSource,funnelStep}=funnelPathsFilter||{},overrideStartInput=funnelPathType&&[types.hP.between,types.hP.after].includes(funnelPathType),overrideEndInput=funnelPathType&&[types.hP.between,types.hP.before].includes(funnelPathType),overrideInputs=overrideStartInput||overrideEndInput,key="start"===position?"startPoint":"endPoint",onReset=()=>{updateQuerySource({pathsFilter:{...pathsFilter,[key]:void 0},funnelPathsFilter:void 0})};function _getStepLabel(funnelSource,index){var _filters$series$name;let shift=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return funnelSource&&index?(0,jsx_runtime.jsxs)("div",{className:"flex items-center gap-2",children:[(0,jsx_runtime.jsx)(icons.SE,{className:"text-2xl"}),(0,jsx_runtime.jsx)("span",{className:"label",children:`${index>0?"Funnel step "+(index+shift):"Funnel dropoff "+-1*index}: ${null!==(_filters$series$name=funnelSource.series[(index>0?index+shift:-1*index)-1].name)&&void 0!==_filters$series$name?_filters$series$name:""}`})]}):(0,jsx_runtime.jsx)("span",{})}let positionOptions={start:{index:0,getLabel:function(){return funnelPathType?funnelPathType===types.hP.after?_getStepLabel(funnelSource,funnelStep):funnelPathType===types.hP.between?_getStepLabel(funnelSource,funnelStep,-1):(0,jsx_runtime.jsx)("span",{}):startPoint?(0,jsx_runtime.jsx)("span",{className:"label",children:startPoint}):(0,jsx_runtime.jsx)("span",{className:"label text-muted",children:"Add start point"})},pathItem:startPoint,closeButtonEnabled:startPoint||overrideStartInput,disabled:overrideEndInput&&!overrideStartInput,funnelFilterLink:funnelSource&&overrideStartInput},end:{index:1,getLabel:function(){return funnelPathType?funnelPathType===types.hP.before||funnelPathType===types.hP.between?_getStepLabel(funnelSource,funnelStep):(0,jsx_runtime.jsx)("span",{}):endPoint?(0,jsx_runtime.jsx)("span",{className:"label",children:endPoint}):(0,jsx_runtime.jsx)("span",{className:"label text-muted",children:"Add end point"})},pathItem:endPoint,closeButtonEnabled:endPoint||overrideEndInput,disabled:overrideStartInput&&!overrideEndInput,funnelFilterLink:funnelSource&&overrideEndInput}}[position];return(0,jsx_runtime.jsx)(PathItemSelector,{pathItem:positionOptions.pathItem,index:positionOptions.index,onChange:item=>{updateInsightFilter({[key]:item})},taxonomicGroupTypes:taxonomicGroupTypes,disabled:overrideInputs,wildcardOptions:pathGroupings?.map(name=>({name})),children:(0,jsx_runtime.jsx)(LemonButton.J,{"data-attr":"new-prop-filter-"+positionOptions.index,fullWidth:!0,className:"paths-endpoint-field",type:"secondary",active:overrideInputs,disabled:positionOptions.disabled,onClick:positionOptions.funnelFilterLink?()=>{lib.router.actions.push((0,lib.combineUrl)("/insights",(0,lib.encodeParams)((0,queryNodeToFilter.ce)(funnelSource),"?")).url)}:()=>{},sideAction:positionOptions.closeButtonEnabled?{icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconX,{}),type:"tertiary",onClick:e=>{onReset(),e.stopPropagation()}}:null,children:positionOptions.getLabel()})})}var LemonInputSelect=__webpack_require__("./frontend/src/lib/lemon-ui/LemonInputSelect/LemonInputSelect.tsx");function PathsWildcardGroups(_ref){let{insightProps}=_ref,{pathsFilter}=(0,index_esm.useValues)((0,pathsDataLogic.e)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,pathsDataLogic.e)(insightProps));return(0,jsx_runtime.jsx)(LemonInputSelect.n,{onChange:pathGroupings=>updateInsightFilter({pathGroupings}),value:pathsFilter?.pathGroupings||[],disableFiltering:!0,mode:"multiple",allowCustomValues:!0})}var Link=__webpack_require__("./frontend/src/lib/lemon-ui/Link/index.ts"),react_toastify_esm=__webpack_require__("./node_modules/.pnpm/react-toastify@8.2.0_react-dom@18.2.0_react@18.2.0/node_modules/react-toastify/dist/react-toastify.esm.js"),AggregationSelect=__webpack_require__("./frontend/src/scenes/insights/filters/AggregationSelect.tsx"),retention_constants=__webpack_require__("./frontend/src/scenes/retention/constants.ts"),groupsModel=__webpack_require__("./frontend/src/models/groupsModel.ts");function RetentionSummary(_ref){let{insightProps}=_ref,{showGroupsOptions}=(0,index_esm.useValues)(groupsModel.$),{retentionFilter}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,insightVizDataLogic.Z)(insightProps)),{targetEntity,returningEntity,retentionType,totalIntervals,period}=retentionFilter||{};return(0,jsx_runtime.jsxs)("div",{className:"space-y-2","data-attr":"retention-summary",children:[(0,jsx_runtime.jsxs)("div",{className:"flex items-center",children:["Show",showGroupsOptions?(0,jsx_runtime.jsx)(AggregationSelect.C8,{className:"mx-2",insightProps:insightProps,hogqlAvailable:!1}):(0,jsx_runtime.jsx)("b",{children:" Unique users "}),"who performed"]}),(0,jsx_runtime.jsxs)("div",{className:"flex items-center",children:["event or action",(0,jsx_runtime.jsx)("span",{className:"mx-2",children:(0,jsx_runtime.jsx)(ActionFilter.T,{entitiesLimit:1,mathAvailability:ActionFilterRow.Qq.None,hideFilter:!0,hideRename:!0,buttonCopy:"Add graph series",filters:{events:[targetEntity]},setFilters:newFilters=>{newFilters.events&&newFilters.events.length>0?updateInsightFilter({targetEntity:newFilters.events[0]}):newFilters.actions&&newFilters.actions.length>0?updateInsightFilter({targetEntity:newFilters.actions[0]}):updateInsightFilter({targetEntity:void 0})},typeKey:`${(0,sharedUtils.bk)("new")(insightProps)}-targetEntity`})}),(0,jsx_runtime.jsx)(src.Yv,{options:Object.entries(retention_constants.Yy).map(_ref2=>{let[key,value]=_ref2;return{label:value,value:key,element:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[value,(0,jsx_runtime.jsx)(Tooltip.u,{placement:"right",title:retention_constants.zm[key],children:(0,jsx_runtime.jsx)(posthog_icons_es.IconInfo,{className:"info-indicator"})})]})}}),value:retentionType?retention_constants.Yy[retentionType]:void 0,onChange:value=>updateInsightFilter({retentionType:value}),dropdownMatchSelectWidth:!1})]}),(0,jsx_runtime.jsxs)("div",{className:"flex items-center",children:["in the last",(0,jsx_runtime.jsx)(src.DF,{type:"number",className:"ml-2 w-20",defaultValue:(null!=totalIntervals?totalIntervals:11)-1,min:1,max:31,onBlur:_ref3=>{let{target}=_ref3,newValue=Number(target.value);newValue>31&&((newValue=Number(target.value.substring(0,2)))>31&&(newValue=10),react_toastify_esm.Am.warn((0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["The maximum number of ",retention_constants.M0[period||"Day"]," is ",(0,jsx_runtime.jsx)("strong",{children:"31"})]}))),target.value=newValue.toString(),updateInsightFilter({totalIntervals:(newValue||0)+1})}}),(0,jsx_runtime.jsx)(src.Yv,{className:"mx-2",value:period,onChange:value=>updateInsightFilter({period:value||void 0}),options:retention_constants.Vh.map(period=>({value:period,label:retention_constants.M0[period]||period})),dropdownMatchSelectWidth:!1}),"and then came back to perform"]}),(0,jsx_runtime.jsxs)("div",{className:"flex items-center",children:["event or action",(0,jsx_runtime.jsx)("span",{className:"mx-2",children:(0,jsx_runtime.jsx)(ActionFilter.T,{entitiesLimit:1,mathAvailability:ActionFilterRow.Qq.None,hideFilter:!0,hideRename:!0,buttonCopy:"Add graph series",filters:{events:[returningEntity]},setFilters:newFilters=>{newFilters.events&&newFilters.events.length>0?updateInsightFilter({returningEntity:newFilters.events[0]}):newFilters.actions&&newFilters.actions.length>0?updateInsightFilter({returningEntity:newFilters.actions[0]}):updateInsightFilter({returningEntity:void 0})},typeKey:`${(0,sharedUtils.bk)("new")(insightProps)}-returningEntity`})}),"on any of the next ",retention_constants.M0[null!=period?period:"Day"],"."]}),(0,jsx_runtime.jsx)("div",{children:(0,jsx_runtime.jsxs)("p",{className:"text-muted mt-4",children:["Want to learn more about retention?"," ",(0,jsx_runtime.jsx)(Link.r,{to:"https://posthog.com/docs/product-analytics/retention?utm_campaign=learn-more-horizontal&utm_medium=in-product",target:"_blank",className:"inline-flex items-center",children:"Go to docs"})]})})]})}var posthog_js_dist_module=__webpack_require__("./node_modules/.pnpm/posthog-js@1.205.0/node_modules/posthog-js/dist/module.js"),samplingFilterLogic=__webpack_require__("./frontend/src/scenes/insights/EditorFilters/samplingFilterLogic.ts");function SamplingFilter(_ref){let{insightProps,infoTooltipContent}=_ref,{isDataWarehouseSeries}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),{samplingPercentage}=(0,index_esm.useValues)((0,samplingFilterLogic.s)(insightProps)),{setSamplingPercentage}=(0,index_esm.useActions)((0,samplingFilterLogic.s)(insightProps));return(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsxs)("div",{className:"flex items-center gap-1",children:[(0,jsx_runtime.jsxs)(src.HQ,{info:infoTooltipContent||"Sampling computes the result on only a subset of the data, making insights load significantly faster.",infoLink:"https://posthog.com/docs/product-analytics/sampling",children:["Sampling ",(0,jsx_runtime.jsx)(src.oe,{type:"warning",children:"BETA"})]}),(0,jsx_runtime.jsx)(src.f4,{className:"m-2",onChange:checked=>{if(checked){setSamplingPercentage(10),posthog_js_dist_module.ZP.capture("sampling_enabled_on_insight");return}setSamplingPercentage(null),posthog_js_dist_module.ZP.capture("sampling_disabled_on_insight")},checked:!!samplingPercentage,disabledReason:isDataWarehouseSeries?"Sampling is not available for data warehouse series":void 0})]}),samplingPercentage?(0,jsx_runtime.jsx)("div",{className:"SamplingFilter",children:(0,jsx_runtime.jsx)("div",{className:"flex items-center gap-2",children:(0,jsx_runtime.jsx)(src.P4,{options:samplingFilterLogic.N.map(percentage=>({value:percentage,label:`${percentage}%`})),value:samplingPercentage,onChange:newValue=>{setSamplingPercentage(newValue),posthog_js_dist_module.ZP.capture("sampling_percentage_updated",{samplingPercentage})}})})}):null]})}var userLogic=__webpack_require__("./frontend/src/scenes/userLogic.ts"),OperatorValueSelect=__webpack_require__("./frontend/src/lib/components/PropertyFilters/components/OperatorValueSelect.tsx");function StickinessCriteria(_ref){var _stickinessCriteria$o,_stickinessCriteria$v;let{insightProps}=_ref,{stickinessFilter}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,insightVizDataLogic.Z)(insightProps)),stickinessCriteria=stickinessFilter?.stickinessCriteria,currentOperator=null!==(_stickinessCriteria$o=stickinessCriteria?.operator)&&void 0!==_stickinessCriteria$o?_stickinessCriteria$o:types.WV.GreaterThanOrEqual,currentValue=null!==(_stickinessCriteria$v=stickinessCriteria?.value)&&void 0!==_stickinessCriteria$v?_stickinessCriteria$v:1,operators=[types.WV.LessThanOrEqual,types.WV.GreaterThanOrEqual,types.WV.Exact];return(0,jsx_runtime.jsxs)("div",{className:"flex items-center gap-2",children:[(0,jsx_runtime.jsx)(OperatorValueSelect.y,{className:"flex-1",operator:currentOperator,operators:operators,onChange:newOperator=>{updateInsightFilter({stickinessCriteria:{operator:newOperator,value:currentValue}})}}),(0,jsx_runtime.jsx)(src.DF,{type:"number",className:"ml-2 w-20",defaultValue:currentValue,min:1,onChange:newValue=>{void 0!==newValue&&updateInsightFilter({stickinessCriteria:{operator:currentOperator,value:newValue}})}}),"time(s) per interval"]})}var lemon_ui_LemonLabel=__webpack_require__("./frontend/src/lib/lemon-ui/LemonLabel/index.ts"),lemon_ui_Popover=__webpack_require__("./frontend/src/lib/lemon-ui/Popover/index.ts"),BreakdownTag=__webpack_require__("./frontend/src/scenes/insights/filters/BreakdownFilter/BreakdownTag.tsx"),GlobalBreakdownOptionsMenu=__webpack_require__("./frontend/src/scenes/insights/filters/BreakdownFilter/GlobalBreakdownOptionsMenu.tsx"),taxonomicBreakdownFilterLogic=__webpack_require__("./frontend/src/scenes/insights/filters/BreakdownFilter/taxonomicBreakdownFilterLogic.ts"),TaxonomicBreakdownPopover=__webpack_require__("./frontend/src/scenes/insights/filters/BreakdownFilter/TaxonomicBreakdownPopover.tsx");function TaxonomicBreakdownButton(_ref){let{disabledReason}=_ref,[open1,setOpen]=(0,react.useState)(!1),{taxonomicBreakdownType}=(0,index_esm.useValues)(taxonomicBreakdownFilterLogic.Nx);return(0,jsx_runtime.jsx)(TaxonomicBreakdownPopover.$,{open:open1,setOpen:setOpen,children:(0,jsx_runtime.jsx)(src.Jp,{type:"secondary",icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconPlusSmall,{color:"var(--primary)"}),"data-attr":"add-breakdown-button",onClick:()=>setOpen(!open1),sideIcon:null,disabledReason:disabledReason,children:taxonomicBreakdownType===TaxonomicFilter_types.t.CohortsWithAllUsers?"Add cohort":"Add breakdown"})})}function TaxonomicBreakdownFilter(_ref){let{insightProps,breakdownFilter,display,isTrends,disabledReason,updateBreakdownFilter,updateDisplay}=_ref,logicProps={insightProps,isTrends,display,breakdownFilter:breakdownFilter||{},updateBreakdownFilter,updateDisplay},{breakdownArray,isAddBreakdownDisabled,breakdownOptionsOpened,isMultipleBreakdownsEnabled}=(0,index_esm.useValues)((0,taxonomicBreakdownFilterLogic.Nx)(logicProps)),{toggleBreakdownOptions}=(0,index_esm.useActions)((0,taxonomicBreakdownFilterLogic.Nx)(logicProps)),tags=breakdownArray.map(breakdown=>{var _breakdown$type,_breakdownFilter$brea;return"object"==typeof breakdown?(0,jsx_runtime.jsx)(BreakdownTag.u,{breakdown:breakdown.property,breakdownType:null!==(_breakdown$type=breakdown.type)&&void 0!==_breakdown$type?_breakdown$type:"event",isTrends:isTrends},breakdown.property):(0,jsx_runtime.jsx)(BreakdownTag.u,{breakdown:breakdown,breakdownType:null!==(_breakdownFilter$brea=breakdownFilter?.breakdown_type)&&void 0!==_breakdownFilter$brea?_breakdownFilter$brea:"event",isTrends:isTrends},breakdown)});return(0,jsx_runtime.jsxs)(index_esm.BindLogic,{logic:taxonomicBreakdownFilterLogic.Nx,props:logicProps,children:[(0,jsx_runtime.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,jsx_runtime.jsx)(lemon_ui_LemonLabel.H,{info:"Use breakdown to see the aggregation (total volume, active users, etc.) for each value of that property. For example, breaking down by Current URL with total volume will give you the event volume for each URL your users have visited.",children:"Breakdown by"}),isMultipleBreakdownsEnabled&&(0,jsx_runtime.jsx)(lemon_ui_Popover.J2,{overlay:(0,jsx_runtime.jsx)(GlobalBreakdownOptionsMenu.n,{}),visible:breakdownOptionsOpened,onClickOutside:()=>toggleBreakdownOptions(!1),children:(0,jsx_runtime.jsx)(LemonButton.J,{icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconGear,{}),size:"small",noPadding:!0,onClick:()=>toggleBreakdownOptions(!breakdownOptionsOpened)})})]}),(0,jsx_runtime.jsxs)("div",{className:"flex flex-wrap gap-2 items-center",children:[tags,!isAddBreakdownDisabled&&(0,jsx_runtime.jsx)(TaxonomicBreakdownButton,{disabledReason:disabledReason})]})]})}function Breakdown(_ref){let{insightProps}=_ref,{breakdownFilter,display,isTrends,isSingleSeries,isDataWarehouseSeries}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),{updateBreakdownFilter,updateDisplay}=(0,index_esm.useActions)((0,insightVizDataLogic.Z)(insightProps));return(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:(0,jsx_runtime.jsx)(TaxonomicBreakdownFilter,{insightProps:insightProps,breakdownFilter:breakdownFilter,display:display,isTrends:isTrends,updateBreakdownFilter:updateBreakdownFilter,updateDisplay:updateDisplay,disabledReason:!isSingleSeries&&isDataWarehouseSeries?"Breakdowns are not allowed for multiple series types":void 0})})}var EditorFilterGroup=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/queries/nodes/InsightViz/EditorFilterGroup.scss"),EditorFilterGroup_default=__webpack_require__.n(EditorFilterGroup),EditorFilterGroup_options={};EditorFilterGroup_options.insert="head",EditorFilterGroup_options.singleton=!1,injectStylesIntoStyleTag_default()(EditorFilterGroup_default(),EditorFilterGroup_options),EditorFilterGroup_default().locals;var LemonBadge=__webpack_require__("./frontend/src/lib/lemon-ui/LemonBadge/LemonBadge.tsx");function EditorFilterGroup_EditorFilterGroup(_ref){let{insightProps,editorFilterGroup}=_ref,{title,count,defaultExpanded=!0,editorFilters}=editorFilterGroup,[isRowExpanded,setIsRowExpanded]=(0,react.useState)(defaultExpanded);return(0,jsx_runtime.jsxs)("div",{className:"EditorFilterGroup",children:[title&&(0,jsx_runtime.jsx)("div",{className:"EditorFilterGroup__title",children:(0,jsx_runtime.jsx)(LemonButton.J,{fullWidth:!0,onClick:()=>setIsRowExpanded(!isRowExpanded),sideIcon:isRowExpanded?(0,jsx_runtime.jsx)(posthog_icons_es.IconCollapse,{}):(0,jsx_runtime.jsx)(posthog_icons_es.IconExpand,{}),title:isRowExpanded?"Show less":"Show more","data-attr":"editor-filter-group-collapse-"+(0,lib_utils.lV)(title),children:(0,jsx_runtime.jsxs)("div",{className:"flex items-center space-x-2 font-semibold",children:[(0,jsx_runtime.jsx)("span",{children:title}),(0,jsx_runtime.jsx)(LemonBadge.M.Number,{count:count||0})]})})}),isRowExpanded?(0,jsx_runtime.jsx)("div",{className:"EditorFilterGroup__content",children:editorFilters.map(_ref2=>{let{label:Label,tooltip,showOptional,key,component:Component}=_ref2;if(Component&&"component"===Component.name)throw Error(`Component for filter ${key} is an anonymous function, which is not a valid React component! Use a named function instead.`);return(0,jsx_runtime.jsx)(react.Fragment,{children:(0,jsx_runtime.jsx)(LemonField.D.Pure,{label:"function"==typeof Label?(0,jsx_runtime.jsx)(Label,{insightProps:insightProps}):Label,info:tooltip,showOptional:showOptional,children:Component?(0,jsx_runtime.jsx)(Component,{insightProps:insightProps}):null})},key)})}):null]},title)}var actionsModel=__webpack_require__("./frontend/src/models/actionsModel.ts"),PropertyGroupFilters=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/queries/nodes/InsightViz/PropertyGroupFilters/PropertyGroupFilters.scss"),PropertyGroupFilters_default=__webpack_require__.n(PropertyGroupFilters),PropertyGroupFilters_options={};PropertyGroupFilters_options.insert="head",PropertyGroupFilters_options.singleton=!1,injectStylesIntoStyleTag_default()(PropertyGroupFilters_default(),PropertyGroupFilters_options),PropertyGroupFilters_default().locals;var PropertyFilters=__webpack_require__("./frontend/src/lib/components/PropertyFilters/PropertyFilters.tsx"),PropertyFilters_utils=__webpack_require__("./frontend/src/lib/components/PropertyFilters/utils.ts"),TestAccountFiltersSwitch=__webpack_require__("./frontend/src/lib/components/TestAccountFiltersSwitch.tsx"),filterTestAccountDefaultsLogic=__webpack_require__("./frontend/src/scenes/settings/environment/filterTestAccountDefaultsLogic.ts");function InsightTestAccountFilter(_ref){let{query,setQuery,disabledReason}=_ref,{currentTeam}=(0,index_esm.useValues)(teamLogic.H),{setLocalDefault}=(0,index_esm.useActions)(filterTestAccountDefaultsLogic.V),hasFilters=(currentTeam?.test_account_filters||[]).length>0;return(0,jsx_runtime.jsx)(TestAccountFiltersSwitch.Z,{checked:!!hasFilters&&!!query.filterTestAccounts,onChange:checked=>{setQuery({...query,filterTestAccounts:checked}),setLocalDefault(checked)},disabledReason:disabledReason,fullWidth:!0})}var AndOrFilterSelect=__webpack_require__("./frontend/src/queries/nodes/InsightViz/PropertyGroupFilters/AndOrFilterSelect.tsx"),eventUsageLogic=__webpack_require__("./frontend/src/lib/utils/eventUsageLogic.ts");let propertyGroupFilterLogic=(0,index_esm.kea)([(0,index_esm.path)(["queries","nodes","InsightViz","PropertyGroupFilters","propertyGroupFilterLogic"]),(0,index_esm.props)({}),(0,index_esm.key)(props=>props.pageKey),(0,index_esm.propsChanged)((_ref,oldProps)=>{let{actions,props}=_ref;props.query&&!(0,lib_utils.h0)(props.query.properties,oldProps.query.properties)&&actions.setFilters((0,PropertyFilters_utils.N0)(props.query.properties))}),(0,index_esm.actions)({update:propertyGroupIndex=>({propertyGroupIndex}),setFilters:filters=>({filters}),removeFilterGroup:filterGroup=>({filterGroup}),setOuterPropertyGroupsType:type=>({type}),setPropertyFilters:(properties,index)=>({properties,index}),setInnerPropertyGroupType:(type,index)=>({type,index}),duplicateFilterGroup:propertyGroupIndex=>({propertyGroupIndex}),addFilterGroup:!0}),(0,index_esm.reducers)(_ref2=>{let{props}=_ref2;return{filters:[(0,PropertyFilters_utils.N0)(props.query.properties),{setFilters:(_,_ref3)=>{let{filters}=_ref3;return filters},addFilterGroup:state=>{if(!state.values)return{type:types.J2.And,values:[{type:types.J2.And,values:[]}]};let filterGroups=[...state.values,{type:types.J2.And,values:[]}];return{...state,values:filterGroups}},removeFilterGroup:(state,_ref4)=>{let{filterGroup}=_ref4,filteredGroups=[...state.values];return filteredGroups.splice(filterGroup,1),{...state,values:filteredGroups}},setOuterPropertyGroupsType:(state,_ref5)=>{let{type}=_ref5;return{...state,type}},setPropertyFilters:(state,_ref6)=>{let{properties,index}=_ref6,values=[...state.values];return values[index]={...values[index],values:properties},{...state,values}},setInnerPropertyGroupType:(state,_ref7)=>{let{type,index}=_ref7,values=[...state.values];return values[index]={...values[index],type},{...state,values}},duplicateFilterGroup:(state,_ref8)=>{let{propertyGroupIndex}=_ref8,values=state.values.concat([state.values[propertyGroupIndex]]);return{...state,values}}}]}}),(0,index_esm.listeners)(_ref9=>{let{actions,props,values}=_ref9;return{setFilters:()=>actions.update(),setPropertyFilters:()=>actions.update(),setInnerPropertyGroupType:_ref10=>{let{type,index}=_ref10;eventUsageLogic.vx.actions.reportChangeInnerPropertyGroupFiltersType(type,values.filters.values[index].values.length),actions.update()},setOuterPropertyGroupsType:_ref11=>{let{type}=_ref11;eventUsageLogic.vx.actions.reportChangeOuterPropertyGroupFiltersType(type,values.filters.values.length),actions.update()},removeFilterGroup:()=>actions.update(),addFilterGroup:()=>{eventUsageLogic.vx.actions.reportPropertyGroupFilterAdded()},update:()=>{props.setQuery({...props.query,properties:values.filters})}}}),(0,index_esm.selectors)({propertyGroupFilter:[s=>[s.filters],propertyGroupFilter=>propertyGroupFilter]})]);function PropertyGroupFilters_PropertyGroupFilters_PropertyGroupFilters(_ref){let{insightProps,query,setQuery,pageKey,eventNames=[],taxonomicGroupTypes,isDataWarehouseSeries}=_ref,logicProps={query,setQuery,pageKey},{propertyGroupFilter}=(0,index_esm.useValues)(propertyGroupFilterLogic(logicProps)),{addFilterGroup,removeFilterGroup,duplicateFilterGroup,setOuterPropertyGroupsType,setInnerPropertyGroupType,setPropertyFilters}=(0,index_esm.useActions)(propertyGroupFilterLogic(logicProps)),showHeader=propertyGroupFilter.type&&propertyGroupFilter.values.length>1,disabledReason=isDataWarehouseSeries?"Cannot add filter groups to data warehouse series. Use individual series filters":void 0;return(0,jsx_runtime.jsxs)("div",{className:"space-y-2 PropertyGroupFilters",children:[propertyGroupFilter.values&&(0,jsx_runtime.jsxs)(index_esm.BindLogic,{logic:propertyGroupFilterLogic,props:logicProps,children:[(0,jsx_runtime.jsx)(InsightTestAccountFilter,{disabledReason:disabledReason,query:query,setQuery:setQuery}),showHeader?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)("div",{className:"flex items-center justify-between",children:propertyGroupFilter.type&&propertyGroupFilter.values.length>1&&(0,jsx_runtime.jsx)(AndOrFilterSelect.n,{value:propertyGroupFilter.type,onChange:value=>setOuterPropertyGroupsType(value),topLevelFilter:!0,suffix:["group","groups"]})}),(0,jsx_runtime.jsx)(src.p2,{className:"my-4"})]}):null,propertyGroupFilter.values?.length?(0,jsx_runtime.jsx)("div",{children:propertyGroupFilter.values?.map((group,propertyGroupIndex)=>jsx_runtime.jsxs(react.Fragment,{children:[jsx_runtime.jsxs("div",{className:"property-group",children:[jsx_runtime.jsxs("div",{className:"flex justify-between items-center mb-2",children:[jsx_runtime.jsx(AndOrFilterSelect.n,{onChange:type=>setInnerPropertyGroupType(type,propertyGroupIndex),value:group.type}),jsx_runtime.jsx(src.p2,{className:"flex-1 mx-2"}),jsx_runtime.jsxs("div",{className:"flex items-center space-x-2",children:[jsx_runtime.jsx(src.Jp,{icon:jsx_runtime.jsx(posthog_icons_es.IconCopy,{}),onClick:()=>duplicateFilterGroup(propertyGroupIndex),size:"small"}),jsx_runtime.jsx(src.Jp,{icon:jsx_runtime.jsx(posthog_icons_es.IconTrash,{}),onClick:()=>removeFilterGroup(propertyGroupIndex),size:"small"})]})]}),jsx_runtime.jsx(PropertyFilters.t,{addText:"Add filter",propertyFilters:PropertyFilters_utils.cs(group)?group.values:null,onChange:properties=>{setPropertyFilters(properties,propertyGroupIndex)},pageKey:`${sharedUtils.bk("new")(insightProps)}-PropertyGroupFilters-${propertyGroupIndex}`,taxonomicGroupTypes:taxonomicGroupTypes,eventNames:eventNames,propertyGroupType:group.type,orFiltering:!0})]}),propertyGroupIndex!==propertyGroupFilter.values.length-1&&jsx_runtime.jsx("div",{className:"property-group-and-or-separator",children:jsx_runtime.jsx("span",{children:propertyGroupFilter.type})})]},propertyGroupIndex))}):null]}),(0,jsx_runtime.jsx)(src.Jp,{"data-attr":`${pageKey}-add-filter-group`,type:"secondary",onClick:addFilterGroup,icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconPlusSmall,{color:"var(--primary)"}),sideIcon:null,disabledReason:disabledReason,children:"Add filter group"})]})}var InsightViz_utils=__webpack_require__("./frontend/src/queries/nodes/InsightViz/utils.ts");function GlobalAndOrFilters(_ref){let{insightProps}=_ref,{actions:allActions}=(0,index_esm.useValues)(actionsModel.D),{groupsTaxonomicTypes}=(0,index_esm.useValues)(groupsModel.$),{querySource,isDataWarehouseSeries}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),{updateQuerySource}=(0,index_esm.useActions)((0,insightVizDataLogic.Z)(insightProps)),taxonomicGroupTypes=[TaxonomicFilter_types.t.EventProperties,TaxonomicFilter_types.t.PersonProperties,TaxonomicFilter_types.t.EventFeatureFlags,...groupsTaxonomicTypes,TaxonomicFilter_types.t.Cohorts,TaxonomicFilter_types.t.Elements,TaxonomicFilter_types.t.SessionProperties,TaxonomicFilter_types.t.HogQLExpression,TaxonomicFilter_types.t.DataWarehousePersonProperties];return(0,jsx_runtime.jsx)(PropertyGroupFilters_PropertyGroupFilters_PropertyGroupFilters,{insightProps:insightProps,pageKey:`${(0,sharedUtils.bk)("new")(insightProps)}-GlobalAndOrFilters`,query:querySource,setQuery:updateQuerySource,eventNames:(0,InsightViz_utils.xp)(querySource,allActions),taxonomicGroupTypes:taxonomicGroupTypes,isDataWarehouseSeries:isDataWarehouseSeries})}let lifecycles=[{name:"new",tooltip:"Users who did the event or action during the interval and were also created during that period – e.g. created an account and sent a message today.",color:"var(--lifecycle-new)"},{name:"returning",tooltip:"Someone who was active in the previous interval and is also active in the current interval – e.g. sent a message yesterday and also sent a message today.",color:"var(--lifecycle-returning)"},{name:"resurrecting",tooltip:"Someone who was not active in the previous interval but became active once again – e.g. did not send any messages for 10 days, but sent one today.",color:"var(--lifecycle-resurrecting)"},{name:"dormant",tooltip:"Users who are not active in the current interval, but were active in the previous interval – e.g. someone who has not sent a message today, but sent one yesterday.",color:"var(--lifecycle-dormant)"}],DEFAULT_LIFECYCLE_TOGGLES=["new","returning","resurrecting","dormant"];function LifecycleToggles(_ref){let{insightProps}=_ref,{insightFilter}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,insightVizDataLogic.Z)(insightProps)),toggledLifecycles=insightFilter?.toggledLifecycles||DEFAULT_LIFECYCLE_TOGGLES,toggleLifecycle=name=>{toggledLifecycles.includes(name)?updateInsightFilter({toggledLifecycles:toggledLifecycles.filter(n=>n!==name)}):updateInsightFilter({toggledLifecycles:[...toggledLifecycles,name]})};return(0,jsx_runtime.jsx)("div",{className:"flex flex-col -mt-1 uppercase",children:lifecycles.map(lifecycle=>(0,jsx_runtime.jsx)(src.HQ,{info:lifecycle.tooltip,children:(0,jsx_runtime.jsx)(src.Hw,{label:lifecycle.name,color:lifecycle.color,checked:toggledLifecycles.includes(lifecycle.name),onChange:()=>toggleLifecycle(lifecycle.name)})},lifecycle.name))})}let ALLOWED_FORMULA_CHARACTERS=/^[a-zA-Z \-*^0-9+/().]+$/;function TrendsFormula(_ref){let{insightProps}=_ref,{formula,hasFormula}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,insightVizDataLogic.Z)(insightProps)),[value,setValue]=(0,react.useState)(formula||void 0);return(0,react.useEffect)(()=>{formula&&setValue(formula)},[formula]),hasFormula?(0,jsx_runtime.jsx)("div",{className:"flex items-center gap-2",children:(0,jsx_runtime.jsx)(src.DF,{className:"flex-1",placeholder:"Example: (A + B) / 100",autoFocus:!0,value:value||void 0,onChange:value=>{let changedValue=value.toLocaleUpperCase();setValue(changedValue=changedValue.split("").filter(d=>ALLOWED_FORMULA_CHARACTERS.test(d)).join(""))},onBlur:e=>{e.relatedTarget?.id!=="trends-formula-switch"&&value!==formula&&updateInsightFilter({formula:value})},onFocus:()=>{value&&value!==formula&&updateInsightFilter({formula:value})},onPressEnter:()=>{value!==formula&&updateInsightFilter({formula:value})}})}):null}function TrendsSeries(){let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{querySource,isLifecycle,isStickiness,display,hasFormula,series}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),{updateQuerySource}=(0,index_esm.useActions)((0,insightVizDataLogic.Z)(insightProps)),{showGroupsOptions,groupsTaxonomicTypes}=(0,index_esm.useValues)(groupsModel.$),propertiesTaxonomicGroupTypes=[TaxonomicFilter_types.t.EventProperties,TaxonomicFilter_types.t.PersonProperties,TaxonomicFilter_types.t.EventFeatureFlags,...groupsTaxonomicTypes,TaxonomicFilter_types.t.Cohorts,TaxonomicFilter_types.t.Elements,TaxonomicFilter_types.t.SessionProperties,TaxonomicFilter_types.t.HogQLExpression,TaxonomicFilter_types.t.DataWarehouseProperties,TaxonomicFilter_types.t.DataWarehousePersonProperties];if(!(0,utils.Yg)(querySource))return null;let filters=(0,queryNodeToFilter.ce)(querySource),mathAvailability=isLifecycle?ActionFilterRow.Qq.None:isStickiness?ActionFilterRow.Qq.ActorsOnly:ActionFilterRow.Qq.All;return(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[isLifecycle&&(0,jsx_runtime.jsx)("div",{className:"leading-6",children:(0,jsx_runtime.jsxs)("div",{className:"flex items-center",children:["Showing",showGroupsOptions?(0,jsx_runtime.jsx)(AggregationSelect.C8,{className:"mx-2",insightProps:insightProps,hogqlAvailable:!1}):(0,jsx_runtime.jsx)("b",{children:" Unique users "}),"who did"]})}),(0,jsx_runtime.jsx)(ActionFilter.T,{filters:filters,setFilters:payload=>{updateQuerySource({series:(0,filtersToQueryNode.NG)(payload,!0,mathAvailability)})},typeKey:(0,sharedUtils.bk)("new")(insightProps),buttonCopy:`Add graph ${hasFormula?"variable":"series"}`,showSeriesIndicator:!0,showNestedArrow:!0,entitiesLimit:display&&constants.wG.includes(display)&&!hasFormula||isLifecycle?1:lib_utils.bH.length,mathAvailability:mathAvailability,propertiesTaxonomicGroupTypes:propertiesTaxonomicGroupTypes,actionsTaxonomicGroupTypes:[TaxonomicFilter_types.t.Events,TaxonomicFilter_types.t.Actions,TaxonomicFilter_types.t.DataWarehouse],hideDeleteBtn:series?.length===1})]})}function TrendsSeriesLabel(_ref){let{insightProps}=_ref,{hasFormula,isTrends,display,series}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,insightVizDataLogic.Z)(insightProps)),canDisableFormula=!isTrends||!display||!constants.wG.includes(display)||series?.length===1,formulaModeButtonDisabled=hasFormula&&!canDisableFormula;return(0,jsx_runtime.jsxs)("div",{className:"flex items-center justify-between w-full",children:[(0,jsx_runtime.jsx)("span",{children:hasFormula?"Variables":"Series"}),(0,jsx_runtime.jsx)(Tooltip.u,{title:formulaModeButtonDisabled?"This chart type does not support multiple series, so in order to disable formula mode, remove variables or switch to a different chart type.":"Make your own formula the output of the insight with formula mode. Use graph series as variables.",children:(0,jsx_runtime.jsx)("div",{className:"-my-1",children:(0,jsx_runtime.jsxs)(src.Jp,{size:"small",onClick:()=>updateInsightFilter({formula:hasFormula?void 0:""}),disabled:formulaModeButtonDisabled,icon:(0,jsx_runtime.jsx)(icons.X8,{}),id:"trends-formula-switch",children:[hasFormula?"Disable":"Enable"," formula mode"]})})})]})}function EditorFilters_EditorFilters(_ref){let{query,showing,embedded}=_ref,{hasAvailableFeature}=(0,index_esm.useValues)(userLogic.userLogic),{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{isTrends,isFunnels,isRetention,isPaths,isLifecycle,isStickiness,isTrendsLike,display,breakdownFilter,pathsFilter,querySource,shouldShowSessionAnalysisWarning,hasFormula}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),{isStepsFunnel,isTrendsFunnel}=(0,index_esm.useValues)((0,funnelDataLogic.l)(insightProps));if(!querySource)return null;let hasBreakdown=isTrends&&!constants.MD.includes(display||types.Qb.ActionsLineGraph)||isStepsFunnel||isTrendsFunnel,hasPathsAdvanced=hasAvailableFeature(types.P$.PATHS_ADVANCED),hasPathsHogQL=isPaths&&pathsFilter?.includeEventTypes?.includes(types.cB.HogQL),editorFilters=[{title:"General",editorFilters:filterFalsy([isRetention&&{key:"retention-summary",label:"Retention Summary",component:RetentionSummary},...isPaths?filterFalsy([{key:"event-types",label:"Event Types",component:PathsEventsTypes},hasPathsHogQL&&{key:"hogql",label:"HogQL Expression",component:PathsHogQL},hasPathsAdvanced&&{key:"wildcard-groups",label:"Wildcard Groups",showOptional:!0,component:PathsWildcardGroups,tooltip:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["Use wildcard matching to group events by unique values in path item names. Use an asterisk (*) in place of unique values. For example, instead of /merchant/1234/payment, replace the unique value with an asterisk /merchant/*/payment. ",(0,jsx_runtime.jsx)("b",{children:"Use a comma to separate multiple wildcards."})]})},{key:"start-target",label:"Starts at",component:PathsTargetStart},hasPathsAdvanced&&{key:"ends-target",label:"Ends at",component:PathsTargetEnd}]):[],...isFunnels?filterFalsy([{key:"query-steps",component:FunnelsQuerySteps.O}]):[]])},{title:"Series",editorFilters:filterFalsy([isTrendsLike&&{key:"series",label:isTrends?TrendsSeriesLabel:void 0,component:TrendsSeries},isTrends&&hasFormula?{key:"formula",label:"Formula",component:TrendsFormula}:null])},{title:"Filters",editorFilters:filterFalsy([isLifecycle?{key:"toggles",label:"Lifecycle Toggles",position:"right",component:LifecycleToggles}:null,isStickiness?{key:"stickinessCriteria",label:()=>(0,jsx_runtime.jsxs)("div",{className:"flex",children:[(0,jsx_runtime.jsx)("span",{children:"Stickiness Criteria"}),(0,jsx_runtime.jsx)(src.u,{closeDelayMs:200,title:(0,jsx_runtime.jsx)("div",{className:"space-y-2",children:(0,jsx_runtime.jsx)("div",{children:'The stickiness criteria defines how many times a user must perform an event inside of a given interval in order to be considered "sticky."'})}),children:(0,jsx_runtime.jsx)(posthog_icons_es.IconInfo,{className:"text-xl text-muted-alt shrink-0 ml-1"})})]}),position:"right",component:StickinessCriteria}:null,{key:"properties",label:"Filters",position:"right",component:GlobalAndOrFilters}])},{title:"Breakdown",count:breakdownFilter?.breakdowns?.length||(breakdownFilter?.breakdown?1:0),editorFilters:filterFalsy([hasBreakdown?{key:"breakdown",position:"right",component:Breakdown}:null,isStepsFunnel||isTrendsFunnel?{key:"attribution",label:()=>(0,jsx_runtime.jsxs)("div",{className:"flex",children:[(0,jsx_runtime.jsx)("span",{children:"Attribution type"}),(0,jsx_runtime.jsx)(src.u,{closeDelayMs:200,title:(0,jsx_runtime.jsxs)("div",{className:"space-y-2",children:[(0,jsx_runtime.jsx)("div",{children:"When breaking down funnels, it's possible that the same properties don't exist on every event. For example, if you want to break down by browser on a funnel that contains both frontend and backend events."}),(0,jsx_runtime.jsx)("div",{children:"In this case, you can choose from which step the properties should be selected from by modifying the attribution type. There are four modes to choose from:"}),(0,jsx_runtime.jsxs)("ul",{className:"list-disc pl-4",children:[(0,jsx_runtime.jsx)("li",{children:"First touchpoint: the first property value seen in any of the steps is chosen."}),(0,jsx_runtime.jsx)("li",{children:"Last touchpoint: the last property value seen from all steps is chosen."}),(0,jsx_runtime.jsx)("li",{children:"All steps: the property value must be seen in all steps to be considered in the funnel."}),(0,jsx_runtime.jsx)("li",{children:"Specific step: only the property value seen at the selected step is chosen."})]}),(0,jsx_runtime.jsxs)("div",{children:["Read more in the"," ",(0,jsx_runtime.jsx)(src.rU,{to:"https://posthog.com/docs/product-analytics/funnels#attribution-types",children:"documentation."})]})]}),children:(0,jsx_runtime.jsx)(posthog_icons_es.IconInfo,{className:"text-xl text-muted-alt shrink-0 ml-1"})})]}),position:"right",component:Attribution}:null])},{title:"Exclusions",editorFilters:filterFalsy([isPaths&&{key:"paths-exclusions",label:"Exclusions",position:"right",tooltip:(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:"Exclude events from Paths visualisation. You can use wildcard groups in exclusions as well."}),component:PathsExclusions}])},{title:"Advanced Options",editorFilters:filterFalsy([isPaths&&{key:"paths-advanced",position:"left",component:PathsAdvanced},isFunnels&&{key:"funnels-advanced",position:"left",component:FunnelsAdvanced}])},{title:"Sampling",editorFilters:filterFalsy([{key:"sampling",position:"right",component:SamplingFilter}])}],editorFilterGroups=[],leftFilters=editorFilters.reduce((acc,x)=>acc.concat(x.editorFilters.filter(y=>"right"!==y.position)),[]),rightFilters=editorFilters.reduce((acc,x)=>acc.concat(x.editorFilters.filter(y=>"right"===y.position)),[]);return editorFilterGroups=[{title:"left",editorFilters:leftFilters},{title:"right",editorFilters:rightFilters}],(0,jsx_runtime.jsx)(CSSTransition.Z,{in:showing,timeout:250,classNames:"anim-",mountOnEnter:!0,unmountOnExit:!0,children:(0,jsx_runtime.jsxs)("div",{className:(0,clsx_m.default)("EditorFiltersWrapper",{"EditorFiltersWrapper--embedded":embedded}),children:[(0,jsx_runtime.jsx)("div",{className:"EditorFilters",children:editorFilterGroups.map(editorFilterGroup=>(0,jsx_runtime.jsx)(EditorFilterGroup_EditorFilterGroup,{editorFilterGroup:editorFilterGroup,insightProps:insightProps,query:query},editorFilterGroup.title))}),shouldShowSessionAnalysisWarning?(0,jsx_runtime.jsxs)(src.Vp,{type:"info",className:"mt-2",children:["When using sessions and session properties, events without session IDs will be excluded from the set of results."," ",(0,jsx_runtime.jsx)(src.rU,{to:"https://posthog.com/docs/user-guides/sessions",children:"Learn more about sessions."})]}):null]})})}function filterFalsy(a){return a.filter(e=>!!e)}var ExportButton=__webpack_require__("./frontend/src/lib/components/ExportButton/ExportButton.tsx"),InsightLegend=__webpack_require__("./frontend/src/lib/components/InsightLegend/InsightLegend.tsx"),Funnel=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/funnels/Funnel.scss"),Funnel_default=__webpack_require__.n(Funnel),Funnel_options={};Funnel_options.insert="head",Funnel_options.singleton=!1,injectStylesIntoStyleTag_default()(Funnel_default(),Funnel_options),Funnel_default().locals;var dayjs=__webpack_require__("./frontend/src/lib/dayjs.ts"),insightTooltipUtils=__webpack_require__("./frontend/src/scenes/insights/InsightTooltip/insightTooltipUtils.tsx"),LineGraph=__webpack_require__("./frontend/src/scenes/insights/views/LineGraph/LineGraph.tsx"),PersonsModal=__webpack_require__("./frontend/src/scenes/trends/persons-modal/PersonsModal.tsx"),schema=__webpack_require__("./frontend/src/queries/schema.ts"),funnelPersonsModalLogic=__webpack_require__("./frontend/src/scenes/funnels/funnelPersonsModalLogic.ts");let LineGraphWrapper=_ref=>{let{inCardView,children}=_ref;return inCardView?(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:children}):(0,jsx_runtime.jsx)("div",{className:"TrendsInsight",children:children})};function FunnelLineGraph(_ref2){var _indexedSteps$0$label;let{inCardView,inSharedMode,showPersonsModal:showPersonsModalProp=!0}=_ref2,{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{indexedSteps,aggregationTargetLabel,incompletenessOffsetFromEnd,interval,querySource,insightData}=(0,index_esm.useValues)((0,funnelDataLogic.l)(insightProps)),{canOpenPersonModal}=(0,index_esm.useValues)((0,funnelPersonsModalLogic.a)(insightProps));if(!(0,utils.Yg)(querySource))return null;let showPersonsModal=canOpenPersonModal&&showPersonsModalProp,aggregationGroupTypeIndex=querySource.aggregation_group_type_index;return(0,jsx_runtime.jsx)(LineGraphWrapper,{inCardView:inCardView,children:(0,jsx_runtime.jsx)(LineGraph.xr,{"data-attr":"trend-line-graph-funnel",type:types.KU.Line,datasets:indexedSteps,labels:null!==(_indexedSteps$0$label=indexedSteps?.[0]?.labels)&&void 0!==_indexedSteps$0$label?_indexedSteps$0$label:[],isInProgress:incompletenessOffsetFromEnd<0,inSharedMode:!!inSharedMode,showPersonsModal:showPersonsModal,tooltip:{showHeader:!1,hideColorCol:!0,renderSeries:(_,datum)=>indexedSteps?.[0]?.days?(0,insightTooltipUtils.L0)(indexedSteps[0].days?.[datum.dataIndex],null!=interval?interval:void 0)+" "+(insightData?.timezone?(0,lib_utils.ig)(insightData.timezone):"UTC"):"Trend",renderCount:count=>`${count}%`},trendsFilter:{aggregationAxisFormat:"percentage"},labelGroupType:null!=aggregationGroupTypeIndex?aggregationGroupTypeIndex:"people",incompletenessOffsetFromEnd:incompletenessOffsetFromEnd,onClick:showPersonsModal?payload=>{var _dataset$days$index,_ref3,_dataset$label;let{points,index}=payload,dataset=points.clickedPointNotLine?points.pointsIntersectingClick[0].dataset:points.pointsIntersectingLine[0].dataset,day=null!==(_dataset$days$index=dataset?.days?.[index])&&void 0!==_dataset$days$index?_dataset$days$index:"",label=null!==(_ref3=null!==(_dataset$label=dataset?.label)&&void 0!==_dataset$label?_dataset$label:dataset?.labels?.[index])&&void 0!==_ref3?_ref3:"",title=`${(0,lib_utils.fm)(aggregationTargetLabel.plural)} converted on ${(0,dayjs.Bv)(label).format("MMMM Do YYYY")}`,query={kind:schema.OH.FunnelsActorsQuery,source:querySource,funnelTrendsDropOff:!1,includeRecordings:!0,funnelTrendsEntrancePeriodStart:(0,dayjs.Bv)(day).format("YYYY-MM-DD HH:mm:ss")};(0,PersonsModal.Yp)({title,query})}:void 0})})}var FunnelBarHorizontal=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/funnels/FunnelBarHorizontal/FunnelBarHorizontal.scss"),FunnelBarHorizontal_default=__webpack_require__.n(FunnelBarHorizontal),FunnelBarHorizontal_options={};FunnelBarHorizontal_options.insert="head",FunnelBarHorizontal_options.singleton=!1,injectStylesIntoStyleTag_default()(FunnelBarHorizontal_default(),FunnelBarHorizontal_options),FunnelBarHorizontal_default().locals;var EntityFilterInfo=__webpack_require__("./frontend/src/lib/components/EntityFilterInfo.tsx"),SeriesGlyph=__webpack_require__("./frontend/src/lib/components/SeriesGlyph.tsx"),useResizeObserver=__webpack_require__("./frontend/src/lib/hooks/useResizeObserver.ts"),funnelStepTableUtils=__webpack_require__("./frontend/src/scenes/insights/views/Funnels/funnelStepTableUtils.tsx"),More=__webpack_require__("./frontend/src/lib/lemon-ui/LemonButton/More.tsx");function FunnelStepMore(_ref){let{stepIndex}=_ref,{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{querySource}=(0,index_esm.useValues)((0,funnelDataLogic.l)(insightProps)),stepNumber=stepIndex+1,getPathUrl=(0,react.useCallback)(function(funnelPathType){let dropOff=arguments.length>1&&void 0!==arguments[1]&&arguments[1],query={kind:schema.OH.InsightVizNode,source:{kind:schema.OH.PathsQuery,funnelPathsFilter:{funnelStep:dropOff?-1*stepNumber:stepNumber,funnelSource:querySource,funnelPathType},pathsFilter:{includeEventTypes:[types.cB.PageView,types.cB.CustomEvent]},dateRange:{date_from:querySource?.dateRange?.date_from}}};return urls.j.insightNew(void 0,void 0,query)},[querySource,stepNumber]);return querySource?.aggregation_group_type_index!=void 0?null:(0,jsx_runtime.jsx)(More.T,{placement:"bottom-start",noPadding:!0,overlay:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[stepNumber>1&&(0,jsx_runtime.jsx)(LemonButton.J,{fullWidth:!0,to:getPathUrl(types.hP.before),children:"Show user paths leading to step"}),stepNumber>1&&(0,jsx_runtime.jsx)(LemonButton.J,{fullWidth:!0,to:getPathUrl(types.hP.between),children:"Show user paths between previous step and this step"}),(0,jsx_runtime.jsx)(LemonButton.J,{fullWidth:!0,to:getPathUrl(types.hP.after),children:"Show user paths after step"}),stepNumber>1&&(0,jsx_runtime.jsx)(LemonButton.J,{fullWidth:!0,to:getPathUrl(types.hP.after,!0),children:"Show user paths after dropoff"}),stepNumber>1&&(0,jsx_runtime.jsx)(LemonButton.J,{fullWidth:!0,to:getPathUrl(types.hP.before,!0),children:"Show user paths before dropoff"})]})})}var ValueInspectorButton=__webpack_require__("./frontend/src/scenes/funnels/ValueInspectorButton.tsx"),FunnelTooltip=__webpack_require__("./frontend/src/scenes/funnels/FunnelTooltip.tsx");function Bar(_ref){let{percentage:conversionPercentage,name,onBarClick,disabled,isBreakdown=!1,breakdownIndex,breakdownMaxIndex,breakdownSumPercentage,step,stepIndex,breakdownFilter,aggregationTargetLabel,wrapperWidth}=_ref,{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{getFunnelsColor}=(0,index_esm.useValues)((0,funnelDataLogic.l)(insightProps)),barRef=(0,react.useRef)(null),labelRef=(0,react.useRef)(null),[labelPosition,setLabelPosition]=(0,react.useState)("inside"),[labelVisible,setLabelVisible]=(0,react.useState)(!0),hasBreakdownSum=isBreakdown&&"number"==typeof breakdownSumPercentage;return((0,react.useEffect)(()=>{!function(){var _barRef$current$clien2,_labelRef$current$cli2,_barRef$current$clien,_barRef$current$offse,_labelRef$current$cli;if(hasBreakdownSum){setLabelPosition("outside");let barWidth=null!==(_barRef$current$clien=barRef.current?.clientWidth)&&void 0!==_barRef$current$clien?_barRef$current$clien:null,barOffset=null!==(_barRef$current$offse=barRef.current?.offsetLeft)&&void 0!==_barRef$current$offse?_barRef$current$offse:null,labelWidth=null!==(_labelRef$current$cli=labelRef.current?.clientWidth)&&void 0!==_labelRef$current$cli?_labelRef$current$cli:null;null!==barWidth&&null!==barOffset&&null!==wrapperWidth&&null!==labelWidth&&(wrapperWidth-(barWidth+barOffset)barWidth){setLabelPosition("outside");return}setLabelPosition("inside")}()},[wrapperWidth]),conversionPercentage)?(0,jsx_runtime.jsx)(src.Qw,{trigger:"hover",placement:"right",showArrow:!0,overlay:(0,jsx_runtime.jsx)(FunnelTooltip.d,{showPersonsModal:!disabled,stepIndex:stepIndex,series:step,groupTypeLabel:aggregationTargetLabel.plural,breakdownFilter:breakdownFilter,embedded:!0}),children:(0,jsx_runtime.jsx)("div",{ref:barRef,className:`funnel-bar ${(0,funnelUtils.s)(breakdownIndex,breakdownMaxIndex)}`,style:{flex:`${conversionPercentage} 1 0`,cursor:disabled?"":"pointer",backgroundColor:getFunnelsColor(step)},onClick:()=>{!disabled&&onBarClick&&onBarClick()},children:(!isBreakdown||hasBreakdownSum&&labelVisible)&&(0,jsx_runtime.jsx)("div",{ref:labelRef,className:`funnel-bar-percentage ${labelPosition}`,title:name?`${(0,lib_utils.fm)(aggregationTargetLabel.plural)} who did ${name}`:void 0,role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":(null!=breakdownSumPercentage?breakdownSumPercentage:conversionPercentage)*100,children:(0,lib_utils.e9)(null!=breakdownSumPercentage?breakdownSumPercentage:conversionPercentage,1,!0)})})}):null}function DuplicateStepIndicator(){return(0,jsx_runtime.jsx)(Tooltip.u,{title:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)("b",{children:"This is a repeated event in a sequence"}),(0,jsx_runtime.jsx)("p",{children:"When an event is repeated across funnel steps, it is interpreted as a sequence. For example, a three-step funnel consisting of pageview events is interpretted as first pageview, followed by second pageview, followed by a third pageview."})]}),children:(0,jsx_runtime.jsx)(posthog_icons_es.IconInfo,{style:{marginLeft:"0.375rem",fontSize:"1.25rem",color:"var(--muted-alt)"}})})}function FunnelBarHorizontal_FunnelBarHorizontal_FunnelBarHorizontal(_ref){let{inCardView,showPersonsModal:showPersonsModalProp=!0}=_ref,{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{visibleStepsWithConversionMetrics,aggregationTargetLabel,funnelsFilter,breakdownFilter}=(0,index_esm.useValues)((0,funnelDataLogic.l)(insightProps)),{canOpenPersonModal}=(0,index_esm.useValues)((0,funnelPersonsModalLogic.a)(insightProps)),{openPersonsModalForStep,openPersonsModalForSeries}=(0,index_esm.useActions)((0,funnelPersonsModalLogic.a)(insightProps)),{ref:graphRef,width}=(0,useResizeObserver.y)(),stepReference=funnelsFilter?.funnelStepReference||types.XF.total,showPersonsModal=canOpenPersonModal&&showPersonsModalProp;return(0,jsx_runtime.jsx)("div",{"data-attr":"funnel-bar-horizontal",className:(0,clsx_m.default)("FunnelBarHorizontal"),ref:graphRef,children:visibleStepsWithConversionMetrics.map((step,stepIndex)=>{let basisStep=(0,funnelUtils.gS)(visibleStepsWithConversionMetrics,stepReference,stepIndex),showLineBefore=stepIndex>0,showLineAfter=stepIndexsum+item.count,0)||0,isBreakdown=Array.isArray(step.nested_breakdown)&&step.nested_breakdown?.length!==void 0&&1!==step.nested_breakdown.length,dropOffCount=step.order>0?visibleStepsWithConversionMetrics[stepIndex-1].count-step.count:0;return(0,jsx_runtime.jsxs)("section",{className:"funnel-step",children:[(0,jsx_runtime.jsxs)("div",{className:"funnel-series-container",children:[(0,jsx_runtime.jsx)("div",{className:`funnel-series-linebox ${showLineBefore?"before":""}`}),funnelsFilter?.funnelOrderType===types.kO.UNORDERED?(0,jsx_runtime.jsx)(SeriesGlyph.K3,{variant:"funnel-step-glyph",children:(0,jsx_runtime.jsx)(icons.EF,{style:{fill:"var(--primary_alt)",width:14}})}):(0,jsx_runtime.jsx)(SeriesGlyph.K3,{variant:"funnel-step-glyph",children:step.order+1}),(0,jsx_runtime.jsx)("div",{className:`funnel-series-linebox ${showLineAfter?"after":""}`})]}),(0,jsx_runtime.jsxs)("header",{children:[(0,jsx_runtime.jsxs)("div",{className:"flex items-center max-w-full grow",children:[(0,jsx_runtime.jsx)("div",{className:"funnel-step-title",children:funnelsFilter?.funnelOrderType===types.kO.UNORDERED?(0,jsx_runtime.jsxs)("span",{children:["Completed ",step.order+1," steps"]}):(0,jsx_runtime.jsx)(EntityFilterInfo.c,{filter:(0,funnelStepTableUtils.R)(step)})}),funnelsFilter?.funnelOrderType!==types.kO.UNORDERED&&stepIndex>0&&step.action_id===visibleStepsWithConversionMetrics[stepIndex-1].action_id&&(0,jsx_runtime.jsx)(DuplicateStepIndicator,{}),(0,jsx_runtime.jsx)(FunnelStepMore,{stepIndex:stepIndex})]}),step.average_conversion_time&&step.average_conversion_time>=Number.EPSILON?(0,jsx_runtime.jsxs)("div",{className:"text-muted-alt",children:["Average time to convert:"," ",(0,jsx_runtime.jsx)("b",{children:(0,lib_utils.C7)(step.average_conversion_time,{maxUnits:2})})]}):null]}),(0,jsx_runtime.jsx)("div",{className:(0,clsx_m.default)("funnel-bar-wrapper",{breakdown:isBreakdown}),"aria-busy":!width,children:width?isBreakdown?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[step?.nested_breakdown?.map((breakdown,index)=>jsx_runtime.jsx(Bar,{name:breakdown.name,percentage:breakdown.count/basisStep.count,isBreakdown:!0,breakdownIndex:index,breakdownMaxIndex:breakdownMaxIndex,breakdownSumPercentage:index===breakdownMaxIndex&&breakdownSum?breakdownSum/basisStep.count:void 0,onBarClick:()=>openPersonsModalForSeries({step,series:breakdown,converted:!0}),step:breakdown,stepIndex:stepIndex,breakdownFilter:breakdownFilter,disabled:!showPersonsModal,aggregationTargetLabel:aggregationTargetLabel,wrapperWidth:width},`${breakdown.action_id}-${step.breakdown_value}-${index}`)),(0,jsx_runtime.jsx)("div",{className:"funnel-bar-empty-space",onClick:()=>openPersonsModalForStep({step,converted:!1}),style:{flex:`${1-breakdownSum/basisStep.count} 1 0`,cursor:`${inCardView?"":"pointer"}`}})]}):(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(Bar,{name:step.name,percentage:step.conversionRates.fromBasisStep,onBarClick:()=>openPersonsModalForStep({step,converted:!0}),step:step.nested_breakdown[0],stepIndex:stepIndex,breakdownFilter:breakdownFilter,disabled:!showPersonsModal,aggregationTargetLabel:aggregationTargetLabel,wrapperWidth:width}),(0,jsx_runtime.jsx)("div",{className:"funnel-bar-empty-space",onClick:()=>openPersonsModalForStep({step,converted:!1}),style:{flex:`${1-step.conversionRates.fromBasisStep} 1 0`,cursor:`${inCardView?"":"pointer"}`}})]}):null}),(0,jsx_runtime.jsxs)("div",{className:"funnel-conversion-metadata funnel-step-metadata",children:[(0,jsx_runtime.jsxs)("div",{children:[(0,jsx_runtime.jsxs)(ValueInspectorButton.M,{onClick:showPersonsModal?()=>openPersonsModalForStep({step,converted:!0}):void 0,children:[(0,jsx_runtime.jsx)(icons.cs,{style:{color:"var(--success)"},className:"value-inspector-button-icon"}),(0,jsx_runtime.jsx)("b",{children:(0,lib_utils.Zi)(step.count,aggregationTargetLabel.singular,aggregationTargetLabel.plural)})]})," ",(0,jsx_runtime.jsx)("span",{className:"text-muted-alt grow",children:`(${(0,lib_utils.e9)(step.conversionRates.fromPrevious,2,!0)}) completed step`})]}),stepIndex>0&&(0,jsx_runtime.jsxs)("div",{children:[(0,jsx_runtime.jsxs)(ValueInspectorButton.M,{onClick:showPersonsModal?()=>openPersonsModalForStep({step,converted:!1}):void 0,children:[(0,jsx_runtime.jsx)(icons.K6,{style:{color:"var(--danger)"},className:"value-inspector-button-icon"}),(0,jsx_runtime.jsx)("b",{children:(0,lib_utils.Zi)(dropOffCount,aggregationTargetLabel.singular,aggregationTargetLabel.plural)})]})," ",(0,jsx_runtime.jsx)("span",{className:"text-muted-alt",children:`(${(0,lib_utils.e9)(1-step.conversionRates.fromPrevious,2,!0)}) dropped off`})]})]})]},step.order)})})}var FunnelBarVertical=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/funnels/FunnelBarVertical/FunnelBarVertical.scss"),FunnelBarVertical_default=__webpack_require__.n(FunnelBarVertical),FunnelBarVertical_options={};FunnelBarVertical_options.insert="head",FunnelBarVertical_options.singleton=!1,injectStylesIntoStyleTag_default()(FunnelBarVertical_default(),FunnelBarVertical_options),FunnelBarVertical_default().locals;var ScrollableShadows=__webpack_require__("./frontend/src/lib/components/ScrollableShadows/ScrollableShadows.tsx");function StepBarLabels(){return(0,jsx_runtime.jsx)("div",{className:"StepBarLabels",children:Array(6).fill(null).map((_,i)=>(0,jsx_runtime.jsx)("div",{className:"StepBarLabels__segment",children:(0,jsx_runtime.jsxs)("div",{className:"StepBarLabels__label",children:[20*i,"%"]})},i))})}var funnelTooltipLogic=__webpack_require__("./frontend/src/scenes/funnels/funnelTooltipLogic.ts");function StepBar(_ref){let{step,stepIndex,series,showPersonsModal}=_ref,{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{getFunnelsColor}=(0,index_esm.useValues)((0,funnelDataLogic.l)(insightProps)),{showTooltip,hideTooltip}=(0,index_esm.useActions)((0,funnelTooltipLogic.Y)(insightProps)),{openPersonsModalForSeries}=(0,index_esm.useActions)((0,funnelPersonsModalLogic.a)(insightProps)),ref=(0,react.useRef)(null);return(0,jsx_runtime.jsxs)("div",{className:(0,clsx_m.default)("StepBar",!showPersonsModal&&"StepBar__unclickable"),style:{"--series-color":getFunnelsColor(series),"--conversion-rate":(0,lib_utils.e9)(series.conversionRates.fromBasisStep,1,!0)},ref:ref,onMouseEnter:()=>{if(ref.current){let rect=ref.current.getBoundingClientRect();showTooltip([rect.x,rect.y,rect.width],stepIndex,series)}},onMouseLeave:()=>hideTooltip(),children:[(0,jsx_runtime.jsx)("div",{className:"StepBar__backdrop",onClick:showPersonsModal?()=>openPersonsModalForSeries({step,series,converted:!1}):void 0}),(0,jsx_runtime.jsx)("div",{className:"StepBar__fill",onClick:showPersonsModal?()=>openPersonsModalForSeries({step,series,converted:!0}):void 0})]})}function StepBars(_ref){let{step,stepIndex,showPersonsModal}=_ref;return(0,jsx_runtime.jsxs)("div",{className:(0,clsx_m.default)("StepBars",0===stepIndex&&"StepBars--first"),children:[(0,jsx_runtime.jsx)("div",{className:"StepBars__grid",children:[,,,,,].fill(null).map((_,i)=>(0,jsx_runtime.jsx)("div",{className:"StepBars__gridline StepBars__gridline--horizontal"},`gridline-${stepIndex}-${i}`))}),step.nested_breakdown?.map(series=>jsx_runtime.jsx(StepBar,{step:step,stepIndex:stepIndex,series:series,showPersonsModal:showPersonsModal},`bar-${stepIndex}-${series.order}`))]})}var LemonRow=__webpack_require__("./frontend/src/lib/lemon-ui/LemonRow/index.ts"),Lettermark=__webpack_require__("./frontend/src/lib/lemon-ui/Lettermark/index.ts");function StepLegend(_ref){var _step$count,_step$droppedOffFromP;let{step,stepIndex,showTime,showPersonsModal}=_ref,{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{aggregationTargetLabel}=(0,index_esm.useValues)((0,funnelDataLogic.l)(insightProps)),{canOpenPersonModal,isInExperimentContext}=(0,index_esm.useValues)((0,funnelPersonsModalLogic.a)(insightProps)),{openPersonsModalForStep}=(0,index_esm.useActions)((0,funnelPersonsModalLogic.a)(insightProps)),{hasAvailableFeature}=(0,index_esm.useValues)(userLogic.userLogic),convertedCountPresentation=(0,lib_utils.Zi)(null!==(_step$count=step.count)&&void 0!==_step$count?_step$count:0,aggregationTargetLabel.singular,aggregationTargetLabel.plural),droppedOffCountPresentation=(0,lib_utils.Zi)(null!==(_step$droppedOffFromP=step.droppedOffFromPrevious)&&void 0!==_step$droppedOffFromP?_step$droppedOffFromP:0,aggregationTargetLabel.singular,aggregationTargetLabel.plural),convertedCountPresentationWithPercentage=(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[convertedCountPresentation," ",(0,jsx_runtime.jsxs)("span",{className:"text-muted",children:["(",(0,lib_utils.e9)(step.conversionRates.fromBasisStep,2),")"]})]}),droppedOffCountPresentationWithPercentage=(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[droppedOffCountPresentation," ",(0,jsx_runtime.jsxs)("span",{className:"text-muted",children:["(",(0,lib_utils.e9)(1-step.conversionRates.fromPrevious,2),")"]})]});return(0,jsx_runtime.jsxs)("div",{className:"StepLegend",children:[(0,jsx_runtime.jsx)(LemonRow.Q,{icon:(0,jsx_runtime.jsx)(Lettermark.B,{name:stepIndex+1,color:Lettermark.w.Gray}),sideIcon:hasAvailableFeature(types.P$.PATHS_ADVANCED)&&(0,jsx_runtime.jsx)(FunnelStepMore,{stepIndex:stepIndex}),children:(0,jsx_runtime.jsx)(EntityFilterInfo.c,{filter:(0,funnelStepTableUtils.R)(step)})}),(0,jsx_runtime.jsx)(LemonRow.Q,{icon:(0,jsx_runtime.jsx)(icons.cs,{}),status:"success",style:{color:"unset"},children:(0,jsx_runtime.jsx)(Tooltip.u,{title:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,lib_utils.fm)(aggregationTargetLabel.plural)," who completed this step,",(0,jsx_runtime.jsx)("br",{}),"with conversion rate relative to the first step"]}),placement:"right",children:showPersonsModal&&canOpenPersonModal&&!isInExperimentContext?(0,jsx_runtime.jsx)(ValueInspectorButton.M,{onClick:()=>openPersonsModalForStep({step,stepIndex,converted:!0}),children:convertedCountPresentationWithPercentage}):(0,jsx_runtime.jsx)("span",{children:convertedCountPresentationWithPercentage})})}),stepIndex>0&&(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(LemonRow.Q,{icon:(0,jsx_runtime.jsx)(icons.K6,{}),status:"danger",style:{color:"unset"},children:(0,jsx_runtime.jsx)(Tooltip.u,{title:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,lib_utils.fm)(aggregationTargetLabel.plural)," who didn't complete this step,",(0,jsx_runtime.jsx)("br",{}),"with drop-off rate relative to the previous step"]}),placement:"right",children:showPersonsModal&&stepIndex&&!isInExperimentContext?(0,jsx_runtime.jsx)(ValueInspectorButton.M,{onClick:()=>openPersonsModalForStep({step,stepIndex,converted:!1}),children:droppedOffCountPresentationWithPercentage}):(0,jsx_runtime.jsx)("span",{children:droppedOffCountPresentationWithPercentage})})}),showTime&&(0,jsx_runtime.jsx)(LemonRow.Q,{icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconClock,{}),title:"Median time of conversion from previous step",children:(0,lib_utils.C7)(step.median_conversion_time,{maxUnits:3})||"–"})]})]})}function FunnelBarVertical_FunnelBarVertical_FunnelBarVertical(_ref){var _visibleStepsWithConv;let{showPersonsModal:showPersonsModalProp=!0}=_ref,{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{visibleStepsWithConversionMetrics}=(0,index_esm.useValues)((0,funnelDataLogic.l)(insightProps)),{canOpenPersonModal}=(0,index_esm.useValues)((0,funnelPersonsModalLogic.a)(insightProps)),showPersonsModal=canOpenPersonModal&&showPersonsModalProp,vizRef=(0,FunnelTooltip.c)(showPersonsModal),{height:availableHeight}=(0,useResizeObserver.y)({ref:vizRef}),[scrollbarHeightPx,setScrollbarHeightPx]=(0,react.useState)(0),seriesCount=null!==(_visibleStepsWithConv=visibleStepsWithConversionMetrics[0]?.nested_breakdown?.length)&&void 0!==_visibleStepsWithConv?_visibleStepsWithConv:0,scrollRef=(0,react.useRef)(null);(0,react.useLayoutEffect)(()=>{scrollRef.current&&setScrollbarHeightPx(scrollRef.current.offsetHeight-scrollRef.current.clientHeight)},[availableHeight]);let showTime=visibleStepsWithConversionMetrics.some(step=>null!=step.average_conversion_time),barRowHeight=`calc(${availableHeight}px - 1px - ${1.75*(showTime?4:3)-.25+1.5}rem - ${scrollbarHeightPx}px)`;return(0,jsx_runtime.jsx)("div",{className:"FunnelBarVertical",ref:vizRef,"data-attr":"funnel-bar-vertical",children:(0,jsx_runtime.jsx)(ScrollableShadows.D,{scrollRef:scrollRef,direction:"horizontal",children:(0,jsx_runtime.jsxs)("table",{style:{"--bar-width":`${seriesCount>=60?4:seriesCount>=20?8:seriesCount>=12?16:seriesCount>=10?20:seriesCount>=8?24:seriesCount>=6?32:seriesCount>=5?40:seriesCount>=4?48:seriesCount>=3?64:seriesCount>=2?96:192}px`,"--bar-row-height":barRowHeight},children:[(0,jsx_runtime.jsxs)("colgroup",{children:[visibleStepsWithConversionMetrics.map((_,i)=>(0,jsx_runtime.jsx)("col",{width:0},i)),(0,jsx_runtime.jsx)("col",{width:"100%"})]}),(0,jsx_runtime.jsxs)("tbody",{children:[(0,jsx_runtime.jsxs)("tr",{children:[(0,jsx_runtime.jsx)("td",{children:(0,jsx_runtime.jsx)(StepBarLabels,{})}),visibleStepsWithConversionMetrics.map((step,stepIndex)=>(0,jsx_runtime.jsx)("td",{children:(0,jsx_runtime.jsx)(StepBars,{step:step,stepIndex:stepIndex,showPersonsModal:showPersonsModal})},stepIndex))]}),(0,jsx_runtime.jsxs)("tr",{children:[(0,jsx_runtime.jsx)("td",{}),visibleStepsWithConversionMetrics.map((step,stepIndex)=>(0,jsx_runtime.jsx)("td",{children:(0,jsx_runtime.jsx)(StepLegend,{step:step,stepIndex:stepIndex,showTime:showTime,showPersonsModal:showPersonsModal})},stepIndex))]})]})]})})})}var FunnelHistogram=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/funnels/FunnelHistogram.scss"),FunnelHistogram_default=__webpack_require__.n(FunnelHistogram),FunnelHistogram_options={};FunnelHistogram_options.insert="head",FunnelHistogram_options.singleton=!1,injectStylesIntoStyleTag_default()(FunnelHistogram_default(),FunnelHistogram_options),FunnelHistogram_default().locals;var Histogram=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/insights/views/Histogram/Histogram.scss"),Histogram_default=__webpack_require__.n(Histogram),Histogram_options={};Histogram_options.insert="head",Histogram_options.singleton=!1,injectStylesIntoStyleTag_default()(Histogram_default(),Histogram_options),Histogram_default().locals;var d3_src=__webpack_require__("./node_modules/.pnpm/d3@7.8.2/node_modules/d3/src/index.js");let useD3=function(renderChartFn){let dependencies=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],ref=(0,react.useRef)();return(0,react.useEffect)(()=>(void 0!==ref.current&&renderChartFn(d3_src.Ys(ref.current)),()=>{}),dependencies),ref},INITIAL_CONFIG={layout:constants.xp.vertical,height:352,width:500,margin:{top:20,right:20,bottom:20,left:40},borderRadius:4,transitionDuration:200,spacing:{btwnBins:6,yLabel:5,xLabel:8,labelLineHeight:1.2,barLabelPadding:8,minBarWidth:90}},getConfig=(layout,width,height)=>{let _width=width||INITIAL_CONFIG.width,_height=height||INITIAL_CONFIG.height,isVertical=layout===constants.xp.vertical;return{...INITIAL_CONFIG,layout,height:_height,width:_width,inner:{height:_height-INITIAL_CONFIG.margin.bottom-INITIAL_CONFIG.margin.top,width:_width-INITIAL_CONFIG.margin.left-INITIAL_CONFIG.margin.right},ranges:{x:isVertical?[INITIAL_CONFIG.margin.left,_width-INITIAL_CONFIG.margin.right]:[INITIAL_CONFIG.margin.top,_height-INITIAL_CONFIG.margin.bottom],y:isVertical?[_height-INITIAL_CONFIG.margin.bottom,INITIAL_CONFIG.margin.top]:[INITIAL_CONFIG.margin.left,_width-INITIAL_CONFIG.margin.right]},gridlineTickSize:isVertical?_width-INITIAL_CONFIG.margin.left+INITIAL_CONFIG.spacing.yLabel-INITIAL_CONFIG.margin.right:_height-INITIAL_CONFIG.margin.bottom-INITIAL_CONFIG.margin.top,transforms:{x:isVertical?`translate(0,${_height-INITIAL_CONFIG.margin.bottom})`:`translate(${INITIAL_CONFIG.margin.left},0)`,y:isVertical?`translate(${INITIAL_CONFIG.margin.left},0)`:`translate(0,${INITIAL_CONFIG.margin.top})`,yGrid:isVertical?`translate(${INITIAL_CONFIG.margin.left-INITIAL_CONFIG.spacing.yLabel},0)`:`translate(0,${INITIAL_CONFIG.margin.top})`},axisFn:{x:isVertical?d3_src.LLu:d3_src.y4O,y:isVertical?d3_src.y4O:d3_src.F5q}}},createRoundedRectPath=(x,y,width,height,radius,position)=>{let isEmpty=0===height&&["top","bottom"].includes(position)||0===width&&["left","right"].includes(position),radii={tl:!isEmpty&&["top","left"].includes(position)?radius:0,tr:!isEmpty&&["top","right"].includes(position)?radius:0,bl:!isEmpty&&["bottom","left"].includes(position)?radius:0,br:!isEmpty&&["bottom","right"].includes(position)?radius:0};return"M"+(x+radii.tl)+","+y+"h"+(width-radii.tl-radii.tr)+"a"+radii.tr+","+radii.tr+" 0 0 1 "+radii.tr+","+radii.tr+"v"+(height-radii.tr-radii.br)+"a"+radii.br+","+radii.br+" 0 0 1 "+-radii.br+","+radii.br+"h"+(radii.br+radii.bl-width)+"a"+-radii.bl+","+-radii.bl+" 0 0 1 "+-radii.bl+","+-radii.bl+"v"+(radii.bl+radii.tl-height)+"a"+radii.tl+","+-radii.tl+" 0 0 1 "+radii.tl+","+-radii.tl+"z"},getOrCreateEl=(container,selector,createCallback)=>{let el=container.select(selector);return el.empty()?createCallback():el},animate=function(it,transitionDuration,isAnimated){let toAnimate=arguments.length>3&&void 0!==arguments[3]?arguments[3]:_it=>_it;return isAnimated?it.transition().duration(transitionDuration).call(toAnimate):it.call(toAnimate)},wrap=function(text,width){let lineHeight=arguments.length>2&&void 0!==arguments[2]?arguments[2]:INITIAL_CONFIG.spacing.labelLineHeight,isVertical=!(arguments.length>3)||void 0===arguments[3]||arguments[3],dx=arguments.length>4&&void 0!==arguments[4]?arguments[4]:INITIAL_CONFIG.spacing.xLabel,maxWidth=width-6;return text.each(function(){let _text=d3_src.Ys(this),words=_text.text().split(/\s+/),y=_text.attr("y"),dy=parseFloat(_text.attr("dy")),line=[],lineNumber=0,tspan=_text.text(null).append("tspan").attr("x",0).attr("y",y).attr("dx",isVertical?0:-dx+"px").attr("dy",dy+"em");words.forEach(word=>{line.push(word),tspan.text(line.join(" ")),(tspan.node()?.getComputedTextLength()||0)>maxWidth&&(line.pop(),tspan.text(line.join(" ")),line=[word],tspan=_text.append("tspan").attr("x",0).attr("y",y).attr("dx",isVertical?0:-dx+"px").attr("dy",++lineNumber*lineHeight+dy+"em").text(word))})}),text},histogramLogic=(0,index_esm.kea)([(0,index_esm.path)(["scenes","insights","Histogram","histogramLogic"]),(0,index_esm.actions)({setConfig:config=>({config})}),(0,index_esm.reducers)({config:[getConfig(constants.xp.vertical),{setConfig:(state,_ref)=>{let{config}=_ref;return{...state,...config}}}]})]);function Histogram_Histogram_Histogram(_ref){let{data,layout=constants.xp.vertical,width=INITIAL_CONFIG.width,height=INITIAL_CONFIG.height,isAnimated=!1,isDashboardItem=!1,formatXTickLabel=value=>value,formatYTickLabel=value=>value}=_ref,{config}=(0,index_esm.useValues)(histogramLogic),{setConfig}=(0,index_esm.useActions)(histogramLogic),isEmpty=0===data.length||0===d3_src.Smz(data.map(d=>d.count)),xMin=data?.[0]?.bin0||0,xMax=data?.[data.length-1]?.bin1||1,x=d3_src.BYU().domain([xMin,xMax]).range(config.ranges.x).nice(),xAxis=config.axisFn.x(x).tickValues([...data.map(d=>d.bin0),xMax]).tickFormat(v=>{let label=formatXTickLabel(v);return -2===v?`<${label}`:-1===v?`>=${label}`:label}),yMax=d3_src.Fp7(data,d=>d.count),y=d3_src.BYU().domain([0,yMax]).range(config.ranges.y).nice(),yAxis=config.axisFn.y(y).tickValues(y.ticks().filter(tick=>Number.isInteger(tick))).tickSize(0).tickFormat(v=>{let count=formatYTickLabel(v);return d3_src.WUZ("~s")(count)}),yAxisGrid=config.axisFn.y(y).tickSize(-config.gridlineTickSize).tickFormat("").ticks(y.ticks().length);(0,react.useEffect)(()=>{let minWidth=Math.max(width,data.length*(config.spacing.minBarWidth+config.spacing.btwnBins)+config.margin.left+config.margin.right);setConfig(getConfig(layout,isDashboardItem?width:minWidth,height))},[data.length,layout,width,height]);let ref=useD3(container=>{let isVertical=config.layout===constants.xp.vertical;(parentNode=>{x.range(config.ranges.x),y.range(config.ranges.y),yAxisGrid.tickSize(-config.gridlineTickSize);let _svg=getOrCreateEl(parentNode,"svg > g",()=>parentNode.append("svg:svg").attr("viewBox",`0 0 ${config.inner.width} ${config.inner.height}`).attr("width","100%").append("svg:g").classed(config.layout,!0));parentNode.select("svg").attr("viewBox",`0 0 ${config.width} ${config.height}`);let layoutChanged=!_svg.classed(config.layout);_svg.attr("class",null).classed(config.layout,!0),layoutChanged&&_svg.selectAll("#x-axis,#y-axis,#y-gridlines").remove();let _xAxis=getOrCreateEl(_svg,"g#x-axis",()=>_svg.append("svg:g").attr("id","x-axis").attr("transform",config.transforms.x));_xAxis.call(animate,layoutChanged?0:config.transitionDuration,isAnimated,it=>it.call(xAxis).attr("transform",config.transforms.x));let binWidth=x(data?.[0]?.bin1||data?.[data.length-1]?.bin1||1)-x(data?.[0]?.bin0||0);if(_xAxis.selectAll(".tick text").call(wrap,isVertical?binWidth:config.margin.left,config.spacing.labelLineHeight,isVertical,config.spacing.xLabel),!isEmpty){let _yAxis=getOrCreateEl(_svg,"g#y-axis",()=>_svg.append("svg:g").attr("id","y-axis").attr("transform",config.transforms.y));_yAxis.call(animate,layoutChanged?0:config.transitionDuration,isAnimated,it=>it.call(yAxis).attr("transform",config.transforms.y).call(g=>g.selectAll(".tick text").attr("dx",isVertical?`-${config.spacing.yLabel}`:0)));let _yGridlines=getOrCreateEl(_svg,"g#y-gridlines",()=>_svg.append("svg:g").attr("id","y-gridlines").attr("transform",config.transforms.yGrid));_yGridlines.call(animate,layoutChanged?0:config.transitionDuration,isAnimated,it=>it.call(yAxisGrid).attr("transform",config.transforms.yGrid))}let _bars=getOrCreateEl(_svg,"g#bars",()=>_svg.append("svg:g").attr("id","bars"));_bars.selectAll("path").data(data).join("path").call(animate,config.transitionDuration,isAnimated,it=>it.attr("d",d=>isVertical?createRoundedRectPath(x(d.bin0)+config.spacing.btwnBins/2,y(d.count),Math.max(0,x(d.bin1)-x(d.bin0)-config.spacing.btwnBins),y(0)-y(d.count),config.borderRadius,"top"):createRoundedRectPath(y(0),x(d.bin0)+config.spacing.btwnBins/2,y(d.count)-y(0),Math.max(0,x(d.bin1)-x(d.bin0)-config.spacing.btwnBins),config.borderRadius,"right"))),_svg.node().appendChild(_bars.node());let _labels=getOrCreateEl(_svg,"g#labels",()=>_svg.append("svg:g").attr("id","labels"));return _labels.selectAll("text").data(data).join("text").text(d=>d.label).classed("bar-label",!0).each(function(d){let{width:labelWidth,height:labelHeight}=this.getBBox();d.labelWidth=labelWidth,d.labelHeight=labelHeight,d.shouldShowInBar=!1}).attr("x",d=>{if(!isVertical){let labelWidth=(d.labelWidth||0)+2*config.spacing.barLabelPadding,shouldShowInBar=labelWidth<=y(d.count)-y(0),labelDx=shouldShowInBar?-(labelWidth-config.spacing.barLabelPadding):config.spacing.barLabelPadding;return d.shouldShowInBar=shouldShowInBar,y(d.count)+labelDx}return x(d.bin0)+binWidth/2-(d.labelWidth||0)/2}).attr("y",d=>{if(!isVertical)return x(d.bin0)+binWidth/2;let labelHeight=(d.labelHeight||0)+2*config.spacing.barLabelPadding,shouldShowInBar=labelHeight<=y(0)-y(d.count),labelDy=shouldShowInBar?labelHeight-config.spacing.barLabelPadding:-config.spacing.barLabelPadding;return d.shouldShowInBar=shouldShowInBar,y(d.count)+labelDy}).classed("outside",d=>!d.shouldShowInBar),_svg.node().appendChild(_labels.node())})(container)},[data,config]);return(0,jsx_runtime.jsx)("div",{className:"histogram-container",ref:ref,style:{minWidth:config.width}})}function FunnelHistogram_FunnelHistogram(){let{insightProps,isInDashboardContext}=(0,index_esm.useValues)(insightLogic.zm),{histogramGraphData}=(0,index_esm.useValues)((0,funnelDataLogic.l)(insightProps)),ref=(0,react.useRef)(null),[width,height]=(0,dist_module.Z)(ref),key=isInDashboardContext?(0,lib_utils.mo)(JSON.stringify(histogramGraphData)):"staticGraph";return histogramGraphData?(0,jsx_runtime.jsx)("div",{className:(0,clsx_m.default)("FunnelHistogram",{scrollable:!isInDashboardContext,"overflow-hidden":isInDashboardContext,"dashboard-wrapper":isInDashboardContext}),ref:ref,"data-attr":"funnel-histogram",children:(0,jsx_runtime.jsx)(Histogram_Histogram_Histogram,{data:histogramGraphData,width:width,isDashboardItem:isInDashboardContext,height:height,formatXTickLabel:v=>(0,lib_utils.C7)(v,{maxUnits:2})},key)}):null}function Funnel_Funnel(props){let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{funnelsFilter}=(0,index_esm.useValues)((0,funnelDataLogic.l)(insightProps)),{funnelVizType,layout}=funnelsFilter||{},viz=null;return viz=funnelVizType==types.Ui.Trends?(0,jsx_runtime.jsx)(FunnelLineGraph,{...props}):funnelVizType==types.Ui.TimeToConvert?(0,jsx_runtime.jsx)(FunnelHistogram_FunnelHistogram,{}):(layout||constants.xp.vertical)===constants.xp.vertical?(0,jsx_runtime.jsx)(FunnelBarVertical_FunnelBarVertical_FunnelBarVertical,{...props}):(0,jsx_runtime.jsx)(FunnelBarHorizontal_FunnelBarHorizontal_FunnelBarHorizontal,{...props}),(0,jsx_runtime.jsx)("div",{className:`FunnelInsight FunnelInsight--type-${funnelVizType?.toLowerCase()}${funnelVizType===types.Ui.Steps?"-"+(null!=layout?layout:constants.xp.vertical):""}`,children:viz})}function FunnelStepsPicker(){var _funnelsFilter$funnel;let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{series,isFunnelWithEnoughSteps,funnelsFilter}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,insightVizDataLogic.Z)(insightProps)),onChange=(funnelFromStep,funnelToStep)=>{updateInsightFilter({funnelFromStep,funnelToStep})},filterSteps=series||[],numberOfSeries=series?.length||0,fromRange=isFunnelWithEnoughSteps?Array.from(Array(Math.max(numberOfSeries)).keys()).slice(0,-1):[0],toRange=isFunnelWithEnoughSteps?Array.from(Array(Math.max(numberOfSeries)).keys()).slice((null!==(_funnelsFilter$funnel=funnelsFilter?.funnelFromStep)&&void 0!==_funnelsFilter$funnel?_funnelsFilter$funnel:0)+1):[1],optionsForRange=range=>range.map(stepIndex=>filterSteps[stepIndex]?{value:stepIndex,label:`Step ${stepIndex+1}`,labelInMenu:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsxs)("span",{children:["Step ",stepIndex+1,"\xa0–\xa0"]}),(0,jsx_runtime.jsx)(EntityFilterInfo.c,{filter:(0,queryNodeToFilter.AG)(filterSteps[stepIndex])})]})}:null).filter(option=>null!==option);return(0,jsx_runtime.jsxs)("div",{className:"flex items-center",children:[(0,jsx_runtime.jsx)("span",{className:"text-muted-alt",children:"\xa0from"}),(0,jsx_runtime.jsx)(src.Yv,{size:"small",className:"mx-1",dropdownMatchSelectWidth:!1,optionTooltipPlacement:"bottom-start",disabled:!isFunnelWithEnoughSteps,options:optionsForRange(fromRange),value:funnelsFilter?.funnelFromStep||0,onChange:fromStep=>null!=fromStep&&onChange(fromStep,funnelsFilter?.funnelToStep)}),(0,jsx_runtime.jsx)("span",{className:"text-muted-alt",children:"to"}),(0,jsx_runtime.jsx)(src.Yv,{size:"small",className:"mx-1",dropdownMatchSelectWidth:!1,optionTooltipPlacement:"bottom-start",disabled:!isFunnelWithEnoughSteps,options:optionsForRange(toRange),value:funnelsFilter?.funnelToStep||Math.max(numberOfSeries-1,1),onChange:toStep=>null!=toStep&&onChange(funnelsFilter?.funnelFromStep,toStep)})]})}function FunnelCanvasLabel(){let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{conversionMetrics,aggregationTargetLabel,funnelsFilter}=(0,index_esm.useValues)((0,funnelDataLogic.l)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,funnelDataLogic.l)(insightProps)),labels=[...funnelsFilter?.funnelVizType===types.Ui.Steps?[(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsxs)("span",{className:"flex items-center text-muted-alt mr-1",children:[(0,jsx_runtime.jsx)(Tooltip.u,{title:`Overall conversion rate for all ${aggregationTargetLabel.plural} on the entire funnel.`,children:(0,jsx_runtime.jsx)(posthog_icons_es.IconInfo,{className:"mr-1 text-xl shrink-0"})}),(0,jsx_runtime.jsx)("span",{children:"Total conversion rate:"})]}),(0,jsx_runtime.jsx)("span",{className:"l4",children:(0,lib_utils.e9)(conversionMetrics.totalRate,2,!0)})]})]:[],...funnelsFilter?.funnelVizType!==types.Ui.Trends?[(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsxs)("span",{className:"flex items-center text-muted-alt",children:[(0,jsx_runtime.jsx)(Tooltip.u,{title:`Average (arithmetic mean) of the total time each ${aggregationTargetLabel.singular} spent in the entire funnel.`,children:(0,jsx_runtime.jsx)(posthog_icons_es.IconInfo,{className:"mr-1 text-xl shrink-0"})}),(0,jsx_runtime.jsx)("span",{children:"Average time to convert"})]}),funnelsFilter?.funnelVizType===types.Ui.TimeToConvert&&(0,jsx_runtime.jsx)(FunnelStepsPicker,{}),(0,jsx_runtime.jsx)("span",{className:"text-muted-alt mr-1",children:":"}),funnelsFilter?.funnelVizType===types.Ui.TimeToConvert?(0,jsx_runtime.jsx)("span",{className:"font-bold",children:(0,lib_utils.C7)(conversionMetrics.averageTime)}):(0,jsx_runtime.jsx)(src.rU,{className:"font-bold",onClick:()=>updateInsightFilter({funnelVizType:types.Ui.TimeToConvert}),children:(0,lib_utils.C7)(conversionMetrics.averageTime)})]})]:[],...funnelsFilter?.funnelVizType===types.Ui.Trends?[(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)("span",{className:"text-muted-alt",children:"Conversion rate"}),(0,jsx_runtime.jsx)(FunnelStepsPicker,{})]})]:[]];return(0,jsx_runtime.jsx)("div",{className:"flex items-center",children:labels.map((label,i)=>(0,jsx_runtime.jsxs)(react.Fragment,{children:[i>0&&(0,jsx_runtime.jsx)("span",{className:"my-0.5 mx-2 border-l border-border h-3.5"}),label]},i))})}var EmptyStates=__webpack_require__("./frontend/src/scenes/insights/EmptyStates/index.ts"),insightDataLogic=__webpack_require__("./frontend/src/scenes/insights/insightDataLogic.tsx"),insightNavLogic=__webpack_require__("./frontend/src/scenes/insights/InsightNav/insightNavLogic.tsx"),FunnelCorrelation=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/insights/views/Funnels/FunnelCorrelation.scss"),FunnelCorrelation_default=__webpack_require__.n(FunnelCorrelation),FunnelCorrelation_options={};FunnelCorrelation_options.insert="head",FunnelCorrelation_options.singleton=!1,injectStylesIntoStyleTag_default()(FunnelCorrelation_default(),FunnelCorrelation_options),FunnelCorrelation_default().locals;var funnelCorrelationUsageLogic=__webpack_require__("./frontend/src/scenes/funnels/funnelCorrelationUsageLogic.ts"),funnelCorrelationLogic=__webpack_require__("./frontend/src/scenes/funnels/funnelCorrelationLogic.ts"),funnelPropertyCorrelationLogic=__webpack_require__("./frontend/src/scenes/funnels/funnelPropertyCorrelationLogic.ts");let funnelCorrelationFeedbackLogic=(0,index_esm.kea)([(0,index_esm.props)({}),(0,index_esm.key)((0,sharedUtils.bk)("insight_funnel")),(0,index_esm.path)(key=>["scenes","funnels","funnelCorrelationFeedbackLogic",key]),(0,index_esm.connect)(props=>({actions:[(0,funnelCorrelationLogic.p)(props),["loadEventCorrelations"],(0,funnelPropertyCorrelationLogic.X)(props),["loadPropertyCorrelations"]]})),(0,index_esm.actions)({sendCorrelationAnalysisFeedback:!0,hideCorrelationAnalysisFeedback:!0,setCorrelationFeedbackRating:rating=>({rating}),setCorrelationDetailedFeedback:comment=>({comment}),setCorrelationDetailedFeedbackVisible:visible=>({visible})}),(0,index_esm.reducers)({correlationFeedbackHidden:[!0,{loadEventCorrelations:()=>!1,loadPropertyCorrelations:()=>!1,sendCorrelationAnalysisFeedback:()=>!0,hideCorrelationAnalysisFeedback:()=>!0}],correlationDetailedFeedbackVisible:[!1,{setCorrelationDetailedFeedbackVisible:(_,_ref)=>{let{visible}=_ref;return visible}}],correlationFeedbackRating:[0,{setCorrelationFeedbackRating:(_,_ref2)=>{let{rating}=_ref2;return rating}}],correlationDetailedFeedback:["",{setCorrelationDetailedFeedback:(_,_ref3)=>{let{comment}=_ref3;return comment}}]}),(0,index_esm.listeners)(_ref4=>{let{actions,values}=_ref4;return{sendCorrelationAnalysisFeedback:()=>{eventUsageLogic.vx.actions.reportCorrelationAnalysisDetailedFeedback(values.correlationFeedbackRating,values.correlationDetailedFeedback),actions.setCorrelationFeedbackRating(0),actions.setCorrelationDetailedFeedback(""),src.UJ.success("Thanks for your feedback! Your comments help us improve")},setCorrelationFeedbackRating:_ref5=>{let{rating}=_ref5,feedbackBoxVisible=rating>0;actions.setCorrelationDetailedFeedbackVisible(feedbackBoxVisible),feedbackBoxVisible&&eventUsageLogic.vx.actions.reportCorrelationAnalysisFeedback(rating)}}})]),FunnelCorrelationFeedbackForm=()=>{let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{correlationFeedbackHidden,correlationDetailedFeedbackVisible,correlationFeedbackRating}=(0,index_esm.useValues)(funnelCorrelationFeedbackLogic(insightProps)),{sendCorrelationAnalysisFeedback,hideCorrelationAnalysisFeedback,setCorrelationFeedbackRating,setCorrelationDetailedFeedback}=(0,index_esm.useActions)(funnelCorrelationFeedbackLogic(insightProps)),detailedFeedbackRef=(0,react.useRef)(null);return correlationFeedbackHidden?null:(0,jsx_runtime.jsxs)("div",{className:"border rounded p-4 space-y-2 mt-4",children:[(0,jsx_runtime.jsxs)("div",{className:"flex items-center justify-between",children:[(0,jsx_runtime.jsxs)("h4",{className:"text-muted-alt",children:[(0,jsx_runtime.jsx)(icons.ge,{style:{marginRight:4}}),"Was this correlation analysis report useful?"]}),(0,jsx_runtime.jsxs)("div",{className:"flex items-center gap-2",children:[!!correlationFeedbackRating&&(0,jsx_runtime.jsx)("i",{className:"text-success mr-2",children:"Thanks for your feedback!"}),[[5,"😍"],[4,"😀"],[3,"😴"],[2,"😔"],[1,"👎"]].map((content,index)=>(0,jsx_runtime.jsx)(src.Jp,{active:correlationFeedbackRating===content[0],onClick:()=>{correlationFeedbackRating===content[0]?setCorrelationFeedbackRating(0):(setCorrelationFeedbackRating(content[0]),setTimeout(()=>detailedFeedbackRef.current?.focus(),100))},children:content[1]},index)),(0,jsx_runtime.jsx)(src.Jp,{icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconX,{}),onClick:hideCorrelationAnalysisFeedback})]})]}),correlationDetailedFeedbackVisible?(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:(0,jsx_runtime.jsxs)("form",{onSubmit:sendCorrelationAnalysisFeedback,className:"space-y-2",children:[(0,jsx_runtime.jsx)(src._V,{onBlur:e=>setCorrelationDetailedFeedback(e.target.value),placeholder:"Optional. Help us by sharing details around your experience...",ref:detailedFeedbackRef,onPressCmdEnter:()=>{detailedFeedbackRef.current?.blur(),sendCorrelationAnalysisFeedback()}}),(0,jsx_runtime.jsx)("div",{className:"flex justify-end",children:(0,jsx_runtime.jsx)(src.Jp,{"data-attr":"correlation-analysis-share-feedback",type:"primary",htmlType:"submit",children:"Share feedback"})})]})}):null]})},FunnelCorrelationSkewWarning=()=>{let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{isSkewed}=(0,index_esm.useValues)((0,funnelDataLogic.l)(insightProps)),{hideSkewWarning}=(0,index_esm.useActions)((0,funnelDataLogic.l)(insightProps));return isSkewed?(0,jsx_runtime.jsxs)("div",{className:"skew-warning",children:[(0,jsx_runtime.jsxs)("h4",{children:[(0,jsx_runtime.jsxs)("div",{className:"flex items-center space-x-1",children:[(0,jsx_runtime.jsx)(icons.Rz,{style:{fontSize:24,marginRight:4,color:"var(--warning)"}}),(0,jsx_runtime.jsx)("span",{children:"Adjust your funnel definition to improve correlation analysis"})]}),(0,jsx_runtime.jsx)(src.Jp,{icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconX,{}),onClick:hideSkewWarning})]}),(0,jsx_runtime.jsxs)("div",{className:"px-2",children:[(0,jsx_runtime.jsx)("b",{className:"font-medium",children:"Tips for adjusting your funnel:"}),(0,jsx_runtime.jsxs)("ol",{children:[(0,jsx_runtime.jsx)("li",{children:"Adjust your first funnel step to be more specific. For example, choose a page or an event that occurs less frequently."}),(0,jsx_runtime.jsx)("li",{children:"Choose an event that happens more frequently for subsequent funnels steps."})]})]})]}):null};var FunnelCorrelationTable=__webpack_require__("./frontend/src/scenes/insights/views/Funnels/FunnelCorrelationTable.tsx"),FunnelPropertyCorrelationTable=__webpack_require__("./frontend/src/scenes/insights/views/Funnels/FunnelPropertyCorrelationTable.tsx");let FunnelCorrelation_FunnelCorrelation=()=>{let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{steps}=(0,index_esm.useValues)((0,funnelDataLogic.l)(insightProps));return((0,index_esm.useMountedLogic)((0,funnelCorrelationUsageLogic.H)(insightProps)),steps.length<=1)?null:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)("h2",{className:"font-semibold text-lg my-4",children:"Correlation analysis"}),(0,jsx_runtime.jsx)(PayGateMini.E,{feature:types.P$.CORRELATION_ANALYSIS,children:(0,jsx_runtime.jsxs)("div",{className:"funnel-correlation",children:[(0,jsx_runtime.jsx)(FunnelCorrelationSkewWarning,{}),(0,jsx_runtime.jsx)(FunnelCorrelationTable.w,{}),(0,jsx_runtime.jsx)(FunnelCorrelationFeedbackForm,{}),(0,jsx_runtime.jsx)(FunnelPropertyCorrelationTable.i,{})]})})]})};var LemonTable=__webpack_require__("./frontend/src/lib/lemon-ui/LemonTable/index.ts"),cohortsModel=__webpack_require__("./frontend/src/models/cohortsModel.ts"),propertyDefinitionsModel=__webpack_require__("./frontend/src/models/propertyDefinitionsModel.ts"),resultCustomizationsModalLogic=__webpack_require__("./frontend/src/queries/nodes/InsightViz/resultCustomizationsModalLogic.ts"),SeriesColumn=__webpack_require__("./frontend/src/scenes/insights/views/InsightsTable/columns/SeriesColumn.tsx");function FunnelStepsTable(){let{insightProps,insightLoading}=(0,index_esm.useValues)(insightLogic.zm),{breakdownFilter}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),{steps,flattenedBreakdowns,hiddenLegendBreakdowns,getFunnelsColor}=(0,index_esm.useValues)((0,funnelDataLogic.l)(insightProps)),{setHiddenLegendBreakdowns,toggleLegendBreakdownVisibility}=(0,index_esm.useActions)((0,funnelDataLogic.l)(insightProps)),{canOpenPersonModal}=(0,index_esm.useValues)((0,funnelPersonsModalLogic.a)(insightProps)),{openPersonsModalForSeries}=(0,index_esm.useActions)((0,funnelPersonsModalLogic.a)(insightProps)),{hasInsightColors}=(0,index_esm.useValues)((0,resultCustomizationsModalLogic.W)(insightProps)),{openModal}=(0,index_esm.useActions)((0,resultCustomizationsModalLogic.W)(insightProps)),isOnlySeries=flattenedBreakdowns.length<=1,{cohorts}=(0,index_esm.useValues)(cohortsModel.Q),{formatPropertyValueForDisplay}=(0,index_esm.useValues)(propertyDefinitionsModel.IP),allChecked=flattenedBreakdowns?.every(b=>!hiddenLegendBreakdowns?.includes(funnelUtils.y1(b.breakdown_value))),someChecked=flattenedBreakdowns?.some(b=>!hiddenLegendBreakdowns?.includes(funnelUtils.y1(b.breakdown_value))),showCustomizationIcon=hasInsightColors&&!insightProps.cachedInsight?.disable_baseline,columnsGrouped=[{children:[{title:isOnlySeries?"Breakdown":(0,jsx_runtime.jsx)(LemonCheckbox.H,{checked:!!allChecked||!!someChecked&&"indeterminate",onChange:()=>{setHiddenLegendBreakdowns(allChecked?flattenedBreakdowns.map(b=>(0,funnelUtils.y1)(b.breakdown_value)):[])},label:(0,jsx_runtime.jsx)("span",{className:"font-bold",children:"Breakdown"}),size:"small"}),dataIndex:"breakdown_value",render:function RenderBreakdownValue(_,breakdown){let[isHovering,setIsHovering]=(0,react.useState)(!1),value=breakdown.breakdown_value?.length==1?breakdown.breakdown_value[0]:breakdown.breakdown_value,label=(0,jsx_runtime.jsxs)("div",{className:(0,clsx_m.default)("flex justify-between items-center",{"cursor-pointer":showCustomizationIcon}),onClick:showCustomizationIcon?()=>openModal(breakdown):void 0,onMouseEnter:()=>setIsHovering(!0),onMouseLeave:()=>setIsHovering(!1),children:[(0,insights_utils.Cq)(value,breakdownFilter,cohorts,formatPropertyValueForDisplay),showCustomizationIcon&&(0,jsx_runtime.jsx)(SeriesColumn.fx,{isVisible:isHovering})]});return isOnlySeries?(0,jsx_runtime.jsx)("span",{className:"font-medium",children:label}):(0,jsx_runtime.jsx)(LemonCheckbox.H,{checked:!hiddenLegendBreakdowns?.includes(funnelUtils.y1(breakdown.breakdown_value)),onChange:()=>toggleLegendBreakdownVisibility((0,funnelUtils.y1)(breakdown.breakdown_value)),label:label})}},{title:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["Total",(0,jsx_runtime.jsx)("br",{}),"conversion"]}),render:(_,breakdown)=>{var _breakdown$conversion;return(0,lib_utils.e9)(null!==(_breakdown$conversion=breakdown?.conversionRates?.total)&&void 0!==_breakdown$conversion?_breakdown$conversion:0,2,!0)},align:"right"}]},...steps.map((step,stepIndex)=>({title:(0,jsx_runtime.jsx)(LemonRow.Q,{icon:(0,jsx_runtime.jsx)(Lettermark.B,{name:stepIndex+1,color:Lettermark.w.Gray}),style:{font:"inherit",padding:0},size:"small",children:(0,jsx_runtime.jsx)(EntityFilterInfo.c,{filter:(0,funnelStepTableUtils.R)(step)})}),children:[{title:0===stepIndex?"Entered":"Converted",render:function RenderCompleted(_,breakdown){var _stepSeries$count,_stepSeries$count2;let stepSeries=breakdown.steps?.[stepIndex];return stepSeries&&(canOpenPersonModal?(0,jsx_runtime.jsx)(ValueInspectorButton.M,{onClick:()=>openPersonsModalForSeries({step,series:stepSeries,converted:!0}),children:(0,lib_utils.Lc)(null!==(_stepSeries$count=stepSeries.count)&&void 0!==_stepSeries$count?_stepSeries$count:0)}):(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:(0,lib_utils.Lc)(null!==(_stepSeries$count2=stepSeries.count)&&void 0!==_stepSeries$count2?_stepSeries$count2:0)}))},align:"right"},...0===stepIndex?[]:[{title:"Dropped\xa0off",render:function RenderDropped(_,breakdown){var _stepSeries$droppedOf,_stepSeries$droppedOf2;let stepSeries=breakdown.steps?.[stepIndex];return stepSeries&&(canOpenPersonModal?(0,jsx_runtime.jsx)(ValueInspectorButton.M,{onClick:()=>openPersonsModalForSeries({step,series:stepSeries,converted:!1}),children:(0,lib_utils.Lc)(null!==(_stepSeries$droppedOf=stepSeries.droppedOffFromPrevious)&&void 0!==_stepSeries$droppedOf?_stepSeries$droppedOf:0)}):(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:(0,lib_utils.Lc)(null!==(_stepSeries$droppedOf2=stepSeries.droppedOffFromPrevious)&&void 0!==_stepSeries$droppedOf2?_stepSeries$droppedOf2:0)}))},align:"right"}],{title:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["Conversion",(0,jsx_runtime.jsx)("br",{}),"so\xa0far"]}),render:function RenderConversionSoFar(_,breakdown){var _breakdown$steps$step,_breakdown$steps$step2;let significance=(0,funnelStepTableUtils.m)(breakdown,step.order);return significance?.total?(0,jsx_runtime.jsx)(LemonRow.Q,{className:"funnel-significance-highlight",tooltip:"Significantly different from other breakdown values",icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconFlag,{}),size:"small",children:(0,lib_utils.e9)(null!==(_breakdown$steps$step=breakdown.steps?.[step.order]?.conversionRates.total)&&void 0!==_breakdown$steps$step?_breakdown$steps$step:0,2,!0)}):(0,lib_utils.e9)(null!==(_breakdown$steps$step2=breakdown.steps?.[step.order]?.conversionRates.total)&&void 0!==_breakdown$steps$step2?_breakdown$steps$step2:0,2,!0)},align:"right"},...0===stepIndex?[]:[{title:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["Conversion",(0,jsx_runtime.jsx)("br",{}),"from\xa0previous"]}),render:function RenderConversionFromPrevious(_,breakdown){var _breakdown$steps$step3,_breakdown$steps$step4;let significance=(0,funnelStepTableUtils.m)(breakdown,step.order);return!significance?.total&&significance?.fromPrevious?(0,jsx_runtime.jsx)(LemonRow.Q,{className:"funnel-significance-highlight",tooltip:"Significantly different from other breakdown values",icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconFlag,{}),size:"small",children:(0,lib_utils.e9)(null!==(_breakdown$steps$step3=breakdown.steps?.[step.order]?.conversionRates.fromPrevious)&&void 0!==_breakdown$steps$step3?_breakdown$steps$step3:0,2,!0)}):(0,lib_utils.e9)(null!==(_breakdown$steps$step4=breakdown.steps?.[step.order]?.conversionRates.fromPrevious)&&void 0!==_breakdown$steps$step4?_breakdown$steps$step4:0,2,!0)},align:"right"},{title:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["Median",(0,jsx_runtime.jsx)("br",{}),"time"]}),render:(_,breakdown)=>breakdown.steps?.[step.order]?.median_conversion_time!=void 0?(0,lib_utils.C7)(breakdown.steps[step.order].median_conversion_time,{maxUnits:3}):"–",align:"right",width:0,className:"whitespace-nowrap"},{title:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["Average",(0,jsx_runtime.jsx)("br",{}),"time"]}),render:(_,breakdown)=>breakdown.steps?.[step.order]?.average_conversion_time!=void 0?(0,lib_utils.C7)(breakdown.steps[step.order].average_conversion_time,{maxUnits:3}):"–",align:"right",width:0,className:"whitespace-nowrap"}]]}))];return(0,jsx_runtime.jsx)(LemonTable.g,{dataSource:flattenedBreakdowns,columns:columnsGrouped,loading:insightLoading,rowKey:"breakdownIndex",rowStatus:record=>record.significant?"highlighted":null,rowRibbonColor:getFunnelsColor,firstColumnSticky:!0})}var InsightsTable=__webpack_require__("./frontend/src/scenes/insights/views/InsightsTable/InsightsTable.tsx"),Paths=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/paths/Paths.scss"),Paths_default=__webpack_require__.n(Paths),Paths_options={};Paths_options.insert="head",Paths_options.singleton=!1,injectStylesIntoStyleTag_default()(Paths_default(),Paths_options),Paths_default().locals;var esm_exports=__webpack_require__("./node_modules/.pnpm/@sentry+core@7.112.1/node_modules/@sentry/core/esm/exports.js"),copyToClipboard=__webpack_require__("./frontend/src/lib/utils/copyToClipboard.tsx");function pageUrl(d,display){let incomingUrls=d.targetLinks.map(l=>l?.source?.name?.replace(/(^[0-9]+_)/,"")).filter(a=>{try{new URL(a)}catch{return!1}return a}).map(a=>new URL(a)),incomingDomains=Array.from(new Set(incomingUrls.map(url=>url.origin))),name=d.name.replace(/(^[0-9]+_)/,"");if(!display)return name;try{let url=new URL(name);name=1!==incomingDomains.length?url.href.replace(/(^\w+:|^)\/\//,""):url.pathname+url.search,url.hash?.includes("/")&&(name+=url.hash)}catch{}return name.length>15?name.substring(0,6)+"..."+name.slice(-8):name.length<4&&d.name.length<25?d.name.replace(/(^[0-9]+_)/,""):name}let isSelectedPathStartOrEnd=(pathsFilter,funnelPathsFilter,pathItemCard)=>{let cardName=pageUrl(pathItemCard),isPathStart=0===pathItemCard.targetLinks.length,isPathEnd=0===pathItemCard.sourceLinks.length,{startPoint,endPoint}=pathsFilter,{funnelPathType,funnelSource,funnelStep}=funnelPathsFilter||{};return startPoint===cardName&&isPathStart||endPoint===cardName&&isPathEnd||funnelPathType===types.hP.between&&(cardName===funnelSource?.series[funnelStep-1].name&&isPathEnd||cardName===funnelSource?.series[funnelStep-2].name&&isPathStart)};function PathNodeCardButton(_ref){let{name,count,node,viewPathToFunnel,openPersonsModal,filter,setFilter}=_ref,{hasAvailableFeature}=(0,index_esm.useValues)(userLogic.userLogic),hasAdvancedPaths=hasAvailableFeature(types.P$.PATHS_ADVANCED),nodeName=pageUrl(node),isPath=nodeName.includes("/"),isTruncatedPath="_..."===name.slice(1);return(0,jsx_runtime.jsxs)("div",{className:"flex justify-between items-center w-full",children:[(0,jsx_runtime.jsxs)("div",{className:"font-semibold overflow-hidden max-h-16",children:[(0,jsx_runtime.jsx)("span",{className:"text-xxs text-muted mr-1",children:`0${name[0]}`}),(0,jsx_runtime.jsx)("span",{className:"text-xs break-words",children:pageUrl(node,isPath)})]}),(0,jsx_runtime.jsx)(src.Sn.Provider,{value:null,children:(0,jsx_runtime.jsxs)("div",{className:"flex flex-nowrap",children:[(0,jsx_runtime.jsx)(src.Jp,{size:"small",onClick:()=>openPersonsModal({path_end_key:name}),children:(0,jsx_runtime.jsx)("span",{className:"text-link text-xs px-1 font-medium",children:count})}),(0,jsx_runtime.jsx)(src.d6,{items:[{label:"Set as path start",onClick:()=>setFilter({startPoint:nodeName})},...hasAdvancedPaths?[{label:"Set as path end",onClick:()=>setFilter({endPoint:nodeName})},{label:"Exclude path item",onClick:()=>{setFilter({excludeEvents:[...filter.excludeEvents||[],pageUrl(node,!1)]})}},{label:"View funnel",onClick:()=>{viewPathToFunnel(node)}}]:[],{label:"Copy path item name",onClick:()=>{(0,copyToClipboard.v)(nodeName).then(esm_exports.Tb)}}],placement:"bottom-end",children:(0,jsx_runtime.jsx)(src.Jp,{size:"small",icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconEllipsis,{}),disabledReason:isTruncatedPath?"Multiple paths truncated and combined for efficiency during querying. No further analysis possible.":void 0})})]})})]})}function PathNodeCardMenu(_ref){let{name,count,continuingCount,dropOffCount,averageConversionTime,isPathEnd,isPathStart,openPersonsModal}=_ref,continuingPercentage=(continuingCount/count*100).toFixed(1),dropoffPercentage=(dropOffCount/count*100).toFixed(1);return(0,jsx_runtime.jsxs)("div",{style:{width:240},children:[!isPathEnd&&(0,jsx_runtime.jsx)(CardItem,{icon:(0,jsx_runtime.jsx)(icons.cs,{className:"text-xl shrink-0 text-success"}),text:"Continuing",count:(0,jsx_runtime.jsx)(CountButton,{onClick:()=>openPersonsModal({path_start_key:name}),count:continuingCount,percentage:continuingPercentage}),border:!1}),dropOffCount>0&&(0,jsx_runtime.jsx)(CardItem,{icon:(0,jsx_runtime.jsx)(icons.K6,{className:"text-xl shrink-0 text-danger"}),text:"Dropping off",count:(0,jsx_runtime.jsx)(CountButton,{onClick:()=>openPersonsModal({path_dropoff_key:name}),count:dropOffCount,percentage:dropoffPercentage})}),!isPathStart&&(0,jsx_runtime.jsx)(CardItem,{icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconClock,{className:"text-xl shrink-0 text-muted"}),text:"Average time from previous step",count:(0,jsx_runtime.jsx)("b",{className:"pr-2",children:(0,lib_utils.C7)(averageConversionTime)})})]})}function CountButton(_ref2){let{count,percentage,onClick}=_ref2;return(0,jsx_runtime.jsx)(src.Jp,{size:"small",onClick:onClick,children:(0,jsx_runtime.jsxs)("span",{className:"text-xs",children:[count,(0,jsx_runtime.jsxs)("span",{className:"text-muted-alt ml-2",children:["(",percentage,"%)"]})]})})}function CardItem(_ref3){let{icon,text,count,border=!0}=_ref3;return(0,jsx_runtime.jsxs)("div",{className:`text-xs flex items-center justify-between p-2 gap-2 ${border&&"border-t border-dashed"}`,children:[(0,jsx_runtime.jsxs)("div",{className:"flex items-center gap-2",children:[icon,(0,jsx_runtime.jsx)("span",{children:text})]}),count]})}function PathNodeCard(_ref){let{insightProps,node}=_ref,{pathsFilter:_pathsFilter,funnelPathsFilter:_funnelPathsFilter}=(0,index_esm.useValues)((0,pathsDataLogic.e)(insightProps)),{updateInsightFilter,openPersonsModal,viewPathToFunnel}=(0,index_esm.useActions)((0,pathsDataLogic.e)(insightProps)),pathsFilter=_pathsFilter||{},funnelPathsFilter=_funnelPathsFilter||{};if(!node.visible)return null;let isPathStart=0===node.targetLinks.length,isPathEnd=0===node.sourceLinks.length,continuingCount=node.sourceLinks.reduce((prev,curr)=>prev+curr.value,0),dropOffCount=node.value-continuingCount,averageConversionTime=isPathStart?null:node.targetLinks.reduce((prev,curr)=>prev+curr.average_conversion_time/1e3,0)/node.targetLinks.length;return(0,jsx_runtime.jsx)(src.u,{title:pageUrl(node),placement:"right",children:(0,jsx_runtime.jsx)(src.Qw,{overlay:(0,jsx_runtime.jsx)(PathNodeCardMenu,{name:node.name,count:node.value,continuingCount:continuingCount,dropOffCount:dropOffCount,averageConversionTime:averageConversionTime,isPathStart:isPathStart,isPathEnd:isPathEnd,openPersonsModal:openPersonsModal}),trigger:"hover",placement:"bottom",padded:!1,matchWidth:!0,children:(0,jsx_runtime.jsx)("div",{className:"absolute rounded bg-bg-light p-1",style:{width:240,left:isPathEnd?node.x0+7-240:node.x0+7,top:isPathEnd?node.y0+(node.y1-node.y0)/2:node.y0+5,border:`1px solid ${isSelectedPathStartOrEnd(pathsFilter,funnelPathsFilter,node)?"purple":"var(--border)"}`},"data-attr":"path-node-card-button",children:(0,jsx_runtime.jsx)(PathNodeCardButton,{name:node.name,count:node.value,node:node,viewPathToFunnel:viewPathToFunnel,openPersonsModal:openPersonsModal,setFilter:updateInsightFilter,filter:pathsFilter})})})})}var sankey=__webpack_require__("./node_modules/.pnpm/d3-sankey@0.12.3/node_modules/d3-sankey/src/sankey.js"),align=__webpack_require__("./node_modules/.pnpm/d3-sankey@0.12.3/node_modules/d3-sankey/src/align.js"),sankeyLinkHorizontal=__webpack_require__("./node_modules/.pnpm/d3-sankey@0.12.3/node_modules/d3-sankey/src/sankeyLinkHorizontal.js");let createCanvas=(canvasRef,width,height)=>d3_src.Ys(canvasRef.current).append("svg").classed("Paths__canvas",!0).style("background","var(--item-background)").style("width",`${width}px`).style("height",`${height}px`),createSankey=(width,height)=>new sankey.Z().nodeId(d=>d.name).nodeAlign(align.PT).nodeSort(null).nodeWidth(15).size([width,height]),appendPathNodes=(svg,nodes,pathsFilter,funnelPathsFilter,setNodeCards)=>{svg.append("g").selectAll("rect").data(nodes).join("rect").attr("x",d=>d.x0+1).attr("y",d=>d.y0).attr("height",d=>d.y1-d.y0).attr("width",d=>d.x1-d.x0-2).attr("fill",d=>{let c;for(let link of d.sourceLinks)void 0===c?c=link.color:c!==link.color&&(c=null);if(void 0===c)for(let link of d.targetLinks)void 0===c?c=link.color:c!==link.color&&(c=null);if(isSelectedPathStartOrEnd(pathsFilter,funnelPathsFilter,d))return d3_src.$_Y("purple");let startNodeColor=c&&d3_src.$_Y(c)?d3_src.$_Y(c):d3_src.$_Y("#5375ff");return startNodeColor}).on("mouseover",(_event,data)=>{data.y1-data.y0>HIDE_PATH_CARD_HEIGHT||setNodeCards(nodes.map(node=>node.index===data.index?{...node,visible:!0}:{...node,visible:node.y1-node.y0>HIDE_PATH_CARD_HEIGHT}))}).append("title").text(d=>`${(0,lib_utils.VV)(d.name)} -${d.value.toLocaleString()}`)},appendDropoffs=svg=>{let dropOffGradient=svg.append("defs").append("linearGradient").attr("id","dropoff-gradient").attr("gradientTransform","rotate(90)");dropOffGradient.append("stop").attr("offset","0%").attr("stop-color","rgba(220,53,69,0.7)"),dropOffGradient.append("stop").attr("offset","100%").attr("stop-color","var(--bg-light)")},appendPathLinks=(svg,links,nodes,setNodeCards)=>{let link=svg.append("g").attr("fill","none").selectAll("g").data(links).join("g").attr("stroke","var(--primary)").attr("opacity",.35);link.append("path").attr("d",sankeyLinkHorizontal.Z()).attr("id",d=>`path-${d.index}`).attr("stroke-width",d=>Math.max(1,d.width)).on("mouseover",(_event,data)=>{if(svg.select(`#path-${data.index}`).attr("stroke","blue"),data?.source?.targetLinks.length===0)return;let nodesToColor=[data.source],pathCardsToShow=[];for(;nodesToColor.length>0;){let _node=nodesToColor.pop();_node?.targetLinks.forEach(_link=>{svg.select(`#path-${_link.index}`).attr("stroke","blue"),nodesToColor.push(_link.source),pathCardsToShow.push(_link.source.index)})}let pathCards=[data.target];for(pathCardsToShow.push(data.target.index,data.source.index);pathCards.length>0;){let node=pathCards.pop();node?.sourceLinks.forEach(l=>{pathCards.push(l.target),pathCardsToShow.push(l.target.index)})}setNodeCards(nodes.map(node=>({...node,visible:!!pathCardsToShow.includes(node.index)||node.y1-node.y0>HIDE_PATH_CARD_HEIGHT})))}).on("mouseleave",()=>{svg.selectAll("path").attr("stroke","var(--primary)")}),link.append("g").append("path").attr("d",data=>{if(0===data.source.layer)return;let _height=data.source.y1-data.source.y0-data.source.sourceLinks.reduce((prev,curr)=>prev+curr.width,0);return function(x,y,w,h,r,tl,tr,bl,br){let retval;return retval="M"+(0+r)+",0h"+(w-2*r),tr?retval+="a"+r+","+r+" 0 0 1 "+r+","+r:retval+="h"+r+"v"+r,retval+="v"+(h-2*r),br?retval+="a"+r+","+r+" 0 0 1 "+-r+","+r:retval+="v"+r+"h"+-r,retval+="h"+(2*r-w),bl?retval+="a"+r+","+r+" 0 0 1 "+-r+","+-r:retval+="h"+-r+"v"+-r,retval+="v"+(2*r-h),tl?retval+="a"+r+","+r+" 0 0 1 "+r+","+-r:retval+="v"+-r+"h"+r,retval+="z"}(0,0,30,_height,Math.min(25,_height),!1,!0,!1,!1)}).attr("fill","url(#dropoff-gradient)").attr("stroke-width",0).attr("transform",data=>"translate("+Math.round(data.source.x1)+","+Math.round(data.source.y0+data.source.sourceLinks.reduce((prev,curr)=>prev+curr.width,0))+")")},addChartAxisLines=(svg,height,nodes,maxLayer)=>{if(maxLayer>5){let arr=[...Array(maxLayer)],minWidthApart=nodes[1].x0-nodes[0].x0;arr.forEach((_,i)=>{svg.append("line").style("stroke","var(--border)").attr("stroke-width",2).attr("x1",minWidthApart*(i+1)-20).attr("y1",0).attr("x2",minWidthApart*(i+1)-20).attr("y2",height)})}},HIDE_PATH_CARD_HEIGHT=30;function Paths_Paths(){let canvasRef=(0,react.useRef)(null),canvasContainerRef=(0,react.useRef)(null),{width:canvasWidth=1e3,height:canvasHeight=0}=(0,useResizeObserver.y)({ref:canvasRef}),[nodeCards,setNodeCards]=(0,react.useState)([]),{insight,insightProps}=(0,index_esm.useValues)(insightLogic.zm),{insightQuery,paths,pathsFilter,funnelPathsFilter,insightDataLoading,insightDataError}=(0,index_esm.useValues)((0,pathsDataLogic.e)(insightProps)),id=`'${insight?.short_id||"default_paths"}'`;return((0,react.useEffect)(()=>{setNodeCards([]);let elements=canvasContainerRef.current?.querySelectorAll(".Paths__canvas");return elements?.forEach(node=>node?.parentNode?.removeChild(node)),function(canvasRef,canvasWidth,canvasHeight,paths,pathsFilter,funnelPathsFilter,setNodeCards){if(!paths||0===paths.nodes.length)return;let maxLayer=paths.links.reduce((prev,curr)=>{let currNum=curr.target.name||curr.target;return Math.max(prev,Number(currNum.match(/[^_]*/)))},0),minWidth=canvasWidth>1e3||maxLayer<3?canvasWidth:1e3,width=maxLayer>5&&canvasWidth?minWidth/5*maxLayer:minWidth,svg=createCanvas(canvasRef,width,canvasHeight),sankey=createSankey(width,canvasHeight),{nodes,links}=sankey({nodes:paths.nodes.map(d=>({...d})),links:paths.links.map(d=>({...d}))});setNodeCards(nodes.map(node=>({...node,visible:node.y1-node.y0>HIDE_PATH_CARD_HEIGHT}))),appendPathNodes(svg,nodes,pathsFilter,funnelPathsFilter,setNodeCards),appendDropoffs(svg),appendPathLinks(svg,links,nodes,setNodeCards),addChartAxisLines(svg,canvasHeight,nodes,maxLayer)}(canvasRef,canvasWidth,canvasHeight,paths,pathsFilter||{},funnelPathsFilter||{},setNodeCards),()=>{let elements=canvasContainerRef.current?.querySelectorAll(".Paths__canvas");elements?.forEach(node=>node?.parentNode?.removeChild(node))}},[paths,!insightDataLoading,canvasWidth,canvasHeight]),insightDataError)?(0,jsx_runtime.jsx)(EmptyStates.jC,{query:insightQuery,excludeDetail:!0}):(0,jsx_runtime.jsx)("div",{className:"h-full w-full overflow-auto",id:id,ref:canvasContainerRef,children:(0,jsx_runtime.jsxs)("div",{ref:canvasRef,className:"Paths","data-attr":"paths-viz",children:[!insightDataLoading&&paths&&0===paths.nodes.length&&!insightDataError&&(0,jsx_runtime.jsx)(EmptyStates.dV,{}),!insightDataError&&nodeCards&&nodeCards.map((node,idx)=>(0,jsx_runtime.jsx)(PathNodeCard,{node:node,insightProps:insightProps},idx))]})})}function PathCanvasLabel(){return(0,jsx_runtime.jsx)("div",{className:"flex items-center text-muted-alt",children:"Large path items are shown by default. View smaller items by hovering over a node"})}let retentionLogic=(0,index_esm.kea)([(0,index_esm.props)({}),(0,index_esm.key)((0,sharedUtils.bk)("default_retention_key")),(0,index_esm.path)(key=>["scenes","retention","retentionLogic",key]),(0,index_esm.connect)(props=>({values:[(0,insightVizDataLogic.Z)(props),["insightQuery","insightData","querySource"]]})),(0,index_esm.selectors)({results:[s=>[s.insightQuery,s.insightData],(insightQuery,insightData)=>{var _insightData$result;return(0,utils.I5)(insightQuery)&&null!==(_insightData$result=insightData?.result)&&void 0!==_insightData$result?_insightData$result:[]}]})]),retentionLineGraphLogic=(0,index_esm.kea)([(0,index_esm.props)({}),(0,index_esm.key)((0,sharedUtils.bk)("default_retention_key")),(0,index_esm.path)(key=>["scenes","retention","retentionLineGraphLogic",key]),(0,index_esm.connect)(props=>({values:[(0,insightVizDataLogic.Z)(props),["querySource","dateRange","retentionFilter"],retentionLogic(props),["results"]]})),(0,index_esm.selectors)({trendSeries:[s=>[s.results,s.retentionFilter],(results,retentionFilter)=>{let{period,retentionReference}=retentionFilter||{};return results.map((cohortRetention,datasetIndex)=>{let retentionPercentages=cohortRetention.values.map(value=>value.count/cohortRetention.values[0].count).map(value=>isNaN(value)?0:100*value),paddedValues=[100].concat(retentionPercentages);return{id:datasetIndex,days:retentionPercentages.map((_,index)=>`${period} ${index}`),labels:retentionPercentages.map((_,index)=>`${period} ${index}`),count:0,label:cohortRetention.date?"Hour"===period?(0,dayjs.Bv)(cohortRetention.date).format("MMM D, h A"):(0,dayjs.Bv)(cohortRetention.date).format("MMM D"):cohortRetention.label,data:"previous"===retentionReference?retentionPercentages.map((value,index)=>[value,paddedValues[index]]).map(_ref=>{let[value,previous]=_ref;return 100*value/previous}):retentionPercentages,index:datasetIndex}})}],incompletenessOffsetFromEnd:[s=>[s.dateRange,s.retentionFilter,s.trendSeries],(dateRange,retentionFilter,trendSeries)=>{let{date_to}=dateRange||{},{period}=retentionFilter||{};if(!trendSeries?.[0]?.days)return 0;if(!date_to)return -1;let numUnits=trendSeries[0].days.length,interval=retention_constants.tp?.[null!=period?period:types.xW.Day],startDate=(0,dayjs.Bv)().startOf(interval),startIndex=trendSeries[0].days.findIndex((_,i)=>(0,dayjs.Bv)(date_to).add(i-numUnits,interval)>=startDate);return void 0!==startIndex&&-1!==startIndex?startIndex-trendSeries[0].days.length:0}],aggregationGroupTypeIndex:[s=>[s.querySource],querySource=>{var _ref2;return null!==(_ref2=(0,utils.Vr)(querySource)||(0,utils.vy)(querySource)?null:querySource?.aggregation_group_type_index)&&void 0!==_ref2?_ref2:"people"}]})]);var featureFlagLogic=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),query=__webpack_require__("./frontend/src/queries/query.ts");function retentionToActorsQuery(query,selectedInterval){var _query$retentionFilte;let offset=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,group=null!=query.aggregation_group_type_index,totalIntervals=(query.retentionFilter.totalIntervals||11)-selectedInterval,periodName=null!==(_query$retentionFilte=query.retentionFilter.period?.toLowerCase())&&void 0!==_query$retentionFilte?_query$retentionFilte:"day",selects=Array.from({length:totalIntervals},(_,intervalNumber)=>`${periodName}_${intervalNumber}`);return{kind:schema.OH.ActorsQuery,select:[group?"group":"person",...selects],orderBy:["length(appearances) DESC","actor_id"],source:{kind:schema.OH.InsightActorsQuery,interval:selectedInterval,source:{...query,retentionFilter:{...query.retentionFilter}}},offset,limit:offset?2*offset:void 0}}async function queryForActors(retentionQuery,selectedInterval){let offset=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,actorsQuery=retentionToActorsQuery(retentionQuery,selectedInterval,offset),response=await (0,query.jr)(actorsQuery),results=response.results.map(row=>({person:row[0],appearances:row.slice(1,row.length)}));return{result:results,offset:response.hasMore?response.offset+response.limit:void 0,missing_persons:response.missing_actors_count}}var kea_loaders_lib=__webpack_require__("./node_modules/.pnpm/kea-loaders@3.0.0_kea@3.1.5/node_modules/kea-loaders/lib/index.js"),api=__webpack_require__("./frontend/src/lib/api.ts");let retentionPeopleLogic=(0,index_esm.kea)([(0,index_esm.props)({}),(0,index_esm.key)((0,sharedUtils.bk)("default_retention_key")),(0,index_esm.path)(key=>["scenes","retention","retentionPeopleLogic",key]),(0,index_esm.connect)(props=>({values:[(0,insightVizDataLogic.Z)(props),["querySource"]],actions:[(0,insightVizDataLogic.Z)(props),["loadDataSuccess"]]})),(0,index_esm.actions)(()=>({clearPeople:!0,loadMorePeople:selectedInterval=>selectedInterval,loadMorePeopleSuccess:payload=>({payload})})),(0,kea_loaders_lib.loaders)(_ref=>{let{values}=_ref;return{people:{__default:{},loadPeople:async selectedInterval=>await queryForActors(values.querySource,selectedInterval)}}}),(0,index_esm.reducers)({people:{clearPeople:()=>({}),loadPeople:()=>({}),loadMorePeopleSuccess:(_,_ref2)=>{let{payload}=_ref2;return payload}},peopleLoadingMore:[!1,{loadMorePeople:()=>!0,loadMorePeopleSuccess:()=>!1}]}),(0,index_esm.selectors)(()=>({apiFilters:[s=>[s.querySource],querySource=>querySource?(0,queryNodeToFilter.ce)(querySource):{}]})),(0,index_esm.listeners)(_ref3=>{let{actions,values}=_ref3;return{loadDataSuccess:()=>{actions.clearPeople()},loadMorePeople:async selectedInterval=>{if(values.people.next||values.people.offset){let peopleResult;peopleResult=values.people.offset&&values.querySource?.kind===schema.OH.RetentionQuery?await queryForActors(values.querySource,selectedInterval,values.people.offset):await api.ZP.get(values.people.next);let newPayload={result:[...values.people.result||[],...peopleResult.result||[]],next:peopleResult.next,offset:peopleResult.offset,missing_persons:(peopleResult.missing_persons||0)+(values.people.missing_persons||0)};actions.loadMorePeopleSuccess(newPayload)}}}})]),retentionModalLogic=(0,index_esm.kea)([(0,index_esm.props)({}),(0,index_esm.key)((0,sharedUtils.bk)("default_retention_key")),(0,index_esm.path)(key=>["scenes","retention","retentionModalLogic",key]),(0,index_esm.connect)(props=>({values:[(0,insightVizDataLogic.Z)(props),["querySource","retentionFilter"],groupsModel.$,["aggregationLabel"],featureFlagLogic.h,["featureFlags"]],actions:[retentionPeopleLogic(props),["loadPeople"]]})),(0,index_esm.actions)(()=>({openModal:rowIndex=>({rowIndex}),closeModal:!0})),(0,index_esm.reducers)({selectedInterval:[null,{openModal:(_,_ref)=>{let{rowIndex}=_ref;return rowIndex},closeModal:()=>null}]}),(0,index_esm.selectors)({aggregationTargetLabel:[s=>[s.querySource,s.aggregationLabel],(querySource,aggregationLabel)=>{let aggregation_group_type_index=(0,utils.Vr)(querySource)||(0,utils.vy)(querySource)?void 0:querySource?.aggregation_group_type_index;return aggregationLabel(aggregation_group_type_index)}],actorsQuery:[s=>[s.querySource,s.selectedInterval],(querySource,selectedInterval)=>querySource?retentionToActorsQuery(querySource,null!=selectedInterval?selectedInterval:0):null],exploreUrl:[s=>[s.actorsQuery],actorsQuery=>{if(!actorsQuery)return null;let query={kind:schema.OH.DataTableNode,source:actorsQuery,full:!0};return(0,utils.a5)(actorsQuery.source)&&(0,utils.I5)(actorsQuery.source.source)&&void 0!==actorsQuery.source.source.aggregation_group_type_index&&(query.showPropertyFilter=!1),urls.j.insightNew(void 0,void 0,query)}]}),(0,index_esm.listeners)(_ref2=>{let{actions}=_ref2;return{openModal:_ref3=>{let{rowIndex}=_ref3;actions.loadPeople(rowIndex)}}})]);function RetentionLineGraph(_ref){let{inSharedMode=!1}=_ref,{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{trendSeries,incompletenessOffsetFromEnd,aggregationGroupTypeIndex}=(0,index_esm.useValues)(retentionLineGraphLogic(insightProps)),{openModal}=(0,index_esm.useActions)(retentionModalLogic(insightProps));return 0===trendSeries.length?null:trendSeries?(0,jsx_runtime.jsx)(LineGraph.xr,{"data-attr":"trend-line-graph",type:types.KU.Line,datasets:trendSeries,labels:trendSeries[0]&&trendSeries[0].labels||[],isInProgress:incompletenessOffsetFromEnd<0,inSharedMode:!!inSharedMode,showPersonsModal:!1,labelGroupType:aggregationGroupTypeIndex,trendsFilter:{aggregationAxisFormat:"percentage"},tooltip:{rowCutoff:11,renderSeries:function _renderCohortPrefix(value){return(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[value,(0,jsx_runtime.jsx)("span",{className:"ml-1",children:"Cohort"})]})},showHeader:!1,renderCount:count=>`${(0,lib_utils.jb)(count)}%`},onClick:payload=>{let{points}=payload,rowIndex=points.clickedPointNotLine?points.pointsIntersectingClick[0].dataset.index:points.pointsIntersectingLine[0].dataset.index;void 0!==rowIndex&&openModal(rowIndex)},incompletenessOffsetFromEnd:incompletenessOffsetFromEnd}):(0,jsx_runtime.jsx)(EmptyStates.dV,{})}var RetentionTable=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/retention/RetentionTable.scss"),RetentionTable_default=__webpack_require__.n(RetentionTable),RetentionTable_options={};RetentionTable_options.insert="head",RetentionTable_options.singleton=!1,injectStylesIntoStyleTag_default()(RetentionTable_default(),RetentionTable_options),RetentionTable_default().locals;var exportsLogic=__webpack_require__("./frontend/src/lib/components/ExportButton/exportsLogic.ts"),Spinner=__webpack_require__("./frontend/src/lib/lemon-ui/Spinner/Spinner.tsx"),GroupActorDisplay=__webpack_require__("./frontend/src/scenes/persons/GroupActorDisplay.tsx"),person_utils=__webpack_require__("./frontend/src/scenes/persons/person-utils.ts"),DataTableExport=__webpack_require__("./frontend/src/queries/nodes/DataTable/DataTableExport.tsx");function RetentionModal(){let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{results}=(0,index_esm.useValues)(retentionLogic(insightProps)),{people,peopleLoading,peopleLoadingMore}=(0,index_esm.useValues)(retentionPeopleLogic(insightProps)),{loadMorePeople}=(0,index_esm.useActions)(retentionPeopleLogic(insightProps)),{aggregationTargetLabel,selectedInterval,exploreUrl,actorsQuery}=(0,index_esm.useValues)(retentionModalLogic(insightProps)),{closeModal}=(0,index_esm.useActions)(retentionModalLogic(insightProps)),{startExport}=(0,index_esm.useActions)(exportsLogic.exportsLogic),dataTableNodeQuery=actorsQuery?{kind:schema.OH.DataTableNode,source:actorsQuery}:void 0;if(!results||null===selectedInterval)return null;let row=results[selectedInterval],isEmpty=row.values[0]?.count===0;return(0,jsx_runtime.jsxs)(src.fQ,{isOpen:!0,onClose:closeModal,footer:(0,jsx_runtime.jsxs)("div",{className:"flex justify-between gap-2 w-full",children:[(0,jsx_runtime.jsxs)("div",{className:"flex gap-2",children:[!!people.result?.length&&!exploreUrl&&(0,jsx_runtime.jsx)(src.Jp,{type:"secondary",onClick:()=>startExport({export_format:types.P5.CSV,export_context:{path:row?.people_url}}),children:"Download CSV"}),!!people.result?.length&&!!dataTableNodeQuery&&(0,jsx_runtime.jsx)(src.Jp,{type:"secondary",onClick:()=>{dataTableNodeQuery&&(0,DataTableExport.dj)(dataTableNodeQuery,!0,startExport)},tooltip:`Up to ${DataTableExport.yP} persons will be exported`,children:"Export all as CSV"})]}),exploreUrl&&(0,jsx_runtime.jsx)(src.Jp,{type:"primary",to:exploreUrl,"data-attr":"person-modal-new-insight",onClick:()=>{closeModal()},children:"Explore"})]}),width:isEmpty?void 0:"90%",title:`${dayjs.Bv.utc(row.date).format("MMMM D, YYYY")} Cohort`,children:[people&&!!people.missing_persons&&(0,jsx_runtime.jsx)(PersonsModal.JY,{actorLabel:aggregationTargetLabel,missingActorsCount:people.missing_persons}),(0,jsx_runtime.jsx)("div",{children:peopleLoading?(0,jsx_runtime.jsx)(Spinner.t,{}):isEmpty?(0,jsx_runtime.jsxs)("span",{children:["No ",aggregationTargetLabel.plural," during this period."]}):(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)("table",{className:"RetentionTable RetentionTable--non-interactive",children:(0,jsx_runtime.jsxs)("tbody",{children:[(0,jsx_runtime.jsxs)("tr",{children:[(0,jsx_runtime.jsx)("th",{children:(0,lib_utils.fm)(aggregationTargetLabel.singular)}),row.values?.map((data,index)=>jsx_runtime.jsxs("th",{children:[jsx_runtime.jsx("div",{children:results[index].label}),jsx_runtime.jsxs("div",{children:[data.count,"\xa0",data.count>0&&jsx_runtime.jsxs("span",{className:"text-muted",children:["(",lib_utils.e9(data.count/row?.values[0].count),")"]})]})]},index))]}),people.result&&people.result.map(personAppearances=>(0,jsx_runtime.jsxs)("tr",{children:[(0,jsx_runtime.jsx)("td",{className:"min-w-[200px]",children:(0,lib_utils.tK)(personAppearances.person)?(0,jsx_runtime.jsx)(src.Jp,{size:"small",to:urls.j.group(String(personAppearances.person.group_type_index),personAppearances.person.group_key),"data-attr":"retention-person-link",children:(0,GroupActorDisplay.O)(personAppearances.person.group_key,personAppearances.person.properties)}):(0,jsx_runtime.jsx)(src.Jp,{size:"small",to:urls.j.personByDistinctId(personAppearances.person.distinct_ids?.[0]),"data-attr":"retention-person-link",children:(0,person_utils.y)(personAppearances.person)})}),personAppearances.appearances.map((appearance,index)=>(0,jsx_runtime.jsx)("td",{children:(0,jsx_runtime.jsx)("div",{className:(0,clsx_m.default)("RetentionTable__Tab",appearance?"opacity-100":"opacity-20")})},index))]},personAppearances.person.id))]})}),people.next||people.offset?(0,jsx_runtime.jsx)("div",{className:"m-4 flex justify-center",children:(0,jsx_runtime.jsxs)(src.Jp,{type:"primary",onClick:()=>loadMorePeople(selectedInterval),loading:peopleLoadingMore,children:["Load more ",aggregationTargetLabel.plural]})}):null]})})]})}let periodIsLatest=(date_to,period)=>{if(!date_to||!period)return!0;let curr=(0,dayjs.Bv)(date_to);return!!("Hour"==period&&curr.isSame((0,dayjs.Bv)(),"hour")||"Day"==period&&curr.isSame((0,dayjs.Bv)(),"day")||"Week"==period&&curr.isSame((0,dayjs.Bv)(),"week")||"Month"==period&&curr.isSame((0,dayjs.Bv)(),"month"))},retentionTableLogic=(0,index_esm.kea)([(0,index_esm.props)({}),(0,index_esm.key)((0,sharedUtils.bk)("default_retention_key")),(0,index_esm.path)(key=>["scenes","retention","retentionTableLogic",key]),(0,index_esm.connect)(props=>({values:[(0,insightVizDataLogic.Z)(props),["dateRange","retentionFilter","breakdownFilter","vizSpecificOptions"],retentionLogic(props),["results"]]})),(0,index_esm.selectors)({isLatestPeriod:[s=>[s.dateRange,s.retentionFilter],(dateRange,retentionFilter)=>periodIsLatest(dateRange?.date_to||null,retentionFilter?.period||null)],retentionVizOptions:[s=>[s.vizSpecificOptions],vizSpecificOptions=>vizSpecificOptions?.[types.dw.RETENTION]],hideSizeColumn:[s=>[s.retentionVizOptions],retentionVizOptions=>retentionVizOptions?.hideSizeColumn],maxIntervalsCount:[s=>[s.results],results=>Math.max(...results.map(result=>result.values.length))],tableHeaders:[s=>[s.results,s.hideSizeColumn],(results,hideSizeColumn)=>["Cohort",...hideSizeColumn?[]:["Size"],...results.map(x=>x.label)]],tableRows:[s=>[s.results,s.maxIntervalsCount,s.retentionFilter,s.breakdownFilter,s.hideSizeColumn],(results,maxIntervalsCount,retentionFilter,breakdownFilter,hideSizeColumn)=>{let{period}=retentionFilter||{},{breakdowns}=breakdownFilter||{};return(0,lib_utils.w6)(maxIntervalsCount).map(index=>{let firstColumn;let currentResult=results[index];if(breakdowns?.length)firstColumn=currentResult.label;else switch(period){case"Hour":firstColumn=dayjs.Bv.utc(currentResult.date).format("MMM D, h A");break;case"Month":firstColumn=dayjs.Bv.utc(currentResult.date).format("MMM YYYY");break;case"Week":{let startDate=dayjs.Bv.utc(currentResult.date),endDate=startDate.add(6,"day");firstColumn=`${startDate.format("MMM D")} to ${endDate.format("MMM D")}`;break}default:firstColumn=dayjs.Bv.utc(currentResult.date).format("MMM D")}let secondColumn=hideSizeColumn?[]:[currentResult.values[0].count],otherColumns=currentResult.values.map(value=>{let totalCount=currentResult.values[0].count,percentage=totalCount>0?value.count/totalCount*100:0;return{count:value.count,percentage}});return[firstColumn,...secondColumn,...otherColumns]})}]})]);function RetentionTable_RetentionTable(_ref){let{inSharedMode=!1}=_ref,{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{tableHeaders,tableRows,isLatestPeriod,hideSizeColumn,retentionVizOptions}=(0,index_esm.useValues)(retentionTableLogic(insightProps)),{openModal}=(0,index_esm.useActions)(retentionModalLogic(insightProps)),{retentionFilter}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),showMean=retentionFilter?.showMean||!1;return(0,jsx_runtime.jsx)("table",{className:(0,clsx_m.default)("RetentionTable",{"RetentionTable--small-layout":retentionVizOptions?.useSmallLayout}),"data-attr":"retention-table",children:(0,jsx_runtime.jsxs)("tbody",{children:[(0,jsx_runtime.jsx)("tr",{children:tableHeaders.map(heading=>(0,jsx_runtime.jsx)("th",{children:heading},heading))}),showMean&&tableRows.length>0?(0,jsx_runtime.jsx)("tr",{className:"border-b",children:(0,lib_utils.w6)(0,tableRows[0].length).map(columnIndex=>(0,jsx_runtime.jsx)("td",{className:"pb-2",children:columnIndex<=(hideSizeColumn?0:1)?0==columnIndex?(0,jsx_runtime.jsx)("span",{className:"RetentionTable__TextTab",children:"Mean"}):null:(0,jsx_runtime.jsx)(CohortDay,{percentage:(0,d3_src.J69)(tableRows.map(row=>columnIndex>=row.length-1&&isLatestPeriod||!row[columnIndex]?null:row[columnIndex].percentage))||0,latest:isLatestPeriod&&columnIndex==tableRows[0].length-1,clickable:!1,backgroundColor:lib_utils.Wd})},columnIndex))},-1):void 0,tableRows.map((row,rowIndex)=>(0,jsx_runtime.jsx)("tr",{onClick:()=>{inSharedMode||openModal(rowIndex)},children:row.map((column,columnIndex)=>(0,jsx_runtime.jsx)("td",{className:(0,clsx_m.default)({"pt-2":0===rowIndex&&showMean}),children:columnIndex<=(hideSizeColumn?0:1)?(0,jsx_runtime.jsx)("span",{className:"RetentionTable__TextTab",children:column}):(0,jsx_runtime.jsx)(CohortDay,{percentage:column.percentage,clickable:!0,latest:isLatestPeriod&&columnIndex===row.length-1})},columnIndex))},rowIndex))]})})}function CohortDay(_ref2){let{percentage,latest,clickable,backgroundColor}=_ref2,backgroundColorSaturation=percentage/100,saturatedBackgroundColor=(0,lib_utils.BW)(backgroundColor||lib_utils.ke,backgroundColorSaturation,.1),textColor=backgroundColorSaturation>.4?"#fff":"var(--text-3000)",numberCell=(0,jsx_runtime.jsxs)("div",{className:(0,clsx_m.default)("RetentionTable__Tab",{"RetentionTable__Tab--clickable":clickable,"RetentionTable__Tab--period":latest}),style:latest?void 0:{backgroundColor:saturatedBackgroundColor,color:textColor},children:[percentage.toFixed(1),"%"]});return latest?(0,jsx_runtime.jsx)(Tooltip.u,{title:"Period in progress",children:numberCell}):numberCell}function RetentionContainer(_ref){let{inCardView,inSharedMode,vizSpecificOptions}=_ref,hideLineGraph=vizSpecificOptions?.hideLineGraph||inCardView;return(0,jsx_runtime.jsx)("div",{className:"RetentionContainer",children:hideLineGraph?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(RetentionTable_RetentionTable,{inSharedMode:inSharedMode}),inSharedMode?null:(0,jsx_runtime.jsx)(RetentionModal,{})]}):(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)("div",{className:"RetentionContainer__graph",children:(0,jsx_runtime.jsx)(RetentionLineGraph,{inSharedMode:inSharedMode})}),(0,jsx_runtime.jsx)(src.p2,{}),(0,jsx_runtime.jsx)("div",{className:"RetentionContainer__table overflow-x-auto",children:(0,jsx_runtime.jsx)(RetentionTable_RetentionTable,{inSharedMode:inSharedMode})}),inSharedMode?null:(0,jsx_runtime.jsx)(RetentionModal,{})]})})}var BoldNumber=__webpack_require__("./frontend/src/scenes/insights/views/BoldNumber/BoldNumber.tsx"),WorldMap=__webpack_require__("./frontend/src/scenes/insights/views/WorldMap/index.ts"),trendsDataLogic=__webpack_require__("./frontend/src/scenes/trends/trendsDataLogic.ts");function datasetToActorsQuery(_ref){var _dataset$breakdown_va,_dataset$compare_labe,_dataset$action$order;let{query,dataset,day,index}=_ref,breakdown=null!==(_dataset$breakdown_va=dataset.breakdown_value)&&void 0!==_dataset$breakdown_va?_dataset$breakdown_va:void 0!==index&&Array.isArray(dataset.breakdownValues)?dataset.breakdownValues[index]:void 0,compare=null!==(_dataset$compare_labe=dataset.compare_label)&&void 0!==_dataset$compare_labe?_dataset$compare_labe:void 0!==index&&Array.isArray(dataset.compareLabels)?dataset.compareLabels[index]:void 0;return{kind:schema.OH.InsightActorsQuery,source:query,day,status:dataset.status,series:null!==(_dataset$action$order=dataset.action?.order)&&void 0!==_dataset$action$order?_dataset$action$order:0,breakdown,compare,includeRecordings:!0}}function ActionsHorizontalBar(_ref){let{showPersonsModal=!0}=_ref,[data,setData]=(0,react.useState)(null),[total,setTotal]=(0,react.useState)(0),{cohorts}=(0,index_esm.useValues)(cohortsModel.Q),{formatPropertyValueForDisplay}=(0,index_esm.useValues)(propertyDefinitionsModel.IP),{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{indexedResults,labelGroupType,trendsFilter,formula,showValuesOnSeries,isDataWarehouseSeries,querySource,breakdownFilter,hiddenLegendIndexes,getTrendsColor,theme}=(0,index_esm.useValues)((0,trendsDataLogic.i)(insightProps));return(0,react.useEffect)(()=>{indexedResults&&function(){let _data=[...indexedResults],colorList=indexedResults.map(getTrendsColor);setData([{labels:_data.map(item=>item.label),data:_data.map(item=>item.aggregated_value),actions:_data.map(item=>item.action),personsValues:_data.map(item=>item.persons),breakdownValues:_data.map(item=>item.breakdown_value),breakdownLabels:_data.map(item=>(0,insights_utils.Cq)(item.breakdown_value,breakdownFilter,cohorts,formatPropertyValueForDisplay)),compareLabels:_data.map(item=>item.compare_label),backgroundColor:colorList,hoverBackgroundColor:colorList,hoverBorderColor:colorList,borderColor:colorList,hoverBorderWidth:10,borderWidth:1}]),setTotal(_data.reduce((prev,item)=>prev+item.aggregated_value,0))}()},[indexedResults,theme]),data&&total>0?(0,jsx_runtime.jsx)(LineGraph.xr,{"data-attr":"trend-bar-value-graph",type:types.KU.HorizontalBar,tooltip:{showHeader:!1},labelGroupType:labelGroupType,datasets:data,labels:data[0].labels,hiddenLegendIndexes:hiddenLegendIndexes,showPersonsModal:showPersonsModal,trendsFilter:trendsFilter,formula:formula,showValuesOnSeries:showValuesOnSeries,onClick:!showPersonsModal||trendsFilter?.formula||isDataWarehouseSeries?void 0:point=>{let{index,points}=point,dataset=points.referencePoint.dataset,label=dataset.labels?.[point.index];(0,PersonsModal.Yp)({title:label||"",query:datasetToActorsQuery({dataset,query:querySource,index}),additionalSelect:{value_at_data_point:"event_count",matched_recordings:"matched_recordings"},orderBy:["event_count DESC, actor_id DESC"]})}}):(0,jsx_runtime.jsx)(EmptyStates.dV,{})}var helpers_segment=__webpack_require__("./node_modules/.pnpm/chart.js@4.4.3/node_modules/chart.js/dist/chunks/helpers.segment.js"),insightAlertsLogic=__webpack_require__("./frontend/src/lib/components/Alerts/insightAlertsLogic.ts"),DateDisplay=__webpack_require__("./frontend/src/lib/components/DateDisplay/index.tsx"),PropertyKeyInfo=__webpack_require__("./frontend/src/lib/components/PropertyKeyInfo.tsx");function ActionsLineGraph(_ref){let{inSharedMode=!1,showPersonsModal=!0,context}=_ref,{insightProps,insight}=(0,index_esm.useValues)(insightLogic.zm),{indexedResults,labelGroupType,incompletenessOffsetFromEnd,formula,display,interval,showValuesOnSeries,showPercentStackView,supportsPercentStackView,trendsFilter,isLifecycle,isStickiness,isDataWarehouseSeries,showLegend,hiddenLegendIndexes,querySource,yAxisScaleType}=(0,index_esm.useValues)((0,trendsDataLogic.i)(insightProps)),{alertThresholdLines}=(0,index_esm.useValues)((0,insightAlertsLogic.E)({insightId:insight.id,insightLogicProps:insightProps})),labels=2===indexedResults.length&&indexedResults.every(x=>x.compare)&&indexedResults.find(x=>"current"===x.compare_label)?.labels||indexedResults[0]&&indexedResults[0].labels||[],shortenLifecycleLabels=s=>{var _ref2,_s$split$;return(0,lib_utils.fm)(null!==(_ref2=null!==(_s$split$=s?.split(" - ")?.[1])&&void 0!==_s$split$?_s$split$:s)&&void 0!==_ref2?_ref2:"None")},legend={display:!1};return(isLifecycle&&showLegend&&(legend.display=!0,legend.labels={generateLabels:chart=>{let labelElements=helpers_segment.d.plugins.legend.labels.generateLabels(chart);return labelElements.forEach(elt=>{elt.text=shortenLifecycleLabels(elt.text)}),labelElements}}),indexedResults&&indexedResults[0]?.data&&indexedResults.filter(result=>0!==result.count).length>0)?(0,jsx_runtime.jsx)(LineGraph.xr,{"data-attr":"trend-line-graph",type:display===types.Qb.ActionsBar||isLifecycle?types.KU.Bar:types.KU.Line,hiddenLegendIndexes:hiddenLegendIndexes,datasets:indexedResults,labels:labels,inSharedMode:inSharedMode,labelGroupType:labelGroupType,showPersonsModal:showPersonsModal,trendsFilter:trendsFilter,formula:formula,showValuesOnSeries:showValuesOnSeries,showPercentStackView:showPercentStackView,supportsPercentStackView:supportsPercentStackView,yAxisScaleType:yAxisScaleType,tooltip:isLifecycle?{altTitle:"Users",altRightTitle:(_,date)=>date,renderSeries:(_,datum)=>shortenLifecycleLabels(datum.label)}:void 0,isInProgress:!isStickiness&&incompletenessOffsetFromEnd<0,isArea:display===types.Qb.ActionsAreaGraph,incompletenessOffsetFromEnd:incompletenessOffsetFromEnd,legend:legend,alertLines:alertThresholdLines,onClick:!showPersonsModal||(0,lib_utils.dm)(formula)||isDataWarehouseSeries?void 0:payload=>{var _ref3,_dataset$action$days$,_ref4,_dataset$label;let{index,points}=payload,dataset=points.referencePoint.dataset;if(!dataset)return;let day=null!==(_ref3=null!==(_dataset$action$days$=dataset.action?.days?.[index])&&void 0!==_dataset$action$days$?_dataset$action$days$:dataset?.days?.[index])&&void 0!==_ref3?_ref3:"",label=null!==(_ref4=null!==(_dataset$label=dataset?.label)&&void 0!==_dataset$label?_dataset$label:dataset?.labels?.[index])&&void 0!==_ref4?_ref4:"",title=isStickiness?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(PropertyKeyInfo.T,{value:label||"",disablePopover:!0})," stickiness on day ",day]}):label=>(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[label," on"," ",(0,jsx_runtime.jsx)(DateDisplay.q,{interval:interval||"day",date:day?.toString()||""})]});(0,PersonsModal.Yp)({title,query:datasetToActorsQuery({dataset,query:querySource,day}),additionalSelect:isLifecycle||isStickiness?{}:{value_at_data_point:"event_count",matched_recordings:"matched_recordings"},orderBy:isLifecycle||isStickiness?void 0:["event_count DESC, actor_id DESC"]})}}):(0,jsx_runtime.jsx)(EmptyStates.dV,{heading:context?.emptyStateHeading,detail:context?.emptyStateDetail})}var ActionsPie=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/trends/viz/ActionsPie.scss"),ActionsPie_default=__webpack_require__.n(ActionsPie),ActionsPie_options={};ActionsPie_options.insert="head",ActionsPie_options.singleton=!1,injectStylesIntoStyleTag_default()(ActionsPie_default(),ActionsPie_options),ActionsPie_default().locals;var aggregationAxisFormat=__webpack_require__("./frontend/src/scenes/insights/aggregationAxisFormat.ts"),PieChart=__webpack_require__("./frontend/src/scenes/insights/views/LineGraph/PieChart.tsx");function ActionsPie_ActionsPie(_ref){let{inSharedMode,showPersonsModal=!0,context}=_ref,[data,setData]=(0,react.useState)(null),[total,setTotal]=(0,react.useState)(0),{cohorts}=(0,index_esm.useValues)(cohortsModel.Q),{formatPropertyValueForDisplay}=(0,index_esm.useValues)(propertyDefinitionsModel.IP),{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{indexedResults,labelGroupType,trendsFilter,formula,showValuesOnSeries,showLabelOnSeries,supportsPercentStackView,showPercentStackView,pieChartVizOptions,isDataWarehouseSeries,querySource,breakdownFilter,hiddenLegendIndexes,getTrendsColor}=(0,index_esm.useValues)((0,trendsDataLogic.i)(insightProps)),renderingMetadata=context?.chartRenderingMetadata?.[types.Qb.ActionsPie],showAggregation=!pieChartVizOptions?.hideAggregation;(0,react.useEffect)(()=>{indexedResults&&function(){let days=indexedResults.length>0?indexedResults[0].days:[],colorList=indexedResults.map(getTrendsColor);setData([{id:0,labels:indexedResults.map(item=>item.label),data:indexedResults.map(item=>item.aggregated_value),actions:indexedResults.map(item=>item.action),breakdownValues:indexedResults.map(item=>item.breakdown_value),breakdownLabels:indexedResults.map(item=>(0,insights_utils.Cq)(item.breakdown_value,breakdownFilter,cohorts,formatPropertyValueForDisplay)),compareLabels:indexedResults.map(item=>item.compare_label),personsValues:indexedResults.map(item=>item.persons),days,backgroundColor:colorList,borderColor:colorList}]),setTotal(indexedResults.reduce((prev,item,i)=>prev+(hiddenLegendIndexes?.includes(i)?0:item.aggregated_value),0))}()},[indexedResults,hiddenLegendIndexes]);let onClick=renderingMetadata?.onSegmentClick||(!showPersonsModal||formula?void 0:payload=>{let{points,index}=payload,dataset=points.referencePoint.dataset,label=dataset.labels?.[index];(0,PersonsModal.Yp)({title:label||"",query:datasetToActorsQuery({dataset,query:querySource,index}),additionalSelect:{value_at_data_point:"event_count",matched_recordings:"matched_recordings"},orderBy:["event_count DESC, actor_id DESC"]})});return data?data[0]&&data[0].labels?(0,jsx_runtime.jsx)("div",{className:"ActionsPie",children:(0,jsx_runtime.jsxs)("div",{className:"ActionsPie__component",children:[(0,jsx_runtime.jsx)("div",{className:"ActionsPie__chart",children:(0,jsx_runtime.jsx)(PieChart.u,{"data-attr":"trend-pie-graph",hiddenLegendIndexes:hiddenLegendIndexes,type:types.KU.Pie,datasets:data,labels:data[0].labels,labelGroupType:labelGroupType,inSharedMode:!!inSharedMode,showPersonsModal:showPersonsModal,trendsFilter:trendsFilter,formula:formula,showValuesOnSeries:showValuesOnSeries,showLabelOnSeries:showLabelOnSeries,supportsPercentStackView:supportsPercentStackView,showPercentStackView:showPercentStackView,onClick:isDataWarehouseSeries?void 0:onClick,disableHoverOffset:pieChartVizOptions?.disableHoverOffset})}),showAggregation&&(0,jsx_runtime.jsx)("div",{className:"text-7xl text-center font-bold m-0",children:(0,aggregationAxisFormat.nO)(trendsFilter,total)})]})}):(0,jsx_runtime.jsx)("p",{className:"text-center mt-16",children:"We couldn't find any matching actions."}):null}function TrendInsight(_ref){let{view,context,embedded,inSharedMode}=_ref,{insightMode}=(0,index_esm.useValues)(insightSceneLogic.T),{insightProps,showPersonsModal:insightLogicShowPersonsModal}=(0,index_esm.useValues)(insightLogic.zm),showPersonsModal=insightLogicShowPersonsModal&&!inSharedMode,{display,series,breakdownFilter,hasBreakdownMore,breakdownValuesLoading}=(0,index_esm.useValues)((0,trendsDataLogic.i)(insightProps)),{updateBreakdownFilter}=(0,index_esm.useActions)((0,trendsDataLogic.i)(insightProps));return(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[series&&(0,jsx_runtime.jsx)("div",{className:embedded?"InsightCard__viz":`TrendsInsight TrendsInsight--${display}`,children:(()=>{if(!display||display===types.Qb.ActionsLineGraph||display===types.Qb.ActionsLineGraphCumulative||display===types.Qb.ActionsAreaGraph||display===types.Qb.ActionsBar)return(0,jsx_runtime.jsx)(ActionsLineGraph,{showPersonsModal:showPersonsModal,context:context,inCardView:embedded,inSharedMode:inSharedMode});if(display===types.Qb.BoldNumber)return(0,jsx_runtime.jsx)(BoldNumber.O,{showPersonsModal:showPersonsModal,context:context,inCardView:embedded,inSharedMode:inSharedMode});if(display===types.Qb.ActionsTable){let ActionsTable=InsightsTable.z;return(0,jsx_runtime.jsx)(ActionsTable,{embedded:!0,filterKey:`trends_${view}`,canEditSeriesNameInline:insightMode===types.LO.Edit,isMainInsightView:!0})}return display===types.Qb.ActionsPie?(0,jsx_runtime.jsx)(ActionsPie_ActionsPie,{showPersonsModal:showPersonsModal,context:context,inCardView:embedded,inSharedMode:inSharedMode}):display===types.Qb.ActionsBarValue?(0,jsx_runtime.jsx)(ActionsHorizontalBar,{showPersonsModal:showPersonsModal,context:context,inCardView:embedded,inSharedMode:inSharedMode}):display===types.Qb.WorldMap?(0,jsx_runtime.jsx)(WorldMap.bm,{showPersonsModal:showPersonsModal,context:context,inCardView:embedded,inSharedMode:inSharedMode}):void 0})()}),!embedded&&display!==types.Qb.WorldMap&&breakdownFilter&&hasBreakdownMore&&(0,jsx_runtime.jsx)("div",{className:"p-4",children:(0,jsx_runtime.jsxs)("div",{className:"text-muted",children:["Breakdown limited to ",breakdownFilter.breakdown_limit||25," - more available",(0,jsx_runtime.jsxs)(src.Jp,{onClick:()=>updateBreakdownFilter({...breakdownFilter,breakdown_limit:2*(breakdownFilter.breakdown_limit||25)}),loading:breakdownValuesLoading,size:"xsmall",type:"secondary",className:"inline-block ml-2",children:["Set to ",2*(breakdownFilter.breakdown_limit||25)]})]})})]})}function ChartFilter(){let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{display}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,insightVizDataLogic.Z)(insightProps)),{isTrends,isSingleSeries,formula,breakdownFilter}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),trendsOnlyDisabledReason=isTrends?void 0:"This type is only available in Trends.",options=[{title:"Time series",options:[{value:types.Qb.ActionsLineGraph,icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconTrends,{}),label:"Line chart"},{value:types.Qb.ActionsBar,icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconGraph,{}),label:"Bar chart"},{value:types.Qb.ActionsAreaGraph,icon:(0,jsx_runtime.jsx)(icons.Ii,{}),label:"Area chart"}]},{title:"Cumulative time series",options:[{value:types.Qb.ActionsLineGraphCumulative,icon:(0,jsx_runtime.jsx)(icons.rp,{}),label:"Line chart (cumulative)",labelInMenu:"Line chart",disabledReason:trendsOnlyDisabledReason}]},{title:"Total value",options:[{value:types.Qb.BoldNumber,icon:(0,jsx_runtime.jsx)(icons.hQ,{}),label:"Number",disabledReason:trendsOnlyDisabledReason||(isSingleSeries?void 0:"This type currently only supports insights with one series, and this insight has multiple series.")},{value:types.Qb.ActionsPie,icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconPieChart,{}),label:"Pie chart",disabledReason:trendsOnlyDisabledReason},{value:types.Qb.ActionsBarValue,icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconGraph,{className:"rotate-90"}),label:"Bar chart",disabledReason:trendsOnlyDisabledReason},{value:types.Qb.ActionsTable,icon:(0,jsx_runtime.jsx)(icons.p$,{}),label:"Table"},{value:types.Qb.WorldMap,icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconGlobe,{}),label:"World map",tooltip:"Visualize data by country.",disabledReason:trendsOnlyDisabledReason||(formula?"This type isn't available, because it doesn't support formulas.":breakdownFilter?.breakdown&&"$geoip_country_code"!==breakdownFilter.breakdown&&"$geoip_country_name"!==breakdownFilter.breakdown?"This type isn't available, because there's a breakdown other than by Country Code or Country Name properties.":void 0)}]}];return(0,jsx_runtime.jsx)(src.Yv,{value:display||types.Qb.ActionsLineGraph,onChange:value=>{updateInsightFilter({display:value})},dropdownPlacement:"bottom-end",optionTooltipPlacement:"left",dropdownMatchSelectWidth:!1,"data-attr":"chart-filter",options:options,size:"small"},"2")}var CompareFilter=__webpack_require__("./frontend/src/lib/components/CompareFilter/CompareFilter.tsx"),IntervalFilter=__webpack_require__("./frontend/src/lib/components/IntervalFilter/index.ts"),smoothings=__webpack_require__("./frontend/src/lib/components/SmoothingFilter/smoothings.ts");function SmoothingFilter(){let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{isTrends,interval,trendsFilter}=(0,index_esm.useValues)((0,trendsDataLogic.i)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,insightVizDataLogic.Z)(insightProps));if(!isTrends||!interval)return null;let{smoothingIntervals}=trendsFilter||{},options=smoothings.T[interval].map(_ref=>{let{value,label}=_ref;return{value,label:value===smoothingIntervals?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(posthog_icons_es.IconPulse,{className:"mr-1.5 text-muted"}),label]}):label,labelInMenu:label}});return options.length?(0,jsx_runtime.jsx)(src.Yv,{value:smoothingIntervals||1,dropdownMatchSelectWidth:!1,onChange:key=>{updateInsightFilter({smoothingIntervals:key})},"data-attr":"smoothing-filter",options:options,size:"small"},interval):(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{})}var LemonInput=__webpack_require__("./frontend/src/lib/lemon-ui/LemonInput/LemonInput.tsx"),LemonModal=__webpack_require__("./frontend/src/lib/lemon-ui/LemonModal/index.ts");function chooseFormativeElementValue(formativeElement,trendsFilter){return"prefix"===formativeElement?trendsFilter?.aggregationAxisPrefix||"":"postfix"===formativeElement&&trendsFilter?.aggregationAxisPostfix||""}function CustomUnitModal(_ref){let{isOpen,onSave,formativeElement,trendsFilter,onClose,overlayRef}=_ref,[localFormativeElementValue,setLocalFormativeElementValue]=(0,react.useState)(chooseFormativeElementValue(formativeElement,trendsFilter));return((0,react.useEffect)(()=>{setLocalFormativeElementValue(chooseFormativeElementValue(formativeElement,trendsFilter))},[formativeElement]),null===formativeElement)?null:(0,jsx_runtime.jsx)(LemonModal.f,{overlayRef:overlayRef,isOpen:isOpen,onClose:onClose,forceAbovePopovers:!0,title:`Custom ${formativeElement}`,footer:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(LemonButton.J,{type:"secondary","data-attr":"custom-prefix-cancel",onClick:onClose,children:"Cancel"}),(0,jsx_runtime.jsx)(LemonButton.J,{type:"primary",onClick:()=>onSave({[formativeElement]:localFormativeElementValue}),children:"Apply"})]}),children:(0,jsx_runtime.jsx)(LemonField.D.Pure,{label:`${(0,lib_utils.fm)(formativeElement)}:`,help:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["With a ",formativeElement,' of "',(0,jsx_runtime.jsx)("strong",{children:localFormativeElementValue||"$"}),'", 123.45 will be displayed as "',(0,jsx_runtime.jsxs)("strong",{children:["prefix"===formativeElement?localFormativeElementValue||"$":"","123.45","postfix"===formativeElement?localFormativeElementValue||"$":""]}),'"']}),children:(0,jsx_runtime.jsx)(LemonInput.D,{value:localFormativeElementValue,onChange:setLocalFormativeElementValue,autoFocus:!0})})})}var useKeyboardHotkeys=__webpack_require__("./frontend/src/lib/hooks/useKeyboardHotkeys.tsx"),LemonDivider=__webpack_require__("./frontend/src/lib/lemon-ui/LemonDivider/index.ts");let aggregationDisplayMap=aggregationAxisFormat.uq.reduce((acc,option)=>(acc[option.value]=option.label,acc),{});function UnitPicker(){let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{trendsFilter,display}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,insightVizDataLogic.Z)(insightProps)),{reportAxisUnitsChanged}=(0,index_esm.useActions)(eventUsageLogic.vx),[isVisible,setIsVisible]=(0,react.useState)(!1),[localAxisFormat,setLocalAxisFormat]=(0,react.useState)(trendsFilter?.aggregationAxisFormat||void 0),[customUnitModal,setCustomUnitModal]=(0,react.useState)(null),customUnitModalRef=(0,react.useRef)(null);(0,useKeyboardHotkeys.l)({escape:{action:function(){setCustomUnitModal(null),setIsVisible(!1)}}},[]);let handleChange=_ref=>{let{format,prefix,postfix}=_ref;setLocalAxisFormat(format),updateInsightFilter({aggregationAxisFormat:format,aggregationAxisPrefix:prefix,aggregationAxisPostfix:postfix}),reportAxisUnitsChanged({format,prefix,postfix,display,unitIsSet:!!prefix||!!postfix||format&&"numeric"!==format}),setIsVisible(!1),setCustomUnitModal(null)},displayValue=(0,react.useMemo)(()=>{let displayValue="None";return localAxisFormat&&(displayValue=aggregationDisplayMap[localAxisFormat]),trendsFilter?.aggregationAxisPrefix?.length&&(displayValue=`Prefix: ${trendsFilter?.aggregationAxisPrefix}`),trendsFilter?.aggregationAxisPostfix?.length&&(displayValue=`Postfix: ${trendsFilter?.aggregationAxisPostfix}`),displayValue},[localAxisFormat,trendsFilter]);return(0,jsx_runtime.jsxs)("div",{className:"flex-1 mb-2.5 mx-2",children:[(0,jsx_runtime.jsx)(CustomUnitModal,{formativeElement:customUnitModal,isOpen:null!==customUnitModal,onSave:handleChange,trendsFilter:trendsFilter,onClose:()=>setCustomUnitModal(null),overlayRef:ref=>customUnitModalRef.current=ref}),(0,jsx_runtime.jsx)(LemonButton.$,{onClick:()=>setIsVisible(!isVisible),size:"small",type:"secondary","data-attr":"chart-aggregation-axis-format",fullWidth:!0,dropdown:{onClickOutside:()=>setIsVisible(!1),additionalRefs:[customUnitModalRef],visible:isVisible,overlay:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[aggregationAxisFormat.uq.map((_ref2,index)=>{let{value,label}=_ref2;return(0,jsx_runtime.jsx)(LemonButton.J,{onClick:()=>handleChange({format:value}),active:value===localAxisFormat,fullWidth:!0,children:label},index)}),(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(LemonDivider.p,{}),(0,jsx_runtime.jsxs)(LemonButton.J,{onClick:()=>setCustomUnitModal("prefix"),active:!!trendsFilter?.aggregationAxisPrefix,fullWidth:!0,children:["Custom prefix",trendsFilter?.aggregationAxisPrefix?`: ${trendsFilter?.aggregationAxisPrefix}...`:"..."]}),(0,jsx_runtime.jsxs)(LemonButton.J,{onClick:()=>setCustomUnitModal("postfix"),active:!!trendsFilter?.aggregationAxisPostfix,fullWidth:!0,children:["Custom postfix",trendsFilter?.aggregationAxisPostfix?`: ${trendsFilter?.aggregationAxisPostfix}...`:"..."]})]})]}),placement:"bottom-start",actionable:!0,closeOnClickInside:!1},children:displayValue})]})}var LemonMenu=__webpack_require__("./frontend/src/lib/lemon-ui/LemonMenu/index.ts");function PercentStackViewFilter(){let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{showPercentStackView}=(0,index_esm.useValues)((0,trendsDataLogic.i)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,trendsDataLogic.i)(insightProps));return(0,jsx_runtime.jsx)(LemonCheckbox.H,{className:"p-1 px-2",checked:!!showPercentStackView,onChange:checked=>{updateInsightFilter({showPercentStackView:checked})},label:(0,jsx_runtime.jsx)("span",{className:"font-normal",children:"Show as % of total"}),size:"small"})}var ResultCustomizationByPicker=__webpack_require__("./frontend/src/scenes/insights/EditorFilters/ResultCustomizationByPicker.tsx");function ScalePicker(){let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{yAxisScaleType}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,insightVizDataLogic.Z)(insightProps));return(0,jsx_runtime.jsx)(src.P4,{className:"pb-2 px-2",onChange:value=>updateInsightFilter({yAxisScaleType:value}),value:yAxisScaleType||"linear",options:[{value:"linear",label:"Linear"},{value:"log10",label:"Logarithmic"}],size:"small",fullWidth:!0})}function ShowAlertThresholdLinesFilter(){let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{showAlertThresholdLines}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,insightVizDataLogic.Z)(insightProps));return(0,jsx_runtime.jsx)(src.Hw,{className:"p-1 px-2",onChange:()=>{updateInsightFilter({showAlertThresholdLines:!showAlertThresholdLines})},checked:!!showAlertThresholdLines,label:(0,jsx_runtime.jsx)("span",{className:"font-normal",children:"Show alert threshold lines"}),size:"small"})}function ShowLegendFilter(){let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{showLegend}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,insightVizDataLogic.Z)(insightProps));return(0,jsx_runtime.jsx)(src.Hw,{className:"p-1 px-2",onChange:()=>{updateInsightFilter({showLegend:!showLegend})},checked:!!showLegend,label:(0,jsx_runtime.jsx)("span",{className:"font-normal",children:"Show legend"}),size:"small"})}function ValueOnSeriesFilter(){let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{updateInsightFilter}=(0,index_esm.useActions)((0,insightVizDataLogic.Z)(insightProps)),{showValuesOnSeries}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps));return(0,jsx_runtime.jsx)(LemonCheckbox.H,{className:"p-1 px-2",checked:!!showValuesOnSeries,onChange:()=>{updateInsightFilter({showValuesOnSeries:!showValuesOnSeries})},label:(0,jsx_runtime.jsx)("span",{className:"font-normal",children:"Show values on series"}),size:"small"})}var DateFilter=__webpack_require__("./frontend/src/lib/components/DateFilter/DateFilter.tsx");function InsightDateFilter(_ref){var _dateRange$date_to,_dateRange$date_from;let{disabled}=_ref,{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{isTrends,dateRange}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),{updateDateRange}=(0,index_esm.useActions)((0,insightVizDataLogic.Z)(insightProps));return(0,jsx_runtime.jsx)(DateFilter.f,{dateTo:null!==(_dateRange$date_to=dateRange?.date_to)&&void 0!==_dateRange$date_to?_dateRange$date_to:void 0,dateFrom:null!==(_dateRange$date_from=dateRange?.date_from)&&void 0!==_dateRange$date_from?_dateRange$date_from:"-7d",allowTimePrecision:!0,disabled:disabled,onChange:(date_from,date_to,explicit_date)=>{updateDateRange({date_from,date_to,explicitDate:explicit_date})},dateOptions:lib_utils.bE,allowedRollingDateOptions:isTrends?["hours","days","weeks","months","years"]:void 0,makeLabel:key=>(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(posthog_icons_es.IconCalendar,{})," ",key,"All time"==key&&(0,jsx_runtime.jsx)(src.u,{title:"Only events dated after 2015 will be shown",children:(0,jsx_runtime.jsx)(posthog_icons_es.IconInfo,{className:"info-indicator"})})]})})}function RetentionCumulativeCheckbox(){let{insightProps,canEditInsight}=(0,index_esm.useValues)(insightLogic.zm),{retentionFilter}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,insightVizDataLogic.Z)(insightProps)),cumulativeRetention=retentionFilter?.cumulative||!1;return canEditInsight?(0,jsx_runtime.jsx)(src.f4,{onChange:cumulative=>{updateInsightFilter({cumulative})},checked:cumulativeRetention,label:(0,jsx_runtime.jsxs)("span",{className:"font-normal",children:["Rolling retention",(0,jsx_runtime.jsx)(src.u,{title:(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:"Rolling, or unbounded, retention includes any subsequent time period, instead of only the next period. For example, if a user is comes back on day 7, they are counted in all previous retention periods."}),children:(0,jsx_runtime.jsx)(posthog_icons_es.IconInfo,{className:"w-4 info-indicator"})})]}),bordered:!0,size:"small"}):null}function RetentionMeanCheckbox(){let{insightProps,canEditInsight}=(0,index_esm.useValues)(insightLogic.zm),{retentionFilter}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,insightVizDataLogic.Z)(insightProps)),showMean=retentionFilter?.showMean||!1;return canEditInsight?(0,jsx_runtime.jsx)(src.f4,{onChange:showMean=>{updateInsightFilter({showMean})},checked:showMean,label:(0,jsx_runtime.jsx)("span",{className:"font-normal",children:"Show mean across cohorts"}),bordered:!0,size:"small"}):null}function RetentionReferencePicker(){let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{retentionFilter}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,insightVizDataLogic.Z)(insightProps)),{retentionReference}=retentionFilter||{};return(0,jsx_runtime.jsx)(src.Yv,{className:"w-60",size:"small",value:retentionReference||"total",onChange:retentionReference=>{updateInsightFilter({retentionReference})},options:[{value:"total",labelInMenu:"Overall cohort",label:"% Overall cohort"},{value:"previous",labelInMenu:"Relative to previous period",label:"% Relative to previous period"}]})}function RetentionDatePicker(){let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{dateRange,retentionFilter}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),{updateDateRange}=(0,index_esm.useActions)((0,insightVizDataLogic.Z)(insightProps)),period=retentionFilter?.period,date_to=dateRange?.date_to,yearSuffix=date_to&&(0,dayjs.Bv)(date_to).year()!==(0,dayjs.Bv)().year()?", YYYY":"";return(0,jsx_runtime.jsx)("span",{className:"flex inline-flex items-center pl-2",children:(0,jsx_runtime.jsx)(src.he,{value:date_to?(0,dayjs.Bv)(date_to):void 0,onChange:date_to=>{updateDateRange({date_to:date_to&&(0,dayjs.Bv)(date_to).toISOString()})},granularity:"Hour"===period?"hour":"day",placeholder:"Today",clearable:!0,buttonProps:{tooltip:"Cohorts up to this end date",type:"secondary",sideIcon:null,size:"small"},format:"Hour"===period?`MMM D${yearSuffix}, h A`:`MMM D${yearSuffix}`})})}let NUMBER_PRESETS=new Set([5,15,25,50,90]),BIN_OPTIONS=[{label:"Auto bins",value:constants.hB,display:!0},...Array.from(Array.from(Array(91).keys()),v=>({label:`${v} bins`,value:v,display:NUMBER_PRESETS.has(v)}))];function FunnelBinsPicker(){let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{funnelsFilter,numericBinCount}=(0,index_esm.useValues)((0,funnelDataLogic.l)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,funnelDataLogic.l)(insightProps)),[visible,setVisible]=(0,react.useState)(!1),setBinCount=binCount=>{updateInsightFilter({binCount:binCount&&binCount!==constants.hB?binCount:void 0})},preferredOptions=BIN_OPTIONS.filter(o=>o.display).map(bin=>({value:bin.value,label:bin.label,icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconGraph,{})})),selectedValue=funnelsFilter?.binCount||constants.hB,selectedOption=BIN_OPTIONS.find(o=>o.value===selectedValue),overlay=(0,jsx_runtime.jsxs)("div",{className:"space-y-px",onClick:e=>e.stopPropagation(),children:[preferredOptions.map(bin=>(0,jsx_runtime.jsx)(src.Jp,{fullWidth:!0,active:bin.value===selectedValue,onClick:()=>{setVisible(!1),setBinCount(bin.value)},children:bin.label},bin.value)),(0,jsx_runtime.jsx)(src.DF,{type:"number",className:"funnel-bins-custom-picker",min:1,max:90,value:numericBinCount,onChange:count=>{let parsedCount="string"==typeof count?parseInt(count):count;parsedCount&&setBinCount(parsedCount)},suffix:(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:"bins"})})]});return(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:(0,jsx_runtime.jsx)(src.Qw,{"data-attr":"funnel-bin-filter",matchWidth:!0,visible:visible,closeOnClickInside:!1,onClickOutside:()=>setVisible(!1),overlay:overlay,className:"w-32",placement:"bottom-end",children:(0,jsx_runtime.jsx)(src.Jp,{size:"small",type:"secondary",icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconGraph,{}),onClick:()=>setVisible(!0),children:selectedOption?.label})})})}function FunnelDisplayLayoutPicker(){let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{funnelsFilter}=(0,index_esm.useValues)((0,funnelDataLogic.l)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,funnelDataLogic.l)(insightProps)),options=[{title:"Graph Display Options",options:[{value:constants.xp.vertical,icon:(0,jsx_runtime.jsx)(icons.SE,{}),label:"Left to right"},{value:constants.xp.horizontal,icon:(0,jsx_runtime.jsx)(icons.Mr,{}),label:"Top to bottom"}]}];return(0,jsx_runtime.jsx)(src.Yv,{value:funnelsFilter?.layout||constants.xp.vertical,onChange:layout=>layout&&updateInsightFilter({layout}),dropdownMatchSelectWidth:!1,"data-attr":"funnel-bar-layout-selector",options:options,size:"small"})}function PathStepPicker(){let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{pathsFilter}=(0,index_esm.useValues)((0,pathsDataLogic.e)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,pathsDataLogic.e)(insightProps)),{hasAvailableFeature}=(0,index_esm.useValues)(userLogic.userLogic),{stepLimit}=pathsFilter||{},MAX=hasAvailableFeature(types.P$.PATHS_ADVANCED)?20:5,options=Array.from(Array.from(Array.from(Array(MAX+1).keys()).slice(2)),v=>({label:`${v} Steps`,value:v}));return(0,jsx_runtime.jsx)(src.Yv,{size:"small",value:stepLimit||pathsDataLogic._,onChange:count=>updateInsightFilter({stepLimit:count}),options:options})}var index_module=__webpack_require__("./node_modules/.pnpm/use-debounce@9.0.3_react@18.2.0/node_modules/use-debounce/dist/index.module.js");function InsightDisplayConfig(){let{insightProps,canEditInsight}=(0,index_esm.useValues)(insightLogic.zm),{isTrends,isFunnels,isRetention,isPaths,isStickiness,isLifecycle,supportsDisplay,display,breakdownFilter,trendsFilter,hasLegend,showLegend,supportsValueOnSeries,showPercentStackView,supportsPercentStackView,supportsResultCustomizationBy,yAxisScaleType,isNonTimeSeriesDisplay,compareFilter,supportsCompare}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),{isTrendsFunnel,isStepsFunnel,isTimeToConvertFunnel,isEmptyFunnel}=(0,index_esm.useValues)((0,funnelDataLogic.l)(insightProps)),{hasInsightColors}=(0,index_esm.useValues)((0,resultCustomizationsModalLogic.W)(insightProps)),{updateCompareFilter}=(0,index_esm.useActions)((0,insightVizDataLogic.Z)(insightProps)),showCompare=isTrends&&display!==types.Qb.ActionsAreaGraph||isStickiness,showInterval=isTrendsFunnel||isLifecycle||(isTrends||isStickiness)&&!(display&&constants.si.includes(display)),showSmoothing=isTrends&&!(0,utils.AV)(breakdownFilter)&&(!display||display===types.Qb.ActionsLineGraph),{showValuesOnSeries,mightContainFractionalNumbers}=(0,index_esm.useValues)((0,trendsDataLogic.i)(insightProps)),advancedOptions=[...supportsValueOnSeries||supportsPercentStackView||hasLegend||supportsResultCustomizationBy?[{title:"Display",items:[...supportsValueOnSeries?[{label:()=>(0,jsx_runtime.jsx)(ValueOnSeriesFilter,{})}]:[],...supportsPercentStackView?[{label:()=>(0,jsx_runtime.jsx)(PercentStackViewFilter,{})}]:[],...hasLegend?[{label:()=>(0,jsx_runtime.jsx)(ShowLegendFilter,{})}]:[],{label:()=>(0,jsx_runtime.jsx)(ShowAlertThresholdLinesFilter,{})}]}]:[],...supportsResultCustomizationBy&&hasInsightColors?[{title:(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:(0,jsx_runtime.jsxs)("h5",{className:"mx-2 my-1",children:["Color customization by"," ",(0,jsx_runtime.jsx)(src.u,{title:"You can customize the appearance of individual results in your insights. This can be done based on the result's name (e.g., customize the breakdown value 'pizza' for the first series) or based on the result's rank (e.g., customize the first dataset in the results).",children:(0,jsx_runtime.jsx)(posthog_icons_es.IconInfo,{className:"relative top-0.5 text-lg text-muted"})})]})}),items:[{label:()=>(0,jsx_runtime.jsx)(ResultCustomizationByPicker.r,{})}]}]:[],...!showPercentStackView&&isTrends?[{title:(0,aggregationAxisFormat.qn)(display||types.Qb.ActionsLineGraph),items:[{label:()=>(0,jsx_runtime.jsx)(UnitPicker,{})}]}]:[],...!isNonTimeSeriesDisplay&&isTrends?[{title:"Y-axis scale",items:[{label:()=>(0,jsx_runtime.jsx)(ScalePicker,{})}]}]:[],...mightContainFractionalNumbers&&isTrends?[{title:"Decimal places",items:[{label:()=>(0,jsx_runtime.jsx)(DecimalPrecisionInput,{})}]}]:[]],advancedOptionsCount=(supportsValueOnSeries&&showValuesOnSeries?1:0)+(showPercentStackView?1:0)+(!showPercentStackView&&isTrends&&trendsFilter?.aggregationAxisFormat&&"numeric"!==trendsFilter.aggregationAxisFormat?1:0)+(hasLegend&&showLegend?1:0)+(yAxisScaleType&&"linear"!==yAxisScaleType?1:0);return(0,jsx_runtime.jsxs)("div",{className:"InsightDisplayConfig flex justify-between items-center flex-wrap gap-2","data-attr":"insight-filters",children:[(0,jsx_runtime.jsxs)("div",{className:"flex items-center gap-x-2 flex-wrap gap-y-2",children:[!isRetention&&(0,jsx_runtime.jsx)(ConfigFilter,{children:(0,jsx_runtime.jsx)(InsightDateFilter,{disabled:isFunnels&&!!isEmptyFunnel})}),showInterval&&(0,jsx_runtime.jsx)(ConfigFilter,{children:(0,jsx_runtime.jsx)(IntervalFilter.$,{})}),showSmoothing&&(0,jsx_runtime.jsx)(ConfigFilter,{children:(0,jsx_runtime.jsx)(SmoothingFilter,{})}),!!isRetention&&(0,jsx_runtime.jsxs)(ConfigFilter,{children:[(0,jsx_runtime.jsx)(RetentionDatePicker,{}),(0,jsx_runtime.jsx)(RetentionReferencePicker,{}),(0,jsx_runtime.jsx)(RetentionMeanCheckbox,{}),(0,jsx_runtime.jsx)(RetentionCumulativeCheckbox,{})]}),!!isPaths&&(0,jsx_runtime.jsx)(ConfigFilter,{children:(0,jsx_runtime.jsx)(PathStepPicker,{})}),showCompare&&(0,jsx_runtime.jsx)(ConfigFilter,{children:(0,jsx_runtime.jsx)(CompareFilter.m,{compareFilter:compareFilter,updateCompareFilter:updateCompareFilter,disabled:!canEditInsight||!supportsCompare})})]}),(0,jsx_runtime.jsxs)("div",{className:"flex items-center gap-x-2 flex-wrap",children:[advancedOptions.length>0&&(0,jsx_runtime.jsx)(LemonMenu.d,{items:advancedOptions,closeOnClickInside:!1,children:(0,jsx_runtime.jsx)(src.Jp,{size:"small",children:(0,jsx_runtime.jsxs)("span",{className:"font-medium whitespace-nowrap",children:["Options",advancedOptionsCount?(0,jsx_runtime.jsxs)("span",{className:"ml-0.5 text-muted ligatures-none",children:["(",advancedOptionsCount,")"]}):null]})})}),supportsDisplay&&(0,jsx_runtime.jsx)(ConfigFilter,{children:(0,jsx_runtime.jsx)(ChartFilter,{})}),!!isStepsFunnel&&(0,jsx_runtime.jsx)(ConfigFilter,{children:(0,jsx_runtime.jsx)(FunnelDisplayLayoutPicker,{})}),!!isTimeToConvertFunnel&&(0,jsx_runtime.jsx)(ConfigFilter,{children:(0,jsx_runtime.jsx)(FunnelBinsPicker,{})})]})]})}function ConfigFilter(_ref){let{children}=_ref;return(0,jsx_runtime.jsx)("span",{className:"space-x-2 flex items-center text-sm",children:children})}function DecimalPrecisionInput(){let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{trendsFilter}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,insightVizDataLogic.Z)(insightProps)),reportChange=(0,index_module.y1)(()=>{posthog_js_dist_module.ZP.capture("decimal places changed",{decimal_places:trendsFilter?.decimalPlaces})},500);return(0,jsx_runtime.jsx)(src.DF,{type:"number",size:"small",step:1,min:0,max:9,defaultValue:lib_utils.z9,value:trendsFilter?.decimalPlaces,onChange:value=>{updateInsightFilter({decimalPlaces:value}),reportChange()},className:"mx-2 mb-1.5"})}var preflightLogic=__webpack_require__("./frontend/src/scenes/PreflightCheck/preflightLogic.tsx");function ComputationTimeWithRefresh(_ref){let{disableRefresh}=_ref,{lastRefresh,response}=(0,index_esm.useValues)(dataNodeLogic.M),{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{getInsightRefreshButtonDisabledReason}=(0,index_esm.useValues)((0,insightDataLogic.S)(insightProps)),{loadData}=(0,index_esm.useActions)((0,insightDataLogic.S)(insightProps)),disabledReason=getInsightRefreshButtonDisabledReason(),{user}=(0,index_esm.useValues)(userLogic.userLogic),{isDev}=(0,index_esm.useValues)(preflightLogic.preflightLogic),canBypassRefreshDisabled=user?.is_staff||user?.is_impersonated||isDev;return(!function(milliseconds){let[,setTick]=(0,react.useState)(0);(0,react.useEffect)(()=>{let intervalId=setInterval(()=>setTick(state=>state+1),15e3);return()=>clearInterval(intervalId)})}(0),response&&(response.result||response.results))?(0,jsx_runtime.jsxs)("div",{className:"flex items-center text-muted-alt z-10",children:["Computed ",lastRefresh?(0,dayjs.Bv)(lastRefresh).fromNow():"a while ago",!disableRefresh&&(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)("span",{className:"px-1",children:"•"}),(0,jsx_runtime.jsx)(src.u,{title:canBypassRefreshDisabled&&disabledReason?`${disabledReason} (you can bypass this due to dev env / staff permissions)`:void 0,children:(0,jsx_runtime.jsx)(src.rU,{onClick:()=>loadData(!0),className:disabledReason?"opacity-50":"",disabledReason:canBypassRefreshDisabled?"":disabledReason,children:"Refresh"})})]})]}):null}let InsightResultMetadata=_ref=>{let{disableLastComputation,disableLastComputationRefresh}=_ref,{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{samplingFactor}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps));return(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[!disableLastComputation&&(0,jsx_runtime.jsx)(ComputationTimeWithRefresh,{disableRefresh:disableLastComputationRefresh}),samplingFactor?(0,jsx_runtime.jsxs)("span",{className:"text-muted-alt",children:[!disableLastComputation&&(0,jsx_runtime.jsx)("span",{className:"mx-1",children:"•"}),"Results calculated from ",100*samplingFactor,"% of users"]}):null]})};var ResultCustomizationsModal=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/queries/nodes/InsightViz/ResultCustomizationsModal.scss"),ResultCustomizationsModal_default=__webpack_require__.n(ResultCustomizationsModal),ResultCustomizationsModal_options={};ResultCustomizationsModal_options.insert="head",ResultCustomizationsModal_options.singleton=!1,injectStylesIntoStyleTag_default()(ResultCustomizationsModal_default(),ResultCustomizationsModal_options),ResultCustomizationsModal_default().locals;var assert=__webpack_require__("./node_modules/.pnpm/assert@2.1.0/node_modules/assert/build/assert.js"),assert_default=__webpack_require__.n(assert),dataThemeLogic=__webpack_require__("./frontend/src/scenes/dataThemeLogic.tsx");function ResultCustomizationsModal_ResultCustomizationsModal(){let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{modalVisible,dataset,colorToken,resultCustomizationBy}=(0,index_esm.useValues)((0,resultCustomizationsModalLogic.W)(insightProps)),{closeModal,setColorToken,save}=(0,index_esm.useActions)((0,resultCustomizationsModalLogic.W)(insightProps)),{isTrends,isFunnels,querySource}=(0,index_esm.useValues)(insightVizDataLogic.Z),{getTheme}=(0,index_esm.useValues)(dataThemeLogic.Q),theme=getTheme(querySource?.dataColorTheme);return null==dataset||null==theme?null:(0,jsx_runtime.jsxs)(src.fQ,{"data-attr":"legend-entry-modal",isOpen:modalVisible,title:"Customize result color",width:520,footer:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(src.Jp,{type:"secondary",onClick:closeModal,children:"Cancel"}),(0,jsx_runtime.jsx)(src.Jp,{type:"primary",onClick:save,children:"Save customizations"})]}),onClose:closeModal,children:[(0,jsx_runtime.jsxs)("p",{children:["Query results can be customized to provide a more"," ",(0,jsx_runtime.jsx)("strong",{children:"meaningful appearance for you and your team members"}),". The customizations are also shown on dashboards."]}),isTrends&&(0,jsx_runtime.jsx)(TrendsInfo,{dataset:dataset,resultCustomizationBy:resultCustomizationBy}),isFunnels&&(0,jsx_runtime.jsx)(FunnelsInfo,{dataset:dataset}),(0,jsx_runtime.jsx)("h3",{className:"l4 mt-2 mb-2",children:"Color"}),(0,jsx_runtime.jsx)("div",{className:"flex flex-wrap gap-1",children:Object.keys(theme).map(key=>(0,jsx_runtime.jsx)(ColorGlyphButton,{colorToken:key,selected:key===colorToken,onClick:e=>{e.preventDefault(),e.stopPropagation(),setColorToken(key)}},key))})]})}function TrendsInfo(_ref){let{dataset,resultCustomizationBy}=_ref,{cohorts}=(0,index_esm.useValues)(cohortsModel.Q),{formatPropertyValueForDisplay}=(0,index_esm.useValues)(propertyDefinitionsModel.IP),{breakdownFilter}=(0,index_esm.useValues)(insightVizDataLogic.Z);return(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[dataset.breakdown_value?(0,jsx_runtime.jsxs)("p",{className:"mb-2",children:["You are customizing the appearance of series"," ",(0,jsx_runtime.jsx)("b",{children:(0,jsx_runtime.jsx)(EntityFilterInfo.c,{filter:dataset.action,allowWrap:!0,showSingleName:!0})})," ","for the breakdown"," ",(0,jsx_runtime.jsx)("b",{children:(0,insights_utils.Cq)(dataset.breakdown_value,breakdownFilter,cohorts,formatPropertyValueForDisplay)}),"."]}):(0,jsx_runtime.jsxs)("p",{className:"mb-2",children:["You are customizing the appearance of series"," ",(0,jsx_runtime.jsx)("b",{children:(0,jsx_runtime.jsx)(EntityFilterInfo.c,{filter:dataset.action,allowWrap:!0,showSingleName:!0})}),"."]}),(0,jsx_runtime.jsxs)("p",{children:["Results are assigned by"," ",resultCustomizationBy===schema.Ru.Position?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["their ",(0,jsx_runtime.jsx)("strong",{children:"rank"})," in the dataset"]}):(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["their ",(0,jsx_runtime.jsx)("strong",{children:"name"})," in the dataset"]}),". You can change this in insight settings."]})]})}function FunnelsInfo(_ref2){let{dataset}=_ref2;return(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["You are customizing the appearance of the"," ",dataset.breakdown_value?.[0]==="Baseline"?(0,jsx_runtime.jsx)("b",{children:"Baseline"}):(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)("b",{children:dataset.breakdown_value?.[0]})," breakdown"]}),"."]})}function ColorGlyphButton(_ref3){let{colorToken,selected,onClick}=_ref3,{getTheme}=(0,index_esm.useValues)(dataThemeLogic.Q),{querySource}=(0,index_esm.useValues)(insightVizDataLogic.Z),theme=getTheme(querySource?.dataColorTheme),color=theme?.[colorToken];return(0,jsx_runtime.jsx)(src.Jp,{type:selected?"secondary":"tertiary",className:"ResultCustomizationsModal__ColorGlyphButton",onClick:onClick,tooltip:function(color){let{name,group}=function(color){let{r:r1,g:g1,b:b1}=(0,lib_utils.$W)(color),minDistance=null,minColor=null;for(let referenceColor in referenceColors){let{r:r2,g:g2,b:b2}=(0,lib_utils.$W)(referenceColor),distance=Math.sqrt((r2-r1)**2+(g2-g1)**2+(b2-b1)**2);(null===minDistance||distance{if(insightDataLoading)return(0,jsx_runtime.jsx)("div",{className:"flex flex-col flex-1 justify-center items-center p-2",children:(0,jsx_runtime.jsx)(EmptyStates.dU,{queryId:queryId,insightProps:insightProps},queryId)});if(validationError)return(0,jsx_runtime.jsx)(EmptyStates._f,{query:query,detail:validationError});if(activeView===types.dw.FUNNELS){if(!isFunnelWithEnoughSteps)return(0,jsx_runtime.jsx)(EmptyStates.zy,{actionable:!embedded&&insightMode===types.LO.Edit});if(!hasFunnelResults&&!erroredQueryId&&!insightDataLoading)return(0,jsx_runtime.jsx)(EmptyStates.dV,{heading:context?.emptyStateHeading,detail:context?.emptyStateDetail})}return erroredQueryId?(0,jsx_runtime.jsx)(EmptyStates.jC,{query:query,queryId:erroredQueryId}):timedOutQueryId?(0,jsx_runtime.jsx)(EmptyStates.Oj,{queryId:timedOutQueryId}):null})();function renderActiveView(){switch(activeView){case types.dw.TRENDS:return(0,jsx_runtime.jsx)(TrendInsight,{view:types.dw.TRENDS,context:context,embedded:embedded,inSharedMode:inSharedMode});case types.dw.STICKINESS:return(0,jsx_runtime.jsx)(TrendInsight,{view:types.dw.STICKINESS,context:context,embedded:embedded,inSharedMode:inSharedMode});case types.dw.LIFECYCLE:return(0,jsx_runtime.jsx)(TrendInsight,{view:types.dw.LIFECYCLE,context:context,embedded:embedded,inSharedMode:inSharedMode});case types.dw.FUNNELS:return(0,jsx_runtime.jsx)(Funnel_Funnel,{inCardView:embedded,inSharedMode:inSharedMode,showPersonsModal:!inSharedMode});case types.dw.RETENTION:return(0,jsx_runtime.jsx)(RetentionContainer,{context:context,vizSpecificOptions:vizSpecificOptions?.[types.dw.RETENTION],inCardView:embedded,inSharedMode:inSharedMode});case types.dw.PATHS:return(0,jsx_runtime.jsx)(Paths_Paths,{});default:return null}}let showComputationMetadata=!disableLastComputation||!!samplingFactor;return theme?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsxs)("div",{className:(0,clsx_m.default)(`InsightVizDisplay InsightVizDisplay--type-${activeView.toLowerCase()} ph-no-capture`,!embedded&&"border rounded bg-bg-light"),"data-attr":"insights-graph",children:[disableHeader?null:(0,jsx_runtime.jsx)(InsightDisplayConfig,{}),showingResults&&(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[!embedded&&(isFunnels||isPaths||showComputationMetadata)&&(0,jsx_runtime.jsxs)("div",{className:"flex items-center justify-between gap-2 p-2 flex-wrap-reverse border-b",children:[(0,jsx_runtime.jsx)("div",{className:"flex items-center gap-2",children:showComputationMetadata&&(0,jsx_runtime.jsx)(InsightResultMetadata,{disableLastComputation:disableLastComputation,disableLastComputationRefresh:disableLastComputationRefresh})}),(0,jsx_runtime.jsxs)("div",{className:"flex items-center gap-2",children:[isPaths&&(0,jsx_runtime.jsx)(PathCanvasLabel,{}),isFunnels&&(0,jsx_runtime.jsx)(FunnelCanvasLabel,{})]})]}),(0,jsx_runtime.jsx)("div",{className:(0,clsx_m.default)("InsightVizDisplay__content",supportsDisplay&&showLegend&&"InsightVizDisplay__content--with-legend"),children:BlockingEmptyState||(supportsDisplay&&showLegend?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)("div",{className:"InsightVizDisplay__content__left",children:renderActiveView()}),(0,jsx_runtime.jsx)("div",{className:"InsightVizDisplay__content__right",children:(0,jsx_runtime.jsx)(InsightLegend.y,{})})]}):(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:renderActiveView()}))})]})]}),(0,jsx_runtime.jsx)(ResultCustomizationsModal_ResultCustomizationsModal,{}),isFunnels&&null===erroredQueryId&&null===timedOutQueryId&&isFunnelWithEnoughSteps&&hasFunnelResults&&funnelsFilter?.funnelVizType===types.Ui.Steps&&!disableTable?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)("h2",{className:"font-semibold text-lg my-4 mx-0",children:"Detailed results"}),(0,jsx_runtime.jsx)(FunnelStepsTable,{})]}):hasDetailedResultsTable&&!disableTable?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[exportContext&&(0,jsx_runtime.jsxs)("div",{className:"flex items-center justify-between my-4 mx-0",children:[(0,jsx_runtime.jsx)("h2",{className:"font-semibold text-lg m-0",children:"Detailed results"}),(0,jsx_runtime.jsx)(Tooltip.u,{title:"Export this table",placement:"left",children:(0,jsx_runtime.jsx)(ExportButton.j,{type:"secondary",items:[{export_format:types.P5.CSV,export_context:exportContext},{export_format:types.P5.XLSX,export_context:exportContext}]})})]}),(0,jsx_runtime.jsx)(InsightsTable.z,{isLegend:!0,filterKey:(0,sharedUtils.bk)("new")(insightProps),canEditSeriesNameInline:!trendsFilter?.formula&&insightMode===types.LO.Edit,canCheckUncheckSeries:canEditInsight})]}):null,!disableCorrelationTable&&activeView===types.dw.FUNNELS&&(0,jsx_runtime.jsx)(FunnelCorrelation_FunnelCorrelation,{})]}):null}let insightVizDataNodeKey=insightProps=>`InsightViz.${(0,sharedUtils.bk)("new")(insightProps)}`,insightVizDataCollectionId=(props,fallback)=>{var _ref,_ref2,_props$dataNodeCollec;return null!==(_ref=null!==(_ref2=null!==(_props$dataNodeCollec=props?.dataNodeCollectionId)&&void 0!==_props$dataNodeCollec?_props$dataNodeCollec:props?.dashboardId?.toString())&&void 0!==_ref2?_ref2:props?.dashboardItemId)&&void 0!==_ref?_ref:fallback},uniqueNode=0;function InsightViz_InsightViz_InsightViz(_ref3){var _query$showHeader,_query$showTable,_query$showCorrelatio,_query$showLastComput,_query$showLastComput2,_query$showFilters,_query$showResults,_query$embedded;let{uniqueKey,query,setQuery,context,readOnly,embedded,inSharedMode,filtersOverride,variablesOverride}=_ref3,[key]=(0,react.useState)(()=>`InsightViz.${uniqueKey||uniqueNode++}`),insightProps=context?.insightProps||{dashboardItemId:`new-AdHoc.${key}`,query,setQuery,dataNodeCollectionId:key,filtersOverride,variablesOverride};!insightProps.setQuery&&setQuery&&(insightProps.setQuery=setQuery);let vizKey=insightVizDataNodeKey(insightProps),dataNodeLogicProps={query:query.source,key:vizKey,cachedResults:(0,InsightViz_utils.VB)(insightProps.cachedInsight,query.source),doNotLoad:insightProps.doNotLoad,onData:insightProps.onData,loadPriority:insightProps.loadPriority,dataNodeCollectionId:insightVizDataCollectionId(insightProps,vizKey),filtersOverride,variablesOverride},{insightMode}=(0,index_esm.useValues)(insightSceneLogic.T),isFunnels=(0,utils.Wl)(query.source),isHorizontalAlways=(0,useFeatureFlag.y)("INSIGHT_HORIZONTAL_CONTROLS"),showIfFull=!!query.full,disableHeader=embedded||!(null!==(_query$showHeader=query.showHeader)&&void 0!==_query$showHeader?_query$showHeader:showIfFull),disableTable=embedded||!(null!==(_query$showTable=query.showTable)&&void 0!==_query$showTable?_query$showTable:showIfFull),disableCorrelationTable=embedded||!(null!==(_query$showCorrelatio=query.showCorrelationTable)&&void 0!==_query$showCorrelatio?_query$showCorrelatio:showIfFull),disableLastComputation=embedded||!(null!==(_query$showLastComput=query.showLastComputation)&&void 0!==_query$showLastComput?_query$showLastComput:showIfFull),disableLastComputationRefresh=embedded||!(null!==(_query$showLastComput2=query.showLastComputationRefresh)&&void 0!==_query$showLastComput2?_query$showLastComput2:showIfFull),showingFilters=null!==(_query$showFilters=query.showFilters)&&void 0!==_query$showFilters?_query$showFilters:insightMode===types.LO.Edit,showingResults=null===(_query$showResults=query.showResults)||void 0===_query$showResults||_query$showResults,isEmbedded=embedded||null!==(_query$embedded=query.embedded)&&void 0!==_query$embedded&&_query$embedded,display=(0,jsx_runtime.jsx)(InsightVizDisplay,{insightMode:insightMode,context:context,disableHeader:disableHeader,disableTable:disableTable,disableCorrelationTable:disableCorrelationTable,disableLastComputation:disableLastComputation,disableLastComputationRefresh:disableLastComputationRefresh,showingResults:showingResults,embedded:isEmbedded,inSharedMode:inSharedMode});return(0,jsx_runtime.jsx)(ErrorBoundary.S,{tags:{feature:"InsightViz"},children:(0,jsx_runtime.jsx)(index_esm.BindLogic,{logic:insightLogic.zm,props:insightProps,children:(0,jsx_runtime.jsx)(index_esm.BindLogic,{logic:dataNodeLogic.M,props:dataNodeLogicProps,children:(0,jsx_runtime.jsx)(index_esm.BindLogic,{logic:insightVizDataLogic.Z,props:insightProps,children:(0,jsx_runtime.jsxs)("div",{className:isEmbedded?"InsightCard__viz":(0,clsx_m.default)("InsightViz",{"InsightViz--horizontal":isFunnels||isHorizontalAlways}),children:[!readOnly&&(0,jsx_runtime.jsx)(EditorFilters_EditorFilters,{query:query.source,showing:showingFilters,embedded:isEmbedded}),isEmbedded?display:(0,jsx_runtime.jsx)("div",{className:"flex-1 h-full overflow-auto",children:display})]})})})})})}},"./frontend/src/queries/nodes/InsightViz/PropertyGroupFilters/AndOrFilterSelect.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{n:()=>AndOrFilterSelect});var _posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),_types__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/types.ts"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function AndOrFilterSelect(_ref){let{onChange,value,topLevelFilter,prefix="Match",suffix=["filter in this group","filters in this group"],disabledReason}=_ref;return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("div",{className:"flex items-center font-medium",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("span",{className:"ml-2",children:prefix}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.Yv,{className:"mx-2",size:"small",value:value,onChange:type=>onChange(type),disabledReason:disabledReason,options:[{label:"all",value:_types__WEBPACK_IMPORTED_MODULE_1__.J2.And,labelInMenu:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(SelectOption,{title:"All",description:"Every single filter must match",value:_types__WEBPACK_IMPORTED_MODULE_1__.J2.And,selectedValue:value})},{label:"any",value:_types__WEBPACK_IMPORTED_MODULE_1__.J2.Or,labelInMenu:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(SelectOption,{title:"Any",description:"One or more filters must match",value:_types__WEBPACK_IMPORTED_MODULE_1__.J2.Or,selectedValue:value})}],optionTooltipPlacement:topLevelFilter?"bottom-end":"bottom-start",dropdownMatchSelectWidth:!1}),value===_types__WEBPACK_IMPORTED_MODULE_1__.J2.Or?suffix[0]:suffix[1]]})}let SelectOption=_ref2=>{let{title,description,value,selectedValue}=_ref2;return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("div",{className:"flex p-1 items-center",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div",{className:`flex shrink-0 font-bold w-10 h-10 mr-3 justify-center items-center rounded text-xs ${value===selectedValue?"bg-primary text-white":"bg-bg-3000 text-primary-alt"}`,children:value}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("div",{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div",{className:"font-bold",children:title}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div",{className:"font-normal",children:description})]})]})}},"./frontend/src/queries/nodes/InsightViz/resultCustomizationsModalLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{W:()=>resultCustomizationsModalLogic});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),lib_constants__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/lib/constants.tsx"),lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),scenes_funnels_funnelDataLogic__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/scenes/funnels/funnelDataLogic.ts"),scenes_insights_EditorFilters_ResultCustomizationByPicker__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/scenes/insights/EditorFilters/ResultCustomizationByPicker.tsx"),scenes_insights_insightVizDataLogic__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/scenes/insights/insightVizDataLogic.ts"),scenes_insights_sharedUtils__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/scenes/insights/sharedUtils.ts"),scenes_insights_utils__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/scenes/insights/utils.tsx"),scenes_trends_trendsDataLogic__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./frontend/src/scenes/trends/trendsDataLogic.ts"),_queries_schema__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./frontend/src/queries/schema.ts");let resultCustomizationsModalLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.props)({}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.key)((0,scenes_insights_sharedUtils__WEBPACK_IMPORTED_MODULE_6__.bk)("new")),(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(key=>["scenes","insights","views","InsightsTable","resultCustomizationsModalLogic",key]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.connect)(props=>({values:[scenes_insights_insightVizDataLogic__WEBPACK_IMPORTED_MODULE_5__.Z,["isTrends","isFunnels","insightFilter"],(0,scenes_trends_trendsDataLogic__WEBPACK_IMPORTED_MODULE_8__.i)(props),["resultCustomizationBy as resultCustomizationByRaw","resultCustomizations as trendsResultCustomizations","getTrendsColorToken"],(0,scenes_funnels_funnelDataLogic__WEBPACK_IMPORTED_MODULE_3__.l)(props),["resultCustomizations as funnelsResultCustomizations","getFunnelsColorToken"],lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_2__.h,["featureFlags"]],actions:[scenes_insights_insightVizDataLogic__WEBPACK_IMPORTED_MODULE_5__.Z,["updateInsightFilter"]]})),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)({openModal:dataset=>({dataset}),closeModal:!0,setColorToken:token=>({token}),save:!0}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)({dataset:[null,{openModal:(_,_ref)=>{let{dataset}=_ref;return dataset},closeModal:()=>null}],localColorToken:[null,{setColorToken:(_,_ref2)=>{let{token}=_ref2;return token},closeModal:()=>null}]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.selectors)({hasInsightColors:[s=>[s.featureFlags],featureFlags=>!!featureFlags[lib_constants__WEBPACK_IMPORTED_MODULE_1__.y8.INSIGHT_COLORS]],modalVisible:[s=>[s.dataset],dataset=>null!==dataset],colorToken:[s=>[s.localColorToken,s.colorTokenFromQuery],(localColorToken,colorTokenFromQuery)=>localColorToken||colorTokenFromQuery],colorTokenFromQuery:[s=>[s.isTrends,s.isFunnels,s.getTrendsColorToken,s.getFunnelsColorToken,s.dataset],(isTrends,isFunnels,getTrendsColorToken,getFunnelsColorToken,dataset)=>dataset?isTrends?getTrendsColorToken(dataset):isFunnels?getFunnelsColorToken(dataset):null:null],resultCustomizationBy:[s=>[s.resultCustomizationByRaw],resultCustomizationByRaw=>resultCustomizationByRaw||scenes_insights_EditorFilters_ResultCustomizationByPicker__WEBPACK_IMPORTED_MODULE_4__.j],resultCustomizations:[s=>[s.isTrends,s.isFunnels,s.trendsResultCustomizations,s.funnelsResultCustomizations],(isTrends,isFunnels,trendsResultCustomizations,funnelsResultCustomizations)=>isTrends?trendsResultCustomizations:isFunnels?funnelsResultCustomizations:null]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.listeners)(_ref3=>{let{actions,values}=_ref3;return{save:()=>{if(null==values.localColorToken||null==values.dataset){actions.closeModal();return}if(values.isTrends){let resultCustomizationKey=(0,scenes_insights_utils__WEBPACK_IMPORTED_MODULE_7__.Xs)(values.resultCustomizationBy,values.dataset);actions.updateInsightFilter({resultCustomizations:{...values.trendsResultCustomizations,[resultCustomizationKey]:{assignmentBy:values.resultCustomizationBy,color:values.localColorToken}}})}if(values.isFunnels){let resultCustomizationKey=(0,scenes_insights_utils__WEBPACK_IMPORTED_MODULE_7__.dI)(values.dataset);actions.updateInsightFilter({resultCustomizations:{...values.funnelsResultCustomizations,[resultCustomizationKey]:{assignmentBy:_queries_schema__WEBPACK_IMPORTED_MODULE_9__.Ru.Value,color:values.localColorToken}}})}actions.closeModal()}}})])},"./frontend/src/queries/nodes/InsightViz/utils.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{xp:()=>getAllEventNames,VB:()=>getCachedResults,tB:()=>getDefaultQuery,ob:()=>getQueryBasedDashboard,Q0:()=>getQueryBasedInsightModel,a2:()=>getQueryFromInsightLike,WX:()=>queryFromFilters,bV:()=>queryFromKind});var fast_deep_equal=__webpack_require__("./node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js"),fast_deep_equal_default=__webpack_require__.n(fast_deep_equal),utils=__webpack_require__("./frontend/src/lib/utils.tsx"),examples=__webpack_require__("./frontend/src/queries/examples.ts"),schema=__webpack_require__("./frontend/src/queries/schema.ts"),queries_utils=__webpack_require__("./frontend/src/queries/utils.ts"),types=__webpack_require__("./frontend/src/types.ts");let trendsQueryDefault={kind:schema.OH.TrendsQuery,series:[{kind:schema.OH.EventsNode,name:"$pageview",event:"$pageview",math:types.vN.TotalCount}],trendsFilter:{}},funnelsQueryDefault={kind:schema.OH.FunnelsQuery,series:[{kind:schema.OH.EventsNode,name:"$pageview",event:"$pageview"}],funnelsFilter:{funnelVizType:types.Ui.Steps}},retentionQueryDefault={kind:schema.OH.RetentionQuery,retentionFilter:{period:types.xW.Day,totalIntervals:11,targetEntity:{id:"$pageview",name:"$pageview",type:"events"},returningEntity:{id:"$pageview",name:"$pageview",type:"events"},retentionType:"retention_first_time"}},pathsQueryDefault={kind:schema.OH.PathsQuery,pathsFilter:{includeEventTypes:[types.cB.PageView]}},stickinessQueryDefault={kind:schema.OH.StickinessQuery,series:[{kind:schema.OH.EventsNode,name:"$pageview",event:"$pageview",math:types.vN.UniqueUsers}],stickinessFilter:{}},lifecycleQueryDefault={kind:schema.OH.LifecycleQuery,series:[{kind:schema.OH.EventsNode,name:"$pageview",event:"$pageview"}]},nodeKindToDefaultQuery={[schema.OH.TrendsQuery]:trendsQueryDefault,[schema.OH.FunnelsQuery]:funnelsQueryDefault,[schema.OH.RetentionQuery]:retentionQueryDefault,[schema.OH.PathsQuery]:pathsQueryDefault,[schema.OH.StickinessQuery]:stickinessQueryDefault,[schema.OH.LifecycleQuery]:lifecycleQueryDefault};var filtersToQueryNode=__webpack_require__("./frontend/src/queries/nodes/InsightQuery/utils/filtersToQueryNode.ts");let getAllEventNames=(query,allActions)=>{if(!(0,queries_utils.B8)(query))return[];let allEvents=query.series.flatMap(e=>e.kind==schema.OH.EventsNode?e.event:e.kind==schema.OH.ActionsNode?(0,utils.Nc)(e.id,allActions):void 0);return allEvents.some(e=>null===e)?[]:Array.from(new Set(allEvents.filter(e=>!!e)))},getCachedResults=(cachedInsight,query)=>{let cachedQueryNode;if(cachedInsight&&cachedInsight.query&&(cachedQueryNode=cachedInsight.query,"source"in cachedInsight.query&&(cachedQueryNode=cachedInsight.query.source),fast_deep_equal_default()(cachedQueryNode,query)))return cachedInsight};function getQueryBasedInsightModel(insight){let{filters,...baseInsight}=insight;return{...baseInsight,query:getQueryFromInsightLike(insight)}}function getQueryFromInsightLike(insight){return insight.query?insight.query:insight.filters&&Object.keys(insight.filters).filter(k=>"filter_test_accounts"!=k).length>0?{kind:schema.OH.InsightVizNode,source:(0,filtersToQueryNode.wK)(insight.filters)}:null}let queryFromFilters=filters=>({kind:schema.OH.InsightVizNode,source:(0,filtersToQueryNode.wK)(filters)}),queryFromKind=(kind,filterTestAccountsDefault)=>({kind:schema.OH.InsightVizNode,source:{...nodeKindToDefaultQuery[kind],...filterTestAccountsDefault?{filterTestAccounts:!0}:{}}}),getDefaultQuery=(insightType,filterTestAccountsDefault)=>{if([types.dw.SQL,types.dw.JSON,types.dw.HOG].includes(insightType)){if(insightType===types.dw.JSON)return examples.$R.TotalEventsTable;if(insightType===types.dw.SQL)return examples.$R.DataVisualization;if(insightType===types.dw.HOG)return examples.$R.Hoggonacci}else{if(insightType===types.dw.TRENDS)return queryFromKind(schema.OH.TrendsQuery,filterTestAccountsDefault);if(insightType===types.dw.FUNNELS)return queryFromKind(schema.OH.FunnelsQuery,filterTestAccountsDefault);if(insightType===types.dw.RETENTION)return queryFromKind(schema.OH.RetentionQuery,filterTestAccountsDefault);if(insightType===types.dw.PATHS)return queryFromKind(schema.OH.PathsQuery,filterTestAccountsDefault);else if(insightType===types.dw.STICKINESS)return queryFromKind(schema.OH.StickinessQuery,filterTestAccountsDefault);else if(insightType===types.dw.LIFECYCLE)return queryFromKind(schema.OH.LifecycleQuery,filterTestAccountsDefault)}throw Error("encountered unexpected type for view")},getQueryBasedDashboard=dashboard=>null==dashboard?null:{...dashboard,tiles:dashboard.tiles?.map(tile=>({...tile,...null!=tile.insight?{insight:getQueryBasedInsightModel(tile.insight)}:{}}))}},"./frontend/src/queries/query.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Uu:()=>hogqlQuery,Vp:()=>function queryExportContext(query,methodOptions,refresh){return(0,_utils__WEBPACK_IMPORTED_MODULE_6__.KN)(query)||(0,_utils__WEBPACK_IMPORTED_MODULE_6__.TC)(query)||(0,_utils__WEBPACK_IMPORTED_MODULE_6__.A_)(query)?queryExportContext(query.source,methodOptions,refresh):(0,_utils__WEBPACK_IMPORTED_MODULE_6__.cK)(query)?{path:getPersonsEndpoint(query)}:{source:query}},iM:()=>pollForResults,jr:()=>performQuery,rY:()=>getPersonsEndpoint});var lib_api__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/src/lib/api.ts"),lib_constants__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/lib/constants.tsx"),lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),lib_utils__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/utils.tsx"),posthog_js__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/.pnpm/posthog-js@1.205.0/node_modules/posthog-js/dist/module.js"),_schema__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/queries/schema.ts"),_utils__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/queries/utils.ts");let SYNC_ONLY_QUERY_KINDS=["HogQuery","HogQLMetadata","HogQLAutocomplete","DatabaseSchemaQuery"];async function pollForResults(queryId,methodOptions,onPoll){let pollStart=performance.now(),currentDelay=300;for(;performance.now()-pollStart<606e3;){await (0,lib_utils__WEBPACK_IMPORTED_MODULE_3__.gw)(currentDelay,methodOptions?.signal),currentDelay=Math.min(1.25*currentDelay,3e3);try{let statusResponse=(await lib_api__WEBPACK_IMPORTED_MODULE_0__.ZP.queryStatus.get(queryId,!0)).query_status;if(statusResponse.complete)return statusResponse;onPoll&&onPoll(statusResponse)}catch(e){throw e.detail=e.data?.query_status?.error_message,e}}throw Error("Query timed out")}async function executeQuery(queryNode,methodOptions,refresh,queryId,setPollResponse,filtersOverride,variablesOverride){let pollOnly=arguments.length>7&&void 0!==arguments[7]&&arguments[7],isAsyncQuery=methodOptions?.async!==!1&&!SYNC_ONLY_QUERY_KINDS.includes(queryNode.kind)&&!!lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_2__.h.findMounted()?.values.featureFlags?.[lib_constants__WEBPACK_IMPORTED_MODULE_1__.y8.QUERY_ASYNC];if(pollOnly){if(!isAsyncQuery)throw Error("pollOnly is only supported for async queries");if(!queryId)throw Error("pollOnly requires a queryId")}else{let response=await lib_api__WEBPACK_IMPORTED_MODULE_0__.ZP.query(queryNode,methodOptions,queryId,refresh&&isAsyncQuery?"force_async":isAsyncQuery?"async":refresh,filtersOverride,variablesOverride);if(!(0,_utils__WEBPACK_IMPORTED_MODULE_6__.Hx)(response))return response;if(response.query_status.complete)return response.results;queryId=response.query_status.id}let statusResponse=await pollForResults(queryId,methodOptions,setPollResponse);return statusResponse.results}async function performQuery(queryNode,methodOptions,refresh,queryId,setPollResponse,filtersOverride,variablesOverride){let response,pollOnly=arguments.length>7&&void 0!==arguments[7]&&arguments[7],logParams={},startTime=performance.now();try{return(0,_utils__WEBPACK_IMPORTED_MODULE_6__.cK)(queryNode)?response=await lib_api__WEBPACK_IMPORTED_MODULE_0__.ZP.get(getPersonsEndpoint(queryNode),methodOptions):(response=await executeQuery(queryNode,methodOptions,refresh,queryId,setPollResponse,filtersOverride,variablesOverride,pollOnly),(0,_utils__WEBPACK_IMPORTED_MODULE_6__.Vf)(queryNode)&&response&&"object"==typeof response&&(logParams.clickhouse_sql=response?.clickhouse)),posthog_js__WEBPACK_IMPORTED_MODULE_4__.ZP.capture("query completed",{query:queryNode,queryId,duration:performance.now()-startTime,...logParams}),response}catch(e){throw posthog_js__WEBPACK_IMPORTED_MODULE_4__.ZP.capture("query failed",{query:queryNode,queryId,duration:performance.now()-startTime,...logParams}),e}}function getPersonsEndpoint(query){let params={properties:[...query.fixedProperties||[],...query.properties||[]],...query.search?{search:query.search}:{},...query.distinctId?{distinct_id:query.distinctId}:{},...query.limit?{limit:query.limit}:{},...query.offset?{offset:query.offset}:{}};return query.cohort?lib_api__WEBPACK_IMPORTED_MODULE_0__.ZP.cohorts.determineListUrl(query.cohort,params):lib_api__WEBPACK_IMPORTED_MODULE_0__.ZP.persons.determineListUrl(params)}async function hogqlQuery(queryString,values){return await performQuery({kind:_schema__WEBPACK_IMPORTED_MODULE_5__.OH.HogQLQuery,query:queryString,values})}},"./frontend/src/queries/schema.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{$V:()=>insightActorsQueryOptionsResponseKeys,AF:()=>STICKINESS_FILTER_PROPERTIES,F5:()=>CustomChannelField,GI:()=>WebStatsBreakdown,IG:()=>AlertConditionType,KC:()=>AssistantEventType,Lm:()=>SessionAttributionGroupBy,OH:()=>NodeKind,PP:()=>AssistantGenerationStatusType,Ru:()=>ResultCustomizationBy,Z9:()=>AlertState,aV:()=>InsightThresholdType,fS:()=>FunnelCorrelationResultsType,k:()=>DefaultChannelTypes,oU:()=>HogLanguage,pj:()=>AssistantMessageType,q7:()=>AlertCalculationInterval,sk:()=>ExperimentSignificanceCode,tt:()=>TRENDS_FILTER_PROPERTIES,wk:()=>CustomChannelOperator}),__webpack_require__("./frontend/src/types.ts");let NodeKind=function(NodeKind){return NodeKind.EventsNode="EventsNode",NodeKind.ActionsNode="ActionsNode",NodeKind.DataWarehouseNode="DataWarehouseNode",NodeKind.EventsQuery="EventsQuery",NodeKind.PersonsNode="PersonsNode",NodeKind.HogQuery="HogQuery",NodeKind.HogQLQuery="HogQLQuery",NodeKind.HogQLMetadata="HogQLMetadata",NodeKind.HogQLAutocomplete="HogQLAutocomplete",NodeKind.ActorsQuery="ActorsQuery",NodeKind.FunnelsActorsQuery="FunnelsActorsQuery",NodeKind.FunnelCorrelationActorsQuery="FunnelCorrelationActorsQuery",NodeKind.SessionsTimelineQuery="SessionsTimelineQuery",NodeKind.RecordingsQuery="RecordingsQuery",NodeKind.SessionAttributionExplorerQuery="SessionAttributionExplorerQuery",NodeKind.ErrorTrackingQuery="ErrorTrackingQuery",NodeKind.DataTableNode="DataTableNode",NodeKind.DataVisualizationNode="DataVisualizationNode",NodeKind.SavedInsightNode="SavedInsightNode",NodeKind.InsightVizNode="InsightVizNode",NodeKind.TrendsQuery="TrendsQuery",NodeKind.FunnelsQuery="FunnelsQuery",NodeKind.RetentionQuery="RetentionQuery",NodeKind.PathsQuery="PathsQuery",NodeKind.StickinessQuery="StickinessQuery",NodeKind.LifecycleQuery="LifecycleQuery",NodeKind.InsightActorsQuery="InsightActorsQuery",NodeKind.InsightActorsQueryOptions="InsightActorsQueryOptions",NodeKind.FunnelCorrelationQuery="FunnelCorrelationQuery",NodeKind.WebOverviewQuery="WebOverviewQuery",NodeKind.WebStatsTableQuery="WebStatsTableQuery",NodeKind.WebExternalClicksTableQuery="WebExternalClicksTableQuery",NodeKind.WebGoalsQuery="WebGoalsQuery",NodeKind.ExperimentFunnelsQuery="ExperimentFunnelsQuery",NodeKind.ExperimentTrendsQuery="ExperimentTrendsQuery",NodeKind.DatabaseSchemaQuery="DatabaseSchemaQuery",NodeKind.SuggestedQuestionsQuery="SuggestedQuestionsQuery",NodeKind.TeamTaxonomyQuery="TeamTaxonomyQuery",NodeKind.EventTaxonomyQuery="EventTaxonomyQuery",NodeKind.ActorsPropertyTaxonomyQuery="ActorsPropertyTaxonomyQuery",NodeKind}({}),HogLanguage=function(HogLanguage){return HogLanguage.hog="hog",HogLanguage.hogJson="hogJson",HogLanguage.hogQL="hogQL",HogLanguage.hogQLExpr="hogQLExpr",HogLanguage.hogTemplate="hogTemplate",HogLanguage}({}),ResultCustomizationBy=function(ResultCustomizationBy){return ResultCustomizationBy.Value="value",ResultCustomizationBy.Position="position",ResultCustomizationBy}({}),TRENDS_FILTER_PROPERTIES=new Set(["smoothingIntervals","formula","display","showLegend","breakdown_histogram_bin_count","aggregationAxisFormat","aggregationAxisPrefix","aggregationAxisPostfix","decimalPlaces","showValuesOnSeries","showLabelsOnSeries","showPercentStackView","yAxisScaleType","hiddenLegendIndexes"]),STICKINESS_FILTER_PROPERTIES=new Set(["display","showLegend","showValuesOnSeries","hiddenLegendIndexes"]),WebStatsBreakdown=function(WebStatsBreakdown){return WebStatsBreakdown.Page="Page",WebStatsBreakdown.InitialPage="InitialPage",WebStatsBreakdown.ExitPage="ExitPage",WebStatsBreakdown.ExitClick="ExitClick",WebStatsBreakdown.ScreenName="ScreenName",WebStatsBreakdown.InitialChannelType="InitialChannelType",WebStatsBreakdown.InitialReferringDomain="InitialReferringDomain",WebStatsBreakdown.InitialUTMSource="InitialUTMSource",WebStatsBreakdown.InitialUTMCampaign="InitialUTMCampaign",WebStatsBreakdown.InitialUTMMedium="InitialUTMMedium",WebStatsBreakdown.InitialUTMTerm="InitialUTMTerm",WebStatsBreakdown.InitialUTMContent="InitialUTMContent",WebStatsBreakdown.InitialUTMSourceMediumCampaign="InitialUTMSourceMediumCampaign",WebStatsBreakdown.Browser="Browser",WebStatsBreakdown.OS="OS",WebStatsBreakdown.Viewport="Viewport",WebStatsBreakdown.DeviceType="DeviceType",WebStatsBreakdown.Country="Country",WebStatsBreakdown.Region="Region",WebStatsBreakdown.City="City",WebStatsBreakdown.Timezone="Timezone",WebStatsBreakdown.Language="Language",WebStatsBreakdown}({}),SessionAttributionGroupBy=function(SessionAttributionGroupBy){return SessionAttributionGroupBy.ChannelType="ChannelType",SessionAttributionGroupBy.Medium="Medium",SessionAttributionGroupBy.Source="Source",SessionAttributionGroupBy.Campaign="Campaign",SessionAttributionGroupBy.AdIds="AdIds",SessionAttributionGroupBy.ReferringDomain="ReferringDomain",SessionAttributionGroupBy.InitialURL="InitialURL",SessionAttributionGroupBy}({}),ExperimentSignificanceCode=function(ExperimentSignificanceCode){return ExperimentSignificanceCode.Significant="significant",ExperimentSignificanceCode.NotEnoughExposure="not_enough_exposure",ExperimentSignificanceCode.LowWinProbability="low_win_probability",ExperimentSignificanceCode.HighLoss="high_loss",ExperimentSignificanceCode.HighPValue="high_p_value",ExperimentSignificanceCode}({}),FunnelCorrelationResultsType=function(FunnelCorrelationResultsType){return FunnelCorrelationResultsType.Events="events",FunnelCorrelationResultsType.Properties="properties",FunnelCorrelationResultsType.EventWithProperties="event_with_properties",FunnelCorrelationResultsType}({}),insightActorsQueryOptionsResponseKeys=["day","status","interval","breakdown","breakdowns","series","compare"],InsightThresholdType=function(InsightThresholdType){return InsightThresholdType.ABSOLUTE="absolute",InsightThresholdType.PERCENTAGE="percentage",InsightThresholdType}({}),AlertConditionType=function(AlertConditionType){return AlertConditionType.ABSOLUTE_VALUE="absolute_value",AlertConditionType.RELATIVE_INCREASE="relative_increase",AlertConditionType.RELATIVE_DECREASE="relative_decrease",AlertConditionType}({}),AlertState=function(AlertState){return AlertState.FIRING="Firing",AlertState.NOT_FIRING="Not firing",AlertState.ERRORED="Errored",AlertState.SNOOZED="Snoozed",AlertState}({}),AlertCalculationInterval=function(AlertCalculationInterval){return AlertCalculationInterval.HOURLY="hourly",AlertCalculationInterval.DAILY="daily",AlertCalculationInterval.WEEKLY="weekly",AlertCalculationInterval.MONTHLY="monthly",AlertCalculationInterval}({}),AssistantMessageType=function(AssistantMessageType){return AssistantMessageType.Human="human",AssistantMessageType.Assistant="ai",AssistantMessageType.Reasoning="ai/reasoning",AssistantMessageType.Visualization="ai/viz",AssistantMessageType.Failure="ai/failure",AssistantMessageType.Router="ai/router",AssistantMessageType}({}),AssistantEventType=function(AssistantEventType){return AssistantEventType.Status="status",AssistantEventType.Message="message",AssistantEventType.Conversation="conversation",AssistantEventType}({}),AssistantGenerationStatusType=function(AssistantGenerationStatusType){return AssistantGenerationStatusType.Acknowledged="ack",AssistantGenerationStatusType.GenerationError="generation_error",AssistantGenerationStatusType}({}),CustomChannelField=function(CustomChannelField){return CustomChannelField.UTMSource="utm_source",CustomChannelField.UTMMedium="utm_medium",CustomChannelField.UTMCampaign="utm_campaign",CustomChannelField.ReferringDomain="referring_domain",CustomChannelField.URL="url",CustomChannelField.Pathname="pathname",CustomChannelField.Hostname="hostname",CustomChannelField}({}),CustomChannelOperator=function(CustomChannelOperator){return CustomChannelOperator.Exact="exact",CustomChannelOperator.IsNot="is_not",CustomChannelOperator.IsSet="is_set",CustomChannelOperator.IsNotSet="is_not_set",CustomChannelOperator.IContains="icontains",CustomChannelOperator.NotIContains="not_icontains",CustomChannelOperator.Regex="regex",CustomChannelOperator.NotRegex="not_regex",CustomChannelOperator}({}),DefaultChannelTypes=function(DefaultChannelTypes){return DefaultChannelTypes.CrossNetwork="Cross Network",DefaultChannelTypes.PaidSearch="Paid Search",DefaultChannelTypes.PaidSocial="Paid Social",DefaultChannelTypes.PaidVideo="Paid Video",DefaultChannelTypes.PaidShopping="Paid Shopping",DefaultChannelTypes.PaidUnknown="Paid Unknown",DefaultChannelTypes.Direct="Direct",DefaultChannelTypes.OrganicSearch="Organic Search",DefaultChannelTypes.OrganicSocial="Organic Social",DefaultChannelTypes.OrganicVideo="Organic Video",DefaultChannelTypes.OrganicShopping="Organic Shopping",DefaultChannelTypes.Push="Push",DefaultChannelTypes.SMS="SMS",DefaultChannelTypes.Audio="Audio",DefaultChannelTypes.Email="Email",DefaultChannelTypes.Referral="Referral",DefaultChannelTypes.Affiliate="Affiliate",DefaultChannelTypes.Unknown="Unknown",DefaultChannelTypes}({})},"./frontend/src/queries/utils.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{AU:()=>escapePropertyAsHogQlIdentifier,AV:()=>isValidBreakdown,A_:()=>isDataVisualizationNode,B8:()=>isInsightQueryWithSeries,CN:()=>isInsightQueryWithBreakdown,DM:()=>isInsightQueryWithCompare,E0:()=>isSavedInsightNode,GD:()=>isHogQuery,Hx:()=>isAsyncResponse,I5:()=>isRetentionQuery,Ii:()=>isErrorTrackingQuery,K9:()=>filterForQuery,KJ:()=>containsHogQLQuery,KN:()=>isInsightVizNode,Km:()=>getBreakdown,Ku:()=>isWebStatsTableQuery,L3:()=>dateRangeFor,LL:()=>getShowValuesOnSeries,NR:()=>getShowLegend,NS:()=>isActorsQuery,Qp:()=>isPathsQuery,R_:()=>taxonomicEventFilterToHogQL,Rh:()=>filterKeyForQuery,SO:()=>taxonomicPersonFilterToHogQL,Sy:()=>isSessionAttributionExplorerQuery,TC:()=>isDataTableNode,Th:()=>getResultCustomizationBy,Tw:()=>isHogQlAggregation,VU:()=>isActionsNode,Vf:()=>isHogQLQuery,Vr:()=>isLifecycleQuery,Wl:()=>isFunnelsQuery,Yg:()=>isInsightQueryNode,ZS:()=>getInterval,_x:()=>isWebExternalClicksQuery,a5:()=>isInsightActorsQuery,a7:()=>isInsightQueryWithDisplay,ay:()=>getShowPercentStackView,cK:()=>isPersonsNode,cT:()=>isEventsNode,gU:()=>getSeries,gV:()=>isNodeWithSource,go:()=>trimQuotes,hX:()=>getShowLabelsOnSeries,hr:()=>getShowAlertThresholdLines,kX:()=>isTrendsQuery,lC:()=>getCompareFilter,n1:()=>nodeKindToFilterProperty,nI:()=>getDisplay,oX:()=>isDataWarehouseNode,ou:()=>supportsPercentStackView,pT:()=>getFormula,rz:()=>isEventsQuery,vD:()=>isWebOverviewQuery,vy:()=>isStickinessQuery,wd:()=>isQueryForGroup,yL:()=>isWebGoalsQuery,zP:()=>hogql,ze:()=>getYAxisScaleType});var lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/src/lib/components/TaxonomicFilter/types.ts"),lib_constants__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/lib/constants.tsx"),lib_dayjs__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/dayjs.ts"),scenes_teamLogic__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/scenes/teamLogic.tsx"),_queries_schema__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/queries/schema.ts"),_types__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/types.ts");function isNodeWithSource(node){return!!node&&(isDataTableNode(node)||isDataVisualizationNode(node)||isInsightVizNode(node))}function isEventsNode(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.EventsNode}function isEventsQuery(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.EventsQuery}function isActionsNode(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.ActionsNode}function isDataWarehouseNode(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.DataWarehouseNode}function isPersonsNode(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.PersonsNode}function isActorsQuery(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.ActorsQuery}function isInsightActorsQuery(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.InsightActorsQuery}function isDataTableNode(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.DataTableNode}function isDataVisualizationNode(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.DataVisualizationNode}function isSavedInsightNode(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.SavedInsightNode}function isInsightVizNode(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.InsightVizNode}function isHogQuery(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.HogQuery}function isHogQLQuery(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.HogQLQuery}function isWebOverviewQuery(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.WebOverviewQuery}function isWebStatsTableQuery(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.WebStatsTableQuery}function isWebExternalClicksQuery(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.WebExternalClicksTableQuery}function isWebGoalsQuery(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.WebGoalsQuery}function isSessionAttributionExplorerQuery(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.SessionAttributionExplorerQuery}function isErrorTrackingQuery(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.ErrorTrackingQuery}function containsHogQLQuery(node){return!!node&&(isHogQLQuery(node)||isNodeWithSource(node)&&isHogQLQuery(node.source))}function isTrendsQuery(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.TrendsQuery}function isFunnelsQuery(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.FunnelsQuery}function isRetentionQuery(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.RetentionQuery}function isPathsQuery(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.PathsQuery}function isStickinessQuery(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.StickinessQuery}function isLifecycleQuery(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.LifecycleQuery}function isInsightQueryWithDisplay(node){return isTrendsQuery(node)||isStickinessQuery(node)}function isInsightQueryWithBreakdown(node){return isTrendsQuery(node)||isFunnelsQuery(node)}function isInsightQueryWithCompare(node){return isTrendsQuery(node)||isStickinessQuery(node)}function isQueryForGroup(query){return isActorsQuery(query)&&isInsightActorsQuery(query.source)&&isRetentionQuery(query.source.source)&&void 0!==query.source.source.aggregation_group_type_index}function isAsyncResponse(response){return"query_status"in response&&response.query_status}function isInsightQueryWithSeries(node){return isTrendsQuery(node)||isFunnelsQuery(node)||isStickinessQuery(node)||isLifecycleQuery(node)}function isInsightQueryNode(node){return isTrendsQuery(node)||isFunnelsQuery(node)||isRetentionQuery(node)||isPathsQuery(node)||isStickinessQuery(node)||isLifecycleQuery(node)}function dateRangeFor(node){return isInsightVizNode(node)?node.source.dateRange:isInsightQueryNode(node)?node.dateRange:void(isActionsNode(node)||isEventsNode(node)||isPersonsNode(node)||isDataTableNode(node))}let getInterval=query=>{if(isInsightQueryWithSeries(query))return query.interval},getDisplay=query=>isStickinessQuery(query)?query.stickinessFilter?.display:isTrendsQuery(query)?query.trendsFilter?.display:void 0,getFormula=query=>{if(isTrendsQuery(query))return query.trendsFilter?.formula},getSeries=query=>{if(isInsightQueryWithSeries(query))return query.series},getBreakdown=query=>{if(isInsightQueryWithBreakdown(query))return query.breakdownFilter},getCompareFilter=query=>{if(isInsightQueryWithCompare(query))return query.compareFilter},getShowLegend=query=>isStickinessQuery(query)?query.stickinessFilter?.showLegend:isTrendsQuery(query)?query.trendsFilter?.showLegend:isLifecycleQuery(query)?query.lifecycleFilter?.showLegend:void 0,getShowAlertThresholdLines=query=>{if(isTrendsQuery(query))return query.trendsFilter?.showAlertThresholdLines},getShowLabelsOnSeries=query=>{if(isTrendsQuery(query))return query.trendsFilter?.showLabelsOnSeries},getShowValuesOnSeries=query=>isLifecycleQuery(query)?query.lifecycleFilter?.showValuesOnSeries:isStickinessQuery(query)?query.stickinessFilter?.showValuesOnSeries:isTrendsQuery(query)?query.trendsFilter?.showValuesOnSeries:void 0,getYAxisScaleType=query=>{if(isTrendsQuery(query))return query.trendsFilter?.yAxisScaleType},getResultCustomizationBy=query=>{if(isTrendsQuery(query))return query.trendsFilter?.resultCustomizationBy},supportsPercentStackView=q=>isTrendsQuery(q)&&lib_constants__WEBPACK_IMPORTED_MODULE_1__.oA.includes(getDisplay(q)||_types__WEBPACK_IMPORTED_MODULE_5__.Qb.ActionsLineGraph),getShowPercentStackView=query=>supportsPercentStackView(query)&&query?.trendsFilter?.showPercentStackView,nodeKindToFilterProperty={[_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.TrendsQuery]:"trendsFilter",[_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.FunnelsQuery]:"funnelsFilter",[_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.RetentionQuery]:"retentionFilter",[_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.PathsQuery]:"pathsFilter",[_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.StickinessQuery]:"stickinessFilter",[_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.LifecycleQuery]:"lifecycleFilter"};function filterKeyForQuery(node){return nodeKindToFilterProperty[node.kind]}function filterForQuery(node){let filterProperty=nodeKindToFilterProperty[node.kind];return node[filterProperty]}function isQuoted(identifier){return identifier.startsWith('"')&&identifier.endsWith('"')||identifier.startsWith("`")&&identifier.endsWith("`")}function trimQuotes(identifier){return isQuoted(identifier)?identifier.slice(1,-1):identifier}function escapePropertyAsHogQlIdentifier(identifier){return identifier.match(/^[A-Za-z_$][A-Za-z0-9_$]*$/)||isQuoted(identifier)?identifier:identifier.includes('"')?`\`${identifier}\``:`"${identifier}"`}function taxonomicEventFilterToHogQL(groupType,value){return groupType===lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_0__.t.EventProperties?`properties.${escapePropertyAsHogQlIdentifier(String(value))}`:groupType===lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_0__.t.PersonProperties?`person.properties.${escapePropertyAsHogQlIdentifier(String(value))}`:groupType===lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_0__.t.EventFeatureFlags?`properties.${escapePropertyAsHogQlIdentifier(String(value))}`:groupType===lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_0__.t.HogQLExpression&&value?String(value):null}function taxonomicPersonFilterToHogQL(groupType,value){return groupType===lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_0__.t.PersonProperties?`properties.${escapePropertyAsHogQlIdentifier(String(value))}`:groupType===lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_0__.t.HogQLExpression&&value?String(value):null}function isHogQlAggregation(hogQl){return hogQl.includes("count(")||hogQl.includes("any(")||hogQl.includes("sum(")||hogQl.includes("avg(")||hogQl.includes("min(")||hogQl.includes("max(")}function hogql(strings){for(var _len=arguments.length,values=Array(_len>1?_len-1:0),_key=1;_key<_len;_key++)values[_key-1]=arguments[_key];return strings.reduce((acc,str,i)=>acc+str+(i0))}hogql.identifier=function(identifier){return{__hogql_identifier:!0,identifier}}},"./frontend/src/scenes/App.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{g:()=>App});var index_esm=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),constants=__webpack_require__("./frontend/src/lib/constants.tsx"),useThemedHtml=__webpack_require__("./frontend/src/lib/hooks/useThemedHtml.ts"),LemonToast=__webpack_require__("./frontend/src/lib/lemon-ui/LemonToast/LemonToast.tsx"),Spinner=__webpack_require__("./frontend/src/lib/lemon-ui/Spinner/Spinner.tsx"),apiStatusLogic=__webpack_require__("./frontend/src/lib/logic/apiStatusLogic.ts"),featureFlagLogic=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),react_toastify_esm=__webpack_require__("./node_modules/.pnpm/react-toastify@8.2.0_react-dom@18.2.0_react@18.2.0/node_modules/react-toastify/dist/react-toastify.esm.js"),scenes=__webpack_require__("./frontend/src/scenes/scenes.ts"),sceneTypes=__webpack_require__("./frontend/src/scenes/sceneTypes.ts");let appScenes={[sceneTypes.x.Error404]:()=>({default:scenes.DD[sceneTypes.x.Error404].component}),[sceneTypes.x.ErrorNetwork]:()=>({default:scenes.DD[sceneTypes.x.ErrorNetwork].component}),[sceneTypes.x.ErrorProjectUnavailable]:()=>({default:scenes.DD[sceneTypes.x.ErrorProjectUnavailable].component}),[sceneTypes.x.Dashboards]:()=>__webpack_require__.e(47988).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/dashboard/dashboards/Dashboards.tsx")),[sceneTypes.x.Dashboard]:()=>Promise.resolve().then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/dashboard/Dashboard.tsx")),[sceneTypes.x.Insight]:()=>__webpack_require__.e(56818).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/insights/InsightScene.tsx")),[sceneTypes.x.WebAnalytics]:()=>__webpack_require__.e(33876).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/web-analytics/WebAnalyticsScene.tsx")),[sceneTypes.x.WebAnalyticsCoreWebVitals]:()=>__webpack_require__.e(33876).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/web-analytics/WebAnalyticsScene.tsx")),[sceneTypes.x.Cohort]:()=>__webpack_require__.e(80801).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/cohorts/Cohort.tsx")),[sceneTypes.x.DataManagement]:()=>Promise.resolve().then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/data-management/DataManagementScene.tsx")),[sceneTypes.x.Activity]:()=>__webpack_require__.e(71073).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/activity/ActivityScene.tsx")),[sceneTypes.x.EventDefinition]:()=>__webpack_require__.e(7215).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/data-management/definition/DefinitionView.tsx")),[sceneTypes.x.EventDefinitionEdit]:()=>__webpack_require__.e(17066).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/data-management/definition/DefinitionEdit.tsx")),[sceneTypes.x.PropertyDefinition]:()=>__webpack_require__.e(7215).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/data-management/definition/DefinitionView.tsx")),[sceneTypes.x.PropertyDefinitionEdit]:()=>__webpack_require__.e(17066).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/data-management/definition/DefinitionEdit.tsx")),[sceneTypes.x.Replay]:()=>__webpack_require__.e(39134).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/session-recordings/SessionRecordings.tsx")),[sceneTypes.x.ReplaySingle]:()=>__webpack_require__.e(82429).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/session-recordings/detail/SessionRecordingDetail.tsx")),[sceneTypes.x.ReplayPlaylist]:()=>__webpack_require__.e(79166).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/session-recordings/playlist/SessionRecordingsPlaylistScene.tsx")),[sceneTypes.x.ReplayFilePlayback]:()=>__webpack_require__.e(50297).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/session-recordings/file-playback/SessionRecordingFilePlaybackScene.tsx")),[sceneTypes.x.PersonsManagement]:()=>__webpack_require__.e(72154).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/persons-management/PersonsManagementScene.tsx")),[sceneTypes.x.Person]:()=>__webpack_require__.e(13442).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/persons/PersonScene.tsx")),[sceneTypes.x.PipelineNodeNew]:()=>Promise.all([__webpack_require__.e(33502),__webpack_require__.e(56626),__webpack_require__.e(30885),__webpack_require__.e(19745)]).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/pipeline/PipelineNodeNew.tsx")),[sceneTypes.x.Pipeline]:()=>__webpack_require__.e(49284).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/pipeline/Pipeline.tsx")),[sceneTypes.x.PipelineNode]:()=>Promise.all([__webpack_require__.e(33502),__webpack_require__.e(30885),__webpack_require__.e(76282)]).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/pipeline/PipelineNode.tsx")),[sceneTypes.x.Group]:()=>Promise.resolve().then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/groups/Group.tsx")),[sceneTypes.x.Action]:()=>__webpack_require__.e(61121).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/actions/Action.tsx")),[sceneTypes.x.Experiments]:()=>__webpack_require__.e(70163).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/experiments/Experiments.tsx")),[sceneTypes.x.ExperimentsSharedMetrics]:()=>__webpack_require__.e(81466).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/experiments/SharedMetrics/SharedMetrics.tsx")),[sceneTypes.x.ExperimentsSharedMetric]:()=>__webpack_require__.e(29766).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/experiments/SharedMetrics/SharedMetric.tsx")),[sceneTypes.x.Experiment]:()=>__webpack_require__.e(69791).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/experiments/Experiment.tsx")),[sceneTypes.x.FeatureFlags]:()=>Promise.resolve().then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/feature-flags/FeatureFlags.tsx")),[sceneTypes.x.FeatureManagement]:()=>__webpack_require__.e(13474).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/feature-flags/FeatureManagement.tsx")),[sceneTypes.x.FeatureFlag]:()=>__webpack_require__.e(73221).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/feature-flags/FeatureFlag.tsx")),[sceneTypes.x.EarlyAccessFeatures]:()=>__webpack_require__.e(79617).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/early-access-features/EarlyAccessFeatures.tsx")),[sceneTypes.x.EarlyAccessFeature]:()=>Promise.resolve().then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/early-access-features/EarlyAccessFeature.tsx")),[sceneTypes.x.ErrorTracking]:()=>Promise.all([__webpack_require__.e(61473),__webpack_require__.e(65393)]).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/error-tracking/ErrorTrackingScene.tsx")),[sceneTypes.x.ErrorTrackingConfiguration]:()=>__webpack_require__.e(2401).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/error-tracking/ErrorTrackingConfigurationScene.tsx")),[sceneTypes.x.ErrorTrackingIssue]:()=>Promise.all([__webpack_require__.e(61473),__webpack_require__.e(72808)]).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/error-tracking/ErrorTrackingIssueScene.tsx")),[sceneTypes.x.Surveys]:()=>Promise.resolve().then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/surveys/Surveys.tsx")),[sceneTypes.x.Survey]:()=>Promise.resolve().then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/surveys/Survey.tsx")),[sceneTypes.x.CustomCss]:()=>__webpack_require__.e(17170).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/themes/CustomCssScene.tsx")),[sceneTypes.x.SurveyTemplates]:()=>__webpack_require__.e(65982).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/surveys/SurveyTemplates.tsx")),[sceneTypes.x.DataWarehouse]:()=>__webpack_require__.e(89448).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/data-warehouse/external/DataWarehouseExternalScene.tsx")),[sceneTypes.x.SQLEditor]:()=>Promise.all([__webpack_require__.e(58453),__webpack_require__.e(23162)]).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/data-warehouse/editor/EditorScene.tsx")),[sceneTypes.x.DataWarehouseTable]:()=>Promise.all([__webpack_require__.e(56626),__webpack_require__.e(50769)]).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/data-warehouse/new/NewSourceWizard.tsx")),[sceneTypes.x.DataWarehouseExternal]:()=>__webpack_require__.e(89448).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/data-warehouse/external/DataWarehouseExternalScene.tsx")),[sceneTypes.x.DataWarehouseRedirect]:()=>__webpack_require__.e(93836).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/data-warehouse/redirect/DataWarehouseRedirectScene.tsx")),[sceneTypes.x.OrganizationCreateFirst]:()=>__webpack_require__.e(83082).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/organization/Create/index.tsx")),[sceneTypes.x.OrganizationCreationConfirm]:()=>__webpack_require__.e(13077).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/organization/ConfirmOrganization/ConfirmOrganization.tsx")),[sceneTypes.x.ProjectHomepage]:()=>__webpack_require__.e(90853).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/project-homepage/ProjectHomepage.tsx")),[sceneTypes.x.Max]:()=>__webpack_require__.e(98095).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/max/Max.tsx")),[sceneTypes.x.ProjectCreateFirst]:()=>__webpack_require__.e(99203).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/project/Create/index.tsx")),[sceneTypes.x.SystemStatus]:()=>__webpack_require__.e(62983).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/instance/SystemStatus/index.tsx")),[sceneTypes.x.ToolbarLaunch]:()=>__webpack_require__.e(35305).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/toolbar-launch/ToolbarLaunch.tsx")),[sceneTypes.x.Site]:()=>__webpack_require__.e(87519).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/sites/Site.tsx")),[sceneTypes.x.AsyncMigrations]:()=>__webpack_require__.e(90891).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/instance/AsyncMigrations/AsyncMigrations.tsx")),[sceneTypes.x.DeadLetterQueue]:()=>__webpack_require__.e(22682).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/instance/DeadLetterQueue/DeadLetterQueue.tsx")),[sceneTypes.x.PreflightCheck]:()=>__webpack_require__.e(49793).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/PreflightCheck/PreflightCheck.tsx")),[sceneTypes.x.Signup]:()=>__webpack_require__.e(92437).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/authentication/signup/SignupContainer.tsx")),[sceneTypes.x.InviteSignup]:()=>__webpack_require__.e(81896).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/authentication/InviteSignup.tsx")),[sceneTypes.x.Billing]:()=>Promise.resolve().then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/billing/Billing.tsx")),[sceneTypes.x.BillingSection]:()=>__webpack_require__.e(48573).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/billing/BillingSection.tsx")),[sceneTypes.x.BillingAuthorizationStatus]:()=>__webpack_require__.e(76410).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/billing/AuthorizationStatus.tsx")),[sceneTypes.x.Login]:()=>__webpack_require__.e(64353).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/authentication/Login.tsx")),[sceneTypes.x.Login2FA]:()=>__webpack_require__.e(39453).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/authentication/Login2FA.tsx")),[sceneTypes.x.SavedInsights]:()=>Promise.resolve().then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/saved-insights/SavedInsights.tsx")),[sceneTypes.x.PasswordReset]:()=>__webpack_require__.e(99954).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/authentication/PasswordReset.tsx")),[sceneTypes.x.PasswordResetComplete]:()=>__webpack_require__.e(87057).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/authentication/PasswordResetComplete.tsx")),[sceneTypes.x.Unsubscribe]:()=>__webpack_require__.e(14929).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/Unsubscribe/Unsubscribe.tsx")),[sceneTypes.x.IntegrationsRedirect]:()=>__webpack_require__.e(1157).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/IntegrationsRedirect/IntegrationsRedirect.tsx")),[sceneTypes.x.DebugQuery]:()=>__webpack_require__.e(34551).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/debug/DebugScene.tsx")),[sceneTypes.x.DebugHog]:()=>__webpack_require__.e(38895).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/debug/hog/HogRepl.tsx")),[sceneTypes.x.VerifyEmail]:()=>__webpack_require__.e(88754).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/authentication/signup/verify-email/VerifyEmail.tsx")),[sceneTypes.x.Notebooks]:()=>__webpack_require__.e(12567).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/notebooks/NotebooksScene.tsx")),[sceneTypes.x.Notebook]:()=>__webpack_require__.e(43496).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/notebooks/NotebookScene.tsx")),[sceneTypes.x.Canvas]:()=>__webpack_require__.e(81469).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/notebooks/NotebookCanvasScene.tsx")),[sceneTypes.x.Products]:()=>Promise.resolve().then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/products/Products.tsx")),[sceneTypes.x.Onboarding]:()=>Promise.all([__webpack_require__.e(56626),__webpack_require__.e(75643)]).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/onboarding/Onboarding.tsx")),[sceneTypes.x.Settings]:()=>__webpack_require__.e(96866).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/settings/SettingsScene.tsx")),[sceneTypes.x.MoveToPostHogCloud]:()=>__webpack_require__.e(91302).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/moveToPostHogCloud/MoveToPostHogCloud.tsx")),[sceneTypes.x.Heatmaps]:()=>Promise.all([__webpack_require__.e(75576),__webpack_require__.e(12951)]).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/heatmaps/HeatmapsScene.tsx")),[sceneTypes.x.SessionAttributionExplorer]:()=>__webpack_require__.e(35538).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/web-analytics/SessionAttributionExplorer/SessionAttributionExplorerScene.tsx")),[sceneTypes.x.MessagingProviders]:()=>Promise.all([__webpack_require__.e(33502),__webpack_require__.e(76668)]).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/messaging/Providers.tsx")),[sceneTypes.x.MessagingBroadcasts]:()=>Promise.all([__webpack_require__.e(33502),__webpack_require__.e(41031)]).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/messaging/Broadcasts.tsx"))};var organizationLogic=__webpack_require__("./frontend/src/scenes/organizationLogic.tsx"),sceneLogic=__webpack_require__("./frontend/src/scenes/sceneLogic.ts"),userLogic=__webpack_require__("./frontend/src/scenes/userLogic.ts"),ErrorBoundary=__webpack_require__("./frontend/src/layout/ErrorBoundary/index.ts"),GlobalModals=__webpack_require__("./frontend/src/layout/GlobalModals.tsx"),breadcrumbsLogic=__webpack_require__("./frontend/src/layout/navigation/Breadcrumbs/breadcrumbsLogic.tsx"),injectStylesIntoStyleTag=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),injectStylesIntoStyleTag_default=__webpack_require__.n(injectStylesIntoStyleTag),Navigation=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/layout/navigation-3000/Navigation.scss"),Navigation_default=__webpack_require__.n(Navigation),options={};options.insert="head",options.singleton=!1,injectStylesIntoStyleTag_default()(Navigation_default(),options),Navigation_default().locals;var clsx_m=__webpack_require__("./node_modules/.pnpm/clsx@1.2.1/node_modules/clsx/dist/clsx.m.js"),lib=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),LemonBanner=__webpack_require__("./frontend/src/lib/lemon-ui/LemonBanner/index.ts"),react=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/index.js"),billingLogic=__webpack_require__("./frontend/src/scenes/billing/billingLogic.tsx"),urls=__webpack_require__("./frontend/src/scenes/urls.ts"),jsx_runtime=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function BillingAlertsV2(){let{billingAlert}=(0,index_esm.useValues)(billingLogic.kr),{reportBillingAlertShown,reportBillingAlertActionClicked}=(0,index_esm.useActions)(billingLogic.kr),{currentLocation}=(0,index_esm.useValues)(lib.router),[alertHidden,setAlertHidden]=(0,react.useState)(!1);if((0,react.useEffect)(()=>{billingAlert?.pathName&¤tLocation.pathname!==billingAlert?.pathName?setAlertHidden(!0):setAlertHidden(!1),billingAlert&&reportBillingAlertShown(billingAlert)},[billingAlert,currentLocation]),!billingAlert||alertHidden)return null;let showButton=billingAlert.action||billingAlert.contactSupport||currentLocation.pathname!==urls.j.organizationBilling(),buttonProps=billingAlert.action?billingAlert.action:billingAlert.contactSupport?{to:"mailto:sales@posthog.com",children:billingAlert.buttonCTA||"Contact support",onClick:()=>reportBillingAlertActionClicked(billingAlert)}:{to:urls.j.organizationBilling(),children:"Manage billing",onClick:()=>reportBillingAlertActionClicked(billingAlert)};return(0,jsx_runtime.jsx)("div",{className:"my-4",children:(0,jsx_runtime.jsxs)(LemonBanner.V,{type:billingAlert.status,action:showButton?buttonProps:void 0,onClose:"error"!==billingAlert.status?()=>setAlertHidden(!0):billingAlert.onClose?()=>billingAlert.onClose?.():void 0,dismissKey:billingAlert.dismissKey,children:[(0,jsx_runtime.jsx)("b",{children:billingAlert.title}),(0,jsx_runtime.jsx)("br",{}),billingAlert.message]})})}var CommandBar=__webpack_require__("./frontend/src/lib/components/CommandBar/CommandBar.tsx"),FlaggedFeature=__webpack_require__("./frontend/src/lib/components/FlaggedFeature.tsx"),navigationLogic=__webpack_require__("./frontend/src/layout/navigation/navigationLogic.ts"),posthog_icons_es=__webpack_require__("./node_modules/.pnpm/@posthog+icons@0.9.2_react-dom@18.2.0_react@18.2.0/node_modules/@posthog/icons/dist/posthog-icons.es.js"),src=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),dayjs=__webpack_require__("./frontend/src/lib/dayjs.ts"),Link=__webpack_require__("./frontend/src/lib/lemon-ui/Link/index.ts"),verifyEmailLogic=__webpack_require__("./frontend/src/scenes/authentication/signup/verify-email/verifyEmailLogic.ts"),inviteLogic=__webpack_require__("./frontend/src/scenes/settings/organization/inviteLogic.ts"),types=__webpack_require__("./frontend/src/types.ts");function CountDown(_ref){let{datetime,callback}=_ref,[now,setNow]=(0,react.useState)((0,dayjs.Bv)()),duration=dayjs.Bv.duration(datetime.diff(now)),pastCountdown=0>duration.seconds(),countdown=pastCountdown?"Expired":duration.hours()>0?duration.format("HH:mm:ss"):duration.format("mm:ss");return(0,react.useEffect)(()=>{let interval=setInterval(()=>setNow((0,dayjs.Bv)()),1e3);return()=>clearInterval(interval)},[]),(0,react.useEffect)(()=>{pastCountdown&&callback?.()},[pastCountdown]),(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:countdown})}function ProjectNotice(){let{projectNoticeVariant}=(0,index_esm.useValues)(navigationLogic.f),{currentOrganization}=(0,index_esm.useValues)(organizationLogic.p),{logout,loadUser}=(0,index_esm.useActions)(userLogic.userLogic),{user,userLoading}=(0,index_esm.useValues)(userLogic.userLogic),{closeProjectNotice}=(0,index_esm.useActions)(navigationLogic.f),{showInviteModal}=(0,index_esm.useActions)(inviteLogic.n),{requestVerificationLink}=(0,index_esm.useActions)(verifyEmailLogic.C);if(!projectNoticeVariant)return null;let altTeamForIngestion=currentOrganization?.teams?.find(team=>!team.is_demo&&!team.ingested_event),NOTICES={demo_project:{message:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["This is a demo project with dummy data.",altTeamForIngestion&&(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[" ","When you're ready, head on over to the"," ",(0,jsx_runtime.jsx)(Link.r,{to:urls.j.project(altTeamForIngestion.id,urls.j.products()),"data-attr":"demo-project-alt-team-ingestion_link",children:"onboarding wizard"})," ","to get started with your own data."]})]})},real_project_with_no_events:{message:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["This project has no events yet. Go to the"," ",(0,jsx_runtime.jsx)(Link.r,{to:urls.j.onboarding(types.Md.PRODUCT_ANALYTICS),"data-attr":"real_project_with_no_events-ingestion_link",children:"onboarding wizard"})," ","or grab your project\xa0API\xa0key/HTML\xa0snippet from"," ",(0,jsx_runtime.jsx)(Link.r,{to:urls.j.settings(),"data-attr":"real_project_with_no_events-settings",children:"Project Settings"})," ","to get things moving"]}),action:{to:urls.j.onboarding(types.Md.PRODUCT_ANALYTICS),"data-attr":"demo-warning-cta",icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconGear,{}),children:"Go to wizard"},closeable:!0},invite_teammates:{message:"Get more out of PostHog by\xa0inviting your team for\xa0free",action:{"data-attr":"invite-warning-cta",onClick:showInviteModal,icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconPlus,{}),children:"Invite team members"},closeable:!0},unverified_email:{message:"Please verify your email address.",action:{"data-attr":"unverified-email-cta",onClick:()=>user&&requestVerificationLink(user.uuid),children:"Send verification email"},type:"warning"},is_impersonated:{message:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["You are currently logged in as a customer."," ",user?.is_impersonated_until&&(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["Expires in ",(0,jsx_runtime.jsx)(CountDown,{datetime:(0,dayjs.Bv)(user.is_impersonated_until),callback:loadUser}),userLoading?(0,jsx_runtime.jsx)(src.$j,{}):(0,jsx_runtime.jsx)(Link.r,{className:"ml-2",onClick:()=>loadUser(),children:"Refresh"})]})]}),type:"warning",action:{"data-attr":"stop-impersonation-cta",onClick:()=>logout(),children:"Log out"}},internet_connection_issue:{message:"PostHog is having trouble connecting to the server. Please check your connection.",type:"warning",action:{"data-attr":"reload-page",onClick:()=>window.location.reload(),children:"Reload page"}}},relevantNotice=NOTICES[projectNoticeVariant];return(0,jsx_runtime.jsx)(LemonBanner.V,{type:relevantNotice.type||"info",className:"my-4",action:relevantNotice.action,onClose:relevantNotice.closeable?()=>closeProjectNotice(projectNoticeVariant):void 0,children:relevantNotice.message})}var teamLogic=__webpack_require__("./frontend/src/scenes/teamLogic.tsx"),ProjectSwitcher=__webpack_require__("./frontend/src/layout/navigation/ProjectSwitcher.tsx"),AccountPopover=__webpack_require__("./frontend/src/layout/navigation/TopBar/AccountPopover.tsx");function MinimalNavigation(){var _currentOrganization$,_currentTeam$name;let{user}=(0,index_esm.useValues)(userLogic.userLogic),{currentTeam}=(0,index_esm.useValues)(teamLogic.H),{currentOrganization}=(0,index_esm.useValues)(organizationLogic.p),{isAccountPopoverOpen,isProjectSwitcherShown}=(0,index_esm.useValues)(navigationLogic.f),{closeAccountPopover,toggleAccountPopover,toggleProjectSwitcher,hideProjectSwitcher}=(0,index_esm.useActions)(navigationLogic.f);return(0,jsx_runtime.jsxs)("nav",{className:"flex items-center justify-between gap-2 p-2 border-b",children:[(0,jsx_runtime.jsx)("span",{className:"flex-1",children:(0,jsx_runtime.jsx)(src.Jp,{noPadding:!0,icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconLogomark,{className:"text-3xl"}),to:urls.j.projectHomepage()})}),null!==(_currentOrganization$=currentOrganization?.teams?.length)&&void 0!==_currentOrganization$&&_currentOrganization$?(0,jsx_runtime.jsx)(src.J2,{overlay:(0,jsx_runtime.jsx)(ProjectSwitcher.C,{onClickInside:hideProjectSwitcher}),visible:isProjectSwitcherShown,onClickOutside:hideProjectSwitcher,placement:"bottom",children:(0,jsx_runtime.jsx)(src.Jp,{type:"tertiary",icon:(0,jsx_runtime.jsx)(src.BR,{name:currentTeam?.name}),onClick:toggleProjectSwitcher,children:null!==(_currentTeam$name=currentTeam?.name)&&void 0!==_currentTeam$name?_currentTeam$name:"Current project"})}):null,(0,jsx_runtime.jsx)(src.J2,{overlay:(0,jsx_runtime.jsx)(AccountPopover.D,{}),visible:isAccountPopoverOpen,onClickOutside:closeAccountPopover,placement:"bottom",children:(0,jsx_runtime.jsx)(src.Jp,{type:"tertiary",icon:(0,jsx_runtime.jsx)(src.YY,{user:user,size:"md"}),onClick:toggleAccountPopover,children:user?.first_name||user?.email})})]})}var commandBarLogic=__webpack_require__("./frontend/src/lib/components/CommandBar/commandBarLogic.ts"),icons=__webpack_require__("./frontend/src/lib/lemon-ui/icons/index.ts"),LemonButton=__webpack_require__("./frontend/src/lib/lemon-ui/LemonButton/index.ts"),useFeatureFlag=__webpack_require__("./frontend/src/lib/hooks/useFeatureFlag.ts"),Tooltip=__webpack_require__("./frontend/src/lib/lemon-ui/Tooltip/index.ts"),dist_module=__webpack_require__("./node_modules/.pnpm/posthog-js@1.205.0/node_modules/posthog-js/dist/module.js");let NOTICES=[{identifier:sceneTypes.x.DataManagement,description:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)("b",{children:"Annotations"})," have moved here!",(0,jsx_runtime.jsx)("br",{}),"You can now find them in ",(0,jsx_runtime.jsx)("b",{children:"Data Management"})]}),placement:"bottom-end",flagSuffix:"annotations-2023-10-30"},{identifier:sceneTypes.x.PersonsManagement,description:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)("b",{children:"Cohorts"})," have moved here!",(0,jsx_runtime.jsx)("br",{}),"You can now find them in ",(0,jsx_runtime.jsx)("b",{children:"People"})]}),placement:"top-end",flagSuffix:"cohorts-2023-10-30"}];function SidebarChangeNoticeContent(_ref){let{notices,onAcknowledged}=_ref;return(0,jsx_runtime.jsxs)("div",{className:"flex items-center gap-1",onClick:onAcknowledged,children:[(0,jsx_runtime.jsx)("div",{className:"flex-1",children:notices.map((notice,i)=>(0,jsx_runtime.jsxs)(react.Fragment,{children:[notice.description,i{var _notices$0$placement;let content;let{identifier,shortTitle,title,forceTooltipOnHover,tag,onClick,sideAction,...rest}=_ref,{activeScene}=(0,index_esm.useValues)(sceneLogic.k),{sceneBreadcrumbKeys}=(0,index_esm.useValues)(breadcrumbsLogic.E),{hideNavOnMobile}=(0,index_esm.useActions)(navigation_3000_navigationLogic.f),{isNavCollapsed}=(0,index_esm.useValues)(navigation_3000_navigationLogic.f),isUsingNewNav=(0,useFeatureFlag.y)("POSTHOG_3000_NAV"),[hasBeenClicked,setHasBeenClicked]=(0,react.useState)(!1),here=activeScene===identifier||sceneBreadcrumbKeys.includes(identifier),isNavCollapsedActually=isNavCollapsed||isUsingNewNav;isUsingNewNav||(rest.active=here),isNavCollapsedActually?rest.sideIcon=null:(content=shortTitle||title,tag&&(content=(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)("span",{className:"grow",children:content}),(0,jsx_runtime.jsx)(src.oe,{type:"alpha"===tag?"completion":"beta"===tag?"warning":"success",size:"small",className:"ml-2",children:tag.toUpperCase()})]})),sideAction&&(rest.sideAction={...sideAction,divider:!0,"data-attr":`menu-item-${sideAction.identifier.toLowerCase()}`},rest.sideIcon=null));let buttonContent=(0,jsx_runtime.jsx)(LemonButton.J,{ref:ref,"data-attr":`menu-item-${identifier.toString().toLowerCase()}`,onMouseEnter:()=>setHasBeenClicked(!1),onClick:e=>{rest.to&&hideNavOnMobile(),setHasBeenClicked(!0),onClick?.(e)},className:(0,clsx_m.default)("NavbarButton",isUsingNewNav&&here&&"NavbarButton--here"),fullWidth:!0,type:"secondary",status:"alt",...rest,children:content}),[notices,onAcknowledged]=function(_ref2){let{identifier}=_ref2,{featureFlags}=(0,index_esm.useValues)(featureFlagLogic.h),[noticeAcknowledged,setNoticeAcknowledged]=(0,react.useState)(!1),notices=NOTICES.filter(notice=>notice.identifier===identifier).filter(notice=>featureFlags[`sidebar-notice-${notice.flagSuffix}`]);return[noticeAcknowledged?[]:notices,()=>{notices.forEach(change=>{dist_module.ZP.capture("sidebar notice acknowledged",{change:change.flagSuffix,$set:{[`sidebar_notice/${change.flagSuffix}`]:!0}}),setNoticeAcknowledged(!0)})}]}({identifier});return(0,jsx_runtime.jsx)("li",{className:"w-full",children:notices.length?(0,jsx_runtime.jsx)(Tooltip.u,{title:(0,jsx_runtime.jsx)(SidebarChangeNoticeContent,{notices:notices,onAcknowledged:onAcknowledged}),placement:null!==(_notices$0$placement=notices[0].placement)&&void 0!==_notices$0$placement?_notices$0$placement:"right",delayMs:0,visible:!0,children:buttonContent}):(0,jsx_runtime.jsx)(Tooltip.u,{title:forceTooltipOnHover||isNavCollapsedActually?here?`${title} (you are here)`:title:null,placement:"right",delayMs:0,visible:!hasBeenClicked&&void 0,children:buttonContent})})});function DebugNotice(){let[debugInfo,setDebugInfo]=(0,react.useState)(),[noticeHidden,setNoticeHidden]=(0,react.useState)(!1),{isNavCollapsed}=(0,index_esm.useValues)(navigation_3000_navigationLogic.f);return((0,react.useEffect)(()=>{let bottomNotice=document.getElementById("bottom-notice"),bottomNoticeRevision=document.getElementById("bottom-notice-revision")?.textContent,bottomNoticeBranch=document.getElementById("bottom-notice-branch")?.textContent;return bottomNotice&&bottomNoticeRevision&&bottomNoticeBranch&&(setDebugInfo({branch:bottomNoticeBranch||"unknown",revision:bottomNoticeRevision||"unknown"}),bottomNotice.remove()),()=>{}},[]),!debugInfo||noticeHidden)?null:isNavCollapsed?(0,jsx_runtime.jsx)(NavbarButton,{identifier:"debug-notice",icon:(0,jsx_runtime.jsx)(icons.$M,{className:"text-primary"}),title:(0,jsx_runtime.jsxs)("div",{className:"font-mono",children:[(0,jsx_runtime.jsx)("div",{children:(0,jsx_runtime.jsx)("strong",{children:"DEBUG mode!"})}),(0,jsx_runtime.jsxs)("div",{children:["Branch: ",(0,jsx_runtime.jsx)("b",{children:debugInfo.branch})]}),(0,jsx_runtime.jsxs)("div",{children:["Revision: ",(0,jsx_runtime.jsx)("b",{children:debugInfo.revision})]}),(0,jsx_runtime.jsx)("div",{className:"italic",children:"Click to hide"})]}),onClick:()=>setNoticeHidden(!0)}):(0,jsx_runtime.jsxs)("div",{className:"border rounded bg-bg-3000 overflow-hidden mb-1.5 w-full font-mono max-w-60 text-[13px]",children:[(0,jsx_runtime.jsxs)("div",{className:"flex items-center gap-2 px-2 h-8 border-l-4 border-brand-blue justify-between",children:[(0,jsx_runtime.jsx)("b",{children:"DEBUG mode"}),(0,jsx_runtime.jsx)(LemonButton.J,{icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconX,{}),tooltip:"Dismiss",tooltipPlacement:"right",size:"small",noPadding:!0,onClick:()=>setNoticeHidden(!0)})]}),(0,jsx_runtime.jsx)(src.u,{title:"Branch",placement:"right",children:(0,jsx_runtime.jsxs)("div",{className:"flex items-center gap-2 w-fit px-2 h-8 border-l-4 border-brand-red",children:[(0,jsx_runtime.jsx)(icons.$M,{className:"text-lg"}),(0,jsx_runtime.jsx)("b",{className:"min-w-0 flex-1 truncate",children:debugInfo.branch})]})}),(0,jsx_runtime.jsx)(src.u,{title:"Revision",placement:"right",children:(0,jsx_runtime.jsxs)("div",{className:"flex items-center gap-2 w-fit px-2 h-8 border-l-4 border-brand-yellow",children:[(0,jsx_runtime.jsx)(posthog_icons_es.IconCode,{className:"text-lg"}),(0,jsx_runtime.jsx)("b",{className:"min-w-0 flex-1 truncate",children:debugInfo.revision})]})}),"8010"!==window.location.port&&(0,jsx_runtime.jsx)(src.u,{title:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["You're currently using the app over port 8000,",(0,jsx_runtime.jsx)("br",{}),"which only serves the web app, without capture (/e/).",(0,jsx_runtime.jsx)("br",{}),"Use port 8010 for full PostHog, proxied via Caddy."]}),placement:"right",children:(0,jsx_runtime.jsxs)("div",{className:"flex items-center gap-2 w-fit px-2 h-8 border-l-4 border-brand-key",children:[(0,jsx_runtime.jsx)(posthog_icons_es.IconWarning,{className:"text-lg"}),(0,jsx_runtime.jsx)(src.rU,{to:window.location.href.replace(`:${window.location.port}`,":8010"),className:"font-semibold text-default underline min-w-0 flex-1 truncate",children:"Click here to fix port!"})]})})]})}NavbarButton.displayName="NavbarButton";var Resizer=__webpack_require__("./frontend/src/lib/components/Resizer/Resizer.tsx"),ScrollableShadows=__webpack_require__("./frontend/src/lib/components/ScrollableShadows/ScrollableShadows.tsx"),Popover=__webpack_require__("./frontend/src/lib/lemon-ui/Popover/index.ts"),ProfilePicture=__webpack_require__("./frontend/src/lib/lemon-ui/ProfilePicture/index.ts"),themeLogic=__webpack_require__("./frontend/src/layout/navigation-3000/themeLogic.ts"),KeyboardShortcut=__webpack_require__("./frontend/src/layout/navigation-3000/components/KeyboardShortcut.tsx");function Navbar(){let{theme}=(0,index_esm.useValues)(themeLogic.b),{user}=(0,index_esm.useValues)(userLogic.userLogic),{isAccountPopoverOpen,systemStatusHealthy}=(0,index_esm.useValues)(navigationLogic.f),{closeAccountPopover,toggleAccountPopover}=(0,index_esm.useActions)(navigationLogic.f),{isNavShown,isSidebarShown,activeNavbarItemId,navbarItems,mobileLayout}=(0,index_esm.useValues)(navigation_3000_navigationLogic.f),{toggleNavCollapsed,hideNavOnMobile,showSidebar,hideSidebar}=(0,index_esm.useActions)(navigation_3000_navigationLogic.f),{featureFlags}=(0,index_esm.useValues)(featureFlagLogic.h),{toggleSearchBar}=(0,index_esm.useActions)(commandBarLogic.e),containerRef=(0,react.useRef)(null);return(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsxs)("nav",{className:(0,clsx_m.default)("Navbar3000",!isNavShown&&"Navbar3000--hidden"),ref:containerRef,children:[(0,jsx_runtime.jsxs)("div",{className:"Navbar3000__content",style:theme?.sidebarStyle,children:[(0,jsx_runtime.jsx)(ScrollableShadows.D,{innerClassName:"Navbar3000__top",direction:"vertical",children:navbarItems.map((section,index)=>(0,jsx_runtime.jsx)("ul",{children:section.map(item=>item.featureFlag&&!featureFlags[item.featureFlag]?null:(0,jsx_runtime.jsx)(NavbarButton,{title:item.label,identifier:item.identifier,icon:item.icon,sideAction:item.sideAction,tag:item.tag,to:"to"in item?item.to:void 0,onClick:"logic"in item?()=>{activeNavbarItemId!==item.identifier||isSidebarShown?showSidebar(item.identifier):hideSidebar()}:void 0,active:activeNavbarItemId===item.identifier&&isSidebarShown},item.identifier))},index))}),(0,jsx_runtime.jsx)("div",{className:"Navbar3000__bottom",children:(0,jsx_runtime.jsxs)("ul",{children:[(0,jsx_runtime.jsx)(DebugNotice,{}),(0,jsx_runtime.jsx)(NavbarButton,{identifier:"search-button",icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconSearch,{}),shortTitle:"Search",title:(0,jsx_runtime.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,jsx_runtime.jsxs)("span",{children:["For search, press ",(0,jsx_runtime.jsx)(KeyboardShortcut.e,{command:!0,k:!0})]}),(0,jsx_runtime.jsxs)("span",{children:["For commands, press ",(0,jsx_runtime.jsx)(KeyboardShortcut.e,{command:!0,shift:!0,k:!0})]})]}),forceTooltipOnHover:!0,sideIcon:(0,jsx_runtime.jsx)(KeyboardShortcut.e,{command:!0,k:!0}),onClick:toggleSearchBar}),(0,jsx_runtime.jsx)(NavbarButton,{icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconToolbar,{}),identifier:sceneTypes.x.ToolbarLaunch,title:"Toolbar",to:urls.j.toolbarLaunch()}),(0,jsx_runtime.jsx)(NavbarButton,{icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconGear,{}),identifier:sceneTypes.x.Settings,title:"Settings",to:urls.j.settings("project")}),systemStatusHealthy?null:(0,jsx_runtime.jsx)(NavbarButton,{icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconWarning,{}),identifier:sceneTypes.x.SystemStatus,title:"System issue!",to:urls.j.instanceStatus()}),(0,jsx_runtime.jsx)(Popover.J2,{overlay:(0,jsx_runtime.jsx)(AccountPopover.D,{}),visible:isAccountPopoverOpen,onClickOutside:closeAccountPopover,placement:"right-end",className:"min-w-70",children:(0,jsx_runtime.jsx)(NavbarButton,{icon:(0,jsx_runtime.jsx)(ProfilePicture.Y,{user:user,size:"md"}),identifier:"me",title:`Hi${user?.first_name?`, ${user?.first_name}`:""}!`,shortTitle:user?.first_name||user?.email,onClick:toggleAccountPopover})})]})})]}),!mobileLayout&&(0,jsx_runtime.jsx)(Resizer.w,{logicKey:"navbar",placement:"right",containerRef:containerRef,closeThreshold:100,onToggleClosed:shouldBeClosed=>toggleNavCollapsed(shouldBeClosed),onDoubleClick:()=>toggleNavCollapsed()})]}),mobileLayout&&(0,jsx_runtime.jsx)("div",{className:(0,clsx_m.default)("Navbar3000__overlay",!isNavShown&&"Navbar3000--hidden"),onClick:()=>hideNavOnMobile()})]})}var Sidebar=__webpack_require__("./frontend/src/layout/navigation-3000/components/Sidebar.tsx"),TopBar=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/layout/navigation-3000/components/TopBar.scss"),TopBar_default=__webpack_require__.n(TopBar),TopBar_options={};TopBar_options.insert="head",TopBar_options.singleton=!1,injectStylesIntoStyleTag_default()(TopBar_default(),TopBar_options),TopBar_default().locals;var EditableField=__webpack_require__("./frontend/src/lib/components/EditableField/EditableField.tsx"),sidePanelStateLogic=__webpack_require__("./frontend/src/layout/navigation-3000/sidepanel/sidePanelStateLogic.tsx"),metalyticsLogic=__webpack_require__("./frontend/src/lib/components/Metalytics/metalyticsLogic.ts");function MetalyticsSummary(){var _viewCount$views,_viewCount$users;let{instanceId,viewCount,viewCountLoading}=(0,index_esm.useValues)(metalyticsLogic.W),safeViewCount=null!==(_viewCount$views=viewCount?.views)&&void 0!==_viewCount$views?_viewCount$views:0,safeUniqueUsers=null!==(_viewCount$users=viewCount?.users)&&void 0!==_viewCount$users?_viewCount$users:0,{openSidePanel}=(0,index_esm.useActions)(sidePanelStateLogic.f);return!instanceId||viewCountLoading?null:(0,jsx_runtime.jsxs)("span",{className:"relative inline-flex",children:[(0,jsx_runtime.jsx)(src.Jp,{loading:viewCountLoading,icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconPulse,{}),size:"small",onClick:()=>openSidePanel(types.H$.Activity,"metalytics"),tooltip:`${safeUniqueUsers} PostHog members have viewed this a total of ${safeViewCount} times. Click to see more.`}),(0,jsx_runtime.jsx)(src.Mo.Number,{count:safeViewCount,size:"small",position:"top-right",showZero:!1,status:"primary",maxDigits:3})]})}var Popover_Popover=__webpack_require__("./frontend/src/lib/lemon-ui/Popover/Popover.tsx");function TopBar_TopBar(){let{mobileLayout}=(0,index_esm.useValues)(navigationLogic.f),{showNavOnMobile}=(0,index_esm.useActions)(navigation_3000_navigationLogic.f),{breadcrumbs,renameState}=(0,index_esm.useValues)(breadcrumbsLogic.E),{setActionsContainer}=(0,index_esm.useActions)(breadcrumbsLogic.E),[compactionRate,setCompactionRate]=(0,react.useState)(0),effectiveCompactionRate=mobileLayout?0:compactionRate,isOnboarding=lib.router.values.location.pathname.includes("/onboarding/");return(0,react.useLayoutEffect)(()=>{function handleScroll(){let mainElement=document.getElementsByTagName("main")[0],mainScrollTop=mainElement.scrollTop,compactionDistance=Math.min(mainElement.scrollHeight-mainElement.clientHeight,44),newCompactionRate=compactionDistance>0?Math.min(mainScrollTop/compactionDistance,1):0;if(setCompactionRate(newCompactionRate),renameState&&(newCompactionRate>.5&&compactionRate<=.5||newCompactionRate<=.5&&compactionRate>.5)){let[source,target]=newCompactionRate>.5?["large","small"]:["small","large"],sourceEl=document.querySelector(`input[name="item-name-${source}"]`),targetEl=document.querySelector(`input[name="item-name-${target}"]`);sourceEl&&targetEl&&(targetEl.focus(),targetEl.setSelectionRange(sourceEl.selectionStart||0,sourceEl.selectionEnd||0))}}let main=document.getElementsByTagName("main")[0];return main.addEventListener("scroll",handleScroll),()=>main.removeEventListener("scroll",handleScroll)},[compactionRate]),breadcrumbs.length?(0,jsx_runtime.jsx)("div",{className:(0,clsx_m.default)("TopBar3000",0===effectiveCompactionRate&&"TopBar3000--full",1===effectiveCompactionRate&&"TopBar3000--compact"),style:{"--breadcrumbs-compaction-rate":effectiveCompactionRate},children:(0,jsx_runtime.jsxs)("div",{className:"TopBar3000__content",children:[mobileLayout&&(0,jsx_runtime.jsx)(src.Jp,{size:"small",onClick:()=>showNavOnMobile(),icon:(0,jsx_runtime.jsx)(icons.dc,{}),className:"TopBar3000__hamburger"}),(0,jsx_runtime.jsxs)("div",{className:"TopBar3000__breadcrumbs",children:[breadcrumbs.length>1&&(0,jsx_runtime.jsxs)("div",{className:"TopBar3000__trail",children:[breadcrumbs.slice(0,-1).map(breadcrumb=>(0,jsx_runtime.jsxs)(react.Fragment,{children:[(0,jsx_runtime.jsx)(Breadcrumb,{breadcrumb:breadcrumb}),(0,jsx_runtime.jsx)("div",{className:"TopBar3000__separator"})]},joinBreadcrumbKey(breadcrumb.key))),(0,jsx_runtime.jsx)(Breadcrumb,{breadcrumb:breadcrumbs[breadcrumbs.length-1],here:!0,isOnboarding:isOnboarding})]}),(0,jsx_runtime.jsx)(Here,{breadcrumb:breadcrumbs[breadcrumbs.length-1],isOnboarding:isOnboarding})]}),(0,jsx_runtime.jsx)(FlaggedFeature.P,{flag:"metalytics",children:(0,jsx_runtime.jsx)("div",{className:"shrink-1",children:(0,jsx_runtime.jsx)(MetalyticsSummary,{})})}),(0,jsx_runtime.jsx)("div",{className:"TopBar3000__actions border-danger",ref:setActionsContainer})]})}):null}function Breadcrumb(_ref){let nameElement,{breadcrumb,here,isOnboarding}=_ref,{renameState}=(0,index_esm.useValues)(breadcrumbsLogic.E),{tentativelyRename,finishRenaming}=(0,index_esm.useActions)(breadcrumbsLogic.E),[popoverShown,setPopoverShown]=(0,react.useState)(!1),joinedKey=joinBreadcrumbKey(breadcrumb.key),breadcrumbName=isOnboarding&&here?"Onboarding":breadcrumb.name;nameElement=breadcrumb.symbol?breadcrumb.symbol:null!=breadcrumb.name&&breadcrumb.onRename?(0,jsx_runtime.jsx)(EditableField.f,{name:"item-name-small",value:renameState&&renameState[0]===joinedKey?renameState[1]:breadcrumbName,onChange:newName=>tentativelyRename(joinedKey,newName),onSave:newName=>{breadcrumb.onRename?.(newName)},mode:renameState&&renameState[0]===joinedKey?"edit":"view",onModeToggle:newMode=>{"edit"===newMode?tentativelyRename(joinedKey,breadcrumbName):finishRenaming(),setPopoverShown(!1)},placeholder:"Unnamed",compactButtons:"xsmall",editingIndication:"underlined"}):(0,jsx_runtime.jsxs)("span",{className:"flex items-center gap-1.5",children:[breadcrumbName||(0,jsx_runtime.jsx)("i",{children:"Unnamed"}),"tag"in breadcrumb&&breadcrumb.tag&&(0,jsx_runtime.jsx)(src.oe,{size:"small",children:breadcrumb.tag})]});let Component=breadcrumb.path?Link.r:"div",breadcrumbContent=(0,jsx_runtime.jsxs)(Component,{className:(0,clsx_m.default)("TopBar3000__breadcrumb",popoverShown&&"TopBar3000__breadcrumb--open",(breadcrumb.path||breadcrumb.popover)&&"TopBar3000__breadcrumb--actionable",here&&"TopBar3000__breadcrumb--here"),onClick:()=>{breadcrumb.popover&&setPopoverShown(!popoverShown)},"data-attr":`breadcrumb-${joinedKey}`,to:breadcrumb.path,children:[nameElement,breadcrumb.popover&&!breadcrumb.symbol&&(0,jsx_runtime.jsx)(posthog_icons_es.IconChevronDown,{})]});return breadcrumb.popover?(0,jsx_runtime.jsx)(Popover_Popover.J2,{...breadcrumb.popover,visible:popoverShown,onClickOutside:()=>{popoverShown&&setPopoverShown(!1)},onClickInside:()=>{popoverShown&&setPopoverShown(!1)},children:breadcrumbContent}):breadcrumbContent}function Here(_ref2){let{breadcrumb,isOnboarding}=_ref2,{renameState}=(0,index_esm.useValues)(breadcrumbsLogic.E),{tentativelyRename,finishRenaming}=(0,index_esm.useActions)(breadcrumbsLogic.E),joinedKey=joinBreadcrumbKey(breadcrumb.key),hereName=isOnboarding?"Onboarding":breadcrumb.name;return(0,jsx_runtime.jsx)("h1",{className:"TopBar3000__here","data-attr":"top-bar-name",children:null==breadcrumb.name?(0,jsx_runtime.jsx)(src.yW,{className:"w-40 h-4"}):breadcrumb.onRename?(0,jsx_runtime.jsx)(EditableField.f,{name:"item-name-large",value:renameState&&renameState[0]===joinedKey?renameState[1]:hereName,onChange:newName=>{tentativelyRename(joinedKey,newName),breadcrumb.forceEditMode&&breadcrumb.onRename?.(newName)},onSave:newName=>{breadcrumb.onRename?.(newName)},mode:breadcrumb.forceEditMode||renameState&&renameState[0]===joinedKey?"edit":"view",onModeToggle:breadcrumb.forceEditMode?void 0:newMode=>{"edit"===newMode?tentativelyRename(joinedKey,hereName):finishRenaming()},placeholder:"Unnamed",compactButtons:"xsmall",editingIndication:"underlined",autoFocus:!0}):(0,jsx_runtime.jsx)("span",{children:hereName})})}function joinBreadcrumbKey(key){return Array.isArray(key)?key.map(String).join(":"):String(key)}var SidePanel=__webpack_require__("./frontend/src/layout/navigation-3000/sidepanel/SidePanel.tsx");function Navigation_Navigation(_ref){let{children,sceneConfig}=_ref,{theme}=(0,index_esm.useValues)(themeLogic.b),{mobileLayout}=(0,index_esm.useValues)(navigationLogic.f),{activeNavbarItem,mode}=(0,index_esm.useValues)(navigation_3000_navigationLogic.f);return"full"!==mode?(0,jsx_runtime.jsxs)("div",{className:"Navigation3000 flex-col",style:theme?.mainStyle,children:["minimal"===mode?(0,jsx_runtime.jsx)(MinimalNavigation,{}):null,(0,jsx_runtime.jsx)("main",{children:children})]}):(0,jsx_runtime.jsxs)("div",{className:(0,clsx_m.default)("Navigation3000",mobileLayout&&"Navigation3000--mobile"),style:theme?.mainStyle,children:[(0,jsx_runtime.jsx)(Navbar,{}),(0,jsx_runtime.jsx)(FlaggedFeature.P,{flag:constants.y8.POSTHOG_3000_NAV,children:activeNavbarItem&&(0,jsx_runtime.jsx)(Sidebar.Y,{navbarItem:activeNavbarItem},activeNavbarItem.identifier)}),(0,jsx_runtime.jsxs)("main",{children:[sceneConfig?.layout!=="app-raw-no-header"&&(0,jsx_runtime.jsx)(TopBar_TopBar,{}),(0,jsx_runtime.jsxs)("div",{className:(0,clsx_m.default)("Navigation3000__scene",sceneConfig?.layout==="app-raw"&&"Navigation3000__scene--raw",sceneConfig?.layout==="app-raw-no-header"&&"Navigation3000__scene--raw-no-header",sceneConfig?.layout==="app-canvas"&&"Navigation3000__scene--canvas"),children:[!sceneConfig?.hideBillingNotice&&(0,jsx_runtime.jsx)(BillingAlertsV2,{}),!sceneConfig?.hideProjectNotice&&(0,jsx_runtime.jsx)(ProjectNotice,{}),children]})]}),(0,jsx_runtime.jsx)(SidePanel.W,{}),(0,jsx_runtime.jsx)(CommandBar.X,{})]})}var actionsModel=__webpack_require__("./frontend/src/models/actionsModel.ts"),cohortsModel=__webpack_require__("./frontend/src/models/cohortsModel.ts"),preflightLogic=__webpack_require__("./frontend/src/scenes/PreflightCheck/preflightLogic.tsx");window.process=constants.TH;let appLogic=(0,index_esm.kea)([(0,index_esm.path)(["scenes","App"]),(0,index_esm.connect)([teamLogic.H,organizationLogic.p,actionsModel.D,cohortsModel.Q]),(0,index_esm.actions)({enableDelayedSpinner:!0,ignoreFeatureFlags:!0}),(0,index_esm.reducers)({showingDelayedSpinner:[!1,{enableDelayedSpinner:()=>!0}],featureFlagsTimedOut:[!1,{ignoreFeatureFlags:()=>!0}]}),(0,index_esm.selectors)({showApp:[s=>[userLogic.userLogic.selectors.userLoading,userLogic.userLogic.selectors.user,featureFlagLogic.h.selectors.receivedFeatureFlags,s.featureFlagsTimedOut,preflightLogic.preflightLogic.selectors.preflightLoading,preflightLogic.preflightLogic.selectors.preflight],(userLoading,user,receivedFeatureFlags,featureFlagsTimedOut,preflightLoading,preflight)=>(!userLoading||user)&&(receivedFeatureFlags||featureFlagsTimedOut)&&(!preflightLoading||preflight)]}),(0,index_esm.events)(_ref=>{let{actions,cache}=_ref;return{afterMount:()=>{cache.spinnerTimeout=window.setTimeout(()=>actions.enableDelayedSpinner(),1e3),cache.featureFlagTimeout=window.setTimeout(()=>actions.ignoreFeatureFlags(),3e3)},beforeUnmount:()=>{window.clearTimeout(cache.spinnerTimeout),window.clearTimeout(cache.featureFlagTimeout)}}})]);function App(){let{showApp,showingDelayedSpinner}=(0,index_esm.useValues)(appLogic);return((0,index_esm.useMountedLogic)((0,sceneLogic.k)({scenes:appScenes})),(0,index_esm.useMountedLogic)(apiStatusLogic.W),(0,useThemedHtml.F)(),showApp)?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(LoadedSceneLogics,{}),(0,jsx_runtime.jsx)(AppScene,{})]}):(0,jsx_runtime.jsx)(Spinner.t,{sceneLevel:!0,visible:showingDelayedSpinner})}function LoadedSceneLogic(_ref2){let{scene}=_ref2;if(!scene.logic)throw Error("Loading scene without a logic");return(0,index_esm.useMountedLogic)(scene.logic(scene.paramsToProps?.(scene.sceneParams))),null}function LoadedSceneLogics(){let{loadedScenes}=(0,index_esm.useValues)(sceneLogic.k);return(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:Object.entries(loadedScenes).filter(_ref3=>{let[,{logic}]=_ref3;return!!logic}).map(_ref4=>{let[key,loadedScene]=_ref4;return(0,jsx_runtime.jsx)(LoadedSceneLogic,{scene:loadedScene},key)})})}function AppScene(){let sceneElement;(0,index_esm.useMountedLogic)(breadcrumbsLogic.E);let{user}=(0,index_esm.useValues)(userLogic.userLogic),{activeScene,activeLoadedScene,sceneParams,params,loadedScenes,sceneConfig}=(0,index_esm.useValues)(sceneLogic.k),{showingDelayedSpinner}=(0,index_esm.useValues)(appLogic),{isDarkModeOn}=(0,index_esm.useValues)(themeLogic.b),toastContainer=(0,jsx_runtime.jsx)(react_toastify_esm.Ix,{autoClose:6e3,transition:react_toastify_esm.Mi,closeOnClick:!1,draggable:!1,closeButton:(0,jsx_runtime.jsx)(LemonToast.ty,{}),position:"bottom-right",theme:isDarkModeOn?"dark":"light"});if(activeScene&&activeScene in loadedScenes){let{component:SceneComponent}=loadedScenes[activeScene];sceneElement=(0,jsx_runtime.jsx)(SceneComponent,{user:user,...params})}else sceneElement=(0,jsx_runtime.jsx)(Spinner.t,{sceneLevel:!0,visible:showingDelayedSpinner});let wrappedSceneElement=(0,jsx_runtime.jsx)(ErrorBoundary.S,{tags:{feature:activeScene},children:activeLoadedScene?.logic?(0,jsx_runtime.jsx)(index_esm.BindLogic,{logic:activeLoadedScene.logic,props:activeLoadedScene.paramsToProps?.(sceneParams)||{},children:sceneElement}):sceneElement},activeScene);return user?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(Navigation_Navigation,{sceneConfig:sceneConfig,children:wrappedSceneElement}),toastContainer,(0,jsx_runtime.jsx)(GlobalModals.B,{})]}):sceneConfig?.onlyUnauthenticated||sceneConfig?.allowUnauthenticated?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[wrappedSceneElement,toastContainer]}):null}},"./frontend/src/scenes/PreflightCheck/preflightLogic.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{preflightLogic:()=>preflightLogic});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_loaders__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea-loaders@3.0.0_kea@3.1.5/node_modules/kea-loaders/lib/index.js"),kea_router__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),lib_api__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/api.ts"),lib_utils_getAppContext__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/utils/getAppContext.ts"),posthog_js__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/.pnpm/posthog-js@1.205.0/node_modules/posthog-js/dist/module.js"),scenes_urls__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/scenes/urls.ts");let preflightLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(["scenes","PreflightCheck","preflightLogic"]),(0,kea_loaders__WEBPACK_IMPORTED_MODULE_1__.loaders)({preflight:[null,{loadPreflight:async()=>{let response=await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.get("_preflight/");return response}}]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)({registerInstrumentationProps:!0,setPreflightMode:(mode,noReload)=>({mode,noReload}),handlePreflightFinished:!0,setChecksManuallyExpanded:expanded=>({expanded}),revalidatePreflight:!0}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)({preflightMode:[null,{setPreflightMode:(_,_ref)=>{let{mode}=_ref;return mode}}],areChecksManuallyExpanded:[null,{setChecksManuallyExpanded:(_,_ref2)=>{let{expanded}=_ref2;return expanded}}]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.selectors)({checks:[s=>[s.preflight,s.preflightMode],(preflight,preflightMode)=>{let preflightItems=[{id:"database",name:"Application database \xb7 Postgres",status:preflight?.db?"validated":"error"},{id:"clickhouse",name:"Analytics database \xb7 ClickHouse",status:preflight?.clickhouse?"validated":"error"},{id:"kafka",name:"Queue \xb7 Kafka",status:preflight?.kafka?"validated":"error"},{id:"backend",name:"Backend server \xb7 Django",status:preflight?.django?"validated":"error"},{id:"redis",name:"Cache \xb7 Redis",status:preflight?.redis?"validated":"experimentation"===preflightMode?"warning":"error",caption:preflight?.redis||"experimentation"!==preflightMode?void 0:"Required in production environments"},{id:"celery",name:"Background jobs \xb7 Celery",status:preflight?.celery?"validated":"experimentation"===preflightMode?"warning":"error",caption:preflight?.celery||"experimentation"!==preflightMode?void 0:"Required in production environments"},{id:"plugins",name:"Plugin server \xb7 Node",status:preflight?.plugins?"validated":"experimentation"===preflightMode?"warning":"error",caption:preflight?.plugins||"experimentation"!==preflightMode?void 0:"Required in production environments"},{id:"frontend",name:"Frontend build \xb7 Webpack",status:"validated"},{id:"tls",name:"SSL/TLS certificate",status:"https:"===window.location.protocol?"validated":"experimentation"===preflightMode?"optional":"warning",caption:"https:"!==window.location.protocol&&"experimentation"===preflightMode?"Not required for experimentation mode":"Set up before ingesting real user data"}];return(preflight?.object_storage||preflight?.is_debug)&&preflightItems.push({id:"object_storage",name:"Object Storage",status:preflight?.object_storage?"validated":"warning",caption:preflight?.object_storage?void 0:"Some features will not work without object storage"}),preflightItems}],checksSummary:[s=>[s.checks],checks=>{let statusCounts={};if(checks.length>0)for(let check of checks)statusCounts[check.status]=(statusCounts[check.status]||0)+1;let summaryString="",summaryStatus="validated";return statusCounts.validated&&(summaryString+=`${statusCounts.validated} successful, `),statusCounts.warning&&(summaryString+=`${statusCounts.warning} warning${statusCounts.warning>1?"s":""}, `,summaryStatus="warning"),statusCounts.error&&(summaryString+=`${statusCounts.error} error${statusCounts.error>1?"s":""}, `,summaryStatus="error"),statusCounts.optional&&(summaryString+=`${statusCounts.optional} optional, `),{summaryString:summaryString.slice(0,-2),summaryStatus:summaryStatus}}],areChecksExpanded:[s=>[s.checksSummary,s.areChecksManuallyExpanded],(checksSummary,areChecksManuallyExpanded)=>null!=areChecksManuallyExpanded?areChecksManuallyExpanded:checksSummary?.summaryStatus!=="validated"],socialAuthAvailable:[s=>[s.preflight],preflight=>!!(preflight&&Object.values(preflight.available_social_auth_providers).filter(i=>i).length)],objectStorageAvailable:[s=>[s.preflight],preflight=>!!(preflight&&preflight.object_storage)],realm:[s=>[s.preflight],preflight=>preflight?preflight.realm:null],siteUrlMisconfigured:[s=>[s.preflight],preflight=>!1],configOptions:[s=>[s.preflight],preflight=>preflight?[{key:"site_url",label:"Site URL"}].map(config=>({key:config.key,metric:config.label,value:preflight[config.key]})):[]],isCloudOrDev:[s=>[s.preflight],preflight=>preflight?.cloud||preflight?.is_debug],isCloud:[s=>[s.preflight],preflight=>preflight?.cloud],isDev:[s=>[s.preflight],preflight=>preflight?.is_debug],disableNavigationHooks:[s=>[s.preflight],preflight=>preflight?.dev_disable_navigation_hooks]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.listeners)(_ref3=>{let{values,actions}=_ref3;return{handlePreflightFinished:()=>{kea_router__WEBPACK_IMPORTED_MODULE_2__.router.actions.push(scenes_urls__WEBPACK_IMPORTED_MODULE_6__.j.signup())},loadPreflightSuccess:()=>{actions.registerInstrumentationProps(),actions.setChecksManuallyExpanded(values.areChecksManuallyExpanded||null)},registerInstrumentationProps:async(_,breakpoint)=>{if(await breakpoint(100),posthog_js__WEBPACK_IMPORTED_MODULE_5__.ZP&&values.preflight){let appContext=(0,lib_utils_getAppContext__WEBPACK_IMPORTED_MODULE_4__.Fj)();posthog_js__WEBPACK_IMPORTED_MODULE_5__.ZP.register({realm:values.realm,email_service_available:values.preflight.email_service_available,slack_service_available:values.preflight.slack_service?.available,commit_sha:appContext?.commit_sha}),values.preflight.site_url&&posthog_js__WEBPACK_IMPORTED_MODULE_5__.ZP.group("instance",values.preflight.site_url,{site_url:values.preflight.site_url})}},setPreflightMode:async _ref4=>{let{mode,noReload}=_ref4;mode&&!noReload&&actions.loadPreflight()},revalidatePreflight:()=>{let tlsCheckResult=values.checks.find(check=>"tls"===check.id);"warning"===tlsCheckResult.status?window.location.reload():actions.loadPreflight()}}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.events)(_ref5=>{let{actions,values}=_ref5;return{afterMount:()=>{let appContext=(0,lib_utils_getAppContext__WEBPACK_IMPORTED_MODULE_4__.Fj)(),preflight=appContext?.preflight;preflight?actions.loadPreflightSuccess(preflight):values.preflight||actions.loadPreflight()}}}),(0,kea_router__WEBPACK_IMPORTED_MODULE_2__.actionToUrl)(_ref6=>{let{values}=_ref6;return{setPreflightMode:()=>["/preflight",{mode:values.preflightMode}]}}),(0,kea_router__WEBPACK_IMPORTED_MODULE_2__.urlToAction)(_ref7=>{let{actions,values}=_ref7;return{"/preflight":(_,_ref8)=>{let{mode}=_ref8;values.preflightMode!==mode&&actions.setPreflightMode(null!=mode?mode:null,!0)}}})])},"./frontend/src/scenes/actions/EventName.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{C:()=>LemonEventName});var lib_components_PropertyKeyInfo__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/src/lib/components/PropertyKeyInfo.tsx"),lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/lib/components/TaxonomicFilter/types.ts"),lib_components_TaxonomicPopover_TaxonomicPopover__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/components/TaxonomicPopover/TaxonomicPopover.tsx"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function LemonEventName(_ref){let{value,onChange,disabled,placeholder="Select an event",allEventsOption}=_ref;return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(lib_components_TaxonomicPopover_TaxonomicPopover__WEBPACK_IMPORTED_MODULE_2__.b,{groupType:lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_1__.t.Events,onChange:onChange,disabled:disabled,value:value,type:"secondary",placeholder:placeholder,"data-attr":"event-name-box",renderValue:v=>null!==v?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(lib_components_PropertyKeyInfo__WEBPACK_IMPORTED_MODULE_0__.T,{value:v,disablePopover:!0,type:lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_1__.t.Events}):null,allowClear:"clear"===allEventsOption,excludedProperties:"explicit"!==allEventsOption?{events:[null]}:void 0,size:"small"})}},"./frontend/src/scenes/actions/NewActionButton.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{O:()=>NewActionButton});var _posthog_icons__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/@posthog+icons@0.9.2_react-dom@18.2.0_react@18.2.0/node_modules/@posthog/icons/dist/posthog-icons.es.js"),_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),kea_router__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),lib_components_AuthorizedUrlList_AuthorizedUrlList__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/components/AuthorizedUrlList/AuthorizedUrlList.tsx"),lib_components_AuthorizedUrlList_authorizedUrlListLogic__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/components/AuthorizedUrlList/authorizedUrlListLogic.ts"),lib_lemon_ui_LemonButton__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonButton/index.ts"),react__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/index.js"),scenes_urls__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/scenes/urls.ts"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function NewActionButton(_ref){let{onSelectOption}=_ref,[visible,setVisible]=(0,react__WEBPACK_IMPORTED_MODULE_6__.useState)(!1),[appUrlsVisible,setAppUrlsVisible]=(0,react__WEBPACK_IMPORTED_MODULE_6__.useState)(!1);return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.Fragment,{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(lib_lemon_ui_LemonButton__WEBPACK_IMPORTED_MODULE_5__.J,{type:"primary",onClick:()=>setVisible(!0),"data-attr":"create-action",children:"New action"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__.fQ,{isOpen:visible,onClose:()=>{setVisible(!1),setAppUrlsVisible(!1)},title:"Create new action",footer:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.Fragment,{children:[appUrlsVisible&&(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(lib_lemon_ui_LemonButton__WEBPACK_IMPORTED_MODULE_5__.J,{type:"secondary",onClick:()=>setAppUrlsVisible(!1),children:"Back"},"back-button"),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(lib_lemon_ui_LemonButton__WEBPACK_IMPORTED_MODULE_5__.J,{type:"secondary",onClick:()=>{setVisible(!1),setAppUrlsVisible(!1)},children:"Cancel"},"cancel-button")]}),children:appUrlsVisible?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)("div",{className:"max-w-160",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(lib_components_AuthorizedUrlList_AuthorizedUrlList__WEBPACK_IMPORTED_MODULE_3__.t,{type:lib_components_AuthorizedUrlList_authorizedUrlListLogic__WEBPACK_IMPORTED_MODULE_4__.uw.TOOLBAR_URLS})}):(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("div",{className:"space-y-2",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(lib_lemon_ui_LemonButton__WEBPACK_IMPORTED_MODULE_5__.J,{type:"secondary",icon:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_posthog_icons__WEBPACK_IMPORTED_MODULE_0__.IconSearch,{}),onClick:()=>setAppUrlsVisible(!0),size:"large",fullWidth:!0,center:!0,"data-attr":"new-action-inspect",children:"Inspect element on your site"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(lib_lemon_ui_LemonButton__WEBPACK_IMPORTED_MODULE_5__.J,{type:"secondary",icon:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_posthog_icons__WEBPACK_IMPORTED_MODULE_0__.IconPencil,{}),onClick:()=>{onSelectOption?.(),kea_router__WEBPACK_IMPORTED_MODULE_2__.router.actions.push(scenes_urls__WEBPACK_IMPORTED_MODULE_7__.j.createAction())},size:"large",fullWidth:!0,center:!0,"data-attr":"new-action-pageview",children:"From event or pageview"})]})})]})}},"./frontend/src/scenes/actions/actionsLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{J:()=>actionsFuse,M:()=>actionsLogic});var fuse_js__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./node_modules/.pnpm/fuse.js@6.6.2/node_modules/fuse.js/dist/fuse.esm.js"),kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_subscriptions__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea-subscriptions@3.0.1_kea@3.1.5/node_modules/kea-subscriptions/lib/index.js"),lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),scenes_data_management_DataManagementScene__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/scenes/data-management/DataManagementScene.tsx"),scenes_sceneTypes__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/scenes/sceneTypes.ts"),scenes_urls__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/scenes/urls.ts"),scenes_userLogic__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/scenes/userLogic.ts"),_models_actionsModel__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/models/actionsModel.ts");let actionsFuse=new fuse_js__WEBPACK_IMPORTED_MODULE_8__.Z([],{keys:[{name:"name",weight:2},"description","tags"],threshold:.3,ignoreLocation:!0,includeMatches:!0}),actionsLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(["scenes","actions","actionsLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.connect)(()=>({values:[(0,_models_actionsModel__WEBPACK_IMPORTED_MODULE_7__.D)({params:"include_count=1"}),["actions","actionsLoading"],scenes_userLogic__WEBPACK_IMPORTED_MODULE_6__.userLogic,["user"],lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_2__.h,["featureFlags"]]})),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)({setFilterType:filterType=>({filterType}),setSearchTerm:searchTerm=>({searchTerm})}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)({filterType:["all",{persist:!0},{setFilterType:(_,_ref)=>{let{filterType}=_ref;return filterType}}],searchTerm:["",{setSearchTerm:(_,_ref2)=>{let{searchTerm}=_ref2;return searchTerm}}]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.selectors)({actionsFiltered:[s=>[s.actions,s.filterType,s.searchTerm,s.user],(actions,filterType,searchTerm,user)=>{let data=actions;return searchTerm&&(data=actionsFuse.search(searchTerm).map(result=>result.item)),"me"===filterType&&(data=data.filter(item=>item.created_by?.uuid===user?.uuid)),data}],breadcrumbs:[()=>[],()=>[{key:scenes_sceneTypes__WEBPACK_IMPORTED_MODULE_4__.x.DataManagement,name:"Data management",path:scenes_urls__WEBPACK_IMPORTED_MODULE_5__.j.eventDefinitions()},{key:scenes_data_management_DataManagementScene__WEBPACK_IMPORTED_MODULE_3__.DataManagementTab.Actions,name:"Actions",path:scenes_urls__WEBPACK_IMPORTED_MODULE_5__.j.actions()}]],shouldShowEmptyState:[s=>[s.actionsFiltered,s.actionsLoading,s.searchTerm],(actionsFiltered,actionsLoading,searchTerm)=>0==actionsFiltered.length&&!actionsLoading&&!searchTerm.length]}),(0,kea_subscriptions__WEBPACK_IMPORTED_MODULE_1__.Vt)({actions:actions=>{actionsFuse.setCollection(actions)}})])},"./frontend/src/scenes/activity/explore/createActionFromEvent.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{H8:()=>elementsToAction,YG:()=>createActionFromEvent});var kea_router__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),lib_actionUtils__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/lib/actionUtils.ts"),lib_api__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/api.ts"),lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonToast/LemonToast.tsx"),lib_lemon_ui_Link__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/lemon-ui/Link/index.ts"),lib_utils__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/lib/utils.tsx"),scenes_urls__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/scenes/urls.ts"),_types__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/types.ts"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function elementsToAction(elements){return{href:elements[0].href,text:elements[0].text,...elements[0].href||elements[0].text?"":{selector:function recurseSelector(elements,parts,index){let element=elements[index];return element.attr_id?`[id="${element.attr_id}"] > ${parts}`:(parts=index>0?element.tag_name+" > "+parts:element.tag_name,10!==index&&elements[index+1])?recurseSelector(elements,parts,index+1):parts}(elements,"",0)}}}async function createActionFromEvent(teamId,event,increment,dataAttributes){let action,recurse=arguments.length>4&&void 0!==arguments[4]?arguments[4]:createActionFromEvent,actionData={name:"",steps:[{event:event.event,..."$pageview"===event.event||"$autocapture"===event.event?{url:event.properties.$current_url,url_matching:"exact"}:{},...event.elements?.length>0?elementsToAction(event.elements):{}}]};if("$autocapture"===event.event){if(actionData.name=(0,lib_utils__WEBPACK_IMPORTED_MODULE_5__.Sh)(event),dataAttributes?.length>0&&event.elements.length>0)for(let i=0;i0&&!lib_actionUtils__WEBPACK_IMPORTED_MODULE_1__.OK.includes(element.tag_name)){let clickedTagName=event.elements[0].tag_name;selector=`${selector} > ${clickedTagName||"*"}`}actionData.steps?.[0]&&(actionData.steps[0].selector=selector);break}}}else"$pageview"===event.event?actionData.name=`Pageview on ${new URL(event.properties.$current_url).pathname}`:actionData.name=`${event.event} event`;increment&&(actionData.name=actionData.name+" "+increment),"submit"===event.properties.$event_type&&actionData.steps?.length&&(actionData.steps[0].properties=[{key:"$event_type",value:"submit",type:_types__WEBPACK_IMPORTED_MODULE_7__.FT.Event,operator:_types__WEBPACK_IMPORTED_MODULE_7__.WV.Exact}]);try{action=await lib_api__WEBPACK_IMPORTED_MODULE_2__.ZP.actions.create(actionData)}catch(response){if("validation_error"===response.type&&"unique"===response.code&&increment<30)return recurse(teamId,event,increment+1,dataAttributes,recurse);lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_3__.UJ.error((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.Fragment,{children:["Couldn't create this action. You can try"," ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(lib_lemon_ui_Link__WEBPACK_IMPORTED_MODULE_4__.r,{to:scenes_urls__WEBPACK_IMPORTED_MODULE_6__.j.createAction(),children:"manually creating an action instead."})]}));return}action.id&&(kea_router__WEBPACK_IMPORTED_MODULE_0__.router.actions.push(scenes_urls__WEBPACK_IMPORTED_MODULE_6__.j.action(action.id)),lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_3__.UJ.success("Action created"))}},"./frontend/src/scenes/activity/explore/defaults.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{w:()=>getDefaultEventsSceneQuery});var _queries_nodes_DataTable_utils__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/src/queries/nodes/DataTable/utils.ts"),_queries_schema__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/queries/schema.ts");let getDefaultEventsSceneQuery=properties=>({kind:_queries_schema__WEBPACK_IMPORTED_MODULE_1__.OH.DataTableNode,full:!0,source:{kind:_queries_schema__WEBPACK_IMPORTED_MODULE_1__.OH.EventsQuery,select:(0,_queries_nodes_DataTable_utils__WEBPACK_IMPORTED_MODULE_0__.Qi)(_queries_schema__WEBPACK_IMPORTED_MODULE_1__.OH.EventsQuery),orderBy:["timestamp DESC"],after:"-24h",...properties?{properties}:{}},propertiesViaUrl:!0,showSavedQueries:!0,showPersistentColumnConfigurator:!0})},"./frontend/src/scenes/activity/live/liveEventsTableLogic.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{z:()=>liveEventsTableLogic});var _microsoft_fetch_event_source__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/.pnpm/@microsoft+fetch-event-source@2.0.1/node_modules/@microsoft/fetch-event-source/lib/esm/fetch.js"),_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),kea__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),lib_utils_apiHost__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/utils/apiHost.ts"),scenes_teamLogic__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/scenes/teamLogic.tsx"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let ERROR_TOAST_ID="live-stream-error",liveEventsTableLogic=(0,kea__WEBPACK_IMPORTED_MODULE_1__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_1__.path)(["scenes","activity","live-events","liveEventsTableLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_1__.props)({}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.connect)({values:[scenes_teamLogic__WEBPACK_IMPORTED_MODULE_2__.H,["currentTeam"]]}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.actions)(()=>({addEvents:events=>({events}),clearEvents:!0,setFilters:filters=>({filters}),updateEventsConnection:!0,pauseStream:!0,resumeStream:!0,setCurEventProperties:curEventProperties=>({curEventProperties}),setClientSideFilters:clientSideFilters=>({clientSideFilters}),pollStats:!0,setStats:stats=>({stats}),addEventHost:eventHost=>({eventHost})})),(0,kea__WEBPACK_IMPORTED_MODULE_1__.reducers)({events:[[],{addEvents:(state,_ref)=>{let{events}=_ref,newState=[...events,...state];return newState.length>500?newState.slice(0,400):newState},clearEvents:()=>[]}],filters:[{eventType:null},{setFilters:(state,_ref2)=>{let{filters}=_ref2;return{...state,...filters}}}],clientSideFilters:[{},{setClientSideFilters:(_,_ref3)=>{let{clientSideFilters}=_ref3;return clientSideFilters}}],streamPaused:[!1,{pauseStream:()=>!0,resumeStream:()=>!1}],curEventProperties:[[],{setCurEventProperties:(_,_ref4)=>{let{curEventProperties}=_ref4;return curEventProperties}}],stats:[{users_on_product:null},{setStats:(_,_ref5)=>{let{stats}=_ref5;return stats}}],lastBatchTimestamp:[null,{addEvents:(state,_ref6)=>{let{events}=_ref6;return events.length>0?performance.now():state}}],eventHosts:[[],{addEventHost:(state,_ref7)=>{let{eventHost}=_ref7;return state.includes(eventHost)?state:[...state,eventHost]}}]}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.selectors)(_ref8=>{let{selectors}=_ref8;return{eventCount:[()=>[selectors.events],events=>events.length],filteredEvents:[s=>[s.events,s.clientSideFilters],(events,clientSideFilters)=>events.filter(event=>Object.entries(clientSideFilters).every(_ref9=>{let[key,value]=_ref9;return event[key]===value}))]}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.listeners)(_ref10=>{let{actions,values,cache,props}=_ref10;return{setFilters:()=>{actions.clearEvents(),actions.updateEventsConnection()},updateEventsConnection:async()=>{if(cache.eventSourceController&&cache.eventSourceController.abort(),values.streamPaused||!values.currentTeam)return;let{eventType}=values.filters,url=new URL(`${(0,lib_utils_apiHost__WEBPACK_IMPORTED_MODULE_4__.K)()}/events`);eventType&&url.searchParams.append("eventType",eventType),cache.batch=[],cache.eventSourceController=new AbortController,await (0,_microsoft_fetch_event_source__WEBPACK_IMPORTED_MODULE_5__.L)(url.toString(),{headers:{Authorization:`Bearer ${values.currentTeam.live_events_token}`},signal:cache.eventSourceController.signal,onmessage:event=>{_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.dismiss(ERROR_TOAST_ID);let eventData=JSON.parse(event.data);cache.batch.push(eventData),(cache.batch.length>=10||performance.now()-(values.lastBatchTimestamp||0)>300)&&(actions.addEvents(cache.batch),cache.batch.length=0)},onerror:error=>{!cache.hasShownLiveStreamErrorToast&&props.showLiveStreamErrorToast&&(console.error("Failed to poll events. You likely have no events coming in.",error),_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.error(`No live events found. Continuing to retry in the background…`,{icon:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.$j,{}),toastId:ERROR_TOAST_ID,autoClose:!1}),cache.hasShownLiveStreamErrorToast=!0)}})},pauseStream:()=>{cache.eventSourceController&&cache.eventSourceController.abort()},resumeStream:()=>{actions.updateEventsConnection()},pollStats:async()=>{try{if(!values.currentTeam)return;let response=await fetch(`${(0,lib_utils_apiHost__WEBPACK_IMPORTED_MODULE_4__.K)()}/stats`,{headers:{Authorization:`Bearer ${values.currentTeam.live_events_token}`}}),data=await response.json();actions.setStats(data)}catch(error){console.error("Failed to poll stats:",error)}},addEvents:_ref11=>{let{events}=_ref11;if(events.length>0){let event=events[0],eventUrl=event.properties?.$current_url;if(eventUrl){let eventHost=new URL(eventUrl).host,eventProtocol=new URL(eventUrl).protocol;actions.addEventHost(`${eventProtocol}//${eventHost}`)}}}}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.events)(_ref12=>{let{actions,cache}=_ref12;return{afterMount:()=>{actions.updateEventsConnection(),cache.statsInterval=setInterval(()=>{actions.pollStats()},1500)},beforeUnmount:()=>{cache.eventSourceController&&cache.eventSourceController.abort(),cache.statsInterval&&clearInterval(cache.statsInterval)}}})])},"./frontend/src/scenes/annotations/AnnotationModal.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{h:()=>AnnotationModal,i:()=>NewAnnotationButton});var _posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),kea__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_forms__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-forms@3.2.0_kea@3.1.5/node_modules/kea-forms/lib/index.js"),lib_lemon_ui_LemonField__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonField/index.ts"),lib_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/utils.tsx"),scenes_urls__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/scenes/urls.ts"),_types__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/types.ts"),_annotationModalLogic__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/scenes/annotations/annotationModalLogic.ts"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function NewAnnotationButton(){let{openModalToCreateAnnotation}=(0,kea__WEBPACK_IMPORTED_MODULE_1__.useActions)(_annotationModalLogic__WEBPACK_IMPORTED_MODULE_7__.bE);return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.Jp,{type:"primary","data-attr":"create-annotation",onClick:()=>openModalToCreateAnnotation(),children:"New annotation"})}function AnnotationModal(_ref){let{overlayRef,contentRef}=_ref,{isModalOpen,existingModalAnnotation,annotationModal,isAnnotationModalSubmitting,onSavedInsight,timezone}=(0,kea__WEBPACK_IMPORTED_MODULE_1__.useValues)(_annotationModalLogic__WEBPACK_IMPORTED_MODULE_7__.bE),{closeModal,deleteAnnotation,submitAnnotationModal}=(0,kea__WEBPACK_IMPORTED_MODULE_1__.useActions)(_annotationModalLogic__WEBPACK_IMPORTED_MODULE_7__.bE);return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.fQ,{overlayRef:overlayRef,contentRef:contentRef,isOpen:isModalOpen,onClose:closeModal,title:existingModalAnnotation?"Edit annotation":"New annotation",description:"Use annotations to add context to insights and dashboards.",footer:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("div",{className:"flex-1 flex items-center justify-between",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)("div",{className:"flex items-center gap-2",children:existingModalAnnotation&&(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.Jp,{form:"annotation-modal-form",type:"secondary",status:"danger",onClick:()=>{deleteAnnotation(existingModalAnnotation),closeModal()},"data-attr":"delete-annotation",children:"Delete annotation"})}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("div",{className:"flex items-center gap-2",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.Jp,{form:"annotation-modal-form",type:"secondary",onClick:closeModal,children:"Cancel"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.Jp,{form:"annotation-modal-form",htmlType:"submit",type:"primary",loading:isAnnotationModalSubmitting,"data-attr":"create-annotation-submit",children:existingModalAnnotation?"Edit":"Create"})]})]}),width:512,children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)(kea_forms__WEBPACK_IMPORTED_MODULE_2__.Form,{logic:_annotationModalLogic__WEBPACK_IMPORTED_MODULE_7__.bE,formKey:"annotationModal",id:"annotation-modal-form",enableFormOnSubmit:!0,className:"space-y-4",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("div",{className:"flex gap-2",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(lib_lemon_ui_LemonField__WEBPACK_IMPORTED_MODULE_3__.D,{name:"dateMarker",label:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("span",{children:["Date\xa0and\xa0time (",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.rU,{to:scenes_urls__WEBPACK_IMPORTED_MODULE_5__.j.settings("project","date-and-time"),target:"_blank",children:(0,lib_utils__WEBPACK_IMPORTED_MODULE_4__.ig)(timezone)}),")"]}),className:"flex-1",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.he,{granularity:"minute"})}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(lib_lemon_ui_LemonField__WEBPACK_IMPORTED_MODULE_3__.D,{name:"scope",label:"Scope",className:"flex-1",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.Yv,{options:[{value:_types__WEBPACK_IMPORTED_MODULE_6__.dc.Insight,label:_annotationModalLogic__WEBPACK_IMPORTED_MODULE_7__.B3[_types__WEBPACK_IMPORTED_MODULE_6__.dc.Insight],tooltip:existingModalAnnotation?.insight_name?existingModalAnnotation.insight_name:existingModalAnnotation?.insight_derived_name?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)("i",{children:existingModalAnnotation.insight_derived_name}):void 0,disabledReason:!onSavedInsight&&"You need to save the insight first."||(existingModalAnnotation?!existingModalAnnotation?.dashboard_item&&"To select this scope, open this annotation on the target insight":void 0),sideIcon:existingModalAnnotation?.insight_short_id?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.rU,{to:scenes_urls__WEBPACK_IMPORTED_MODULE_5__.j.insightView(existingModalAnnotation?.insight_short_id),target:"_blank",targetBlankIcon:!0}):null},{value:_types__WEBPACK_IMPORTED_MODULE_6__.dc.Dashboard,label:_annotationModalLogic__WEBPACK_IMPORTED_MODULE_7__.B3[_types__WEBPACK_IMPORTED_MODULE_6__.dc.Dashboard],tooltip:existingModalAnnotation?.dashboard_name,disabledReason:!annotationModal.dashboardId&&"To select this scope, open this annotation on the target dashboard"||existingModalAnnotation?.scope===_types__WEBPACK_IMPORTED_MODULE_6__.dc.Dashboard&&"Already scoped to dashboard"||(existingModalAnnotation&&existingModalAnnotation?.dashboard_name?annotationModal.dashboardId!=existingModalAnnotation.dashboard_id&&`To select this scope, open this annotation on the ${existingModalAnnotation?.dashboard_name} dashboard`:void 0),sideIcon:existingModalAnnotation?.dashboard_id&&existingModalAnnotation?.scope!==_types__WEBPACK_IMPORTED_MODULE_6__.dc.Dashboard&&existingModalAnnotation.dashboard_id!==annotationModal.dashboardId?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.rU,{to:scenes_urls__WEBPACK_IMPORTED_MODULE_5__.j.dashboard(existingModalAnnotation?.dashboard_id),target:"_blank",targetBlankIcon:!0}):null},{value:_types__WEBPACK_IMPORTED_MODULE_6__.dc.Project,label:_annotationModalLogic__WEBPACK_IMPORTED_MODULE_7__.B3[_types__WEBPACK_IMPORTED_MODULE_6__.dc.Project]},{value:_types__WEBPACK_IMPORTED_MODULE_6__.dc.Organization,label:_annotationModalLogic__WEBPACK_IMPORTED_MODULE_7__.B3[_types__WEBPACK_IMPORTED_MODULE_6__.dc.Organization]}],fullWidth:!0})})]}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(lib_lemon_ui_LemonField__WEBPACK_IMPORTED_MODULE_3__.D,{name:"content",label:"Content",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__._V,{placeholder:"What's this annotation about?",onPressCmdEnter:submitAnnotationModal,"data-attr":"create-annotation-input",maxLength:400})})]})})}},"./frontend/src/scenes/annotations/annotationModalLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{B3:()=>annotationScopeToName,bE:()=>annotationModalLogic,nO:()=>annotationScopeToLevel,yD:()=>ANNOTATION_DAYJS_FORMAT});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_forms__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea-forms@3.2.0_kea@3.1.5/node_modules/kea-forms/lib/index.js"),kea_router__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),lib_api__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/api.ts"),lib_dayjs__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/dayjs.ts"),lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),scenes_teamLogic__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/scenes/teamLogic.tsx"),scenes_urls__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/scenes/urls.ts"),scenes_userLogic__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./frontend/src/scenes/userLogic.ts"),_models_annotationsModel__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./frontend/src/models/annotationsModel.ts"),_types__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__("./frontend/src/types.ts");let ANNOTATION_DAYJS_FORMAT="MMMM\xa0DD,\xa0YYYY h:mm\xa0A",annotationScopeToName={[_types__WEBPACK_IMPORTED_MODULE_10__.dc.Insight]:"Insight",[_types__WEBPACK_IMPORTED_MODULE_10__.dc.Dashboard]:"Dashboard",[_types__WEBPACK_IMPORTED_MODULE_10__.dc.Project]:"Project",[_types__WEBPACK_IMPORTED_MODULE_10__.dc.Organization]:"Organization"},annotationScopeToLevel={[_types__WEBPACK_IMPORTED_MODULE_10__.dc.Insight]:0,[_types__WEBPACK_IMPORTED_MODULE_10__.dc.Dashboard]:1,[_types__WEBPACK_IMPORTED_MODULE_10__.dc.Project]:2,[_types__WEBPACK_IMPORTED_MODULE_10__.dc.Organization]:3},annotationModalLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(["scenes","annotations","annotationModalLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.connect)({actions:[_models_annotationsModel__WEBPACK_IMPORTED_MODULE_9__.AT,["loadAnnotationsNext","loadAnnotationsSuccess","replaceAnnotation","appendAnnotations","deleteAnnotation"]],values:[_models_annotationsModel__WEBPACK_IMPORTED_MODULE_9__.AT,["annotations","annotationsLoading","next","loadingNext"],scenes_teamLogic__WEBPACK_IMPORTED_MODULE_6__.H,["timezone"],scenes_userLogic__WEBPACK_IMPORTED_MODULE_8__.userLogic,["user"],lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_5__.h,["featureFlags"]]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)({openModalToCreateAnnotation:(initialDate,insightId,dashboardId)=>({initialDate,insightId,dashboardId}),openModalToEditAnnotation:(annotation,insightId,dashboardId)=>({annotation,insightId,dashboardId}),closeModal:!0}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)(()=>({isModalOpen:[!1,{openModalToCreateAnnotation:()=>!0,openModalToEditAnnotation:()=>!0,closeModal:()=>!1}],existingModalAnnotation:[null,{openModalToCreateAnnotation:()=>null,openModalToEditAnnotation:(_,_ref)=>{let{annotation}=_ref;return annotation}}],onSavedInsight:[!1,{openModalToCreateAnnotation:(_,_ref2)=>{let{insightId}=_ref2;return!!insightId},openModalToEditAnnotation:(_,_ref3)=>{let{insightId}=_ref3;return!!insightId}}]})),(0,kea__WEBPACK_IMPORTED_MODULE_0__.listeners)(_ref4=>{let{cache,actions,values}=_ref4;return{openModalToEditAnnotation:_ref5=>{let{annotation:{date_marker,scope,content},insightId,dashboardId}=_ref5;actions.setAnnotationModalValues({dateMarker:(0,lib_dayjs__WEBPACK_IMPORTED_MODULE_4__.Bv)(date_marker).tz(values.timezone),scope,content}),insightId&&actions.setAnnotationModalValue("dashboardItemId",insightId),dashboardId&&actions.setAnnotationModalValue("dashboardId",dashboardId)},openModalToCreateAnnotation:_ref6=>{let{initialDate,insightId,dashboardId}=_ref6;actions.resetAnnotationModal(),initialDate&&actions.setAnnotationModalValue("dateMarker",initialDate),insightId&&actions.setAnnotationModalValue("dashboardItemId",insightId),dashboardId&&actions.setAnnotationModalValue("dashboardId",dashboardId)},loadAnnotationsSuccess:_ref7=>{let{rawAnnotations}=_ref7;if(!values.isModalOpen&&cache.annotationToShowId){let annotation=rawAnnotations.find(a=>a.id===cache.annotationToShowId);if(!annotation)return;actions.openModalToEditAnnotation((0,_models_annotationsModel__WEBPACK_IMPORTED_MODULE_9__.vH)(annotation,scenes_teamLogic__WEBPACK_IMPORTED_MODULE_6__.H.values.timezone)),delete cache.annotationToShowId}}}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.selectors)(()=>({shouldShowEmptyState:[s=>[s.annotations,s.annotationsLoading],(annotations,annotationsLoading)=>0===annotations.length&&!annotationsLoading]})),(0,kea_forms__WEBPACK_IMPORTED_MODULE_1__.forms)(_ref8=>{let{actions,values}=_ref8;return{annotationModal:{defaults:{dateMarker:(0,lib_dayjs__WEBPACK_IMPORTED_MODULE_4__.Bv)().tz(values.timezone),content:"",scope:_types__WEBPACK_IMPORTED_MODULE_10__.dc.Project,dashboardItemId:null,dashboardId:null},errors:_ref9=>{let{content}=_ref9;return{content:content?.trim()?null:"An annotation must have text content."}},submit:async data=>{let{dateMarker,content,scope,dashboardItemId,dashboardId}=data;if(values.existingModalAnnotation){let updatedAnnotation=await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.annotations.update(values.existingModalAnnotation.id,{date_marker:dateMarker.toISOString(),content,scope,dashboard_item:dashboardItemId,dashboard_id:values.existingModalAnnotation.dashboard_id});actions.replaceAnnotation(updatedAnnotation)}else{let createdAnnotation=await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.annotations.create({date_marker:dateMarker.toISOString(),content,scope,dashboard_item:dashboardItemId,dashboard_id:dashboardId});actions.appendAnnotations([createdAnnotation])}actions.closeModal()}}}}),(0,kea_router__WEBPACK_IMPORTED_MODULE_2__.urlToAction)(_ref10=>{let{values,actions,cache}=_ref10;return{[scenes_urls__WEBPACK_IMPORTED_MODULE_7__.j.annotation(":id")]:_ref11=>{let{id}=_ref11;cache.annotationToShowId=parseInt(id);let annotation=values.annotations.find(a=>a.id===cache.annotationToShowId);annotation&&actions.openModalToEditAnnotation(annotation)}}})])},"./frontend/src/scenes/authentication/loginLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{l:()=>loginLogic,w:()=>handleLoginRedirect});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_forms__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea-forms@3.2.0_kea@3.1.5/node_modules/kea-forms/lib/index.js"),kea_loaders__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-loaders@3.0.0_kea@3.1.5/node_modules/kea-loaders/lib/index.js"),kea_router__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),lib_api__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/api.ts"),lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),scenes_PreflightCheck_preflightLogic__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/scenes/PreflightCheck/preflightLogic.tsx"),scenes_urls__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/scenes/urls.ts");function handleLoginRedirect(){let nextURL="/";try{let nextPath=kea_router__WEBPACK_IMPORTED_MODULE_3__.router.values.searchParams.next||"/",url=new URL(nextPath.startsWith("/")?location.origin+nextPath:nextPath);("http:"===url.protocol||"https:"===url.protocol)&&(nextURL=url.pathname+url.search+(0,kea_router__WEBPACK_IMPORTED_MODULE_3__.encodeParams)(kea_router__WEBPACK_IMPORTED_MODULE_3__.router.values.hashParams,"#"))}catch(e){}kea_router__WEBPACK_IMPORTED_MODULE_3__.router.actions.replace(nextURL)}let loginLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(["scenes","authentication","loginLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.connect)({values:[scenes_PreflightCheck_preflightLogic__WEBPACK_IMPORTED_MODULE_6__.preflightLogic,["preflight"],lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_5__.h,["featureFlags"]]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)({setGeneralError:(code,detail)=>({code,detail}),clearGeneralError:!0}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)({generalError:[null,{setGeneralError:(_,error)=>error,clearGeneralError:()=>null}]}),(0,kea_loaders__WEBPACK_IMPORTED_MODULE_2__.loaders)(()=>({precheckResponse:[{status:"pending"},{precheck:async(_ref,breakpoint)=>{let{email}=_ref;if(!email)return{status:"pending"};breakpoint();let response=await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.create("api/login/precheck",{email});return{status:"completed",...response}}}]})),(0,kea_forms__WEBPACK_IMPORTED_MODULE_1__.forms)(_ref2=>{let{actions,values}=_ref2;return{login:{defaults:{email:"",password:""},errors:_ref3=>{let{email,password}=_ref3;return{email:email?void 0:"Please enter your email to continue",password:password?void 0:"Please enter your password to continue"}},submit:async(_ref4,breakpoint)=>{let{email,password}=_ref4;breakpoint();try{return await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.create("api/login",{email,password})}catch(e){let{code}=e,{detail}=e;if("2fa_required"===code)throw kea_router__WEBPACK_IMPORTED_MODULE_3__.router.actions.push(scenes_urls__WEBPACK_IMPORTED_MODULE_7__.j.login2FA()),e;throw"invalid_credentials"===code&&values.preflight?.cloud&&(detail+=" Make sure you have selected the right data region."),actions.setGeneralError(code,detail),e}}}}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.listeners)({submitLoginSuccess:()=>{handleLoginRedirect(),window.location.reload()}}),(0,kea_router__WEBPACK_IMPORTED_MODULE_3__.urlToAction)(_ref5=>{let{actions}=_ref5;return{"/login":(_,_ref6)=>{let{error_code,error_detail,email}=_ref6;error_code&&(actions.setGeneralError(error_code,error_detail),kea_router__WEBPACK_IMPORTED_MODULE_3__.router.actions.replace("/login",{})),email&&(actions.setLoginValue("email",email),actions.precheck({email}))}}})])},"./frontend/src/scenes/authentication/signup/verify-email/verifyEmailLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{C:()=>verifyEmailLogic});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_loaders__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea-loaders@3.0.0_kea@3.1.5/node_modules/kea-loaders/lib/index.js"),kea_router__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),lib_api__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/api.ts"),lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonToast/LemonToast.tsx");let verifyEmailLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(["scenes","authentication","verifyEmailLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)({setView:view=>({view}),setUuid:uuid=>({uuid}),requestVerificationLink:uuid=>({uuid}),validateEmailTokenSuccess:response=>({response})}),(0,kea_loaders__WEBPACK_IMPORTED_MODULE_1__.loaders)(_ref=>{let{actions}=_ref;return{validatedEmailToken:[null,{validateEmailToken:async(_ref2,breakpoint)=>{let{uuid,token}=_ref2;try{return await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.create("api/users/verify_email/",{token,uuid}),actions.setView("success"),await breakpoint(2e3),window.location.href="/",{success:!0,token,uuid}}catch(e){return actions.setView("invalid"),{success:!1,errorCode:e.code,errorDetail:e.detail}}}}],newlyRequestedVerificationLink:[null,{requestVerificationLink:async _ref3=>{let{uuid}=_ref3;try{return await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.create("api/users/request_email_verification/",{uuid}),lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_4__.UJ.success("A new verification link has been sent to the associated email address. Please check your inbox."),!0}catch(e){if("throttled"===e.code)return lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_4__.UJ.error("You have requested a new verification link too many times. Please try again later."),!1;return lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_4__.UJ.error("Requesting verification link failed. Please try again later or contact support."),!1}}}]}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)({view:[null,{setView:(_,_ref4)=>{let{view}=_ref4;return view}}],uuid:[null,{setUuid:(_,_ref5)=>{let{uuid}=_ref5;return uuid}}]}),(0,kea_router__WEBPACK_IMPORTED_MODULE_2__.urlToAction)(_ref6=>{let{actions}=_ref6;return{"/verify_email/:uuid":_ref7=>{let{uuid}=_ref7;uuid&&(actions.setUuid(uuid),actions.setView("pending"))},"/verify_email/:uuid/:token":_ref8=>{let{uuid,token}=_ref8;token&&uuid&&(actions.setUuid(uuid),actions.setView("verify"),actions.validateEmailToken({uuid,token}))},"/verify_email":()=>{actions.setView("invalid")}}})])},"./frontend/src/scenes/authentication/twoFactorLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{e:()=>twoFactorLogic});var _posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),kea__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_forms__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-forms@3.2.0_kea@3.1.5/node_modules/kea-forms/lib/index.js"),kea_loaders__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/.pnpm/kea-loaders@3.0.0_kea@3.1.5/node_modules/kea-loaders/lib/index.js"),lib_api__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/api.ts"),lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),scenes_organization_membersLogic__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/scenes/organization/membersLogic.tsx"),scenes_PreflightCheck_preflightLogic__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/scenes/PreflightCheck/preflightLogic.tsx"),scenes_userLogic__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./frontend/src/scenes/userLogic.ts");let twoFactorLogic=(0,kea__WEBPACK_IMPORTED_MODULE_1__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_1__.path)(["scenes","authentication","loginLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_1__.props)({}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.connect)({values:[scenes_PreflightCheck_preflightLogic__WEBPACK_IMPORTED_MODULE_7__.preflightLogic,["preflight"],lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_5__.h,["featureFlags"],scenes_userLogic__WEBPACK_IMPORTED_MODULE_8__.userLogic,["user"]],actions:[scenes_userLogic__WEBPACK_IMPORTED_MODULE_8__.userLogic,["loadUser"],scenes_organization_membersLogic__WEBPACK_IMPORTED_MODULE_6__.m,["loadAllMembers"]]}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.actions)({setGeneralError:(code,detail)=>({code,detail}),clearGeneralError:!0,loadStatus:!0,generateBackupCodes:!0,disable2FA:!0,openTwoFactorSetupModal:forceOpen=>({forceOpen}),closeTwoFactorSetupModal:!0,toggleDisable2FAModal:open1=>({open:open1}),toggleBackupCodesModal:open1=>({open:open1})}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.reducers)({isTwoFactorSetupModalOpen:[!1,{openTwoFactorSetupModal:()=>!0,closeTwoFactorSetupModal:()=>!1}],forceOpenTwoFactorSetupModal:[!1,{openTwoFactorSetupModal:(_,_ref)=>{let{forceOpen}=_ref;return!!forceOpen},closeTwoFactorSetupModal:()=>!1}],isDisable2FAModalOpen:[!1,{toggleDisable2FAModal:(_,_ref2)=>{let{open:open1}=_ref2;return open1}}],isBackupCodesModalOpen:[!1,{toggleBackupCodesModal:(_,_ref3)=>{let{open:open1}=_ref3;return open1}}],generalError:[null,{setGeneralError:(_,error)=>error,clearGeneralError:()=>null}],status:[null,{loadStatusSuccess:(_,_ref4)=>{let{status}=_ref4;return status},generateBackupCodesSuccess:(state,_ref5)=>{let{generatingCodes}=_ref5;return state?{...state,backup_codes:generatingCodes?.backup_codes||state.backup_codes}:null}}]}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.selectors)({is2FAEnabled:[s=>[s.status],status=>!!status?.is_enabled]}),(0,kea_loaders__WEBPACK_IMPORTED_MODULE_3__.loaders)(()=>({startSetup:[{},{openTwoFactorSetupModal:async(_,breakpoint)=>(breakpoint(),await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.get("api/users/@me/two_factor_start_setup/"),{status:"completed"})}],status:[null,{loadStatus:async()=>await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.get("api/users/@me/two_factor_status/")}],generatingCodes:[null,{generateBackupCodes:async()=>await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.create("api/users/@me/two_factor_backup_codes/")}]})),(0,kea_forms__WEBPACK_IMPORTED_MODULE_2__.forms)(_ref6=>{let{actions}=_ref6;return{token:{defaults:{token:null},errors:_ref7=>{let{token}=_ref7;return{token:token?void 0:"Please enter a token to continue"}},submit:async(_ref8,breakpoint)=>{let{token}=_ref8;breakpoint();try{return await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.create("api/users/@me/two_factor_validate/",{token})}catch(e){let{code,detail}=e;throw actions.setGeneralError(code,detail),e}}}}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.listeners)(_ref9=>{let{props,actions}=_ref9;return{submitTokenSuccess:()=>{_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.success("2FA method added successfully"),actions.loadStatus(),props.onSuccess?.()},disable2FA:async()=>{try{await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.create("api/users/@me/two_factor_disable/"),_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.success("2FA disabled successfully"),actions.loadStatus(),actions.loadUser(),actions.loadAllMembers()}catch(e){let{code,detail}=e;throw actions.setGeneralError(code,detail),e}},generateBackupCodesSuccess:()=>{_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.success("Backup codes generated successfully")},closeTwoFactorSetupModal:()=>{actions.resetToken()}}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.afterMount)(_ref10=>{let{actions,values}=_ref10;actions.loadStatus(),values.user&&values.user.organization?.enforce_2fa&&!values.user.is_2fa_enabled&&actions.openTwoFactorSetupModal(!0)})])},"./frontend/src/scenes/billing/Billing.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{Billing:()=>Billing_Billing,scene:()=>scene}),__webpack_require__("./frontend/src/scenes/billing/Billing.scss");var src=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),clsx_m=__webpack_require__("./node_modules/.pnpm/clsx@1.2.1/node_modules/clsx/dist/clsx.m.js"),index_esm=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),lib=__webpack_require__("./node_modules/.pnpm/kea-forms@3.2.0_kea@3.1.5/node_modules/kea-forms/lib/index.js"),kea_router_lib=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),RestrictedArea=__webpack_require__("./frontend/src/lib/components/RestrictedArea.tsx"),supportLogic=__webpack_require__("./frontend/src/lib/components/Support/supportLogic.ts"),constants=__webpack_require__("./frontend/src/lib/constants.tsx"),dayjs=__webpack_require__("./frontend/src/lib/dayjs.ts"),useResizeObserver=__webpack_require__("./frontend/src/lib/hooks/useResizeObserver.ts"),LemonBanner=__webpack_require__("./frontend/src/lib/lemon-ui/LemonBanner/index.ts"),LemonLabel=__webpack_require__("./frontend/src/lib/lemon-ui/LemonLabel/LemonLabel.tsx"),Spinner=__webpack_require__("./frontend/src/lib/lemon-ui/Spinner/Spinner.tsx"),utils=__webpack_require__("./frontend/src/lib/utils.tsx"),react=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/index.js"),preflightLogic=__webpack_require__("./frontend/src/scenes/PreflightCheck/preflightLogic.tsx"),urls=__webpack_require__("./frontend/src/scenes/urls.ts"),BillingUpgradeCTA=__webpack_require__("./frontend/src/lib/components/BillingUpgradeCTA.tsx"),hedgehogs=__webpack_require__("./frontend/src/lib/components/hedgehogs.tsx"),featureFlagLogic=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),bundle_esm=__webpack_require__("./node_modules/.pnpm/use-resize-observer@8.0.0_react-dom@18.2.0_react@18.2.0/node_modules/use-resize-observer/dist/bundle.esm.js"),billingLogic=__webpack_require__("./frontend/src/scenes/billing/billingLogic.tsx"),billingProductLogic=__webpack_require__("./frontend/src/scenes/billing/billingProductLogic.ts"),paymentEntryLogic=__webpack_require__("./frontend/src/scenes/billing/paymentEntryLogic.ts"),PlanComparison=__webpack_require__("./frontend/src/scenes/billing/PlanComparison.tsx"),jsx_runtime=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let BillingCTAHero=_ref=>{let{product}=_ref,{width,ref:billingHeroRef}=(0,bundle_esm.Z)(),{featureFlags}=(0,index_esm.useValues)(featureFlagLogic.h),{showPaymentEntryModal}=(0,index_esm.useActions)(paymentEntryLogic.j),{redirectPath}=(0,index_esm.useValues)(billingLogic.kr),{isPlanComparisonModalOpen,billingProductLoading}=(0,index_esm.useValues)((0,billingProductLogic.cD)({product})),{toggleIsPlanComparisonModalOpen,setBillingProductLoading}=(0,index_esm.useActions)((0,billingProductLogic.cD)({product}));return(0,jsx_runtime.jsxs)("div",{className:"flex relative justify-between items-center rounded-lg bg-mark",ref:billingHeroRef,children:[(0,jsx_runtime.jsxs)("div",{className:"p-4",children:[(0,jsx_runtime.jsx)("h1",{className:"mb-0",children:"Get the whole hog."}),(0,jsx_runtime.jsx)("h1",{className:"text-danger",children:"Only pay for what you use."}),(0,jsx_runtime.jsxs)("div",{className:"mt-2 mb-0 max-w-xl",children:[(0,jsx_runtime.jsx)("p",{children:"PostHog comes with all product features on every plan."}),(0,jsx_runtime.jsx)("p",{children:"Add your credit card to remove usage limits and unlock all platform features. Set billing limits as low as $0 to control your spend."}),(0,jsx_runtime.jsx)("p",{className:"italic",children:"P.S. You still keep the monthly free allotment for every product!"})]}),(0,jsx_runtime.jsxs)("div",{className:"flex justify-start space-x-2",children:["test"==featureFlags[constants.y8.BILLING_PAYMENT_ENTRY_IN_APP]?(0,jsx_runtime.jsx)(BillingUpgradeCTA.y,{className:"mt-4 inline-block",type:"primary",status:"alt","data-attr":"billing-page-core-upgrade-cta",disableClientSideRouting:!0,loading:!!billingProductLoading,onClick:showPaymentEntryModal,children:"Upgrade now"}):(0,jsx_runtime.jsx)(BillingUpgradeCTA.y,{className:"mt-4 inline-block",to:`/api/billing/activate?products=all_products:&redirect_path=${redirectPath}`,type:"primary",status:"alt","data-attr":"billing-page-core-upgrade-cta",disableClientSideRouting:!0,loading:!!billingProductLoading,onClick:()=>setBillingProductLoading(product.type),children:"Upgrade now"}),(0,jsx_runtime.jsx)(src.Jp,{className:"mt-4 inline-block",onClick:()=>toggleIsPlanComparisonModalOpen(),type:"primary",children:"Compare plans"})]})]}),width&&width>500&&(0,jsx_runtime.jsx)("div",{className:"shrink-0 relative w-50 pt-4 overflow-hidden",children:(0,jsx_runtime.jsx)(hedgehogs.BlushingHog,{className:"w-50 h-50 -my-5"})}),(0,jsx_runtime.jsx)(PlanComparison.S0,{product:product,title:"Compare our plans",includeAddons:!1,modalOpen:isPlanComparisonModalOpen,onClose:()=>toggleIsPlanComparisonModalOpen()})]})};var BillingProduct=__webpack_require__("./frontend/src/scenes/billing/BillingProduct.tsx"),CreditCTAHero=__webpack_require__("./frontend/src/scenes/billing/CreditCTAHero.tsx"),react_stripe_umd=__webpack_require__("./node_modules/.pnpm/@stripe+react-stripe-js@2.8.0_@stripe+stripe-js@4.5.0_react-dom@18.2.0_react@18.2.0/node_modules/@stripe/react-stripe-js/dist/react-stripe.umd.js");let stripeJs=async()=>await __webpack_require__.e(19431).then(__webpack_require__.bind(__webpack_require__,"./node_modules/.pnpm/@stripe+stripe-js@4.5.0/node_modules/@stripe/stripe-js/lib/index.mjs")),PaymentForm=()=>{let{error,isLoading}=(0,index_esm.useValues)(paymentEntryLogic.j),{setError,hidePaymentEntryModal,pollAuthorizationStatus,setLoading}=(0,index_esm.useActions)(paymentEntryLogic.j),stripe=(0,react_stripe_umd.useStripe)(),elements=(0,react_stripe_umd.useElements)(),handleSubmit=async event=>{if(event.preventDefault(),!stripe||!elements)return;setLoading(!0);let result=await stripe.confirmPayment({elements,confirmParams:{return_url:`${window.location.origin}/billing/authorization_status`},redirect:"if_required"});result.error?(setLoading(!1),setError(result.error.message)):pollAuthorizationStatus(result.paymentIntent.id)};return(0,jsx_runtime.jsxs)("div",{children:[(0,jsx_runtime.jsx)(react_stripe_umd.PaymentElement,{}),(0,jsx_runtime.jsx)("p",{className:"text-xs text-muted mt-0.5",children:"Your card will not be charged but we place a $0.50 hold on it to verify your card that will be released in 7 days."}),error&&(0,jsx_runtime.jsx)("div",{className:"error",children:error}),(0,jsx_runtime.jsxs)("div",{className:"flex justify-end space-x-2 mt-2",children:[(0,jsx_runtime.jsx)(src.Jp,{disabled:isLoading,type:"secondary",onClick:hidePaymentEntryModal,children:"Cancel"}),(0,jsx_runtime.jsx)(src.Jp,{loading:isLoading,type:"primary",onClick:event=>void handleSubmit(event),children:"Submit"})]})]})},PaymentEntryModal=_ref=>{let{redirectPath=urls.j.organizationBilling()}=_ref,{clientSecret,paymentEntryModalOpen}=(0,index_esm.useValues)(paymentEntryLogic.j),{hidePaymentEntryModal,initiateAuthorization}=(0,index_esm.useActions)(paymentEntryLogic.j),[stripePromise,setStripePromise]=(0,react.useState)(null);return(0,react.useEffect)(()=>{if(paymentEntryModalOpen&&!stripePromise){let loadStripeJs=async()=>{let{loadStripe}=await stripeJs(),publicKey=window.STRIPE_PUBLIC_KEY;setStripePromise(await loadStripe(publicKey))};loadStripeJs()}},[paymentEntryModalOpen,stripePromise]),(0,react.useEffect)(()=>{paymentEntryModalOpen&&initiateAuthorization(redirectPath)},[paymentEntryModalOpen,initiateAuthorization,redirectPath]),(0,jsx_runtime.jsx)(src.fQ,{onClose:hidePaymentEntryModal,width:"max(44vw)",isOpen:paymentEntryModalOpen,title:"Add your payment details to subscribe",description:"",children:(0,jsx_runtime.jsx)("div",{children:clientSecret?(0,jsx_runtime.jsx)(react_stripe_umd.Elements,{stripe:stripePromise,options:{clientSecret},children:(0,jsx_runtime.jsx)(PaymentForm,{})}):(0,jsx_runtime.jsxs)("div",{className:"min-h-80 flex flex-col justify-center items-center",children:[(0,jsx_runtime.jsx)("p",{className:"text-muted text-md mt-4",children:"We're contacting the Hedgehogs for approval."}),(0,jsx_runtime.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,jsx_runtime.jsx)("div",{className:"text-4xl",children:(0,jsx_runtime.jsx)(src.$j,{})}),(0,jsx_runtime.jsx)(hedgehogs.WavingHog,{className:"w-18 h-18"})]})]})})})},UnsubscribeCard=_ref=>{let{product}=_ref,{reportSurveyShown,setSurveyResponse}=(0,index_esm.useActions)((0,billingProductLogic.cD)({product})),{openSupportForm}=(0,index_esm.useActions)(supportLogic.Pw);return(0,jsx_runtime.jsx)("div",{className:"p-5 gap-4 flex",children:(0,jsx_runtime.jsxs)("div",{className:"",children:[(0,jsx_runtime.jsx)("h3",{children:"Need to take a break?"}),(0,jsx_runtime.jsx)("p",{className:"mb-2",children:"Downgrade to the free plan at any time. You'll lose access to platform features and usage limits will apply immediately."}),(0,jsx_runtime.jsxs)("p",{className:"",children:["Need to control your costs? Learn about ways to"," ",(0,jsx_runtime.jsx)(src.rU,{to:"https://posthog.com/docs/billing/estimating-usage-costs#how-to-reduce-your-posthog-costs?utm_source=app-unsubscribe",target:"_blank",children:"reduce your bill"})," ","or"," ",(0,jsx_runtime.jsx)(src.rU,{to:"",onClick:()=>openSupportForm({target_area:"billing",isEmailFormOpen:!0}),children:"chat with support."})," ","Check out more about our pricing on our"," ",(0,jsx_runtime.jsx)(src.rU,{to:"https://posthog.com/pricing",target:"_blank",children:"pricing page"}),"."]}),(0,jsx_runtime.jsx)(src.Jp,{status:"danger",type:"secondary",size:"small",onClick:()=>{setSurveyResponse("$survey_response_1",product.type),reportSurveyShown(constants.E1,product.type)},children:"Downgrade to free plan"})]})})},scene={component:Billing_Billing,logic:billingLogic.kr};function Billing_Billing(){let{billing,billingLoading,isOnboarding,showLicenseDirectInput,isActivateLicenseSubmitting,billingError}=(0,index_esm.useValues)(billingLogic.kr),{reportBillingShown}=(0,index_esm.useActions)(billingLogic.kr),{preflight,isCloudOrDev}=(0,index_esm.useValues)(preflightLogic.preflightLogic),{openSupportForm}=(0,index_esm.useActions)(supportLogic.Pw),restrictionReason=(0,RestrictedArea.U)({minimumAccessLevel:constants.Dk.Admin,scope:RestrictedArea.C.Organization});preflight&&!isCloudOrDev&&kea_router_lib.router.actions.push(urls.j.default()),(0,react.useEffect)(()=>{billing&&reportBillingShown()},[!!billing]);let{ref,size}=(0,useResizeObserver.S)({0:"small",1e3:"medium"});if(!billing&&billingLoading)return(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:(0,jsx_runtime.jsx)(Spinner.t,{sceneLevel:!0})});if(restrictionReason)return(0,jsx_runtime.jsxs)("div",{className:"space-y-4",children:[(0,jsx_runtime.jsx)("h1",{children:"Billing"}),(0,jsx_runtime.jsx)(LemonBanner.V,{type:"warning",children:restrictionReason}),(0,jsx_runtime.jsx)("div",{className:"flex",children:(0,jsx_runtime.jsx)(src.Jp,{type:"primary",to:urls.j.default(),children:"Go back home"})})]});if(!billing&&!billingLoading)return(0,jsx_runtime.jsx)("div",{className:"space-y-4",children:(0,jsx_runtime.jsxs)(LemonBanner.V,{type:"error",children:["There was an issue retrieving your current billing information. If this message persists, please ",preflight?.cloud?(0,jsx_runtime.jsx)(src.rU,{onClick:()=>openSupportForm({kind:"bug",target_area:"billing"}),children:"submit a bug report"}):(0,jsx_runtime.jsx)(src.rU,{to:"mailto:sales@posthog.com",children:"contact sales@posthog.com"}),"."]})});let products=billing?.products,platformAndSupportProduct=products?.find(product=>"platform_and_support"===product.type);return(0,jsx_runtime.jsxs)("div",{ref:ref,children:[(0,jsx_runtime.jsx)(PaymentEntryModal,{}),showLicenseDirectInput&&(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:(0,jsx_runtime.jsxs)(lib.Form,{logic:billingLogic.kr,formKey:"activateLicense",enableFormOnSubmit:!0,className:"space-y-4",children:[(0,jsx_runtime.jsx)(lib.Field,{name:"license",label:"Activate license key",children:(0,jsx_runtime.jsx)(src.DF,{fullWidth:!0,autoFocus:!0})}),(0,jsx_runtime.jsx)(src.Jp,{type:"primary",htmlType:"submit",loading:isActivateLicenseSubmitting,fullWidth:!0,center:!0,children:"Activate license key"})]})}),billingError&&(0,jsx_runtime.jsx)(LemonBanner.V,{type:billingError.status,className:"mb-2",action:billingError.action,children:billingError.message}),billing?.trial?(0,jsx_runtime.jsxs)(LemonBanner.V,{type:"info",className:"mb-2",children:["You are currently on a free trial for ",(0,jsx_runtime.jsxs)("b",{children:[(0,utils.wR)(billing.trial.target)," plan"]})," until"," ",(0,jsx_runtime.jsx)("b",{children:(0,dayjs.Bv)(billing.trial.expires_at).format("LL")}),". At the end of the trial"," ","autosubscribe"===billing.trial.type?"you will be automatically subscribed to the plan.":"you will be asked to subscribe. If you choose not to, you will lose access to the features."]}):null,!billing?.has_active_subscription&&platformAndSupportProduct&&(0,jsx_runtime.jsx)("div",{className:"mb-4",children:(0,jsx_runtime.jsx)(BillingCTAHero,{product:platformAndSupportProduct})}),(0,jsx_runtime.jsx)(CreditCTAHero.p,{}),(0,jsx_runtime.jsx)("div",{className:(0,clsx_m.default)("flex justify-between",{"flex-col gap-4":"small"===size,"flex-row":"small"!==size}),children:(0,jsx_runtime.jsxs)("div",{children:[(0,jsx_runtime.jsx)("div",{className:(0,clsx_m.default)("flex flex-wrap gap-6 w-fit mb-4",{"flex-col items-stretch":"small"===size,"items-center":"small"!==size}),children:!isOnboarding&&billing?.billing_period&&(0,jsx_runtime.jsx)("div",{className:"flex-1 pt-2",children:(0,jsx_runtime.jsxs)("div",{className:"space-y-4",children:[billing?.has_active_subscription&&(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:(0,jsx_runtime.jsxs)("div",{className:"flex flex-row gap-10 items-end",children:[(0,jsx_runtime.jsxs)("div",{children:[(0,jsx_runtime.jsx)(LemonLabel.H,{info:`This is the current amount you have been billed for this ${billing.billing_period.interval} so far. This number updates once daily.`,children:"Current bill total"}),(0,jsx_runtime.jsx)("div",{className:"font-bold text-6xl",children:billing.discount_percent?(0,utils.Cp)(billing.current_total_amount_usd_after_discount):(0,utils.Cp)(billing.current_total_amount_usd)})]}),billing?.discount_amount_usd&&(0,jsx_runtime.jsxs)("div",{children:[(0,jsx_runtime.jsx)(LemonLabel.H,{info:`The total credits remaining in your account. ${billing?.amount_off_expires_at?"Your credits expire on "+billing?.amount_off_expires_at?.format("LL"):null}`,className:"text-muted",children:"Available credits"}),(0,jsx_runtime.jsx)("div",{className:"font-semibold text-2xl text-muted",children:(0,utils.Cp)(billing?.discount_amount_usd,0)})]}),billing?.discount_percent&&(0,jsx_runtime.jsxs)("div",{children:[(0,jsx_runtime.jsx)(LemonLabel.H,{info:"The discount applied to your current bill, reflected in the total amount.",className:"text-muted",children:"Applied discount"}),(0,jsx_runtime.jsxs)("div",{className:"font-semibold text-2xl text-muted",children:[billing.discount_percent,"%"]})]})]})}),(0,jsx_runtime.jsxs)("div",{children:[(0,jsx_runtime.jsxs)("p",{className:"ml-0 mb-0",children:[billing?.has_active_subscription?"Billing period":"Cycle",":"," ",(0,jsx_runtime.jsx)("b",{children:billing.billing_period.current_period_start.format("LL")})," to"," ",(0,jsx_runtime.jsx)("b",{children:billing.billing_period.current_period_end.format("LL")})," (",billing.billing_period.current_period_end.diff((0,dayjs.Bv)(),"days")," days remaining)"]}),!billing.has_active_subscription&&(0,jsx_runtime.jsx)("p",{className:"italic ml-0 text-muted mb-0",children:"Monthly free allocation resets at the end of the cycle."})]})]})})}),!isOnboarding&&billing?.customer_id&&billing?.stripe_portal_url&&(0,jsx_runtime.jsx)("div",{className:"w-fit",children:(0,jsx_runtime.jsx)(src.Jp,{type:"primary",htmlType:"submit",to:billing.stripe_portal_url,disableClientSideRouting:!0,targetBlank:!0,center:!0,"data-attr":"manage-billing",children:billing.has_active_subscription?"Manage card details and invoices":"View past invoices"})})]})}),(0,jsx_runtime.jsx)(src.p2,{className:"mt-6 mb-8"}),(0,jsx_runtime.jsx)("div",{className:"flex justify-between mt-4",children:(0,jsx_runtime.jsx)("h2",{children:"Products"})}),products?.filter(product=>!product.inclusion_only||product.plans.some(plan=>!plan.included_if))?.map(x=>jsx_runtime.jsx("div",{children:jsx_runtime.jsx(BillingProduct.LB,{product:x})},x.type)),(0,jsx_runtime.jsx)("div",{children:billing?.subscription_level=="paid"&&platformAndSupportProduct?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(src.p2,{}),(0,jsx_runtime.jsx)(UnsubscribeCard,{product:platformAndSupportProduct})]}):null})]})}},"./frontend/src/scenes/billing/BillingGauge.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{V:()=>BillingGauge_BillingGauge});var injectStylesIntoStyleTag=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),injectStylesIntoStyleTag_default=__webpack_require__.n(injectStylesIntoStyleTag),BillingGauge=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/billing/BillingGauge.scss"),BillingGauge_default=__webpack_require__.n(BillingGauge),options={};options.insert="head",options.singleton=!1,injectStylesIntoStyleTag_default()(BillingGauge_default(),options),BillingGauge_default().locals;var clsx_m=__webpack_require__("./node_modules/.pnpm/clsx@1.2.1/node_modules/clsx/dist/clsx.m.js"),Tooltip=__webpack_require__("./frontend/src/lib/lemon-ui/Tooltip/index.ts"),utils=__webpack_require__("./frontend/src/lib/utils.tsx"),react=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/index.js"),jsx_runtime=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let BillingGaugeItem=_ref=>{let{item,maxValue,isWithinUsageLimit}=_ref,width=`${item.value/maxValue*100}%`;return(0,jsx_runtime.jsxs)("div",{className:(0,clsx_m.default)(`BillingGaugeItem BillingGaugeItem--${item.type}`,{"BillingGaugeItem--within-usage-limit":isWithinUsageLimit},"absolute top-0 left-0 bottom-0 h-2"),style:{"--billing-gauge-item-width":width},children:[(0,jsx_runtime.jsx)("div",{className:"absolute right-0 w-px h-full bg-bg-light"}),(0,jsx_runtime.jsx)(Tooltip.u,{title:item.prefix?`${item.prefix}${item.value.toLocaleString()}`:item.value.toLocaleString(),placement:"right",children:(0,jsx_runtime.jsxs)("div",{className:(0,clsx_m.default)("BillingGaugeItem__info",{"BillingGaugeItem__info--bottom":!item.top}),children:[(0,jsx_runtime.jsx)("b",{children:item.text}),(0,jsx_runtime.jsx)("div",{children:item.prefix?`${item.prefix}${(0,utils.JP)(item.value)}`:(0,utils.JP)(item.value)})]})})]})};function BillingGauge_BillingGauge(_ref2){let{items,product}=_ref2,maxValue=(0,react.useMemo)(()=>1.3*Math.max(100,...items.map(item=>item.value)),[items]),isWithinUsageLimit=product.percentage_usage<=1;return(0,jsx_runtime.jsx)("div",{className:"relative h-2 bg-border-light my-16",children:items.map((item,i)=>(0,jsx_runtime.jsx)(BillingGaugeItem,{item:item,maxValue:maxValue,isWithinUsageLimit:isWithinUsageLimit},i))})}},"./frontend/src/scenes/billing/BillingPopup.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{r:()=>openBillingPopupModal});var lib_lemon_ui_LemonDialog__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonDialog/index.ts"),_Billing__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/scenes/billing/Billing.tsx"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function openBillingPopupModal(){let{title="Unlock premium features",description}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};lib_lemon_ui_LemonDialog__WEBPACK_IMPORTED_MODULE_0__.d.open({title:title,description:description,content:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_Billing__WEBPACK_IMPORTED_MODULE_1__.Billing,{}),width:800,primaryButton:{children:"Maybe later...",type:"secondary"}})}},"./frontend/src/scenes/billing/BillingProduct.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{LB:()=>BillingProduct,F9:()=>FeatureFlagUsageNotice,Fk:()=>getTierDescription});var posthog_icons_es=__webpack_require__("./node_modules/.pnpm/@posthog+icons@0.9.2_react-dom@18.2.0_react@18.2.0/node_modules/@posthog/icons/dist/posthog-icons.es.js"),src=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),clsx_m=__webpack_require__("./node_modules/.pnpm/clsx@1.2.1/node_modules/clsx/dist/clsx.m.js"),index_esm=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),BillingUpgradeCTA=__webpack_require__("./frontend/src/lib/components/BillingUpgradeCTA.tsx"),constants=__webpack_require__("./frontend/src/lib/constants.tsx"),useResizeObserver=__webpack_require__("./frontend/src/lib/hooks/useResizeObserver.ts"),icons=__webpack_require__("./frontend/src/lib/lemon-ui/icons/index.ts"),LemonBanner=__webpack_require__("./frontend/src/lib/lemon-ui/LemonBanner/index.ts"),More=__webpack_require__("./frontend/src/lib/lemon-ui/LemonButton/More.tsx"),Tooltip=__webpack_require__("./frontend/src/lib/lemon-ui/Tooltip/index.ts"),featureFlagLogic=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),utils=__webpack_require__("./frontend/src/lib/utils.tsx"),eventUsageLogic=__webpack_require__("./frontend/src/lib/utils/eventUsageLogic.ts"),react=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/index.js"),Products=__webpack_require__("./frontend/src/scenes/products/Products.tsx"),types=__webpack_require__("./frontend/src/types.ts"),billing_utils=__webpack_require__("./frontend/src/scenes/billing/billing-utils.ts"),BillingGauge=__webpack_require__("./frontend/src/scenes/billing/BillingGauge.tsx"),lib=__webpack_require__("./node_modules/.pnpm/kea-forms@3.2.0_kea@3.1.5/node_modules/kea-forms/lib/index.js"),LemonField=__webpack_require__("./frontend/src/lib/lemon-ui/LemonField/index.ts"),billingLogic=__webpack_require__("./frontend/src/scenes/billing/billingLogic.tsx"),billingProductLogic=__webpack_require__("./frontend/src/scenes/billing/billingProductLogic.ts"),jsx_runtime=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let BillingLimit=_ref=>{let{product}=_ref,limitInputRef=(0,react.useRef)(null),{billing,billingLoading}=(0,index_esm.useValues)(billingLogic.kr),{isEditingBillingLimit,customLimitUsd,hasCustomLimitSet,currentAndUpgradePlans}=(0,index_esm.useValues)((0,billingProductLogic.cD)({product,billingLimitInputRef:limitInputRef})),{setIsEditingBillingLimit,setBillingLimitInput,submitBillingLimitInput}=(0,index_esm.useActions)((0,billingProductLogic.cD)({product})),initialBillingLimit=currentAndUpgradePlans?.currentPlan?.initial_billing_limit;return billing?.billing_period?.interval!=="month"||!product.subscribed||product.inclusion_only?null:(0,jsx_runtime.jsx)(lib.Form,{formKey:"billingLimitInput",props:{product:product},logic:billingProductLogic.cD,enableFormOnSubmit:!0,children:(0,jsx_runtime.jsxs)("div",{className:"border-t border-border p-8","data-attr":`billing-limit-input-wrapper-${product.type}`,children:[(0,jsx_runtime.jsx)("h4",{className:"mb-2",children:"Billing limit"}),(0,jsx_runtime.jsx)("div",{className:"flex",children:isEditingBillingLimit?(0,jsx_runtime.jsxs)("div",{className:"flex items-start justify-start gap-2.5",children:[(0,jsx_runtime.jsx)(LemonField.D,{name:"input",className:"max-w-52",children:_ref2=>{let{value,onChange,error}=_ref2;return(0,jsx_runtime.jsx)(src.DF,{inputRef:limitInputRef,type:"number",fullWidth:!1,status:error?"danger":"default",value:value,"data-attr":`billing-limit-input-${product.type}`,onChange:onChange,prefix:(0,jsx_runtime.jsx)("b",{children:"$"}),disabled:billingLoading,min:0,step:10,suffix:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["/ ",billing?.billing_period?.interval]}),size:"small"})}}),(0,jsx_runtime.jsx)(src.Jp,{loading:billingLoading,type:"primary",size:"small",htmlType:"submit","data-attr":`save-billing-limit-${product.type}`,children:"Save"}),(0,jsx_runtime.jsx)(src.Jp,{onClick:()=>{setIsEditingBillingLimit(!1)},disabled:billingLoading,type:"secondary",size:"small",children:"Cancel"}),hasCustomLimitSet?(0,jsx_runtime.jsx)(src.Jp,{status:"danger",size:"small","data-attr":`remove-billing-limit-${product.type}`,tooltip:"Remove billing limit",onClick:()=>{setBillingLimitInput(null),submitBillingLimitInput()},children:"Remove limit"}):null]}):(0,jsx_runtime.jsxs)("div",{className:"flex items-center justify-center gap-1",children:[hasCustomLimitSet?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[customLimitUsd===initialBillingLimit?(0,jsx_runtime.jsx)(Tooltip.u,{title:"Initial limits protect you from accidentally incurring large unexpected charges. Some features may stop working and data may be dropped if your usage exceeds your limit.",children:(0,jsx_runtime.jsxs)("span",{className:"text-sm","data-attr":`default-billing-limit-${product.type}`,children:["This product has a default initial billing limit of"," ",(0,jsx_runtime.jsxs)("b",{children:["$",initialBillingLimit]}),"."]})}):(0,jsx_runtime.jsx)(Tooltip.u,{title:"Set a billing limit to control your recurring costs. Some features may stop working and data may be dropped if your usage exceeds your limit.",children:(0,jsx_runtime.jsxs)("span",{className:"text-sm","data-attr":`billing-limit-set-${product.type}`,children:["You have a ",(0,jsx_runtime.jsxs)("b",{children:["$",customLimitUsd?.toLocaleString()]})," billing limit set for ",product?.name?.toLowerCase(),"."]})}),(0,jsx_runtime.jsx)(src.Jp,{onClick:()=>setIsEditingBillingLimit(!0),status:"danger",size:"small",children:"Edit limit"})]}):(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsxs)("span",{className:"text-sm","data-attr":`billing-limit-not-set-${product.type}`,children:["You do not have a billing limit set for ",product?.name?.toLowerCase(),"."]}),(0,jsx_runtime.jsx)(src.Jp,{onClick:()=>setIsEditingBillingLimit(!0),status:"danger",size:"small",children:"Set a billing limit"})]})," "]})})]})})};var supportLogic=__webpack_require__("./frontend/src/lib/components/Support/supportLogic.ts"),dayjs=__webpack_require__("./frontend/src/lib/dayjs.ts");let BillingProductAddonActions=_ref=>{let content,{addon,productRef}=_ref,{billing,redirectPath,billingError,timeTotalInSeconds,timeRemainingInSeconds}=(0,index_esm.useValues)(billingLogic.kr),{currentAndUpgradePlans,billingProductLoading,trialLoading}=(0,index_esm.useValues)((0,billingProductLogic.cD)({product:addon,productRef})),{toggleIsPricingModalOpen,reportSurveyShown,setSurveyResponse,initiateProductUpgrade,setTrialModalOpen,activateTrial,cancelTrial}=(0,index_esm.useActions)((0,billingProductLogic.cD)({product:addon})),{featureFlags}=(0,index_esm.useValues)(featureFlagLogic.h),upgradePlan=currentAndUpgradePlans?.upgradePlan,{prorationAmount,isProrated}=(0,react.useMemo)(()=>(0,billing_utils.MG)({timeRemainingInSeconds,timeTotalInSeconds,amountUsd:upgradePlan?.unit_amount_usd,hasActiveSubscription:billing?.has_active_subscription}),[billing?.has_active_subscription,upgradePlan,timeRemainingInSeconds,timeTotalInSeconds]),trialExperiment=featureFlags[constants.y8.BILLING_TRIAL_FLOW],handleTrialActivation=()=>{"modal"===trialExperiment?setTrialModalOpen(!0):"control"===trialExperiment?activateTrial():initiateProductUpgrade(addon,currentAndUpgradePlans?.upgradePlan,redirectPath)};return addon.subscribed&&!addon.inclusion_only?content=addon.contact_support?null:(0,jsx_runtime.jsx)(More.T,{overlay:(0,jsx_runtime.jsx)(src.Jp,{fullWidth:!0,onClick:()=>{setSurveyResponse("$survey_response_1",addon.type),reportSurveyShown(constants.E1,addon.type)},children:"Remove add-on"})}):addon.included_with_main_product?content=(0,jsx_runtime.jsx)(src.oe,{type:"completion",icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconCheckCircle,{}),children:"Included with plan"}):billing?.trial&&billing?.trial?.target===addon.type?content=(0,jsx_runtime.jsxs)("div",{className:"flex flex-col items-end justify-end",children:[(0,jsx_runtime.jsx)(src.u,{title:(0,jsx_runtime.jsxs)("p",{children:["You are currently on a free trial for ",(0,jsx_runtime.jsx)("b",{children:(0,utils.wR)(billing?.trial?.target||"")})," ","until ",(0,jsx_runtime.jsx)("b",{children:(0,dayjs.Bv)(billing?.trial?.expires_at).format("LL")}),". At the end of the trial"," ",billing?.trial?.type==="autosubscribe"?"you will be automatically subscribed to the plan.":"you will be asked to subscribe. If you choose not to, you will lose access to the features."]}),children:(0,jsx_runtime.jsx)(src.oe,{type:"completion",icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconCheckCircle,{}),children:"You're on a trial for this add-on"})}),"enterprise"!==addon.type&&(0,jsx_runtime.jsx)(src.Jp,{type:"primary",size:"small",onClick:cancelTrial,loading:trialLoading,className:"mt-1",children:"Cancel trial"})]}):addon.contact_support?content=(0,jsx_runtime.jsx)(src.Jp,{type:"secondary",to:"https://posthog.com/talk-to-a-human",children:"Contact support"}):billing?.trial||(content=(()=>{let showPricing=currentAndUpgradePlans?.upgradePlan?.flat_rate,isTrialEligible=addon.trial&&!!trialExperiment;return(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[showPricing?(0,jsx_runtime.jsx)("h4",{className:"leading-5 font-bold mb-0 space-x-0.5",children:isTrialEligible?(0,jsx_runtime.jsxs)("span",{children:[addon.trial?.length," day free trial"]}):(0,jsx_runtime.jsx)("span",{children:formatFlatRate(Number(upgradePlan?.unit_amount_usd),upgradePlan?.unit)})}):(0,jsx_runtime.jsx)(src.Jp,{type:"secondary",onClick:toggleIsPricingModalOpen,children:"View pricing"}),!addon.inclusion_only&&(0,jsx_runtime.jsx)(src.Jp,{type:"primary",icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconPlus,{}),size:"small",disableClientSideRouting:!0,disabledReason:billingError&&billingError.message||billing?.subscription_level==="free"&&"Upgrade to add add-ons",loading:billingProductLoading===addon.type,onClick:isTrialEligible?handleTrialActivation:()=>initiateProductUpgrade(addon,currentAndUpgradePlans?.upgradePlan,""),children:isTrialEligible?"Start trial":"Add"})]})})()),(0,jsx_runtime.jsxs)("div",{className:"min-w-64",children:[(0,jsx_runtime.jsx)("div",{className:"ml-4 mt-2 self-center flex items-center justify-end gap-x-3 whitespace-nowrap",children:content}),addon.inclusion_only||addon.contact_support||billing?.trial||addon.subscribed||addon.included_with_main_product?null:addon.trial&&trialExperiment?(0,jsx_runtime.jsxs)("p",{className:"mt-2 text-xs text-muted text-right",children:["You'll have ",addon.trial.length," days to try it out. Then you'll be charged"," ",formatFlatRate(Number(upgradePlan?.unit_amount_usd),upgradePlan?.unit),"."]}):isProrated?(0,jsx_runtime.jsxs)("p",{className:"mt-2 text-xs text-muted text-right",children:["Pay ~$",prorationAmount," today (prorated) and",(0,jsx_runtime.jsx)("br",{}),formatFlatRate(Number(upgradePlan?.unit_amount_usd),upgradePlan?.unit)," every month thereafter."]}):null]})};var ProductPricingModal=__webpack_require__("./frontend/src/scenes/billing/ProductPricingModal.tsx"),UnsubscribeSurveyModal=__webpack_require__("./frontend/src/scenes/billing/UnsubscribeSurveyModal.tsx");let formatFlatRate=(flatRate,unit)=>unit?(0,jsx_runtime.jsxs)("span",{className:"space-x-0.5",children:[(0,jsx_runtime.jsx)("span",{children:(0,utils.Cp)(flatRate)}),(0,jsx_runtime.jsx)("span",{children:"/"}),(0,jsx_runtime.jsx)("span",{children:unit})]}):`$${flatRate}`,BillingProductAddon=_ref=>{let{addon}=_ref,productRef=(0,react.useRef)(null),{billing}=(0,index_esm.useValues)(billingLogic.kr),{isPricingModalOpen,currentAndUpgradePlans,surveyID,trialModalOpen,trialLoading}=(0,index_esm.useValues)((0,billingProductLogic.cD)({product:addon,productRef})),{toggleIsPricingModalOpen,setTrialModalOpen,activateTrial}=(0,index_esm.useActions)((0,billingProductLogic.cD)({product:addon})),{openSupportForm}=(0,index_esm.useActions)(supportLogic.Pw),upgradePlan=currentAndUpgradePlans?.upgradePlan,productType={plural:`${addon.unit}s`,singular:addon.unit},tierDisplayOptions=[{label:`Per ${productType.singular}`,value:"individual"}];billing?.has_active_subscription&&tierDisplayOptions.push({label:"Current bill",value:"total"});let addonFeatures=currentAndUpgradePlans?.upgradePlan?.features||currentAndUpgradePlans?.currentPlan?.features||addon.features?.filter(feature=>feature.name!==addon.name),is_enhanced_persons_og_customer="enhanced_persons"===addon.type&&addon.plans?.find(plan=>"addon-20240404-og-customers"===plan.plan_key);return(0,jsx_runtime.jsxs)("div",{className:"bg-bg-3000 rounded p-6 flex flex-col",ref:productRef,"data-attr":`billing-product-addon-${addon.type}`,children:[(0,jsx_runtime.jsxs)("div",{className:"sm:flex justify-between gap-x-4",children:[(0,jsx_runtime.jsxs)("div",{className:"flex gap-x-4",children:[(0,jsx_runtime.jsx)("div",{className:"w-8",children:(0,Products.getProductIcon)(addon.name,addon.icon_key,"text-2xl")}),(0,jsx_runtime.jsxs)("div",{children:[(0,jsx_runtime.jsxs)("div",{className:"flex gap-x-2 items-center mt-0 mb-2 ",children:[(0,jsx_runtime.jsx)("h4",{className:"leading-5 mb-1 font-bold",children:addon.name}),addon.inclusion_only?(0,jsx_runtime.jsx)("div",{className:"flex gap-x-2",children:(0,jsx_runtime.jsx)(src.u,{title:"Automatically included with your plan. Used based on whether you capture person profiles with your events.",children:(0,jsx_runtime.jsx)(src.oe,{type:"muted",children:"Config option"})})}):addon.subscribed&&(0,jsx_runtime.jsx)("div",{children:(0,jsx_runtime.jsx)(src.oe,{type:"primary",icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconCheckCircle,{}),children:"Subscribed"})})]}),(0,jsx_runtime.jsxs)("p",{className:"ml-0 mb-0",children:[addon.description," ",addon.docs_url&&(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(src.rU,{to:addon.docs_url,children:"Read the docs"})," for more information."]})]}),is_enhanced_persons_og_customer&&(0,jsx_runtime.jsx)("p",{className:"mt-2 mb-0",children:(0,jsx_runtime.jsxs)(src.rU,{to:"https://posthog.com/changelog/2024#person-profiles-launched-posthog-now-up-to-80percent-cheaper",className:"italic",target:"_blank",targetBlankIcon:!0,children:["Why is this here?"," "]})})]})]}),(0,jsx_runtime.jsx)(BillingProductAddonActions,{productRef:productRef,addon:addon})]}),(0,jsx_runtime.jsx)("div",{className:"mt-3 ml-11",children:addonFeatures?.length>2&&(0,jsx_runtime.jsxs)("div",{children:[(0,jsx_runtime.jsx)("p",{className:"ml-0 mb-2 max-w-200",children:"Features included:"}),(0,jsx_runtime.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-x-4",children:addonFeatures.filter(feature=>!feature.entitlement_only).map((feature,index)=>(0,jsx_runtime.jsxs)("div",{className:"flex gap-x-2 items-center mb-2",children:[(0,jsx_runtime.jsx)(posthog_icons_es.IconCheckCircle,{className:"text-success"}),(0,jsx_runtime.jsx)(src.u,{title:feature.description,children:(0,jsx_runtime.jsxs)("b",{children:[feature.name,feature.note?": "+feature.note:""]})},feature.key)]},"addon-features-"+addon.type+index))})]})}),(0,jsx_runtime.jsx)(ProductPricingModal.S,{modalOpen:isPricingModalOpen,onClose:toggleIsPricingModalOpen,product:addon,planKey:addon.subscribed?currentAndUpgradePlans?.currentPlan?.plan_key:currentAndUpgradePlans?.upgradePlan?.plan_key}),surveyID&&(0,jsx_runtime.jsx)(UnsubscribeSurveyModal.f,{product:addon}),(0,jsx_runtime.jsxs)(src.fQ,{isOpen:trialModalOpen,onClose:()=>setTrialModalOpen(!1),title:`Start your ${addon.name} trial`,description:`You'll have ${addon.trial?.length} days to try it out before being charged.`,footer:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(src.Jp,{type:"secondary",onClick:()=>setTrialModalOpen(!1),children:"Cancel"}),(0,jsx_runtime.jsx)(src.Jp,{type:"primary",onClick:activateTrial,loading:trialLoading,children:"Start trial"})]}),children:[(0,jsx_runtime.jsx)("p",{className:"mb-1.5",children:"Here's some stuff about the trial:"}),(0,jsx_runtime.jsxs)("ul",{className:"space-y-0.5",children:[(0,jsx_runtime.jsxs)("li",{className:"ml-2",children:["\uD83C\uDF89 It's ",(0,jsx_runtime.jsx)("b",{children:"free!"})]}),(0,jsx_runtime.jsxs)("li",{className:"ml-2",children:["\uD83D\uDCC5 The trial is for ",(0,jsx_runtime.jsxs)("b",{children:[addon.trial?.length," days"]})]}),(0,jsx_runtime.jsxs)("li",{className:"ml-2",children:["\uD83D\uDE80 You'll get access to ",(0,jsx_runtime.jsx)("b",{children:"all the features"})," of the plan immediately"]}),(0,jsx_runtime.jsx)("li",{className:"ml-2",children:"\uD83D\uDCE7 3 days before the trial ends, you'll be emailed a reminder that you'll be charged"}),(0,jsx_runtime.jsx)("li",{className:"ml-2",children:"\uD83D\uDEAB If you don't want to be charged, you can cancel anytime before the trial ends"}),(0,jsx_runtime.jsxs)("li",{className:"ml-2",children:["\uD83D\uDCB5 At the end of the trial, you'll be be subscribed and charged"," ",formatFlatRate(Number(upgradePlan?.unit_amount_usd),upgradePlan?.unit)]}),(0,jsx_runtime.jsxs)("li",{className:"ml-2",children:["☎️ If you have any questions, you can"," ",(0,jsx_runtime.jsx)(src.rU,{onClick:()=>{setTrialModalOpen(!1),openSupportForm({kind:"support",target_area:"billing"})},className:"cursor-pointer",children:"contact us"})]})]})]})]})};function Subrows(props){return(0,jsx_runtime.jsx)("div",{className:"px-2 pt-4 pb-6",children:(0,jsx_runtime.jsx)(src.g3,{dataSource:props.rows,columns:props.columns,embedded:!0,showHeader:!0})})}let BillingProductPricingTable=_ref=>{let{product}=_ref,{billing}=(0,index_esm.useValues)(billingLogic.kr),tableColumns=[{title:`Priced per ${product.unit}`,dataIndex:"volume",render:(_,item)=>(0,jsx_runtime.jsx)("h4",{className:"font-bold mb-0",children:item.volume})},{title:"Price",dataIndex:"basePrice"},{title:"Current Usage",dataIndex:"usage"},{title:"Total",dataIndex:"total",render:(_,item)=>(0,jsx_runtime.jsx)("span",{className:"font-bold mb-0 text-text-3000",children:item.total})},{title:"Projected Total",dataIndex:"projectedTotal"}],subscribedAddons=product.addons?.filter(addon=>addon.tiers&&addon.tiers?.length>0&&(addon.subscribed||addon.inclusion_only)),tableTierData=product.tiers&&product.tiers.length>0?product.tiers?.map((tier,i)=>{var _subscribedAddons$map;let subrows={rows:subscribedAddons?.length>0?[{productName:"Base price",usage:utils.JP(tier.current_usage),price:`$${tier.unit_amount_usd}`,total:`$${tier.current_amount_usd||"0.00"}`,projectedTotal:`$${parseFloat("None"===tier.projected_amount_usd?"0":tier.projected_amount_usd||"0").toFixed(2)}`},...null!==(_subscribedAddons$map=subscribedAddons?.map(addon=>({productName:addon.name,usage:utils.JP(addon.tiers?.[i]?.current_usage||0),price:`$${addon.tiers?.[i]?.unit_amount_usd||"0.00"}`,total:`$${addon.tiers?.[i]?.current_amount_usd||"0.00"}`,projectedTotal:`$${parseFloat(addon.tiers?.[i]?.projected_amount_usd==="None"?"0":addon.tiers?.[i]?.projected_amount_usd||"0").toFixed(2)}`})))&&void 0!==_subscribedAddons$map?_subscribedAddons$map:[]]:[],columns:[{title:"",dataIndex:"icon",render:()=>jsx_runtime.jsx(posthog_icons_es.IconArrowRightDown,{className:"transform -rotate-90 scale-x-[-1] text-base text-muted"})},{title:"Product name",dataIndex:"productName"},{title:"Price",dataIndex:"price"},{title:"Current Usage",dataIndex:"usage"},{title:"Total",dataIndex:"total"},{title:"Projected Total",dataIndex:"projectedTotal"}]},totalForTier=parseFloat(tier.current_amount_usd||"")+(product.addons?.reduce((acc,addon)=>acc+parseFloat(addon.tiers?.[i]?.current_amount_usd||""),0)||0),projectedTotalForTier=(parseFloat(tier.projected_amount_usd||"")||0)+product.addons?.reduce((acc,addon)=>acc+(parseFloat(addon.tiers?.[i]?.projected_amount_usd||"")||0),0),tierData={volume:product.tiers?getTierDescription(product.tiers,i,product,billing?.billing_period?.interval||""):"",basePrice:"0"!==tier.unit_amount_usd?`$${tier.unit_amount_usd}${subscribedAddons?.length>0?" + addons":""}`:"Free",usage:utils.JP(tier.current_usage),total:`$${totalForTier.toFixed(2)||"0.00"}`,projectedTotal:`$${projectedTotalForTier.toFixed(2)||"0.00"}`,subrows:subrows};return tierData}).concat([{volume:"Total",basePrice:"",usage:"",total:`$${product.current_amount_usd||"0.00"}`,projectedTotal:`$${product.projected_amount_usd||"0.00"}`,subrows:{rows:[],columns:[]}}]):void 0;return billing?.discount_percent&&parseFloat(product.projected_amount_usd||"")&&tableTierData?.push({volume:"Total after discount",basePrice:"",usage:"",total:`$${(parseInt(product.current_amount_usd||"0")*(1-billing?.discount_percent/100)).toFixed(2)||"0.00"}`,projectedTotal:`$${(parseInt(product.projected_amount_usd||"0")-parseInt(product.projected_amount_usd||"0")*(billing?.discount_percent/100)).toFixed(2)||"0.00"}`,subrows:{rows:[],columns:[]}}),(0,jsx_runtime.jsx)("div",{className:"pl-16 pb-8",children:product.tiered&&tableTierData?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(src.g3,{stealth:!0,embedded:!0,size:"small",uppercaseHeader:!1,columns:tableColumns,dataSource:tableTierData,expandable:{expandedRowRender:function renderExpand(row){return row.subrows?.rows?.length?(0,jsx_runtime.jsx)(Subrows,{...row.subrows}):null},rowExpandable:row=>!!row.subrows?.rows?.length}}),(0,jsx_runtime.jsx)(FeatureFlagUsageNotice,{product:product}),(0,jsx_runtime.jsx)(src.Vp,{type:"warning",className:"text-sm pt-2",children:"Tier breakdowns are updated once daily and may differ from the gauge above."})]}):(0,jsx_runtime.jsx)(src.g3,{stealth:!0,embedded:!0,size:"small",uppercaseHeader:!1,columns:[{title:"",dataIndex:"name"},{title:"Total",dataIndex:"total"}],dataSource:[{name:product.name,total:product.unit_amount_usd}]})})};var PlanComparison=__webpack_require__("./frontend/src/scenes/billing/PlanComparison.tsx");let getTierDescription=(tiers,i,product,interval)=>0===i?`First ${(0,billing_utils.nz)(tiers[i].up_to)} ${product.unit}s / ${interval}`:tiers[i].up_to?`${(0,billing_utils.nz)(tiers?.[i-1].up_to||null)} - ${(0,billing_utils.nz)(tiers[i].up_to)}`:`> ${(0,billing_utils.nz)(tiers?.[i-1].up_to||null)}`,BillingProduct=_ref=>{let{product}=_ref,productRef=(0,react.useRef)(null),{billing,redirectPath,isUnlicensedDebug,billingError}=(0,index_esm.useValues)(billingLogic.kr),{hasCustomLimitSet,showTierBreakdown,billingGaugeItems,isPricingModalOpen,isPlanComparisonModalOpen,currentAndUpgradePlans,surveyID,billingProductLoading}=(0,index_esm.useValues)((0,billingProductLogic.cD)({product})),{setShowTierBreakdown,toggleIsPricingModalOpen,toggleIsPlanComparisonModalOpen,reportSurveyShown,setSurveyResponse,setBillingProductLoading}=(0,index_esm.useActions)((0,billingProductLogic.cD)({product,productRef})),{reportBillingUpgradeClicked}=(0,index_esm.useActions)(eventUsageLogic.vx),{featureFlags}=(0,index_esm.useValues)(featureFlagLogic.h),{upgradePlan,currentPlan,downgradePlan}=currentAndUpgradePlans,additionalFeaturesOnUpgradedPlan=upgradePlan?upgradePlan?.features?.filter(feature=>!currentPlan?.features?.some(currentPlanFeature=>currentPlanFeature.name===feature.name)):currentPlan?.features?.filter(feature=>!downgradePlan?.features?.some(downgradePlanFeature=>downgradePlanFeature.name===feature.name))||[],upgradeToPlanKey=upgradePlan?.plan_key,currentPlanKey=currentPlan?.plan_key,showUpgradeCard=(upgradePlan?.product_key!=="platform_and_support"||product?.addons?.length===0)&&upgradePlan&&billing?.subscription_level==="custom",{ref,size}=(0,useResizeObserver.S)({0:"small",700:"medium"}),isTemporaryFreeProduct=!product.tiered&&!product.free_allocation&&!product.inclusion_only||product.tiered&&product.tiers?.length===1&&"0"===product.tiers[0].unit_amount_usd;return(0,jsx_runtime.jsxs)("div",{className:(0,clsx_m.default)("flex flex-wrap max-w-300 pb-8",{"flex-col pb-4":"small"===size}),ref:ref,"data-attr":`billing-product-${product.type}`,children:[(0,jsx_runtime.jsxs)("div",{className:"border border-border rounded w-full bg-bg-light",ref:productRef,children:[(0,jsx_runtime.jsx)("div",{className:"border-b border-border rounded-t bg-bg-3000 p-4",children:(0,jsx_runtime.jsxs)("div",{className:"flex gap-4 items-center justify-between",children:[(0,Products.getProductIcon)(product.name,product.icon_key,"text-2xl"),(0,jsx_runtime.jsxs)("div",{children:[(0,jsx_runtime.jsxs)("h3",{className:"font-bold mb-0 flex items-center gap-x-2",children:[product.name," ",isTemporaryFreeProduct&&(0,jsx_runtime.jsx)(src.oe,{type:"highlight",children:"included with your plan"})]}),(0,jsx_runtime.jsx)("div",{children:product.description})]}),(0,jsx_runtime.jsxs)("div",{className:"flex grow justify-end gap-x-2 items-center",children:[product.docs_url&&(0,jsx_runtime.jsx)(src.Jp,{icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconDocument,{}),size:"small",to:product.docs_url,className:"justify-end",tooltip:"Read the docs"}),product.contact_support?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[product.subscribed&&(0,jsx_runtime.jsx)("p",{className:"m-0",children:"Need to manage your plan?"}),(0,jsx_runtime.jsx)(src.Jp,{type:"primary",to:"mailto:sales@posthog.com?subject=Enterprise%20plan%20request",children:"Get in touch"})]}):product.subscribed&&(0,jsx_runtime.jsx)(More.T,{overlay:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(src.Jp,{fullWidth:!0,to:"https://posthog.com/docs/billing/estimating-usage-costs#how-to-reduce-your-posthog-costs",children:"Learn how to reduce your bill"}),billing?.subscription_level==="custom"&&(product.plans?.length>0?(0,jsx_runtime.jsx)(src.Jp,{fullWidth:!0,onClick:()=>{setSurveyResponse("$survey_response_1",product.type),reportSurveyShown(constants.E1,product.type)},children:"Unsubscribe"}):(0,jsx_runtime.jsx)(src.Jp,{fullWidth:!0,to:"mailto:sales@posthog.com?subject=Custom%20plan%20unsubscribe%20request",children:"Contact support to unsubscribe"}))]})}),surveyID&&(0,jsx_runtime.jsx)(UnsubscribeSurveyModal.f,{product:product})]})]})}),(0,jsx_runtime.jsxs)("div",{className:"px-8 pb-8 sm:pb-0",children:[product.percentage_usage>1&&(0,jsx_runtime.jsxs)(LemonBanner.V,{className:"mt-6",type:"error",children:["You have exceeded the ",hasCustomLimitSet?"billing limit":"free tier limit"," for this product."]}),(0,jsx_runtime.jsx)("div",{className:"sm:flex w-full items-center gap-x-8",children:product.contact_support&&(!product.subscribed||isUnlicensedDebug)?(0,jsx_runtime.jsxs)("div",{className:"py-8",children:[!billing?.has_active_subscription&&(0,jsx_runtime.jsxs)("p",{className:"ml-0",children:["Every product subsciption comes with free platform features such as"," ",(0,jsx_runtime.jsx)("b",{children:"Multiple projects, Integrations, Apps, and more"}),". Subscribe to one of the products above to get instant access."]}),(0,jsx_runtime.jsxs)("p",{className:"m-0",children:["Need additional platform and support (aka enterprise) features like ",(0,jsx_runtime.jsx)("b",{children:"SAML SSO"}),","," ",(0,jsx_runtime.jsx)("b",{children:"advanced permissioning"}),", and more?"," ",(0,jsx_runtime.jsx)(src.rU,{to:"mailto:sales@posthog.com?subject=Enterprise%20plan%20request",children:"Get in touch"})," ","for a quick chat."]})]}):!isUnlicensedDebug&&(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:isTemporaryFreeProduct?(0,jsx_runtime.jsxs)("div",{className:"grow",children:[(0,jsx_runtime.jsxs)("div",{className:"grow",children:[(0,jsx_runtime.jsx)(BillingGauge.V,{items:billingGaugeItems,product:product}),(0,jsx_runtime.jsx)(FeatureFlagUsageNotice,{product:product})]}),product.type==types.Md.DATA_WAREHOUSE&&["free-20240530-beta-users-initial","free-20240813-beta-users-initial"].includes(currentPlan?.plan_key||"")&&new DatesetShowTierBreakdown(!showTierBreakdown)}),(0,jsx_runtime.jsxs)("div",{className:"grow",children:[(0,jsx_runtime.jsx)(BillingGauge.V,{items:billingGaugeItems,product:product}),!product.subscribed&&(0,jsx_runtime.jsx)(FeatureFlagUsageNotice,{product:product})]})]}),product.subscribed?(0,jsx_runtime.jsxs)("div",{className:"flex justify-end gap-8 flex-wrap items-end shrink-0",children:[(0,jsx_runtime.jsx)(Tooltip.u,{title:`The current ${billing?.discount_percent?"discounted ":""}amount you have been billed for this ${billing?.billing_period?.interval} so far. This number updates once daily.`,children:(0,jsx_runtime.jsxs)("div",{className:"flex flex-col items-center",children:[(0,jsx_runtime.jsx)("div",{className:"font-bold text-3xl leading-7",children:(0,utils.Cp)(parseFloat(product.current_amount_usd||"0")*(1-(billing?.discount_percent?billing.discount_percent/100:0)))}),(0,jsx_runtime.jsxs)("span",{className:"text-xs text-muted",children:[(0,utils.fm)(billing?.billing_period?.interval||""),"-to-date"]})]})}),product.tiers&&(0,jsx_runtime.jsx)(Tooltip.u,{title:`This is roughly calculated based on your current bill${billing?.discount_percent?", discounts on your account,":""} and the remaining time left in this billing period. This number updates once daily.`,children:(0,jsx_runtime.jsxs)("div",{className:"flex flex-col items-center justify-end",children:[(0,jsx_runtime.jsx)("div",{className:"font-bold text-muted text-lg leading-5",children:(0,utils.Cp)(parseFloat(product.projected_amount_usd||"0")*(1-(billing?.discount_percent?billing.discount_percent/100:0)))}),(0,jsx_runtime.jsx)("span",{className:"text-xs text-muted",children:"Projected"})]})})]}):null]}):product.current_amount_usd?(0,jsx_runtime.jsx)("div",{className:"my-8",children:(0,jsx_runtime.jsx)(Tooltip.u,{title:`The current amount you will be billed for this ${billing?.billing_period?.interval}.`,children:(0,jsx_runtime.jsxs)("div",{className:"flex flex-col items-center",children:[(0,jsx_runtime.jsx)("div",{className:"font-bold text-3xl leading-7",children:(0,utils.Cp)(product.current_amount_usd)}),(0,jsx_runtime.jsxs)("span",{className:"text-xs text-muted",children:["per ",billing?.billing_period?.interval||"period"]})]})})}):null})}),product.price_description?(0,jsx_runtime.jsx)(LemonBanner.V,{type:"info",children:(0,jsx_runtime.jsx)("span",{dangerouslySetInnerHTML:{__html:product.price_description}})}):null,showTierBreakdown&&(0,jsx_runtime.jsx)(BillingProductPricingTable,{product:product}),product.addons?.length>0&&(0,jsx_runtime.jsxs)("div",{className:"pb-8",children:[(0,jsx_runtime.jsx)("h4",{className:"my-4",children:"Add-ons"}),billing?.subscription_level=="free"&&(0,jsx_runtime.jsx)(LemonBanner.V,{type:"warning",className:"text-sm mb-4",hideIcon:!0,children:(0,jsx_runtime.jsxs)("div",{className:"flex justify-between items-center",children:[(0,jsx_runtime.jsx)("div",{children:"Add-ons are only available on paid plans. Upgrade to access these features."}),(0,jsx_runtime.jsx)(src.Jp,{className:"shrink-0",to:`/api/billing/activate?products=all_products:&redirect_path=${redirectPath}&intent_product=${product.type}`,type:"primary",status:"alt",disableClientSideRouting:!0,loading:!!billingProductLoading,onClick:()=>setBillingProductLoading(product.type),children:"Upgrade now"})]})}),(0,jsx_runtime.jsx)("div",{className:"gap-y-4 flex flex-col",children:product.addons.filter(addon=>!addon.inclusion_only||!featureFlags[constants.y8.PERSONLESS_EVENTS_NOT_SUPPORTED]).map((addon,i)=>(0,jsx_runtime.jsx)(BillingProductAddon,{addon:addon},i))})]})]}),!isTemporaryFreeProduct&&(0,jsx_runtime.jsx)(BillingLimit,{product:product}),showUpgradeCard&&(0,jsx_runtime.jsxs)("div",{"data-attr":`upgrade-card-${product.type}`,className:`border-t border-border p-8 flex justify-between ${upgradePlan?"bg-warning-highlight":"bg-success-highlight"}`,children:[(0,jsx_runtime.jsxs)("div",{children:[currentPlan&&(0,jsx_runtime.jsxs)("h4",{className:`${upgradePlan?"text-warning-dark":"text-success"}`,children:["You're on the ",currentPlan.name," plan for ",product.name,"."]}),additionalFeaturesOnUpgradedPlan?.length>0?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)("p",{className:"ml-0 max-w-200",children:"Subscribe to get sweet features such as:"}),(0,jsx_runtime.jsxs)("div",{children:[additionalFeaturesOnUpgradedPlan?.map((feature,i)=>i<3&&jsx_runtime.jsxs("div",{className:"flex gap-x-2 items-center mb-2",children:[jsx_runtime.jsx(posthog_icons_es.IconCheckCircle,{className:"text-success"}),jsx_runtime.jsx(Tooltip.u,{title:feature.description,children:jsx_runtime.jsxs("b",{children:[feature.name," "]})},feature.key)]},"additional-features-"+product.type+i)),!billing?.has_active_subscription&&(0,jsx_runtime.jsxs)("div",{className:"flex gap-x-2 items-center mb-2",children:[(0,jsx_runtime.jsx)(posthog_icons_es.IconCheckCircle,{className:"text-success"}),(0,jsx_runtime.jsx)(Tooltip.u,{title:"Multiple projects, Feature flags, Experiments, Integrations, Apps, and more",children:(0,jsx_runtime.jsx)("b",{children:"Upgraded platform features"})})]}),(0,jsx_runtime.jsxs)("div",{className:"flex gap-x-2 items-center mb-2",children:[(0,jsx_runtime.jsx)(posthog_icons_es.IconCheckCircle,{className:"text-success"}),(0,jsx_runtime.jsx)(src.rU,{onClick:()=>toggleIsPlanComparisonModalOpen(),children:(0,jsx_runtime.jsx)("b",{children:"And more..."})})]})]})]}):(0,jsx_runtime.jsxs)("p",{className:"ml-0 max-w-200",children:["You've got access to all the features we offer for ",product.name,"."]}),upgradePlan?.tiers?.[0]?.unit_amount_usd&&0===parseInt(upgradePlan?.tiers?.[0].unit_amount_usd)&&(0,jsx_runtime.jsxs)("p",{className:"ml-0 mb-0 mt-4",children:[(0,jsx_runtime.jsxs)("b",{children:["First ",(0,billing_utils.i7)(upgradePlan?.tiers?.[0].up_to,null)," ",product.unit,"s free"]}),", then just $",upgradePlan?.tiers?.[1]?.unit_amount_usd," per ",product.unit," and"," ",(0,jsx_runtime.jsx)(src.rU,{onClick:()=>toggleIsPlanComparisonModalOpen(),children:"volume discounts"}),"."]})]}),upgradePlan&&(0,jsx_runtime.jsx)("div",{className:"ml-4",children:(0,jsx_runtime.jsxs)("div",{className:"flex flex-wrap gap-x-2 gap-y-2",children:[(0,jsx_runtime.jsx)(src.Jp,{type:"secondary",onClick:()=>toggleIsPlanComparisonModalOpen(),className:"grow",center:!0,children:"Compare plans"}),upgradePlan.contact_support?(0,jsx_runtime.jsx)(src.Jp,{type:"primary",to:"mailto:sales@posthog.com?subject=Enterprise%20plan%20request",children:"Get in touch"}):"has_subscription"!==upgradePlan.included_if&&!upgradePlan.unit_amount_usd&&(0,jsx_runtime.jsx)(BillingUpgradeCTA.y,{"data-attr":`${product.type}-upgrade-cta`,to:(0,billing_utils.Y_)({product,redirectPath,includeAddons:!1}),type:"primary",icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconPlus,{}),disableClientSideRouting:!0,loading:billingProductLoading===product.type,disabledReason:billingError&&billingError.message,onClick:()=>{reportBillingUpgradeClicked(product.type),setBillingProductLoading(product.type)},className:"grow",center:!0,children:"Subscribe"})]})}),(0,jsx_runtime.jsx)(PlanComparison.S0,{product:product,includeAddons:!1,modalOpen:isPlanComparisonModalOpen,onClose:()=>toggleIsPlanComparisonModalOpen()})]})]}),(0,jsx_runtime.jsx)(ProductPricingModal.S,{modalOpen:isPricingModalOpen,onClose:toggleIsPricingModalOpen,product:product,planKey:product.subscribed?currentPlanKey:upgradeToPlanKey})]})},FeatureFlagUsageNotice=_ref2=>{let{product}=_ref2;return"feature_flags"===product.type?(0,jsx_runtime.jsxs)("p",{className:"mt-4 ml-0 text-sm text-muted italic",children:[(0,jsx_runtime.jsx)(posthog_icons_es.IconInfo,{className:"mr-1"}),"Questions? Here's"," ",(0,jsx_runtime.jsx)(src.rU,{to:"https://posthog.com/docs/feature-flags/common-questions#billing--usage",className:"italic",children:"how we calculate usage"})," ","for feature flags."]}):null}},"./frontend/src/scenes/billing/CreditCTAHero.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{N:()=>DEFAULT_ESTIMATED_MONTHLY_CREDIT_AMOUNT_USD,p:()=>CreditCTAHero});var _posthog_icons__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/@posthog+icons@0.9.2_react-dom@18.2.0_react@18.2.0/node_modules/@posthog/icons/dist/posthog-icons.es.js"),_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),kea__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),lib_components_hedgehogs__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/components/hedgehogs.tsx"),lib_constants__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/constants.tsx"),lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),use_resize_observer__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./node_modules/.pnpm/use-resize-observer@8.0.0_react-dom@18.2.0_react@18.2.0/node_modules/use-resize-observer/dist/bundle.esm.js"),_billingLogic__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/scenes/billing/billingLogic.tsx"),_PurchaseCreditsModal__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/scenes/billing/PurchaseCreditsModal.tsx"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let DEFAULT_ESTIMATED_MONTHLY_CREDIT_AMOUNT_USD=500,CreditCTAHero=()=>{let{width,ref:heroRef}=(0,use_resize_observer__WEBPACK_IMPORTED_MODULE_9__.Z)(),{featureFlags}=(0,kea__WEBPACK_IMPORTED_MODULE_2__.useValues)(lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_5__.h),{creditOverview,isPurchaseCreditsModalOpen,isCreditCTAHeroDismissed,computedDiscount}=(0,kea__WEBPACK_IMPORTED_MODULE_2__.useValues)(_billingLogic__WEBPACK_IMPORTED_MODULE_6__.kr),{showPurchaseCreditsModal,toggleCreditCTAHeroDismissed}=(0,kea__WEBPACK_IMPORTED_MODULE_2__.useActions)(_billingLogic__WEBPACK_IMPORTED_MODULE_6__.kr),isEligible=creditOverview.eligible||featureFlags[lib_constants__WEBPACK_IMPORTED_MODULE_4__.y8.SELF_SERVE_CREDIT_OVERRIDE];if("paid"===creditOverview.status||!isEligible)return null;if(isCreditCTAHeroDismissed)return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)("div",{className:"absolute top-0 right-0 z-10",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)("div",{className:"cursor-pointer bg-mark rounded-lg pr-3 pl-2 py-1 hover:bg-mark-light transition-colors group",onClick:()=>toggleCreditCTAHeroDismissed(!1),children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(lib_components_hedgehogs__WEBPACK_IMPORTED_MODULE_3__.BurningMoneyHog,{className:"w-8 h-8 group-hover:animate-bounce",style:{animationDuration:"0.75s"}}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("span",{children:["Get ",100*computedDiscount,"% off"]})]})})});let estimatedMonthlyCreditAmountUsd=creditOverview?.estimated_monthly_credit_amount_usd||DEFAULT_ESTIMATED_MONTHLY_CREDIT_AMOUNT_USD;return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("div",{className:"flex relative justify-between items-start rounded-lg bg-bg-light border mb-2 gap-2",ref:heroRef,children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)("div",{className:"absolute top-2 right-2 z-10",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__.Jp,{icon:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_posthog_icons__WEBPACK_IMPORTED_MODULE_0__.IconX,{className:"w-4 h-4"}),size:"small",onClick:()=>toggleCreditCTAHeroDismissed(!0),"aria-label":"Close"})}),width&&width>500&&(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)("div",{className:"shrink-0 relative pt-4 overflow-hidden",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(lib_components_hedgehogs__WEBPACK_IMPORTED_MODULE_3__.BurningMoneyHog,{className:"w-40 h-40"})}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("div",{className:"p-4 flex-1",children:[isEligible&&"pending"===creditOverview.status&&(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.Fragment,{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)("h1",{className:"mb-0",children:"We're applying your credits"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("p",{className:"mt-2 mb-0 max-w-xl",children:["Your credits will be ready within 24 hours of payment."," ","send_invoice"===creditOverview.collection_method?"You'll receive an email with a link to pay the invoice. Please make sure to pay that as soon as possible so we can apply the credits to your account.":"We'll will charge your card on file and we'll email you if there are any issues!"]}),creditOverview.invoice_url&&(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__.Jp,{type:"primary",onClick:()=>creditOverview.invoice_url&&window.open(creditOverview.invoice_url,"_blank"),className:"mt-4",children:"View invoice"})]}),isEligible&&(!creditOverview||"none"===creditOverview.status)&&(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.Fragment,{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("h2",{className:"mb-0",children:["Stop burning money."," ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("span",{className:"text-success-light",children:["Prepay and save ",100*computedDiscount,"%"]})," over the next 12 months."]}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("p",{className:"mt-2 mb-0 max-w-xl",children:["Based on your usage, your monthly bill is forecasted to be an average of"," ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("strong",{children:["$",estimatedMonthlyCreditAmountUsd.toFixed(0),"/month"]})," over the next year."]}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("p",{className:"mt-2 mb-0 max-w-xl",children:["This qualifies you for a ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("strong",{children:[100*computedDiscount,"% discount"]})," by pre-purchasing usage credits. Which gives you a net savings of"," ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("strong",{children:["$",Math.round(estimatedMonthlyCreditAmountUsd*computedDiscount*12).toLocaleString("en-US",{minimumFractionDigits:0,maximumFractionDigits:0})]})," ","over the next year."]}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__.Jp,{type:"primary",status:"alt",onClick:()=>showPurchaseCreditsModal(!0),className:"mt-4",children:"Learn more"}),creditOverview.estimated_monthly_credit_amount_usd>1&&(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.Fragment,{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__.p2,{className:"my-4"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("div",{className:"mt-2 flex justify-between items-center gap-2 w-full",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("p",{className:"mb-2 flex-1",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)("strong",{children:"Also available:"})," Our Enterprise tier offers dedicated support in a private Slack channel, personalized training, and most importantly, free merch."]}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__.Jp,{type:"primary",to:"mailto:sales@posthog.com?subject=Let's talk enterprise!",children:"Talk to sales"})]})]})]})]}),isPurchaseCreditsModalOpen&&(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_PurchaseCreditsModal__WEBPACK_IMPORTED_MODULE_7__.B,{})]})}},"./frontend/src/scenes/billing/PlanComparison.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{mo:()=>PlanComparison_PlanComparison,S0:()=>PlanComparisonModal});var injectStylesIntoStyleTag=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),injectStylesIntoStyleTag_default=__webpack_require__.n(injectStylesIntoStyleTag),PlanComparison=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/billing/PlanComparison.scss"),PlanComparison_default=__webpack_require__.n(PlanComparison),options={};options.insert="head",options.singleton=!1,injectStylesIntoStyleTag_default()(PlanComparison_default(),options),PlanComparison_default().locals;var posthog_icons_es=__webpack_require__("./node_modules/.pnpm/@posthog+icons@0.9.2_react-dom@18.2.0_react@18.2.0/node_modules/@posthog/icons/dist/posthog-icons.es.js"),src=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),clsx_m=__webpack_require__("./node_modules/.pnpm/clsx@1.2.1/node_modules/clsx/dist/clsx.m.js"),index_esm=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),BillingUpgradeCTA=__webpack_require__("./frontend/src/lib/components/BillingUpgradeCTA.tsx"),constants=__webpack_require__("./frontend/src/lib/constants.tsx"),Tooltip=__webpack_require__("./frontend/src/lib/lemon-ui/Tooltip/index.ts"),featureFlagLogic=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),eventUsageLogic=__webpack_require__("./frontend/src/lib/utils/eventUsageLogic.ts"),react=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/index.js"),Products=__webpack_require__("./frontend/src/scenes/products/Products.tsx"),bundle_esm=__webpack_require__("./node_modules/.pnpm/use-resize-observer@8.0.0_react-dom@18.2.0_react@18.2.0/node_modules/use-resize-observer/dist/bundle.esm.js"),billing_utils=__webpack_require__("./frontend/src/scenes/billing/billing-utils.ts"),billingLogic=__webpack_require__("./frontend/src/scenes/billing/billingLogic.tsx"),billingProductLogic=__webpack_require__("./frontend/src/scenes/billing/billingProductLogic.ts"),UnsubscribeSurveyModal=__webpack_require__("./frontend/src/scenes/billing/UnsubscribeSurveyModal.tsx"),jsx_runtime=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function PlanIcon(_ref){let{feature,className,timeDenominator}=_ref;return(0,jsx_runtime.jsx)("div",{className:"flex items-center text-xs text-muted",children:feature?feature.limit?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(posthog_icons_es.IconWarning,{className:(0,clsx_m.default)("text-warning mx-4 shrink-0",className)}),feature.limit&&`${(0,billing_utils.i7)(feature.limit,null)} ${feature.unit&&feature.unit}${timeDenominator?`/${timeDenominator}`:""}`,feature.note]}):(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(posthog_icons_es.IconCheckCircle,{className:(0,clsx_m.default)("text-success mx-4 shrink-0",className)}),feature.note]}):(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:(0,jsx_runtime.jsx)(posthog_icons_es.IconX,{className:(0,clsx_m.default)("text-danger mx-4",className)})})})}let PricingTiers=_ref2=>{let{plan,product}=_ref2,{width,ref:tiersRef}=(0,bundle_esm.Z)(),tiers=plan?.tiers,allTierPrices=tiers?.map(tier=>parseFloat(tier.unit_amount_usd)),sigFigs=allTierPrices?.map(price=>price?.toString().split(".")[1]?.length).sort((a,b)=>b-a)[0];return(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:tiers?tiers?.map((tier,i)=>jsx_runtime.jsxs("div",{className:clsx_m.default("flex",width&&width<100?"flex-col mb-2":"justify-between items-center"),ref:tiersRef,children:[jsx_runtime.jsx("span",{className:"text-xs",children:billing_utils.i7(tier.up_to,tiers[i-1]?.up_to,!0,product.unit)}),jsx_runtime.jsx("span",{className:"font-bold",children:0===i&&0===parseFloat(tier.unit_amount_usd)?"Free":`$${parseFloat(tier.unit_amount_usd).toFixed(sigFigs)}`})]},`${plan.plan_key}-${product.type}-${tier.up_to}`)):product?.free_allocation?(0,jsx_runtime.jsxs)("div",{className:(0,clsx_m.default)("flex",width&&width<100?"flex-col mb-2":" justify-between items-center"),ref:tiersRef,children:[(0,jsx_runtime.jsxs)("span",{className:"text-xs",children:["Up to ",(0,billing_utils.i7)(product?.free_allocation,null)," ",product?.unit,"s/mo"]}),(0,jsx_runtime.jsx)("span",{className:"font-bold",children:"Free"})]},`${plan.plan_key}-${product.type}-tiers`):null})},PlanComparison_PlanComparison=_ref3=>{let{product,includeAddons=!1}=_ref3,{billing,redirectPath,timeRemainingInSeconds,timeTotalInSeconds}=(0,index_esm.useValues)(billingLogic.kr),{width,ref:planComparisonRef}=(0,bundle_esm.Z)(),{reportBillingUpgradeClicked,reportBillingDowngradeClicked}=(0,index_esm.useActions)(eventUsageLogic.vx),{surveyID,comparisonModalHighlightedFeatureKey,billingProductLoading}=(0,index_esm.useValues)((0,billingProductLogic.cD)({product})),{reportSurveyShown,setSurveyResponse,setBillingProductLoading}=(0,index_esm.useActions)((0,billingProductLogic.cD)({product})),{featureFlags}=(0,index_esm.useValues)(featureFlagLogic.h),plans=product.plans?.filter(plan=>!plan.included_if||"has_subscription"==plan.included_if||plan.current_plan);if(plans?.length===0)return null;let currentPlanIndex=plans.findIndex(plan=>plan.current_plan),fullyFeaturedPlan=plans[plans.length-1],ctaAction=billing?.subscription_level==="custom"?"Subscribe":"Upgrade",upgradeButtons=plans?.map((plan,i)=>jsx_runtime.jsxs("td",{className:"PlanTable__td__upgradeButton",children:[jsx_runtime.jsx(BillingUpgradeCTA.y,{to:plan.contact_support?"mailto:sales@posthog.com?subject=Enterprise%20plan%20request":i=currentPlanIndex?"default":"alt",fullWidth:!0,center:!0,disableClientSideRouting:!plan.contact_support,disabledReason:"has_subscription"==plan.included_if&&i>=currentPlanIndex?billing?.has_active_subscription?"Unsubscribe from all products to remove":null:plan.current_plan?"Current plan":void 0,onClick:()=>{plan.current_plan||(setBillingProductLoading(product.type),i=currentPlanIndex&&!billing?.has_active_subscription?ctaAction:plan.free_allocation&&!plan.tiers?"Select":ctaAction}),!plan.current_plan&&!plan.free_allocation&&includeAddons&&product.addons?.length>0&&jsx_runtime.jsx("p",{className:"text-center ml-0 mt-2 mb-0",children:jsx_runtime.jsx(src.rU,{to:`/api/billing/activate?products=all_products:&redirect_path=${redirectPath}`,className:"text-muted text-xs",disableClientSideRouting:!0,children:"or subscribe without addons"})})]},`${plan.plan_key}-cta`));return(0,jsx_runtime.jsxs)("table",{className:"PlanComparison w-full table-fixed",ref:planComparisonRef,children:[(0,jsx_runtime.jsx)("thead",{children:(0,jsx_runtime.jsxs)("tr",{children:[(0,jsx_runtime.jsx)("td",{}),plans?.map(plan=>jsx_runtime.jsx("td",{children:jsx_runtime.jsx("h3",{className:"font-bold",children:plan.name})},`plan-type-${plan.plan_key}`))]})}),(0,jsx_runtime.jsxs)("tbody",{children:[(0,jsx_runtime.jsxs)("tr",{className:"PlanTable__tr__border",children:[(0,jsx_runtime.jsxs)("td",{className:"font-bold",children:["Monthly ",product.tiered&&"base "," price"]}),plans?.map(plan=>{let{prorationAmount,isProrated}=billing_utils.MG({timeRemainingInSeconds,timeTotalInSeconds,amountUsd:plan.unit_amount_usd,hasActiveSubscription:billing?.has_active_subscription});return jsx_runtime.jsxs("td",{className:"text-sm font-medium",children:[plan.free_allocation&&!plan.tiers?"Free forever":plan.unit_amount_usd?`$${parseFloat(plan.unit_amount_usd).toFixed(0)} per month`:plan.contact_support?"Custom":"has_subscription"==plan.included_if?billing?.subscription_level==="custom"?"Free, included with any product subscription":"Usage-based - starting at $0":"$0 per month",isProrated&&jsx_runtime.jsxs("p",{className:"text-xxs text-muted font-normal italic mt-2",children:["Pay ~$",prorationAmount," today",isProrated&&" (prorated)"," and"," ",isProrated&&`$${parseInt(plan.unit_amount_usd||"0")} `,"every month thereafter."]})]},`${plan.plan_key}-basePrice`)})]}),product.tiered&&(0,jsx_runtime.jsxs)("tr",{className:"PlanTable__tr__border",children:[(0,jsx_runtime.jsxs)("th",{scope:"row",children:[includeAddons&&product.addons?.length>0&&(0,jsx_runtime.jsx)("p",{className:"ml-0",children:(0,jsx_runtime.jsx)("span",{className:"font-bold",children:product.name})}),(0,jsx_runtime.jsxs)("p",{className:"ml-0 text-xs mt-1",children:["Priced per ",product.unit]})]}),plans?.map(plan=>jsx_runtime.jsx("td",{children:jsx_runtime.jsx(PricingTiers,{plan:plan,product:product})},`${plan.plan_key}-tiers-td`))]}),(0,jsx_runtime.jsxs)("tr",{children:[(0,jsx_runtime.jsx)("td",{}),upgradeButtons]}),includeAddons&&product.addons.length>0&&(0,jsx_runtime.jsx)("tr",{children:(0,jsx_runtime.jsx)("th",{colSpan:1,className:"PlanTable__th__section rounded text-left",children:(0,jsx_runtime.jsx)("h3",{className:"mt-6 mb-6",children:"Available add-ons:"})})}),includeAddons&&product.addons?.filter(addon=>!addon.inclusion_only||!featureFlags[constants.y8.PERSONLESS_EVENTS_NOT_SUPPORTED]).map(addon=>addon.tiered?jsx_runtime.jsxs("tr",{className:"PlanTable__tr__border",children:[jsx_runtime.jsxs("th",{scope:"row",children:[jsx_runtime.jsxs("p",{className:"ml-0",children:[jsx_runtime.jsx(Tooltip.u,{title:addon.description,children:jsx_runtime.jsx("span",{className:"font-bold cursor-default",children:addon.name})}),jsx_runtime.jsx(Tooltip.u,{title:addon.inclusion_only?"Automatically charged based on SDK config options and usage.":"If subscribed, charged on all usage.",children:jsx_runtime.jsx(src.oe,{type:addon.inclusion_only?"option":"primary",className:"ml-2",children:addon.inclusion_only?"config":"add-on"})})]}),jsx_runtime.jsxs("p",{className:"ml-0 text-xs text-muted mt-1",children:["Priced per ",addon.unit]})]}),plans?.map((plan,i)=>addon.inclusion_only?plan.free_allocation&&!plan.tiers?jsx_runtime.jsx("td",{children:jsx_runtime.jsx(PricingTiers,{plan:plan,product:product})},`${addon.name}-free-tiers-td`):jsx_runtime.jsx("td",{children:jsx_runtime.jsx(AddonPlanTiers,{plan:addon.plans?.[i],addon:addon})},`${addon.type}-tiers-td`):plan.free_allocation&&!plan.tiers?jsx_runtime.jsx("td",{children:jsx_runtime.jsx("p",{className:"text-muted text-xs",children:"Not available on this plan."})},`${addon.name}-free-tiers-td`):jsx_runtime.jsx("td",{children:jsx_runtime.jsx(AddonPlanTiers,{plan:addon.plans?.[0],addon:addon})},`${addon.type}-tiers-td`))]},addon.name+"pricing-row"):null),(0,jsx_runtime.jsx)("tr",{children:(0,jsx_runtime.jsx)("th",{colSpan:1,className:"PlanTable__th__section rounded text-left",children:(0,jsx_runtime.jsxs)("h3",{className:"mt-6 mb-2",children:["platform_and_support"===product.type?"Platform":"Product"," features:"]})})}),fullyFeaturedPlan?.features?.map((feature,i)=>jsx_runtime.jsxs("tr",{className:clsx_m.default(i!=fullyFeaturedPlan?.features?.length-1||billing?.has_active_subscription?"":"PlanTable__tr__border"),children:[jsx_runtime.jsx("th",{className:clsx_m.default("PlanTable__th__feature",width&&width<600&&"PlanTable__th__feature--reduced_padding",i==fullyFeaturedPlan?.features?.length-1&&"PlanTable__th__last-feature"),children:jsx_runtime.jsx(Tooltip.u,{title:feature.description,children:jsx_runtime.jsx("div",{className:comparisonModalHighlightedFeatureKey===feature.key?"border-b-2 border-danger-lighter px-1 pb-1 w-max":void 0,children:jsx_runtime.jsx("span",{children:feature.name})})})}),plans?.map(plan=>jsx_runtime.jsx("td",{children:jsx_runtime.jsx(PlanIcon,{feature:plan.features?.find(thisPlanFeature=>feature.key===thisPlanFeature.key),className:"text-base"})},`${plan.plan_key}-${feature.key}`))]},`tr-${feature.key}`)),!billing?.has_active_subscription&&!product.inclusion_only&&(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)("tr",{children:(0,jsx_runtime.jsx)("th",{colSpan:1,className:"PlanTable__th__section rounded text-left",children:(0,jsx_runtime.jsx)("h3",{className:"mt-6 mb-2",children:(0,jsx_runtime.jsx)(Tooltip.u,{title:"Organizations with any paid subscription get access to additional features.",children:(0,jsx_runtime.jsx)("span",{children:"Included platform features:"})})})})}),billing?.products.filter(product=>product.inclusion_only).map(includedProduct=>{let includedPlans=includedProduct.plans.filter(plan=>"has_subscription"==plan.included_if||plan.current_plan);return jsx_runtime.jsxs(react.Fragment,{children:[jsx_runtime.jsx("tr",{children:jsx_runtime.jsx("th",{colSpan:3,className:"PlanTable__th__section bg-bg-3000 justify-left rounded text-left mb-2",children:jsx_runtime.jsxs("div",{className:"flex items-center gap-x-2 my-2",children:[Products.getProductIcon(includedProduct.name,includedProduct.icon_key,"text-2xl"),jsx_runtime.jsx(Tooltip.u,{title:includedProduct.description,children:jsx_runtime.jsx("span",{className:"font-bold",children:includedProduct.name})})]})})}),includedPlans.find(plan=>"has_subscription"==plan.included_if)?.features?.map((feature,i)=>jsx_runtime.jsxs("tr",{children:[jsx_runtime.jsx("th",{className:clsx_m.default("text-muted PlanTable__th__feature",width&&width<600&&"PlanTable__th__feature--reduced_padding",i==(includedPlans.find(plan=>"has_subscription"==plan.included_if)?.features?.length||0)-1?"PlanTable__th__last-feature":""),children:jsx_runtime.jsx(Tooltip.u,{title:feature.description,children:jsx_runtime.jsx("span",{children:feature.name})})}),includedPlans?.map(plan=>jsx_runtime.jsxs(react.Fragment,{children:[includedPlans?.length===1&&jsx_runtime.jsx("td",{children:jsx_runtime.jsx(PlanIcon,{feature:void 0,className:"text-base"})}),jsx_runtime.jsx("td",{children:jsx_runtime.jsx(PlanIcon,{feature:plan.features?.find(thisPlanFeature=>feature.key===thisPlanFeature.key),className:"text-base"})})]},`${plan.plan_key}-${feature.key}`))]},`tr-${feature.key}`))]},`inclusion-only-product-features-${includedProduct.type}`)})]})]}),surveyID&&(0,jsx_runtime.jsx)(UnsubscribeSurveyModal.f,{product:product})]})},PlanComparisonModal=_ref4=>{let{product,title,includeAddons=!1,modalOpen,onClose}=_ref4;return(0,jsx_runtime.jsx)(src.fQ,{isOpen:modalOpen,onClose:onClose,children:(0,jsx_runtime.jsx)("div",{className:"PlanComparisonModal flex w-full h-full justify-center p-6",children:(0,jsx_runtime.jsxs)("div",{className:"text-left bg-bg-light rounded relative w-full",children:[title?(0,jsx_runtime.jsx)("h2",{children:title}):(0,jsx_runtime.jsxs)("h2",{children:[product.name," plans"]}),(0,jsx_runtime.jsx)(PlanComparison_PlanComparison,{product:product,includeAddons:includeAddons})]})})})},AddonPlanTiers=_ref5=>{let{plan,addon}=_ref5,[showTiers,setShowTiers]=(0,react.useState)(!1);return showTiers?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(PricingTiers,{plan:plan,product:addon}),(0,jsx_runtime.jsx)("p",{className:"mb-0",children:(0,jsx_runtime.jsx)(src.rU,{onClick:()=>setShowTiers(!1),className:"text-xs",children:"Hide volume discounts"})})]}):(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsxs)("p",{className:"mb-1",children:[(0,jsx_runtime.jsxs)("b",{children:["First ",(0,billing_utils.i7)(plan?.tiers?.[0].up_to||0,null)," ",addon.unit,"s free"]}),", then just $",plan?.tiers?.[1].unit_amount_usd,"."]}),(0,jsx_runtime.jsx)("p",{className:"mb-0",children:(0,jsx_runtime.jsx)(src.rU,{onClick:()=>setShowTiers(!0),className:"text-xs",children:"Show volume discounts"})})]})}},"./frontend/src/scenes/billing/ProductPricingModal.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{S:()=>ProductPricingModal});var _posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),lib_utils__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/lib/utils.tsx"),_BillingProduct__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/scenes/billing/BillingProduct.tsx"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let ProductPricingModal=_ref=>{let{product,planKey,modalOpen,onClose}=_ref;if(!planKey)return null;let tiers=product?.plans?.find(plan=>plan.plan_key===planKey)?.tiers;if(!product||!tiers)return null;let isFirstTierFree=0===parseFloat(tiers[0]?.unit_amount_usd),numberOfSigFigs=tiers.map(tier=>tier.unit_amount_usd?.split(".")[1]?.length).sort((a,b)=>b-a)[0];return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.fQ,{isOpen:modalOpen,onClose:onClose,children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("div",{className:"flex items-center w-full h-full justify-center p-8",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("div",{className:"text-left bg-bg-light rounded relative w-full",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("h5",{className:"text-gray mb-1",children:[(0,lib_utils__WEBPACK_IMPORTED_MODULE_1__.fm)(product.name)," pricing, starting at"]}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("p",{className:"mb-1",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("span",{className:"font-bold text-base",children:["$",parseFloat(isFirstTierFree?tiers?.[1]?.unit_amount_usd:tiers?.[0]?.unit_amount_usd).toFixed(numberOfSigFigs)]}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("span",{className:"text-gray",children:["/",product.unit]})]}),isFirstTierFree&&(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("p",{className:"text-gray",children:[(0,_BillingProduct__WEBPACK_IMPORTED_MODULE_2__.Fk)(tiers,0,product,"month")," free"]}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("div",{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("h4",{className:"font-bold",children:"Volume discounts"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("div",{className:"",children:tiers.map((tier,i)=>(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("div",{className:"flex justify-between border-b border-border border-dashed py-1 gap-x-8",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("p",{className:"col-span-1 mb-0",children:(0,_BillingProduct__WEBPACK_IMPORTED_MODULE_2__.Fk)(tiers,i,product,"month")}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("p",{className:"font-bold mb-0 ",children:isFirstTierFree&&0===i?"Free":`$${parseFloat(tier.unit_amount_usd).toFixed(numberOfSigFigs)}`})]},`tiers-modal-${product.name}-tier-${i}`))})]})]})})})}},"./frontend/src/scenes/billing/PurchaseCreditsModal.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{B:()=>PurchaseCreditsModal});var _posthog_icons__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/@posthog+icons@0.9.2_react-dom@18.2.0_react@18.2.0/node_modules/@posthog/icons/dist/posthog-icons.es.js"),_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),kea__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_forms__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/.pnpm/kea-forms@3.2.0_kea@3.1.5/node_modules/kea-forms/lib/index.js"),lib_components_Support_supportLogic__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/components/Support/supportLogic.ts"),lib_lemon_ui_LemonField__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonField/index.ts"),lib_lemon_ui_LemonRadio__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonRadio/index.ts"),_BillingGauge__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/scenes/billing/BillingGauge.tsx"),_billingLogic__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./frontend/src/scenes/billing/billingLogic.tsx"),_CreditCTAHero__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./frontend/src/scenes/billing/CreditCTAHero.tsx"),_types__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__("./frontend/src/scenes/billing/types.ts"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let PurchaseCreditsModal=()=>{let{showPurchaseCreditsModal,submitCreditForm}=(0,kea__WEBPACK_IMPORTED_MODULE_2__.useActions)(_billingLogic__WEBPACK_IMPORTED_MODULE_8__.kr),{creditOverview,isCreditFormSubmitting,creditForm,creditDiscount}=(0,kea__WEBPACK_IMPORTED_MODULE_2__.useValues)(_billingLogic__WEBPACK_IMPORTED_MODULE_8__.kr),{openSupportForm}=(0,kea__WEBPACK_IMPORTED_MODULE_2__.useActions)(lib_components_Support_supportLogic__WEBPACK_IMPORTED_MODULE_4__.Pw),creditInputValue=+creditForm.creditInput||0,estimatedMonthlyCreditAmountUsd=creditOverview.estimated_monthly_credit_amount_usd||_CreditCTAHero__WEBPACK_IMPORTED_MODULE_9__.N;return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__.fQ,{onClose:()=>showPurchaseCreditsModal(!1),width:"max(44vw)",title:"Prepay for usage credits and get a discount",footer:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.Fragment,{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__.Jp,{type:"secondary",onClick:()=>showPurchaseCreditsModal(!1),disabled:isCreditFormSubmitting,children:"Cancel"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__.Jp,{type:"primary",onClick:()=>submitCreditForm(),loading:isCreditFormSubmitting,children:["Buy"," ",creditForm.creditInput?`$${Math.round(creditInputValue-creditInputValue*creditDiscount).toLocaleString("en-US",{minimumFractionDigits:0,maximumFractionDigits:0})}`:""," ","credits"]})]}),children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(kea_forms__WEBPACK_IMPORTED_MODULE_3__.Form,{formKey:"creditForm",logic:_billingLogic__WEBPACK_IMPORTED_MODULE_8__.kr,enableFormOnSubmit:!0,children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("div",{className:"flex flex-col gap-3.5",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("p",{className:"mb-0",children:"We're giving you the option to buy usage credits in advance at discount of up to 30%."}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("p",{className:"mb-0",children:["Based on your usage, we think you'll use"," ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("b",{children:["$",(+estimatedMonthlyCreditAmountUsd).toLocaleString("en-US",{minimumFractionDigits:0,maximumFractionDigits:0})]})," ","of credits per month, for a total of"," ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("b",{children:["$",(12*+estimatedMonthlyCreditAmountUsd).toLocaleString("en-US",{minimumFractionDigits:0,maximumFractionDigits:0})]})," ","credits for the year."]}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(lib_lemon_ui_LemonField__WEBPACK_IMPORTED_MODULE_5__.D,{name:"creditInput",label:"How many credits do you want to purchase?",help:"Credits are dispersed monthly and roll over to the next month. If you use more than the available credits in any month, you'll pay for the usage at the standard rate. Credits expire after 1 year from purchase.",children:_ref=>{let{value,onChange,error}=_ref;return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("div",{className:"max-w-40",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__.DF,{type:"number",fullWidth:!1,status:error?"danger":"default",value:value,"data-attr":"credit-input",onChange:onChange,prefix:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("b",{children:"$"}),min:0,step:10,suffix:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.Fragment,{children:"/ year"}),size:"small"})})}}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(_BillingGauge__WEBPACK_IMPORTED_MODULE_7__.V,{items:[{type:_types__WEBPACK_IMPORTED_MODULE_10__.b.FreeTier,text:creditInputValue>=3e3&&creditInputValue<2e4?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.Fragment,{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(_posthog_icons__WEBPACK_IMPORTED_MODULE_0__.IconCheckCircle,{className:"text-success"})," 10% off"]}):"10% off",value:3e3,prefix:"$",top:!0},{type:_types__WEBPACK_IMPORTED_MODULE_10__.b.FreeTier,text:creditInputValue>=2e4&&creditInputValue<6e4?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.Fragment,{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(_posthog_icons__WEBPACK_IMPORTED_MODULE_0__.IconCheckCircle,{className:"text-success"})," 20% off"]}):"20% off",value:2e4,prefix:"$",top:!0},{type:_types__WEBPACK_IMPORTED_MODULE_10__.b.FreeTier,text:creditInputValue>=6e4&&creditInputValue<1e5?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.Fragment,{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(_posthog_icons__WEBPACK_IMPORTED_MODULE_0__.IconCheckCircle,{className:"text-success"})," 25% off"]}):"25% off",prefix:"$",value:6e4,top:!0},{type:_types__WEBPACK_IMPORTED_MODULE_10__.b.FreeTier,text:creditInputValue>=1e5?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.Fragment,{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(_posthog_icons__WEBPACK_IMPORTED_MODULE_0__.IconCheckCircle,{className:"text-success"})," 35% off"]}):"35% off",prefix:"$",value:1e5,top:!0},{type:_types__WEBPACK_IMPORTED_MODULE_10__.b.CurrentUsage,text:"Credits purchased",prefix:"$",value:creditInputValue,top:!1}],product:{percentage_usage:.3}}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("div",{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("p",{className:"mb-1 text-md font-semibold",children:"Payment details"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("p",{className:"mb-0",children:"Choose how you'd like to pay for your credits."})]}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(lib_lemon_ui_LemonField__WEBPACK_IMPORTED_MODULE_5__.D,{name:"collectionMethod",children:_ref2=>{let{value,onChange}=_ref2;return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(lib_lemon_ui_LemonRadio__WEBPACK_IMPORTED_MODULE_6__._,{value:value,onChange:onChange,options:[{value:"charge_automatically",label:creditOverview.cc_last_four?`Pay with credit card on file (**** ${creditOverview.cc_last_four})`:"Pay with credit card on file"},{value:"send_invoice",label:creditOverview.email?`Send me an invoice to ${creditOverview.email}`:"Send me an invoice"}]})}}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__.p2,{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("div",{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("p",{className:"mb-1 text-md font-semibold",children:"Summary"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("p",{className:"mb-0",children:"Here's a summary of what you'll pay."})]}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__.g3,{showHeader:!1,columns:[{title:"",dataIndex:"item"},{title:"",dataIndex:"value"}],dataSource:[{item:"Credits you'll receive",value:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("span",{className:"flex space-x-2",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("span",{className:"line-through",children:["$",creditInputValue.toLocaleString("en-US",{minimumFractionDigits:0,maximumFractionDigits:0})]}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("span",{className:"italic",children:["$",100*creditDiscount,"% off"]})]})},{item:"Discount",value:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("span",{className:"text-success-light",children:["-$",Math.round(creditInputValue*creditDiscount).toLocaleString("en-US",{minimumFractionDigits:0,maximumFractionDigits:0})]})},{item:"Due today",value:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("span",{className:"font-semibold",children:["$",Math.round(creditInputValue-creditInputValue*creditDiscount).toLocaleString("en-US",{minimumFractionDigits:0,maximumFractionDigits:0})]})}]}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("div",{className:"flex gap-2",children:["Have questions?"," ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__.rU,{onClick:()=>{showPurchaseCreditsModal(!1),openSupportForm({kind:"support",target_area:"billing"})},children:"Get support"})]})]})})})}},"./frontend/src/scenes/billing/UnsubscribeSurveyModal.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{f:()=>UnsubscribeSurveyModal_UnsubscribeSurveyModal});var injectStylesIntoStyleTag=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),injectStylesIntoStyleTag_default=__webpack_require__.n(injectStylesIntoStyleTag),UnsubscribeSurveyModal=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/billing/UnsubscribeSurveyModal.scss"),UnsubscribeSurveyModal_default=__webpack_require__.n(UnsubscribeSurveyModal),options={};options.insert="head",options.singleton=!1,injectStylesIntoStyleTag_default()(UnsubscribeSurveyModal_default(),options),UnsubscribeSurveyModal_default().locals;var src=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),index_esm=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),hedgehogs=__webpack_require__("./frontend/src/lib/components/hedgehogs.tsx"),Hogfetti=__webpack_require__("./frontend/src/lib/components/Hogfetti/Hogfetti.tsx"),supportLogic=__webpack_require__("./frontend/src/lib/components/Support/supportLogic.ts"),react=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/index.js"),billingLogic=__webpack_require__("./frontend/src/scenes/billing/billingLogic.tsx"),billingProductLogic=__webpack_require__("./frontend/src/scenes/billing/billingProductLogic.ts"),posthog_icons_es=__webpack_require__("./node_modules/.pnpm/@posthog+icons@0.9.2_react-dom@18.2.0_react@18.2.0/node_modules/@posthog/icons/dist/posthog-icons.es.js"),LemonButton=__webpack_require__("./frontend/src/lib/lemon-ui/LemonButton/index.ts"),LemonTable=__webpack_require__("./frontend/src/lib/lemon-ui/LemonTable/index.ts"),LemonTableLink=__webpack_require__("./frontend/src/lib/lemon-ui/LemonTable/LemonTableLink.tsx"),organizationLogic=__webpack_require__("./frontend/src/scenes/organizationLogic.tsx"),lib=__webpack_require__("./node_modules/.pnpm/kea-loaders@3.0.0_kea@3.1.5/node_modules/kea-loaders/lib/index.js"),api=__webpack_require__("./frontend/src/lib/api.ts"),getAppContext=__webpack_require__("./frontend/src/lib/utils/getAppContext.ts"),constants=__webpack_require__("./frontend/src/scenes/pipeline/destinations/constants.ts"),destinationsLogic=__webpack_require__("./frontend/src/scenes/pipeline/destinations/destinationsLogic.tsx"),HogFunctionIcon=__webpack_require__("./frontend/src/scenes/pipeline/hogfunctions/HogFunctionIcon.tsx"),pipelineAccessLogic=__webpack_require__("./frontend/src/scenes/pipeline/pipelineAccessLogic.tsx"),types=__webpack_require__("./frontend/src/scenes/pipeline/types.ts"),urls=__webpack_require__("./frontend/src/scenes/urls.ts"),userLogic=__webpack_require__("./frontend/src/scenes/userLogic.ts"),src_types=__webpack_require__("./frontend/src/types.ts"),utils=__webpack_require__("./frontend/src/scenes/pipeline/utils.tsx"),jsx_runtime=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let exportsUnsubscribeTableLogic=(0,index_esm.kea)([(0,index_esm.path)(["scenes","pipeline","ExportsUnsubscribeTableLogic"]),(0,index_esm.connect)(()=>({values:[pipelineAccessLogic.g,["canConfigurePlugins"],userLogic.userLogic,["user"],(0,destinationsLogic.w)({types:constants.SO}),["paidHogFunctions"]],actions:[(0,destinationsLogic.w)({types:constants.SO}),["toggleNodeHogFunction"]]})),(0,index_esm.actions)({disablePlugin:id=>({id}),pauseBatchExport:id=>({id}),disableHogFunction:id=>({id})}),(0,lib.loaders)(_ref=>{let{values}=_ref;return{pluginConfigsToDisable:[{},{loadPluginConfigs:async()=>{let res=await api.ZP.get("api/organizations/@current/plugins/exports_unsubscribe_configs");return Object.fromEntries(res.map(pluginConfig=>[pluginConfig.id,pluginConfig]))},disablePlugin:async _ref2=>{let{id}=_ref2;if(!values.canConfigurePlugins)return values.pluginConfigsToDisable;let response=await api.ZP.update(`api/plugin_config/${id}`,{enabled:!1,deleted:!0});return{...values.pluginConfigsToDisable,[id]:response}}}],batchExportConfigs:[{},{loadBatchExportConfigs:async()=>{let res=await api.ZP.loadPaginatedResults("api/organizations/@current/batch_exports");return Object.fromEntries(res.filter(batchExportConfig=>!batchExportConfig.paused).map(batchExportConfig=>[batchExportConfig.id,batchExportConfig]))},pauseBatchExport:async _ref3=>{let{id}=_ref3;return await api.ZP.create(`api/organizations/@current/batch_exports/${id}/pause`),{...values.batchExportConfigs,[id]:{...values.batchExportConfigs[id],paused:!0}}}}]}}),(0,index_esm.selectors)({loading:[s=>[s.batchExportConfigsLoading,s.pluginConfigsToDisableLoading],(batchExportsLoading,pluginConfigsLoading)=>batchExportsLoading||pluginConfigsLoading],unsubscribeDisabledReason:[s=>[s.loading,s.pluginConfigsToDisable,s.batchExportConfigs],(loading,pluginConfigsToDisable,batchExportConfigs)=>loading?"Loading...":Object.values(pluginConfigsToDisable).some(pluginConfig=>pluginConfig.enabled)?"All apps above must be disabled first":Object.values(batchExportConfigs).some(batchExportConfig=>!batchExportConfig.paused)?"All batch exports must be disabled first":null],itemsToDisable:[s=>[s.pluginConfigsToDisable,s.batchExportConfigs,s.paidHogFunctions],(pluginConfigsToDisable,batchExportConfigs,paidHogFunctions)=>{let pluginConfigs=Object.values(pluginConfigsToDisable).map(pluginConfig=>({plugin_config_id:pluginConfig.id,team_id:pluginConfig.team_id,name:pluginConfig.name,description:pluginConfig.description,icon:(0,jsx_runtime.jsx)(utils.Wf,{plugin:pluginConfig.plugin_info,imageSize:"small"}),disabled:!pluginConfig.enabled,url:urls.j.pipelineNode(src_types.We.Destination,pluginConfig.id)})),batchExports=Object.values(batchExportConfigs).map(batchExportConfig=>({batch_export_id:batchExportConfig.id,team_id:batchExportConfig.team_id,name:batchExportConfig.name,description:batchExportConfig.destination.type,icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconDatabase,{style:{fontSize:30}}),disabled:batchExportConfig.paused,url:urls.j.pipelineNode(src_types.We.Destination,batchExportConfig.id)})),hogFunctions=paidHogFunctions.map(hogFunction=>({hog_function_id:hogFunction.id,team_id:(0,getAppContext.ev)(),name:hogFunction.name,description:hogFunction.description,icon:(0,jsx_runtime.jsx)(HogFunctionIcon._,{src:hogFunction.icon_url,size:"small"}),disabled:!1,url:urls.j.pipelineNode(src_types.We.Destination,`hog-${hogFunction.id}`)}));return[...pluginConfigs,...batchExports,...hogFunctions]}]}),(0,index_esm.listeners)(_ref4=>{let{actions,values}=_ref4;return{disableHogFunction:_ref5=>{var _values$paidHogFuncti;let{id}=_ref5,hogFunction=(null!==(_values$paidHogFuncti=values.paidHogFunctions)&&void 0!==_values$paidHogFuncti?_values$paidHogFuncti:[]).find(f=>f.id===id);hogFunction&&actions.toggleNodeHogFunction({name:hogFunction.name,enabled:!0,stage:src_types.We.Destination,interval:"realtime",backend:types.b.HogFunction,id,hog_function:hogFunction},!1)}}}),(0,index_esm.afterMount)(_ref6=>{let{actions}=_ref6;actions.loadPluginConfigs(),actions.loadBatchExportConfigs()})]);function ExportsUnsubscribeTable(){let{loading,itemsToDisable}=(0,index_esm.useValues)(exportsUnsubscribeTableLogic),{disablePlugin,pauseBatchExport,disableHogFunction}=(0,index_esm.useActions)(exportsUnsubscribeTableLogic),{currentOrganization}=(0,index_esm.useValues)(organizationLogic.p);return currentOrganization?(0,jsx_runtime.jsx)(LemonTable.g,{dataSource:itemsToDisable,size:"small",loading:loading,columns:[{width:0,render:function RenderAppInfo(_,item){return item.icon}},{title:"App name",render:function RenderPluginName(_,item){return(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:(0,jsx_runtime.jsx)(LemonTableLink.i,{to:item.url,title:item.name,description:item.description})})}},{title:"Project",render:function RenderTeam(_,item){return currentOrganization.teams.find(team=>team.id===item.team_id)?.name}},{title:"",render:function RenderPluginDisable(_,item){return(0,jsx_runtime.jsx)(LemonButton.J,{type:"secondary",onClick:()=>{void 0!==item.plugin_config_id?disablePlugin(item.plugin_config_id):void 0!==item.batch_export_id?pauseBatchExport(item.batch_export_id):void 0!==item.hog_function_id&&disableHogFunction(item.hog_function_id)},disabledReason:item.disabled?"Already disabled":null,icon:item.disabled?(0,jsx_runtime.jsx)(posthog_icons_es.IconCheckCircle,{}):void 0,children:item.disabled?"Disabled":"Disable"})}}]}):(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{})}let UnsubscribeSurveyModal_UnsubscribeSurveyModal=_ref=>{let{product}=_ref,{trigger,HogfettiComponent}=(0,Hogfetti.Z)(),{surveyID,surveyResponse,isAddonProduct,unsubscribeModalStep,unsubscribeReasonQuestions}=(0,index_esm.useValues)((0,billingProductLogic.cD)({product,hogfettiTrigger:trigger})),{setSurveyResponse,toggleSurveyReason,reportSurveyDismissed,setUnsubscribeModalStep,resetUnsubscribeModalStep,setHedgehogSatisfied,triggerMoreHedgehogs}=(0,index_esm.useActions)((0,billingProductLogic.cD)({product})),{deactivateProduct,resetUnsubscribeError}=(0,index_esm.useActions)(billingLogic.kr),{unsubscribeError,billingLoading,billing}=(0,index_esm.useValues)(billingLogic.kr),{unsubscribeDisabledReason,itemsToDisable}=(0,index_esm.useValues)(exportsUnsubscribeTableLogic),{openSupportForm}=(0,index_esm.useActions)(supportLogic.Pw),[randomizedReasons]=(0,react.useState)(billingProductLogic.G),textAreaNotEmpty=surveyResponse.$survey_response?.length>0,includesPipelinesAddon="data_pipelines"==product.type||"product_analytics"==product.type&&product?.addons?.filter(addon=>"data_pipelines"===addon.type)[0]?.subscribed||billing?.subscription_level==="paid"&&!isAddonProduct,action="Unsubscribe",actionVerb="unsubscribing";return billing?.subscription_level==="paid"&&(action=isAddonProduct?"Remove addon":"Downgrade",actionVerb=isAddonProduct?"removing this addon":"downgrading"),(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(HogfettiComponent,{}),(0,jsx_runtime.jsx)(src.fQ,{onClose:()=>{reportSurveyDismissed(surveyID),resetUnsubscribeError(),resetUnsubscribeModalStep()},width:"max(44vw)",title:isAddonProduct?action:"platform_and_support"===product.type?`${action} your plan`:`${action} from ${product.name}`,footer:1===unsubscribeModalStep?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(src.Jp,{type:"secondary",onClick:()=>{reportSurveyDismissed(surveyID)},children:"Cancel"}),(0,jsx_runtime.jsx)(src.Jp,{type:textAreaNotEmpty?"primary":"secondary",disabledReason:0===surveyResponse.$survey_response_2.length?"Please select a reason":textAreaNotEmpty?includesPipelinesAddon?unsubscribeDisabledReason:void 0:"Please share your feedback",onClick:()=>{surveyResponse.$survey_response_2.includes("Not enough hedgehogs")?(setUnsubscribeModalStep(2),triggerMoreHedgehogs()):deactivateProduct(billing?.subscription_level!=="paid"||isAddonProduct?product.type:"all_products")},loading:billingLoading,children:action})]}):null,children:1===unsubscribeModalStep?(0,jsx_runtime.jsxs)("div",{className:"flex flex-col gap-3.5",children:[unsubscribeError&&(0,jsx_runtime.jsx)(src.Vp,{type:"error",children:(0,jsx_runtime.jsxs)("p",{children:[unsubscribeError.detail," ",unsubscribeError.link]})}),isAddonProduct?(0,jsx_runtime.jsx)("p",{className:"mb-0",children:"We're sorry to see you go! Please note, you'll lose access to the addon features immediately."}):(0,jsx_runtime.jsxs)("p",{className:"mb-0",children:["We're sorry to see you go! Please note, you'll lose access to platform features and usage limits will apply immediately. And if you have any outstanding invoices, they will be billed immediately."," ",(0,jsx_runtime.jsx)(src.rU,{to:billing?.stripe_portal_url,target:"_blank",children:"View invoices"})]}),(0,jsx_runtime.jsxs)(src.HQ,{children:[billing?.subscription_level==="paid"?`Why are you ${actionVerb}?`:`Why are you ${actionVerb} from ${product.name}?`," ",(0,jsx_runtime.jsx)("i",{className:"text-muted",children:"(you can select multiple)"}),(0,jsx_runtime.jsx)(src.u,{title:"Required",children:(0,jsx_runtime.jsx)("span",{className:"text-danger",children:"*"})})]}),(0,jsx_runtime.jsx)("div",{className:"grid grid-cols-2 gap-2",children:randomizedReasons.map(reason=>(0,jsx_runtime.jsx)(src.Hw,{bordered:!0,label:reason.reason,dataAttr:`unsubscribe-reason-${reason.reason.toLowerCase().replace(" ","-")}`,checked:surveyResponse.$survey_response_2.includes(reason.reason),onChange:()=>toggleSurveyReason(reason.reason),className:"w-full",labelClassName:"w-full"},reason.reason))}),surveyResponse.$survey_response_2.length>0&&(0,jsx_runtime.jsx)(src._V,{"data-attr":"unsubscribe-reason-survey-textarea",placeholder:unsubscribeReasonQuestions,value:surveyResponse.$survey_response,onChange:value=>{setSurveyResponse("$survey_response",value)}}),(0,jsx_runtime.jsx)(src.Vp,{type:"info",children:(0,jsx_runtime.jsxs)("p",{children:["Are you looking to control your costs? Learn about ways to ",(0,jsx_runtime.jsx)(src.rU,{to:"https://posthog.com/docs/billing/estimating-usage-costs#how-to-reduce-your-posthog-costs",target:"_blank",onClick:()=>{reportSurveyDismissed(surveyID)},children:"reduce your bill"}),`${"session_replay"!==product.type?" or ":", "}`,(0,jsx_runtime.jsx)(src.rU,{to:"",target:"_blank",onClick:()=>{reportSurveyDismissed(surveyID),openSupportForm({target_area:"billing",isEmailFormOpen:!0})},children:"chat with support"}),"session_replay"===product.type&&(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[", or ",(0,jsx_runtime.jsx)(src.rU,{to:"mailto:sales@posthog.com?subject=Joining%session%replay%controls%20beta",target:"_blank",onClick:()=>{reportSurveyDismissed(surveyID)},children:"join our beta"})," for tuning recording volume with sampling and minimum duration."]}),"."]})}),includesPipelinesAddon&&itemsToDisable.length>0?(0,jsx_runtime.jsxs)("div",{className:"mt-6",children:[(0,jsx_runtime.jsx)("h3",{className:"mt-2 mb-2 mr-8",children:"Important: Disable remaining export apps"}),(0,jsx_runtime.jsx)("p",{children:"To avoid unexpected impact on your data, you must explicitly disable the following apps and exports before unsubscribing:"}),(0,jsx_runtime.jsx)(ExportsUnsubscribeTable,{})]}):null]}):(0,jsx_runtime.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,jsx_runtime.jsxs)("div",{className:"text-center",children:[(0,jsx_runtime.jsx)("h3",{className:"text-lg mb-2",children:"How about now? Was that enough hedgehogs?"}),(0,jsx_runtime.jsx)("p",{className:"text-muted mb-4",children:"Look at all these adorable hedgehogs dancing just for you! \uD83E\uDD94✨"}),(0,jsx_runtime.jsx)("div",{className:"flex justify-center items-center",children:(0,jsx_runtime.jsx)(hedgehogs.HeartHog,{width:"100",height:"100"})})]}),(0,jsx_runtime.jsx)("div",{className:"flex gap-2 justify-center",children:(0,jsx_runtime.jsx)(src.rU,{onClick:triggerMoreHedgehogs,disabled:billingLoading,children:"Still not enough! More hedgehogs! \uD83E\uDD94"})}),(0,jsx_runtime.jsx)(src.p2,{}),(0,jsx_runtime.jsxs)("div",{className:"space-y-2 flex flex-col items-center justify-center",children:[(0,jsx_runtime.jsxs)(src.Jp,{type:"primary",loading:billingLoading,onClick:()=>{setHedgehogSatisfied(!0),deactivateProduct(billing?.subscription_level!=="paid"||isAddonProduct?product.type:"all_products")},children:["Never enough, proceed with ",action]}),(0,jsx_runtime.jsx)(src.Jp,{type:"tertiary",disabled:billingLoading,onClick:()=>{resetUnsubscribeModalStep(),reportSurveyDismissed(surveyID)},children:"You convinced me to stay! \uD83D\uDC95"})]})]})})]})}},"./frontend/src/scenes/billing/billing-utils.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{MG:()=>getProration,Y_:()=>getUpgradeProductLink,i7:()=>convertLargeNumberToWords,nz:()=>summarizeUsage,x:()=>getProrationMessage,zu:()=>convertAmountToUsage}),__webpack_require__("./frontend/src/lib/dayjs.ts");let summarizeUsage=usage=>null===usage?"":usage<1e3?`${usage}`:1e3>Math.round(usage/1e3)?`${Math.round(usage/1e3)} thousand`:`${Math.round(usage/1e6)} million`,convertAmountToUsage=(amount,productAndAddonTiers,discountPercent)=>{let previousTier;if(!amount||!productAndAddonTiers||0===productAndAddonTiers.length)return 0;let tiers=productAndAddonTiers[0].map((tier,index)=>{let allAddonsTiers=productAndAddonTiers.slice(1),totalAmount=parseFloat(tier.unit_amount_usd),flatFee=parseFloat(tier.flat_amount_usd||"0");for(let addonTiers of allAddonsTiers)totalAmount+=parseFloat(addonTiers[index].unit_amount_usd),flatFee+=parseFloat(addonTiers[index].flat_amount_usd||"0");return{...tier,unit_amount_usd:totalAmount.toString(),flat_amount_usd:flatFee.toString()}}),remainingAmount=parseFloat(amount),usage=0;if(0===remainingAmount)return 0===parseFloat(tiers[0].unit_amount_usd)&&tiers[0].up_to||0;discountPercent&&(remainingAmount/=1-discountPercent/100);let allTiersZero=tiers.every(tier=>!parseFloat(tier.unit_amount_usd));if(allTiersZero)return tiers[0].up_to||0;for(let tier of tiers){if(remainingAmount<=0)break;let tierUsageMax=tier.up_to?tier.up_to-(previousTier?.up_to||0):1/0,amountFloatUsd=parseFloat(tier.unit_amount_usd),tierFlatFee=parseFloat(tier.flat_amount_usd||"0"),usageThisTier=Math.min(remainingAmount/amountFloatUsd,tierUsageMax);usage+=usageThisTier,remainingAmount-=amountFloatUsd*usageThisTier,tierFlatFee&&(remainingAmount-=tierFlatFee),previousTier=tier}return Math.round(usage)},getUpgradeProductLink=_ref=>{let{product,redirectPath,includeAddons=!0}=_ref,url="/api/billing/activate?";if(redirectPath&&(url+=`redirect_path=${redirectPath}&`),url+=`products=all_products:&intent_product=${product.type},`,includeAddons&&product.addons?.length)for(let addon of product.addons)addon.plans?.[0]?.plan_key&&!addon.inclusion_only&&(url+=`${addon.type}:${addon.plans[0].plan_key},`);return url.slice(0,-1)},convertLargeNumberToWords=function(num,previousNum){let multipleTiers=arguments.length>2&&void 0!==arguments[2]&&arguments[2],productType=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;if(null===num&&previousNum)return`${convertLargeNumberToWords(previousNum,null)} +`;if(null===num)return"";let denominator=1;num>=1e6?denominator=1e6:num>=1e3&&(denominator=1e3);let prevDenominator=1;return previousNum&&previousNum>=1e6?prevDenominator=1e6:previousNum&&previousNum>=1e3&&(prevDenominator=1e3),`${previousNum?`${((previousNum+1)/prevDenominator).toFixed(0)}-`:multipleTiers?"First ":""}${(num/denominator).toFixed(0)}${1e6===denominator?" million":1e3===denominator?"k":""}${!previousNum&&multipleTiers?` ${productType}s/mo`:""}`},getProration=_ref2=>{let{timeRemainingInSeconds,timeTotalInSeconds,amountUsd,hasActiveSubscription}=_ref2;if(0===timeTotalInSeconds)return{isProrated:!1,prorationAmount:"0.00"};let prorationAmount=amountUsd?parseInt(amountUsd)*(timeRemainingInSeconds/timeTotalInSeconds):0;return{isProrated:!!hasActiveSubscription&&!!amountUsd&&prorationAmount!==parseInt(amountUsd||""),prorationAmount:prorationAmount.toFixed(2)}},getProrationMessage=(prorationAmount,unitAmountUsd)=>`Pay ~$${prorationAmount} today (prorated) and $${parseInt(unitAmountUsd||"0")} every month thereafter.`},"./frontend/src/scenes/billing/billingLogic.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{kr:()=>billingLogic});var _posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),kea__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_forms__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-forms@3.2.0_kea@3.1.5/node_modules/kea-forms/lib/index.js"),kea_loaders__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/.pnpm/kea-loaders@3.0.0_kea@3.1.5/node_modules/kea-loaders/lib/index.js"),kea_router__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),lib_api__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/lib/api.ts"),lib_constants__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/lib/constants.tsx"),lib_dayjs__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/lib/dayjs.ts"),lib_lemon_ui_LemonBanner_lemonBannerLogic__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonBanner/lemonBannerLogic.ts"),lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),lib_utils__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__("./frontend/src/lib/utils.tsx"),lib_utils_eventUsageLogic__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__("./frontend/src/lib/utils/eventUsageLogic.ts"),posthog_js__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__("./node_modules/.pnpm/posthog-js@1.205.0/node_modules/posthog-js/dist/module.js"),scenes_PreflightCheck_preflightLogic__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__("./frontend/src/scenes/PreflightCheck/preflightLogic.tsx"),scenes_userLogic__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__("./frontend/src/scenes/userLogic.ts"),_types__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__("./frontend/src/types.ts"),_CreditCTAHero__WEBPACK_IMPORTED_MODULE_16__=__webpack_require__("./frontend/src/scenes/billing/CreditCTAHero.tsx"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_17__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let BillingAPIErrorCodes=function(BillingAPIErrorCodes){return BillingAPIErrorCodes.OPEN_INVOICES_ERROR="open_invoices_error",BillingAPIErrorCodes.NO_ACTIVE_PAYMENT_METHOD_ERROR="no_active_payment_method_error",BillingAPIErrorCodes.COULD_NOT_PAY_INVOICES_ERROR="could_not_pay_invoices_error",BillingAPIErrorCodes}({}),parseBillingResponse=data=>(data.billing_period&&(data.billing_period={current_period_start:(0,lib_dayjs__WEBPACK_IMPORTED_MODULE_7__.Bv)(data.billing_period.current_period_start),current_period_end:(0,lib_dayjs__WEBPACK_IMPORTED_MODULE_7__.Bv)(data.billing_period.current_period_end),interval:data.billing_period.interval}),data.free_trial_until=data.free_trial_until?(0,lib_dayjs__WEBPACK_IMPORTED_MODULE_7__.Bv)(data.free_trial_until):void 0,data.amount_off_expires_at=data.amount_off_expires_at?(0,lib_dayjs__WEBPACK_IMPORTED_MODULE_7__.Bv)(data.amount_off_expires_at):void 0,data.amount_off_expires_at&&data.billing_period&&data.amount_off_expires_at.isBefore(data.billing_period.current_period_end)&&data.amount_off_expires_at.isAfter(data.billing_period.current_period_start)&&(data.amount_off_expires_at=data.billing_period.current_period_end),data),billingLogic=(0,kea__WEBPACK_IMPORTED_MODULE_1__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_1__.path)(["scenes","billing","billingLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_1__.actions)({setProductSpecificAlert:productSpecificAlert=>({productSpecificAlert}),setScrollToProductKey:scrollToProductKey=>({scrollToProductKey}),setShowLicenseDirectInput:show=>({show}),reportBillingAlertShown:alertConfig=>({alertConfig}),reportBillingAlertActionClicked:alertConfig=>({alertConfig}),reportCreditsFormSubmitted:creditInput=>({creditInput}),reportCreditsModalShown:!0,reportBillingShown:!0,registerInstrumentationProps:!0,reportCreditsCTAShown:creditOverview=>({creditOverview}),setRedirectPath:!0,setIsOnboarding:!0,determineBillingAlert:!0,setUnsubscribeError:error=>({error}),resetUnsubscribeError:!0,setBillingAlert:billingAlert=>({billingAlert}),showPurchaseCreditsModal:isOpen=>({isOpen}),toggleCreditCTAHeroDismissed:isDismissed=>({isDismissed}),setComputedDiscount:discount=>({discount})}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.connect)(()=>({values:[lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_9__.h,["featureFlags"],scenes_PreflightCheck_preflightLogic__WEBPACK_IMPORTED_MODULE_13__.preflightLogic,["preflight"]],actions:[scenes_userLogic__WEBPACK_IMPORTED_MODULE_14__.userLogic,["loadUser"],lib_utils_eventUsageLogic__WEBPACK_IMPORTED_MODULE_11__.vx,["reportProductUnsubscribed"],(0,lib_lemon_ui_LemonBanner_lemonBannerLogic__WEBPACK_IMPORTED_MODULE_8__.A)({dismissKey:"usage-limit-exceeded"}),["resetDismissKey as resetUsageLimitExceededKey"],(0,lib_lemon_ui_LemonBanner_lemonBannerLogic__WEBPACK_IMPORTED_MODULE_8__.A)({dismissKey:"usage-limit-approaching"}),["resetDismissKey as resetUsageLimitApproachingKey"]]})),(0,kea__WEBPACK_IMPORTED_MODULE_1__.reducers)({billingAlert:[null,{setBillingAlert:(_,_ref)=>{let{billingAlert}=_ref;return billingAlert}}],scrollToProductKey:[null,{setScrollToProductKey:(_,_ref2)=>{let{scrollToProductKey}=_ref2;return scrollToProductKey}}],productSpecificAlert:[null,{setProductSpecificAlert:(_,_ref3)=>{let{productSpecificAlert}=_ref3;return productSpecificAlert}}],showLicenseDirectInput:[!1,{setShowLicenseDirectInput:(_,_ref4)=>{let{show}=_ref4;return show}}],redirectPath:["",{setRedirectPath:()=>window.location.pathname.includes("/onboarding")?window.location.pathname+window.location.search:""}],isOnboarding:[!1,{setIsOnboarding:()=>window.location.pathname.includes("/onboarding")}],unsubscribeError:[null,{resetUnsubscribeError:()=>null,setUnsubscribeError:(_,_ref5)=>{let{error}=_ref5;return error}}],timeRemainingInSeconds:[0,{loadBillingSuccess:(_,_ref6)=>{let{billing}=_ref6;if(!billing?.billing_period)return 0;let currentTime=(0,lib_dayjs__WEBPACK_IMPORTED_MODULE_7__.Bv)(),periodEnd=(0,lib_dayjs__WEBPACK_IMPORTED_MODULE_7__.Bv)(billing.billing_period.current_period_end);return periodEnd.diff(currentTime,"second")}}],timeTotalInSeconds:[0,{loadBillingSuccess:(_,_ref7)=>{let{billing}=_ref7;if(!billing?.billing_period)return 0;let periodStart=(0,lib_dayjs__WEBPACK_IMPORTED_MODULE_7__.Bv)(billing.billing_period.current_period_start),periodEnd=(0,lib_dayjs__WEBPACK_IMPORTED_MODULE_7__.Bv)(billing.billing_period.current_period_end);return periodEnd.diff(periodStart,"second")}}],isPurchaseCreditsModalOpen:[!1,{showPurchaseCreditsModal:(_,_ref8)=>{let{isOpen}=_ref8;return isOpen}}],isCreditCTAHeroDismissed:[!1,{persist:!0},{toggleCreditCTAHeroDismissed:(_,_ref9)=>{let{isDismissed}=_ref9;return isDismissed}}],computedDiscount:[0,{setComputedDiscount:(_,_ref10)=>{let{discount}=_ref10;return discount}}]}),(0,kea_loaders__WEBPACK_IMPORTED_MODULE_3__.loaders)(_ref11=>{let{actions,values}=_ref11;return{billing:[null,{loadBilling:async()=>{let skipForecasting=values.featureFlags[lib_constants__WEBPACK_IMPORTED_MODULE_6__.y8.BILLING_SKIP_FORECASTING],response=await lib_api__WEBPACK_IMPORTED_MODULE_5__.ZP.get("api/billing"+(skipForecasting?"?include_forecasting=false":""));return parseBillingResponse(response)},updateBillingLimits:async limits=>{try{let response=await lib_api__WEBPACK_IMPORTED_MODULE_5__.ZP.update("api/billing",{custom_limits_usd:limits});return _posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.success("Billing limits updated"),parseBillingResponse(response)}catch(error){throw _posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.error("There was an error updating your billing limits. Please try again or contact support."),error}},deactivateProduct:async key=>{let currentURL=new URL(window.location.href);currentURL.searchParams.delete("upgraded"),currentURL.searchParams.delete("products"),kea_router__WEBPACK_IMPORTED_MODULE_4__.router.actions.push(currentURL.pathname+currentURL.search),actions.resetUnsubscribeError();try{let response=await lib_api__WEBPACK_IMPORTED_MODULE_5__.ZP.getResponse("api/billing/deactivate?products="+key),jsonRes=await (0,lib_api__WEBPACK_IMPORTED_MODULE_5__.$6)(response);return _posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.success("You have been unsubscribed. We're sad to see you go. May the hedgehogs be ever in your favor."),actions.reportProductUnsubscribed(key),parseBillingResponse(jsonRes)}catch(error){return error.code?error.code===BillingAPIErrorCodes.OPEN_INVOICES_ERROR?actions.setUnsubscribeError({detail:error.detail,link:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_17__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.rU,{to:values.billing?.stripe_portal_url,target:"_blank",children:"View invoices"})}):error.code===BillingAPIErrorCodes.NO_ACTIVE_PAYMENT_METHOD_ERROR?actions.setUnsubscribeError({detail:error.detail}):error.code===BillingAPIErrorCodes.COULD_NOT_PAY_INVOICES_ERROR&&actions.setUnsubscribeError({detail:error.detail,link:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_17__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.rU,{to:error.link||values.billing?.stripe_portal_url,target:"_blank",children:error.link?"View invoice":"View invoices"})}):actions.setUnsubscribeError({detail:"string"==typeof error.detail?error.detail:"We encountered a problem. Please try again or submit a support ticket."}),console.error(error),values.billing}}}],billingError:[null,{getInvoices:async()=>{try{let res=await lib_api__WEBPACK_IMPORTED_MODULE_5__.ZP.getResponse("api/billing/get_invoices?status=open"),jsonRes=await (0,lib_api__WEBPACK_IMPORTED_MODULE_5__.$6)(res),numOpenInvoices=jsonRes.count;if(numOpenInvoices>0){let viewInvoicesButton={to:1==numOpenInvoices&&jsonRes.link?jsonRes.link:values.billing?.stripe_portal_url,children:`View invoice${numOpenInvoices>1?"s":""}`,targetBlank:!0};return{status:"warning",message:`You have ${numOpenInvoices} open invoice${numOpenInvoices>1?"s":""}. Please pay ${numOpenInvoices>1?"them":"it"} before adding items to your subscription.`,action:viewInvoicesButton}}}catch(error){console.error(error)}return null}}],creditOverview:[{eligible:!1,estimated_monthly_credit_amount_usd:_CreditCTAHero__WEBPACK_IMPORTED_MODULE_16__.N,status:"none",invoice_url:null,collection_method:null,cc_last_four:null,email:null},{loadCreditOverview:async()=>{if(values.billing?.has_active_subscription){let response=await lib_api__WEBPACK_IMPORTED_MODULE_5__.ZP.get("api/billing/credits/overview");return values.creditForm.creditInput||actions.setCreditFormValue("creditInput",Math.round(12*(response.estimated_monthly_credit_amount_usd||_CreditCTAHero__WEBPACK_IMPORTED_MODULE_16__.N))),response.eligible&&"none"===response.status&&actions.reportCreditsCTAShown(response),response}return{eligible:!1,estimated_monthly_credit_amount_usd:_CreditCTAHero__WEBPACK_IMPORTED_MODULE_16__.N,status:"none",invoice_url:null,collection_method:null,cc_last_four:null,email:null}}}],products:[[],{loadProducts:async()=>{let response=await lib_api__WEBPACK_IMPORTED_MODULE_5__.ZP.get("api/billing/available_products");return response}}]}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.selectors)({upgradeLink:[s=>[s.preflight],()=>"/organization/billing"],isUnlicensedDebug:[s=>[s.preflight,s.billing],(preflight,billing)=>!!preflight?.is_debug&&!billing?.billing_period],projectedTotalAmountUsdWithBillingLimits:[s=>[s.billing],billing=>{if(!billing)return 0;let projectedTotal=0;for(let product of billing.products||[]){let billingLimit=billing?.custom_limits_usd?.[product.type]||product.usage_key&&billing?.custom_limits_usd?.[product.usage_key]||0;projectedTotal+=Math.min(parseFloat(product.projected_amount_usd||"0"),billingLimit)}return projectedTotal}],supportPlans:[s=>[s.billing],billing=>{var _platformAndSupportPr;let platformAndSupportProduct=billing?.products?.find(product=>product.type==_types__WEBPACK_IMPORTED_MODULE_15__.Md.PLATFORM_AND_SUPPORT);if(!platformAndSupportProduct?.plans)return[];let addonPlans=platformAndSupportProduct?.addons?.map(addon=>addon.plans).flat(),insertionIndex=Math.max(0,(null!==(_platformAndSupportPr=platformAndSupportProduct?.plans?.length)&&void 0!==_platformAndSupportPr?_platformAndSupportPr:1)-1),allPlans=platformAndSupportProduct?.plans?.slice(0)||[];return allPlans.splice(insertionIndex,0,...addonPlans),allPlans}],hasSupportAddonPlan:[s=>[s.billing],billing=>!!billing?.products?.find(product=>product.type==_types__WEBPACK_IMPORTED_MODULE_15__.Md.PLATFORM_AND_SUPPORT)?.addons.find(addon=>addon.plans.find(plan=>plan.current_plan))],creditDiscount:[s=>[s.computedDiscount],computedDiscount=>computedDiscount||0]}),(0,kea_forms__WEBPACK_IMPORTED_MODULE_2__.forms)(_ref12=>{let{actions,values}=_ref12;return{activateLicense:{defaults:{license:""},errors:_ref13=>{let{license}=_ref13;return{license:license?void 0:"Please enter your license key"}},submit:async(_ref14,breakpoint)=>{let{license}=_ref14;await breakpoint(500);try{await lib_api__WEBPACK_IMPORTED_MODULE_5__.ZP.update("api/billing/license",{license}),kea_router__WEBPACK_IMPORTED_MODULE_4__.router.actions.replace(`/${values.isOnboarding?"ingestion":"organization"}/billing?success=true`),setTimeout(()=>{window.location.reload()},100)}catch(e){throw actions.setActivateLicenseManualErrors({license:e.detail||"License could not be activated. Please contact support."}),e}}},creditForm:{defaults:{creditInput:"",collectionMethod:"charge_automatically"},submit:async _ref15=>{let{creditInput,collectionMethod}=_ref15;await lib_api__WEBPACK_IMPORTED_MODULE_5__.ZP.create("api/billing/credits/purchase",{annual_amount_usd:+Math.round(+creditInput-+creditInput*values.creditDiscount),discount_percent:100*values.computedDiscount,collection_method:collectionMethod}),actions.showPurchaseCreditsModal(!1),actions.loadCreditOverview(),actions.reportCreditsFormSubmitted(+creditInput),_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.dn.open({title:"Your credit purchase has been submitted",width:536,content:"send_invoice"===collectionMethod?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_17__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_17__.Fragment,{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_17__.jsx)("p",{className:"mb-4",children:"The invoice for your credits has been created and it will be emailed to the email on file."}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_17__.jsx)("p",{children:"Once the invoice is paid we will apply the credits to your account. Until the invoice is paid you will be charged for usage as normal."})]}):(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_17__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_17__.Fragment,{children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_17__.jsxs)("p",{children:["Your card will be charged soon and the credits will be applied to your account. Please make sure your"," ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_17__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.rU,{to:values.billing?.stripe_portal_url,target:"_blank",children:"card on file"})," ","is up to date. You will receive an email when the credits are applied."]})})})},errors:_ref16=>{let{creditInput,collectionMethod}=_ref16;return{creditInput:creditInput?3333>+creditInput?"Please enter a credit amount of at least $3,333":void 0:"Please enter the amount of credits you want to purchase",collectionMethod:collectionMethod?void 0:"Please select a collection method"}}}}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.listeners)(_ref17=>{let{actions,values}=_ref17;return{reportBillingShown:()=>{posthog_js__WEBPACK_IMPORTED_MODULE_12__.ZP.capture("billing v2 shown")},reportBillingAlertShown:_ref18=>{let{alertConfig}=_ref18;posthog_js__WEBPACK_IMPORTED_MODULE_12__.ZP.capture("billing alert shown",{...alertConfig})},reportBillingAlertActionClicked:_ref19=>{let{alertConfig}=_ref19;posthog_js__WEBPACK_IMPORTED_MODULE_12__.ZP.capture("billing alert action clicked",{...alertConfig})},reportCreditsModalShown:()=>{posthog_js__WEBPACK_IMPORTED_MODULE_12__.ZP.capture("credits modal shown")},reportCreditsFormSubmitted:_ref20=>{let{creditInput}=_ref20;posthog_js__WEBPACK_IMPORTED_MODULE_12__.ZP.capture("credits modal credit form submitted",{credit_amount_usd:creditInput})},reportCreditsCTAShown:_ref21=>{let{creditOverview}=_ref21;posthog_js__WEBPACK_IMPORTED_MODULE_12__.ZP.capture("credits cta shown",{eligible:creditOverview.eligible,status:creditOverview.status,estimated_monthly_credit_amount_usd:creditOverview.estimated_monthly_credit_amount_usd||_CreditCTAHero__WEBPACK_IMPORTED_MODULE_16__.N})},toggleCreditCTAHeroDismissed:_ref22=>{let{isDismissed}=_ref22;isDismissed&&posthog_js__WEBPACK_IMPORTED_MODULE_12__.ZP.capture("credits cta hero dismissed")},loadBillingSuccess:()=>{kea_router__WEBPACK_IMPORTED_MODULE_4__.router.values.location.pathname.includes("/organization/billing")&&kea_router__WEBPACK_IMPORTED_MODULE_4__.router.values.searchParams.success&&(actions.loadUser(),kea_router__WEBPACK_IMPORTED_MODULE_4__.router.actions.replace("/organization/billing")),actions.registerInstrumentationProps(),actions.determineBillingAlert(),actions.loadCreditOverview()},determineBillingAlert:()=>{if(values.productSpecificAlert){actions.setBillingAlert(values.productSpecificAlert);return}if(!values.billing||!values.preflight?.cloud)return;if(values.billing.free_trial_until&&values.billing.free_trial_until.isAfter((0,lib_dayjs__WEBPACK_IMPORTED_MODULE_7__.Bv)())){let remainingDays=values.billing.free_trial_until.diff((0,lib_dayjs__WEBPACK_IMPORTED_MODULE_7__.Bv)(),"days"),remainingHours=values.billing.free_trial_until.diff((0,lib_dayjs__WEBPACK_IMPORTED_MODULE_7__.Bv)(),"hours");if(remainingHours>72)return;actions.setBillingAlert({status:"info",title:`Your free trial will end in ${remainingHours<24?(0,lib_utils__WEBPACK_IMPORTED_MODULE_10__.Zi)(remainingHours,"hour"):(0,lib_utils__WEBPACK_IMPORTED_MODULE_10__.Zi)(remainingDays,"day")}.`,message:"Setup billing now to ensure you don't lose access to premium features."});return}if(values.billing.deactivated){actions.setBillingAlert({status:"error",title:"Your organization has been temporarily suspended.",message:"Please contact support to reactivate it.",contactSupport:!0});return}let productOverLimit=values.billing.products?.find(x=>x.percentage_usage>1&&x.usage_key);if(productOverLimit){actions.setBillingAlert({status:"error",title:"Usage limit exceeded",message:`You have exceeded the usage limit for ${productOverLimit.name}. Please +${d.value.toLocaleString()}`)},appendDropoffs=svg=>{let dropOffGradient=svg.append("defs").append("linearGradient").attr("id","dropoff-gradient").attr("gradientTransform","rotate(90)");dropOffGradient.append("stop").attr("offset","0%").attr("stop-color","rgba(220,53,69,0.7)"),dropOffGradient.append("stop").attr("offset","100%").attr("stop-color","var(--bg-light)")},appendPathLinks=(svg,links,nodes,setNodeCards)=>{let link=svg.append("g").attr("fill","none").selectAll("g").data(links).join("g").attr("stroke","var(--primary)").attr("opacity",.35);link.append("path").attr("d",sankeyLinkHorizontal.Z()).attr("id",d=>`path-${d.index}`).attr("stroke-width",d=>Math.max(1,d.width)).on("mouseover",(_event,data)=>{if(svg.select(`#path-${data.index}`).attr("stroke","blue"),data?.source?.targetLinks.length===0)return;let nodesToColor=[data.source],pathCardsToShow=[];for(;nodesToColor.length>0;){let _node=nodesToColor.pop();_node?.targetLinks.forEach(_link=>{svg.select(`#path-${_link.index}`).attr("stroke","blue"),nodesToColor.push(_link.source),pathCardsToShow.push(_link.source.index)})}let pathCards=[data.target];for(pathCardsToShow.push(data.target.index,data.source.index);pathCards.length>0;){let node=pathCards.pop();node?.sourceLinks.forEach(l=>{pathCards.push(l.target),pathCardsToShow.push(l.target.index)})}setNodeCards(nodes.map(node=>({...node,visible:!!pathCardsToShow.includes(node.index)||node.y1-node.y0>HIDE_PATH_CARD_HEIGHT})))}).on("mouseleave",()=>{svg.selectAll("path").attr("stroke","var(--primary)")}),link.append("g").append("path").attr("d",data=>{if(0===data.source.layer)return;let _height=data.source.y1-data.source.y0-data.source.sourceLinks.reduce((prev,curr)=>prev+curr.width,0);return function(x,y,w,h,r,tl,tr,bl,br){let retval;return retval="M"+(0+r)+",0h"+(w-2*r),tr?retval+="a"+r+","+r+" 0 0 1 "+r+","+r:retval+="h"+r+"v"+r,retval+="v"+(h-2*r),br?retval+="a"+r+","+r+" 0 0 1 "+-r+","+r:retval+="v"+r+"h"+-r,retval+="h"+(2*r-w),bl?retval+="a"+r+","+r+" 0 0 1 "+-r+","+-r:retval+="h"+-r+"v"+-r,retval+="v"+(2*r-h),tl?retval+="a"+r+","+r+" 0 0 1 "+r+","+-r:retval+="v"+-r+"h"+r,retval+="z"}(0,0,30,_height,Math.min(25,_height),!1,!0,!1,!1)}).attr("fill","url(#dropoff-gradient)").attr("stroke-width",0).attr("transform",data=>"translate("+Math.round(data.source.x1)+","+Math.round(data.source.y0+data.source.sourceLinks.reduce((prev,curr)=>prev+curr.width,0))+")")},addChartAxisLines=(svg,height,nodes,maxLayer)=>{if(maxLayer>5){let arr=[...Array(maxLayer)],minWidthApart=nodes[1].x0-nodes[0].x0;arr.forEach((_,i)=>{svg.append("line").style("stroke","var(--border)").attr("stroke-width",2).attr("x1",minWidthApart*(i+1)-20).attr("y1",0).attr("x2",minWidthApart*(i+1)-20).attr("y2",height)})}},HIDE_PATH_CARD_HEIGHT=30;function Paths_Paths(){let canvasRef=(0,react.useRef)(null),canvasContainerRef=(0,react.useRef)(null),{width:canvasWidth=1e3,height:canvasHeight=0}=(0,useResizeObserver.y)({ref:canvasRef}),[nodeCards,setNodeCards]=(0,react.useState)([]),{insight,insightProps}=(0,index_esm.useValues)(insightLogic.zm),{insightQuery,paths,pathsFilter,funnelPathsFilter,insightDataLoading,insightDataError}=(0,index_esm.useValues)((0,pathsDataLogic.e)(insightProps)),id=`'${insight?.short_id||"default_paths"}'`;return((0,react.useEffect)(()=>{setNodeCards([]);let elements=canvasContainerRef.current?.querySelectorAll(".Paths__canvas");return elements?.forEach(node=>node?.parentNode?.removeChild(node)),function(canvasRef,canvasWidth,canvasHeight,paths,pathsFilter,funnelPathsFilter,setNodeCards){if(!paths||0===paths.nodes.length)return;let maxLayer=paths.links.reduce((prev,curr)=>{let currNum=curr.target.name||curr.target;return Math.max(prev,Number(currNum.match(/[^_]*/)))},0),minWidth=canvasWidth>1e3||maxLayer<3?canvasWidth:1e3,width=maxLayer>5&&canvasWidth?minWidth/5*maxLayer:minWidth,svg=createCanvas(canvasRef,width,canvasHeight),sankey=createSankey(width,canvasHeight),{nodes,links}=sankey({nodes:paths.nodes.map(d=>({...d})),links:paths.links.map(d=>({...d}))});setNodeCards(nodes.map(node=>({...node,visible:node.y1-node.y0>HIDE_PATH_CARD_HEIGHT}))),appendPathNodes(svg,nodes,pathsFilter,funnelPathsFilter,setNodeCards),appendDropoffs(svg),appendPathLinks(svg,links,nodes,setNodeCards),addChartAxisLines(svg,canvasHeight,nodes,maxLayer)}(canvasRef,canvasWidth,canvasHeight,paths,pathsFilter||{},funnelPathsFilter||{},setNodeCards),()=>{let elements=canvasContainerRef.current?.querySelectorAll(".Paths__canvas");elements?.forEach(node=>node?.parentNode?.removeChild(node))}},[paths,!insightDataLoading,canvasWidth,canvasHeight]),insightDataError)?(0,jsx_runtime.jsx)(EmptyStates.jC,{query:insightQuery,excludeDetail:!0}):(0,jsx_runtime.jsx)("div",{className:"h-full w-full overflow-auto",id:id,ref:canvasContainerRef,children:(0,jsx_runtime.jsxs)("div",{ref:canvasRef,className:"Paths","data-attr":"paths-viz",children:[!insightDataLoading&&paths&&0===paths.nodes.length&&!insightDataError&&(0,jsx_runtime.jsx)(EmptyStates.dV,{}),!insightDataError&&nodeCards&&nodeCards.map((node,idx)=>(0,jsx_runtime.jsx)(PathNodeCard,{node:node,insightProps:insightProps},idx))]})})}function PathCanvasLabel(){return(0,jsx_runtime.jsx)("div",{className:"flex items-center text-muted-alt",children:"Large path items are shown by default. View smaller items by hovering over a node"})}let retentionLogic=(0,index_esm.kea)([(0,index_esm.props)({}),(0,index_esm.key)((0,sharedUtils.bk)("default_retention_key")),(0,index_esm.path)(key=>["scenes","retention","retentionLogic",key]),(0,index_esm.connect)(props=>({values:[(0,insightVizDataLogic.Z)(props),["insightQuery","insightData","querySource"]]})),(0,index_esm.selectors)({results:[s=>[s.insightQuery,s.insightData],(insightQuery,insightData)=>{var _insightData$result;return(0,utils.I5)(insightQuery)&&null!==(_insightData$result=insightData?.result)&&void 0!==_insightData$result?_insightData$result:[]}]})]),retentionLineGraphLogic=(0,index_esm.kea)([(0,index_esm.props)({}),(0,index_esm.key)((0,sharedUtils.bk)("default_retention_key")),(0,index_esm.path)(key=>["scenes","retention","retentionLineGraphLogic",key]),(0,index_esm.connect)(props=>({values:[(0,insightVizDataLogic.Z)(props),["querySource","dateRange","retentionFilter"],retentionLogic(props),["results"]]})),(0,index_esm.selectors)({trendSeries:[s=>[s.results,s.retentionFilter],(results,retentionFilter)=>{let{period,retentionReference}=retentionFilter||{};return results.map((cohortRetention,datasetIndex)=>{let retentionPercentages=cohortRetention.values.map(value=>value.count/cohortRetention.values[0].count).map(value=>isNaN(value)?0:100*value),paddedValues=[100].concat(retentionPercentages);return{id:datasetIndex,days:retentionPercentages.map((_,index)=>`${period} ${index}`),labels:retentionPercentages.map((_,index)=>`${period} ${index}`),count:0,label:cohortRetention.date?"Hour"===period?(0,dayjs.Bv)(cohortRetention.date).format("MMM D, h A"):(0,dayjs.Bv)(cohortRetention.date).format("MMM D"):cohortRetention.label,data:"previous"===retentionReference?retentionPercentages.map((value,index)=>[value,paddedValues[index]]).map(_ref=>{let[value,previous]=_ref;return 100*value/previous}):retentionPercentages,index:datasetIndex}})}],incompletenessOffsetFromEnd:[s=>[s.dateRange,s.retentionFilter,s.trendSeries],(dateRange,retentionFilter,trendSeries)=>{let{date_to}=dateRange||{},{period}=retentionFilter||{};if(!trendSeries?.[0]?.days)return 0;if(!date_to)return -1;let numUnits=trendSeries[0].days.length,interval=retention_constants.tp?.[null!=period?period:types.xW.Day],startDate=(0,dayjs.Bv)().startOf(interval),startIndex=trendSeries[0].days.findIndex((_,i)=>(0,dayjs.Bv)(date_to).add(i-numUnits,interval)>=startDate);return void 0!==startIndex&&-1!==startIndex?startIndex-trendSeries[0].days.length:0}],aggregationGroupTypeIndex:[s=>[s.querySource],querySource=>{var _ref2;return null!==(_ref2=(0,utils.Vr)(querySource)||(0,utils.vy)(querySource)?null:querySource?.aggregation_group_type_index)&&void 0!==_ref2?_ref2:"people"}]})]);var featureFlagLogic=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),query=__webpack_require__("./frontend/src/queries/query.ts");function retentionToActorsQuery(query,selectedInterval){var _query$retentionFilte;let offset=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,group=null!=query.aggregation_group_type_index,totalIntervals=(query.retentionFilter.totalIntervals||11)-selectedInterval,periodName=null!==(_query$retentionFilte=query.retentionFilter.period?.toLowerCase())&&void 0!==_query$retentionFilte?_query$retentionFilte:"day",selects=Array.from({length:totalIntervals},(_,intervalNumber)=>`${periodName}_${intervalNumber}`);return{kind:schema.OH.ActorsQuery,select:[group?"group":"person",...selects],orderBy:["length(appearances) DESC","actor_id"],source:{kind:schema.OH.InsightActorsQuery,interval:selectedInterval,source:{...query,retentionFilter:{...query.retentionFilter}}},offset,limit:offset?2*offset:void 0}}async function queryForActors(retentionQuery,selectedInterval){let offset=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,actorsQuery=retentionToActorsQuery(retentionQuery,selectedInterval,offset),response=await (0,query.jr)(actorsQuery),results=response.results.map(row=>({person:row[0],appearances:row.slice(1,row.length)}));return{result:results,offset:response.hasMore?response.offset+response.limit:void 0,missing_persons:response.missing_actors_count}}var kea_loaders_lib=__webpack_require__("./node_modules/.pnpm/kea-loaders@3.0.0_kea@3.1.5/node_modules/kea-loaders/lib/index.js"),api=__webpack_require__("./frontend/src/lib/api.ts");let retentionPeopleLogic=(0,index_esm.kea)([(0,index_esm.props)({}),(0,index_esm.key)((0,sharedUtils.bk)("default_retention_key")),(0,index_esm.path)(key=>["scenes","retention","retentionPeopleLogic",key]),(0,index_esm.connect)(props=>({values:[(0,insightVizDataLogic.Z)(props),["querySource"]],actions:[(0,insightVizDataLogic.Z)(props),["loadDataSuccess"]]})),(0,index_esm.actions)(()=>({clearPeople:!0,loadMorePeople:selectedInterval=>selectedInterval,loadMorePeopleSuccess:payload=>({payload})})),(0,kea_loaders_lib.loaders)(_ref=>{let{values}=_ref;return{people:{__default:{},loadPeople:async selectedInterval=>await queryForActors(values.querySource,selectedInterval)}}}),(0,index_esm.reducers)({people:{clearPeople:()=>({}),loadPeople:()=>({}),loadMorePeopleSuccess:(_,_ref2)=>{let{payload}=_ref2;return payload}},peopleLoadingMore:[!1,{loadMorePeople:()=>!0,loadMorePeopleSuccess:()=>!1}]}),(0,index_esm.selectors)(()=>({apiFilters:[s=>[s.querySource],querySource=>querySource?(0,queryNodeToFilter.ce)(querySource):{}]})),(0,index_esm.listeners)(_ref3=>{let{actions,values}=_ref3;return{loadDataSuccess:()=>{actions.clearPeople()},loadMorePeople:async selectedInterval=>{if(values.people.next||values.people.offset){let peopleResult;peopleResult=values.people.offset&&values.querySource?.kind===schema.OH.RetentionQuery?await queryForActors(values.querySource,selectedInterval,values.people.offset):await api.ZP.get(values.people.next);let newPayload={result:[...values.people.result||[],...peopleResult.result||[]],next:peopleResult.next,offset:peopleResult.offset,missing_persons:(peopleResult.missing_persons||0)+(values.people.missing_persons||0)};actions.loadMorePeopleSuccess(newPayload)}}}})]),retentionModalLogic=(0,index_esm.kea)([(0,index_esm.props)({}),(0,index_esm.key)((0,sharedUtils.bk)("default_retention_key")),(0,index_esm.path)(key=>["scenes","retention","retentionModalLogic",key]),(0,index_esm.connect)(props=>({values:[(0,insightVizDataLogic.Z)(props),["querySource","retentionFilter"],groupsModel.$,["aggregationLabel"],featureFlagLogic.h,["featureFlags"]],actions:[retentionPeopleLogic(props),["loadPeople"]]})),(0,index_esm.actions)(()=>({openModal:rowIndex=>({rowIndex}),closeModal:!0})),(0,index_esm.reducers)({selectedInterval:[null,{openModal:(_,_ref)=>{let{rowIndex}=_ref;return rowIndex},closeModal:()=>null}]}),(0,index_esm.selectors)({aggregationTargetLabel:[s=>[s.querySource,s.aggregationLabel],(querySource,aggregationLabel)=>{let aggregation_group_type_index=(0,utils.Vr)(querySource)||(0,utils.vy)(querySource)?void 0:querySource?.aggregation_group_type_index;return aggregationLabel(aggregation_group_type_index)}],actorsQuery:[s=>[s.querySource,s.selectedInterval],(querySource,selectedInterval)=>querySource?retentionToActorsQuery(querySource,null!=selectedInterval?selectedInterval:0):null],exploreUrl:[s=>[s.actorsQuery],actorsQuery=>{if(!actorsQuery)return null;let query={kind:schema.OH.DataTableNode,source:actorsQuery,full:!0};return(0,utils.a5)(actorsQuery.source)&&(0,utils.I5)(actorsQuery.source.source)&&void 0!==actorsQuery.source.source.aggregation_group_type_index&&(query.showPropertyFilter=!1),urls.j.insightNew(void 0,void 0,query)}]}),(0,index_esm.listeners)(_ref2=>{let{actions}=_ref2;return{openModal:_ref3=>{let{rowIndex}=_ref3;actions.loadPeople(rowIndex)}}})]);function RetentionLineGraph(_ref){let{inSharedMode=!1}=_ref,{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{trendSeries,incompletenessOffsetFromEnd,aggregationGroupTypeIndex}=(0,index_esm.useValues)(retentionLineGraphLogic(insightProps)),{openModal}=(0,index_esm.useActions)(retentionModalLogic(insightProps));return 0===trendSeries.length?null:trendSeries?(0,jsx_runtime.jsx)(LineGraph.xr,{"data-attr":"trend-line-graph",type:types.KU.Line,datasets:trendSeries,labels:trendSeries[0]&&trendSeries[0].labels||[],isInProgress:incompletenessOffsetFromEnd<0,inSharedMode:!!inSharedMode,showPersonsModal:!1,labelGroupType:aggregationGroupTypeIndex,trendsFilter:{aggregationAxisFormat:"percentage"},tooltip:{rowCutoff:11,renderSeries:function _renderCohortPrefix(value){return(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[value,(0,jsx_runtime.jsx)("span",{className:"ml-1",children:"Cohort"})]})},showHeader:!1,renderCount:count=>`${(0,lib_utils.jb)(count)}%`},onClick:payload=>{let{points}=payload,rowIndex=points.clickedPointNotLine?points.pointsIntersectingClick[0].dataset.index:points.pointsIntersectingLine[0].dataset.index;void 0!==rowIndex&&openModal(rowIndex)},incompletenessOffsetFromEnd:incompletenessOffsetFromEnd}):(0,jsx_runtime.jsx)(EmptyStates.dV,{})}var RetentionTable=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/retention/RetentionTable.scss"),RetentionTable_default=__webpack_require__.n(RetentionTable),RetentionTable_options={};RetentionTable_options.insert="head",RetentionTable_options.singleton=!1,injectStylesIntoStyleTag_default()(RetentionTable_default(),RetentionTable_options),RetentionTable_default().locals;var exportsLogic=__webpack_require__("./frontend/src/lib/components/ExportButton/exportsLogic.ts"),Spinner=__webpack_require__("./frontend/src/lib/lemon-ui/Spinner/Spinner.tsx"),GroupActorDisplay=__webpack_require__("./frontend/src/scenes/persons/GroupActorDisplay.tsx"),person_utils=__webpack_require__("./frontend/src/scenes/persons/person-utils.ts"),DataTableExport=__webpack_require__("./frontend/src/queries/nodes/DataTable/DataTableExport.tsx");function RetentionModal(){let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{results}=(0,index_esm.useValues)(retentionLogic(insightProps)),{people,peopleLoading,peopleLoadingMore}=(0,index_esm.useValues)(retentionPeopleLogic(insightProps)),{loadMorePeople}=(0,index_esm.useActions)(retentionPeopleLogic(insightProps)),{aggregationTargetLabel,selectedInterval,exploreUrl,actorsQuery}=(0,index_esm.useValues)(retentionModalLogic(insightProps)),{closeModal}=(0,index_esm.useActions)(retentionModalLogic(insightProps)),{startExport}=(0,index_esm.useActions)(exportsLogic.exportsLogic),dataTableNodeQuery=actorsQuery?{kind:schema.OH.DataTableNode,source:actorsQuery}:void 0;if(!results||null===selectedInterval)return null;let row=results[selectedInterval],isEmpty=row.values[0]?.count===0;return(0,jsx_runtime.jsxs)(src.fQ,{isOpen:!0,onClose:closeModal,footer:(0,jsx_runtime.jsxs)("div",{className:"flex justify-between gap-2 w-full",children:[(0,jsx_runtime.jsxs)("div",{className:"flex gap-2",children:[!!people.result?.length&&!exploreUrl&&(0,jsx_runtime.jsx)(src.Jp,{type:"secondary",onClick:()=>startExport({export_format:types.P5.CSV,export_context:{path:row?.people_url}}),children:"Download CSV"}),!!people.result?.length&&!!dataTableNodeQuery&&(0,jsx_runtime.jsx)(src.Jp,{type:"secondary",onClick:()=>{dataTableNodeQuery&&(0,DataTableExport.dj)(dataTableNodeQuery,!0,startExport)},tooltip:`Up to ${DataTableExport.yP} persons will be exported`,children:"Export all as CSV"})]}),exploreUrl&&(0,jsx_runtime.jsx)(src.Jp,{type:"primary",to:exploreUrl,"data-attr":"person-modal-new-insight",onClick:()=>{closeModal()},children:"Explore"})]}),width:isEmpty?void 0:"90%",title:`${dayjs.Bv.utc(row.date).format("MMMM D, YYYY")} Cohort`,children:[people&&!!people.missing_persons&&(0,jsx_runtime.jsx)(PersonsModal.JY,{actorLabel:aggregationTargetLabel,missingActorsCount:people.missing_persons}),(0,jsx_runtime.jsx)("div",{children:peopleLoading?(0,jsx_runtime.jsx)(Spinner.t,{}):isEmpty?(0,jsx_runtime.jsxs)("span",{children:["No ",aggregationTargetLabel.plural," during this period."]}):(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)("table",{className:"RetentionTable RetentionTable--non-interactive",children:(0,jsx_runtime.jsxs)("tbody",{children:[(0,jsx_runtime.jsxs)("tr",{children:[(0,jsx_runtime.jsx)("th",{children:(0,lib_utils.fm)(aggregationTargetLabel.singular)}),row.values?.map((data,index)=>jsx_runtime.jsxs("th",{children:[jsx_runtime.jsx("div",{children:results[index].label}),jsx_runtime.jsxs("div",{children:[data.count,"\xa0",data.count>0&&jsx_runtime.jsxs("span",{className:"text-muted",children:["(",lib_utils.e9(data.count/row?.values[0].count),")"]})]})]},index))]}),people.result&&people.result.map(personAppearances=>(0,jsx_runtime.jsxs)("tr",{children:[(0,jsx_runtime.jsx)("td",{className:"min-w-[200px]",children:(0,lib_utils.tK)(personAppearances.person)?(0,jsx_runtime.jsx)(src.Jp,{size:"small",to:urls.j.group(String(personAppearances.person.group_type_index),personAppearances.person.group_key),"data-attr":"retention-person-link",children:(0,GroupActorDisplay.O)(personAppearances.person.group_key,personAppearances.person.properties)}):(0,jsx_runtime.jsx)(src.Jp,{size:"small",to:urls.j.personByDistinctId(personAppearances.person.distinct_ids?.[0]),"data-attr":"retention-person-link",children:(0,person_utils.y)(personAppearances.person)})}),personAppearances.appearances.map((appearance,index)=>(0,jsx_runtime.jsx)("td",{children:(0,jsx_runtime.jsx)("div",{className:(0,clsx_m.default)("RetentionTable__Tab",appearance?"opacity-100":"opacity-20")})},index))]},personAppearances.person.id))]})}),people.next||people.offset?(0,jsx_runtime.jsx)("div",{className:"m-4 flex justify-center",children:(0,jsx_runtime.jsxs)(src.Jp,{type:"primary",onClick:()=>loadMorePeople(selectedInterval),loading:peopleLoadingMore,children:["Load more ",aggregationTargetLabel.plural]})}):null]})})]})}let periodIsLatest=(date_to,period)=>{if(!date_to||!period)return!0;let curr=(0,dayjs.Bv)(date_to);return!!("Hour"==period&&curr.isSame((0,dayjs.Bv)(),"hour")||"Day"==period&&curr.isSame((0,dayjs.Bv)(),"day")||"Week"==period&&curr.isSame((0,dayjs.Bv)(),"week")||"Month"==period&&curr.isSame((0,dayjs.Bv)(),"month"))},retentionTableLogic=(0,index_esm.kea)([(0,index_esm.props)({}),(0,index_esm.key)((0,sharedUtils.bk)("default_retention_key")),(0,index_esm.path)(key=>["scenes","retention","retentionTableLogic",key]),(0,index_esm.connect)(props=>({values:[(0,insightVizDataLogic.Z)(props),["dateRange","retentionFilter","breakdownFilter","vizSpecificOptions"],retentionLogic(props),["results"]]})),(0,index_esm.selectors)({isLatestPeriod:[s=>[s.dateRange,s.retentionFilter],(dateRange,retentionFilter)=>periodIsLatest(dateRange?.date_to||null,retentionFilter?.period||null)],retentionVizOptions:[s=>[s.vizSpecificOptions],vizSpecificOptions=>vizSpecificOptions?.[types.dw.RETENTION]],hideSizeColumn:[s=>[s.retentionVizOptions],retentionVizOptions=>retentionVizOptions?.hideSizeColumn],maxIntervalsCount:[s=>[s.results],results=>Math.max(...results.map(result=>result.values.length))],tableHeaders:[s=>[s.results,s.hideSizeColumn],(results,hideSizeColumn)=>["Cohort",...hideSizeColumn?[]:["Size"],...results.map(x=>x.label)]],tableRows:[s=>[s.results,s.maxIntervalsCount,s.retentionFilter,s.breakdownFilter,s.hideSizeColumn],(results,maxIntervalsCount,retentionFilter,breakdownFilter,hideSizeColumn)=>{let{period}=retentionFilter||{},{breakdowns}=breakdownFilter||{};return(0,lib_utils.w6)(maxIntervalsCount).map(index=>{let firstColumn;let currentResult=results[index];if(breakdowns?.length)firstColumn=currentResult.label;else switch(period){case"Hour":firstColumn=dayjs.Bv.utc(currentResult.date).format("MMM D, h A");break;case"Month":firstColumn=dayjs.Bv.utc(currentResult.date).format("MMM YYYY");break;case"Week":{let startDate=dayjs.Bv.utc(currentResult.date),endDate=startDate.add(6,"day");firstColumn=`${startDate.format("MMM D")} to ${endDate.format("MMM D")}`;break}default:firstColumn=dayjs.Bv.utc(currentResult.date).format("MMM D")}let secondColumn=hideSizeColumn?[]:[currentResult.values[0].count],otherColumns=currentResult.values.map(value=>{let totalCount=currentResult.values[0].count,percentage=totalCount>0?value.count/totalCount*100:0;return{count:value.count,percentage}});return[firstColumn,...secondColumn,...otherColumns]})}]})]);function RetentionTable_RetentionTable(_ref){let{inSharedMode=!1}=_ref,{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{tableHeaders,tableRows,isLatestPeriod,hideSizeColumn,retentionVizOptions}=(0,index_esm.useValues)(retentionTableLogic(insightProps)),{openModal}=(0,index_esm.useActions)(retentionModalLogic(insightProps)),{retentionFilter}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),showMean=retentionFilter?.showMean||!1;return(0,jsx_runtime.jsx)("table",{className:(0,clsx_m.default)("RetentionTable",{"RetentionTable--small-layout":retentionVizOptions?.useSmallLayout}),"data-attr":"retention-table",children:(0,jsx_runtime.jsxs)("tbody",{children:[(0,jsx_runtime.jsx)("tr",{children:tableHeaders.map(heading=>(0,jsx_runtime.jsx)("th",{children:heading},heading))}),showMean&&tableRows.length>0?(0,jsx_runtime.jsx)("tr",{className:"border-b",children:(0,lib_utils.w6)(0,tableRows[0].length).map(columnIndex=>(0,jsx_runtime.jsx)("td",{className:"pb-2",children:columnIndex<=(hideSizeColumn?0:1)?0==columnIndex?(0,jsx_runtime.jsx)("span",{className:"RetentionTable__TextTab",children:"Mean"}):null:(0,jsx_runtime.jsx)(CohortDay,{percentage:(0,d3_src.J69)(tableRows.map(row=>columnIndex>=row.length-1&&isLatestPeriod||!row[columnIndex]?null:row[columnIndex].percentage))||0,latest:isLatestPeriod&&columnIndex==tableRows[0].length-1,clickable:!1,backgroundColor:lib_utils.Wd})},columnIndex))},-1):void 0,tableRows.map((row,rowIndex)=>(0,jsx_runtime.jsx)("tr",{onClick:()=>{inSharedMode||openModal(rowIndex)},children:row.map((column,columnIndex)=>(0,jsx_runtime.jsx)("td",{className:(0,clsx_m.default)({"pt-2":0===rowIndex&&showMean}),children:columnIndex<=(hideSizeColumn?0:1)?(0,jsx_runtime.jsx)("span",{className:"RetentionTable__TextTab",children:column}):(0,jsx_runtime.jsx)(CohortDay,{percentage:column.percentage,clickable:!0,latest:isLatestPeriod&&columnIndex===row.length-1})},columnIndex))},rowIndex))]})})}function CohortDay(_ref2){let{percentage,latest,clickable,backgroundColor}=_ref2,backgroundColorSaturation=percentage/100,saturatedBackgroundColor=(0,lib_utils.BW)(backgroundColor||lib_utils.ke,backgroundColorSaturation,.1),textColor=backgroundColorSaturation>.4?"#fff":"var(--text-3000)",numberCell=(0,jsx_runtime.jsxs)("div",{className:(0,clsx_m.default)("RetentionTable__Tab",{"RetentionTable__Tab--clickable":clickable,"RetentionTable__Tab--period":latest}),style:latest?void 0:{backgroundColor:saturatedBackgroundColor,color:textColor},children:[percentage.toFixed(1),"%"]});return latest?(0,jsx_runtime.jsx)(Tooltip.u,{title:"Period in progress",children:numberCell}):numberCell}function RetentionContainer(_ref){let{inCardView,inSharedMode,vizSpecificOptions}=_ref,hideLineGraph=vizSpecificOptions?.hideLineGraph||inCardView;return(0,jsx_runtime.jsx)("div",{className:"RetentionContainer",children:hideLineGraph?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(RetentionTable_RetentionTable,{inSharedMode:inSharedMode}),inSharedMode?null:(0,jsx_runtime.jsx)(RetentionModal,{})]}):(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)("div",{className:"RetentionContainer__graph",children:(0,jsx_runtime.jsx)(RetentionLineGraph,{inSharedMode:inSharedMode})}),(0,jsx_runtime.jsx)(src.p2,{}),(0,jsx_runtime.jsx)("div",{className:"RetentionContainer__table overflow-x-auto",children:(0,jsx_runtime.jsx)(RetentionTable_RetentionTable,{inSharedMode:inSharedMode})}),inSharedMode?null:(0,jsx_runtime.jsx)(RetentionModal,{})]})})}var BoldNumber=__webpack_require__("./frontend/src/scenes/insights/views/BoldNumber/BoldNumber.tsx"),WorldMap=__webpack_require__("./frontend/src/scenes/insights/views/WorldMap/index.ts"),trendsDataLogic=__webpack_require__("./frontend/src/scenes/trends/trendsDataLogic.ts");function datasetToActorsQuery(_ref){var _dataset$breakdown_va,_dataset$compare_labe,_dataset$action$order;let{query,dataset,day,index}=_ref,breakdown=null!==(_dataset$breakdown_va=dataset.breakdown_value)&&void 0!==_dataset$breakdown_va?_dataset$breakdown_va:void 0!==index&&Array.isArray(dataset.breakdownValues)?dataset.breakdownValues[index]:void 0,compare=null!==(_dataset$compare_labe=dataset.compare_label)&&void 0!==_dataset$compare_labe?_dataset$compare_labe:void 0!==index&&Array.isArray(dataset.compareLabels)?dataset.compareLabels[index]:void 0;return{kind:schema.OH.InsightActorsQuery,source:query,day,status:dataset.status,series:null!==(_dataset$action$order=dataset.action?.order)&&void 0!==_dataset$action$order?_dataset$action$order:0,breakdown,compare,includeRecordings:!0}}function ActionsHorizontalBar(_ref){let{showPersonsModal=!0}=_ref,[data,setData]=(0,react.useState)(null),[total,setTotal]=(0,react.useState)(0),{cohorts}=(0,index_esm.useValues)(cohortsModel.Q),{formatPropertyValueForDisplay}=(0,index_esm.useValues)(propertyDefinitionsModel.IP),{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{indexedResults,labelGroupType,trendsFilter,formula,showValuesOnSeries,isDataWarehouseSeries,querySource,breakdownFilter,hiddenLegendIndexes,getTrendsColor,theme}=(0,index_esm.useValues)((0,trendsDataLogic.i)(insightProps));return(0,react.useEffect)(()=>{indexedResults&&function(){let _data=[...indexedResults],colorList=indexedResults.map(getTrendsColor);setData([{labels:_data.map(item=>item.label),data:_data.map(item=>item.aggregated_value),actions:_data.map(item=>item.action),personsValues:_data.map(item=>item.persons),breakdownValues:_data.map(item=>item.breakdown_value),breakdownLabels:_data.map(item=>(0,insights_utils.Cq)(item.breakdown_value,breakdownFilter,cohorts,formatPropertyValueForDisplay)),compareLabels:_data.map(item=>item.compare_label),backgroundColor:colorList,hoverBackgroundColor:colorList,hoverBorderColor:colorList,borderColor:colorList,hoverBorderWidth:10,borderWidth:1}]),setTotal(_data.reduce((prev,item)=>prev+item.aggregated_value,0))}()},[indexedResults,theme]),data&&total>0?(0,jsx_runtime.jsx)(LineGraph.xr,{"data-attr":"trend-bar-value-graph",type:types.KU.HorizontalBar,tooltip:{showHeader:!1},labelGroupType:labelGroupType,datasets:data,labels:data[0].labels,hiddenLegendIndexes:hiddenLegendIndexes,showPersonsModal:showPersonsModal,trendsFilter:trendsFilter,formula:formula,showValuesOnSeries:showValuesOnSeries,onClick:!showPersonsModal||trendsFilter?.formula||isDataWarehouseSeries?void 0:point=>{let{index,points}=point,dataset=points.referencePoint.dataset,label=dataset.labels?.[point.index];(0,PersonsModal.Yp)({title:label||"",query:datasetToActorsQuery({dataset,query:querySource,index}),additionalSelect:{value_at_data_point:"event_count",matched_recordings:"matched_recordings"},orderBy:["event_count DESC, actor_id DESC"]})}}):(0,jsx_runtime.jsx)(EmptyStates.dV,{})}var helpers_segment=__webpack_require__("./node_modules/.pnpm/chart.js@4.4.3/node_modules/chart.js/dist/chunks/helpers.segment.js"),insightAlertsLogic=__webpack_require__("./frontend/src/lib/components/Alerts/insightAlertsLogic.ts"),DateDisplay=__webpack_require__("./frontend/src/lib/components/DateDisplay/index.tsx"),PropertyKeyInfo=__webpack_require__("./frontend/src/lib/components/PropertyKeyInfo.tsx");function ActionsLineGraph(_ref){let{inSharedMode=!1,showPersonsModal=!0,context}=_ref,{insightProps,insight}=(0,index_esm.useValues)(insightLogic.zm),{indexedResults,labelGroupType,incompletenessOffsetFromEnd,formula,display,interval,showValuesOnSeries,showPercentStackView,supportsPercentStackView,trendsFilter,isLifecycle,isStickiness,isDataWarehouseSeries,showLegend,hiddenLegendIndexes,querySource,yAxisScaleType}=(0,index_esm.useValues)((0,trendsDataLogic.i)(insightProps)),{alertThresholdLines}=(0,index_esm.useValues)((0,insightAlertsLogic.E)({insightId:insight.id,insightLogicProps:insightProps})),labels=2===indexedResults.length&&indexedResults.every(x=>x.compare)&&indexedResults.find(x=>"current"===x.compare_label)?.labels||indexedResults[0]&&indexedResults[0].labels||[],shortenLifecycleLabels=s=>{var _ref2,_s$split$;return(0,lib_utils.fm)(null!==(_ref2=null!==(_s$split$=s?.split(" - ")?.[1])&&void 0!==_s$split$?_s$split$:s)&&void 0!==_ref2?_ref2:"None")},legend={display:!1};return(isLifecycle&&showLegend&&(legend.display=!0,legend.labels={generateLabels:chart=>{let labelElements=helpers_segment.d.plugins.legend.labels.generateLabels(chart);return labelElements.forEach(elt=>{elt.text=shortenLifecycleLabels(elt.text)}),labelElements}}),indexedResults&&indexedResults[0]?.data&&indexedResults.filter(result=>0!==result.count).length>0)?(0,jsx_runtime.jsx)(LineGraph.xr,{"data-attr":"trend-line-graph",type:display===types.Qb.ActionsBar||isLifecycle?types.KU.Bar:types.KU.Line,hiddenLegendIndexes:hiddenLegendIndexes,datasets:indexedResults,labels:labels,inSharedMode:inSharedMode,labelGroupType:labelGroupType,showPersonsModal:showPersonsModal,trendsFilter:trendsFilter,formula:formula,showValuesOnSeries:showValuesOnSeries,showPercentStackView:showPercentStackView,supportsPercentStackView:supportsPercentStackView,yAxisScaleType:yAxisScaleType,tooltip:isLifecycle?{altTitle:"Users",altRightTitle:(_,date)=>date,renderSeries:(_,datum)=>shortenLifecycleLabels(datum.label)}:void 0,isInProgress:!isStickiness&&incompletenessOffsetFromEnd<0,isArea:display===types.Qb.ActionsAreaGraph,incompletenessOffsetFromEnd:incompletenessOffsetFromEnd,legend:legend,alertLines:alertThresholdLines,onClick:!showPersonsModal||(0,lib_utils.dm)(formula)||isDataWarehouseSeries?void 0:payload=>{var _ref3,_dataset$action$days$,_ref4,_dataset$label;let{index,points}=payload,dataset=points.referencePoint.dataset;if(!dataset)return;let day=null!==(_ref3=null!==(_dataset$action$days$=dataset.action?.days?.[index])&&void 0!==_dataset$action$days$?_dataset$action$days$:dataset?.days?.[index])&&void 0!==_ref3?_ref3:"",label=null!==(_ref4=null!==(_dataset$label=dataset?.label)&&void 0!==_dataset$label?_dataset$label:dataset?.labels?.[index])&&void 0!==_ref4?_ref4:"",title=isStickiness?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(PropertyKeyInfo.T,{value:label||"",disablePopover:!0})," stickiness on day ",day]}):label=>(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[label," on"," ",(0,jsx_runtime.jsx)(DateDisplay.q,{interval:interval||"day",date:day?.toString()||""})]});(0,PersonsModal.Yp)({title,query:datasetToActorsQuery({dataset,query:querySource,day}),additionalSelect:isLifecycle||isStickiness?{}:{value_at_data_point:"event_count",matched_recordings:"matched_recordings"},orderBy:isLifecycle||isStickiness?void 0:["event_count DESC, actor_id DESC"]})}}):(0,jsx_runtime.jsx)(EmptyStates.dV,{heading:context?.emptyStateHeading,detail:context?.emptyStateDetail})}var ActionsPie=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/trends/viz/ActionsPie.scss"),ActionsPie_default=__webpack_require__.n(ActionsPie),ActionsPie_options={};ActionsPie_options.insert="head",ActionsPie_options.singleton=!1,injectStylesIntoStyleTag_default()(ActionsPie_default(),ActionsPie_options),ActionsPie_default().locals;var aggregationAxisFormat=__webpack_require__("./frontend/src/scenes/insights/aggregationAxisFormat.ts"),PieChart=__webpack_require__("./frontend/src/scenes/insights/views/LineGraph/PieChart.tsx");function ActionsPie_ActionsPie(_ref){let{inSharedMode,showPersonsModal=!0,context}=_ref,[data,setData]=(0,react.useState)(null),[total,setTotal]=(0,react.useState)(0),{cohorts}=(0,index_esm.useValues)(cohortsModel.Q),{formatPropertyValueForDisplay}=(0,index_esm.useValues)(propertyDefinitionsModel.IP),{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{indexedResults,labelGroupType,trendsFilter,formula,showValuesOnSeries,showLabelOnSeries,supportsPercentStackView,showPercentStackView,pieChartVizOptions,isDataWarehouseSeries,querySource,breakdownFilter,hiddenLegendIndexes,getTrendsColor}=(0,index_esm.useValues)((0,trendsDataLogic.i)(insightProps)),renderingMetadata=context?.chartRenderingMetadata?.[types.Qb.ActionsPie],showAggregation=!pieChartVizOptions?.hideAggregation;(0,react.useEffect)(()=>{indexedResults&&function(){let days=indexedResults.length>0?indexedResults[0].days:[],colorList=indexedResults.map(getTrendsColor);setData([{id:0,labels:indexedResults.map(item=>item.label),data:indexedResults.map(item=>item.aggregated_value),actions:indexedResults.map(item=>item.action),breakdownValues:indexedResults.map(item=>item.breakdown_value),breakdownLabels:indexedResults.map(item=>(0,insights_utils.Cq)(item.breakdown_value,breakdownFilter,cohorts,formatPropertyValueForDisplay)),compareLabels:indexedResults.map(item=>item.compare_label),personsValues:indexedResults.map(item=>item.persons),days,backgroundColor:colorList,borderColor:colorList}]),setTotal(indexedResults.reduce((prev,item,i)=>prev+(hiddenLegendIndexes?.includes(i)?0:item.aggregated_value),0))}()},[indexedResults,hiddenLegendIndexes]);let onClick=renderingMetadata?.onSegmentClick||(!showPersonsModal||formula?void 0:payload=>{let{points,index}=payload,dataset=points.referencePoint.dataset,label=dataset.labels?.[index];(0,PersonsModal.Yp)({title:label||"",query:datasetToActorsQuery({dataset,query:querySource,index}),additionalSelect:{value_at_data_point:"event_count",matched_recordings:"matched_recordings"},orderBy:["event_count DESC, actor_id DESC"]})});return data?data[0]&&data[0].labels?(0,jsx_runtime.jsx)("div",{className:"ActionsPie",children:(0,jsx_runtime.jsxs)("div",{className:"ActionsPie__component",children:[(0,jsx_runtime.jsx)("div",{className:"ActionsPie__chart",children:(0,jsx_runtime.jsx)(PieChart.u,{"data-attr":"trend-pie-graph",hiddenLegendIndexes:hiddenLegendIndexes,type:types.KU.Pie,datasets:data,labels:data[0].labels,labelGroupType:labelGroupType,inSharedMode:!!inSharedMode,showPersonsModal:showPersonsModal,trendsFilter:trendsFilter,formula:formula,showValuesOnSeries:showValuesOnSeries,showLabelOnSeries:showLabelOnSeries,supportsPercentStackView:supportsPercentStackView,showPercentStackView:showPercentStackView,onClick:isDataWarehouseSeries?void 0:onClick,disableHoverOffset:pieChartVizOptions?.disableHoverOffset})}),showAggregation&&(0,jsx_runtime.jsx)("div",{className:"text-7xl text-center font-bold m-0",children:(0,aggregationAxisFormat.nO)(trendsFilter,total)})]})}):(0,jsx_runtime.jsx)("p",{className:"text-center mt-16",children:"We couldn't find any matching actions."}):null}function TrendInsight(_ref){let{view,context,embedded,inSharedMode}=_ref,{insightMode}=(0,index_esm.useValues)(insightSceneLogic.T),{insightProps,showPersonsModal:insightLogicShowPersonsModal}=(0,index_esm.useValues)(insightLogic.zm),showPersonsModal=insightLogicShowPersonsModal&&!inSharedMode,{display,series,breakdownFilter,hasBreakdownMore,breakdownValuesLoading}=(0,index_esm.useValues)((0,trendsDataLogic.i)(insightProps)),{updateBreakdownFilter}=(0,index_esm.useActions)((0,trendsDataLogic.i)(insightProps));return(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[series&&(0,jsx_runtime.jsx)("div",{className:embedded?"InsightCard__viz":`TrendsInsight TrendsInsight--${display}`,children:(()=>{if(!display||display===types.Qb.ActionsLineGraph||display===types.Qb.ActionsLineGraphCumulative||display===types.Qb.ActionsAreaGraph||display===types.Qb.ActionsBar)return(0,jsx_runtime.jsx)(ActionsLineGraph,{showPersonsModal:showPersonsModal,context:context,inCardView:embedded,inSharedMode:inSharedMode});if(display===types.Qb.BoldNumber)return(0,jsx_runtime.jsx)(BoldNumber.O,{showPersonsModal:showPersonsModal,context:context,inCardView:embedded,inSharedMode:inSharedMode});if(display===types.Qb.ActionsTable){let ActionsTable=InsightsTable.z;return(0,jsx_runtime.jsx)(ActionsTable,{embedded:!0,filterKey:`trends_${view}`,canEditSeriesNameInline:insightMode===types.LO.Edit,isMainInsightView:!0})}return display===types.Qb.ActionsPie?(0,jsx_runtime.jsx)(ActionsPie_ActionsPie,{showPersonsModal:showPersonsModal,context:context,inCardView:embedded,inSharedMode:inSharedMode}):display===types.Qb.ActionsBarValue?(0,jsx_runtime.jsx)(ActionsHorizontalBar,{showPersonsModal:showPersonsModal,context:context,inCardView:embedded,inSharedMode:inSharedMode}):display===types.Qb.WorldMap?(0,jsx_runtime.jsx)(WorldMap.bm,{showPersonsModal:showPersonsModal,context:context,inCardView:embedded,inSharedMode:inSharedMode}):void 0})()}),!embedded&&display!==types.Qb.WorldMap&&breakdownFilter&&hasBreakdownMore&&(0,jsx_runtime.jsx)("div",{className:"p-4",children:(0,jsx_runtime.jsxs)("div",{className:"text-muted",children:["Breakdown limited to ",breakdownFilter.breakdown_limit||25," - more available",(0,jsx_runtime.jsxs)(src.Jp,{onClick:()=>updateBreakdownFilter({...breakdownFilter,breakdown_limit:2*(breakdownFilter.breakdown_limit||25)}),loading:breakdownValuesLoading,size:"xsmall",type:"secondary",className:"inline-block ml-2",children:["Set to ",2*(breakdownFilter.breakdown_limit||25)]})]})})]})}function ChartFilter(){let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{display}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,insightVizDataLogic.Z)(insightProps)),{isTrends,isSingleSeries,formula,breakdownFilter}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),trendsOnlyDisabledReason=isTrends?void 0:"This type is only available in Trends.",options=[{title:"Time series",options:[{value:types.Qb.ActionsLineGraph,icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconTrends,{}),label:"Line chart"},{value:types.Qb.ActionsBar,icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconGraph,{}),label:"Bar chart"},{value:types.Qb.ActionsAreaGraph,icon:(0,jsx_runtime.jsx)(icons.Ii,{}),label:"Area chart"}]},{title:"Cumulative time series",options:[{value:types.Qb.ActionsLineGraphCumulative,icon:(0,jsx_runtime.jsx)(icons.rp,{}),label:"Line chart (cumulative)",labelInMenu:"Line chart",disabledReason:trendsOnlyDisabledReason}]},{title:"Total value",options:[{value:types.Qb.BoldNumber,icon:(0,jsx_runtime.jsx)(icons.hQ,{}),label:"Number",disabledReason:trendsOnlyDisabledReason||(isSingleSeries?void 0:"This type currently only supports insights with one series, and this insight has multiple series.")},{value:types.Qb.ActionsPie,icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconPieChart,{}),label:"Pie chart",disabledReason:trendsOnlyDisabledReason},{value:types.Qb.ActionsBarValue,icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconGraph,{className:"rotate-90"}),label:"Bar chart",disabledReason:trendsOnlyDisabledReason},{value:types.Qb.ActionsTable,icon:(0,jsx_runtime.jsx)(icons.p$,{}),label:"Table"},{value:types.Qb.WorldMap,icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconGlobe,{}),label:"World map",tooltip:"Visualize data by country.",disabledReason:trendsOnlyDisabledReason||(formula?"This type isn't available, because it doesn't support formulas.":breakdownFilter?.breakdown&&"$geoip_country_code"!==breakdownFilter.breakdown&&"$geoip_country_name"!==breakdownFilter.breakdown?"This type isn't available, because there's a breakdown other than by Country Code or Country Name properties.":void 0)}]}];return(0,jsx_runtime.jsx)(src.Yv,{value:display||types.Qb.ActionsLineGraph,onChange:value=>{updateInsightFilter({display:value})},dropdownPlacement:"bottom-end",optionTooltipPlacement:"left",dropdownMatchSelectWidth:!1,"data-attr":"chart-filter",options:options,size:"small"},"2")}var CompareFilter=__webpack_require__("./frontend/src/lib/components/CompareFilter/CompareFilter.tsx"),IntervalFilter=__webpack_require__("./frontend/src/lib/components/IntervalFilter/index.ts"),smoothings=__webpack_require__("./frontend/src/lib/components/SmoothingFilter/smoothings.ts");function SmoothingFilter(){let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{isTrends,interval,trendsFilter}=(0,index_esm.useValues)((0,trendsDataLogic.i)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,insightVizDataLogic.Z)(insightProps));if(!isTrends||!interval)return null;let{smoothingIntervals}=trendsFilter||{},options=smoothings.T[interval].map(_ref=>{let{value,label}=_ref;return{value,label:value===smoothingIntervals?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(posthog_icons_es.IconPulse,{className:"mr-1.5 text-muted"}),label]}):label,labelInMenu:label}});return options.length?(0,jsx_runtime.jsx)(src.Yv,{value:smoothingIntervals||1,dropdownMatchSelectWidth:!1,onChange:key=>{updateInsightFilter({smoothingIntervals:key})},"data-attr":"smoothing-filter",options:options,size:"small"},interval):(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{})}var LemonInput=__webpack_require__("./frontend/src/lib/lemon-ui/LemonInput/LemonInput.tsx"),LemonModal=__webpack_require__("./frontend/src/lib/lemon-ui/LemonModal/index.ts");function chooseFormativeElementValue(formativeElement,trendsFilter){return"prefix"===formativeElement?trendsFilter?.aggregationAxisPrefix||"":"postfix"===formativeElement&&trendsFilter?.aggregationAxisPostfix||""}function CustomUnitModal(_ref){let{isOpen,onSave,formativeElement,trendsFilter,onClose,overlayRef}=_ref,[localFormativeElementValue,setLocalFormativeElementValue]=(0,react.useState)(chooseFormativeElementValue(formativeElement,trendsFilter));return((0,react.useEffect)(()=>{setLocalFormativeElementValue(chooseFormativeElementValue(formativeElement,trendsFilter))},[formativeElement]),null===formativeElement)?null:(0,jsx_runtime.jsx)(LemonModal.f,{overlayRef:overlayRef,isOpen:isOpen,onClose:onClose,forceAbovePopovers:!0,title:`Custom ${formativeElement}`,footer:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(LemonButton.J,{type:"secondary","data-attr":"custom-prefix-cancel",onClick:onClose,children:"Cancel"}),(0,jsx_runtime.jsx)(LemonButton.J,{type:"primary",onClick:()=>onSave({[formativeElement]:localFormativeElementValue}),children:"Apply"})]}),children:(0,jsx_runtime.jsx)(LemonField.D.Pure,{label:`${(0,lib_utils.fm)(formativeElement)}:`,help:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["With a ",formativeElement,' of "',(0,jsx_runtime.jsx)("strong",{children:localFormativeElementValue||"$"}),'", 123.45 will be displayed as "',(0,jsx_runtime.jsxs)("strong",{children:["prefix"===formativeElement?localFormativeElementValue||"$":"","123.45","postfix"===formativeElement?localFormativeElementValue||"$":""]}),'"']}),children:(0,jsx_runtime.jsx)(LemonInput.D,{value:localFormativeElementValue,onChange:setLocalFormativeElementValue,autoFocus:!0})})})}var useKeyboardHotkeys=__webpack_require__("./frontend/src/lib/hooks/useKeyboardHotkeys.tsx"),LemonDivider=__webpack_require__("./frontend/src/lib/lemon-ui/LemonDivider/index.ts");let aggregationDisplayMap=aggregationAxisFormat.uq.reduce((acc,option)=>(acc[option.value]=option.label,acc),{});function UnitPicker(){let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{trendsFilter,display}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,insightVizDataLogic.Z)(insightProps)),{reportAxisUnitsChanged}=(0,index_esm.useActions)(eventUsageLogic.vx),[isVisible,setIsVisible]=(0,react.useState)(!1),[localAxisFormat,setLocalAxisFormat]=(0,react.useState)(trendsFilter?.aggregationAxisFormat||void 0),[customUnitModal,setCustomUnitModal]=(0,react.useState)(null),customUnitModalRef=(0,react.useRef)(null);(0,useKeyboardHotkeys.l)({escape:{action:function(){setCustomUnitModal(null),setIsVisible(!1)}}},[]);let handleChange=_ref=>{let{format,prefix,postfix}=_ref;setLocalAxisFormat(format),updateInsightFilter({aggregationAxisFormat:format,aggregationAxisPrefix:prefix,aggregationAxisPostfix:postfix}),reportAxisUnitsChanged({format,prefix,postfix,display,unitIsSet:!!prefix||!!postfix||format&&"numeric"!==format}),setIsVisible(!1),setCustomUnitModal(null)},displayValue=(0,react.useMemo)(()=>{let displayValue="None";return localAxisFormat&&(displayValue=aggregationDisplayMap[localAxisFormat]),trendsFilter?.aggregationAxisPrefix?.length&&(displayValue=`Prefix: ${trendsFilter?.aggregationAxisPrefix}`),trendsFilter?.aggregationAxisPostfix?.length&&(displayValue=`Postfix: ${trendsFilter?.aggregationAxisPostfix}`),displayValue},[localAxisFormat,trendsFilter]);return(0,jsx_runtime.jsxs)("div",{className:"flex-1 mb-2.5 mx-2",children:[(0,jsx_runtime.jsx)(CustomUnitModal,{formativeElement:customUnitModal,isOpen:null!==customUnitModal,onSave:handleChange,trendsFilter:trendsFilter,onClose:()=>setCustomUnitModal(null),overlayRef:ref=>customUnitModalRef.current=ref}),(0,jsx_runtime.jsx)(LemonButton.$,{onClick:()=>setIsVisible(!isVisible),size:"small",type:"secondary","data-attr":"chart-aggregation-axis-format",fullWidth:!0,dropdown:{onClickOutside:()=>setIsVisible(!1),additionalRefs:[customUnitModalRef],visible:isVisible,overlay:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[aggregationAxisFormat.uq.map((_ref2,index)=>{let{value,label}=_ref2;return(0,jsx_runtime.jsx)(LemonButton.J,{onClick:()=>handleChange({format:value}),active:value===localAxisFormat,fullWidth:!0,children:label},index)}),(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(LemonDivider.p,{}),(0,jsx_runtime.jsxs)(LemonButton.J,{onClick:()=>setCustomUnitModal("prefix"),active:!!trendsFilter?.aggregationAxisPrefix,fullWidth:!0,children:["Custom prefix",trendsFilter?.aggregationAxisPrefix?`: ${trendsFilter?.aggregationAxisPrefix}...`:"..."]}),(0,jsx_runtime.jsxs)(LemonButton.J,{onClick:()=>setCustomUnitModal("postfix"),active:!!trendsFilter?.aggregationAxisPostfix,fullWidth:!0,children:["Custom postfix",trendsFilter?.aggregationAxisPostfix?`: ${trendsFilter?.aggregationAxisPostfix}...`:"..."]})]})]}),placement:"bottom-start",actionable:!0,closeOnClickInside:!1},children:displayValue})]})}var LemonMenu=__webpack_require__("./frontend/src/lib/lemon-ui/LemonMenu/index.ts");function PercentStackViewFilter(){let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{showPercentStackView}=(0,index_esm.useValues)((0,trendsDataLogic.i)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,trendsDataLogic.i)(insightProps));return(0,jsx_runtime.jsx)(LemonCheckbox.H,{className:"p-1 px-2",checked:!!showPercentStackView,onChange:checked=>{updateInsightFilter({showPercentStackView:checked})},label:(0,jsx_runtime.jsx)("span",{className:"font-normal",children:"Show as % of total"}),size:"small"})}var ResultCustomizationByPicker=__webpack_require__("./frontend/src/scenes/insights/EditorFilters/ResultCustomizationByPicker.tsx");function ScalePicker(){let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{yAxisScaleType}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,insightVizDataLogic.Z)(insightProps));return(0,jsx_runtime.jsx)(src.P4,{className:"pb-2 px-2",onChange:value=>updateInsightFilter({yAxisScaleType:value}),value:yAxisScaleType||"linear",options:[{value:"linear",label:"Linear"},{value:"log10",label:"Logarithmic"}],size:"small",fullWidth:!0})}function ShowAlertThresholdLinesFilter(){let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{showAlertThresholdLines}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,insightVizDataLogic.Z)(insightProps));return(0,jsx_runtime.jsx)(src.Hw,{className:"p-1 px-2",onChange:()=>{updateInsightFilter({showAlertThresholdLines:!showAlertThresholdLines})},checked:!!showAlertThresholdLines,label:(0,jsx_runtime.jsx)("span",{className:"font-normal",children:"Show alert threshold lines"}),size:"small"})}function ShowLegendFilter(){let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{showLegend}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,insightVizDataLogic.Z)(insightProps));return(0,jsx_runtime.jsx)(src.Hw,{className:"p-1 px-2",onChange:()=>{updateInsightFilter({showLegend:!showLegend})},checked:!!showLegend,label:(0,jsx_runtime.jsx)("span",{className:"font-normal",children:"Show legend"}),size:"small"})}function ValueOnSeriesFilter(){let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{updateInsightFilter}=(0,index_esm.useActions)((0,insightVizDataLogic.Z)(insightProps)),{showValuesOnSeries}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps));return(0,jsx_runtime.jsx)(LemonCheckbox.H,{className:"p-1 px-2",checked:!!showValuesOnSeries,onChange:()=>{updateInsightFilter({showValuesOnSeries:!showValuesOnSeries})},label:(0,jsx_runtime.jsx)("span",{className:"font-normal",children:"Show values on series"}),size:"small"})}var DateFilter=__webpack_require__("./frontend/src/lib/components/DateFilter/DateFilter.tsx");function InsightDateFilter(_ref){var _dateRange$date_to,_dateRange$date_from;let{disabled}=_ref,{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{isTrends,dateRange}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),{updateDateRange}=(0,index_esm.useActions)((0,insightVizDataLogic.Z)(insightProps));return(0,jsx_runtime.jsx)(DateFilter.f,{dateTo:null!==(_dateRange$date_to=dateRange?.date_to)&&void 0!==_dateRange$date_to?_dateRange$date_to:void 0,dateFrom:null!==(_dateRange$date_from=dateRange?.date_from)&&void 0!==_dateRange$date_from?_dateRange$date_from:"-7d",allowTimePrecision:!0,disabled:disabled,onChange:(date_from,date_to,explicit_date)=>{updateDateRange({date_from,date_to,explicitDate:explicit_date})},dateOptions:lib_utils.bE,allowedRollingDateOptions:isTrends?["hours","days","weeks","months","years"]:void 0,makeLabel:key=>(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(posthog_icons_es.IconCalendar,{})," ",key,"All time"==key&&(0,jsx_runtime.jsx)(src.u,{title:"Only events dated after 2015 will be shown",children:(0,jsx_runtime.jsx)(posthog_icons_es.IconInfo,{className:"info-indicator"})})]})})}function RetentionCumulativeCheckbox(){let{insightProps,canEditInsight}=(0,index_esm.useValues)(insightLogic.zm),{retentionFilter}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,insightVizDataLogic.Z)(insightProps)),cumulativeRetention=retentionFilter?.cumulative||!1;return canEditInsight?(0,jsx_runtime.jsx)(src.f4,{onChange:cumulative=>{updateInsightFilter({cumulative})},checked:cumulativeRetention,label:(0,jsx_runtime.jsxs)("span",{className:"font-normal",children:["Rolling retention",(0,jsx_runtime.jsx)(src.u,{title:(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:"Rolling, or unbounded, retention includes any subsequent time period, instead of only the next period. For example, if a user is comes back on day 7, they are counted in all previous retention periods."}),children:(0,jsx_runtime.jsx)(posthog_icons_es.IconInfo,{className:"w-4 info-indicator"})})]}),bordered:!0,size:"small"}):null}function RetentionMeanCheckbox(){let{insightProps,canEditInsight}=(0,index_esm.useValues)(insightLogic.zm),{retentionFilter}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,insightVizDataLogic.Z)(insightProps)),showMean=retentionFilter?.showMean||!1;return canEditInsight?(0,jsx_runtime.jsx)(src.f4,{onChange:showMean=>{updateInsightFilter({showMean})},checked:showMean,label:(0,jsx_runtime.jsx)("span",{className:"font-normal",children:"Show mean across cohorts"}),bordered:!0,size:"small"}):null}function RetentionReferencePicker(){let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{retentionFilter}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,insightVizDataLogic.Z)(insightProps)),{retentionReference}=retentionFilter||{};return(0,jsx_runtime.jsx)(src.Yv,{className:"w-60",size:"small",value:retentionReference||"total",onChange:retentionReference=>{updateInsightFilter({retentionReference})},options:[{value:"total",labelInMenu:"Overall cohort",label:"% Overall cohort"},{value:"previous",labelInMenu:"Relative to previous period",label:"% Relative to previous period"}]})}function RetentionDatePicker(){let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{dateRange,retentionFilter}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),{updateDateRange}=(0,index_esm.useActions)((0,insightVizDataLogic.Z)(insightProps)),period=retentionFilter?.period,date_to=dateRange?.date_to,yearSuffix=date_to&&(0,dayjs.Bv)(date_to).year()!==(0,dayjs.Bv)().year()?", YYYY":"";return(0,jsx_runtime.jsx)("span",{className:"flex inline-flex items-center pl-2",children:(0,jsx_runtime.jsx)(src.he,{value:date_to?(0,dayjs.Bv)(date_to):void 0,onChange:date_to=>{updateDateRange({date_to:date_to&&(0,dayjs.Bv)(date_to).toISOString()})},granularity:"Hour"===period?"hour":"day",placeholder:"Today",clearable:!0,buttonProps:{tooltip:"Cohorts up to this end date",type:"secondary",sideIcon:null,size:"small"},format:"Hour"===period?`MMM D${yearSuffix}, h A`:`MMM D${yearSuffix}`})})}let NUMBER_PRESETS=new Set([5,15,25,50,90]),BIN_OPTIONS=[{label:"Auto bins",value:constants.hB,display:!0},...Array.from(Array.from(Array(91).keys()),v=>({label:`${v} bins`,value:v,display:NUMBER_PRESETS.has(v)}))];function FunnelBinsPicker(){let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{funnelsFilter,numericBinCount}=(0,index_esm.useValues)((0,funnelDataLogic.l)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,funnelDataLogic.l)(insightProps)),[visible,setVisible]=(0,react.useState)(!1),setBinCount=binCount=>{updateInsightFilter({binCount:binCount&&binCount!==constants.hB?binCount:void 0})},preferredOptions=BIN_OPTIONS.filter(o=>o.display).map(bin=>({value:bin.value,label:bin.label,icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconGraph,{})})),selectedValue=funnelsFilter?.binCount||constants.hB,selectedOption=BIN_OPTIONS.find(o=>o.value===selectedValue),overlay=(0,jsx_runtime.jsxs)("div",{className:"space-y-px",onClick:e=>e.stopPropagation(),children:[preferredOptions.map(bin=>(0,jsx_runtime.jsx)(src.Jp,{fullWidth:!0,active:bin.value===selectedValue,onClick:()=>{setVisible(!1),setBinCount(bin.value)},children:bin.label},bin.value)),(0,jsx_runtime.jsx)(src.DF,{type:"number",className:"funnel-bins-custom-picker",min:1,max:90,value:numericBinCount,onChange:count=>{let parsedCount="string"==typeof count?parseInt(count):count;parsedCount&&setBinCount(parsedCount)},suffix:(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:"bins"})})]});return(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:(0,jsx_runtime.jsx)(src.Qw,{"data-attr":"funnel-bin-filter",matchWidth:!0,visible:visible,closeOnClickInside:!1,onClickOutside:()=>setVisible(!1),overlay:overlay,className:"w-32",placement:"bottom-end",children:(0,jsx_runtime.jsx)(src.Jp,{size:"small",type:"secondary",icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconGraph,{}),onClick:()=>setVisible(!0),children:selectedOption?.label})})})}function FunnelDisplayLayoutPicker(){let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{funnelsFilter}=(0,index_esm.useValues)((0,funnelDataLogic.l)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,funnelDataLogic.l)(insightProps)),options=[{title:"Graph Display Options",options:[{value:constants.xp.vertical,icon:(0,jsx_runtime.jsx)(icons.SE,{}),label:"Left to right"},{value:constants.xp.horizontal,icon:(0,jsx_runtime.jsx)(icons.Mr,{}),label:"Top to bottom"}]}];return(0,jsx_runtime.jsx)(src.Yv,{value:funnelsFilter?.layout||constants.xp.vertical,onChange:layout=>layout&&updateInsightFilter({layout}),dropdownMatchSelectWidth:!1,"data-attr":"funnel-bar-layout-selector",options:options,size:"small"})}function PathStepPicker(){let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{pathsFilter}=(0,index_esm.useValues)((0,pathsDataLogic.e)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,pathsDataLogic.e)(insightProps)),{hasAvailableFeature}=(0,index_esm.useValues)(userLogic.userLogic),{stepLimit}=pathsFilter||{},MAX=hasAvailableFeature(types.P$.PATHS_ADVANCED)?20:5,options=Array.from(Array.from(Array.from(Array(MAX+1).keys()).slice(2)),v=>({label:`${v} Steps`,value:v}));return(0,jsx_runtime.jsx)(src.Yv,{size:"small",value:stepLimit||pathsDataLogic._,onChange:count=>updateInsightFilter({stepLimit:count}),options:options})}var index_module=__webpack_require__("./node_modules/.pnpm/use-debounce@9.0.3_react@18.2.0/node_modules/use-debounce/dist/index.module.js");function InsightDisplayConfig(){let{insightProps,canEditInsight}=(0,index_esm.useValues)(insightLogic.zm),{isTrends,isFunnels,isRetention,isPaths,isStickiness,isLifecycle,supportsDisplay,display,breakdownFilter,trendsFilter,hasLegend,showLegend,supportsValueOnSeries,showPercentStackView,supportsPercentStackView,supportsResultCustomizationBy,yAxisScaleType,isNonTimeSeriesDisplay,compareFilter,supportsCompare}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),{isTrendsFunnel,isStepsFunnel,isTimeToConvertFunnel,isEmptyFunnel}=(0,index_esm.useValues)((0,funnelDataLogic.l)(insightProps)),{hasInsightColors}=(0,index_esm.useValues)((0,resultCustomizationsModalLogic.W)(insightProps)),{updateCompareFilter}=(0,index_esm.useActions)((0,insightVizDataLogic.Z)(insightProps)),showCompare=isTrends&&display!==types.Qb.ActionsAreaGraph||isStickiness,showInterval=isTrendsFunnel||isLifecycle||(isTrends||isStickiness)&&!(display&&constants.si.includes(display)),showSmoothing=isTrends&&!(0,utils.AV)(breakdownFilter)&&(!display||display===types.Qb.ActionsLineGraph),{showValuesOnSeries,mightContainFractionalNumbers}=(0,index_esm.useValues)((0,trendsDataLogic.i)(insightProps)),advancedOptions=[...supportsValueOnSeries||supportsPercentStackView||hasLegend||supportsResultCustomizationBy?[{title:"Display",items:[...supportsValueOnSeries?[{label:()=>(0,jsx_runtime.jsx)(ValueOnSeriesFilter,{})}]:[],...supportsPercentStackView?[{label:()=>(0,jsx_runtime.jsx)(PercentStackViewFilter,{})}]:[],...hasLegend?[{label:()=>(0,jsx_runtime.jsx)(ShowLegendFilter,{})}]:[],{label:()=>(0,jsx_runtime.jsx)(ShowAlertThresholdLinesFilter,{})}]}]:[],...supportsResultCustomizationBy&&hasInsightColors?[{title:(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:(0,jsx_runtime.jsxs)("h5",{className:"mx-2 my-1",children:["Color customization by"," ",(0,jsx_runtime.jsx)(src.u,{title:"You can customize the appearance of individual results in your insights. This can be done based on the result's name (e.g., customize the breakdown value 'pizza' for the first series) or based on the result's rank (e.g., customize the first dataset in the results).",children:(0,jsx_runtime.jsx)(posthog_icons_es.IconInfo,{className:"relative top-0.5 text-lg text-muted"})})]})}),items:[{label:()=>(0,jsx_runtime.jsx)(ResultCustomizationByPicker.r,{})}]}]:[],...!showPercentStackView&&isTrends?[{title:(0,aggregationAxisFormat.qn)(display||types.Qb.ActionsLineGraph),items:[{label:()=>(0,jsx_runtime.jsx)(UnitPicker,{})}]}]:[],...!isNonTimeSeriesDisplay&&isTrends?[{title:"Y-axis scale",items:[{label:()=>(0,jsx_runtime.jsx)(ScalePicker,{})}]}]:[],...mightContainFractionalNumbers&&isTrends?[{title:"Decimal places",items:[{label:()=>(0,jsx_runtime.jsx)(DecimalPrecisionInput,{})}]}]:[]],advancedOptionsCount=(supportsValueOnSeries&&showValuesOnSeries?1:0)+(showPercentStackView?1:0)+(!showPercentStackView&&isTrends&&trendsFilter?.aggregationAxisFormat&&"numeric"!==trendsFilter.aggregationAxisFormat?1:0)+(hasLegend&&showLegend?1:0)+(yAxisScaleType&&"linear"!==yAxisScaleType?1:0);return(0,jsx_runtime.jsxs)("div",{className:"InsightDisplayConfig flex justify-between items-center flex-wrap gap-2","data-attr":"insight-filters",children:[(0,jsx_runtime.jsxs)("div",{className:"flex items-center gap-x-2 flex-wrap gap-y-2",children:[!isRetention&&(0,jsx_runtime.jsx)(ConfigFilter,{children:(0,jsx_runtime.jsx)(InsightDateFilter,{disabled:isFunnels&&!!isEmptyFunnel})}),showInterval&&(0,jsx_runtime.jsx)(ConfigFilter,{children:(0,jsx_runtime.jsx)(IntervalFilter.$,{})}),showSmoothing&&(0,jsx_runtime.jsx)(ConfigFilter,{children:(0,jsx_runtime.jsx)(SmoothingFilter,{})}),!!isRetention&&(0,jsx_runtime.jsxs)(ConfigFilter,{children:[(0,jsx_runtime.jsx)(RetentionDatePicker,{}),(0,jsx_runtime.jsx)(RetentionReferencePicker,{}),(0,jsx_runtime.jsx)(RetentionMeanCheckbox,{}),(0,jsx_runtime.jsx)(RetentionCumulativeCheckbox,{})]}),!!isPaths&&(0,jsx_runtime.jsx)(ConfigFilter,{children:(0,jsx_runtime.jsx)(PathStepPicker,{})}),showCompare&&(0,jsx_runtime.jsx)(ConfigFilter,{children:(0,jsx_runtime.jsx)(CompareFilter.m,{compareFilter:compareFilter,updateCompareFilter:updateCompareFilter,disabled:!canEditInsight||!supportsCompare})})]}),(0,jsx_runtime.jsxs)("div",{className:"flex items-center gap-x-2 flex-wrap",children:[advancedOptions.length>0&&(0,jsx_runtime.jsx)(LemonMenu.d,{items:advancedOptions,closeOnClickInside:!1,children:(0,jsx_runtime.jsx)(src.Jp,{size:"small",children:(0,jsx_runtime.jsxs)("span",{className:"font-medium whitespace-nowrap",children:["Options",advancedOptionsCount?(0,jsx_runtime.jsxs)("span",{className:"ml-0.5 text-muted ligatures-none",children:["(",advancedOptionsCount,")"]}):null]})})}),supportsDisplay&&(0,jsx_runtime.jsx)(ConfigFilter,{children:(0,jsx_runtime.jsx)(ChartFilter,{})}),!!isStepsFunnel&&(0,jsx_runtime.jsx)(ConfigFilter,{children:(0,jsx_runtime.jsx)(FunnelDisplayLayoutPicker,{})}),!!isTimeToConvertFunnel&&(0,jsx_runtime.jsx)(ConfigFilter,{children:(0,jsx_runtime.jsx)(FunnelBinsPicker,{})})]})]})}function ConfigFilter(_ref){let{children}=_ref;return(0,jsx_runtime.jsx)("span",{className:"space-x-2 flex items-center text-sm",children:children})}function DecimalPrecisionInput(){let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{trendsFilter}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps)),{updateInsightFilter}=(0,index_esm.useActions)((0,insightVizDataLogic.Z)(insightProps)),reportChange=(0,index_module.y1)(()=>{posthog_js_dist_module.ZP.capture("decimal places changed",{decimal_places:trendsFilter?.decimalPlaces})},500);return(0,jsx_runtime.jsx)(src.DF,{type:"number",size:"small",step:1,min:0,max:9,defaultValue:lib_utils.z9,value:trendsFilter?.decimalPlaces,onChange:value=>{updateInsightFilter({decimalPlaces:value}),reportChange()},className:"mx-2 mb-1.5"})}var preflightLogic=__webpack_require__("./frontend/src/scenes/PreflightCheck/preflightLogic.tsx");function ComputationTimeWithRefresh(_ref){let{disableRefresh}=_ref,{lastRefresh,response}=(0,index_esm.useValues)(dataNodeLogic.M),{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{getInsightRefreshButtonDisabledReason}=(0,index_esm.useValues)((0,insightDataLogic.S)(insightProps)),{loadData}=(0,index_esm.useActions)((0,insightDataLogic.S)(insightProps)),disabledReason=getInsightRefreshButtonDisabledReason(),{user}=(0,index_esm.useValues)(userLogic.userLogic),{isDev}=(0,index_esm.useValues)(preflightLogic.preflightLogic),canBypassRefreshDisabled=user?.is_staff||user?.is_impersonated||isDev;return(!function(milliseconds){let[,setTick]=(0,react.useState)(0);(0,react.useEffect)(()=>{let intervalId=setInterval(()=>setTick(state=>state+1),15e3);return()=>clearInterval(intervalId)})}(0),response&&(response.result||response.results))?(0,jsx_runtime.jsxs)("div",{className:"flex items-center text-muted-alt z-10",children:["Computed ",lastRefresh?(0,dayjs.Bv)(lastRefresh).fromNow():"a while ago",!disableRefresh&&(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)("span",{className:"px-1",children:"•"}),(0,jsx_runtime.jsx)(src.u,{title:canBypassRefreshDisabled&&disabledReason?`${disabledReason} (you can bypass this due to dev env / staff permissions)`:void 0,children:(0,jsx_runtime.jsx)(src.rU,{onClick:()=>loadData(!0),className:disabledReason?"opacity-50":"",disabledReason:canBypassRefreshDisabled?"":disabledReason,children:"Refresh"})})]})]}):null}let InsightResultMetadata=_ref=>{let{disableLastComputation,disableLastComputationRefresh}=_ref,{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{samplingFactor}=(0,index_esm.useValues)((0,insightVizDataLogic.Z)(insightProps));return(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[!disableLastComputation&&(0,jsx_runtime.jsx)(ComputationTimeWithRefresh,{disableRefresh:disableLastComputationRefresh}),samplingFactor?(0,jsx_runtime.jsxs)("span",{className:"text-muted-alt",children:[!disableLastComputation&&(0,jsx_runtime.jsx)("span",{className:"mx-1",children:"•"}),"Results calculated from ",100*samplingFactor,"% of users"]}):null]})};var ResultCustomizationsModal=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/queries/nodes/InsightViz/ResultCustomizationsModal.scss"),ResultCustomizationsModal_default=__webpack_require__.n(ResultCustomizationsModal),ResultCustomizationsModal_options={};ResultCustomizationsModal_options.insert="head",ResultCustomizationsModal_options.singleton=!1,injectStylesIntoStyleTag_default()(ResultCustomizationsModal_default(),ResultCustomizationsModal_options),ResultCustomizationsModal_default().locals;var assert=__webpack_require__("./node_modules/.pnpm/assert@2.1.0/node_modules/assert/build/assert.js"),assert_default=__webpack_require__.n(assert),dataThemeLogic=__webpack_require__("./frontend/src/scenes/dataThemeLogic.tsx");function ResultCustomizationsModal_ResultCustomizationsModal(){let{insightProps}=(0,index_esm.useValues)(insightLogic.zm),{modalVisible,dataset,colorToken,resultCustomizationBy}=(0,index_esm.useValues)((0,resultCustomizationsModalLogic.W)(insightProps)),{closeModal,setColorToken,save}=(0,index_esm.useActions)((0,resultCustomizationsModalLogic.W)(insightProps)),{isTrends,isFunnels,querySource}=(0,index_esm.useValues)(insightVizDataLogic.Z),{getTheme}=(0,index_esm.useValues)(dataThemeLogic.Q),theme=getTheme(querySource?.dataColorTheme);return null==dataset||null==theme?null:(0,jsx_runtime.jsxs)(src.fQ,{"data-attr":"legend-entry-modal",isOpen:modalVisible,title:"Customize result color",width:520,footer:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(src.Jp,{type:"secondary",onClick:closeModal,children:"Cancel"}),(0,jsx_runtime.jsx)(src.Jp,{type:"primary",onClick:save,children:"Save customizations"})]}),onClose:closeModal,children:[(0,jsx_runtime.jsxs)("p",{children:["Query results can be customized to provide a more"," ",(0,jsx_runtime.jsx)("strong",{children:"meaningful appearance for you and your team members"}),". The customizations are also shown on dashboards."]}),isTrends&&(0,jsx_runtime.jsx)(TrendsInfo,{dataset:dataset,resultCustomizationBy:resultCustomizationBy}),isFunnels&&(0,jsx_runtime.jsx)(FunnelsInfo,{dataset:dataset}),(0,jsx_runtime.jsx)("h3",{className:"l4 mt-2 mb-2",children:"Color"}),(0,jsx_runtime.jsx)("div",{className:"flex flex-wrap gap-1",children:Object.keys(theme).map(key=>(0,jsx_runtime.jsx)(ColorGlyphButton,{colorToken:key,selected:key===colorToken,onClick:e=>{e.preventDefault(),e.stopPropagation(),setColorToken(key)}},key))})]})}function TrendsInfo(_ref){let{dataset,resultCustomizationBy}=_ref,{cohorts}=(0,index_esm.useValues)(cohortsModel.Q),{formatPropertyValueForDisplay}=(0,index_esm.useValues)(propertyDefinitionsModel.IP),{breakdownFilter}=(0,index_esm.useValues)(insightVizDataLogic.Z);return(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[dataset.breakdown_value?(0,jsx_runtime.jsxs)("p",{className:"mb-2",children:["You are customizing the appearance of series"," ",(0,jsx_runtime.jsx)("b",{children:(0,jsx_runtime.jsx)(EntityFilterInfo.c,{filter:dataset.action,allowWrap:!0,showSingleName:!0})})," ","for the breakdown"," ",(0,jsx_runtime.jsx)("b",{children:(0,insights_utils.Cq)(dataset.breakdown_value,breakdownFilter,cohorts,formatPropertyValueForDisplay)}),"."]}):(0,jsx_runtime.jsxs)("p",{className:"mb-2",children:["You are customizing the appearance of series"," ",(0,jsx_runtime.jsx)("b",{children:(0,jsx_runtime.jsx)(EntityFilterInfo.c,{filter:dataset.action,allowWrap:!0,showSingleName:!0})}),"."]}),(0,jsx_runtime.jsxs)("p",{children:["Results are assigned by"," ",resultCustomizationBy===schema.Ru.Position?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["their ",(0,jsx_runtime.jsx)("strong",{children:"rank"})," in the dataset"]}):(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["their ",(0,jsx_runtime.jsx)("strong",{children:"name"})," in the dataset"]}),". You can change this in insight settings."]})]})}function FunnelsInfo(_ref2){let{dataset}=_ref2;return(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["You are customizing the appearance of the"," ",dataset.breakdown_value?.[0]==="Baseline"?(0,jsx_runtime.jsx)("b",{children:"Baseline"}):(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)("b",{children:dataset.breakdown_value?.[0]})," breakdown"]}),"."]})}function ColorGlyphButton(_ref3){let{colorToken,selected,onClick}=_ref3,{getTheme}=(0,index_esm.useValues)(dataThemeLogic.Q),{querySource}=(0,index_esm.useValues)(insightVizDataLogic.Z),theme=getTheme(querySource?.dataColorTheme),color=theme?.[colorToken];return(0,jsx_runtime.jsx)(src.Jp,{type:selected?"secondary":"tertiary",className:"ResultCustomizationsModal__ColorGlyphButton",onClick:onClick,tooltip:function(color){let{name,group}=function(color){let{r:r1,g:g1,b:b1}=(0,lib_utils.$W)(color),minDistance=null,minColor=null;for(let referenceColor in referenceColors){let{r:r2,g:g2,b:b2}=(0,lib_utils.$W)(referenceColor),distance=Math.sqrt((r2-r1)**2+(g2-g1)**2+(b2-b1)**2);(null===minDistance||distance{if(insightDataLoading)return(0,jsx_runtime.jsx)("div",{className:"flex flex-col flex-1 justify-center items-center p-2",children:(0,jsx_runtime.jsx)(EmptyStates.dU,{queryId:queryId,insightProps:insightProps},queryId)});if(validationError)return(0,jsx_runtime.jsx)(EmptyStates._f,{query:query,detail:validationError});if(activeView===types.dw.FUNNELS){if(!isFunnelWithEnoughSteps)return(0,jsx_runtime.jsx)(EmptyStates.zy,{actionable:!embedded&&insightMode===types.LO.Edit});if(!hasFunnelResults&&!erroredQueryId&&!insightDataLoading)return(0,jsx_runtime.jsx)(EmptyStates.dV,{heading:context?.emptyStateHeading,detail:context?.emptyStateDetail})}return erroredQueryId?(0,jsx_runtime.jsx)(EmptyStates.jC,{query:query,queryId:erroredQueryId}):timedOutQueryId?(0,jsx_runtime.jsx)(EmptyStates.Oj,{queryId:timedOutQueryId}):null})();function renderActiveView(){switch(activeView){case types.dw.TRENDS:return(0,jsx_runtime.jsx)(TrendInsight,{view:types.dw.TRENDS,context:context,embedded:embedded,inSharedMode:inSharedMode});case types.dw.STICKINESS:return(0,jsx_runtime.jsx)(TrendInsight,{view:types.dw.STICKINESS,context:context,embedded:embedded,inSharedMode:inSharedMode});case types.dw.LIFECYCLE:return(0,jsx_runtime.jsx)(TrendInsight,{view:types.dw.LIFECYCLE,context:context,embedded:embedded,inSharedMode:inSharedMode});case types.dw.FUNNELS:return(0,jsx_runtime.jsx)(Funnel_Funnel,{inCardView:embedded,inSharedMode:inSharedMode,showPersonsModal:!inSharedMode});case types.dw.RETENTION:return(0,jsx_runtime.jsx)(RetentionContainer,{context:context,vizSpecificOptions:vizSpecificOptions?.[types.dw.RETENTION],inCardView:embedded,inSharedMode:inSharedMode});case types.dw.PATHS:return(0,jsx_runtime.jsx)(Paths_Paths,{});default:return null}}let showComputationMetadata=!disableLastComputation||!!samplingFactor;return theme?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsxs)("div",{className:(0,clsx_m.default)(`InsightVizDisplay InsightVizDisplay--type-${activeView.toLowerCase()} ph-no-capture`,!embedded&&"border rounded bg-bg-light"),"data-attr":"insights-graph",children:[disableHeader?null:(0,jsx_runtime.jsx)(InsightDisplayConfig,{}),showingResults&&(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[!embedded&&(isFunnels||isPaths||showComputationMetadata)&&(0,jsx_runtime.jsxs)("div",{className:"flex items-center justify-between gap-2 p-2 flex-wrap-reverse border-b",children:[(0,jsx_runtime.jsx)("div",{className:"flex items-center gap-2",children:showComputationMetadata&&(0,jsx_runtime.jsx)(InsightResultMetadata,{disableLastComputation:disableLastComputation,disableLastComputationRefresh:disableLastComputationRefresh})}),(0,jsx_runtime.jsxs)("div",{className:"flex items-center gap-2",children:[isPaths&&(0,jsx_runtime.jsx)(PathCanvasLabel,{}),isFunnels&&(0,jsx_runtime.jsx)(FunnelCanvasLabel,{})]})]}),(0,jsx_runtime.jsx)("div",{className:(0,clsx_m.default)("InsightVizDisplay__content",supportsDisplay&&showLegend&&"InsightVizDisplay__content--with-legend"),children:BlockingEmptyState||(supportsDisplay&&showLegend?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)("div",{className:"InsightVizDisplay__content__left",children:renderActiveView()}),(0,jsx_runtime.jsx)("div",{className:"InsightVizDisplay__content__right",children:(0,jsx_runtime.jsx)(InsightLegend.y,{})})]}):(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:renderActiveView()}))})]})]}),(0,jsx_runtime.jsx)(ResultCustomizationsModal_ResultCustomizationsModal,{}),isFunnels&&null===erroredQueryId&&null===timedOutQueryId&&isFunnelWithEnoughSteps&&hasFunnelResults&&funnelsFilter?.funnelVizType===types.Ui.Steps&&!disableTable?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)("h2",{className:"font-semibold text-lg my-4 mx-0",children:"Detailed results"}),(0,jsx_runtime.jsx)(FunnelStepsTable,{})]}):hasDetailedResultsTable&&!disableTable?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[exportContext&&(0,jsx_runtime.jsxs)("div",{className:"flex items-center justify-between my-4 mx-0",children:[(0,jsx_runtime.jsx)("h2",{className:"font-semibold text-lg m-0",children:"Detailed results"}),(0,jsx_runtime.jsx)(Tooltip.u,{title:"Export this table",placement:"left",children:(0,jsx_runtime.jsx)(ExportButton.j,{type:"secondary",items:[{export_format:types.P5.CSV,export_context:exportContext},{export_format:types.P5.XLSX,export_context:exportContext}]})})]}),(0,jsx_runtime.jsx)(InsightsTable.z,{isLegend:!0,filterKey:(0,sharedUtils.bk)("new")(insightProps),canEditSeriesNameInline:!trendsFilter?.formula&&insightMode===types.LO.Edit,canCheckUncheckSeries:canEditInsight})]}):null,!disableCorrelationTable&&activeView===types.dw.FUNNELS&&(0,jsx_runtime.jsx)(FunnelCorrelation_FunnelCorrelation,{})]}):null}let insightVizDataNodeKey=insightProps=>`InsightViz.${(0,sharedUtils.bk)("new")(insightProps)}`,insightVizDataCollectionId=(props,fallback)=>{var _ref,_ref2,_props$dataNodeCollec;return null!==(_ref=null!==(_ref2=null!==(_props$dataNodeCollec=props?.dataNodeCollectionId)&&void 0!==_props$dataNodeCollec?_props$dataNodeCollec:props?.dashboardId?.toString())&&void 0!==_ref2?_ref2:props?.dashboardItemId)&&void 0!==_ref?_ref:fallback},uniqueNode=0;function InsightViz_InsightViz_InsightViz(_ref3){var _query$showHeader,_query$showTable,_query$showCorrelatio,_query$showLastComput,_query$showLastComput2,_query$showFilters,_query$showResults,_query$embedded;let{uniqueKey,query,setQuery,context,readOnly,embedded,inSharedMode,filtersOverride,variablesOverride}=_ref3,[key]=(0,react.useState)(()=>`InsightViz.${uniqueKey||uniqueNode++}`),insightProps=context?.insightProps||{dashboardItemId:`new-AdHoc.${key}`,query,setQuery,dataNodeCollectionId:key,filtersOverride,variablesOverride};!insightProps.setQuery&&setQuery&&(insightProps.setQuery=setQuery);let vizKey=insightVizDataNodeKey(insightProps),dataNodeLogicProps={query:query.source,key:vizKey,cachedResults:(0,InsightViz_utils.VB)(insightProps.cachedInsight,query.source),doNotLoad:insightProps.doNotLoad,onData:insightProps.onData,loadPriority:insightProps.loadPriority,dataNodeCollectionId:insightVizDataCollectionId(insightProps,vizKey),filtersOverride,variablesOverride},{insightMode}=(0,index_esm.useValues)(insightSceneLogic.T),isFunnels=(0,utils.Wl)(query.source),isHorizontalAlways=(0,useFeatureFlag.y)("INSIGHT_HORIZONTAL_CONTROLS"),showIfFull=!!query.full,disableHeader=embedded||!(null!==(_query$showHeader=query.showHeader)&&void 0!==_query$showHeader?_query$showHeader:showIfFull),disableTable=embedded||!(null!==(_query$showTable=query.showTable)&&void 0!==_query$showTable?_query$showTable:showIfFull),disableCorrelationTable=embedded||!(null!==(_query$showCorrelatio=query.showCorrelationTable)&&void 0!==_query$showCorrelatio?_query$showCorrelatio:showIfFull),disableLastComputation=embedded||!(null!==(_query$showLastComput=query.showLastComputation)&&void 0!==_query$showLastComput?_query$showLastComput:showIfFull),disableLastComputationRefresh=embedded||!(null!==(_query$showLastComput2=query.showLastComputationRefresh)&&void 0!==_query$showLastComput2?_query$showLastComput2:showIfFull),showingFilters=null!==(_query$showFilters=query.showFilters)&&void 0!==_query$showFilters?_query$showFilters:insightMode===types.LO.Edit,showingResults=null===(_query$showResults=query.showResults)||void 0===_query$showResults||_query$showResults,isEmbedded=embedded||null!==(_query$embedded=query.embedded)&&void 0!==_query$embedded&&_query$embedded,display=(0,jsx_runtime.jsx)(InsightVizDisplay,{insightMode:insightMode,context:context,disableHeader:disableHeader,disableTable:disableTable,disableCorrelationTable:disableCorrelationTable,disableLastComputation:disableLastComputation,disableLastComputationRefresh:disableLastComputationRefresh,showingResults:showingResults,embedded:isEmbedded,inSharedMode:inSharedMode});return(0,jsx_runtime.jsx)(ErrorBoundary.S,{tags:{feature:"InsightViz"},children:(0,jsx_runtime.jsx)(index_esm.BindLogic,{logic:insightLogic.zm,props:insightProps,children:(0,jsx_runtime.jsx)(index_esm.BindLogic,{logic:dataNodeLogic.M,props:dataNodeLogicProps,children:(0,jsx_runtime.jsx)(index_esm.BindLogic,{logic:insightVizDataLogic.Z,props:insightProps,children:(0,jsx_runtime.jsxs)("div",{className:isEmbedded?"InsightCard__viz":(0,clsx_m.default)("InsightViz",{"InsightViz--horizontal":isFunnels||isHorizontalAlways}),children:[!readOnly&&(0,jsx_runtime.jsx)(EditorFilters_EditorFilters,{query:query.source,showing:showingFilters,embedded:isEmbedded}),isEmbedded?display:(0,jsx_runtime.jsx)("div",{className:"flex-1 h-full overflow-auto",children:display})]})})})})})}},"./frontend/src/queries/nodes/InsightViz/PropertyGroupFilters/AndOrFilterSelect.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{n:()=>AndOrFilterSelect});var _posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),_types__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/types.ts"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function AndOrFilterSelect(_ref){let{onChange,value,topLevelFilter,prefix="Match",suffix=["filter in this group","filters in this group"],disabledReason}=_ref;return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("div",{className:"flex items-center font-medium",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("span",{className:"ml-2",children:prefix}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.Yv,{className:"mx-2",size:"small",value:value,onChange:type=>onChange(type),disabledReason:disabledReason,options:[{label:"all",value:_types__WEBPACK_IMPORTED_MODULE_1__.J2.And,labelInMenu:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(SelectOption,{title:"All",description:"Every single filter must match",value:_types__WEBPACK_IMPORTED_MODULE_1__.J2.And,selectedValue:value})},{label:"any",value:_types__WEBPACK_IMPORTED_MODULE_1__.J2.Or,labelInMenu:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(SelectOption,{title:"Any",description:"One or more filters must match",value:_types__WEBPACK_IMPORTED_MODULE_1__.J2.Or,selectedValue:value})}],optionTooltipPlacement:topLevelFilter?"bottom-end":"bottom-start",dropdownMatchSelectWidth:!1}),value===_types__WEBPACK_IMPORTED_MODULE_1__.J2.Or?suffix[0]:suffix[1]]})}let SelectOption=_ref2=>{let{title,description,value,selectedValue}=_ref2;return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("div",{className:"flex p-1 items-center",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div",{className:`flex shrink-0 font-bold w-10 h-10 mr-3 justify-center items-center rounded text-xs ${value===selectedValue?"bg-primary text-white":"bg-bg-3000 text-primary-alt"}`,children:value}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("div",{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div",{className:"font-bold",children:title}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div",{className:"font-normal",children:description})]})]})}},"./frontend/src/queries/nodes/InsightViz/resultCustomizationsModalLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{W:()=>resultCustomizationsModalLogic});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),lib_constants__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/lib/constants.tsx"),lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),scenes_funnels_funnelDataLogic__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/scenes/funnels/funnelDataLogic.ts"),scenes_insights_EditorFilters_ResultCustomizationByPicker__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/scenes/insights/EditorFilters/ResultCustomizationByPicker.tsx"),scenes_insights_insightVizDataLogic__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/scenes/insights/insightVizDataLogic.ts"),scenes_insights_sharedUtils__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/scenes/insights/sharedUtils.ts"),scenes_insights_utils__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/scenes/insights/utils.tsx"),scenes_trends_trendsDataLogic__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./frontend/src/scenes/trends/trendsDataLogic.ts"),_queries_schema__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./frontend/src/queries/schema.ts");let resultCustomizationsModalLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.props)({}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.key)((0,scenes_insights_sharedUtils__WEBPACK_IMPORTED_MODULE_6__.bk)("new")),(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(key=>["scenes","insights","views","InsightsTable","resultCustomizationsModalLogic",key]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.connect)(props=>({values:[scenes_insights_insightVizDataLogic__WEBPACK_IMPORTED_MODULE_5__.Z,["isTrends","isFunnels","insightFilter"],(0,scenes_trends_trendsDataLogic__WEBPACK_IMPORTED_MODULE_8__.i)(props),["resultCustomizationBy as resultCustomizationByRaw","resultCustomizations as trendsResultCustomizations","getTrendsColorToken"],(0,scenes_funnels_funnelDataLogic__WEBPACK_IMPORTED_MODULE_3__.l)(props),["resultCustomizations as funnelsResultCustomizations","getFunnelsColorToken"],lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_2__.h,["featureFlags"]],actions:[scenes_insights_insightVizDataLogic__WEBPACK_IMPORTED_MODULE_5__.Z,["updateInsightFilter"]]})),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)({openModal:dataset=>({dataset}),closeModal:!0,setColorToken:token=>({token}),save:!0}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)({dataset:[null,{openModal:(_,_ref)=>{let{dataset}=_ref;return dataset},closeModal:()=>null}],localColorToken:[null,{setColorToken:(_,_ref2)=>{let{token}=_ref2;return token},closeModal:()=>null}]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.selectors)({hasInsightColors:[s=>[s.featureFlags],featureFlags=>!!featureFlags[lib_constants__WEBPACK_IMPORTED_MODULE_1__.y8.INSIGHT_COLORS]],modalVisible:[s=>[s.dataset],dataset=>null!==dataset],colorToken:[s=>[s.localColorToken,s.colorTokenFromQuery],(localColorToken,colorTokenFromQuery)=>localColorToken||colorTokenFromQuery],colorTokenFromQuery:[s=>[s.isTrends,s.isFunnels,s.getTrendsColorToken,s.getFunnelsColorToken,s.dataset],(isTrends,isFunnels,getTrendsColorToken,getFunnelsColorToken,dataset)=>dataset?isTrends?getTrendsColorToken(dataset):isFunnels?getFunnelsColorToken(dataset):null:null],resultCustomizationBy:[s=>[s.resultCustomizationByRaw],resultCustomizationByRaw=>resultCustomizationByRaw||scenes_insights_EditorFilters_ResultCustomizationByPicker__WEBPACK_IMPORTED_MODULE_4__.j],resultCustomizations:[s=>[s.isTrends,s.isFunnels,s.trendsResultCustomizations,s.funnelsResultCustomizations],(isTrends,isFunnels,trendsResultCustomizations,funnelsResultCustomizations)=>isTrends?trendsResultCustomizations:isFunnels?funnelsResultCustomizations:null]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.listeners)(_ref3=>{let{actions,values}=_ref3;return{save:()=>{if(null==values.localColorToken||null==values.dataset){actions.closeModal();return}if(values.isTrends){let resultCustomizationKey=(0,scenes_insights_utils__WEBPACK_IMPORTED_MODULE_7__.Xs)(values.resultCustomizationBy,values.dataset);actions.updateInsightFilter({resultCustomizations:{...values.trendsResultCustomizations,[resultCustomizationKey]:{assignmentBy:values.resultCustomizationBy,color:values.localColorToken}}})}if(values.isFunnels){let resultCustomizationKey=(0,scenes_insights_utils__WEBPACK_IMPORTED_MODULE_7__.dI)(values.dataset);actions.updateInsightFilter({resultCustomizations:{...values.funnelsResultCustomizations,[resultCustomizationKey]:{assignmentBy:_queries_schema__WEBPACK_IMPORTED_MODULE_9__.Ru.Value,color:values.localColorToken}}})}actions.closeModal()}}})])},"./frontend/src/queries/nodes/InsightViz/utils.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{xp:()=>getAllEventNames,VB:()=>getCachedResults,tB:()=>getDefaultQuery,ob:()=>getQueryBasedDashboard,Q0:()=>getQueryBasedInsightModel,a2:()=>getQueryFromInsightLike,WX:()=>queryFromFilters,bV:()=>queryFromKind});var fast_deep_equal=__webpack_require__("./node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js"),fast_deep_equal_default=__webpack_require__.n(fast_deep_equal),utils=__webpack_require__("./frontend/src/lib/utils.tsx"),examples=__webpack_require__("./frontend/src/queries/examples.ts"),schema=__webpack_require__("./frontend/src/queries/schema.ts"),queries_utils=__webpack_require__("./frontend/src/queries/utils.ts"),types=__webpack_require__("./frontend/src/types.ts");let trendsQueryDefault={kind:schema.OH.TrendsQuery,series:[{kind:schema.OH.EventsNode,name:"$pageview",event:"$pageview",math:types.vN.TotalCount}],trendsFilter:{}},funnelsQueryDefault={kind:schema.OH.FunnelsQuery,series:[{kind:schema.OH.EventsNode,name:"$pageview",event:"$pageview"}],funnelsFilter:{funnelVizType:types.Ui.Steps}},retentionQueryDefault={kind:schema.OH.RetentionQuery,retentionFilter:{period:types.xW.Day,totalIntervals:11,targetEntity:{id:"$pageview",name:"$pageview",type:"events"},returningEntity:{id:"$pageview",name:"$pageview",type:"events"},retentionType:"retention_first_time"}},pathsQueryDefault={kind:schema.OH.PathsQuery,pathsFilter:{includeEventTypes:[types.cB.PageView]}},stickinessQueryDefault={kind:schema.OH.StickinessQuery,series:[{kind:schema.OH.EventsNode,name:"$pageview",event:"$pageview",math:types.vN.UniqueUsers}],stickinessFilter:{}},lifecycleQueryDefault={kind:schema.OH.LifecycleQuery,series:[{kind:schema.OH.EventsNode,name:"$pageview",event:"$pageview"}]},nodeKindToDefaultQuery={[schema.OH.TrendsQuery]:trendsQueryDefault,[schema.OH.FunnelsQuery]:funnelsQueryDefault,[schema.OH.RetentionQuery]:retentionQueryDefault,[schema.OH.PathsQuery]:pathsQueryDefault,[schema.OH.StickinessQuery]:stickinessQueryDefault,[schema.OH.LifecycleQuery]:lifecycleQueryDefault};var filtersToQueryNode=__webpack_require__("./frontend/src/queries/nodes/InsightQuery/utils/filtersToQueryNode.ts");let getAllEventNames=(query,allActions)=>{if(!(0,queries_utils.B8)(query))return[];let allEvents=query.series.flatMap(e=>e.kind==schema.OH.EventsNode?e.event:e.kind==schema.OH.ActionsNode?(0,utils.Nc)(e.id,allActions):void 0);return allEvents.some(e=>null===e)?[]:Array.from(new Set(allEvents.filter(e=>!!e)))},getCachedResults=(cachedInsight,query)=>{let cachedQueryNode;if(cachedInsight&&cachedInsight.query&&(cachedQueryNode=cachedInsight.query,"source"in cachedInsight.query&&(cachedQueryNode=cachedInsight.query.source),fast_deep_equal_default()(cachedQueryNode,query)))return cachedInsight};function getQueryBasedInsightModel(insight){let{filters,...baseInsight}=insight;return{...baseInsight,query:getQueryFromInsightLike(insight)}}function getQueryFromInsightLike(insight){return insight.query?insight.query:insight.filters&&Object.keys(insight.filters).filter(k=>"filter_test_accounts"!=k).length>0?{kind:schema.OH.InsightVizNode,source:(0,filtersToQueryNode.wK)(insight.filters)}:null}let queryFromFilters=filters=>({kind:schema.OH.InsightVizNode,source:(0,filtersToQueryNode.wK)(filters)}),queryFromKind=(kind,filterTestAccountsDefault)=>({kind:schema.OH.InsightVizNode,source:{...nodeKindToDefaultQuery[kind],...filterTestAccountsDefault?{filterTestAccounts:!0}:{}}}),getDefaultQuery=(insightType,filterTestAccountsDefault)=>{if([types.dw.SQL,types.dw.JSON,types.dw.HOG].includes(insightType)){if(insightType===types.dw.JSON)return examples.$R.TotalEventsTable;if(insightType===types.dw.SQL)return examples.$R.DataVisualization;if(insightType===types.dw.HOG)return examples.$R.Hoggonacci}else{if(insightType===types.dw.TRENDS)return queryFromKind(schema.OH.TrendsQuery,filterTestAccountsDefault);if(insightType===types.dw.FUNNELS)return queryFromKind(schema.OH.FunnelsQuery,filterTestAccountsDefault);if(insightType===types.dw.RETENTION)return queryFromKind(schema.OH.RetentionQuery,filterTestAccountsDefault);if(insightType===types.dw.PATHS)return queryFromKind(schema.OH.PathsQuery,filterTestAccountsDefault);else if(insightType===types.dw.STICKINESS)return queryFromKind(schema.OH.StickinessQuery,filterTestAccountsDefault);else if(insightType===types.dw.LIFECYCLE)return queryFromKind(schema.OH.LifecycleQuery,filterTestAccountsDefault)}throw Error("encountered unexpected type for view")},getQueryBasedDashboard=dashboard=>null==dashboard?null:{...dashboard,tiles:dashboard.tiles?.map(tile=>({...tile,...null!=tile.insight?{insight:getQueryBasedInsightModel(tile.insight)}:{}}))}},"./frontend/src/queries/query.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Uu:()=>hogqlQuery,Vp:()=>function queryExportContext(query,methodOptions,refresh){return(0,_utils__WEBPACK_IMPORTED_MODULE_6__.KN)(query)||(0,_utils__WEBPACK_IMPORTED_MODULE_6__.TC)(query)||(0,_utils__WEBPACK_IMPORTED_MODULE_6__.A_)(query)?queryExportContext(query.source,methodOptions,refresh):(0,_utils__WEBPACK_IMPORTED_MODULE_6__.cK)(query)?{path:getPersonsEndpoint(query)}:{source:query}},iM:()=>pollForResults,jr:()=>performQuery,rY:()=>getPersonsEndpoint});var lib_api__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/src/lib/api.ts"),lib_constants__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/lib/constants.tsx"),lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),lib_utils__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/utils.tsx"),posthog_js__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/.pnpm/posthog-js@1.205.0/node_modules/posthog-js/dist/module.js"),_schema__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/queries/schema.ts"),_utils__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/queries/utils.ts");let SYNC_ONLY_QUERY_KINDS=["HogQuery","HogQLMetadata","HogQLAutocomplete","DatabaseSchemaQuery"];async function pollForResults(queryId,methodOptions,onPoll){let pollStart=performance.now(),currentDelay=300;for(;performance.now()-pollStart<606e3;){await (0,lib_utils__WEBPACK_IMPORTED_MODULE_3__.gw)(currentDelay,methodOptions?.signal),currentDelay=Math.min(1.25*currentDelay,3e3);try{let statusResponse=(await lib_api__WEBPACK_IMPORTED_MODULE_0__.ZP.queryStatus.get(queryId,!0)).query_status;if(statusResponse.complete)return statusResponse;onPoll&&onPoll(statusResponse)}catch(e){throw e.detail=e.data?.query_status?.error_message,e}}throw Error("Query timed out")}async function executeQuery(queryNode,methodOptions,refresh,queryId,setPollResponse,filtersOverride,variablesOverride){let pollOnly=arguments.length>7&&void 0!==arguments[7]&&arguments[7],isAsyncQuery=methodOptions?.async!==!1&&!SYNC_ONLY_QUERY_KINDS.includes(queryNode.kind)&&!!lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_2__.h.findMounted()?.values.featureFlags?.[lib_constants__WEBPACK_IMPORTED_MODULE_1__.y8.QUERY_ASYNC];if(pollOnly){if(!isAsyncQuery)throw Error("pollOnly is only supported for async queries");if(!queryId)throw Error("pollOnly requires a queryId")}else{let response=await lib_api__WEBPACK_IMPORTED_MODULE_0__.ZP.query(queryNode,methodOptions,queryId,refresh&&isAsyncQuery?"force_async":isAsyncQuery?"async":refresh,filtersOverride,variablesOverride);if(!(0,_utils__WEBPACK_IMPORTED_MODULE_6__.Hx)(response))return response;if(response.query_status.complete)return response.results;queryId=response.query_status.id}let statusResponse=await pollForResults(queryId,methodOptions,setPollResponse);return statusResponse.results}async function performQuery(queryNode,methodOptions,refresh,queryId,setPollResponse,filtersOverride,variablesOverride){let response,pollOnly=arguments.length>7&&void 0!==arguments[7]&&arguments[7],logParams={},startTime=performance.now();try{return(0,_utils__WEBPACK_IMPORTED_MODULE_6__.cK)(queryNode)?response=await lib_api__WEBPACK_IMPORTED_MODULE_0__.ZP.get(getPersonsEndpoint(queryNode),methodOptions):(response=await executeQuery(queryNode,methodOptions,refresh,queryId,setPollResponse,filtersOverride,variablesOverride,pollOnly),(0,_utils__WEBPACK_IMPORTED_MODULE_6__.Vf)(queryNode)&&response&&"object"==typeof response&&(logParams.clickhouse_sql=response?.clickhouse)),posthog_js__WEBPACK_IMPORTED_MODULE_4__.ZP.capture("query completed",{query:queryNode,queryId,duration:performance.now()-startTime,...logParams}),response}catch(e){throw posthog_js__WEBPACK_IMPORTED_MODULE_4__.ZP.capture("query failed",{query:queryNode,queryId,duration:performance.now()-startTime,...logParams}),e}}function getPersonsEndpoint(query){let params={properties:[...query.fixedProperties||[],...query.properties||[]],...query.search?{search:query.search}:{},...query.distinctId?{distinct_id:query.distinctId}:{},...query.limit?{limit:query.limit}:{},...query.offset?{offset:query.offset}:{}};return query.cohort?lib_api__WEBPACK_IMPORTED_MODULE_0__.ZP.cohorts.determineListUrl(query.cohort,params):lib_api__WEBPACK_IMPORTED_MODULE_0__.ZP.persons.determineListUrl(params)}async function hogqlQuery(queryString,values){return await performQuery({kind:_schema__WEBPACK_IMPORTED_MODULE_5__.OH.HogQLQuery,query:queryString,values})}},"./frontend/src/queries/schema.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{$V:()=>insightActorsQueryOptionsResponseKeys,AF:()=>STICKINESS_FILTER_PROPERTIES,F5:()=>CustomChannelField,GI:()=>WebStatsBreakdown,IG:()=>AlertConditionType,KC:()=>AssistantEventType,Lm:()=>SessionAttributionGroupBy,OH:()=>NodeKind,PP:()=>AssistantGenerationStatusType,Ru:()=>ResultCustomizationBy,Z9:()=>AlertState,aV:()=>InsightThresholdType,fS:()=>FunnelCorrelationResultsType,k:()=>DefaultChannelTypes,oU:()=>HogLanguage,pj:()=>AssistantMessageType,q7:()=>AlertCalculationInterval,sk:()=>ExperimentSignificanceCode,tt:()=>TRENDS_FILTER_PROPERTIES,wk:()=>CustomChannelOperator}),__webpack_require__("./frontend/src/types.ts");let NodeKind=function(NodeKind){return NodeKind.EventsNode="EventsNode",NodeKind.ActionsNode="ActionsNode",NodeKind.DataWarehouseNode="DataWarehouseNode",NodeKind.EventsQuery="EventsQuery",NodeKind.PersonsNode="PersonsNode",NodeKind.HogQuery="HogQuery",NodeKind.HogQLQuery="HogQLQuery",NodeKind.HogQLMetadata="HogQLMetadata",NodeKind.HogQLAutocomplete="HogQLAutocomplete",NodeKind.ActorsQuery="ActorsQuery",NodeKind.FunnelsActorsQuery="FunnelsActorsQuery",NodeKind.FunnelCorrelationActorsQuery="FunnelCorrelationActorsQuery",NodeKind.SessionsTimelineQuery="SessionsTimelineQuery",NodeKind.RecordingsQuery="RecordingsQuery",NodeKind.SessionAttributionExplorerQuery="SessionAttributionExplorerQuery",NodeKind.ErrorTrackingQuery="ErrorTrackingQuery",NodeKind.DataTableNode="DataTableNode",NodeKind.DataVisualizationNode="DataVisualizationNode",NodeKind.SavedInsightNode="SavedInsightNode",NodeKind.InsightVizNode="InsightVizNode",NodeKind.TrendsQuery="TrendsQuery",NodeKind.FunnelsQuery="FunnelsQuery",NodeKind.RetentionQuery="RetentionQuery",NodeKind.PathsQuery="PathsQuery",NodeKind.StickinessQuery="StickinessQuery",NodeKind.LifecycleQuery="LifecycleQuery",NodeKind.InsightActorsQuery="InsightActorsQuery",NodeKind.InsightActorsQueryOptions="InsightActorsQueryOptions",NodeKind.FunnelCorrelationQuery="FunnelCorrelationQuery",NodeKind.WebOverviewQuery="WebOverviewQuery",NodeKind.WebStatsTableQuery="WebStatsTableQuery",NodeKind.WebExternalClicksTableQuery="WebExternalClicksTableQuery",NodeKind.WebGoalsQuery="WebGoalsQuery",NodeKind.ExperimentFunnelsQuery="ExperimentFunnelsQuery",NodeKind.ExperimentTrendsQuery="ExperimentTrendsQuery",NodeKind.DatabaseSchemaQuery="DatabaseSchemaQuery",NodeKind.SuggestedQuestionsQuery="SuggestedQuestionsQuery",NodeKind.TeamTaxonomyQuery="TeamTaxonomyQuery",NodeKind.EventTaxonomyQuery="EventTaxonomyQuery",NodeKind.ActorsPropertyTaxonomyQuery="ActorsPropertyTaxonomyQuery",NodeKind}({}),HogLanguage=function(HogLanguage){return HogLanguage.hog="hog",HogLanguage.hogJson="hogJson",HogLanguage.hogQL="hogQL",HogLanguage.hogQLExpr="hogQLExpr",HogLanguage.hogTemplate="hogTemplate",HogLanguage}({}),ResultCustomizationBy=function(ResultCustomizationBy){return ResultCustomizationBy.Value="value",ResultCustomizationBy.Position="position",ResultCustomizationBy}({}),TRENDS_FILTER_PROPERTIES=new Set(["smoothingIntervals","formula","display","showLegend","breakdown_histogram_bin_count","aggregationAxisFormat","aggregationAxisPrefix","aggregationAxisPostfix","decimalPlaces","showValuesOnSeries","showLabelsOnSeries","showPercentStackView","yAxisScaleType","hiddenLegendIndexes"]),STICKINESS_FILTER_PROPERTIES=new Set(["display","showLegend","showValuesOnSeries","hiddenLegendIndexes"]),WebStatsBreakdown=function(WebStatsBreakdown){return WebStatsBreakdown.Page="Page",WebStatsBreakdown.InitialPage="InitialPage",WebStatsBreakdown.ExitPage="ExitPage",WebStatsBreakdown.ExitClick="ExitClick",WebStatsBreakdown.ScreenName="ScreenName",WebStatsBreakdown.InitialChannelType="InitialChannelType",WebStatsBreakdown.InitialReferringDomain="InitialReferringDomain",WebStatsBreakdown.InitialUTMSource="InitialUTMSource",WebStatsBreakdown.InitialUTMCampaign="InitialUTMCampaign",WebStatsBreakdown.InitialUTMMedium="InitialUTMMedium",WebStatsBreakdown.InitialUTMTerm="InitialUTMTerm",WebStatsBreakdown.InitialUTMContent="InitialUTMContent",WebStatsBreakdown.InitialUTMSourceMediumCampaign="InitialUTMSourceMediumCampaign",WebStatsBreakdown.Browser="Browser",WebStatsBreakdown.OS="OS",WebStatsBreakdown.Viewport="Viewport",WebStatsBreakdown.DeviceType="DeviceType",WebStatsBreakdown.Country="Country",WebStatsBreakdown.Region="Region",WebStatsBreakdown.City="City",WebStatsBreakdown.Timezone="Timezone",WebStatsBreakdown.Language="Language",WebStatsBreakdown}({}),SessionAttributionGroupBy=function(SessionAttributionGroupBy){return SessionAttributionGroupBy.ChannelType="ChannelType",SessionAttributionGroupBy.Medium="Medium",SessionAttributionGroupBy.Source="Source",SessionAttributionGroupBy.Campaign="Campaign",SessionAttributionGroupBy.AdIds="AdIds",SessionAttributionGroupBy.ReferringDomain="ReferringDomain",SessionAttributionGroupBy.InitialURL="InitialURL",SessionAttributionGroupBy}({}),ExperimentSignificanceCode=function(ExperimentSignificanceCode){return ExperimentSignificanceCode.Significant="significant",ExperimentSignificanceCode.NotEnoughExposure="not_enough_exposure",ExperimentSignificanceCode.LowWinProbability="low_win_probability",ExperimentSignificanceCode.HighLoss="high_loss",ExperimentSignificanceCode.HighPValue="high_p_value",ExperimentSignificanceCode}({}),FunnelCorrelationResultsType=function(FunnelCorrelationResultsType){return FunnelCorrelationResultsType.Events="events",FunnelCorrelationResultsType.Properties="properties",FunnelCorrelationResultsType.EventWithProperties="event_with_properties",FunnelCorrelationResultsType}({}),insightActorsQueryOptionsResponseKeys=["day","status","interval","breakdown","breakdowns","series","compare"],InsightThresholdType=function(InsightThresholdType){return InsightThresholdType.ABSOLUTE="absolute",InsightThresholdType.PERCENTAGE="percentage",InsightThresholdType}({}),AlertConditionType=function(AlertConditionType){return AlertConditionType.ABSOLUTE_VALUE="absolute_value",AlertConditionType.RELATIVE_INCREASE="relative_increase",AlertConditionType.RELATIVE_DECREASE="relative_decrease",AlertConditionType}({}),AlertState=function(AlertState){return AlertState.FIRING="Firing",AlertState.NOT_FIRING="Not firing",AlertState.ERRORED="Errored",AlertState.SNOOZED="Snoozed",AlertState}({}),AlertCalculationInterval=function(AlertCalculationInterval){return AlertCalculationInterval.HOURLY="hourly",AlertCalculationInterval.DAILY="daily",AlertCalculationInterval.WEEKLY="weekly",AlertCalculationInterval.MONTHLY="monthly",AlertCalculationInterval}({}),AssistantMessageType=function(AssistantMessageType){return AssistantMessageType.Human="human",AssistantMessageType.Assistant="ai",AssistantMessageType.Reasoning="ai/reasoning",AssistantMessageType.Visualization="ai/viz",AssistantMessageType.Failure="ai/failure",AssistantMessageType.Router="ai/router",AssistantMessageType}({}),AssistantEventType=function(AssistantEventType){return AssistantEventType.Status="status",AssistantEventType.Message="message",AssistantEventType.Conversation="conversation",AssistantEventType}({}),AssistantGenerationStatusType=function(AssistantGenerationStatusType){return AssistantGenerationStatusType.Acknowledged="ack",AssistantGenerationStatusType.GenerationError="generation_error",AssistantGenerationStatusType}({}),CustomChannelField=function(CustomChannelField){return CustomChannelField.UTMSource="utm_source",CustomChannelField.UTMMedium="utm_medium",CustomChannelField.UTMCampaign="utm_campaign",CustomChannelField.ReferringDomain="referring_domain",CustomChannelField.URL="url",CustomChannelField.Pathname="pathname",CustomChannelField.Hostname="hostname",CustomChannelField}({}),CustomChannelOperator=function(CustomChannelOperator){return CustomChannelOperator.Exact="exact",CustomChannelOperator.IsNot="is_not",CustomChannelOperator.IsSet="is_set",CustomChannelOperator.IsNotSet="is_not_set",CustomChannelOperator.IContains="icontains",CustomChannelOperator.NotIContains="not_icontains",CustomChannelOperator.Regex="regex",CustomChannelOperator.NotRegex="not_regex",CustomChannelOperator}({}),DefaultChannelTypes=function(DefaultChannelTypes){return DefaultChannelTypes.CrossNetwork="Cross Network",DefaultChannelTypes.PaidSearch="Paid Search",DefaultChannelTypes.PaidSocial="Paid Social",DefaultChannelTypes.PaidVideo="Paid Video",DefaultChannelTypes.PaidShopping="Paid Shopping",DefaultChannelTypes.PaidUnknown="Paid Unknown",DefaultChannelTypes.Direct="Direct",DefaultChannelTypes.OrganicSearch="Organic Search",DefaultChannelTypes.OrganicSocial="Organic Social",DefaultChannelTypes.OrganicVideo="Organic Video",DefaultChannelTypes.OrganicShopping="Organic Shopping",DefaultChannelTypes.Push="Push",DefaultChannelTypes.SMS="SMS",DefaultChannelTypes.Audio="Audio",DefaultChannelTypes.Email="Email",DefaultChannelTypes.Referral="Referral",DefaultChannelTypes.Affiliate="Affiliate",DefaultChannelTypes.Unknown="Unknown",DefaultChannelTypes}({})},"./frontend/src/queries/utils.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{AU:()=>escapePropertyAsHogQlIdentifier,AV:()=>isValidBreakdown,A_:()=>isDataVisualizationNode,B8:()=>isInsightQueryWithSeries,CN:()=>isInsightQueryWithBreakdown,DM:()=>isInsightQueryWithCompare,E0:()=>isSavedInsightNode,GD:()=>isHogQuery,Hx:()=>isAsyncResponse,I5:()=>isRetentionQuery,Ii:()=>isErrorTrackingQuery,K9:()=>filterForQuery,KJ:()=>containsHogQLQuery,KN:()=>isInsightVizNode,Km:()=>getBreakdown,Ku:()=>isWebStatsTableQuery,L3:()=>dateRangeFor,LL:()=>getShowValuesOnSeries,NR:()=>getShowLegend,NS:()=>isActorsQuery,Qp:()=>isPathsQuery,R_:()=>taxonomicEventFilterToHogQL,Rh:()=>filterKeyForQuery,SO:()=>taxonomicPersonFilterToHogQL,Sy:()=>isSessionAttributionExplorerQuery,TC:()=>isDataTableNode,Th:()=>getResultCustomizationBy,Tw:()=>isHogQlAggregation,VU:()=>isActionsNode,Vf:()=>isHogQLQuery,Vr:()=>isLifecycleQuery,Wl:()=>isFunnelsQuery,Yg:()=>isInsightQueryNode,ZS:()=>getInterval,_x:()=>isWebExternalClicksQuery,a5:()=>isInsightActorsQuery,a7:()=>isInsightQueryWithDisplay,ay:()=>getShowPercentStackView,cK:()=>isPersonsNode,cT:()=>isEventsNode,gU:()=>getSeries,gV:()=>isNodeWithSource,go:()=>trimQuotes,hX:()=>getShowLabelsOnSeries,hr:()=>getShowAlertThresholdLines,kX:()=>isTrendsQuery,lC:()=>getCompareFilter,n1:()=>nodeKindToFilterProperty,nI:()=>getDisplay,oX:()=>isDataWarehouseNode,ou:()=>supportsPercentStackView,pT:()=>getFormula,rz:()=>isEventsQuery,vD:()=>isWebOverviewQuery,vy:()=>isStickinessQuery,wd:()=>isQueryForGroup,yL:()=>isWebGoalsQuery,zP:()=>hogql,ze:()=>getYAxisScaleType});var lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/src/lib/components/TaxonomicFilter/types.ts"),lib_constants__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/lib/constants.tsx"),lib_dayjs__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/dayjs.ts"),scenes_teamLogic__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/scenes/teamLogic.tsx"),_queries_schema__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/queries/schema.ts"),_types__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/types.ts");function isNodeWithSource(node){return!!node&&(isDataTableNode(node)||isDataVisualizationNode(node)||isInsightVizNode(node))}function isEventsNode(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.EventsNode}function isEventsQuery(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.EventsQuery}function isActionsNode(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.ActionsNode}function isDataWarehouseNode(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.DataWarehouseNode}function isPersonsNode(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.PersonsNode}function isActorsQuery(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.ActorsQuery}function isInsightActorsQuery(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.InsightActorsQuery}function isDataTableNode(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.DataTableNode}function isDataVisualizationNode(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.DataVisualizationNode}function isSavedInsightNode(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.SavedInsightNode}function isInsightVizNode(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.InsightVizNode}function isHogQuery(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.HogQuery}function isHogQLQuery(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.HogQLQuery}function isWebOverviewQuery(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.WebOverviewQuery}function isWebStatsTableQuery(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.WebStatsTableQuery}function isWebExternalClicksQuery(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.WebExternalClicksTableQuery}function isWebGoalsQuery(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.WebGoalsQuery}function isSessionAttributionExplorerQuery(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.SessionAttributionExplorerQuery}function isErrorTrackingQuery(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.ErrorTrackingQuery}function containsHogQLQuery(node){return!!node&&(isHogQLQuery(node)||isNodeWithSource(node)&&isHogQLQuery(node.source))}function isTrendsQuery(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.TrendsQuery}function isFunnelsQuery(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.FunnelsQuery}function isRetentionQuery(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.RetentionQuery}function isPathsQuery(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.PathsQuery}function isStickinessQuery(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.StickinessQuery}function isLifecycleQuery(node){return node?.kind===_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.LifecycleQuery}function isInsightQueryWithDisplay(node){return isTrendsQuery(node)||isStickinessQuery(node)}function isInsightQueryWithBreakdown(node){return isTrendsQuery(node)||isFunnelsQuery(node)}function isInsightQueryWithCompare(node){return isTrendsQuery(node)||isStickinessQuery(node)}function isQueryForGroup(query){return isActorsQuery(query)&&isInsightActorsQuery(query.source)&&isRetentionQuery(query.source.source)&&void 0!==query.source.source.aggregation_group_type_index}function isAsyncResponse(response){return"query_status"in response&&response.query_status}function isInsightQueryWithSeries(node){return isTrendsQuery(node)||isFunnelsQuery(node)||isStickinessQuery(node)||isLifecycleQuery(node)}function isInsightQueryNode(node){return isTrendsQuery(node)||isFunnelsQuery(node)||isRetentionQuery(node)||isPathsQuery(node)||isStickinessQuery(node)||isLifecycleQuery(node)}function dateRangeFor(node){return isInsightVizNode(node)?node.source.dateRange:isInsightQueryNode(node)?node.dateRange:void(isActionsNode(node)||isEventsNode(node)||isPersonsNode(node)||isDataTableNode(node))}let getInterval=query=>{if(isInsightQueryWithSeries(query))return query.interval},getDisplay=query=>isStickinessQuery(query)?query.stickinessFilter?.display:isTrendsQuery(query)?query.trendsFilter?.display:void 0,getFormula=query=>{if(isTrendsQuery(query))return query.trendsFilter?.formula},getSeries=query=>{if(isInsightQueryWithSeries(query))return query.series},getBreakdown=query=>{if(isInsightQueryWithBreakdown(query))return query.breakdownFilter},getCompareFilter=query=>{if(isInsightQueryWithCompare(query))return query.compareFilter},getShowLegend=query=>isStickinessQuery(query)?query.stickinessFilter?.showLegend:isTrendsQuery(query)?query.trendsFilter?.showLegend:isLifecycleQuery(query)?query.lifecycleFilter?.showLegend:void 0,getShowAlertThresholdLines=query=>{if(isTrendsQuery(query))return query.trendsFilter?.showAlertThresholdLines},getShowLabelsOnSeries=query=>{if(isTrendsQuery(query))return query.trendsFilter?.showLabelsOnSeries},getShowValuesOnSeries=query=>isLifecycleQuery(query)?query.lifecycleFilter?.showValuesOnSeries:isStickinessQuery(query)?query.stickinessFilter?.showValuesOnSeries:isTrendsQuery(query)?query.trendsFilter?.showValuesOnSeries:void 0,getYAxisScaleType=query=>{if(isTrendsQuery(query))return query.trendsFilter?.yAxisScaleType},getResultCustomizationBy=query=>{if(isTrendsQuery(query))return query.trendsFilter?.resultCustomizationBy},supportsPercentStackView=q=>isTrendsQuery(q)&&lib_constants__WEBPACK_IMPORTED_MODULE_1__.oA.includes(getDisplay(q)||_types__WEBPACK_IMPORTED_MODULE_5__.Qb.ActionsLineGraph),getShowPercentStackView=query=>supportsPercentStackView(query)&&query?.trendsFilter?.showPercentStackView,nodeKindToFilterProperty={[_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.TrendsQuery]:"trendsFilter",[_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.FunnelsQuery]:"funnelsFilter",[_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.RetentionQuery]:"retentionFilter",[_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.PathsQuery]:"pathsFilter",[_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.StickinessQuery]:"stickinessFilter",[_queries_schema__WEBPACK_IMPORTED_MODULE_4__.OH.LifecycleQuery]:"lifecycleFilter"};function filterKeyForQuery(node){return nodeKindToFilterProperty[node.kind]}function filterForQuery(node){let filterProperty=nodeKindToFilterProperty[node.kind];return node[filterProperty]}function isQuoted(identifier){return identifier.startsWith('"')&&identifier.endsWith('"')||identifier.startsWith("`")&&identifier.endsWith("`")}function trimQuotes(identifier){return isQuoted(identifier)?identifier.slice(1,-1):identifier}function escapePropertyAsHogQlIdentifier(identifier){return identifier.match(/^[A-Za-z_$][A-Za-z0-9_$]*$/)||isQuoted(identifier)?identifier:identifier.includes('"')?`\`${identifier}\``:`"${identifier}"`}function taxonomicEventFilterToHogQL(groupType,value){return groupType===lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_0__.t.EventProperties?`properties.${escapePropertyAsHogQlIdentifier(String(value))}`:groupType===lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_0__.t.PersonProperties?`person.properties.${escapePropertyAsHogQlIdentifier(String(value))}`:groupType===lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_0__.t.EventFeatureFlags?`properties.${escapePropertyAsHogQlIdentifier(String(value))}`:groupType===lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_0__.t.HogQLExpression&&value?String(value):null}function taxonomicPersonFilterToHogQL(groupType,value){return groupType===lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_0__.t.PersonProperties?`properties.${escapePropertyAsHogQlIdentifier(String(value))}`:groupType===lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_0__.t.HogQLExpression&&value?String(value):null}function isHogQlAggregation(hogQl){return hogQl.includes("count(")||hogQl.includes("any(")||hogQl.includes("sum(")||hogQl.includes("avg(")||hogQl.includes("min(")||hogQl.includes("max(")}function hogql(strings){for(var _len=arguments.length,values=Array(_len>1?_len-1:0),_key=1;_key<_len;_key++)values[_key-1]=arguments[_key];return strings.reduce((acc,str,i)=>acc+str+(i0))}hogql.identifier=function(identifier){return{__hogql_identifier:!0,identifier}}},"./frontend/src/scenes/App.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{g:()=>App});var index_esm=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),constants=__webpack_require__("./frontend/src/lib/constants.tsx"),useThemedHtml=__webpack_require__("./frontend/src/lib/hooks/useThemedHtml.ts"),LemonToast=__webpack_require__("./frontend/src/lib/lemon-ui/LemonToast/LemonToast.tsx"),Spinner=__webpack_require__("./frontend/src/lib/lemon-ui/Spinner/Spinner.tsx"),apiStatusLogic=__webpack_require__("./frontend/src/lib/logic/apiStatusLogic.ts"),featureFlagLogic=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),react_toastify_esm=__webpack_require__("./node_modules/.pnpm/react-toastify@8.2.0_react-dom@18.2.0_react@18.2.0/node_modules/react-toastify/dist/react-toastify.esm.js"),scenes=__webpack_require__("./frontend/src/scenes/scenes.ts"),sceneTypes=__webpack_require__("./frontend/src/scenes/sceneTypes.ts");let appScenes={[sceneTypes.x.Error404]:()=>({default:scenes.DD[sceneTypes.x.Error404].component}),[sceneTypes.x.ErrorNetwork]:()=>({default:scenes.DD[sceneTypes.x.ErrorNetwork].component}),[sceneTypes.x.ErrorProjectUnavailable]:()=>({default:scenes.DD[sceneTypes.x.ErrorProjectUnavailable].component}),[sceneTypes.x.Dashboards]:()=>__webpack_require__.e(47988).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/dashboard/dashboards/Dashboards.tsx")),[sceneTypes.x.Dashboard]:()=>Promise.resolve().then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/dashboard/Dashboard.tsx")),[sceneTypes.x.Insight]:()=>__webpack_require__.e(56818).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/insights/InsightScene.tsx")),[sceneTypes.x.WebAnalytics]:()=>__webpack_require__.e(33876).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/web-analytics/WebAnalyticsScene.tsx")),[sceneTypes.x.WebAnalyticsCoreWebVitals]:()=>__webpack_require__.e(33876).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/web-analytics/WebAnalyticsScene.tsx")),[sceneTypes.x.Cohort]:()=>__webpack_require__.e(80801).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/cohorts/Cohort.tsx")),[sceneTypes.x.DataManagement]:()=>Promise.resolve().then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/data-management/DataManagementScene.tsx")),[sceneTypes.x.Activity]:()=>__webpack_require__.e(71073).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/activity/ActivityScene.tsx")),[sceneTypes.x.EventDefinition]:()=>__webpack_require__.e(7215).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/data-management/definition/DefinitionView.tsx")),[sceneTypes.x.EventDefinitionEdit]:()=>__webpack_require__.e(17066).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/data-management/definition/DefinitionEdit.tsx")),[sceneTypes.x.PropertyDefinition]:()=>__webpack_require__.e(7215).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/data-management/definition/DefinitionView.tsx")),[sceneTypes.x.PropertyDefinitionEdit]:()=>__webpack_require__.e(17066).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/data-management/definition/DefinitionEdit.tsx")),[sceneTypes.x.Replay]:()=>__webpack_require__.e(39134).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/session-recordings/SessionRecordings.tsx")),[sceneTypes.x.ReplaySingle]:()=>__webpack_require__.e(82429).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/session-recordings/detail/SessionRecordingDetail.tsx")),[sceneTypes.x.ReplayPlaylist]:()=>__webpack_require__.e(79166).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/session-recordings/playlist/SessionRecordingsPlaylistScene.tsx")),[sceneTypes.x.ReplayFilePlayback]:()=>__webpack_require__.e(50297).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/session-recordings/file-playback/SessionRecordingFilePlaybackScene.tsx")),[sceneTypes.x.PersonsManagement]:()=>__webpack_require__.e(72154).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/persons-management/PersonsManagementScene.tsx")),[sceneTypes.x.Person]:()=>__webpack_require__.e(13442).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/persons/PersonScene.tsx")),[sceneTypes.x.PipelineNodeNew]:()=>Promise.all([__webpack_require__.e(33502),__webpack_require__.e(56626),__webpack_require__.e(30885),__webpack_require__.e(19745)]).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/pipeline/PipelineNodeNew.tsx")),[sceneTypes.x.Pipeline]:()=>__webpack_require__.e(49284).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/pipeline/Pipeline.tsx")),[sceneTypes.x.PipelineNode]:()=>Promise.all([__webpack_require__.e(33502),__webpack_require__.e(30885),__webpack_require__.e(76282)]).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/pipeline/PipelineNode.tsx")),[sceneTypes.x.Group]:()=>Promise.resolve().then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/groups/Group.tsx")),[sceneTypes.x.Action]:()=>__webpack_require__.e(61121).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/actions/Action.tsx")),[sceneTypes.x.Experiments]:()=>__webpack_require__.e(70163).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/experiments/Experiments.tsx")),[sceneTypes.x.ExperimentsSharedMetrics]:()=>__webpack_require__.e(81466).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/experiments/SharedMetrics/SharedMetrics.tsx")),[sceneTypes.x.ExperimentsSharedMetric]:()=>__webpack_require__.e(29766).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/experiments/SharedMetrics/SharedMetric.tsx")),[sceneTypes.x.Experiment]:()=>__webpack_require__.e(69791).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/experiments/Experiment.tsx")),[sceneTypes.x.FeatureFlags]:()=>Promise.resolve().then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/feature-flags/FeatureFlags.tsx")),[sceneTypes.x.FeatureManagement]:()=>__webpack_require__.e(13474).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/feature-flags/FeatureManagement.tsx")),[sceneTypes.x.FeatureFlag]:()=>__webpack_require__.e(73221).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/feature-flags/FeatureFlag.tsx")),[sceneTypes.x.EarlyAccessFeatures]:()=>__webpack_require__.e(79617).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/early-access-features/EarlyAccessFeatures.tsx")),[sceneTypes.x.EarlyAccessFeature]:()=>Promise.resolve().then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/early-access-features/EarlyAccessFeature.tsx")),[sceneTypes.x.ErrorTracking]:()=>Promise.all([__webpack_require__.e(61473),__webpack_require__.e(65393)]).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/error-tracking/ErrorTrackingScene.tsx")),[sceneTypes.x.ErrorTrackingConfiguration]:()=>__webpack_require__.e(2401).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/error-tracking/ErrorTrackingConfigurationScene.tsx")),[sceneTypes.x.ErrorTrackingIssue]:()=>Promise.all([__webpack_require__.e(61473),__webpack_require__.e(72808)]).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/error-tracking/ErrorTrackingIssueScene.tsx")),[sceneTypes.x.Surveys]:()=>Promise.resolve().then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/surveys/Surveys.tsx")),[sceneTypes.x.Survey]:()=>Promise.resolve().then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/surveys/Survey.tsx")),[sceneTypes.x.CustomCss]:()=>__webpack_require__.e(17170).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/themes/CustomCssScene.tsx")),[sceneTypes.x.SurveyTemplates]:()=>__webpack_require__.e(65982).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/surveys/SurveyTemplates.tsx")),[sceneTypes.x.DataWarehouse]:()=>__webpack_require__.e(89448).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/data-warehouse/external/DataWarehouseExternalScene.tsx")),[sceneTypes.x.SQLEditor]:()=>Promise.all([__webpack_require__.e(58453),__webpack_require__.e(23162)]).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/data-warehouse/editor/EditorScene.tsx")),[sceneTypes.x.DataWarehouseTable]:()=>Promise.all([__webpack_require__.e(56626),__webpack_require__.e(50769)]).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/data-warehouse/new/NewSourceWizard.tsx")),[sceneTypes.x.DataWarehouseExternal]:()=>__webpack_require__.e(89448).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/data-warehouse/external/DataWarehouseExternalScene.tsx")),[sceneTypes.x.DataWarehouseRedirect]:()=>__webpack_require__.e(93836).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/data-warehouse/redirect/DataWarehouseRedirectScene.tsx")),[sceneTypes.x.OrganizationCreateFirst]:()=>__webpack_require__.e(83082).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/organization/Create/index.tsx")),[sceneTypes.x.OrganizationCreationConfirm]:()=>__webpack_require__.e(13077).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/organization/ConfirmOrganization/ConfirmOrganization.tsx")),[sceneTypes.x.ProjectHomepage]:()=>__webpack_require__.e(90853).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/project-homepage/ProjectHomepage.tsx")),[sceneTypes.x.Max]:()=>__webpack_require__.e(98095).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/max/Max.tsx")),[sceneTypes.x.ProjectCreateFirst]:()=>__webpack_require__.e(99203).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/project/Create/index.tsx")),[sceneTypes.x.SystemStatus]:()=>__webpack_require__.e(62983).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/instance/SystemStatus/index.tsx")),[sceneTypes.x.ToolbarLaunch]:()=>__webpack_require__.e(35305).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/toolbar-launch/ToolbarLaunch.tsx")),[sceneTypes.x.Site]:()=>__webpack_require__.e(87519).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/sites/Site.tsx")),[sceneTypes.x.AsyncMigrations]:()=>__webpack_require__.e(90891).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/instance/AsyncMigrations/AsyncMigrations.tsx")),[sceneTypes.x.DeadLetterQueue]:()=>__webpack_require__.e(22682).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/instance/DeadLetterQueue/DeadLetterQueue.tsx")),[sceneTypes.x.PreflightCheck]:()=>__webpack_require__.e(49793).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/PreflightCheck/PreflightCheck.tsx")),[sceneTypes.x.Signup]:()=>__webpack_require__.e(92437).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/authentication/signup/SignupContainer.tsx")),[sceneTypes.x.InviteSignup]:()=>__webpack_require__.e(81896).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/authentication/InviteSignup.tsx")),[sceneTypes.x.Billing]:()=>Promise.resolve().then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/billing/Billing.tsx")),[sceneTypes.x.BillingSection]:()=>__webpack_require__.e(48573).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/billing/BillingSection.tsx")),[sceneTypes.x.BillingAuthorizationStatus]:()=>__webpack_require__.e(76410).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/billing/AuthorizationStatus.tsx")),[sceneTypes.x.Login]:()=>__webpack_require__.e(64353).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/authentication/Login.tsx")),[sceneTypes.x.Login2FA]:()=>__webpack_require__.e(39453).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/authentication/Login2FA.tsx")),[sceneTypes.x.SavedInsights]:()=>Promise.resolve().then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/saved-insights/SavedInsights.tsx")),[sceneTypes.x.PasswordReset]:()=>__webpack_require__.e(99954).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/authentication/PasswordReset.tsx")),[sceneTypes.x.PasswordResetComplete]:()=>__webpack_require__.e(87057).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/authentication/PasswordResetComplete.tsx")),[sceneTypes.x.Unsubscribe]:()=>__webpack_require__.e(14929).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/Unsubscribe/Unsubscribe.tsx")),[sceneTypes.x.IntegrationsRedirect]:()=>__webpack_require__.e(1157).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/IntegrationsRedirect/IntegrationsRedirect.tsx")),[sceneTypes.x.DebugQuery]:()=>__webpack_require__.e(34551).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/debug/DebugScene.tsx")),[sceneTypes.x.DebugHog]:()=>__webpack_require__.e(38895).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/debug/hog/HogRepl.tsx")),[sceneTypes.x.VerifyEmail]:()=>__webpack_require__.e(88754).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/authentication/signup/verify-email/VerifyEmail.tsx")),[sceneTypes.x.Notebooks]:()=>__webpack_require__.e(12567).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/notebooks/NotebooksScene.tsx")),[sceneTypes.x.Notebook]:()=>__webpack_require__.e(43496).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/notebooks/NotebookScene.tsx")),[sceneTypes.x.Canvas]:()=>__webpack_require__.e(81469).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/notebooks/NotebookCanvasScene.tsx")),[sceneTypes.x.Products]:()=>Promise.resolve().then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/products/Products.tsx")),[sceneTypes.x.Onboarding]:()=>Promise.all([__webpack_require__.e(56626),__webpack_require__.e(75643)]).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/onboarding/Onboarding.tsx")),[sceneTypes.x.Settings]:()=>__webpack_require__.e(96866).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/settings/SettingsScene.tsx")),[sceneTypes.x.MoveToPostHogCloud]:()=>__webpack_require__.e(91302).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/moveToPostHogCloud/MoveToPostHogCloud.tsx")),[sceneTypes.x.Heatmaps]:()=>Promise.all([__webpack_require__.e(75576),__webpack_require__.e(12951)]).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/heatmaps/HeatmapsScene.tsx")),[sceneTypes.x.SessionAttributionExplorer]:()=>__webpack_require__.e(35538).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/web-analytics/SessionAttributionExplorer/SessionAttributionExplorerScene.tsx")),[sceneTypes.x.MessagingProviders]:()=>Promise.all([__webpack_require__.e(33502),__webpack_require__.e(76668)]).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/messaging/Providers.tsx")),[sceneTypes.x.MessagingBroadcasts]:()=>Promise.all([__webpack_require__.e(33502),__webpack_require__.e(41031)]).then(__webpack_require__.bind(__webpack_require__,"./frontend/src/scenes/messaging/Broadcasts.tsx"))};var organizationLogic=__webpack_require__("./frontend/src/scenes/organizationLogic.tsx"),sceneLogic=__webpack_require__("./frontend/src/scenes/sceneLogic.ts"),userLogic=__webpack_require__("./frontend/src/scenes/userLogic.ts"),ErrorBoundary=__webpack_require__("./frontend/src/layout/ErrorBoundary/index.ts"),GlobalModals=__webpack_require__("./frontend/src/layout/GlobalModals.tsx"),breadcrumbsLogic=__webpack_require__("./frontend/src/layout/navigation/Breadcrumbs/breadcrumbsLogic.tsx"),injectStylesIntoStyleTag=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),injectStylesIntoStyleTag_default=__webpack_require__.n(injectStylesIntoStyleTag),Navigation=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/layout/navigation-3000/Navigation.scss"),Navigation_default=__webpack_require__.n(Navigation),options={};options.insert="head",options.singleton=!1,injectStylesIntoStyleTag_default()(Navigation_default(),options),Navigation_default().locals;var clsx_m=__webpack_require__("./node_modules/.pnpm/clsx@1.2.1/node_modules/clsx/dist/clsx.m.js"),lib=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),LemonBanner=__webpack_require__("./frontend/src/lib/lemon-ui/LemonBanner/index.ts"),react=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/index.js"),billingLogic=__webpack_require__("./frontend/src/scenes/billing/billingLogic.tsx"),urls=__webpack_require__("./frontend/src/scenes/urls.ts"),jsx_runtime=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function BillingAlertsV2(){let{billingAlert}=(0,index_esm.useValues)(billingLogic.kr),{reportBillingAlertShown,reportBillingAlertActionClicked}=(0,index_esm.useActions)(billingLogic.kr),{currentLocation}=(0,index_esm.useValues)(lib.router),[alertHidden,setAlertHidden]=(0,react.useState)(!1);if((0,react.useEffect)(()=>{billingAlert?.pathName&¤tLocation.pathname!==billingAlert?.pathName?setAlertHidden(!0):setAlertHidden(!1),billingAlert&&reportBillingAlertShown(billingAlert)},[billingAlert,currentLocation]),!billingAlert||alertHidden)return null;let showButton=billingAlert.action||billingAlert.contactSupport||currentLocation.pathname!==urls.j.organizationBilling(),buttonProps=billingAlert.action?billingAlert.action:billingAlert.contactSupport?{to:"mailto:sales@posthog.com",children:billingAlert.buttonCTA||"Contact support",onClick:()=>reportBillingAlertActionClicked(billingAlert)}:{to:urls.j.organizationBilling(),children:"Manage billing",onClick:()=>reportBillingAlertActionClicked(billingAlert)};return(0,jsx_runtime.jsx)("div",{className:"my-4",children:(0,jsx_runtime.jsxs)(LemonBanner.V,{type:billingAlert.status,action:showButton?buttonProps:void 0,onClose:"error"!==billingAlert.status?()=>setAlertHidden(!0):billingAlert.onClose?()=>billingAlert.onClose?.():void 0,dismissKey:billingAlert.dismissKey,children:[(0,jsx_runtime.jsx)("b",{children:billingAlert.title}),(0,jsx_runtime.jsx)("br",{}),billingAlert.message]})})}var CommandBar=__webpack_require__("./frontend/src/lib/components/CommandBar/CommandBar.tsx"),FlaggedFeature=__webpack_require__("./frontend/src/lib/components/FlaggedFeature.tsx"),navigationLogic=__webpack_require__("./frontend/src/layout/navigation/navigationLogic.ts"),posthog_icons_es=__webpack_require__("./node_modules/.pnpm/@posthog+icons@0.9.2_react-dom@18.2.0_react@18.2.0/node_modules/@posthog/icons/dist/posthog-icons.es.js"),src=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),dayjs=__webpack_require__("./frontend/src/lib/dayjs.ts"),Link=__webpack_require__("./frontend/src/lib/lemon-ui/Link/index.ts"),verifyEmailLogic=__webpack_require__("./frontend/src/scenes/authentication/signup/verify-email/verifyEmailLogic.ts"),inviteLogic=__webpack_require__("./frontend/src/scenes/settings/organization/inviteLogic.ts"),types=__webpack_require__("./frontend/src/types.ts");function CountDown(_ref){let{datetime,callback}=_ref,[now,setNow]=(0,react.useState)((0,dayjs.Bv)()),duration=dayjs.Bv.duration(datetime.diff(now)),pastCountdown=0>duration.seconds(),countdown=pastCountdown?"Expired":duration.hours()>0?duration.format("HH:mm:ss"):duration.format("mm:ss");return(0,react.useEffect)(()=>{let interval=setInterval(()=>setNow((0,dayjs.Bv)()),1e3);return()=>clearInterval(interval)},[]),(0,react.useEffect)(()=>{pastCountdown&&callback?.()},[pastCountdown]),(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:countdown})}function ProjectNotice(){let{projectNoticeVariant}=(0,index_esm.useValues)(navigationLogic.f),{currentOrganization}=(0,index_esm.useValues)(organizationLogic.p),{logout,loadUser}=(0,index_esm.useActions)(userLogic.userLogic),{user,userLoading}=(0,index_esm.useValues)(userLogic.userLogic),{closeProjectNotice}=(0,index_esm.useActions)(navigationLogic.f),{showInviteModal}=(0,index_esm.useActions)(inviteLogic.n),{requestVerificationLink}=(0,index_esm.useActions)(verifyEmailLogic.C);if(!projectNoticeVariant)return null;let altTeamForIngestion=currentOrganization?.teams?.find(team=>!team.is_demo&&!team.ingested_event),NOTICES={demo_project:{message:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["This is a demo project with dummy data.",altTeamForIngestion&&(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[" ","When you're ready, head on over to the"," ",(0,jsx_runtime.jsx)(Link.r,{to:urls.j.project(altTeamForIngestion.id,urls.j.products()),"data-attr":"demo-project-alt-team-ingestion_link",children:"onboarding wizard"})," ","to get started with your own data."]})]})},real_project_with_no_events:{message:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["This project has no events yet. Go to the"," ",(0,jsx_runtime.jsx)(Link.r,{to:urls.j.onboarding(types.Md.PRODUCT_ANALYTICS),"data-attr":"real_project_with_no_events-ingestion_link",children:"onboarding wizard"})," ","or grab your project\xa0API\xa0key/HTML\xa0snippet from"," ",(0,jsx_runtime.jsx)(Link.r,{to:urls.j.settings(),"data-attr":"real_project_with_no_events-settings",children:"Project Settings"})," ","to get things moving"]}),action:{to:urls.j.onboarding(types.Md.PRODUCT_ANALYTICS),"data-attr":"demo-warning-cta",icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconGear,{}),children:"Go to wizard"},closeable:!0},invite_teammates:{message:"Get more out of PostHog by\xa0inviting your team for\xa0free",action:{"data-attr":"invite-warning-cta",onClick:showInviteModal,icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconPlus,{}),children:"Invite team members"},closeable:!0},unverified_email:{message:"Please verify your email address.",action:{"data-attr":"unverified-email-cta",onClick:()=>user&&requestVerificationLink(user.uuid),children:"Send verification email"},type:"warning"},is_impersonated:{message:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["You are currently logged in as a customer."," ",user?.is_impersonated_until&&(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["Expires in ",(0,jsx_runtime.jsx)(CountDown,{datetime:(0,dayjs.Bv)(user.is_impersonated_until),callback:loadUser}),userLoading?(0,jsx_runtime.jsx)(src.$j,{}):(0,jsx_runtime.jsx)(Link.r,{className:"ml-2",onClick:()=>loadUser(),children:"Refresh"})]})]}),type:"warning",action:{"data-attr":"stop-impersonation-cta",onClick:()=>logout(),children:"Log out"}},internet_connection_issue:{message:"PostHog is having trouble connecting to the server. Please check your connection.",type:"warning",action:{"data-attr":"reload-page",onClick:()=>window.location.reload(),children:"Reload page"}}},relevantNotice=NOTICES[projectNoticeVariant];return(0,jsx_runtime.jsx)(LemonBanner.V,{type:relevantNotice.type||"info",className:"my-4",action:relevantNotice.action,onClose:relevantNotice.closeable?()=>closeProjectNotice(projectNoticeVariant):void 0,children:relevantNotice.message})}var teamLogic=__webpack_require__("./frontend/src/scenes/teamLogic.tsx"),ProjectSwitcher=__webpack_require__("./frontend/src/layout/navigation/ProjectSwitcher.tsx"),AccountPopover=__webpack_require__("./frontend/src/layout/navigation/TopBar/AccountPopover.tsx");function MinimalNavigation(){var _currentOrganization$,_currentTeam$name;let{user}=(0,index_esm.useValues)(userLogic.userLogic),{currentTeam}=(0,index_esm.useValues)(teamLogic.H),{currentOrganization}=(0,index_esm.useValues)(organizationLogic.p),{isAccountPopoverOpen,isProjectSwitcherShown}=(0,index_esm.useValues)(navigationLogic.f),{closeAccountPopover,toggleAccountPopover,toggleProjectSwitcher,hideProjectSwitcher}=(0,index_esm.useActions)(navigationLogic.f);return(0,jsx_runtime.jsxs)("nav",{className:"flex items-center justify-between gap-2 p-2 border-b",children:[(0,jsx_runtime.jsx)("span",{className:"flex-1",children:(0,jsx_runtime.jsx)(src.Jp,{noPadding:!0,icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconLogomark,{className:"text-3xl"}),to:urls.j.projectHomepage()})}),null!==(_currentOrganization$=currentOrganization?.teams?.length)&&void 0!==_currentOrganization$&&_currentOrganization$?(0,jsx_runtime.jsx)(src.J2,{overlay:(0,jsx_runtime.jsx)(ProjectSwitcher.C,{onClickInside:hideProjectSwitcher}),visible:isProjectSwitcherShown,onClickOutside:hideProjectSwitcher,placement:"bottom",children:(0,jsx_runtime.jsx)(src.Jp,{type:"tertiary",icon:(0,jsx_runtime.jsx)(src.BR,{name:currentTeam?.name}),onClick:toggleProjectSwitcher,children:null!==(_currentTeam$name=currentTeam?.name)&&void 0!==_currentTeam$name?_currentTeam$name:"Current project"})}):null,(0,jsx_runtime.jsx)(src.J2,{overlay:(0,jsx_runtime.jsx)(AccountPopover.D,{}),visible:isAccountPopoverOpen,onClickOutside:closeAccountPopover,placement:"bottom",children:(0,jsx_runtime.jsx)(src.Jp,{type:"tertiary",icon:(0,jsx_runtime.jsx)(src.YY,{user:user,size:"md"}),onClick:toggleAccountPopover,children:user?.first_name||user?.email})})]})}var commandBarLogic=__webpack_require__("./frontend/src/lib/components/CommandBar/commandBarLogic.ts"),icons=__webpack_require__("./frontend/src/lib/lemon-ui/icons/index.ts"),LemonButton=__webpack_require__("./frontend/src/lib/lemon-ui/LemonButton/index.ts"),useFeatureFlag=__webpack_require__("./frontend/src/lib/hooks/useFeatureFlag.ts"),Tooltip=__webpack_require__("./frontend/src/lib/lemon-ui/Tooltip/index.ts"),dist_module=__webpack_require__("./node_modules/.pnpm/posthog-js@1.205.0/node_modules/posthog-js/dist/module.js");let NOTICES=[{identifier:sceneTypes.x.DataManagement,description:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)("b",{children:"Annotations"})," have moved here!",(0,jsx_runtime.jsx)("br",{}),"You can now find them in ",(0,jsx_runtime.jsx)("b",{children:"Data Management"})]}),placement:"bottom-end",flagSuffix:"annotations-2023-10-30"},{identifier:sceneTypes.x.PersonsManagement,description:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)("b",{children:"Cohorts"})," have moved here!",(0,jsx_runtime.jsx)("br",{}),"You can now find them in ",(0,jsx_runtime.jsx)("b",{children:"People"})]}),placement:"top-end",flagSuffix:"cohorts-2023-10-30"}];function SidebarChangeNoticeContent(_ref){let{notices,onAcknowledged}=_ref;return(0,jsx_runtime.jsxs)("div",{className:"flex items-center gap-1",onClick:onAcknowledged,children:[(0,jsx_runtime.jsx)("div",{className:"flex-1",children:notices.map((notice,i)=>(0,jsx_runtime.jsxs)(react.Fragment,{children:[notice.description,i{var _notices$0$placement;let content;let{identifier,shortTitle,title,forceTooltipOnHover,tag,onClick,sideAction,...rest}=_ref,{activeScene}=(0,index_esm.useValues)(sceneLogic.k),{sceneBreadcrumbKeys}=(0,index_esm.useValues)(breadcrumbsLogic.E),{hideNavOnMobile}=(0,index_esm.useActions)(navigation_3000_navigationLogic.f),{isNavCollapsed}=(0,index_esm.useValues)(navigation_3000_navigationLogic.f),isUsingNewNav=(0,useFeatureFlag.y)("POSTHOG_3000_NAV"),[hasBeenClicked,setHasBeenClicked]=(0,react.useState)(!1),here=activeScene===identifier||sceneBreadcrumbKeys.includes(identifier),isNavCollapsedActually=isNavCollapsed||isUsingNewNav;isUsingNewNav||(rest.active=here),isNavCollapsedActually?rest.sideIcon=null:(content=shortTitle||title,tag&&(content=(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)("span",{className:"grow",children:content}),(0,jsx_runtime.jsx)(src.oe,{type:"alpha"===tag?"completion":"beta"===tag?"warning":"success",size:"small",className:"ml-2",children:tag.toUpperCase()})]})),sideAction&&(rest.sideAction={...sideAction,divider:!0,"data-attr":`menu-item-${sideAction.identifier.toLowerCase()}`},rest.sideIcon=null));let buttonContent=(0,jsx_runtime.jsx)(LemonButton.J,{ref:ref,"data-attr":`menu-item-${identifier.toString().toLowerCase()}`,onMouseEnter:()=>setHasBeenClicked(!1),onClick:e=>{rest.to&&hideNavOnMobile(),setHasBeenClicked(!0),onClick?.(e)},className:(0,clsx_m.default)("NavbarButton",isUsingNewNav&&here&&"NavbarButton--here"),fullWidth:!0,type:"secondary",status:"alt",...rest,children:content}),[notices,onAcknowledged]=function(_ref2){let{identifier}=_ref2,{featureFlags}=(0,index_esm.useValues)(featureFlagLogic.h),[noticeAcknowledged,setNoticeAcknowledged]=(0,react.useState)(!1),notices=NOTICES.filter(notice=>notice.identifier===identifier).filter(notice=>featureFlags[`sidebar-notice-${notice.flagSuffix}`]);return[noticeAcknowledged?[]:notices,()=>{notices.forEach(change=>{dist_module.ZP.capture("sidebar notice acknowledged",{change:change.flagSuffix,$set:{[`sidebar_notice/${change.flagSuffix}`]:!0}}),setNoticeAcknowledged(!0)})}]}({identifier});return(0,jsx_runtime.jsx)("li",{className:"w-full",children:notices.length?(0,jsx_runtime.jsx)(Tooltip.u,{title:(0,jsx_runtime.jsx)(SidebarChangeNoticeContent,{notices:notices,onAcknowledged:onAcknowledged}),placement:null!==(_notices$0$placement=notices[0].placement)&&void 0!==_notices$0$placement?_notices$0$placement:"right",delayMs:0,visible:!0,children:buttonContent}):(0,jsx_runtime.jsx)(Tooltip.u,{title:forceTooltipOnHover||isNavCollapsedActually?here?`${title} (you are here)`:title:null,placement:"right",delayMs:0,visible:!hasBeenClicked&&void 0,children:buttonContent})})});function DebugNotice(){let[debugInfo,setDebugInfo]=(0,react.useState)(),[noticeHidden,setNoticeHidden]=(0,react.useState)(!1),{isNavCollapsed}=(0,index_esm.useValues)(navigation_3000_navigationLogic.f);return((0,react.useEffect)(()=>{let bottomNotice=document.getElementById("bottom-notice"),bottomNoticeRevision=document.getElementById("bottom-notice-revision")?.textContent,bottomNoticeBranch=document.getElementById("bottom-notice-branch")?.textContent;return bottomNotice&&bottomNoticeRevision&&bottomNoticeBranch&&(setDebugInfo({branch:bottomNoticeBranch||"unknown",revision:bottomNoticeRevision||"unknown"}),bottomNotice.remove()),()=>{}},[]),!debugInfo||noticeHidden)?null:isNavCollapsed?(0,jsx_runtime.jsx)(NavbarButton,{identifier:"debug-notice",icon:(0,jsx_runtime.jsx)(icons.$M,{className:"text-primary"}),title:(0,jsx_runtime.jsxs)("div",{className:"font-mono",children:[(0,jsx_runtime.jsx)("div",{children:(0,jsx_runtime.jsx)("strong",{children:"DEBUG mode!"})}),(0,jsx_runtime.jsxs)("div",{children:["Branch: ",(0,jsx_runtime.jsx)("b",{children:debugInfo.branch})]}),(0,jsx_runtime.jsxs)("div",{children:["Revision: ",(0,jsx_runtime.jsx)("b",{children:debugInfo.revision})]}),(0,jsx_runtime.jsx)("div",{className:"italic",children:"Click to hide"})]}),onClick:()=>setNoticeHidden(!0)}):(0,jsx_runtime.jsxs)("div",{className:"border rounded bg-bg-3000 overflow-hidden mb-1.5 w-full font-mono max-w-60 text-[13px]",children:[(0,jsx_runtime.jsxs)("div",{className:"flex items-center gap-2 px-2 h-8 border-l-4 border-brand-blue justify-between",children:[(0,jsx_runtime.jsx)("b",{children:"DEBUG mode"}),(0,jsx_runtime.jsx)(LemonButton.J,{icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconX,{}),tooltip:"Dismiss",tooltipPlacement:"right",size:"small",noPadding:!0,onClick:()=>setNoticeHidden(!0)})]}),(0,jsx_runtime.jsx)(src.u,{title:"Branch",placement:"right",children:(0,jsx_runtime.jsxs)("div",{className:"flex items-center gap-2 w-fit px-2 h-8 border-l-4 border-brand-red",children:[(0,jsx_runtime.jsx)(icons.$M,{className:"text-lg"}),(0,jsx_runtime.jsx)("b",{className:"min-w-0 flex-1 truncate",children:debugInfo.branch})]})}),(0,jsx_runtime.jsx)(src.u,{title:"Revision",placement:"right",children:(0,jsx_runtime.jsxs)("div",{className:"flex items-center gap-2 w-fit px-2 h-8 border-l-4 border-brand-yellow",children:[(0,jsx_runtime.jsx)(posthog_icons_es.IconCode,{className:"text-lg"}),(0,jsx_runtime.jsx)("b",{className:"min-w-0 flex-1 truncate",children:debugInfo.revision})]})}),"8010"!==window.location.port&&(0,jsx_runtime.jsx)(src.u,{title:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["You're currently using the app over port 8000,",(0,jsx_runtime.jsx)("br",{}),"which only serves the web app, without capture (/e/).",(0,jsx_runtime.jsx)("br",{}),"Use port 8010 for full PostHog, proxied via Caddy."]}),placement:"right",children:(0,jsx_runtime.jsxs)("div",{className:"flex items-center gap-2 w-fit px-2 h-8 border-l-4 border-brand-key",children:[(0,jsx_runtime.jsx)(posthog_icons_es.IconWarning,{className:"text-lg"}),(0,jsx_runtime.jsx)(src.rU,{to:window.location.href.replace(`:${window.location.port}`,":8010"),className:"font-semibold text-default underline min-w-0 flex-1 truncate",children:"Click here to fix port!"})]})})]})}NavbarButton.displayName="NavbarButton";var Resizer=__webpack_require__("./frontend/src/lib/components/Resizer/Resizer.tsx"),ScrollableShadows=__webpack_require__("./frontend/src/lib/components/ScrollableShadows/ScrollableShadows.tsx"),Popover=__webpack_require__("./frontend/src/lib/lemon-ui/Popover/index.ts"),ProfilePicture=__webpack_require__("./frontend/src/lib/lemon-ui/ProfilePicture/index.ts"),themeLogic=__webpack_require__("./frontend/src/layout/navigation-3000/themeLogic.ts"),KeyboardShortcut=__webpack_require__("./frontend/src/layout/navigation-3000/components/KeyboardShortcut.tsx");function Navbar(){let{theme}=(0,index_esm.useValues)(themeLogic.b),{user}=(0,index_esm.useValues)(userLogic.userLogic),{isAccountPopoverOpen,systemStatusHealthy}=(0,index_esm.useValues)(navigationLogic.f),{closeAccountPopover,toggleAccountPopover}=(0,index_esm.useActions)(navigationLogic.f),{isNavShown,isSidebarShown,activeNavbarItemId,navbarItems,mobileLayout}=(0,index_esm.useValues)(navigation_3000_navigationLogic.f),{toggleNavCollapsed,hideNavOnMobile,showSidebar,hideSidebar}=(0,index_esm.useActions)(navigation_3000_navigationLogic.f),{featureFlags}=(0,index_esm.useValues)(featureFlagLogic.h),{toggleSearchBar}=(0,index_esm.useActions)(commandBarLogic.e),containerRef=(0,react.useRef)(null);return(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsxs)("nav",{className:(0,clsx_m.default)("Navbar3000",!isNavShown&&"Navbar3000--hidden"),ref:containerRef,children:[(0,jsx_runtime.jsxs)("div",{className:"Navbar3000__content",style:theme?.sidebarStyle,children:[(0,jsx_runtime.jsx)(ScrollableShadows.D,{innerClassName:"Navbar3000__top",direction:"vertical",children:navbarItems.map((section,index)=>(0,jsx_runtime.jsx)("ul",{children:section.map(item=>item.featureFlag&&!featureFlags[item.featureFlag]?null:(0,jsx_runtime.jsx)(NavbarButton,{title:item.label,identifier:item.identifier,icon:item.icon,sideAction:item.sideAction,tag:item.tag,to:"to"in item?item.to:void 0,onClick:"logic"in item?()=>{activeNavbarItemId!==item.identifier||isSidebarShown?showSidebar(item.identifier):hideSidebar()}:void 0,active:activeNavbarItemId===item.identifier&&isSidebarShown},item.identifier))},index))}),(0,jsx_runtime.jsx)("div",{className:"Navbar3000__bottom",children:(0,jsx_runtime.jsxs)("ul",{children:[(0,jsx_runtime.jsx)(DebugNotice,{}),(0,jsx_runtime.jsx)(NavbarButton,{identifier:"search-button",icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconSearch,{}),shortTitle:"Search",title:(0,jsx_runtime.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,jsx_runtime.jsxs)("span",{children:["For search, press ",(0,jsx_runtime.jsx)(KeyboardShortcut.e,{command:!0,k:!0})]}),(0,jsx_runtime.jsxs)("span",{children:["For commands, press ",(0,jsx_runtime.jsx)(KeyboardShortcut.e,{command:!0,shift:!0,k:!0})]})]}),forceTooltipOnHover:!0,sideIcon:(0,jsx_runtime.jsx)(KeyboardShortcut.e,{command:!0,k:!0}),onClick:toggleSearchBar}),(0,jsx_runtime.jsx)(NavbarButton,{icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconToolbar,{}),identifier:sceneTypes.x.ToolbarLaunch,title:"Toolbar",to:urls.j.toolbarLaunch()}),(0,jsx_runtime.jsx)(NavbarButton,{icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconGear,{}),identifier:sceneTypes.x.Settings,title:"Settings",to:urls.j.settings("project")}),systemStatusHealthy?null:(0,jsx_runtime.jsx)(NavbarButton,{icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconWarning,{}),identifier:sceneTypes.x.SystemStatus,title:"System issue!",to:urls.j.instanceStatus()}),(0,jsx_runtime.jsx)(Popover.J2,{overlay:(0,jsx_runtime.jsx)(AccountPopover.D,{}),visible:isAccountPopoverOpen,onClickOutside:closeAccountPopover,placement:"right-end",className:"min-w-70",children:(0,jsx_runtime.jsx)(NavbarButton,{icon:(0,jsx_runtime.jsx)(ProfilePicture.Y,{user:user,size:"md"}),identifier:"me",title:`Hi${user?.first_name?`, ${user?.first_name}`:""}!`,shortTitle:user?.first_name||user?.email,onClick:toggleAccountPopover})})]})})]}),!mobileLayout&&(0,jsx_runtime.jsx)(Resizer.w,{logicKey:"navbar",placement:"right",containerRef:containerRef,closeThreshold:100,onToggleClosed:shouldBeClosed=>toggleNavCollapsed(shouldBeClosed),onDoubleClick:()=>toggleNavCollapsed()})]}),mobileLayout&&(0,jsx_runtime.jsx)("div",{className:(0,clsx_m.default)("Navbar3000__overlay",!isNavShown&&"Navbar3000--hidden"),onClick:()=>hideNavOnMobile()})]})}var Sidebar=__webpack_require__("./frontend/src/layout/navigation-3000/components/Sidebar.tsx"),TopBar=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/layout/navigation-3000/components/TopBar.scss"),TopBar_default=__webpack_require__.n(TopBar),TopBar_options={};TopBar_options.insert="head",TopBar_options.singleton=!1,injectStylesIntoStyleTag_default()(TopBar_default(),TopBar_options),TopBar_default().locals;var EditableField=__webpack_require__("./frontend/src/lib/components/EditableField/EditableField.tsx"),sidePanelStateLogic=__webpack_require__("./frontend/src/layout/navigation-3000/sidepanel/sidePanelStateLogic.tsx"),metalyticsLogic=__webpack_require__("./frontend/src/lib/components/Metalytics/metalyticsLogic.ts");function MetalyticsSummary(){var _viewCount$views,_viewCount$users;let{instanceId,viewCount,viewCountLoading}=(0,index_esm.useValues)(metalyticsLogic.W),safeViewCount=null!==(_viewCount$views=viewCount?.views)&&void 0!==_viewCount$views?_viewCount$views:0,safeUniqueUsers=null!==(_viewCount$users=viewCount?.users)&&void 0!==_viewCount$users?_viewCount$users:0,{openSidePanel}=(0,index_esm.useActions)(sidePanelStateLogic.f);return!instanceId||viewCountLoading?null:(0,jsx_runtime.jsxs)("span",{className:"relative inline-flex",children:[(0,jsx_runtime.jsx)(src.Jp,{loading:viewCountLoading,icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconPulse,{}),size:"small",onClick:()=>openSidePanel(types.H$.Activity,"metalytics"),tooltip:`${safeUniqueUsers} PostHog members have viewed this a total of ${safeViewCount} times. Click to see more.`}),(0,jsx_runtime.jsx)(src.Mo.Number,{count:safeViewCount,size:"small",position:"top-right",showZero:!1,status:"primary",maxDigits:3})]})}var Popover_Popover=__webpack_require__("./frontend/src/lib/lemon-ui/Popover/Popover.tsx");function TopBar_TopBar(){let{mobileLayout}=(0,index_esm.useValues)(navigationLogic.f),{showNavOnMobile}=(0,index_esm.useActions)(navigation_3000_navigationLogic.f),{breadcrumbs,renameState}=(0,index_esm.useValues)(breadcrumbsLogic.E),{setActionsContainer}=(0,index_esm.useActions)(breadcrumbsLogic.E),[compactionRate,setCompactionRate]=(0,react.useState)(0),effectiveCompactionRate=mobileLayout?0:compactionRate,isOnboarding=lib.router.values.location.pathname.includes("/onboarding/");return(0,react.useLayoutEffect)(()=>{function handleScroll(){let mainElement=document.getElementsByTagName("main")[0],mainScrollTop=mainElement.scrollTop,compactionDistance=Math.min(mainElement.scrollHeight-mainElement.clientHeight,44),newCompactionRate=compactionDistance>0?Math.min(mainScrollTop/compactionDistance,1):0;if(setCompactionRate(newCompactionRate),renameState&&(newCompactionRate>.5&&compactionRate<=.5||newCompactionRate<=.5&&compactionRate>.5)){let[source,target]=newCompactionRate>.5?["large","small"]:["small","large"],sourceEl=document.querySelector(`input[name="item-name-${source}"]`),targetEl=document.querySelector(`input[name="item-name-${target}"]`);sourceEl&&targetEl&&(targetEl.focus(),targetEl.setSelectionRange(sourceEl.selectionStart||0,sourceEl.selectionEnd||0))}}let main=document.getElementsByTagName("main")[0];return main.addEventListener("scroll",handleScroll),()=>main.removeEventListener("scroll",handleScroll)},[compactionRate]),breadcrumbs.length?(0,jsx_runtime.jsx)("div",{className:(0,clsx_m.default)("TopBar3000",0===effectiveCompactionRate&&"TopBar3000--full",1===effectiveCompactionRate&&"TopBar3000--compact"),style:{"--breadcrumbs-compaction-rate":effectiveCompactionRate},children:(0,jsx_runtime.jsxs)("div",{className:"TopBar3000__content",children:[mobileLayout&&(0,jsx_runtime.jsx)(src.Jp,{size:"small",onClick:()=>showNavOnMobile(),icon:(0,jsx_runtime.jsx)(icons.dc,{}),className:"TopBar3000__hamburger"}),(0,jsx_runtime.jsxs)("div",{className:"TopBar3000__breadcrumbs",children:[breadcrumbs.length>1&&(0,jsx_runtime.jsxs)("div",{className:"TopBar3000__trail",children:[breadcrumbs.slice(0,-1).map(breadcrumb=>(0,jsx_runtime.jsxs)(react.Fragment,{children:[(0,jsx_runtime.jsx)(Breadcrumb,{breadcrumb:breadcrumb}),(0,jsx_runtime.jsx)("div",{className:"TopBar3000__separator"})]},joinBreadcrumbKey(breadcrumb.key))),(0,jsx_runtime.jsx)(Breadcrumb,{breadcrumb:breadcrumbs[breadcrumbs.length-1],here:!0,isOnboarding:isOnboarding})]}),(0,jsx_runtime.jsx)(Here,{breadcrumb:breadcrumbs[breadcrumbs.length-1],isOnboarding:isOnboarding})]}),(0,jsx_runtime.jsx)(FlaggedFeature.P,{flag:"metalytics",children:(0,jsx_runtime.jsx)("div",{className:"shrink-1",children:(0,jsx_runtime.jsx)(MetalyticsSummary,{})})}),(0,jsx_runtime.jsx)("div",{className:"TopBar3000__actions border-danger",ref:setActionsContainer})]})}):null}function Breadcrumb(_ref){let nameElement,{breadcrumb,here,isOnboarding}=_ref,{renameState}=(0,index_esm.useValues)(breadcrumbsLogic.E),{tentativelyRename,finishRenaming}=(0,index_esm.useActions)(breadcrumbsLogic.E),[popoverShown,setPopoverShown]=(0,react.useState)(!1),joinedKey=joinBreadcrumbKey(breadcrumb.key),breadcrumbName=isOnboarding&&here?"Onboarding":breadcrumb.name;nameElement=breadcrumb.symbol?breadcrumb.symbol:null!=breadcrumb.name&&breadcrumb.onRename?(0,jsx_runtime.jsx)(EditableField.f,{name:"item-name-small",value:renameState&&renameState[0]===joinedKey?renameState[1]:breadcrumbName,onChange:newName=>tentativelyRename(joinedKey,newName),onSave:newName=>{breadcrumb.onRename?.(newName)},mode:renameState&&renameState[0]===joinedKey?"edit":"view",onModeToggle:newMode=>{"edit"===newMode?tentativelyRename(joinedKey,breadcrumbName):finishRenaming(),setPopoverShown(!1)},placeholder:"Unnamed",compactButtons:"xsmall",editingIndication:"underlined"}):(0,jsx_runtime.jsxs)("span",{className:"flex items-center gap-1.5",children:[breadcrumbName||(0,jsx_runtime.jsx)("i",{children:"Unnamed"}),"tag"in breadcrumb&&breadcrumb.tag&&(0,jsx_runtime.jsx)(src.oe,{size:"small",children:breadcrumb.tag})]});let Component=breadcrumb.path?Link.r:"div",breadcrumbContent=(0,jsx_runtime.jsxs)(Component,{className:(0,clsx_m.default)("TopBar3000__breadcrumb",popoverShown&&"TopBar3000__breadcrumb--open",(breadcrumb.path||breadcrumb.popover)&&"TopBar3000__breadcrumb--actionable",here&&"TopBar3000__breadcrumb--here"),onClick:()=>{breadcrumb.popover&&setPopoverShown(!popoverShown)},"data-attr":`breadcrumb-${joinedKey}`,to:breadcrumb.path,children:[nameElement,breadcrumb.popover&&!breadcrumb.symbol&&(0,jsx_runtime.jsx)(posthog_icons_es.IconChevronDown,{})]});return breadcrumb.popover?(0,jsx_runtime.jsx)(Popover_Popover.J2,{...breadcrumb.popover,visible:popoverShown,onClickOutside:()=>{popoverShown&&setPopoverShown(!1)},onClickInside:()=>{popoverShown&&setPopoverShown(!1)},children:breadcrumbContent}):breadcrumbContent}function Here(_ref2){let{breadcrumb,isOnboarding}=_ref2,{renameState}=(0,index_esm.useValues)(breadcrumbsLogic.E),{tentativelyRename,finishRenaming}=(0,index_esm.useActions)(breadcrumbsLogic.E),joinedKey=joinBreadcrumbKey(breadcrumb.key),hereName=isOnboarding?"Onboarding":breadcrumb.name;return(0,jsx_runtime.jsx)("h1",{className:"TopBar3000__here","data-attr":"top-bar-name",children:null==breadcrumb.name?(0,jsx_runtime.jsx)(src.yW,{className:"w-40 h-4"}):breadcrumb.onRename?(0,jsx_runtime.jsx)(EditableField.f,{name:"item-name-large",value:renameState&&renameState[0]===joinedKey?renameState[1]:hereName,onChange:newName=>{tentativelyRename(joinedKey,newName),breadcrumb.forceEditMode&&breadcrumb.onRename?.(newName)},onSave:newName=>{breadcrumb.onRename?.(newName)},mode:breadcrumb.forceEditMode||renameState&&renameState[0]===joinedKey?"edit":"view",onModeToggle:breadcrumb.forceEditMode?void 0:newMode=>{"edit"===newMode?tentativelyRename(joinedKey,hereName):finishRenaming()},placeholder:"Unnamed",compactButtons:"xsmall",editingIndication:"underlined",autoFocus:!0}):(0,jsx_runtime.jsx)("span",{children:hereName})})}function joinBreadcrumbKey(key){return Array.isArray(key)?key.map(String).join(":"):String(key)}var SidePanel=__webpack_require__("./frontend/src/layout/navigation-3000/sidepanel/SidePanel.tsx");function Navigation_Navigation(_ref){let{children,sceneConfig}=_ref,{theme}=(0,index_esm.useValues)(themeLogic.b),{mobileLayout}=(0,index_esm.useValues)(navigationLogic.f),{activeNavbarItem,mode}=(0,index_esm.useValues)(navigation_3000_navigationLogic.f);return"full"!==mode?(0,jsx_runtime.jsxs)("div",{className:"Navigation3000 flex-col",style:theme?.mainStyle,children:["minimal"===mode?(0,jsx_runtime.jsx)(MinimalNavigation,{}):null,(0,jsx_runtime.jsx)("main",{children:children})]}):(0,jsx_runtime.jsxs)("div",{className:(0,clsx_m.default)("Navigation3000",mobileLayout&&"Navigation3000--mobile"),style:theme?.mainStyle,children:[(0,jsx_runtime.jsx)(Navbar,{}),(0,jsx_runtime.jsx)(FlaggedFeature.P,{flag:constants.y8.POSTHOG_3000_NAV,children:activeNavbarItem&&(0,jsx_runtime.jsx)(Sidebar.Y,{navbarItem:activeNavbarItem},activeNavbarItem.identifier)}),(0,jsx_runtime.jsxs)("main",{children:[(sceneConfig?.layout!=="app-raw-no-header"||mobileLayout)&&(0,jsx_runtime.jsx)(TopBar_TopBar,{}),(0,jsx_runtime.jsxs)("div",{className:(0,clsx_m.default)("Navigation3000__scene",sceneConfig?.layout==="app-raw"&&"Navigation3000__scene--raw",sceneConfig?.layout==="app-raw-no-header"&&"Navigation3000__scene--raw-no-header",sceneConfig?.layout==="app-canvas"&&"Navigation3000__scene--canvas"),children:[(0,jsx_runtime.jsxs)("div",{className:sceneConfig?.layout==="app-raw-no-header"?"px-4":"",children:[!sceneConfig?.hideBillingNotice&&(0,jsx_runtime.jsx)(BillingAlertsV2,{}),!sceneConfig?.hideProjectNotice&&(0,jsx_runtime.jsx)(ProjectNotice,{})]}),children]})]}),(0,jsx_runtime.jsx)(SidePanel.W,{}),(0,jsx_runtime.jsx)(CommandBar.X,{})]})}var actionsModel=__webpack_require__("./frontend/src/models/actionsModel.ts"),cohortsModel=__webpack_require__("./frontend/src/models/cohortsModel.ts"),preflightLogic=__webpack_require__("./frontend/src/scenes/PreflightCheck/preflightLogic.tsx");window.process=constants.TH;let appLogic=(0,index_esm.kea)([(0,index_esm.path)(["scenes","App"]),(0,index_esm.connect)([teamLogic.H,organizationLogic.p,actionsModel.D,cohortsModel.Q]),(0,index_esm.actions)({enableDelayedSpinner:!0,ignoreFeatureFlags:!0}),(0,index_esm.reducers)({showingDelayedSpinner:[!1,{enableDelayedSpinner:()=>!0}],featureFlagsTimedOut:[!1,{ignoreFeatureFlags:()=>!0}]}),(0,index_esm.selectors)({showApp:[s=>[userLogic.userLogic.selectors.userLoading,userLogic.userLogic.selectors.user,featureFlagLogic.h.selectors.receivedFeatureFlags,s.featureFlagsTimedOut,preflightLogic.preflightLogic.selectors.preflightLoading,preflightLogic.preflightLogic.selectors.preflight],(userLoading,user,receivedFeatureFlags,featureFlagsTimedOut,preflightLoading,preflight)=>(!userLoading||user)&&(receivedFeatureFlags||featureFlagsTimedOut)&&(!preflightLoading||preflight)]}),(0,index_esm.events)(_ref=>{let{actions,cache}=_ref;return{afterMount:()=>{cache.spinnerTimeout=window.setTimeout(()=>actions.enableDelayedSpinner(),1e3),cache.featureFlagTimeout=window.setTimeout(()=>actions.ignoreFeatureFlags(),3e3)},beforeUnmount:()=>{window.clearTimeout(cache.spinnerTimeout),window.clearTimeout(cache.featureFlagTimeout)}}})]);function App(){let{showApp,showingDelayedSpinner}=(0,index_esm.useValues)(appLogic);return((0,index_esm.useMountedLogic)((0,sceneLogic.k)({scenes:appScenes})),(0,index_esm.useMountedLogic)(apiStatusLogic.W),(0,useThemedHtml.F)(),showApp)?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(LoadedSceneLogics,{}),(0,jsx_runtime.jsx)(AppScene,{})]}):(0,jsx_runtime.jsx)(Spinner.t,{sceneLevel:!0,visible:showingDelayedSpinner})}function LoadedSceneLogic(_ref2){let{scene}=_ref2;if(!scene.logic)throw Error("Loading scene without a logic");return(0,index_esm.useMountedLogic)(scene.logic(scene.paramsToProps?.(scene.sceneParams))),null}function LoadedSceneLogics(){let{loadedScenes}=(0,index_esm.useValues)(sceneLogic.k);return(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:Object.entries(loadedScenes).filter(_ref3=>{let[,{logic}]=_ref3;return!!logic}).map(_ref4=>{let[key,loadedScene]=_ref4;return(0,jsx_runtime.jsx)(LoadedSceneLogic,{scene:loadedScene},key)})})}function AppScene(){let sceneElement;(0,index_esm.useMountedLogic)(breadcrumbsLogic.E);let{user}=(0,index_esm.useValues)(userLogic.userLogic),{activeScene,activeLoadedScene,sceneParams,params,loadedScenes,sceneConfig}=(0,index_esm.useValues)(sceneLogic.k),{showingDelayedSpinner}=(0,index_esm.useValues)(appLogic),{isDarkModeOn}=(0,index_esm.useValues)(themeLogic.b),toastContainer=(0,jsx_runtime.jsx)(react_toastify_esm.Ix,{autoClose:6e3,transition:react_toastify_esm.Mi,closeOnClick:!1,draggable:!1,closeButton:(0,jsx_runtime.jsx)(LemonToast.ty,{}),position:"bottom-right",theme:isDarkModeOn?"dark":"light"});if(activeScene&&activeScene in loadedScenes){let{component:SceneComponent}=loadedScenes[activeScene];sceneElement=(0,jsx_runtime.jsx)(SceneComponent,{user:user,...params})}else sceneElement=(0,jsx_runtime.jsx)(Spinner.t,{sceneLevel:!0,visible:showingDelayedSpinner});let wrappedSceneElement=(0,jsx_runtime.jsx)(ErrorBoundary.S,{tags:{feature:activeScene},children:activeLoadedScene?.logic?(0,jsx_runtime.jsx)(index_esm.BindLogic,{logic:activeLoadedScene.logic,props:activeLoadedScene.paramsToProps?.(sceneParams)||{},children:sceneElement}):sceneElement},activeScene);return user?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(Navigation_Navigation,{sceneConfig:sceneConfig,children:wrappedSceneElement}),toastContainer,(0,jsx_runtime.jsx)(GlobalModals.B,{})]}):sceneConfig?.onlyUnauthenticated||sceneConfig?.allowUnauthenticated?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[wrappedSceneElement,toastContainer]}):null}},"./frontend/src/scenes/PreflightCheck/preflightLogic.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{preflightLogic:()=>preflightLogic});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_loaders__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea-loaders@3.0.0_kea@3.1.5/node_modules/kea-loaders/lib/index.js"),kea_router__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),lib_api__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/api.ts"),lib_utils_getAppContext__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/utils/getAppContext.ts"),posthog_js__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/.pnpm/posthog-js@1.205.0/node_modules/posthog-js/dist/module.js"),scenes_urls__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/scenes/urls.ts");let preflightLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(["scenes","PreflightCheck","preflightLogic"]),(0,kea_loaders__WEBPACK_IMPORTED_MODULE_1__.loaders)({preflight:[null,{loadPreflight:async()=>{let response=await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.get("_preflight/");return response}}]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)({registerInstrumentationProps:!0,setPreflightMode:(mode,noReload)=>({mode,noReload}),handlePreflightFinished:!0,setChecksManuallyExpanded:expanded=>({expanded}),revalidatePreflight:!0}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)({preflightMode:[null,{setPreflightMode:(_,_ref)=>{let{mode}=_ref;return mode}}],areChecksManuallyExpanded:[null,{setChecksManuallyExpanded:(_,_ref2)=>{let{expanded}=_ref2;return expanded}}]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.selectors)({checks:[s=>[s.preflight,s.preflightMode],(preflight,preflightMode)=>{let preflightItems=[{id:"database",name:"Application database \xb7 Postgres",status:preflight?.db?"validated":"error"},{id:"clickhouse",name:"Analytics database \xb7 ClickHouse",status:preflight?.clickhouse?"validated":"error"},{id:"kafka",name:"Queue \xb7 Kafka",status:preflight?.kafka?"validated":"error"},{id:"backend",name:"Backend server \xb7 Django",status:preflight?.django?"validated":"error"},{id:"redis",name:"Cache \xb7 Redis",status:preflight?.redis?"validated":"experimentation"===preflightMode?"warning":"error",caption:preflight?.redis||"experimentation"!==preflightMode?void 0:"Required in production environments"},{id:"celery",name:"Background jobs \xb7 Celery",status:preflight?.celery?"validated":"experimentation"===preflightMode?"warning":"error",caption:preflight?.celery||"experimentation"!==preflightMode?void 0:"Required in production environments"},{id:"plugins",name:"Plugin server \xb7 Node",status:preflight?.plugins?"validated":"experimentation"===preflightMode?"warning":"error",caption:preflight?.plugins||"experimentation"!==preflightMode?void 0:"Required in production environments"},{id:"frontend",name:"Frontend build \xb7 Webpack",status:"validated"},{id:"tls",name:"SSL/TLS certificate",status:"https:"===window.location.protocol?"validated":"experimentation"===preflightMode?"optional":"warning",caption:"https:"!==window.location.protocol&&"experimentation"===preflightMode?"Not required for experimentation mode":"Set up before ingesting real user data"}];return(preflight?.object_storage||preflight?.is_debug)&&preflightItems.push({id:"object_storage",name:"Object Storage",status:preflight?.object_storage?"validated":"warning",caption:preflight?.object_storage?void 0:"Some features will not work without object storage"}),preflightItems}],checksSummary:[s=>[s.checks],checks=>{let statusCounts={};if(checks.length>0)for(let check of checks)statusCounts[check.status]=(statusCounts[check.status]||0)+1;let summaryString="",summaryStatus="validated";return statusCounts.validated&&(summaryString+=`${statusCounts.validated} successful, `),statusCounts.warning&&(summaryString+=`${statusCounts.warning} warning${statusCounts.warning>1?"s":""}, `,summaryStatus="warning"),statusCounts.error&&(summaryString+=`${statusCounts.error} error${statusCounts.error>1?"s":""}, `,summaryStatus="error"),statusCounts.optional&&(summaryString+=`${statusCounts.optional} optional, `),{summaryString:summaryString.slice(0,-2),summaryStatus:summaryStatus}}],areChecksExpanded:[s=>[s.checksSummary,s.areChecksManuallyExpanded],(checksSummary,areChecksManuallyExpanded)=>null!=areChecksManuallyExpanded?areChecksManuallyExpanded:checksSummary?.summaryStatus!=="validated"],socialAuthAvailable:[s=>[s.preflight],preflight=>!!(preflight&&Object.values(preflight.available_social_auth_providers).filter(i=>i).length)],objectStorageAvailable:[s=>[s.preflight],preflight=>!!(preflight&&preflight.object_storage)],realm:[s=>[s.preflight],preflight=>preflight?preflight.realm:null],siteUrlMisconfigured:[s=>[s.preflight],preflight=>!1],configOptions:[s=>[s.preflight],preflight=>preflight?[{key:"site_url",label:"Site URL"}].map(config=>({key:config.key,metric:config.label,value:preflight[config.key]})):[]],isCloudOrDev:[s=>[s.preflight],preflight=>preflight?.cloud||preflight?.is_debug],isCloud:[s=>[s.preflight],preflight=>preflight?.cloud],isDev:[s=>[s.preflight],preflight=>preflight?.is_debug],disableNavigationHooks:[s=>[s.preflight],preflight=>preflight?.dev_disable_navigation_hooks]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.listeners)(_ref3=>{let{values,actions}=_ref3;return{handlePreflightFinished:()=>{kea_router__WEBPACK_IMPORTED_MODULE_2__.router.actions.push(scenes_urls__WEBPACK_IMPORTED_MODULE_6__.j.signup())},loadPreflightSuccess:()=>{actions.registerInstrumentationProps(),actions.setChecksManuallyExpanded(values.areChecksManuallyExpanded||null)},registerInstrumentationProps:async(_,breakpoint)=>{if(await breakpoint(100),posthog_js__WEBPACK_IMPORTED_MODULE_5__.ZP&&values.preflight){let appContext=(0,lib_utils_getAppContext__WEBPACK_IMPORTED_MODULE_4__.Fj)();posthog_js__WEBPACK_IMPORTED_MODULE_5__.ZP.register({realm:values.realm,email_service_available:values.preflight.email_service_available,slack_service_available:values.preflight.slack_service?.available,commit_sha:appContext?.commit_sha}),values.preflight.site_url&&posthog_js__WEBPACK_IMPORTED_MODULE_5__.ZP.group("instance",values.preflight.site_url,{site_url:values.preflight.site_url})}},setPreflightMode:async _ref4=>{let{mode,noReload}=_ref4;mode&&!noReload&&actions.loadPreflight()},revalidatePreflight:()=>{let tlsCheckResult=values.checks.find(check=>"tls"===check.id);"warning"===tlsCheckResult.status?window.location.reload():actions.loadPreflight()}}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.events)(_ref5=>{let{actions,values}=_ref5;return{afterMount:()=>{let appContext=(0,lib_utils_getAppContext__WEBPACK_IMPORTED_MODULE_4__.Fj)(),preflight=appContext?.preflight;preflight?actions.loadPreflightSuccess(preflight):values.preflight||actions.loadPreflight()}}}),(0,kea_router__WEBPACK_IMPORTED_MODULE_2__.actionToUrl)(_ref6=>{let{values}=_ref6;return{setPreflightMode:()=>["/preflight",{mode:values.preflightMode}]}}),(0,kea_router__WEBPACK_IMPORTED_MODULE_2__.urlToAction)(_ref7=>{let{actions,values}=_ref7;return{"/preflight":(_,_ref8)=>{let{mode}=_ref8;values.preflightMode!==mode&&actions.setPreflightMode(null!=mode?mode:null,!0)}}})])},"./frontend/src/scenes/actions/EventName.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{C:()=>LemonEventName});var lib_components_PropertyKeyInfo__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/src/lib/components/PropertyKeyInfo.tsx"),lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/lib/components/TaxonomicFilter/types.ts"),lib_components_TaxonomicPopover_TaxonomicPopover__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/components/TaxonomicPopover/TaxonomicPopover.tsx"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function LemonEventName(_ref){let{value,onChange,disabled,placeholder="Select an event",allEventsOption}=_ref;return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(lib_components_TaxonomicPopover_TaxonomicPopover__WEBPACK_IMPORTED_MODULE_2__.b,{groupType:lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_1__.t.Events,onChange:onChange,disabled:disabled,value:value,type:"secondary",placeholder:placeholder,"data-attr":"event-name-box",renderValue:v=>null!==v?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(lib_components_PropertyKeyInfo__WEBPACK_IMPORTED_MODULE_0__.T,{value:v,disablePopover:!0,type:lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_1__.t.Events}):null,allowClear:"clear"===allEventsOption,excludedProperties:"explicit"!==allEventsOption?{events:[null]}:void 0,size:"small"})}},"./frontend/src/scenes/actions/NewActionButton.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{O:()=>NewActionButton});var _posthog_icons__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/@posthog+icons@0.9.2_react-dom@18.2.0_react@18.2.0/node_modules/@posthog/icons/dist/posthog-icons.es.js"),_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),kea_router__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),lib_components_AuthorizedUrlList_AuthorizedUrlList__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/components/AuthorizedUrlList/AuthorizedUrlList.tsx"),lib_components_AuthorizedUrlList_authorizedUrlListLogic__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/components/AuthorizedUrlList/authorizedUrlListLogic.ts"),lib_lemon_ui_LemonButton__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonButton/index.ts"),react__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/index.js"),scenes_urls__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/scenes/urls.ts"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function NewActionButton(_ref){let{onSelectOption}=_ref,[visible,setVisible]=(0,react__WEBPACK_IMPORTED_MODULE_6__.useState)(!1),[appUrlsVisible,setAppUrlsVisible]=(0,react__WEBPACK_IMPORTED_MODULE_6__.useState)(!1);return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.Fragment,{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(lib_lemon_ui_LemonButton__WEBPACK_IMPORTED_MODULE_5__.J,{type:"primary",onClick:()=>setVisible(!0),"data-attr":"create-action",children:"New action"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__.fQ,{isOpen:visible,onClose:()=>{setVisible(!1),setAppUrlsVisible(!1)},title:"Create new action",footer:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.Fragment,{children:[appUrlsVisible&&(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(lib_lemon_ui_LemonButton__WEBPACK_IMPORTED_MODULE_5__.J,{type:"secondary",onClick:()=>setAppUrlsVisible(!1),children:"Back"},"back-button"),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(lib_lemon_ui_LemonButton__WEBPACK_IMPORTED_MODULE_5__.J,{type:"secondary",onClick:()=>{setVisible(!1),setAppUrlsVisible(!1)},children:"Cancel"},"cancel-button")]}),children:appUrlsVisible?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)("div",{className:"max-w-160",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(lib_components_AuthorizedUrlList_AuthorizedUrlList__WEBPACK_IMPORTED_MODULE_3__.t,{type:lib_components_AuthorizedUrlList_authorizedUrlListLogic__WEBPACK_IMPORTED_MODULE_4__.uw.TOOLBAR_URLS})}):(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("div",{className:"space-y-2",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(lib_lemon_ui_LemonButton__WEBPACK_IMPORTED_MODULE_5__.J,{type:"secondary",icon:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_posthog_icons__WEBPACK_IMPORTED_MODULE_0__.IconSearch,{}),onClick:()=>setAppUrlsVisible(!0),size:"large",fullWidth:!0,center:!0,"data-attr":"new-action-inspect",children:"Inspect element on your site"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(lib_lemon_ui_LemonButton__WEBPACK_IMPORTED_MODULE_5__.J,{type:"secondary",icon:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_posthog_icons__WEBPACK_IMPORTED_MODULE_0__.IconPencil,{}),onClick:()=>{onSelectOption?.(),kea_router__WEBPACK_IMPORTED_MODULE_2__.router.actions.push(scenes_urls__WEBPACK_IMPORTED_MODULE_7__.j.createAction())},size:"large",fullWidth:!0,center:!0,"data-attr":"new-action-pageview",children:"From event or pageview"})]})})]})}},"./frontend/src/scenes/actions/actionsLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{J:()=>actionsFuse,M:()=>actionsLogic});var fuse_js__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./node_modules/.pnpm/fuse.js@6.6.2/node_modules/fuse.js/dist/fuse.esm.js"),kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_subscriptions__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea-subscriptions@3.0.1_kea@3.1.5/node_modules/kea-subscriptions/lib/index.js"),lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),scenes_data_management_DataManagementScene__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/scenes/data-management/DataManagementScene.tsx"),scenes_sceneTypes__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/scenes/sceneTypes.ts"),scenes_urls__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/scenes/urls.ts"),scenes_userLogic__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/scenes/userLogic.ts"),_models_actionsModel__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/models/actionsModel.ts");let actionsFuse=new fuse_js__WEBPACK_IMPORTED_MODULE_8__.Z([],{keys:[{name:"name",weight:2},"description","tags"],threshold:.3,ignoreLocation:!0,includeMatches:!0}),actionsLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(["scenes","actions","actionsLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.connect)(()=>({values:[(0,_models_actionsModel__WEBPACK_IMPORTED_MODULE_7__.D)({params:"include_count=1"}),["actions","actionsLoading"],scenes_userLogic__WEBPACK_IMPORTED_MODULE_6__.userLogic,["user"],lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_2__.h,["featureFlags"]]})),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)({setFilterType:filterType=>({filterType}),setSearchTerm:searchTerm=>({searchTerm})}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)({filterType:["all",{persist:!0},{setFilterType:(_,_ref)=>{let{filterType}=_ref;return filterType}}],searchTerm:["",{setSearchTerm:(_,_ref2)=>{let{searchTerm}=_ref2;return searchTerm}}]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.selectors)({actionsFiltered:[s=>[s.actions,s.filterType,s.searchTerm,s.user],(actions,filterType,searchTerm,user)=>{let data=actions;return searchTerm&&(data=actionsFuse.search(searchTerm).map(result=>result.item)),"me"===filterType&&(data=data.filter(item=>item.created_by?.uuid===user?.uuid)),data}],breadcrumbs:[()=>[],()=>[{key:scenes_sceneTypes__WEBPACK_IMPORTED_MODULE_4__.x.DataManagement,name:"Data management",path:scenes_urls__WEBPACK_IMPORTED_MODULE_5__.j.eventDefinitions()},{key:scenes_data_management_DataManagementScene__WEBPACK_IMPORTED_MODULE_3__.DataManagementTab.Actions,name:"Actions",path:scenes_urls__WEBPACK_IMPORTED_MODULE_5__.j.actions()}]],shouldShowEmptyState:[s=>[s.actionsFiltered,s.actionsLoading,s.searchTerm],(actionsFiltered,actionsLoading,searchTerm)=>0==actionsFiltered.length&&!actionsLoading&&!searchTerm.length]}),(0,kea_subscriptions__WEBPACK_IMPORTED_MODULE_1__.Vt)({actions:actions=>{actionsFuse.setCollection(actions)}})])},"./frontend/src/scenes/activity/explore/createActionFromEvent.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{H8:()=>elementsToAction,YG:()=>createActionFromEvent});var kea_router__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),lib_actionUtils__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/lib/actionUtils.ts"),lib_api__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/api.ts"),lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonToast/LemonToast.tsx"),lib_lemon_ui_Link__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/lemon-ui/Link/index.ts"),lib_utils__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/lib/utils.tsx"),scenes_urls__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/scenes/urls.ts"),_types__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/types.ts"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function elementsToAction(elements){return{href:elements[0].href,text:elements[0].text,...elements[0].href||elements[0].text?"":{selector:function recurseSelector(elements,parts,index){let element=elements[index];return element.attr_id?`[id="${element.attr_id}"] > ${parts}`:(parts=index>0?element.tag_name+" > "+parts:element.tag_name,10!==index&&elements[index+1])?recurseSelector(elements,parts,index+1):parts}(elements,"",0)}}}async function createActionFromEvent(teamId,event,increment,dataAttributes){let action,recurse=arguments.length>4&&void 0!==arguments[4]?arguments[4]:createActionFromEvent,actionData={name:"",steps:[{event:event.event,..."$pageview"===event.event||"$autocapture"===event.event?{url:event.properties.$current_url,url_matching:"exact"}:{},...event.elements?.length>0?elementsToAction(event.elements):{}}]};if("$autocapture"===event.event){if(actionData.name=(0,lib_utils__WEBPACK_IMPORTED_MODULE_5__.Sh)(event),dataAttributes?.length>0&&event.elements.length>0)for(let i=0;i0&&!lib_actionUtils__WEBPACK_IMPORTED_MODULE_1__.OK.includes(element.tag_name)){let clickedTagName=event.elements[0].tag_name;selector=`${selector} > ${clickedTagName||"*"}`}actionData.steps?.[0]&&(actionData.steps[0].selector=selector);break}}}else"$pageview"===event.event?actionData.name=`Pageview on ${new URL(event.properties.$current_url).pathname}`:actionData.name=`${event.event} event`;increment&&(actionData.name=actionData.name+" "+increment),"submit"===event.properties.$event_type&&actionData.steps?.length&&(actionData.steps[0].properties=[{key:"$event_type",value:"submit",type:_types__WEBPACK_IMPORTED_MODULE_7__.FT.Event,operator:_types__WEBPACK_IMPORTED_MODULE_7__.WV.Exact}]);try{action=await lib_api__WEBPACK_IMPORTED_MODULE_2__.ZP.actions.create(actionData)}catch(response){if("validation_error"===response.type&&"unique"===response.code&&increment<30)return recurse(teamId,event,increment+1,dataAttributes,recurse);lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_3__.UJ.error((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.Fragment,{children:["Couldn't create this action. You can try"," ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(lib_lemon_ui_Link__WEBPACK_IMPORTED_MODULE_4__.r,{to:scenes_urls__WEBPACK_IMPORTED_MODULE_6__.j.createAction(),children:"manually creating an action instead."})]}));return}action.id&&(kea_router__WEBPACK_IMPORTED_MODULE_0__.router.actions.push(scenes_urls__WEBPACK_IMPORTED_MODULE_6__.j.action(action.id)),lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_3__.UJ.success("Action created"))}},"./frontend/src/scenes/activity/explore/defaults.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{w:()=>getDefaultEventsSceneQuery});var _queries_nodes_DataTable_utils__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/src/queries/nodes/DataTable/utils.ts"),_queries_schema__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/queries/schema.ts");let getDefaultEventsSceneQuery=properties=>({kind:_queries_schema__WEBPACK_IMPORTED_MODULE_1__.OH.DataTableNode,full:!0,source:{kind:_queries_schema__WEBPACK_IMPORTED_MODULE_1__.OH.EventsQuery,select:(0,_queries_nodes_DataTable_utils__WEBPACK_IMPORTED_MODULE_0__.Qi)(_queries_schema__WEBPACK_IMPORTED_MODULE_1__.OH.EventsQuery),orderBy:["timestamp DESC"],after:"-24h",...properties?{properties}:{}},propertiesViaUrl:!0,showSavedQueries:!0,showPersistentColumnConfigurator:!0})},"./frontend/src/scenes/activity/live/liveEventsTableLogic.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{z:()=>liveEventsTableLogic});var _microsoft_fetch_event_source__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/.pnpm/@microsoft+fetch-event-source@2.0.1/node_modules/@microsoft/fetch-event-source/lib/esm/fetch.js"),_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),kea__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),lib_utils_apiHost__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/utils/apiHost.ts"),scenes_teamLogic__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/scenes/teamLogic.tsx"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let ERROR_TOAST_ID="live-stream-error",liveEventsTableLogic=(0,kea__WEBPACK_IMPORTED_MODULE_1__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_1__.path)(["scenes","activity","live-events","liveEventsTableLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_1__.props)({}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.connect)({values:[scenes_teamLogic__WEBPACK_IMPORTED_MODULE_2__.H,["currentTeam"]]}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.actions)(()=>({addEvents:events=>({events}),clearEvents:!0,setFilters:filters=>({filters}),updateEventsConnection:!0,pauseStream:!0,resumeStream:!0,setCurEventProperties:curEventProperties=>({curEventProperties}),setClientSideFilters:clientSideFilters=>({clientSideFilters}),pollStats:!0,setStats:stats=>({stats}),addEventHost:eventHost=>({eventHost})})),(0,kea__WEBPACK_IMPORTED_MODULE_1__.reducers)({events:[[],{addEvents:(state,_ref)=>{let{events}=_ref,newState=[...events,...state];return newState.length>500?newState.slice(0,400):newState},clearEvents:()=>[]}],filters:[{eventType:null},{setFilters:(state,_ref2)=>{let{filters}=_ref2;return{...state,...filters}}}],clientSideFilters:[{},{setClientSideFilters:(_,_ref3)=>{let{clientSideFilters}=_ref3;return clientSideFilters}}],streamPaused:[!1,{pauseStream:()=>!0,resumeStream:()=>!1}],curEventProperties:[[],{setCurEventProperties:(_,_ref4)=>{let{curEventProperties}=_ref4;return curEventProperties}}],stats:[{users_on_product:null},{setStats:(_,_ref5)=>{let{stats}=_ref5;return stats}}],lastBatchTimestamp:[null,{addEvents:(state,_ref6)=>{let{events}=_ref6;return events.length>0?performance.now():state}}],eventHosts:[[],{addEventHost:(state,_ref7)=>{let{eventHost}=_ref7;return state.includes(eventHost)?state:[...state,eventHost]}}]}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.selectors)(_ref8=>{let{selectors}=_ref8;return{eventCount:[()=>[selectors.events],events=>events.length],filteredEvents:[s=>[s.events,s.clientSideFilters],(events,clientSideFilters)=>events.filter(event=>Object.entries(clientSideFilters).every(_ref9=>{let[key,value]=_ref9;return event[key]===value}))]}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.listeners)(_ref10=>{let{actions,values,cache,props}=_ref10;return{setFilters:()=>{actions.clearEvents(),actions.updateEventsConnection()},updateEventsConnection:async()=>{if(cache.eventSourceController&&cache.eventSourceController.abort(),values.streamPaused||!values.currentTeam)return;let{eventType}=values.filters,url=new URL(`${(0,lib_utils_apiHost__WEBPACK_IMPORTED_MODULE_4__.K)()}/events`);eventType&&url.searchParams.append("eventType",eventType),cache.batch=[],cache.eventSourceController=new AbortController,await (0,_microsoft_fetch_event_source__WEBPACK_IMPORTED_MODULE_5__.L)(url.toString(),{headers:{Authorization:`Bearer ${values.currentTeam.live_events_token}`},signal:cache.eventSourceController.signal,onmessage:event=>{_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.dismiss(ERROR_TOAST_ID);let eventData=JSON.parse(event.data);cache.batch.push(eventData),(cache.batch.length>=10||performance.now()-(values.lastBatchTimestamp||0)>300)&&(actions.addEvents(cache.batch),cache.batch.length=0)},onerror:error=>{!cache.hasShownLiveStreamErrorToast&&props.showLiveStreamErrorToast&&(console.error("Failed to poll events. You likely have no events coming in.",error),_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.error(`No live events found. Continuing to retry in the background…`,{icon:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.$j,{}),toastId:ERROR_TOAST_ID,autoClose:!1}),cache.hasShownLiveStreamErrorToast=!0)}})},pauseStream:()=>{cache.eventSourceController&&cache.eventSourceController.abort()},resumeStream:()=>{actions.updateEventsConnection()},pollStats:async()=>{try{if(!values.currentTeam)return;let response=await fetch(`${(0,lib_utils_apiHost__WEBPACK_IMPORTED_MODULE_4__.K)()}/stats`,{headers:{Authorization:`Bearer ${values.currentTeam.live_events_token}`}}),data=await response.json();actions.setStats(data)}catch(error){console.error("Failed to poll stats:",error)}},addEvents:_ref11=>{let{events}=_ref11;if(events.length>0){let event=events[0],eventUrl=event.properties?.$current_url;if(eventUrl){let eventHost=new URL(eventUrl).host,eventProtocol=new URL(eventUrl).protocol;actions.addEventHost(`${eventProtocol}//${eventHost}`)}}}}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.events)(_ref12=>{let{actions,cache}=_ref12;return{afterMount:()=>{actions.updateEventsConnection(),cache.statsInterval=setInterval(()=>{actions.pollStats()},1500)},beforeUnmount:()=>{cache.eventSourceController&&cache.eventSourceController.abort(),cache.statsInterval&&clearInterval(cache.statsInterval)}}})])},"./frontend/src/scenes/annotations/AnnotationModal.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{h:()=>AnnotationModal,i:()=>NewAnnotationButton});var _posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),kea__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_forms__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-forms@3.2.0_kea@3.1.5/node_modules/kea-forms/lib/index.js"),lib_lemon_ui_LemonField__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonField/index.ts"),lib_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/utils.tsx"),scenes_urls__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/scenes/urls.ts"),_types__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/types.ts"),_annotationModalLogic__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/scenes/annotations/annotationModalLogic.ts"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function NewAnnotationButton(){let{openModalToCreateAnnotation}=(0,kea__WEBPACK_IMPORTED_MODULE_1__.useActions)(_annotationModalLogic__WEBPACK_IMPORTED_MODULE_7__.bE);return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.Jp,{type:"primary","data-attr":"create-annotation",onClick:()=>openModalToCreateAnnotation(),children:"New annotation"})}function AnnotationModal(_ref){let{overlayRef,contentRef}=_ref,{isModalOpen,existingModalAnnotation,annotationModal,isAnnotationModalSubmitting,onSavedInsight,timezone}=(0,kea__WEBPACK_IMPORTED_MODULE_1__.useValues)(_annotationModalLogic__WEBPACK_IMPORTED_MODULE_7__.bE),{closeModal,deleteAnnotation,submitAnnotationModal}=(0,kea__WEBPACK_IMPORTED_MODULE_1__.useActions)(_annotationModalLogic__WEBPACK_IMPORTED_MODULE_7__.bE);return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.fQ,{overlayRef:overlayRef,contentRef:contentRef,isOpen:isModalOpen,onClose:closeModal,title:existingModalAnnotation?"Edit annotation":"New annotation",description:"Use annotations to add context to insights and dashboards.",footer:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("div",{className:"flex-1 flex items-center justify-between",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)("div",{className:"flex items-center gap-2",children:existingModalAnnotation&&(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.Jp,{form:"annotation-modal-form",type:"secondary",status:"danger",onClick:()=>{deleteAnnotation(existingModalAnnotation),closeModal()},"data-attr":"delete-annotation",children:"Delete annotation"})}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("div",{className:"flex items-center gap-2",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.Jp,{form:"annotation-modal-form",type:"secondary",onClick:closeModal,children:"Cancel"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.Jp,{form:"annotation-modal-form",htmlType:"submit",type:"primary",loading:isAnnotationModalSubmitting,"data-attr":"create-annotation-submit",children:existingModalAnnotation?"Edit":"Create"})]})]}),width:512,children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)(kea_forms__WEBPACK_IMPORTED_MODULE_2__.Form,{logic:_annotationModalLogic__WEBPACK_IMPORTED_MODULE_7__.bE,formKey:"annotationModal",id:"annotation-modal-form",enableFormOnSubmit:!0,className:"space-y-4",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("div",{className:"flex gap-2",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(lib_lemon_ui_LemonField__WEBPACK_IMPORTED_MODULE_3__.D,{name:"dateMarker",label:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("span",{children:["Date\xa0and\xa0time (",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.rU,{to:scenes_urls__WEBPACK_IMPORTED_MODULE_5__.j.settings("project","date-and-time"),target:"_blank",children:(0,lib_utils__WEBPACK_IMPORTED_MODULE_4__.ig)(timezone)}),")"]}),className:"flex-1",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.he,{granularity:"minute"})}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(lib_lemon_ui_LemonField__WEBPACK_IMPORTED_MODULE_3__.D,{name:"scope",label:"Scope",className:"flex-1",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.Yv,{options:[{value:_types__WEBPACK_IMPORTED_MODULE_6__.dc.Insight,label:_annotationModalLogic__WEBPACK_IMPORTED_MODULE_7__.B3[_types__WEBPACK_IMPORTED_MODULE_6__.dc.Insight],tooltip:existingModalAnnotation?.insight_name?existingModalAnnotation.insight_name:existingModalAnnotation?.insight_derived_name?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)("i",{children:existingModalAnnotation.insight_derived_name}):void 0,disabledReason:!onSavedInsight&&"You need to save the insight first."||(existingModalAnnotation?!existingModalAnnotation?.dashboard_item&&"To select this scope, open this annotation on the target insight":void 0),sideIcon:existingModalAnnotation?.insight_short_id?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.rU,{to:scenes_urls__WEBPACK_IMPORTED_MODULE_5__.j.insightView(existingModalAnnotation?.insight_short_id),target:"_blank",targetBlankIcon:!0}):null},{value:_types__WEBPACK_IMPORTED_MODULE_6__.dc.Dashboard,label:_annotationModalLogic__WEBPACK_IMPORTED_MODULE_7__.B3[_types__WEBPACK_IMPORTED_MODULE_6__.dc.Dashboard],tooltip:existingModalAnnotation?.dashboard_name,disabledReason:!annotationModal.dashboardId&&"To select this scope, open this annotation on the target dashboard"||existingModalAnnotation?.scope===_types__WEBPACK_IMPORTED_MODULE_6__.dc.Dashboard&&"Already scoped to dashboard"||(existingModalAnnotation&&existingModalAnnotation?.dashboard_name?annotationModal.dashboardId!=existingModalAnnotation.dashboard_id&&`To select this scope, open this annotation on the ${existingModalAnnotation?.dashboard_name} dashboard`:void 0),sideIcon:existingModalAnnotation?.dashboard_id&&existingModalAnnotation?.scope!==_types__WEBPACK_IMPORTED_MODULE_6__.dc.Dashboard&&existingModalAnnotation.dashboard_id!==annotationModal.dashboardId?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.rU,{to:scenes_urls__WEBPACK_IMPORTED_MODULE_5__.j.dashboard(existingModalAnnotation?.dashboard_id),target:"_blank",targetBlankIcon:!0}):null},{value:_types__WEBPACK_IMPORTED_MODULE_6__.dc.Project,label:_annotationModalLogic__WEBPACK_IMPORTED_MODULE_7__.B3[_types__WEBPACK_IMPORTED_MODULE_6__.dc.Project]},{value:_types__WEBPACK_IMPORTED_MODULE_6__.dc.Organization,label:_annotationModalLogic__WEBPACK_IMPORTED_MODULE_7__.B3[_types__WEBPACK_IMPORTED_MODULE_6__.dc.Organization]}],fullWidth:!0})})]}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(lib_lemon_ui_LemonField__WEBPACK_IMPORTED_MODULE_3__.D,{name:"content",label:"Content",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__._V,{placeholder:"What's this annotation about?",onPressCmdEnter:submitAnnotationModal,"data-attr":"create-annotation-input",maxLength:400})})]})})}},"./frontend/src/scenes/annotations/annotationModalLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{B3:()=>annotationScopeToName,bE:()=>annotationModalLogic,nO:()=>annotationScopeToLevel,yD:()=>ANNOTATION_DAYJS_FORMAT});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_forms__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea-forms@3.2.0_kea@3.1.5/node_modules/kea-forms/lib/index.js"),kea_router__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),lib_api__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/api.ts"),lib_dayjs__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/dayjs.ts"),lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),scenes_teamLogic__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/scenes/teamLogic.tsx"),scenes_urls__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/scenes/urls.ts"),scenes_userLogic__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./frontend/src/scenes/userLogic.ts"),_models_annotationsModel__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./frontend/src/models/annotationsModel.ts"),_types__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__("./frontend/src/types.ts");let ANNOTATION_DAYJS_FORMAT="MMMM\xa0DD,\xa0YYYY h:mm\xa0A",annotationScopeToName={[_types__WEBPACK_IMPORTED_MODULE_10__.dc.Insight]:"Insight",[_types__WEBPACK_IMPORTED_MODULE_10__.dc.Dashboard]:"Dashboard",[_types__WEBPACK_IMPORTED_MODULE_10__.dc.Project]:"Project",[_types__WEBPACK_IMPORTED_MODULE_10__.dc.Organization]:"Organization"},annotationScopeToLevel={[_types__WEBPACK_IMPORTED_MODULE_10__.dc.Insight]:0,[_types__WEBPACK_IMPORTED_MODULE_10__.dc.Dashboard]:1,[_types__WEBPACK_IMPORTED_MODULE_10__.dc.Project]:2,[_types__WEBPACK_IMPORTED_MODULE_10__.dc.Organization]:3},annotationModalLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(["scenes","annotations","annotationModalLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.connect)({actions:[_models_annotationsModel__WEBPACK_IMPORTED_MODULE_9__.AT,["loadAnnotationsNext","loadAnnotationsSuccess","replaceAnnotation","appendAnnotations","deleteAnnotation"]],values:[_models_annotationsModel__WEBPACK_IMPORTED_MODULE_9__.AT,["annotations","annotationsLoading","next","loadingNext"],scenes_teamLogic__WEBPACK_IMPORTED_MODULE_6__.H,["timezone"],scenes_userLogic__WEBPACK_IMPORTED_MODULE_8__.userLogic,["user"],lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_5__.h,["featureFlags"]]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)({openModalToCreateAnnotation:(initialDate,insightId,dashboardId)=>({initialDate,insightId,dashboardId}),openModalToEditAnnotation:(annotation,insightId,dashboardId)=>({annotation,insightId,dashboardId}),closeModal:!0}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)(()=>({isModalOpen:[!1,{openModalToCreateAnnotation:()=>!0,openModalToEditAnnotation:()=>!0,closeModal:()=>!1}],existingModalAnnotation:[null,{openModalToCreateAnnotation:()=>null,openModalToEditAnnotation:(_,_ref)=>{let{annotation}=_ref;return annotation}}],onSavedInsight:[!1,{openModalToCreateAnnotation:(_,_ref2)=>{let{insightId}=_ref2;return!!insightId},openModalToEditAnnotation:(_,_ref3)=>{let{insightId}=_ref3;return!!insightId}}]})),(0,kea__WEBPACK_IMPORTED_MODULE_0__.listeners)(_ref4=>{let{cache,actions,values}=_ref4;return{openModalToEditAnnotation:_ref5=>{let{annotation:{date_marker,scope,content},insightId,dashboardId}=_ref5;actions.setAnnotationModalValues({dateMarker:(0,lib_dayjs__WEBPACK_IMPORTED_MODULE_4__.Bv)(date_marker).tz(values.timezone),scope,content}),insightId&&actions.setAnnotationModalValue("dashboardItemId",insightId),dashboardId&&actions.setAnnotationModalValue("dashboardId",dashboardId)},openModalToCreateAnnotation:_ref6=>{let{initialDate,insightId,dashboardId}=_ref6;actions.resetAnnotationModal(),initialDate&&actions.setAnnotationModalValue("dateMarker",initialDate),insightId&&actions.setAnnotationModalValue("dashboardItemId",insightId),dashboardId&&actions.setAnnotationModalValue("dashboardId",dashboardId)},loadAnnotationsSuccess:_ref7=>{let{rawAnnotations}=_ref7;if(!values.isModalOpen&&cache.annotationToShowId){let annotation=rawAnnotations.find(a=>a.id===cache.annotationToShowId);if(!annotation)return;actions.openModalToEditAnnotation((0,_models_annotationsModel__WEBPACK_IMPORTED_MODULE_9__.vH)(annotation,scenes_teamLogic__WEBPACK_IMPORTED_MODULE_6__.H.values.timezone)),delete cache.annotationToShowId}}}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.selectors)(()=>({shouldShowEmptyState:[s=>[s.annotations,s.annotationsLoading],(annotations,annotationsLoading)=>0===annotations.length&&!annotationsLoading]})),(0,kea_forms__WEBPACK_IMPORTED_MODULE_1__.forms)(_ref8=>{let{actions,values}=_ref8;return{annotationModal:{defaults:{dateMarker:(0,lib_dayjs__WEBPACK_IMPORTED_MODULE_4__.Bv)().tz(values.timezone),content:"",scope:_types__WEBPACK_IMPORTED_MODULE_10__.dc.Project,dashboardItemId:null,dashboardId:null},errors:_ref9=>{let{content}=_ref9;return{content:content?.trim()?null:"An annotation must have text content."}},submit:async data=>{let{dateMarker,content,scope,dashboardItemId,dashboardId}=data;if(values.existingModalAnnotation){let updatedAnnotation=await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.annotations.update(values.existingModalAnnotation.id,{date_marker:dateMarker.toISOString(),content,scope,dashboard_item:dashboardItemId,dashboard_id:values.existingModalAnnotation.dashboard_id});actions.replaceAnnotation(updatedAnnotation)}else{let createdAnnotation=await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.annotations.create({date_marker:dateMarker.toISOString(),content,scope,dashboard_item:dashboardItemId,dashboard_id:dashboardId});actions.appendAnnotations([createdAnnotation])}actions.closeModal()}}}}),(0,kea_router__WEBPACK_IMPORTED_MODULE_2__.urlToAction)(_ref10=>{let{values,actions,cache}=_ref10;return{[scenes_urls__WEBPACK_IMPORTED_MODULE_7__.j.annotation(":id")]:_ref11=>{let{id}=_ref11;cache.annotationToShowId=parseInt(id);let annotation=values.annotations.find(a=>a.id===cache.annotationToShowId);annotation&&actions.openModalToEditAnnotation(annotation)}}})])},"./frontend/src/scenes/authentication/loginLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{l:()=>loginLogic,w:()=>handleLoginRedirect});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_forms__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea-forms@3.2.0_kea@3.1.5/node_modules/kea-forms/lib/index.js"),kea_loaders__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-loaders@3.0.0_kea@3.1.5/node_modules/kea-loaders/lib/index.js"),kea_router__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),lib_api__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/api.ts"),lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),scenes_PreflightCheck_preflightLogic__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/scenes/PreflightCheck/preflightLogic.tsx"),scenes_urls__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/scenes/urls.ts");function handleLoginRedirect(){let nextURL="/";try{let nextPath=kea_router__WEBPACK_IMPORTED_MODULE_3__.router.values.searchParams.next||"/",url=new URL(nextPath.startsWith("/")?location.origin+nextPath:nextPath);("http:"===url.protocol||"https:"===url.protocol)&&(nextURL=url.pathname+url.search+(0,kea_router__WEBPACK_IMPORTED_MODULE_3__.encodeParams)(kea_router__WEBPACK_IMPORTED_MODULE_3__.router.values.hashParams,"#"))}catch(e){}kea_router__WEBPACK_IMPORTED_MODULE_3__.router.actions.replace(nextURL)}let loginLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(["scenes","authentication","loginLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.connect)({values:[scenes_PreflightCheck_preflightLogic__WEBPACK_IMPORTED_MODULE_6__.preflightLogic,["preflight"],lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_5__.h,["featureFlags"]]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)({setGeneralError:(code,detail)=>({code,detail}),clearGeneralError:!0}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)({generalError:[null,{setGeneralError:(_,error)=>error,clearGeneralError:()=>null}]}),(0,kea_loaders__WEBPACK_IMPORTED_MODULE_2__.loaders)(()=>({precheckResponse:[{status:"pending"},{precheck:async(_ref,breakpoint)=>{let{email}=_ref;if(!email)return{status:"pending"};breakpoint();let response=await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.create("api/login/precheck",{email});return{status:"completed",...response}}}]})),(0,kea_forms__WEBPACK_IMPORTED_MODULE_1__.forms)(_ref2=>{let{actions,values}=_ref2;return{login:{defaults:{email:"",password:""},errors:_ref3=>{let{email,password}=_ref3;return{email:email?void 0:"Please enter your email to continue",password:password?void 0:"Please enter your password to continue"}},submit:async(_ref4,breakpoint)=>{let{email,password}=_ref4;breakpoint();try{return await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.create("api/login",{email,password})}catch(e){let{code}=e,{detail}=e;if("2fa_required"===code)throw kea_router__WEBPACK_IMPORTED_MODULE_3__.router.actions.push(scenes_urls__WEBPACK_IMPORTED_MODULE_7__.j.login2FA()),e;throw"invalid_credentials"===code&&values.preflight?.cloud&&(detail+=" Make sure you have selected the right data region."),actions.setGeneralError(code,detail),e}}}}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.listeners)({submitLoginSuccess:()=>{handleLoginRedirect(),window.location.reload()}}),(0,kea_router__WEBPACK_IMPORTED_MODULE_3__.urlToAction)(_ref5=>{let{actions}=_ref5;return{"/login":(_,_ref6)=>{let{error_code,error_detail,email}=_ref6;error_code&&(actions.setGeneralError(error_code,error_detail),kea_router__WEBPACK_IMPORTED_MODULE_3__.router.actions.replace("/login",{})),email&&(actions.setLoginValue("email",email),actions.precheck({email}))}}})])},"./frontend/src/scenes/authentication/signup/verify-email/verifyEmailLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{C:()=>verifyEmailLogic});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_loaders__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea-loaders@3.0.0_kea@3.1.5/node_modules/kea-loaders/lib/index.js"),kea_router__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),lib_api__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/api.ts"),lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonToast/LemonToast.tsx");let verifyEmailLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(["scenes","authentication","verifyEmailLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)({setView:view=>({view}),setUuid:uuid=>({uuid}),requestVerificationLink:uuid=>({uuid}),validateEmailTokenSuccess:response=>({response})}),(0,kea_loaders__WEBPACK_IMPORTED_MODULE_1__.loaders)(_ref=>{let{actions}=_ref;return{validatedEmailToken:[null,{validateEmailToken:async(_ref2,breakpoint)=>{let{uuid,token}=_ref2;try{return await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.create("api/users/verify_email/",{token,uuid}),actions.setView("success"),await breakpoint(2e3),window.location.href="/",{success:!0,token,uuid}}catch(e){return actions.setView("invalid"),{success:!1,errorCode:e.code,errorDetail:e.detail}}}}],newlyRequestedVerificationLink:[null,{requestVerificationLink:async _ref3=>{let{uuid}=_ref3;try{return await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.create("api/users/request_email_verification/",{uuid}),lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_4__.UJ.success("A new verification link has been sent to the associated email address. Please check your inbox."),!0}catch(e){if("throttled"===e.code)return lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_4__.UJ.error("You have requested a new verification link too many times. Please try again later."),!1;return lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_4__.UJ.error("Requesting verification link failed. Please try again later or contact support."),!1}}}]}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)({view:[null,{setView:(_,_ref4)=>{let{view}=_ref4;return view}}],uuid:[null,{setUuid:(_,_ref5)=>{let{uuid}=_ref5;return uuid}}]}),(0,kea_router__WEBPACK_IMPORTED_MODULE_2__.urlToAction)(_ref6=>{let{actions}=_ref6;return{"/verify_email/:uuid":_ref7=>{let{uuid}=_ref7;uuid&&(actions.setUuid(uuid),actions.setView("pending"))},"/verify_email/:uuid/:token":_ref8=>{let{uuid,token}=_ref8;token&&uuid&&(actions.setUuid(uuid),actions.setView("verify"),actions.validateEmailToken({uuid,token}))},"/verify_email":()=>{actions.setView("invalid")}}})])},"./frontend/src/scenes/authentication/twoFactorLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{e:()=>twoFactorLogic});var _posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),kea__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_forms__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-forms@3.2.0_kea@3.1.5/node_modules/kea-forms/lib/index.js"),kea_loaders__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/.pnpm/kea-loaders@3.0.0_kea@3.1.5/node_modules/kea-loaders/lib/index.js"),lib_api__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/api.ts"),lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),scenes_organization_membersLogic__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/scenes/organization/membersLogic.tsx"),scenes_PreflightCheck_preflightLogic__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/scenes/PreflightCheck/preflightLogic.tsx"),scenes_userLogic__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./frontend/src/scenes/userLogic.ts");let twoFactorLogic=(0,kea__WEBPACK_IMPORTED_MODULE_1__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_1__.path)(["scenes","authentication","loginLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_1__.props)({}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.connect)({values:[scenes_PreflightCheck_preflightLogic__WEBPACK_IMPORTED_MODULE_7__.preflightLogic,["preflight"],lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_5__.h,["featureFlags"],scenes_userLogic__WEBPACK_IMPORTED_MODULE_8__.userLogic,["user"]],actions:[scenes_userLogic__WEBPACK_IMPORTED_MODULE_8__.userLogic,["loadUser"],scenes_organization_membersLogic__WEBPACK_IMPORTED_MODULE_6__.m,["loadAllMembers"]]}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.actions)({setGeneralError:(code,detail)=>({code,detail}),clearGeneralError:!0,loadStatus:!0,generateBackupCodes:!0,disable2FA:!0,openTwoFactorSetupModal:forceOpen=>({forceOpen}),closeTwoFactorSetupModal:!0,toggleDisable2FAModal:open1=>({open:open1}),toggleBackupCodesModal:open1=>({open:open1})}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.reducers)({isTwoFactorSetupModalOpen:[!1,{openTwoFactorSetupModal:()=>!0,closeTwoFactorSetupModal:()=>!1}],forceOpenTwoFactorSetupModal:[!1,{openTwoFactorSetupModal:(_,_ref)=>{let{forceOpen}=_ref;return!!forceOpen},closeTwoFactorSetupModal:()=>!1}],isDisable2FAModalOpen:[!1,{toggleDisable2FAModal:(_,_ref2)=>{let{open:open1}=_ref2;return open1}}],isBackupCodesModalOpen:[!1,{toggleBackupCodesModal:(_,_ref3)=>{let{open:open1}=_ref3;return open1}}],generalError:[null,{setGeneralError:(_,error)=>error,clearGeneralError:()=>null}],status:[null,{loadStatusSuccess:(_,_ref4)=>{let{status}=_ref4;return status},generateBackupCodesSuccess:(state,_ref5)=>{let{generatingCodes}=_ref5;return state?{...state,backup_codes:generatingCodes?.backup_codes||state.backup_codes}:null}}]}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.selectors)({is2FAEnabled:[s=>[s.status],status=>!!status?.is_enabled]}),(0,kea_loaders__WEBPACK_IMPORTED_MODULE_3__.loaders)(()=>({startSetup:[{},{openTwoFactorSetupModal:async(_,breakpoint)=>(breakpoint(),await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.get("api/users/@me/two_factor_start_setup/"),{status:"completed"})}],status:[null,{loadStatus:async()=>await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.get("api/users/@me/two_factor_status/")}],generatingCodes:[null,{generateBackupCodes:async()=>await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.create("api/users/@me/two_factor_backup_codes/")}]})),(0,kea_forms__WEBPACK_IMPORTED_MODULE_2__.forms)(_ref6=>{let{actions}=_ref6;return{token:{defaults:{token:null},errors:_ref7=>{let{token}=_ref7;return{token:token?void 0:"Please enter a token to continue"}},submit:async(_ref8,breakpoint)=>{let{token}=_ref8;breakpoint();try{return await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.create("api/users/@me/two_factor_validate/",{token})}catch(e){let{code,detail}=e;throw actions.setGeneralError(code,detail),e}}}}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.listeners)(_ref9=>{let{props,actions}=_ref9;return{submitTokenSuccess:()=>{_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.success("2FA method added successfully"),actions.loadStatus(),props.onSuccess?.()},disable2FA:async()=>{try{await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.create("api/users/@me/two_factor_disable/"),_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.success("2FA disabled successfully"),actions.loadStatus(),actions.loadUser(),actions.loadAllMembers()}catch(e){let{code,detail}=e;throw actions.setGeneralError(code,detail),e}},generateBackupCodesSuccess:()=>{_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.success("Backup codes generated successfully")},closeTwoFactorSetupModal:()=>{actions.resetToken()}}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.afterMount)(_ref10=>{let{actions,values}=_ref10;actions.loadStatus(),values.user&&values.user.organization?.enforce_2fa&&!values.user.is_2fa_enabled&&actions.openTwoFactorSetupModal(!0)})])},"./frontend/src/scenes/billing/Billing.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{Billing:()=>Billing_Billing,scene:()=>scene}),__webpack_require__("./frontend/src/scenes/billing/Billing.scss");var src=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),clsx_m=__webpack_require__("./node_modules/.pnpm/clsx@1.2.1/node_modules/clsx/dist/clsx.m.js"),index_esm=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),lib=__webpack_require__("./node_modules/.pnpm/kea-forms@3.2.0_kea@3.1.5/node_modules/kea-forms/lib/index.js"),kea_router_lib=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),RestrictedArea=__webpack_require__("./frontend/src/lib/components/RestrictedArea.tsx"),supportLogic=__webpack_require__("./frontend/src/lib/components/Support/supportLogic.ts"),constants=__webpack_require__("./frontend/src/lib/constants.tsx"),dayjs=__webpack_require__("./frontend/src/lib/dayjs.ts"),useResizeObserver=__webpack_require__("./frontend/src/lib/hooks/useResizeObserver.ts"),LemonBanner=__webpack_require__("./frontend/src/lib/lemon-ui/LemonBanner/index.ts"),LemonLabel=__webpack_require__("./frontend/src/lib/lemon-ui/LemonLabel/LemonLabel.tsx"),Spinner=__webpack_require__("./frontend/src/lib/lemon-ui/Spinner/Spinner.tsx"),utils=__webpack_require__("./frontend/src/lib/utils.tsx"),react=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/index.js"),preflightLogic=__webpack_require__("./frontend/src/scenes/PreflightCheck/preflightLogic.tsx"),urls=__webpack_require__("./frontend/src/scenes/urls.ts"),BillingUpgradeCTA=__webpack_require__("./frontend/src/lib/components/BillingUpgradeCTA.tsx"),hedgehogs=__webpack_require__("./frontend/src/lib/components/hedgehogs.tsx"),featureFlagLogic=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),bundle_esm=__webpack_require__("./node_modules/.pnpm/use-resize-observer@8.0.0_react-dom@18.2.0_react@18.2.0/node_modules/use-resize-observer/dist/bundle.esm.js"),billingLogic=__webpack_require__("./frontend/src/scenes/billing/billingLogic.tsx"),billingProductLogic=__webpack_require__("./frontend/src/scenes/billing/billingProductLogic.ts"),paymentEntryLogic=__webpack_require__("./frontend/src/scenes/billing/paymentEntryLogic.ts"),PlanComparison=__webpack_require__("./frontend/src/scenes/billing/PlanComparison.tsx"),jsx_runtime=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let BillingCTAHero=_ref=>{let{product}=_ref,{width,ref:billingHeroRef}=(0,bundle_esm.Z)(),{featureFlags}=(0,index_esm.useValues)(featureFlagLogic.h),{showPaymentEntryModal}=(0,index_esm.useActions)(paymentEntryLogic.j),{redirectPath}=(0,index_esm.useValues)(billingLogic.kr),{isPlanComparisonModalOpen,billingProductLoading}=(0,index_esm.useValues)((0,billingProductLogic.cD)({product})),{toggleIsPlanComparisonModalOpen,setBillingProductLoading}=(0,index_esm.useActions)((0,billingProductLogic.cD)({product}));return(0,jsx_runtime.jsxs)("div",{className:"flex relative justify-between items-center rounded-lg bg-mark",ref:billingHeroRef,children:[(0,jsx_runtime.jsxs)("div",{className:"p-4",children:[(0,jsx_runtime.jsx)("h1",{className:"mb-0",children:"Get the whole hog."}),(0,jsx_runtime.jsx)("h1",{className:"text-danger",children:"Only pay for what you use."}),(0,jsx_runtime.jsxs)("div",{className:"mt-2 mb-0 max-w-xl",children:[(0,jsx_runtime.jsx)("p",{children:"PostHog comes with all product features on every plan."}),(0,jsx_runtime.jsx)("p",{children:"Add your credit card to remove usage limits and unlock all platform features. Set billing limits as low as $0 to control your spend."}),(0,jsx_runtime.jsx)("p",{className:"italic",children:"P.S. You still keep the monthly free allotment for every product!"})]}),(0,jsx_runtime.jsxs)("div",{className:"flex justify-start space-x-2",children:["test"==featureFlags[constants.y8.BILLING_PAYMENT_ENTRY_IN_APP]?(0,jsx_runtime.jsx)(BillingUpgradeCTA.y,{className:"mt-4 inline-block",type:"primary",status:"alt","data-attr":"billing-page-core-upgrade-cta",disableClientSideRouting:!0,loading:!!billingProductLoading,onClick:showPaymentEntryModal,children:"Upgrade now"}):(0,jsx_runtime.jsx)(BillingUpgradeCTA.y,{className:"mt-4 inline-block",to:`/api/billing/activate?products=all_products:&redirect_path=${redirectPath}`,type:"primary",status:"alt","data-attr":"billing-page-core-upgrade-cta",disableClientSideRouting:!0,loading:!!billingProductLoading,onClick:()=>setBillingProductLoading(product.type),children:"Upgrade now"}),(0,jsx_runtime.jsx)(src.Jp,{className:"mt-4 inline-block",onClick:()=>toggleIsPlanComparisonModalOpen(),type:"primary",children:"Compare plans"})]})]}),width&&width>500&&(0,jsx_runtime.jsx)("div",{className:"shrink-0 relative w-50 pt-4 overflow-hidden",children:(0,jsx_runtime.jsx)(hedgehogs.BlushingHog,{className:"w-50 h-50 -my-5"})}),(0,jsx_runtime.jsx)(PlanComparison.S0,{product:product,title:"Compare our plans",includeAddons:!1,modalOpen:isPlanComparisonModalOpen,onClose:()=>toggleIsPlanComparisonModalOpen()})]})};var BillingProduct=__webpack_require__("./frontend/src/scenes/billing/BillingProduct.tsx"),CreditCTAHero=__webpack_require__("./frontend/src/scenes/billing/CreditCTAHero.tsx"),react_stripe_umd=__webpack_require__("./node_modules/.pnpm/@stripe+react-stripe-js@2.8.0_@stripe+stripe-js@4.5.0_react-dom@18.2.0_react@18.2.0/node_modules/@stripe/react-stripe-js/dist/react-stripe.umd.js");let stripeJs=async()=>await __webpack_require__.e(19431).then(__webpack_require__.bind(__webpack_require__,"./node_modules/.pnpm/@stripe+stripe-js@4.5.0/node_modules/@stripe/stripe-js/lib/index.mjs")),PaymentForm=()=>{let{error,isLoading}=(0,index_esm.useValues)(paymentEntryLogic.j),{setError,hidePaymentEntryModal,pollAuthorizationStatus,setLoading}=(0,index_esm.useActions)(paymentEntryLogic.j),stripe=(0,react_stripe_umd.useStripe)(),elements=(0,react_stripe_umd.useElements)(),handleSubmit=async event=>{if(event.preventDefault(),!stripe||!elements)return;setLoading(!0);let result=await stripe.confirmPayment({elements,confirmParams:{return_url:`${window.location.origin}/billing/authorization_status`},redirect:"if_required"});result.error?(setLoading(!1),setError(result.error.message)):pollAuthorizationStatus(result.paymentIntent.id)};return(0,jsx_runtime.jsxs)("div",{children:[(0,jsx_runtime.jsx)(react_stripe_umd.PaymentElement,{}),(0,jsx_runtime.jsx)("p",{className:"text-xs text-muted mt-0.5",children:"Your card will not be charged but we place a $0.50 hold on it to verify your card that will be released in 7 days."}),error&&(0,jsx_runtime.jsx)("div",{className:"error",children:error}),(0,jsx_runtime.jsxs)("div",{className:"flex justify-end space-x-2 mt-2",children:[(0,jsx_runtime.jsx)(src.Jp,{disabled:isLoading,type:"secondary",onClick:hidePaymentEntryModal,children:"Cancel"}),(0,jsx_runtime.jsx)(src.Jp,{loading:isLoading,type:"primary",onClick:event=>void handleSubmit(event),children:"Submit"})]})]})},PaymentEntryModal=_ref=>{let{redirectPath=urls.j.organizationBilling()}=_ref,{clientSecret,paymentEntryModalOpen}=(0,index_esm.useValues)(paymentEntryLogic.j),{hidePaymentEntryModal,initiateAuthorization}=(0,index_esm.useActions)(paymentEntryLogic.j),[stripePromise,setStripePromise]=(0,react.useState)(null);return(0,react.useEffect)(()=>{if(paymentEntryModalOpen&&!stripePromise){let loadStripeJs=async()=>{let{loadStripe}=await stripeJs(),publicKey=window.STRIPE_PUBLIC_KEY;setStripePromise(await loadStripe(publicKey))};loadStripeJs()}},[paymentEntryModalOpen,stripePromise]),(0,react.useEffect)(()=>{paymentEntryModalOpen&&initiateAuthorization(redirectPath)},[paymentEntryModalOpen,initiateAuthorization,redirectPath]),(0,jsx_runtime.jsx)(src.fQ,{onClose:hidePaymentEntryModal,width:"max(44vw)",isOpen:paymentEntryModalOpen,title:"Add your payment details to subscribe",description:"",children:(0,jsx_runtime.jsx)("div",{children:clientSecret?(0,jsx_runtime.jsx)(react_stripe_umd.Elements,{stripe:stripePromise,options:{clientSecret},children:(0,jsx_runtime.jsx)(PaymentForm,{})}):(0,jsx_runtime.jsxs)("div",{className:"min-h-80 flex flex-col justify-center items-center",children:[(0,jsx_runtime.jsx)("p",{className:"text-muted text-md mt-4",children:"We're contacting the Hedgehogs for approval."}),(0,jsx_runtime.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,jsx_runtime.jsx)("div",{className:"text-4xl",children:(0,jsx_runtime.jsx)(src.$j,{})}),(0,jsx_runtime.jsx)(hedgehogs.WavingHog,{className:"w-18 h-18"})]})]})})})},UnsubscribeCard=_ref=>{let{product}=_ref,{reportSurveyShown,setSurveyResponse}=(0,index_esm.useActions)((0,billingProductLogic.cD)({product})),{openSupportForm}=(0,index_esm.useActions)(supportLogic.Pw);return(0,jsx_runtime.jsx)("div",{className:"p-5 gap-4 flex",children:(0,jsx_runtime.jsxs)("div",{className:"",children:[(0,jsx_runtime.jsx)("h3",{children:"Need to take a break?"}),(0,jsx_runtime.jsx)("p",{className:"mb-2",children:"Downgrade to the free plan at any time. You'll lose access to platform features and usage limits will apply immediately."}),(0,jsx_runtime.jsxs)("p",{className:"",children:["Need to control your costs? Learn about ways to"," ",(0,jsx_runtime.jsx)(src.rU,{to:"https://posthog.com/docs/billing/estimating-usage-costs#how-to-reduce-your-posthog-costs?utm_source=app-unsubscribe",target:"_blank",children:"reduce your bill"})," ","or"," ",(0,jsx_runtime.jsx)(src.rU,{to:"",onClick:()=>openSupportForm({target_area:"billing",isEmailFormOpen:!0}),children:"chat with support."})," ","Check out more about our pricing on our"," ",(0,jsx_runtime.jsx)(src.rU,{to:"https://posthog.com/pricing",target:"_blank",children:"pricing page"}),"."]}),(0,jsx_runtime.jsx)(src.Jp,{status:"danger",type:"secondary",size:"small",onClick:()=>{setSurveyResponse("$survey_response_1",product.type),reportSurveyShown(constants.E1,product.type)},children:"Downgrade to free plan"})]})})},scene={component:Billing_Billing,logic:billingLogic.kr};function Billing_Billing(){let{billing,billingLoading,isOnboarding,showLicenseDirectInput,isActivateLicenseSubmitting,billingError}=(0,index_esm.useValues)(billingLogic.kr),{reportBillingShown}=(0,index_esm.useActions)(billingLogic.kr),{preflight,isCloudOrDev}=(0,index_esm.useValues)(preflightLogic.preflightLogic),{openSupportForm}=(0,index_esm.useActions)(supportLogic.Pw),restrictionReason=(0,RestrictedArea.U)({minimumAccessLevel:constants.Dk.Admin,scope:RestrictedArea.C.Organization});preflight&&!isCloudOrDev&&kea_router_lib.router.actions.push(urls.j.default()),(0,react.useEffect)(()=>{billing&&reportBillingShown()},[!!billing]);let{ref,size}=(0,useResizeObserver.S)({0:"small",1e3:"medium"});if(!billing&&billingLoading)return(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:(0,jsx_runtime.jsx)(Spinner.t,{sceneLevel:!0})});if(restrictionReason)return(0,jsx_runtime.jsxs)("div",{className:"space-y-4",children:[(0,jsx_runtime.jsx)("h1",{children:"Billing"}),(0,jsx_runtime.jsx)(LemonBanner.V,{type:"warning",children:restrictionReason}),(0,jsx_runtime.jsx)("div",{className:"flex",children:(0,jsx_runtime.jsx)(src.Jp,{type:"primary",to:urls.j.default(),children:"Go back home"})})]});if(!billing&&!billingLoading)return(0,jsx_runtime.jsx)("div",{className:"space-y-4",children:(0,jsx_runtime.jsxs)(LemonBanner.V,{type:"error",children:["There was an issue retrieving your current billing information. If this message persists, please ",preflight?.cloud?(0,jsx_runtime.jsx)(src.rU,{onClick:()=>openSupportForm({kind:"bug",target_area:"billing"}),children:"submit a bug report"}):(0,jsx_runtime.jsx)(src.rU,{to:"mailto:sales@posthog.com",children:"contact sales@posthog.com"}),"."]})});let products=billing?.products,platformAndSupportProduct=products?.find(product=>"platform_and_support"===product.type);return(0,jsx_runtime.jsxs)("div",{ref:ref,children:[(0,jsx_runtime.jsx)(PaymentEntryModal,{}),showLicenseDirectInput&&(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:(0,jsx_runtime.jsxs)(lib.Form,{logic:billingLogic.kr,formKey:"activateLicense",enableFormOnSubmit:!0,className:"space-y-4",children:[(0,jsx_runtime.jsx)(lib.Field,{name:"license",label:"Activate license key",children:(0,jsx_runtime.jsx)(src.DF,{fullWidth:!0,autoFocus:!0})}),(0,jsx_runtime.jsx)(src.Jp,{type:"primary",htmlType:"submit",loading:isActivateLicenseSubmitting,fullWidth:!0,center:!0,children:"Activate license key"})]})}),billingError&&(0,jsx_runtime.jsx)(LemonBanner.V,{type:billingError.status,className:"mb-2",action:billingError.action,children:billingError.message}),billing?.trial?(0,jsx_runtime.jsxs)(LemonBanner.V,{type:"info",className:"mb-2",children:["You are currently on a free trial for ",(0,jsx_runtime.jsxs)("b",{children:[(0,utils.wR)(billing.trial.target)," plan"]})," until"," ",(0,jsx_runtime.jsx)("b",{children:(0,dayjs.Bv)(billing.trial.expires_at).format("LL")}),". At the end of the trial"," ","autosubscribe"===billing.trial.type?"you will be automatically subscribed to the plan.":"you will be asked to subscribe. If you choose not to, you will lose access to the features."]}):null,!billing?.has_active_subscription&&platformAndSupportProduct&&(0,jsx_runtime.jsx)("div",{className:"mb-4",children:(0,jsx_runtime.jsx)(BillingCTAHero,{product:platformAndSupportProduct})}),(0,jsx_runtime.jsx)(CreditCTAHero.p,{}),(0,jsx_runtime.jsx)("div",{className:(0,clsx_m.default)("flex justify-between",{"flex-col gap-4":"small"===size,"flex-row":"small"!==size}),children:(0,jsx_runtime.jsxs)("div",{children:[(0,jsx_runtime.jsx)("div",{className:(0,clsx_m.default)("flex flex-wrap gap-6 w-fit mb-4",{"flex-col items-stretch":"small"===size,"items-center":"small"!==size}),children:!isOnboarding&&billing?.billing_period&&(0,jsx_runtime.jsx)("div",{className:"flex-1 pt-2",children:(0,jsx_runtime.jsxs)("div",{className:"space-y-4",children:[billing?.has_active_subscription&&(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:(0,jsx_runtime.jsxs)("div",{className:"flex flex-row gap-10 items-end",children:[(0,jsx_runtime.jsxs)("div",{children:[(0,jsx_runtime.jsx)(LemonLabel.H,{info:`This is the current amount you have been billed for this ${billing.billing_period.interval} so far. This number updates once daily.`,children:"Current bill total"}),(0,jsx_runtime.jsx)("div",{className:"font-bold text-6xl",children:billing.discount_percent?(0,utils.Cp)(billing.current_total_amount_usd_after_discount):(0,utils.Cp)(billing.current_total_amount_usd)})]}),billing?.discount_amount_usd&&(0,jsx_runtime.jsxs)("div",{children:[(0,jsx_runtime.jsx)(LemonLabel.H,{info:`The total credits remaining in your account. ${billing?.amount_off_expires_at?"Your credits expire on "+billing?.amount_off_expires_at?.format("LL"):null}`,className:"text-muted",children:"Available credits"}),(0,jsx_runtime.jsx)("div",{className:"font-semibold text-2xl text-muted",children:(0,utils.Cp)(billing?.discount_amount_usd,0)})]}),billing?.discount_percent&&(0,jsx_runtime.jsxs)("div",{children:[(0,jsx_runtime.jsx)(LemonLabel.H,{info:"The discount applied to your current bill, reflected in the total amount.",className:"text-muted",children:"Applied discount"}),(0,jsx_runtime.jsxs)("div",{className:"font-semibold text-2xl text-muted",children:[billing.discount_percent,"%"]})]})]})}),(0,jsx_runtime.jsxs)("div",{children:[(0,jsx_runtime.jsxs)("p",{className:"ml-0 mb-0",children:[billing?.has_active_subscription?"Billing period":"Cycle",":"," ",(0,jsx_runtime.jsx)("b",{children:billing.billing_period.current_period_start.format("LL")})," to"," ",(0,jsx_runtime.jsx)("b",{children:billing.billing_period.current_period_end.format("LL")})," (",billing.billing_period.current_period_end.diff((0,dayjs.Bv)(),"days")," days remaining)"]}),!billing.has_active_subscription&&(0,jsx_runtime.jsx)("p",{className:"italic ml-0 text-muted mb-0",children:"Monthly free allocation resets at the end of the cycle."})]})]})})}),!isOnboarding&&billing?.customer_id&&billing?.stripe_portal_url&&(0,jsx_runtime.jsx)("div",{className:"w-fit",children:(0,jsx_runtime.jsx)(src.Jp,{type:"primary",htmlType:"submit",to:billing.stripe_portal_url,disableClientSideRouting:!0,targetBlank:!0,center:!0,"data-attr":"manage-billing",children:billing.has_active_subscription?"Manage card details and invoices":"View past invoices"})})]})}),(0,jsx_runtime.jsx)(src.p2,{className:"mt-6 mb-8"}),(0,jsx_runtime.jsx)("div",{className:"flex justify-between mt-4",children:(0,jsx_runtime.jsx)("h2",{children:"Products"})}),products?.filter(product=>!product.inclusion_only||product.plans.some(plan=>!plan.included_if))?.map(x=>jsx_runtime.jsx("div",{children:jsx_runtime.jsx(BillingProduct.LB,{product:x})},x.type)),(0,jsx_runtime.jsx)("div",{children:billing?.subscription_level=="paid"&&platformAndSupportProduct?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(src.p2,{}),(0,jsx_runtime.jsx)(UnsubscribeCard,{product:platformAndSupportProduct})]}):null})]})}},"./frontend/src/scenes/billing/BillingGauge.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{V:()=>BillingGauge_BillingGauge});var injectStylesIntoStyleTag=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),injectStylesIntoStyleTag_default=__webpack_require__.n(injectStylesIntoStyleTag),BillingGauge=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/billing/BillingGauge.scss"),BillingGauge_default=__webpack_require__.n(BillingGauge),options={};options.insert="head",options.singleton=!1,injectStylesIntoStyleTag_default()(BillingGauge_default(),options),BillingGauge_default().locals;var clsx_m=__webpack_require__("./node_modules/.pnpm/clsx@1.2.1/node_modules/clsx/dist/clsx.m.js"),Tooltip=__webpack_require__("./frontend/src/lib/lemon-ui/Tooltip/index.ts"),utils=__webpack_require__("./frontend/src/lib/utils.tsx"),react=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/index.js"),jsx_runtime=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let BillingGaugeItem=_ref=>{let{item,maxValue,isWithinUsageLimit}=_ref,width=`${item.value/maxValue*100}%`;return(0,jsx_runtime.jsxs)("div",{className:(0,clsx_m.default)(`BillingGaugeItem BillingGaugeItem--${item.type}`,{"BillingGaugeItem--within-usage-limit":isWithinUsageLimit},"absolute top-0 left-0 bottom-0 h-2"),style:{"--billing-gauge-item-width":width},children:[(0,jsx_runtime.jsx)("div",{className:"absolute right-0 w-px h-full bg-bg-light"}),(0,jsx_runtime.jsx)(Tooltip.u,{title:item.prefix?`${item.prefix}${item.value.toLocaleString()}`:item.value.toLocaleString(),placement:"right",children:(0,jsx_runtime.jsxs)("div",{className:(0,clsx_m.default)("BillingGaugeItem__info",{"BillingGaugeItem__info--bottom":!item.top}),children:[(0,jsx_runtime.jsx)("b",{children:item.text}),(0,jsx_runtime.jsx)("div",{children:item.prefix?`${item.prefix}${(0,utils.JP)(item.value)}`:(0,utils.JP)(item.value)})]})})]})};function BillingGauge_BillingGauge(_ref2){let{items,product}=_ref2,maxValue=(0,react.useMemo)(()=>1.3*Math.max(100,...items.map(item=>item.value)),[items]),isWithinUsageLimit=product.percentage_usage<=1;return(0,jsx_runtime.jsx)("div",{className:"relative h-2 bg-border-light my-16",children:items.map((item,i)=>(0,jsx_runtime.jsx)(BillingGaugeItem,{item:item,maxValue:maxValue,isWithinUsageLimit:isWithinUsageLimit},i))})}},"./frontend/src/scenes/billing/BillingPopup.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{r:()=>openBillingPopupModal});var lib_lemon_ui_LemonDialog__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonDialog/index.ts"),_Billing__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/scenes/billing/Billing.tsx"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function openBillingPopupModal(){let{title="Unlock premium features",description}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};lib_lemon_ui_LemonDialog__WEBPACK_IMPORTED_MODULE_0__.d.open({title:title,description:description,content:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_Billing__WEBPACK_IMPORTED_MODULE_1__.Billing,{}),width:800,primaryButton:{children:"Maybe later...",type:"secondary"}})}},"./frontend/src/scenes/billing/BillingProduct.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{LB:()=>BillingProduct,F9:()=>FeatureFlagUsageNotice,Fk:()=>getTierDescription});var posthog_icons_es=__webpack_require__("./node_modules/.pnpm/@posthog+icons@0.9.2_react-dom@18.2.0_react@18.2.0/node_modules/@posthog/icons/dist/posthog-icons.es.js"),src=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),clsx_m=__webpack_require__("./node_modules/.pnpm/clsx@1.2.1/node_modules/clsx/dist/clsx.m.js"),index_esm=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),BillingUpgradeCTA=__webpack_require__("./frontend/src/lib/components/BillingUpgradeCTA.tsx"),constants=__webpack_require__("./frontend/src/lib/constants.tsx"),useResizeObserver=__webpack_require__("./frontend/src/lib/hooks/useResizeObserver.ts"),icons=__webpack_require__("./frontend/src/lib/lemon-ui/icons/index.ts"),LemonBanner=__webpack_require__("./frontend/src/lib/lemon-ui/LemonBanner/index.ts"),More=__webpack_require__("./frontend/src/lib/lemon-ui/LemonButton/More.tsx"),Tooltip=__webpack_require__("./frontend/src/lib/lemon-ui/Tooltip/index.ts"),featureFlagLogic=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),utils=__webpack_require__("./frontend/src/lib/utils.tsx"),eventUsageLogic=__webpack_require__("./frontend/src/lib/utils/eventUsageLogic.ts"),react=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/index.js"),Products=__webpack_require__("./frontend/src/scenes/products/Products.tsx"),types=__webpack_require__("./frontend/src/types.ts"),billing_utils=__webpack_require__("./frontend/src/scenes/billing/billing-utils.ts"),BillingGauge=__webpack_require__("./frontend/src/scenes/billing/BillingGauge.tsx"),lib=__webpack_require__("./node_modules/.pnpm/kea-forms@3.2.0_kea@3.1.5/node_modules/kea-forms/lib/index.js"),LemonField=__webpack_require__("./frontend/src/lib/lemon-ui/LemonField/index.ts"),billingLogic=__webpack_require__("./frontend/src/scenes/billing/billingLogic.tsx"),billingProductLogic=__webpack_require__("./frontend/src/scenes/billing/billingProductLogic.ts"),jsx_runtime=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let BillingLimit=_ref=>{let{product}=_ref,limitInputRef=(0,react.useRef)(null),{billing,billingLoading}=(0,index_esm.useValues)(billingLogic.kr),{isEditingBillingLimit,customLimitUsd,hasCustomLimitSet,currentAndUpgradePlans}=(0,index_esm.useValues)((0,billingProductLogic.cD)({product,billingLimitInputRef:limitInputRef})),{setIsEditingBillingLimit,setBillingLimitInput,submitBillingLimitInput}=(0,index_esm.useActions)((0,billingProductLogic.cD)({product})),initialBillingLimit=currentAndUpgradePlans?.currentPlan?.initial_billing_limit;return billing?.billing_period?.interval!=="month"||!product.subscribed||product.inclusion_only?null:(0,jsx_runtime.jsx)(lib.Form,{formKey:"billingLimitInput",props:{product:product},logic:billingProductLogic.cD,enableFormOnSubmit:!0,children:(0,jsx_runtime.jsxs)("div",{className:"border-t border-border p-8","data-attr":`billing-limit-input-wrapper-${product.type}`,children:[(0,jsx_runtime.jsx)("h4",{className:"mb-2",children:"Billing limit"}),(0,jsx_runtime.jsx)("div",{className:"flex",children:isEditingBillingLimit?(0,jsx_runtime.jsxs)("div",{className:"flex items-start justify-start gap-2.5",children:[(0,jsx_runtime.jsx)(LemonField.D,{name:"input",className:"max-w-52",children:_ref2=>{let{value,onChange,error}=_ref2;return(0,jsx_runtime.jsx)(src.DF,{inputRef:limitInputRef,type:"number",fullWidth:!1,status:error?"danger":"default",value:value,"data-attr":`billing-limit-input-${product.type}`,onChange:onChange,prefix:(0,jsx_runtime.jsx)("b",{children:"$"}),disabled:billingLoading,min:0,step:10,suffix:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["/ ",billing?.billing_period?.interval]}),size:"small"})}}),(0,jsx_runtime.jsx)(src.Jp,{loading:billingLoading,type:"primary",size:"small",htmlType:"submit","data-attr":`save-billing-limit-${product.type}`,children:"Save"}),(0,jsx_runtime.jsx)(src.Jp,{onClick:()=>{setIsEditingBillingLimit(!1)},disabled:billingLoading,type:"secondary",size:"small",children:"Cancel"}),hasCustomLimitSet?(0,jsx_runtime.jsx)(src.Jp,{status:"danger",size:"small","data-attr":`remove-billing-limit-${product.type}`,tooltip:"Remove billing limit",onClick:()=>{setBillingLimitInput(null),submitBillingLimitInput()},children:"Remove limit"}):null]}):(0,jsx_runtime.jsxs)("div",{className:"flex items-center justify-center gap-1",children:[hasCustomLimitSet?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[customLimitUsd===initialBillingLimit?(0,jsx_runtime.jsx)(Tooltip.u,{title:"Initial limits protect you from accidentally incurring large unexpected charges. Some features may stop working and data may be dropped if your usage exceeds your limit.",children:(0,jsx_runtime.jsxs)("span",{className:"text-sm","data-attr":`default-billing-limit-${product.type}`,children:["This product has a default initial billing limit of"," ",(0,jsx_runtime.jsxs)("b",{children:["$",initialBillingLimit]}),"."]})}):(0,jsx_runtime.jsx)(Tooltip.u,{title:"Set a billing limit to control your recurring costs. Some features may stop working and data may be dropped if your usage exceeds your limit.",children:(0,jsx_runtime.jsxs)("span",{className:"text-sm","data-attr":`billing-limit-set-${product.type}`,children:["You have a ",(0,jsx_runtime.jsxs)("b",{children:["$",customLimitUsd?.toLocaleString()]})," billing limit set for ",product?.name?.toLowerCase(),"."]})}),(0,jsx_runtime.jsx)(src.Jp,{onClick:()=>setIsEditingBillingLimit(!0),status:"danger",size:"small",children:"Edit limit"})]}):(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsxs)("span",{className:"text-sm","data-attr":`billing-limit-not-set-${product.type}`,children:["You do not have a billing limit set for ",product?.name?.toLowerCase(),"."]}),(0,jsx_runtime.jsx)(src.Jp,{onClick:()=>setIsEditingBillingLimit(!0),status:"danger",size:"small",children:"Set a billing limit"})]})," "]})})]})})};var supportLogic=__webpack_require__("./frontend/src/lib/components/Support/supportLogic.ts"),dayjs=__webpack_require__("./frontend/src/lib/dayjs.ts");let BillingProductAddonActions=_ref=>{let content,{addon,productRef}=_ref,{billing,redirectPath,billingError,timeTotalInSeconds,timeRemainingInSeconds}=(0,index_esm.useValues)(billingLogic.kr),{currentAndUpgradePlans,billingProductLoading,trialLoading}=(0,index_esm.useValues)((0,billingProductLogic.cD)({product:addon,productRef})),{toggleIsPricingModalOpen,reportSurveyShown,setSurveyResponse,initiateProductUpgrade,setTrialModalOpen,activateTrial,cancelTrial}=(0,index_esm.useActions)((0,billingProductLogic.cD)({product:addon})),{featureFlags}=(0,index_esm.useValues)(featureFlagLogic.h),upgradePlan=currentAndUpgradePlans?.upgradePlan,{prorationAmount,isProrated}=(0,react.useMemo)(()=>(0,billing_utils.MG)({timeRemainingInSeconds,timeTotalInSeconds,amountUsd:upgradePlan?.unit_amount_usd,hasActiveSubscription:billing?.has_active_subscription}),[billing?.has_active_subscription,upgradePlan,timeRemainingInSeconds,timeTotalInSeconds]),trialExperiment=featureFlags[constants.y8.BILLING_TRIAL_FLOW],handleTrialActivation=()=>{"modal"===trialExperiment?setTrialModalOpen(!0):"control"===trialExperiment?activateTrial():initiateProductUpgrade(addon,currentAndUpgradePlans?.upgradePlan,redirectPath)};return addon.subscribed&&!addon.inclusion_only?content=addon.contact_support?null:(0,jsx_runtime.jsx)(More.T,{overlay:(0,jsx_runtime.jsx)(src.Jp,{fullWidth:!0,onClick:()=>{setSurveyResponse("$survey_response_1",addon.type),reportSurveyShown(constants.E1,addon.type)},children:"Remove add-on"})}):addon.included_with_main_product?content=(0,jsx_runtime.jsx)(src.oe,{type:"completion",icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconCheckCircle,{}),children:"Included with plan"}):billing?.trial&&billing?.trial?.target===addon.type?content=(0,jsx_runtime.jsxs)("div",{className:"flex flex-col items-end justify-end",children:[(0,jsx_runtime.jsx)(src.u,{title:(0,jsx_runtime.jsxs)("p",{children:["You are currently on a free trial for ",(0,jsx_runtime.jsx)("b",{children:(0,utils.wR)(billing?.trial?.target||"")})," ","until ",(0,jsx_runtime.jsx)("b",{children:(0,dayjs.Bv)(billing?.trial?.expires_at).format("LL")}),". At the end of the trial"," ",billing?.trial?.type==="autosubscribe"?"you will be automatically subscribed to the plan.":"you will be asked to subscribe. If you choose not to, you will lose access to the features."]}),children:(0,jsx_runtime.jsx)(src.oe,{type:"completion",icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconCheckCircle,{}),children:"You're on a trial for this add-on"})}),"enterprise"!==addon.type&&(0,jsx_runtime.jsx)(src.Jp,{type:"primary",size:"small",onClick:cancelTrial,loading:trialLoading,className:"mt-1",children:"Cancel trial"})]}):addon.contact_support?content=(0,jsx_runtime.jsx)(src.Jp,{type:"secondary",to:"https://posthog.com/talk-to-a-human",children:"Contact support"}):billing?.trial||(content=(()=>{let showPricing=currentAndUpgradePlans?.upgradePlan?.flat_rate,isTrialEligible=addon.trial&&!!trialExperiment;return(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[showPricing?(0,jsx_runtime.jsx)("h4",{className:"leading-5 font-bold mb-0 space-x-0.5",children:isTrialEligible?(0,jsx_runtime.jsxs)("span",{children:[addon.trial?.length," day free trial"]}):(0,jsx_runtime.jsx)("span",{children:formatFlatRate(Number(upgradePlan?.unit_amount_usd),upgradePlan?.unit)})}):(0,jsx_runtime.jsx)(src.Jp,{type:"secondary",onClick:toggleIsPricingModalOpen,children:"View pricing"}),!addon.inclusion_only&&(0,jsx_runtime.jsx)(src.Jp,{type:"primary",icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconPlus,{}),size:"small",disableClientSideRouting:!0,disabledReason:billingError&&billingError.message||billing?.subscription_level==="free"&&"Upgrade to add add-ons",loading:billingProductLoading===addon.type,onClick:isTrialEligible?handleTrialActivation:()=>initiateProductUpgrade(addon,currentAndUpgradePlans?.upgradePlan,""),children:isTrialEligible?"Start trial":"Add"})]})})()),(0,jsx_runtime.jsxs)("div",{className:"min-w-64",children:[(0,jsx_runtime.jsx)("div",{className:"ml-4 mt-2 self-center flex items-center justify-end gap-x-3 whitespace-nowrap",children:content}),addon.inclusion_only||addon.contact_support||billing?.trial||addon.subscribed||addon.included_with_main_product?null:addon.trial&&trialExperiment?(0,jsx_runtime.jsxs)("p",{className:"mt-2 text-xs text-muted text-right",children:["You'll have ",addon.trial.length," days to try it out. Then you'll be charged"," ",formatFlatRate(Number(upgradePlan?.unit_amount_usd),upgradePlan?.unit),"."]}):isProrated?(0,jsx_runtime.jsxs)("p",{className:"mt-2 text-xs text-muted text-right",children:["Pay ~$",prorationAmount," today (prorated) and",(0,jsx_runtime.jsx)("br",{}),formatFlatRate(Number(upgradePlan?.unit_amount_usd),upgradePlan?.unit)," every month thereafter."]}):null]})};var ProductPricingModal=__webpack_require__("./frontend/src/scenes/billing/ProductPricingModal.tsx"),UnsubscribeSurveyModal=__webpack_require__("./frontend/src/scenes/billing/UnsubscribeSurveyModal.tsx");let formatFlatRate=(flatRate,unit)=>unit?(0,jsx_runtime.jsxs)("span",{className:"space-x-0.5",children:[(0,jsx_runtime.jsx)("span",{children:(0,utils.Cp)(flatRate)}),(0,jsx_runtime.jsx)("span",{children:"/"}),(0,jsx_runtime.jsx)("span",{children:unit})]}):`$${flatRate}`,BillingProductAddon=_ref=>{let{addon}=_ref,productRef=(0,react.useRef)(null),{billing}=(0,index_esm.useValues)(billingLogic.kr),{isPricingModalOpen,currentAndUpgradePlans,surveyID,trialModalOpen,trialLoading}=(0,index_esm.useValues)((0,billingProductLogic.cD)({product:addon,productRef})),{toggleIsPricingModalOpen,setTrialModalOpen,activateTrial}=(0,index_esm.useActions)((0,billingProductLogic.cD)({product:addon})),{openSupportForm}=(0,index_esm.useActions)(supportLogic.Pw),upgradePlan=currentAndUpgradePlans?.upgradePlan,productType={plural:`${addon.unit}s`,singular:addon.unit},tierDisplayOptions=[{label:`Per ${productType.singular}`,value:"individual"}];billing?.has_active_subscription&&tierDisplayOptions.push({label:"Current bill",value:"total"});let addonFeatures=currentAndUpgradePlans?.upgradePlan?.features||currentAndUpgradePlans?.currentPlan?.features||addon.features?.filter(feature=>feature.name!==addon.name),is_enhanced_persons_og_customer="enhanced_persons"===addon.type&&addon.plans?.find(plan=>"addon-20240404-og-customers"===plan.plan_key);return(0,jsx_runtime.jsxs)("div",{className:"bg-bg-3000 rounded p-6 flex flex-col",ref:productRef,"data-attr":`billing-product-addon-${addon.type}`,children:[(0,jsx_runtime.jsxs)("div",{className:"sm:flex justify-between gap-x-4",children:[(0,jsx_runtime.jsxs)("div",{className:"flex gap-x-4",children:[(0,jsx_runtime.jsx)("div",{className:"w-8",children:(0,Products.getProductIcon)(addon.name,addon.icon_key,"text-2xl")}),(0,jsx_runtime.jsxs)("div",{children:[(0,jsx_runtime.jsxs)("div",{className:"flex gap-x-2 items-center mt-0 mb-2 ",children:[(0,jsx_runtime.jsx)("h4",{className:"leading-5 mb-1 font-bold",children:addon.name}),addon.inclusion_only?(0,jsx_runtime.jsx)("div",{className:"flex gap-x-2",children:(0,jsx_runtime.jsx)(src.u,{title:"Automatically included with your plan. Used based on whether you capture person profiles with your events.",children:(0,jsx_runtime.jsx)(src.oe,{type:"muted",children:"Config option"})})}):addon.subscribed&&(0,jsx_runtime.jsx)("div",{children:(0,jsx_runtime.jsx)(src.oe,{type:"primary",icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconCheckCircle,{}),children:"Subscribed"})})]}),(0,jsx_runtime.jsxs)("p",{className:"ml-0 mb-0",children:[addon.description," ",addon.docs_url&&(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(src.rU,{to:addon.docs_url,children:"Read the docs"})," for more information."]})]}),is_enhanced_persons_og_customer&&(0,jsx_runtime.jsx)("p",{className:"mt-2 mb-0",children:(0,jsx_runtime.jsxs)(src.rU,{to:"https://posthog.com/changelog/2024#person-profiles-launched-posthog-now-up-to-80percent-cheaper",className:"italic",target:"_blank",targetBlankIcon:!0,children:["Why is this here?"," "]})})]})]}),(0,jsx_runtime.jsx)(BillingProductAddonActions,{productRef:productRef,addon:addon})]}),(0,jsx_runtime.jsx)("div",{className:"mt-3 ml-11",children:addonFeatures?.length>2&&(0,jsx_runtime.jsxs)("div",{children:[(0,jsx_runtime.jsx)("p",{className:"ml-0 mb-2 max-w-200",children:"Features included:"}),(0,jsx_runtime.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-x-4",children:addonFeatures.filter(feature=>!feature.entitlement_only).map((feature,index)=>(0,jsx_runtime.jsxs)("div",{className:"flex gap-x-2 items-center mb-2",children:[(0,jsx_runtime.jsx)(posthog_icons_es.IconCheckCircle,{className:"text-success"}),(0,jsx_runtime.jsx)(src.u,{title:feature.description,children:(0,jsx_runtime.jsxs)("b",{children:[feature.name,feature.note?": "+feature.note:""]})},feature.key)]},"addon-features-"+addon.type+index))})]})}),(0,jsx_runtime.jsx)(ProductPricingModal.S,{modalOpen:isPricingModalOpen,onClose:toggleIsPricingModalOpen,product:addon,planKey:addon.subscribed?currentAndUpgradePlans?.currentPlan?.plan_key:currentAndUpgradePlans?.upgradePlan?.plan_key}),surveyID&&(0,jsx_runtime.jsx)(UnsubscribeSurveyModal.f,{product:addon}),(0,jsx_runtime.jsxs)(src.fQ,{isOpen:trialModalOpen,onClose:()=>setTrialModalOpen(!1),title:`Start your ${addon.name} trial`,description:`You'll have ${addon.trial?.length} days to try it out before being charged.`,footer:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(src.Jp,{type:"secondary",onClick:()=>setTrialModalOpen(!1),children:"Cancel"}),(0,jsx_runtime.jsx)(src.Jp,{type:"primary",onClick:activateTrial,loading:trialLoading,children:"Start trial"})]}),children:[(0,jsx_runtime.jsx)("p",{className:"mb-1.5",children:"Here's some stuff about the trial:"}),(0,jsx_runtime.jsxs)("ul",{className:"space-y-0.5",children:[(0,jsx_runtime.jsxs)("li",{className:"ml-2",children:["\uD83C\uDF89 It's ",(0,jsx_runtime.jsx)("b",{children:"free!"})]}),(0,jsx_runtime.jsxs)("li",{className:"ml-2",children:["\uD83D\uDCC5 The trial is for ",(0,jsx_runtime.jsxs)("b",{children:[addon.trial?.length," days"]})]}),(0,jsx_runtime.jsxs)("li",{className:"ml-2",children:["\uD83D\uDE80 You'll get access to ",(0,jsx_runtime.jsx)("b",{children:"all the features"})," of the plan immediately"]}),(0,jsx_runtime.jsx)("li",{className:"ml-2",children:"\uD83D\uDCE7 3 days before the trial ends, you'll be emailed a reminder that you'll be charged"}),(0,jsx_runtime.jsx)("li",{className:"ml-2",children:"\uD83D\uDEAB If you don't want to be charged, you can cancel anytime before the trial ends"}),(0,jsx_runtime.jsxs)("li",{className:"ml-2",children:["\uD83D\uDCB5 At the end of the trial, you'll be be subscribed and charged"," ",formatFlatRate(Number(upgradePlan?.unit_amount_usd),upgradePlan?.unit)]}),(0,jsx_runtime.jsxs)("li",{className:"ml-2",children:["☎️ If you have any questions, you can"," ",(0,jsx_runtime.jsx)(src.rU,{onClick:()=>{setTrialModalOpen(!1),openSupportForm({kind:"support",target_area:"billing"})},className:"cursor-pointer",children:"contact us"})]})]})]})]})};function Subrows(props){return(0,jsx_runtime.jsx)("div",{className:"px-2 pt-4 pb-6",children:(0,jsx_runtime.jsx)(src.g3,{dataSource:props.rows,columns:props.columns,embedded:!0,showHeader:!0})})}let BillingProductPricingTable=_ref=>{let{product}=_ref,{billing}=(0,index_esm.useValues)(billingLogic.kr),tableColumns=[{title:`Priced per ${product.unit}`,dataIndex:"volume",render:(_,item)=>(0,jsx_runtime.jsx)("h4",{className:"font-bold mb-0",children:item.volume})},{title:"Price",dataIndex:"basePrice"},{title:"Current Usage",dataIndex:"usage"},{title:"Total",dataIndex:"total",render:(_,item)=>(0,jsx_runtime.jsx)("span",{className:"font-bold mb-0 text-text-3000",children:item.total})},{title:"Projected Total",dataIndex:"projectedTotal"}],subscribedAddons=product.addons?.filter(addon=>addon.tiers&&addon.tiers?.length>0&&(addon.subscribed||addon.inclusion_only)),tableTierData=product.tiers&&product.tiers.length>0?product.tiers?.map((tier,i)=>{var _subscribedAddons$map;let subrows={rows:subscribedAddons?.length>0?[{productName:"Base price",usage:utils.JP(tier.current_usage),price:`$${tier.unit_amount_usd}`,total:`$${tier.current_amount_usd||"0.00"}`,projectedTotal:`$${parseFloat("None"===tier.projected_amount_usd?"0":tier.projected_amount_usd||"0").toFixed(2)}`},...null!==(_subscribedAddons$map=subscribedAddons?.map(addon=>({productName:addon.name,usage:utils.JP(addon.tiers?.[i]?.current_usage||0),price:`$${addon.tiers?.[i]?.unit_amount_usd||"0.00"}`,total:`$${addon.tiers?.[i]?.current_amount_usd||"0.00"}`,projectedTotal:`$${parseFloat(addon.tiers?.[i]?.projected_amount_usd==="None"?"0":addon.tiers?.[i]?.projected_amount_usd||"0").toFixed(2)}`})))&&void 0!==_subscribedAddons$map?_subscribedAddons$map:[]]:[],columns:[{title:"",dataIndex:"icon",render:()=>jsx_runtime.jsx(posthog_icons_es.IconArrowRightDown,{className:"transform -rotate-90 scale-x-[-1] text-base text-muted"})},{title:"Product name",dataIndex:"productName"},{title:"Price",dataIndex:"price"},{title:"Current Usage",dataIndex:"usage"},{title:"Total",dataIndex:"total"},{title:"Projected Total",dataIndex:"projectedTotal"}]},totalForTier=parseFloat(tier.current_amount_usd||"")+(product.addons?.reduce((acc,addon)=>acc+parseFloat(addon.tiers?.[i]?.current_amount_usd||""),0)||0),projectedTotalForTier=(parseFloat(tier.projected_amount_usd||"")||0)+product.addons?.reduce((acc,addon)=>acc+(parseFloat(addon.tiers?.[i]?.projected_amount_usd||"")||0),0),tierData={volume:product.tiers?getTierDescription(product.tiers,i,product,billing?.billing_period?.interval||""):"",basePrice:"0"!==tier.unit_amount_usd?`$${tier.unit_amount_usd}${subscribedAddons?.length>0?" + addons":""}`:"Free",usage:utils.JP(tier.current_usage),total:`$${totalForTier.toFixed(2)||"0.00"}`,projectedTotal:`$${projectedTotalForTier.toFixed(2)||"0.00"}`,subrows:subrows};return tierData}).concat([{volume:"Total",basePrice:"",usage:"",total:`$${product.current_amount_usd||"0.00"}`,projectedTotal:`$${product.projected_amount_usd||"0.00"}`,subrows:{rows:[],columns:[]}}]):void 0;return billing?.discount_percent&&parseFloat(product.projected_amount_usd||"")&&tableTierData?.push({volume:"Total after discount",basePrice:"",usage:"",total:`$${(parseInt(product.current_amount_usd||"0")*(1-billing?.discount_percent/100)).toFixed(2)||"0.00"}`,projectedTotal:`$${(parseInt(product.projected_amount_usd||"0")-parseInt(product.projected_amount_usd||"0")*(billing?.discount_percent/100)).toFixed(2)||"0.00"}`,subrows:{rows:[],columns:[]}}),(0,jsx_runtime.jsx)("div",{className:"pl-16 pb-8",children:product.tiered&&tableTierData?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(src.g3,{stealth:!0,embedded:!0,size:"small",uppercaseHeader:!1,columns:tableColumns,dataSource:tableTierData,expandable:{expandedRowRender:function renderExpand(row){return row.subrows?.rows?.length?(0,jsx_runtime.jsx)(Subrows,{...row.subrows}):null},rowExpandable:row=>!!row.subrows?.rows?.length}}),(0,jsx_runtime.jsx)(FeatureFlagUsageNotice,{product:product}),(0,jsx_runtime.jsx)(src.Vp,{type:"warning",className:"text-sm pt-2",children:"Tier breakdowns are updated once daily and may differ from the gauge above."})]}):(0,jsx_runtime.jsx)(src.g3,{stealth:!0,embedded:!0,size:"small",uppercaseHeader:!1,columns:[{title:"",dataIndex:"name"},{title:"Total",dataIndex:"total"}],dataSource:[{name:product.name,total:product.unit_amount_usd}]})})};var PlanComparison=__webpack_require__("./frontend/src/scenes/billing/PlanComparison.tsx");let getTierDescription=(tiers,i,product,interval)=>0===i?`First ${(0,billing_utils.nz)(tiers[i].up_to)} ${product.unit}s / ${interval}`:tiers[i].up_to?`${(0,billing_utils.nz)(tiers?.[i-1].up_to||null)} - ${(0,billing_utils.nz)(tiers[i].up_to)}`:`> ${(0,billing_utils.nz)(tiers?.[i-1].up_to||null)}`,BillingProduct=_ref=>{let{product}=_ref,productRef=(0,react.useRef)(null),{billing,redirectPath,isUnlicensedDebug,billingError}=(0,index_esm.useValues)(billingLogic.kr),{hasCustomLimitSet,showTierBreakdown,billingGaugeItems,isPricingModalOpen,isPlanComparisonModalOpen,currentAndUpgradePlans,surveyID,billingProductLoading}=(0,index_esm.useValues)((0,billingProductLogic.cD)({product})),{setShowTierBreakdown,toggleIsPricingModalOpen,toggleIsPlanComparisonModalOpen,reportSurveyShown,setSurveyResponse,setBillingProductLoading}=(0,index_esm.useActions)((0,billingProductLogic.cD)({product,productRef})),{reportBillingUpgradeClicked}=(0,index_esm.useActions)(eventUsageLogic.vx),{featureFlags}=(0,index_esm.useValues)(featureFlagLogic.h),{upgradePlan,currentPlan,downgradePlan}=currentAndUpgradePlans,additionalFeaturesOnUpgradedPlan=upgradePlan?upgradePlan?.features?.filter(feature=>!currentPlan?.features?.some(currentPlanFeature=>currentPlanFeature.name===feature.name)):currentPlan?.features?.filter(feature=>!downgradePlan?.features?.some(downgradePlanFeature=>downgradePlanFeature.name===feature.name))||[],upgradeToPlanKey=upgradePlan?.plan_key,currentPlanKey=currentPlan?.plan_key,showUpgradeCard=(upgradePlan?.product_key!=="platform_and_support"||product?.addons?.length===0)&&upgradePlan&&billing?.subscription_level==="custom",{ref,size}=(0,useResizeObserver.S)({0:"small",700:"medium"}),isTemporaryFreeProduct=!product.tiered&&!product.free_allocation&&!product.inclusion_only||product.tiered&&product.tiers?.length===1&&"0"===product.tiers[0].unit_amount_usd;return(0,jsx_runtime.jsxs)("div",{className:(0,clsx_m.default)("flex flex-wrap max-w-300 pb-8",{"flex-col pb-4":"small"===size}),ref:ref,"data-attr":`billing-product-${product.type}`,children:[(0,jsx_runtime.jsxs)("div",{className:"border border-border rounded w-full bg-bg-light",ref:productRef,children:[(0,jsx_runtime.jsx)("div",{className:"border-b border-border rounded-t bg-bg-3000 p-4",children:(0,jsx_runtime.jsxs)("div",{className:"flex gap-4 items-center justify-between",children:[(0,Products.getProductIcon)(product.name,product.icon_key,"text-2xl"),(0,jsx_runtime.jsxs)("div",{children:[(0,jsx_runtime.jsxs)("h3",{className:"font-bold mb-0 flex items-center gap-x-2",children:[product.name," ",isTemporaryFreeProduct&&(0,jsx_runtime.jsx)(src.oe,{type:"highlight",children:"included with your plan"})]}),(0,jsx_runtime.jsx)("div",{children:product.description})]}),(0,jsx_runtime.jsxs)("div",{className:"flex grow justify-end gap-x-2 items-center",children:[product.docs_url&&(0,jsx_runtime.jsx)(src.Jp,{icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconDocument,{}),size:"small",to:product.docs_url,className:"justify-end",tooltip:"Read the docs"}),product.contact_support?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[product.subscribed&&(0,jsx_runtime.jsx)("p",{className:"m-0",children:"Need to manage your plan?"}),(0,jsx_runtime.jsx)(src.Jp,{type:"primary",to:"mailto:sales@posthog.com?subject=Enterprise%20plan%20request",children:"Get in touch"})]}):product.subscribed&&(0,jsx_runtime.jsx)(More.T,{overlay:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(src.Jp,{fullWidth:!0,to:"https://posthog.com/docs/billing/estimating-usage-costs#how-to-reduce-your-posthog-costs",children:"Learn how to reduce your bill"}),billing?.subscription_level==="custom"&&(product.plans?.length>0?(0,jsx_runtime.jsx)(src.Jp,{fullWidth:!0,onClick:()=>{setSurveyResponse("$survey_response_1",product.type),reportSurveyShown(constants.E1,product.type)},children:"Unsubscribe"}):(0,jsx_runtime.jsx)(src.Jp,{fullWidth:!0,to:"mailto:sales@posthog.com?subject=Custom%20plan%20unsubscribe%20request",children:"Contact support to unsubscribe"}))]})}),surveyID&&(0,jsx_runtime.jsx)(UnsubscribeSurveyModal.f,{product:product})]})]})}),(0,jsx_runtime.jsxs)("div",{className:"px-8 pb-8 sm:pb-0",children:[product.percentage_usage>1&&(0,jsx_runtime.jsxs)(LemonBanner.V,{className:"mt-6",type:"error",children:["You have exceeded the ",hasCustomLimitSet?"billing limit":"free tier limit"," for this product."]}),(0,jsx_runtime.jsx)("div",{className:"sm:flex w-full items-center gap-x-8",children:product.contact_support&&(!product.subscribed||isUnlicensedDebug)?(0,jsx_runtime.jsxs)("div",{className:"py-8",children:[!billing?.has_active_subscription&&(0,jsx_runtime.jsxs)("p",{className:"ml-0",children:["Every product subsciption comes with free platform features such as"," ",(0,jsx_runtime.jsx)("b",{children:"Multiple projects, Integrations, Apps, and more"}),". Subscribe to one of the products above to get instant access."]}),(0,jsx_runtime.jsxs)("p",{className:"m-0",children:["Need additional platform and support (aka enterprise) features like ",(0,jsx_runtime.jsx)("b",{children:"SAML SSO"}),","," ",(0,jsx_runtime.jsx)("b",{children:"advanced permissioning"}),", and more?"," ",(0,jsx_runtime.jsx)(src.rU,{to:"mailto:sales@posthog.com?subject=Enterprise%20plan%20request",children:"Get in touch"})," ","for a quick chat."]})]}):!isUnlicensedDebug&&(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:isTemporaryFreeProduct?(0,jsx_runtime.jsxs)("div",{className:"grow",children:[(0,jsx_runtime.jsxs)("div",{className:"grow",children:[(0,jsx_runtime.jsx)(BillingGauge.V,{items:billingGaugeItems,product:product}),(0,jsx_runtime.jsx)(FeatureFlagUsageNotice,{product:product})]}),product.type==types.Md.DATA_WAREHOUSE&&["free-20240530-beta-users-initial","free-20240813-beta-users-initial"].includes(currentPlan?.plan_key||"")&&new DatesetShowTierBreakdown(!showTierBreakdown)}),(0,jsx_runtime.jsxs)("div",{className:"grow",children:[(0,jsx_runtime.jsx)(BillingGauge.V,{items:billingGaugeItems,product:product}),!product.subscribed&&(0,jsx_runtime.jsx)(FeatureFlagUsageNotice,{product:product})]})]}),product.subscribed?(0,jsx_runtime.jsxs)("div",{className:"flex justify-end gap-8 flex-wrap items-end shrink-0",children:[(0,jsx_runtime.jsx)(Tooltip.u,{title:`The current ${billing?.discount_percent?"discounted ":""}amount you have been billed for this ${billing?.billing_period?.interval} so far. This number updates once daily.`,children:(0,jsx_runtime.jsxs)("div",{className:"flex flex-col items-center",children:[(0,jsx_runtime.jsx)("div",{className:"font-bold text-3xl leading-7",children:(0,utils.Cp)(parseFloat(product.current_amount_usd||"0")*(1-(billing?.discount_percent?billing.discount_percent/100:0)))}),(0,jsx_runtime.jsxs)("span",{className:"text-xs text-muted",children:[(0,utils.fm)(billing?.billing_period?.interval||""),"-to-date"]})]})}),product.tiers&&(0,jsx_runtime.jsx)(Tooltip.u,{title:`This is roughly calculated based on your current bill${billing?.discount_percent?", discounts on your account,":""} and the remaining time left in this billing period. This number updates once daily.`,children:(0,jsx_runtime.jsxs)("div",{className:"flex flex-col items-center justify-end",children:[(0,jsx_runtime.jsx)("div",{className:"font-bold text-muted text-lg leading-5",children:(0,utils.Cp)(parseFloat(product.projected_amount_usd||"0")*(1-(billing?.discount_percent?billing.discount_percent/100:0)))}),(0,jsx_runtime.jsx)("span",{className:"text-xs text-muted",children:"Projected"})]})})]}):null]}):product.current_amount_usd?(0,jsx_runtime.jsx)("div",{className:"my-8",children:(0,jsx_runtime.jsx)(Tooltip.u,{title:`The current amount you will be billed for this ${billing?.billing_period?.interval}.`,children:(0,jsx_runtime.jsxs)("div",{className:"flex flex-col items-center",children:[(0,jsx_runtime.jsx)("div",{className:"font-bold text-3xl leading-7",children:(0,utils.Cp)(product.current_amount_usd)}),(0,jsx_runtime.jsxs)("span",{className:"text-xs text-muted",children:["per ",billing?.billing_period?.interval||"period"]})]})})}):null})}),product.price_description?(0,jsx_runtime.jsx)(LemonBanner.V,{type:"info",children:(0,jsx_runtime.jsx)("span",{dangerouslySetInnerHTML:{__html:product.price_description}})}):null,showTierBreakdown&&(0,jsx_runtime.jsx)(BillingProductPricingTable,{product:product}),product.addons?.length>0&&(0,jsx_runtime.jsxs)("div",{className:"pb-8",children:[(0,jsx_runtime.jsx)("h4",{className:"my-4",children:"Add-ons"}),billing?.subscription_level=="free"&&(0,jsx_runtime.jsx)(LemonBanner.V,{type:"warning",className:"text-sm mb-4",hideIcon:!0,children:(0,jsx_runtime.jsxs)("div",{className:"flex justify-between items-center",children:[(0,jsx_runtime.jsx)("div",{children:"Add-ons are only available on paid plans. Upgrade to access these features."}),(0,jsx_runtime.jsx)(src.Jp,{className:"shrink-0",to:`/api/billing/activate?products=all_products:&redirect_path=${redirectPath}&intent_product=${product.type}`,type:"primary",status:"alt",disableClientSideRouting:!0,loading:!!billingProductLoading,onClick:()=>setBillingProductLoading(product.type),children:"Upgrade now"})]})}),(0,jsx_runtime.jsx)("div",{className:"gap-y-4 flex flex-col",children:product.addons.filter(addon=>!addon.inclusion_only||!featureFlags[constants.y8.PERSONLESS_EVENTS_NOT_SUPPORTED]).map((addon,i)=>(0,jsx_runtime.jsx)(BillingProductAddon,{addon:addon},i))})]})]}),!isTemporaryFreeProduct&&(0,jsx_runtime.jsx)(BillingLimit,{product:product}),showUpgradeCard&&(0,jsx_runtime.jsxs)("div",{"data-attr":`upgrade-card-${product.type}`,className:`border-t border-border p-8 flex justify-between ${upgradePlan?"bg-warning-highlight":"bg-success-highlight"}`,children:[(0,jsx_runtime.jsxs)("div",{children:[currentPlan&&(0,jsx_runtime.jsxs)("h4",{className:`${upgradePlan?"text-warning-dark":"text-success"}`,children:["You're on the ",currentPlan.name," plan for ",product.name,"."]}),additionalFeaturesOnUpgradedPlan?.length>0?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)("p",{className:"ml-0 max-w-200",children:"Subscribe to get sweet features such as:"}),(0,jsx_runtime.jsxs)("div",{children:[additionalFeaturesOnUpgradedPlan?.map((feature,i)=>i<3&&jsx_runtime.jsxs("div",{className:"flex gap-x-2 items-center mb-2",children:[jsx_runtime.jsx(posthog_icons_es.IconCheckCircle,{className:"text-success"}),jsx_runtime.jsx(Tooltip.u,{title:feature.description,children:jsx_runtime.jsxs("b",{children:[feature.name," "]})},feature.key)]},"additional-features-"+product.type+i)),!billing?.has_active_subscription&&(0,jsx_runtime.jsxs)("div",{className:"flex gap-x-2 items-center mb-2",children:[(0,jsx_runtime.jsx)(posthog_icons_es.IconCheckCircle,{className:"text-success"}),(0,jsx_runtime.jsx)(Tooltip.u,{title:"Multiple projects, Feature flags, Experiments, Integrations, Apps, and more",children:(0,jsx_runtime.jsx)("b",{children:"Upgraded platform features"})})]}),(0,jsx_runtime.jsxs)("div",{className:"flex gap-x-2 items-center mb-2",children:[(0,jsx_runtime.jsx)(posthog_icons_es.IconCheckCircle,{className:"text-success"}),(0,jsx_runtime.jsx)(src.rU,{onClick:()=>toggleIsPlanComparisonModalOpen(),children:(0,jsx_runtime.jsx)("b",{children:"And more..."})})]})]})]}):(0,jsx_runtime.jsxs)("p",{className:"ml-0 max-w-200",children:["You've got access to all the features we offer for ",product.name,"."]}),upgradePlan?.tiers?.[0]?.unit_amount_usd&&0===parseInt(upgradePlan?.tiers?.[0].unit_amount_usd)&&(0,jsx_runtime.jsxs)("p",{className:"ml-0 mb-0 mt-4",children:[(0,jsx_runtime.jsxs)("b",{children:["First ",(0,billing_utils.i7)(upgradePlan?.tiers?.[0].up_to,null)," ",product.unit,"s free"]}),", then just $",upgradePlan?.tiers?.[1]?.unit_amount_usd," per ",product.unit," and"," ",(0,jsx_runtime.jsx)(src.rU,{onClick:()=>toggleIsPlanComparisonModalOpen(),children:"volume discounts"}),"."]})]}),upgradePlan&&(0,jsx_runtime.jsx)("div",{className:"ml-4",children:(0,jsx_runtime.jsxs)("div",{className:"flex flex-wrap gap-x-2 gap-y-2",children:[(0,jsx_runtime.jsx)(src.Jp,{type:"secondary",onClick:()=>toggleIsPlanComparisonModalOpen(),className:"grow",center:!0,children:"Compare plans"}),upgradePlan.contact_support?(0,jsx_runtime.jsx)(src.Jp,{type:"primary",to:"mailto:sales@posthog.com?subject=Enterprise%20plan%20request",children:"Get in touch"}):"has_subscription"!==upgradePlan.included_if&&!upgradePlan.unit_amount_usd&&(0,jsx_runtime.jsx)(BillingUpgradeCTA.y,{"data-attr":`${product.type}-upgrade-cta`,to:(0,billing_utils.Y_)({product,redirectPath,includeAddons:!1}),type:"primary",icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconPlus,{}),disableClientSideRouting:!0,loading:billingProductLoading===product.type,disabledReason:billingError&&billingError.message,onClick:()=>{reportBillingUpgradeClicked(product.type),setBillingProductLoading(product.type)},className:"grow",center:!0,children:"Subscribe"})]})}),(0,jsx_runtime.jsx)(PlanComparison.S0,{product:product,includeAddons:!1,modalOpen:isPlanComparisonModalOpen,onClose:()=>toggleIsPlanComparisonModalOpen()})]})]}),(0,jsx_runtime.jsx)(ProductPricingModal.S,{modalOpen:isPricingModalOpen,onClose:toggleIsPricingModalOpen,product:product,planKey:product.subscribed?currentPlanKey:upgradeToPlanKey})]})},FeatureFlagUsageNotice=_ref2=>{let{product}=_ref2;return"feature_flags"===product.type?(0,jsx_runtime.jsxs)("p",{className:"mt-4 ml-0 text-sm text-muted italic",children:[(0,jsx_runtime.jsx)(posthog_icons_es.IconInfo,{className:"mr-1"}),"Questions? Here's"," ",(0,jsx_runtime.jsx)(src.rU,{to:"https://posthog.com/docs/feature-flags/common-questions#billing--usage",className:"italic",children:"how we calculate usage"})," ","for feature flags."]}):null}},"./frontend/src/scenes/billing/CreditCTAHero.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{N:()=>DEFAULT_ESTIMATED_MONTHLY_CREDIT_AMOUNT_USD,p:()=>CreditCTAHero});var _posthog_icons__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/@posthog+icons@0.9.2_react-dom@18.2.0_react@18.2.0/node_modules/@posthog/icons/dist/posthog-icons.es.js"),_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),kea__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),lib_components_hedgehogs__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/components/hedgehogs.tsx"),lib_constants__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/constants.tsx"),lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),use_resize_observer__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./node_modules/.pnpm/use-resize-observer@8.0.0_react-dom@18.2.0_react@18.2.0/node_modules/use-resize-observer/dist/bundle.esm.js"),_billingLogic__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/scenes/billing/billingLogic.tsx"),_PurchaseCreditsModal__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/scenes/billing/PurchaseCreditsModal.tsx"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let DEFAULT_ESTIMATED_MONTHLY_CREDIT_AMOUNT_USD=500,CreditCTAHero=()=>{let{width,ref:heroRef}=(0,use_resize_observer__WEBPACK_IMPORTED_MODULE_9__.Z)(),{featureFlags}=(0,kea__WEBPACK_IMPORTED_MODULE_2__.useValues)(lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_5__.h),{creditOverview,isPurchaseCreditsModalOpen,isCreditCTAHeroDismissed,computedDiscount}=(0,kea__WEBPACK_IMPORTED_MODULE_2__.useValues)(_billingLogic__WEBPACK_IMPORTED_MODULE_6__.kr),{showPurchaseCreditsModal,toggleCreditCTAHeroDismissed}=(0,kea__WEBPACK_IMPORTED_MODULE_2__.useActions)(_billingLogic__WEBPACK_IMPORTED_MODULE_6__.kr),isEligible=creditOverview.eligible||featureFlags[lib_constants__WEBPACK_IMPORTED_MODULE_4__.y8.SELF_SERVE_CREDIT_OVERRIDE];if("paid"===creditOverview.status||!isEligible)return null;if(isCreditCTAHeroDismissed)return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)("div",{className:"absolute top-0 right-0 z-10",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)("div",{className:"cursor-pointer bg-mark rounded-lg pr-3 pl-2 py-1 hover:bg-mark-light transition-colors group",onClick:()=>toggleCreditCTAHeroDismissed(!1),children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(lib_components_hedgehogs__WEBPACK_IMPORTED_MODULE_3__.BurningMoneyHog,{className:"w-8 h-8 group-hover:animate-bounce",style:{animationDuration:"0.75s"}}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("span",{children:["Get ",100*computedDiscount,"% off"]})]})})});let estimatedMonthlyCreditAmountUsd=creditOverview?.estimated_monthly_credit_amount_usd||DEFAULT_ESTIMATED_MONTHLY_CREDIT_AMOUNT_USD;return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("div",{className:"flex relative justify-between items-start rounded-lg bg-bg-light border mb-2 gap-2",ref:heroRef,children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)("div",{className:"absolute top-2 right-2 z-10",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__.Jp,{icon:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_posthog_icons__WEBPACK_IMPORTED_MODULE_0__.IconX,{className:"w-4 h-4"}),size:"small",onClick:()=>toggleCreditCTAHeroDismissed(!0),"aria-label":"Close"})}),width&&width>500&&(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)("div",{className:"shrink-0 relative pt-4 overflow-hidden",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(lib_components_hedgehogs__WEBPACK_IMPORTED_MODULE_3__.BurningMoneyHog,{className:"w-40 h-40"})}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("div",{className:"p-4 flex-1",children:[isEligible&&"pending"===creditOverview.status&&(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.Fragment,{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)("h1",{className:"mb-0",children:"We're applying your credits"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("p",{className:"mt-2 mb-0 max-w-xl",children:["Your credits will be ready within 24 hours of payment."," ","send_invoice"===creditOverview.collection_method?"You'll receive an email with a link to pay the invoice. Please make sure to pay that as soon as possible so we can apply the credits to your account.":"We'll will charge your card on file and we'll email you if there are any issues!"]}),creditOverview.invoice_url&&(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__.Jp,{type:"primary",onClick:()=>creditOverview.invoice_url&&window.open(creditOverview.invoice_url,"_blank"),className:"mt-4",children:"View invoice"})]}),isEligible&&(!creditOverview||"none"===creditOverview.status)&&(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.Fragment,{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("h2",{className:"mb-0",children:["Stop burning money."," ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("span",{className:"text-success-light",children:["Prepay and save ",100*computedDiscount,"%"]})," over the next 12 months."]}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("p",{className:"mt-2 mb-0 max-w-xl",children:["Based on your usage, your monthly bill is forecasted to be an average of"," ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("strong",{children:["$",estimatedMonthlyCreditAmountUsd.toFixed(0),"/month"]})," over the next year."]}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("p",{className:"mt-2 mb-0 max-w-xl",children:["This qualifies you for a ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("strong",{children:[100*computedDiscount,"% discount"]})," by pre-purchasing usage credits. Which gives you a net savings of"," ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("strong",{children:["$",Math.round(estimatedMonthlyCreditAmountUsd*computedDiscount*12).toLocaleString("en-US",{minimumFractionDigits:0,maximumFractionDigits:0})]})," ","over the next year."]}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__.Jp,{type:"primary",status:"alt",onClick:()=>showPurchaseCreditsModal(!0),className:"mt-4",children:"Learn more"}),creditOverview.estimated_monthly_credit_amount_usd>1&&(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.Fragment,{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__.p2,{className:"my-4"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("div",{className:"mt-2 flex justify-between items-center gap-2 w-full",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("p",{className:"mb-2 flex-1",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)("strong",{children:"Also available:"})," Our Enterprise tier offers dedicated support in a private Slack channel, personalized training, and most importantly, free merch."]}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__.Jp,{type:"primary",to:"mailto:sales@posthog.com?subject=Let's talk enterprise!",children:"Talk to sales"})]})]})]})]}),isPurchaseCreditsModalOpen&&(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_PurchaseCreditsModal__WEBPACK_IMPORTED_MODULE_7__.B,{})]})}},"./frontend/src/scenes/billing/PlanComparison.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{mo:()=>PlanComparison_PlanComparison,S0:()=>PlanComparisonModal});var injectStylesIntoStyleTag=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),injectStylesIntoStyleTag_default=__webpack_require__.n(injectStylesIntoStyleTag),PlanComparison=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/billing/PlanComparison.scss"),PlanComparison_default=__webpack_require__.n(PlanComparison),options={};options.insert="head",options.singleton=!1,injectStylesIntoStyleTag_default()(PlanComparison_default(),options),PlanComparison_default().locals;var posthog_icons_es=__webpack_require__("./node_modules/.pnpm/@posthog+icons@0.9.2_react-dom@18.2.0_react@18.2.0/node_modules/@posthog/icons/dist/posthog-icons.es.js"),src=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),clsx_m=__webpack_require__("./node_modules/.pnpm/clsx@1.2.1/node_modules/clsx/dist/clsx.m.js"),index_esm=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),BillingUpgradeCTA=__webpack_require__("./frontend/src/lib/components/BillingUpgradeCTA.tsx"),constants=__webpack_require__("./frontend/src/lib/constants.tsx"),Tooltip=__webpack_require__("./frontend/src/lib/lemon-ui/Tooltip/index.ts"),featureFlagLogic=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),eventUsageLogic=__webpack_require__("./frontend/src/lib/utils/eventUsageLogic.ts"),react=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/index.js"),Products=__webpack_require__("./frontend/src/scenes/products/Products.tsx"),bundle_esm=__webpack_require__("./node_modules/.pnpm/use-resize-observer@8.0.0_react-dom@18.2.0_react@18.2.0/node_modules/use-resize-observer/dist/bundle.esm.js"),billing_utils=__webpack_require__("./frontend/src/scenes/billing/billing-utils.ts"),billingLogic=__webpack_require__("./frontend/src/scenes/billing/billingLogic.tsx"),billingProductLogic=__webpack_require__("./frontend/src/scenes/billing/billingProductLogic.ts"),UnsubscribeSurveyModal=__webpack_require__("./frontend/src/scenes/billing/UnsubscribeSurveyModal.tsx"),jsx_runtime=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function PlanIcon(_ref){let{feature,className,timeDenominator}=_ref;return(0,jsx_runtime.jsx)("div",{className:"flex items-center text-xs text-muted",children:feature?feature.limit?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(posthog_icons_es.IconWarning,{className:(0,clsx_m.default)("text-warning mx-4 shrink-0",className)}),feature.limit&&`${(0,billing_utils.i7)(feature.limit,null)} ${feature.unit&&feature.unit}${timeDenominator?`/${timeDenominator}`:""}`,feature.note]}):(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(posthog_icons_es.IconCheckCircle,{className:(0,clsx_m.default)("text-success mx-4 shrink-0",className)}),feature.note]}):(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:(0,jsx_runtime.jsx)(posthog_icons_es.IconX,{className:(0,clsx_m.default)("text-danger mx-4",className)})})})}let PricingTiers=_ref2=>{let{plan,product}=_ref2,{width,ref:tiersRef}=(0,bundle_esm.Z)(),tiers=plan?.tiers,allTierPrices=tiers?.map(tier=>parseFloat(tier.unit_amount_usd)),sigFigs=allTierPrices?.map(price=>price?.toString().split(".")[1]?.length).sort((a,b)=>b-a)[0];return(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:tiers?tiers?.map((tier,i)=>jsx_runtime.jsxs("div",{className:clsx_m.default("flex",width&&width<100?"flex-col mb-2":"justify-between items-center"),ref:tiersRef,children:[jsx_runtime.jsx("span",{className:"text-xs",children:billing_utils.i7(tier.up_to,tiers[i-1]?.up_to,!0,product.unit)}),jsx_runtime.jsx("span",{className:"font-bold",children:0===i&&0===parseFloat(tier.unit_amount_usd)?"Free":`$${parseFloat(tier.unit_amount_usd).toFixed(sigFigs)}`})]},`${plan.plan_key}-${product.type}-${tier.up_to}`)):product?.free_allocation?(0,jsx_runtime.jsxs)("div",{className:(0,clsx_m.default)("flex",width&&width<100?"flex-col mb-2":" justify-between items-center"),ref:tiersRef,children:[(0,jsx_runtime.jsxs)("span",{className:"text-xs",children:["Up to ",(0,billing_utils.i7)(product?.free_allocation,null)," ",product?.unit,"s/mo"]}),(0,jsx_runtime.jsx)("span",{className:"font-bold",children:"Free"})]},`${plan.plan_key}-${product.type}-tiers`):null})},PlanComparison_PlanComparison=_ref3=>{let{product,includeAddons=!1}=_ref3,{billing,redirectPath,timeRemainingInSeconds,timeTotalInSeconds}=(0,index_esm.useValues)(billingLogic.kr),{width,ref:planComparisonRef}=(0,bundle_esm.Z)(),{reportBillingUpgradeClicked,reportBillingDowngradeClicked}=(0,index_esm.useActions)(eventUsageLogic.vx),{surveyID,comparisonModalHighlightedFeatureKey,billingProductLoading}=(0,index_esm.useValues)((0,billingProductLogic.cD)({product})),{reportSurveyShown,setSurveyResponse,setBillingProductLoading}=(0,index_esm.useActions)((0,billingProductLogic.cD)({product})),{featureFlags}=(0,index_esm.useValues)(featureFlagLogic.h),plans=product.plans?.filter(plan=>!plan.included_if||"has_subscription"==plan.included_if||plan.current_plan);if(plans?.length===0)return null;let currentPlanIndex=plans.findIndex(plan=>plan.current_plan),fullyFeaturedPlan=plans[plans.length-1],ctaAction=billing?.subscription_level==="custom"?"Subscribe":"Upgrade",upgradeButtons=plans?.map((plan,i)=>jsx_runtime.jsxs("td",{className:"PlanTable__td__upgradeButton",children:[jsx_runtime.jsx(BillingUpgradeCTA.y,{to:plan.contact_support?"mailto:sales@posthog.com?subject=Enterprise%20plan%20request":i=currentPlanIndex?"default":"alt",fullWidth:!0,center:!0,disableClientSideRouting:!plan.contact_support,disabledReason:"has_subscription"==plan.included_if&&i>=currentPlanIndex?billing?.has_active_subscription?"Unsubscribe from all products to remove":null:plan.current_plan?"Current plan":void 0,onClick:()=>{plan.current_plan||(setBillingProductLoading(product.type),i=currentPlanIndex&&!billing?.has_active_subscription?ctaAction:plan.free_allocation&&!plan.tiers?"Select":ctaAction}),!plan.current_plan&&!plan.free_allocation&&includeAddons&&product.addons?.length>0&&jsx_runtime.jsx("p",{className:"text-center ml-0 mt-2 mb-0",children:jsx_runtime.jsx(src.rU,{to:`/api/billing/activate?products=all_products:&redirect_path=${redirectPath}`,className:"text-muted text-xs",disableClientSideRouting:!0,children:"or subscribe without addons"})})]},`${plan.plan_key}-cta`));return(0,jsx_runtime.jsxs)("table",{className:"PlanComparison w-full table-fixed",ref:planComparisonRef,children:[(0,jsx_runtime.jsx)("thead",{children:(0,jsx_runtime.jsxs)("tr",{children:[(0,jsx_runtime.jsx)("td",{}),plans?.map(plan=>jsx_runtime.jsx("td",{children:jsx_runtime.jsx("h3",{className:"font-bold",children:plan.name})},`plan-type-${plan.plan_key}`))]})}),(0,jsx_runtime.jsxs)("tbody",{children:[(0,jsx_runtime.jsxs)("tr",{className:"PlanTable__tr__border",children:[(0,jsx_runtime.jsxs)("td",{className:"font-bold",children:["Monthly ",product.tiered&&"base "," price"]}),plans?.map(plan=>{let{prorationAmount,isProrated}=billing_utils.MG({timeRemainingInSeconds,timeTotalInSeconds,amountUsd:plan.unit_amount_usd,hasActiveSubscription:billing?.has_active_subscription});return jsx_runtime.jsxs("td",{className:"text-sm font-medium",children:[plan.free_allocation&&!plan.tiers?"Free forever":plan.unit_amount_usd?`$${parseFloat(plan.unit_amount_usd).toFixed(0)} per month`:plan.contact_support?"Custom":"has_subscription"==plan.included_if?billing?.subscription_level==="custom"?"Free, included with any product subscription":"Usage-based - starting at $0":"$0 per month",isProrated&&jsx_runtime.jsxs("p",{className:"text-xxs text-muted font-normal italic mt-2",children:["Pay ~$",prorationAmount," today",isProrated&&" (prorated)"," and"," ",isProrated&&`$${parseInt(plan.unit_amount_usd||"0")} `,"every month thereafter."]})]},`${plan.plan_key}-basePrice`)})]}),product.tiered&&(0,jsx_runtime.jsxs)("tr",{className:"PlanTable__tr__border",children:[(0,jsx_runtime.jsxs)("th",{scope:"row",children:[includeAddons&&product.addons?.length>0&&(0,jsx_runtime.jsx)("p",{className:"ml-0",children:(0,jsx_runtime.jsx)("span",{className:"font-bold",children:product.name})}),(0,jsx_runtime.jsxs)("p",{className:"ml-0 text-xs mt-1",children:["Priced per ",product.unit]})]}),plans?.map(plan=>jsx_runtime.jsx("td",{children:jsx_runtime.jsx(PricingTiers,{plan:plan,product:product})},`${plan.plan_key}-tiers-td`))]}),(0,jsx_runtime.jsxs)("tr",{children:[(0,jsx_runtime.jsx)("td",{}),upgradeButtons]}),includeAddons&&product.addons.length>0&&(0,jsx_runtime.jsx)("tr",{children:(0,jsx_runtime.jsx)("th",{colSpan:1,className:"PlanTable__th__section rounded text-left",children:(0,jsx_runtime.jsx)("h3",{className:"mt-6 mb-6",children:"Available add-ons:"})})}),includeAddons&&product.addons?.filter(addon=>!addon.inclusion_only||!featureFlags[constants.y8.PERSONLESS_EVENTS_NOT_SUPPORTED]).map(addon=>addon.tiered?jsx_runtime.jsxs("tr",{className:"PlanTable__tr__border",children:[jsx_runtime.jsxs("th",{scope:"row",children:[jsx_runtime.jsxs("p",{className:"ml-0",children:[jsx_runtime.jsx(Tooltip.u,{title:addon.description,children:jsx_runtime.jsx("span",{className:"font-bold cursor-default",children:addon.name})}),jsx_runtime.jsx(Tooltip.u,{title:addon.inclusion_only?"Automatically charged based on SDK config options and usage.":"If subscribed, charged on all usage.",children:jsx_runtime.jsx(src.oe,{type:addon.inclusion_only?"option":"primary",className:"ml-2",children:addon.inclusion_only?"config":"add-on"})})]}),jsx_runtime.jsxs("p",{className:"ml-0 text-xs text-muted mt-1",children:["Priced per ",addon.unit]})]}),plans?.map((plan,i)=>addon.inclusion_only?plan.free_allocation&&!plan.tiers?jsx_runtime.jsx("td",{children:jsx_runtime.jsx(PricingTiers,{plan:plan,product:product})},`${addon.name}-free-tiers-td`):jsx_runtime.jsx("td",{children:jsx_runtime.jsx(AddonPlanTiers,{plan:addon.plans?.[i],addon:addon})},`${addon.type}-tiers-td`):plan.free_allocation&&!plan.tiers?jsx_runtime.jsx("td",{children:jsx_runtime.jsx("p",{className:"text-muted text-xs",children:"Not available on this plan."})},`${addon.name}-free-tiers-td`):jsx_runtime.jsx("td",{children:jsx_runtime.jsx(AddonPlanTiers,{plan:addon.plans?.[0],addon:addon})},`${addon.type}-tiers-td`))]},addon.name+"pricing-row"):null),(0,jsx_runtime.jsx)("tr",{children:(0,jsx_runtime.jsx)("th",{colSpan:1,className:"PlanTable__th__section rounded text-left",children:(0,jsx_runtime.jsxs)("h3",{className:"mt-6 mb-2",children:["platform_and_support"===product.type?"Platform":"Product"," features:"]})})}),fullyFeaturedPlan?.features?.map((feature,i)=>jsx_runtime.jsxs("tr",{className:clsx_m.default(i!=fullyFeaturedPlan?.features?.length-1||billing?.has_active_subscription?"":"PlanTable__tr__border"),children:[jsx_runtime.jsx("th",{className:clsx_m.default("PlanTable__th__feature",width&&width<600&&"PlanTable__th__feature--reduced_padding",i==fullyFeaturedPlan?.features?.length-1&&"PlanTable__th__last-feature"),children:jsx_runtime.jsx(Tooltip.u,{title:feature.description,children:jsx_runtime.jsx("div",{className:comparisonModalHighlightedFeatureKey===feature.key?"border-b-2 border-danger-lighter px-1 pb-1 w-max":void 0,children:jsx_runtime.jsx("span",{children:feature.name})})})}),plans?.map(plan=>jsx_runtime.jsx("td",{children:jsx_runtime.jsx(PlanIcon,{feature:plan.features?.find(thisPlanFeature=>feature.key===thisPlanFeature.key),className:"text-base"})},`${plan.plan_key}-${feature.key}`))]},`tr-${feature.key}`)),!billing?.has_active_subscription&&!product.inclusion_only&&(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)("tr",{children:(0,jsx_runtime.jsx)("th",{colSpan:1,className:"PlanTable__th__section rounded text-left",children:(0,jsx_runtime.jsx)("h3",{className:"mt-6 mb-2",children:(0,jsx_runtime.jsx)(Tooltip.u,{title:"Organizations with any paid subscription get access to additional features.",children:(0,jsx_runtime.jsx)("span",{children:"Included platform features:"})})})})}),billing?.products.filter(product=>product.inclusion_only).map(includedProduct=>{let includedPlans=includedProduct.plans.filter(plan=>"has_subscription"==plan.included_if||plan.current_plan);return jsx_runtime.jsxs(react.Fragment,{children:[jsx_runtime.jsx("tr",{children:jsx_runtime.jsx("th",{colSpan:3,className:"PlanTable__th__section bg-bg-3000 justify-left rounded text-left mb-2",children:jsx_runtime.jsxs("div",{className:"flex items-center gap-x-2 my-2",children:[Products.getProductIcon(includedProduct.name,includedProduct.icon_key,"text-2xl"),jsx_runtime.jsx(Tooltip.u,{title:includedProduct.description,children:jsx_runtime.jsx("span",{className:"font-bold",children:includedProduct.name})})]})})}),includedPlans.find(plan=>"has_subscription"==plan.included_if)?.features?.map((feature,i)=>jsx_runtime.jsxs("tr",{children:[jsx_runtime.jsx("th",{className:clsx_m.default("text-muted PlanTable__th__feature",width&&width<600&&"PlanTable__th__feature--reduced_padding",i==(includedPlans.find(plan=>"has_subscription"==plan.included_if)?.features?.length||0)-1?"PlanTable__th__last-feature":""),children:jsx_runtime.jsx(Tooltip.u,{title:feature.description,children:jsx_runtime.jsx("span",{children:feature.name})})}),includedPlans?.map(plan=>jsx_runtime.jsxs(react.Fragment,{children:[includedPlans?.length===1&&jsx_runtime.jsx("td",{children:jsx_runtime.jsx(PlanIcon,{feature:void 0,className:"text-base"})}),jsx_runtime.jsx("td",{children:jsx_runtime.jsx(PlanIcon,{feature:plan.features?.find(thisPlanFeature=>feature.key===thisPlanFeature.key),className:"text-base"})})]},`${plan.plan_key}-${feature.key}`))]},`tr-${feature.key}`))]},`inclusion-only-product-features-${includedProduct.type}`)})]})]}),surveyID&&(0,jsx_runtime.jsx)(UnsubscribeSurveyModal.f,{product:product})]})},PlanComparisonModal=_ref4=>{let{product,title,includeAddons=!1,modalOpen,onClose}=_ref4;return(0,jsx_runtime.jsx)(src.fQ,{isOpen:modalOpen,onClose:onClose,children:(0,jsx_runtime.jsx)("div",{className:"PlanComparisonModal flex w-full h-full justify-center p-6",children:(0,jsx_runtime.jsxs)("div",{className:"text-left bg-bg-light rounded relative w-full",children:[title?(0,jsx_runtime.jsx)("h2",{children:title}):(0,jsx_runtime.jsxs)("h2",{children:[product.name," plans"]}),(0,jsx_runtime.jsx)(PlanComparison_PlanComparison,{product:product,includeAddons:includeAddons})]})})})},AddonPlanTiers=_ref5=>{let{plan,addon}=_ref5,[showTiers,setShowTiers]=(0,react.useState)(!1);return showTiers?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(PricingTiers,{plan:plan,product:addon}),(0,jsx_runtime.jsx)("p",{className:"mb-0",children:(0,jsx_runtime.jsx)(src.rU,{onClick:()=>setShowTiers(!1),className:"text-xs",children:"Hide volume discounts"})})]}):(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsxs)("p",{className:"mb-1",children:[(0,jsx_runtime.jsxs)("b",{children:["First ",(0,billing_utils.i7)(plan?.tiers?.[0].up_to||0,null)," ",addon.unit,"s free"]}),", then just $",plan?.tiers?.[1].unit_amount_usd,"."]}),(0,jsx_runtime.jsx)("p",{className:"mb-0",children:(0,jsx_runtime.jsx)(src.rU,{onClick:()=>setShowTiers(!0),className:"text-xs",children:"Show volume discounts"})})]})}},"./frontend/src/scenes/billing/ProductPricingModal.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{S:()=>ProductPricingModal});var _posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),lib_utils__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/lib/utils.tsx"),_BillingProduct__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/scenes/billing/BillingProduct.tsx"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let ProductPricingModal=_ref=>{let{product,planKey,modalOpen,onClose}=_ref;if(!planKey)return null;let tiers=product?.plans?.find(plan=>plan.plan_key===planKey)?.tiers;if(!product||!tiers)return null;let isFirstTierFree=0===parseFloat(tiers[0]?.unit_amount_usd),numberOfSigFigs=tiers.map(tier=>tier.unit_amount_usd?.split(".")[1]?.length).sort((a,b)=>b-a)[0];return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.fQ,{isOpen:modalOpen,onClose:onClose,children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("div",{className:"flex items-center w-full h-full justify-center p-8",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("div",{className:"text-left bg-bg-light rounded relative w-full",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("h5",{className:"text-gray mb-1",children:[(0,lib_utils__WEBPACK_IMPORTED_MODULE_1__.fm)(product.name)," pricing, starting at"]}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("p",{className:"mb-1",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("span",{className:"font-bold text-base",children:["$",parseFloat(isFirstTierFree?tiers?.[1]?.unit_amount_usd:tiers?.[0]?.unit_amount_usd).toFixed(numberOfSigFigs)]}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("span",{className:"text-gray",children:["/",product.unit]})]}),isFirstTierFree&&(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("p",{className:"text-gray",children:[(0,_BillingProduct__WEBPACK_IMPORTED_MODULE_2__.Fk)(tiers,0,product,"month")," free"]}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("div",{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("h4",{className:"font-bold",children:"Volume discounts"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("div",{className:"",children:tiers.map((tier,i)=>(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("div",{className:"flex justify-between border-b border-border border-dashed py-1 gap-x-8",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("p",{className:"col-span-1 mb-0",children:(0,_BillingProduct__WEBPACK_IMPORTED_MODULE_2__.Fk)(tiers,i,product,"month")}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("p",{className:"font-bold mb-0 ",children:isFirstTierFree&&0===i?"Free":`$${parseFloat(tier.unit_amount_usd).toFixed(numberOfSigFigs)}`})]},`tiers-modal-${product.name}-tier-${i}`))})]})]})})})}},"./frontend/src/scenes/billing/PurchaseCreditsModal.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{B:()=>PurchaseCreditsModal});var _posthog_icons__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/@posthog+icons@0.9.2_react-dom@18.2.0_react@18.2.0/node_modules/@posthog/icons/dist/posthog-icons.es.js"),_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),kea__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_forms__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/.pnpm/kea-forms@3.2.0_kea@3.1.5/node_modules/kea-forms/lib/index.js"),lib_components_Support_supportLogic__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/components/Support/supportLogic.ts"),lib_lemon_ui_LemonField__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonField/index.ts"),lib_lemon_ui_LemonRadio__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonRadio/index.ts"),_BillingGauge__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/scenes/billing/BillingGauge.tsx"),_billingLogic__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./frontend/src/scenes/billing/billingLogic.tsx"),_CreditCTAHero__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./frontend/src/scenes/billing/CreditCTAHero.tsx"),_types__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__("./frontend/src/scenes/billing/types.ts"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let PurchaseCreditsModal=()=>{let{showPurchaseCreditsModal,submitCreditForm}=(0,kea__WEBPACK_IMPORTED_MODULE_2__.useActions)(_billingLogic__WEBPACK_IMPORTED_MODULE_8__.kr),{creditOverview,isCreditFormSubmitting,creditForm,creditDiscount}=(0,kea__WEBPACK_IMPORTED_MODULE_2__.useValues)(_billingLogic__WEBPACK_IMPORTED_MODULE_8__.kr),{openSupportForm}=(0,kea__WEBPACK_IMPORTED_MODULE_2__.useActions)(lib_components_Support_supportLogic__WEBPACK_IMPORTED_MODULE_4__.Pw),creditInputValue=+creditForm.creditInput||0,estimatedMonthlyCreditAmountUsd=creditOverview.estimated_monthly_credit_amount_usd||_CreditCTAHero__WEBPACK_IMPORTED_MODULE_9__.N;return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__.fQ,{onClose:()=>showPurchaseCreditsModal(!1),width:"max(44vw)",title:"Prepay for usage credits and get a discount",footer:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.Fragment,{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__.Jp,{type:"secondary",onClick:()=>showPurchaseCreditsModal(!1),disabled:isCreditFormSubmitting,children:"Cancel"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__.Jp,{type:"primary",onClick:()=>submitCreditForm(),loading:isCreditFormSubmitting,children:["Buy"," ",creditForm.creditInput?`$${Math.round(creditInputValue-creditInputValue*creditDiscount).toLocaleString("en-US",{minimumFractionDigits:0,maximumFractionDigits:0})}`:""," ","credits"]})]}),children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(kea_forms__WEBPACK_IMPORTED_MODULE_3__.Form,{formKey:"creditForm",logic:_billingLogic__WEBPACK_IMPORTED_MODULE_8__.kr,enableFormOnSubmit:!0,children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("div",{className:"flex flex-col gap-3.5",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("p",{className:"mb-0",children:"We're giving you the option to buy usage credits in advance at discount of up to 30%."}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("p",{className:"mb-0",children:["Based on your usage, we think you'll use"," ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("b",{children:["$",(+estimatedMonthlyCreditAmountUsd).toLocaleString("en-US",{minimumFractionDigits:0,maximumFractionDigits:0})]})," ","of credits per month, for a total of"," ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("b",{children:["$",(12*+estimatedMonthlyCreditAmountUsd).toLocaleString("en-US",{minimumFractionDigits:0,maximumFractionDigits:0})]})," ","credits for the year."]}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(lib_lemon_ui_LemonField__WEBPACK_IMPORTED_MODULE_5__.D,{name:"creditInput",label:"How many credits do you want to purchase?",help:"Credits are dispersed monthly and roll over to the next month. If you use more than the available credits in any month, you'll pay for the usage at the standard rate. Credits expire after 1 year from purchase.",children:_ref=>{let{value,onChange,error}=_ref;return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("div",{className:"max-w-40",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__.DF,{type:"number",fullWidth:!1,status:error?"danger":"default",value:value,"data-attr":"credit-input",onChange:onChange,prefix:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("b",{children:"$"}),min:0,step:10,suffix:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.Fragment,{children:"/ year"}),size:"small"})})}}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(_BillingGauge__WEBPACK_IMPORTED_MODULE_7__.V,{items:[{type:_types__WEBPACK_IMPORTED_MODULE_10__.b.FreeTier,text:creditInputValue>=3e3&&creditInputValue<2e4?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.Fragment,{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(_posthog_icons__WEBPACK_IMPORTED_MODULE_0__.IconCheckCircle,{className:"text-success"})," 10% off"]}):"10% off",value:3e3,prefix:"$",top:!0},{type:_types__WEBPACK_IMPORTED_MODULE_10__.b.FreeTier,text:creditInputValue>=2e4&&creditInputValue<6e4?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.Fragment,{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(_posthog_icons__WEBPACK_IMPORTED_MODULE_0__.IconCheckCircle,{className:"text-success"})," 20% off"]}):"20% off",value:2e4,prefix:"$",top:!0},{type:_types__WEBPACK_IMPORTED_MODULE_10__.b.FreeTier,text:creditInputValue>=6e4&&creditInputValue<1e5?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.Fragment,{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(_posthog_icons__WEBPACK_IMPORTED_MODULE_0__.IconCheckCircle,{className:"text-success"})," 25% off"]}):"25% off",prefix:"$",value:6e4,top:!0},{type:_types__WEBPACK_IMPORTED_MODULE_10__.b.FreeTier,text:creditInputValue>=1e5?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.Fragment,{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(_posthog_icons__WEBPACK_IMPORTED_MODULE_0__.IconCheckCircle,{className:"text-success"})," 35% off"]}):"35% off",prefix:"$",value:1e5,top:!0},{type:_types__WEBPACK_IMPORTED_MODULE_10__.b.CurrentUsage,text:"Credits purchased",prefix:"$",value:creditInputValue,top:!1}],product:{percentage_usage:.3}}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("div",{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("p",{className:"mb-1 text-md font-semibold",children:"Payment details"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("p",{className:"mb-0",children:"Choose how you'd like to pay for your credits."})]}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(lib_lemon_ui_LemonField__WEBPACK_IMPORTED_MODULE_5__.D,{name:"collectionMethod",children:_ref2=>{let{value,onChange}=_ref2;return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(lib_lemon_ui_LemonRadio__WEBPACK_IMPORTED_MODULE_6__._,{value:value,onChange:onChange,options:[{value:"charge_automatically",label:creditOverview.cc_last_four?`Pay with credit card on file (**** ${creditOverview.cc_last_four})`:"Pay with credit card on file"},{value:"send_invoice",label:creditOverview.email?`Send me an invoice to ${creditOverview.email}`:"Send me an invoice"}]})}}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__.p2,{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("div",{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("p",{className:"mb-1 text-md font-semibold",children:"Summary"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("p",{className:"mb-0",children:"Here's a summary of what you'll pay."})]}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__.g3,{showHeader:!1,columns:[{title:"",dataIndex:"item"},{title:"",dataIndex:"value"}],dataSource:[{item:"Credits you'll receive",value:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("span",{className:"flex space-x-2",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("span",{className:"line-through",children:["$",creditInputValue.toLocaleString("en-US",{minimumFractionDigits:0,maximumFractionDigits:0})]}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("span",{className:"italic",children:["$",100*creditDiscount,"% off"]})]})},{item:"Discount",value:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("span",{className:"text-success-light",children:["-$",Math.round(creditInputValue*creditDiscount).toLocaleString("en-US",{minimumFractionDigits:0,maximumFractionDigits:0})]})},{item:"Due today",value:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("span",{className:"font-semibold",children:["$",Math.round(creditInputValue-creditInputValue*creditDiscount).toLocaleString("en-US",{minimumFractionDigits:0,maximumFractionDigits:0})]})}]}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("div",{className:"flex gap-2",children:["Have questions?"," ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_1__.rU,{onClick:()=>{showPurchaseCreditsModal(!1),openSupportForm({kind:"support",target_area:"billing"})},children:"Get support"})]})]})})})}},"./frontend/src/scenes/billing/UnsubscribeSurveyModal.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{f:()=>UnsubscribeSurveyModal_UnsubscribeSurveyModal});var injectStylesIntoStyleTag=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),injectStylesIntoStyleTag_default=__webpack_require__.n(injectStylesIntoStyleTag),UnsubscribeSurveyModal=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/billing/UnsubscribeSurveyModal.scss"),UnsubscribeSurveyModal_default=__webpack_require__.n(UnsubscribeSurveyModal),options={};options.insert="head",options.singleton=!1,injectStylesIntoStyleTag_default()(UnsubscribeSurveyModal_default(),options),UnsubscribeSurveyModal_default().locals;var src=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),index_esm=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),hedgehogs=__webpack_require__("./frontend/src/lib/components/hedgehogs.tsx"),Hogfetti=__webpack_require__("./frontend/src/lib/components/Hogfetti/Hogfetti.tsx"),supportLogic=__webpack_require__("./frontend/src/lib/components/Support/supportLogic.ts"),react=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/index.js"),billingLogic=__webpack_require__("./frontend/src/scenes/billing/billingLogic.tsx"),billingProductLogic=__webpack_require__("./frontend/src/scenes/billing/billingProductLogic.ts"),posthog_icons_es=__webpack_require__("./node_modules/.pnpm/@posthog+icons@0.9.2_react-dom@18.2.0_react@18.2.0/node_modules/@posthog/icons/dist/posthog-icons.es.js"),LemonButton=__webpack_require__("./frontend/src/lib/lemon-ui/LemonButton/index.ts"),LemonTable=__webpack_require__("./frontend/src/lib/lemon-ui/LemonTable/index.ts"),LemonTableLink=__webpack_require__("./frontend/src/lib/lemon-ui/LemonTable/LemonTableLink.tsx"),organizationLogic=__webpack_require__("./frontend/src/scenes/organizationLogic.tsx"),lib=__webpack_require__("./node_modules/.pnpm/kea-loaders@3.0.0_kea@3.1.5/node_modules/kea-loaders/lib/index.js"),api=__webpack_require__("./frontend/src/lib/api.ts"),getAppContext=__webpack_require__("./frontend/src/lib/utils/getAppContext.ts"),constants=__webpack_require__("./frontend/src/scenes/pipeline/destinations/constants.ts"),destinationsLogic=__webpack_require__("./frontend/src/scenes/pipeline/destinations/destinationsLogic.tsx"),HogFunctionIcon=__webpack_require__("./frontend/src/scenes/pipeline/hogfunctions/HogFunctionIcon.tsx"),pipelineAccessLogic=__webpack_require__("./frontend/src/scenes/pipeline/pipelineAccessLogic.tsx"),types=__webpack_require__("./frontend/src/scenes/pipeline/types.ts"),urls=__webpack_require__("./frontend/src/scenes/urls.ts"),userLogic=__webpack_require__("./frontend/src/scenes/userLogic.ts"),src_types=__webpack_require__("./frontend/src/types.ts"),utils=__webpack_require__("./frontend/src/scenes/pipeline/utils.tsx"),jsx_runtime=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let exportsUnsubscribeTableLogic=(0,index_esm.kea)([(0,index_esm.path)(["scenes","pipeline","ExportsUnsubscribeTableLogic"]),(0,index_esm.connect)(()=>({values:[pipelineAccessLogic.g,["canConfigurePlugins"],userLogic.userLogic,["user"],(0,destinationsLogic.w)({types:constants.SO}),["paidHogFunctions"]],actions:[(0,destinationsLogic.w)({types:constants.SO}),["toggleNodeHogFunction"]]})),(0,index_esm.actions)({disablePlugin:id=>({id}),pauseBatchExport:id=>({id}),disableHogFunction:id=>({id})}),(0,lib.loaders)(_ref=>{let{values}=_ref;return{pluginConfigsToDisable:[{},{loadPluginConfigs:async()=>{let res=await api.ZP.get("api/organizations/@current/plugins/exports_unsubscribe_configs");return Object.fromEntries(res.map(pluginConfig=>[pluginConfig.id,pluginConfig]))},disablePlugin:async _ref2=>{let{id}=_ref2;if(!values.canConfigurePlugins)return values.pluginConfigsToDisable;let response=await api.ZP.update(`api/plugin_config/${id}`,{enabled:!1,deleted:!0});return{...values.pluginConfigsToDisable,[id]:response}}}],batchExportConfigs:[{},{loadBatchExportConfigs:async()=>{let res=await api.ZP.loadPaginatedResults("api/organizations/@current/batch_exports");return Object.fromEntries(res.filter(batchExportConfig=>!batchExportConfig.paused).map(batchExportConfig=>[batchExportConfig.id,batchExportConfig]))},pauseBatchExport:async _ref3=>{let{id}=_ref3;return await api.ZP.create(`api/organizations/@current/batch_exports/${id}/pause`),{...values.batchExportConfigs,[id]:{...values.batchExportConfigs[id],paused:!0}}}}]}}),(0,index_esm.selectors)({loading:[s=>[s.batchExportConfigsLoading,s.pluginConfigsToDisableLoading],(batchExportsLoading,pluginConfigsLoading)=>batchExportsLoading||pluginConfigsLoading],unsubscribeDisabledReason:[s=>[s.loading,s.pluginConfigsToDisable,s.batchExportConfigs],(loading,pluginConfigsToDisable,batchExportConfigs)=>loading?"Loading...":Object.values(pluginConfigsToDisable).some(pluginConfig=>pluginConfig.enabled)?"All apps above must be disabled first":Object.values(batchExportConfigs).some(batchExportConfig=>!batchExportConfig.paused)?"All batch exports must be disabled first":null],itemsToDisable:[s=>[s.pluginConfigsToDisable,s.batchExportConfigs,s.paidHogFunctions],(pluginConfigsToDisable,batchExportConfigs,paidHogFunctions)=>{let pluginConfigs=Object.values(pluginConfigsToDisable).map(pluginConfig=>({plugin_config_id:pluginConfig.id,team_id:pluginConfig.team_id,name:pluginConfig.name,description:pluginConfig.description,icon:(0,jsx_runtime.jsx)(utils.Wf,{plugin:pluginConfig.plugin_info,imageSize:"small"}),disabled:!pluginConfig.enabled,url:urls.j.pipelineNode(src_types.We.Destination,pluginConfig.id)})),batchExports=Object.values(batchExportConfigs).map(batchExportConfig=>({batch_export_id:batchExportConfig.id,team_id:batchExportConfig.team_id,name:batchExportConfig.name,description:batchExportConfig.destination.type,icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconDatabase,{style:{fontSize:30}}),disabled:batchExportConfig.paused,url:urls.j.pipelineNode(src_types.We.Destination,batchExportConfig.id)})),hogFunctions=paidHogFunctions.map(hogFunction=>({hog_function_id:hogFunction.id,team_id:(0,getAppContext.ev)(),name:hogFunction.name,description:hogFunction.description,icon:(0,jsx_runtime.jsx)(HogFunctionIcon._,{src:hogFunction.icon_url,size:"small"}),disabled:!1,url:urls.j.pipelineNode(src_types.We.Destination,`hog-${hogFunction.id}`)}));return[...pluginConfigs,...batchExports,...hogFunctions]}]}),(0,index_esm.listeners)(_ref4=>{let{actions,values}=_ref4;return{disableHogFunction:_ref5=>{var _values$paidHogFuncti;let{id}=_ref5,hogFunction=(null!==(_values$paidHogFuncti=values.paidHogFunctions)&&void 0!==_values$paidHogFuncti?_values$paidHogFuncti:[]).find(f=>f.id===id);hogFunction&&actions.toggleNodeHogFunction({name:hogFunction.name,enabled:!0,stage:src_types.We.Destination,interval:"realtime",backend:types.b.HogFunction,id,hog_function:hogFunction},!1)}}}),(0,index_esm.afterMount)(_ref6=>{let{actions}=_ref6;actions.loadPluginConfigs(),actions.loadBatchExportConfigs()})]);function ExportsUnsubscribeTable(){let{loading,itemsToDisable}=(0,index_esm.useValues)(exportsUnsubscribeTableLogic),{disablePlugin,pauseBatchExport,disableHogFunction}=(0,index_esm.useActions)(exportsUnsubscribeTableLogic),{currentOrganization}=(0,index_esm.useValues)(organizationLogic.p);return currentOrganization?(0,jsx_runtime.jsx)(LemonTable.g,{dataSource:itemsToDisable,size:"small",loading:loading,columns:[{width:0,render:function RenderAppInfo(_,item){return item.icon}},{title:"App name",render:function RenderPluginName(_,item){return(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:(0,jsx_runtime.jsx)(LemonTableLink.i,{to:item.url,title:item.name,description:item.description})})}},{title:"Project",render:function RenderTeam(_,item){return currentOrganization.teams.find(team=>team.id===item.team_id)?.name}},{title:"",render:function RenderPluginDisable(_,item){return(0,jsx_runtime.jsx)(LemonButton.J,{type:"secondary",onClick:()=>{void 0!==item.plugin_config_id?disablePlugin(item.plugin_config_id):void 0!==item.batch_export_id?pauseBatchExport(item.batch_export_id):void 0!==item.hog_function_id&&disableHogFunction(item.hog_function_id)},disabledReason:item.disabled?"Already disabled":null,icon:item.disabled?(0,jsx_runtime.jsx)(posthog_icons_es.IconCheckCircle,{}):void 0,children:item.disabled?"Disabled":"Disable"})}}]}):(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{})}let UnsubscribeSurveyModal_UnsubscribeSurveyModal=_ref=>{let{product}=_ref,{trigger,HogfettiComponent}=(0,Hogfetti.Z)(),{surveyID,surveyResponse,isAddonProduct,unsubscribeModalStep,unsubscribeReasonQuestions}=(0,index_esm.useValues)((0,billingProductLogic.cD)({product,hogfettiTrigger:trigger})),{setSurveyResponse,toggleSurveyReason,reportSurveyDismissed,setUnsubscribeModalStep,resetUnsubscribeModalStep,setHedgehogSatisfied,triggerMoreHedgehogs}=(0,index_esm.useActions)((0,billingProductLogic.cD)({product})),{deactivateProduct,resetUnsubscribeError}=(0,index_esm.useActions)(billingLogic.kr),{unsubscribeError,billingLoading,billing}=(0,index_esm.useValues)(billingLogic.kr),{unsubscribeDisabledReason,itemsToDisable}=(0,index_esm.useValues)(exportsUnsubscribeTableLogic),{openSupportForm}=(0,index_esm.useActions)(supportLogic.Pw),[randomizedReasons]=(0,react.useState)(billingProductLogic.G),textAreaNotEmpty=surveyResponse.$survey_response?.length>0,includesPipelinesAddon="data_pipelines"==product.type||"product_analytics"==product.type&&product?.addons?.filter(addon=>"data_pipelines"===addon.type)[0]?.subscribed||billing?.subscription_level==="paid"&&!isAddonProduct,action="Unsubscribe",actionVerb="unsubscribing";return billing?.subscription_level==="paid"&&(action=isAddonProduct?"Remove addon":"Downgrade",actionVerb=isAddonProduct?"removing this addon":"downgrading"),(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(HogfettiComponent,{}),(0,jsx_runtime.jsx)(src.fQ,{onClose:()=>{reportSurveyDismissed(surveyID),resetUnsubscribeError(),resetUnsubscribeModalStep()},width:"max(44vw)",title:isAddonProduct?action:"platform_and_support"===product.type?`${action} your plan`:`${action} from ${product.name}`,footer:1===unsubscribeModalStep?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(src.Jp,{type:"secondary",onClick:()=>{reportSurveyDismissed(surveyID)},children:"Cancel"}),(0,jsx_runtime.jsx)(src.Jp,{type:textAreaNotEmpty?"primary":"secondary",disabledReason:0===surveyResponse.$survey_response_2.length?"Please select a reason":textAreaNotEmpty?includesPipelinesAddon?unsubscribeDisabledReason:void 0:"Please share your feedback",onClick:()=>{surveyResponse.$survey_response_2.includes("Not enough hedgehogs")?(setUnsubscribeModalStep(2),triggerMoreHedgehogs()):deactivateProduct(billing?.subscription_level!=="paid"||isAddonProduct?product.type:"all_products")},loading:billingLoading,children:action})]}):null,children:1===unsubscribeModalStep?(0,jsx_runtime.jsxs)("div",{className:"flex flex-col gap-3.5",children:[unsubscribeError&&(0,jsx_runtime.jsx)(src.Vp,{type:"error",children:(0,jsx_runtime.jsxs)("p",{children:[unsubscribeError.detail," ",unsubscribeError.link]})}),isAddonProduct?(0,jsx_runtime.jsx)("p",{className:"mb-0",children:"We're sorry to see you go! Please note, you'll lose access to the addon features immediately."}):(0,jsx_runtime.jsxs)("p",{className:"mb-0",children:["We're sorry to see you go! Please note, you'll lose access to platform features and usage limits will apply immediately. And if you have any outstanding invoices, they will be billed immediately."," ",(0,jsx_runtime.jsx)(src.rU,{to:billing?.stripe_portal_url,target:"_blank",children:"View invoices"})]}),(0,jsx_runtime.jsxs)(src.HQ,{children:[billing?.subscription_level==="paid"?`Why are you ${actionVerb}?`:`Why are you ${actionVerb} from ${product.name}?`," ",(0,jsx_runtime.jsx)("i",{className:"text-muted",children:"(you can select multiple)"}),(0,jsx_runtime.jsx)(src.u,{title:"Required",children:(0,jsx_runtime.jsx)("span",{className:"text-danger",children:"*"})})]}),(0,jsx_runtime.jsx)("div",{className:"grid grid-cols-2 gap-2",children:randomizedReasons.map(reason=>(0,jsx_runtime.jsx)(src.Hw,{bordered:!0,label:reason.reason,dataAttr:`unsubscribe-reason-${reason.reason.toLowerCase().replace(" ","-")}`,checked:surveyResponse.$survey_response_2.includes(reason.reason),onChange:()=>toggleSurveyReason(reason.reason),className:"w-full",labelClassName:"w-full"},reason.reason))}),surveyResponse.$survey_response_2.length>0&&(0,jsx_runtime.jsx)(src._V,{"data-attr":"unsubscribe-reason-survey-textarea",placeholder:unsubscribeReasonQuestions,value:surveyResponse.$survey_response,onChange:value=>{setSurveyResponse("$survey_response",value)}}),(0,jsx_runtime.jsx)(src.Vp,{type:"info",children:(0,jsx_runtime.jsxs)("p",{children:["Are you looking to control your costs? Learn about ways to ",(0,jsx_runtime.jsx)(src.rU,{to:"https://posthog.com/docs/billing/estimating-usage-costs#how-to-reduce-your-posthog-costs",target:"_blank",onClick:()=>{reportSurveyDismissed(surveyID)},children:"reduce your bill"}),`${"session_replay"!==product.type?" or ":", "}`,(0,jsx_runtime.jsx)(src.rU,{to:"",target:"_blank",onClick:()=>{reportSurveyDismissed(surveyID),openSupportForm({target_area:"billing",isEmailFormOpen:!0})},children:"chat with support"}),"session_replay"===product.type&&(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[", or ",(0,jsx_runtime.jsx)(src.rU,{to:"mailto:sales@posthog.com?subject=Joining%session%replay%controls%20beta",target:"_blank",onClick:()=>{reportSurveyDismissed(surveyID)},children:"join our beta"})," for tuning recording volume with sampling and minimum duration."]}),"."]})}),includesPipelinesAddon&&itemsToDisable.length>0?(0,jsx_runtime.jsxs)("div",{className:"mt-6",children:[(0,jsx_runtime.jsx)("h3",{className:"mt-2 mb-2 mr-8",children:"Important: Disable remaining export apps"}),(0,jsx_runtime.jsx)("p",{children:"To avoid unexpected impact on your data, you must explicitly disable the following apps and exports before unsubscribing:"}),(0,jsx_runtime.jsx)(ExportsUnsubscribeTable,{})]}):null]}):(0,jsx_runtime.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,jsx_runtime.jsxs)("div",{className:"text-center",children:[(0,jsx_runtime.jsx)("h3",{className:"text-lg mb-2",children:"How about now? Was that enough hedgehogs?"}),(0,jsx_runtime.jsx)("p",{className:"text-muted mb-4",children:"Look at all these adorable hedgehogs dancing just for you! \uD83E\uDD94✨"}),(0,jsx_runtime.jsx)("div",{className:"flex justify-center items-center",children:(0,jsx_runtime.jsx)(hedgehogs.HeartHog,{width:"100",height:"100"})})]}),(0,jsx_runtime.jsx)("div",{className:"flex gap-2 justify-center",children:(0,jsx_runtime.jsx)(src.rU,{onClick:triggerMoreHedgehogs,disabled:billingLoading,children:"Still not enough! More hedgehogs! \uD83E\uDD94"})}),(0,jsx_runtime.jsx)(src.p2,{}),(0,jsx_runtime.jsxs)("div",{className:"space-y-2 flex flex-col items-center justify-center",children:[(0,jsx_runtime.jsxs)(src.Jp,{type:"primary",loading:billingLoading,onClick:()=>{setHedgehogSatisfied(!0),deactivateProduct(billing?.subscription_level!=="paid"||isAddonProduct?product.type:"all_products")},children:["Never enough, proceed with ",action]}),(0,jsx_runtime.jsx)(src.Jp,{type:"tertiary",disabled:billingLoading,onClick:()=>{resetUnsubscribeModalStep(),reportSurveyDismissed(surveyID)},children:"You convinced me to stay! \uD83D\uDC95"})]})]})})]})}},"./frontend/src/scenes/billing/billing-utils.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{MG:()=>getProration,Y_:()=>getUpgradeProductLink,i7:()=>convertLargeNumberToWords,nz:()=>summarizeUsage,x:()=>getProrationMessage,zu:()=>convertAmountToUsage}),__webpack_require__("./frontend/src/lib/dayjs.ts");let summarizeUsage=usage=>null===usage?"":usage<1e3?`${usage}`:1e3>Math.round(usage/1e3)?`${Math.round(usage/1e3)} thousand`:`${Math.round(usage/1e6)} million`,convertAmountToUsage=(amount,productAndAddonTiers,discountPercent)=>{let previousTier;if(!amount||!productAndAddonTiers||0===productAndAddonTiers.length)return 0;let tiers=productAndAddonTiers[0].map((tier,index)=>{let allAddonsTiers=productAndAddonTiers.slice(1),totalAmount=parseFloat(tier.unit_amount_usd),flatFee=parseFloat(tier.flat_amount_usd||"0");for(let addonTiers of allAddonsTiers)totalAmount+=parseFloat(addonTiers[index].unit_amount_usd),flatFee+=parseFloat(addonTiers[index].flat_amount_usd||"0");return{...tier,unit_amount_usd:totalAmount.toString(),flat_amount_usd:flatFee.toString()}}),remainingAmount=parseFloat(amount),usage=0;if(0===remainingAmount)return 0===parseFloat(tiers[0].unit_amount_usd)&&tiers[0].up_to||0;discountPercent&&(remainingAmount/=1-discountPercent/100);let allTiersZero=tiers.every(tier=>!parseFloat(tier.unit_amount_usd));if(allTiersZero)return tiers[0].up_to||0;for(let tier of tiers){if(remainingAmount<=0)break;let tierUsageMax=tier.up_to?tier.up_to-(previousTier?.up_to||0):1/0,amountFloatUsd=parseFloat(tier.unit_amount_usd),tierFlatFee=parseFloat(tier.flat_amount_usd||"0"),usageThisTier=Math.min(remainingAmount/amountFloatUsd,tierUsageMax);usage+=usageThisTier,remainingAmount-=amountFloatUsd*usageThisTier,tierFlatFee&&(remainingAmount-=tierFlatFee),previousTier=tier}return Math.round(usage)},getUpgradeProductLink=_ref=>{let{product,redirectPath,includeAddons=!0}=_ref,url="/api/billing/activate?";if(redirectPath&&(url+=`redirect_path=${redirectPath}&`),url+=`products=all_products:&intent_product=${product.type},`,includeAddons&&product.addons?.length)for(let addon of product.addons)addon.plans?.[0]?.plan_key&&!addon.inclusion_only&&(url+=`${addon.type}:${addon.plans[0].plan_key},`);return url.slice(0,-1)},convertLargeNumberToWords=function(num,previousNum){let multipleTiers=arguments.length>2&&void 0!==arguments[2]&&arguments[2],productType=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;if(null===num&&previousNum)return`${convertLargeNumberToWords(previousNum,null)} +`;if(null===num)return"";let denominator=1;num>=1e6?denominator=1e6:num>=1e3&&(denominator=1e3);let prevDenominator=1;return previousNum&&previousNum>=1e6?prevDenominator=1e6:previousNum&&previousNum>=1e3&&(prevDenominator=1e3),`${previousNum?`${((previousNum+1)/prevDenominator).toFixed(0)}-`:multipleTiers?"First ":""}${(num/denominator).toFixed(0)}${1e6===denominator?" million":1e3===denominator?"k":""}${!previousNum&&multipleTiers?` ${productType}s/mo`:""}`},getProration=_ref2=>{let{timeRemainingInSeconds,timeTotalInSeconds,amountUsd,hasActiveSubscription}=_ref2;if(0===timeTotalInSeconds)return{isProrated:!1,prorationAmount:"0.00"};let prorationAmount=amountUsd?parseInt(amountUsd)*(timeRemainingInSeconds/timeTotalInSeconds):0;return{isProrated:!!hasActiveSubscription&&!!amountUsd&&prorationAmount!==parseInt(amountUsd||""),prorationAmount:prorationAmount.toFixed(2)}},getProrationMessage=(prorationAmount,unitAmountUsd)=>`Pay ~$${prorationAmount} today (prorated) and $${parseInt(unitAmountUsd||"0")} every month thereafter.`},"./frontend/src/scenes/billing/billingLogic.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{kr:()=>billingLogic});var _posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),kea__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_forms__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-forms@3.2.0_kea@3.1.5/node_modules/kea-forms/lib/index.js"),kea_loaders__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/.pnpm/kea-loaders@3.0.0_kea@3.1.5/node_modules/kea-loaders/lib/index.js"),kea_router__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),lib_api__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/lib/api.ts"),lib_constants__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/lib/constants.tsx"),lib_dayjs__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/lib/dayjs.ts"),lib_lemon_ui_LemonBanner_lemonBannerLogic__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonBanner/lemonBannerLogic.ts"),lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),lib_utils__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__("./frontend/src/lib/utils.tsx"),lib_utils_eventUsageLogic__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__("./frontend/src/lib/utils/eventUsageLogic.ts"),posthog_js__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__("./node_modules/.pnpm/posthog-js@1.205.0/node_modules/posthog-js/dist/module.js"),scenes_PreflightCheck_preflightLogic__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__("./frontend/src/scenes/PreflightCheck/preflightLogic.tsx"),scenes_userLogic__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__("./frontend/src/scenes/userLogic.ts"),_types__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__("./frontend/src/types.ts"),_CreditCTAHero__WEBPACK_IMPORTED_MODULE_16__=__webpack_require__("./frontend/src/scenes/billing/CreditCTAHero.tsx"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_17__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let BillingAPIErrorCodes=function(BillingAPIErrorCodes){return BillingAPIErrorCodes.OPEN_INVOICES_ERROR="open_invoices_error",BillingAPIErrorCodes.NO_ACTIVE_PAYMENT_METHOD_ERROR="no_active_payment_method_error",BillingAPIErrorCodes.COULD_NOT_PAY_INVOICES_ERROR="could_not_pay_invoices_error",BillingAPIErrorCodes}({}),parseBillingResponse=data=>(data.billing_period&&(data.billing_period={current_period_start:(0,lib_dayjs__WEBPACK_IMPORTED_MODULE_7__.Bv)(data.billing_period.current_period_start),current_period_end:(0,lib_dayjs__WEBPACK_IMPORTED_MODULE_7__.Bv)(data.billing_period.current_period_end),interval:data.billing_period.interval}),data.free_trial_until=data.free_trial_until?(0,lib_dayjs__WEBPACK_IMPORTED_MODULE_7__.Bv)(data.free_trial_until):void 0,data.amount_off_expires_at=data.amount_off_expires_at?(0,lib_dayjs__WEBPACK_IMPORTED_MODULE_7__.Bv)(data.amount_off_expires_at):void 0,data.amount_off_expires_at&&data.billing_period&&data.amount_off_expires_at.isBefore(data.billing_period.current_period_end)&&data.amount_off_expires_at.isAfter(data.billing_period.current_period_start)&&(data.amount_off_expires_at=data.billing_period.current_period_end),data),billingLogic=(0,kea__WEBPACK_IMPORTED_MODULE_1__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_1__.path)(["scenes","billing","billingLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_1__.actions)({setProductSpecificAlert:productSpecificAlert=>({productSpecificAlert}),setScrollToProductKey:scrollToProductKey=>({scrollToProductKey}),setShowLicenseDirectInput:show=>({show}),reportBillingAlertShown:alertConfig=>({alertConfig}),reportBillingAlertActionClicked:alertConfig=>({alertConfig}),reportCreditsFormSubmitted:creditInput=>({creditInput}),reportCreditsModalShown:!0,reportBillingShown:!0,registerInstrumentationProps:!0,reportCreditsCTAShown:creditOverview=>({creditOverview}),setRedirectPath:!0,setIsOnboarding:!0,determineBillingAlert:!0,setUnsubscribeError:error=>({error}),resetUnsubscribeError:!0,setBillingAlert:billingAlert=>({billingAlert}),showPurchaseCreditsModal:isOpen=>({isOpen}),toggleCreditCTAHeroDismissed:isDismissed=>({isDismissed}),setComputedDiscount:discount=>({discount})}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.connect)(()=>({values:[lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_9__.h,["featureFlags"],scenes_PreflightCheck_preflightLogic__WEBPACK_IMPORTED_MODULE_13__.preflightLogic,["preflight"]],actions:[scenes_userLogic__WEBPACK_IMPORTED_MODULE_14__.userLogic,["loadUser"],lib_utils_eventUsageLogic__WEBPACK_IMPORTED_MODULE_11__.vx,["reportProductUnsubscribed"],(0,lib_lemon_ui_LemonBanner_lemonBannerLogic__WEBPACK_IMPORTED_MODULE_8__.A)({dismissKey:"usage-limit-exceeded"}),["resetDismissKey as resetUsageLimitExceededKey"],(0,lib_lemon_ui_LemonBanner_lemonBannerLogic__WEBPACK_IMPORTED_MODULE_8__.A)({dismissKey:"usage-limit-approaching"}),["resetDismissKey as resetUsageLimitApproachingKey"]]})),(0,kea__WEBPACK_IMPORTED_MODULE_1__.reducers)({billingAlert:[null,{setBillingAlert:(_,_ref)=>{let{billingAlert}=_ref;return billingAlert}}],scrollToProductKey:[null,{setScrollToProductKey:(_,_ref2)=>{let{scrollToProductKey}=_ref2;return scrollToProductKey}}],productSpecificAlert:[null,{setProductSpecificAlert:(_,_ref3)=>{let{productSpecificAlert}=_ref3;return productSpecificAlert}}],showLicenseDirectInput:[!1,{setShowLicenseDirectInput:(_,_ref4)=>{let{show}=_ref4;return show}}],redirectPath:["",{setRedirectPath:()=>window.location.pathname.includes("/onboarding")?window.location.pathname+window.location.search:""}],isOnboarding:[!1,{setIsOnboarding:()=>window.location.pathname.includes("/onboarding")}],unsubscribeError:[null,{resetUnsubscribeError:()=>null,setUnsubscribeError:(_,_ref5)=>{let{error}=_ref5;return error}}],timeRemainingInSeconds:[0,{loadBillingSuccess:(_,_ref6)=>{let{billing}=_ref6;if(!billing?.billing_period)return 0;let currentTime=(0,lib_dayjs__WEBPACK_IMPORTED_MODULE_7__.Bv)(),periodEnd=(0,lib_dayjs__WEBPACK_IMPORTED_MODULE_7__.Bv)(billing.billing_period.current_period_end);return periodEnd.diff(currentTime,"second")}}],timeTotalInSeconds:[0,{loadBillingSuccess:(_,_ref7)=>{let{billing}=_ref7;if(!billing?.billing_period)return 0;let periodStart=(0,lib_dayjs__WEBPACK_IMPORTED_MODULE_7__.Bv)(billing.billing_period.current_period_start),periodEnd=(0,lib_dayjs__WEBPACK_IMPORTED_MODULE_7__.Bv)(billing.billing_period.current_period_end);return periodEnd.diff(periodStart,"second")}}],isPurchaseCreditsModalOpen:[!1,{showPurchaseCreditsModal:(_,_ref8)=>{let{isOpen}=_ref8;return isOpen}}],isCreditCTAHeroDismissed:[!1,{persist:!0},{toggleCreditCTAHeroDismissed:(_,_ref9)=>{let{isDismissed}=_ref9;return isDismissed}}],computedDiscount:[0,{setComputedDiscount:(_,_ref10)=>{let{discount}=_ref10;return discount}}]}),(0,kea_loaders__WEBPACK_IMPORTED_MODULE_3__.loaders)(_ref11=>{let{actions,values}=_ref11;return{billing:[null,{loadBilling:async()=>{let skipForecasting=values.featureFlags[lib_constants__WEBPACK_IMPORTED_MODULE_6__.y8.BILLING_SKIP_FORECASTING],response=await lib_api__WEBPACK_IMPORTED_MODULE_5__.ZP.get("api/billing"+(skipForecasting?"?include_forecasting=false":""));return parseBillingResponse(response)},updateBillingLimits:async limits=>{try{let response=await lib_api__WEBPACK_IMPORTED_MODULE_5__.ZP.update("api/billing",{custom_limits_usd:limits});return _posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.success("Billing limits updated"),parseBillingResponse(response)}catch(error){throw _posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.error("There was an error updating your billing limits. Please try again or contact support."),error}},deactivateProduct:async key=>{let currentURL=new URL(window.location.href);currentURL.searchParams.delete("upgraded"),currentURL.searchParams.delete("products"),kea_router__WEBPACK_IMPORTED_MODULE_4__.router.actions.push(currentURL.pathname+currentURL.search),actions.resetUnsubscribeError();try{let response=await lib_api__WEBPACK_IMPORTED_MODULE_5__.ZP.getResponse("api/billing/deactivate?products="+key),jsonRes=await (0,lib_api__WEBPACK_IMPORTED_MODULE_5__.$6)(response);return _posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.success("You have been unsubscribed. We're sad to see you go. May the hedgehogs be ever in your favor."),actions.reportProductUnsubscribed(key),parseBillingResponse(jsonRes)}catch(error){return error.code?error.code===BillingAPIErrorCodes.OPEN_INVOICES_ERROR?actions.setUnsubscribeError({detail:error.detail,link:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_17__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.rU,{to:values.billing?.stripe_portal_url,target:"_blank",children:"View invoices"})}):error.code===BillingAPIErrorCodes.NO_ACTIVE_PAYMENT_METHOD_ERROR?actions.setUnsubscribeError({detail:error.detail}):error.code===BillingAPIErrorCodes.COULD_NOT_PAY_INVOICES_ERROR&&actions.setUnsubscribeError({detail:error.detail,link:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_17__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.rU,{to:error.link||values.billing?.stripe_portal_url,target:"_blank",children:error.link?"View invoice":"View invoices"})}):actions.setUnsubscribeError({detail:"string"==typeof error.detail?error.detail:"We encountered a problem. Please try again or submit a support ticket."}),console.error(error),values.billing}}}],billingError:[null,{getInvoices:async()=>{try{let res=await lib_api__WEBPACK_IMPORTED_MODULE_5__.ZP.getResponse("api/billing/get_invoices?status=open"),jsonRes=await (0,lib_api__WEBPACK_IMPORTED_MODULE_5__.$6)(res),numOpenInvoices=jsonRes.count;if(numOpenInvoices>0){let viewInvoicesButton={to:1==numOpenInvoices&&jsonRes.link?jsonRes.link:values.billing?.stripe_portal_url,children:`View invoice${numOpenInvoices>1?"s":""}`,targetBlank:!0};return{status:"warning",message:`You have ${numOpenInvoices} open invoice${numOpenInvoices>1?"s":""}. Please pay ${numOpenInvoices>1?"them":"it"} before adding items to your subscription.`,action:viewInvoicesButton}}}catch(error){console.error(error)}return null}}],creditOverview:[{eligible:!1,estimated_monthly_credit_amount_usd:_CreditCTAHero__WEBPACK_IMPORTED_MODULE_16__.N,status:"none",invoice_url:null,collection_method:null,cc_last_four:null,email:null},{loadCreditOverview:async()=>{if(values.billing?.has_active_subscription){let response=await lib_api__WEBPACK_IMPORTED_MODULE_5__.ZP.get("api/billing/credits/overview");return values.creditForm.creditInput||actions.setCreditFormValue("creditInput",Math.round(12*(response.estimated_monthly_credit_amount_usd||_CreditCTAHero__WEBPACK_IMPORTED_MODULE_16__.N))),response.eligible&&"none"===response.status&&actions.reportCreditsCTAShown(response),response}return{eligible:!1,estimated_monthly_credit_amount_usd:_CreditCTAHero__WEBPACK_IMPORTED_MODULE_16__.N,status:"none",invoice_url:null,collection_method:null,cc_last_four:null,email:null}}}],products:[[],{loadProducts:async()=>{let response=await lib_api__WEBPACK_IMPORTED_MODULE_5__.ZP.get("api/billing/available_products");return response}}]}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.selectors)({upgradeLink:[s=>[s.preflight],()=>"/organization/billing"],isUnlicensedDebug:[s=>[s.preflight,s.billing],(preflight,billing)=>!!preflight?.is_debug&&!billing?.billing_period],projectedTotalAmountUsdWithBillingLimits:[s=>[s.billing],billing=>{if(!billing)return 0;let projectedTotal=0;for(let product of billing.products||[]){let billingLimit=billing?.custom_limits_usd?.[product.type]||product.usage_key&&billing?.custom_limits_usd?.[product.usage_key]||0;projectedTotal+=Math.min(parseFloat(product.projected_amount_usd||"0"),billingLimit)}return projectedTotal}],supportPlans:[s=>[s.billing],billing=>{var _platformAndSupportPr;let platformAndSupportProduct=billing?.products?.find(product=>product.type==_types__WEBPACK_IMPORTED_MODULE_15__.Md.PLATFORM_AND_SUPPORT);if(!platformAndSupportProduct?.plans)return[];let addonPlans=platformAndSupportProduct?.addons?.map(addon=>addon.plans).flat(),insertionIndex=Math.max(0,(null!==(_platformAndSupportPr=platformAndSupportProduct?.plans?.length)&&void 0!==_platformAndSupportPr?_platformAndSupportPr:1)-1),allPlans=platformAndSupportProduct?.plans?.slice(0)||[];return allPlans.splice(insertionIndex,0,...addonPlans),allPlans}],hasSupportAddonPlan:[s=>[s.billing],billing=>!!billing?.products?.find(product=>product.type==_types__WEBPACK_IMPORTED_MODULE_15__.Md.PLATFORM_AND_SUPPORT)?.addons.find(addon=>addon.plans.find(plan=>plan.current_plan))],creditDiscount:[s=>[s.computedDiscount],computedDiscount=>computedDiscount||0]}),(0,kea_forms__WEBPACK_IMPORTED_MODULE_2__.forms)(_ref12=>{let{actions,values}=_ref12;return{activateLicense:{defaults:{license:""},errors:_ref13=>{let{license}=_ref13;return{license:license?void 0:"Please enter your license key"}},submit:async(_ref14,breakpoint)=>{let{license}=_ref14;await breakpoint(500);try{await lib_api__WEBPACK_IMPORTED_MODULE_5__.ZP.update("api/billing/license",{license}),kea_router__WEBPACK_IMPORTED_MODULE_4__.router.actions.replace(`/${values.isOnboarding?"ingestion":"organization"}/billing?success=true`),setTimeout(()=>{window.location.reload()},100)}catch(e){throw actions.setActivateLicenseManualErrors({license:e.detail||"License could not be activated. Please contact support."}),e}}},creditForm:{defaults:{creditInput:"",collectionMethod:"charge_automatically"},submit:async _ref15=>{let{creditInput,collectionMethod}=_ref15;await lib_api__WEBPACK_IMPORTED_MODULE_5__.ZP.create("api/billing/credits/purchase",{annual_amount_usd:+Math.round(+creditInput-+creditInput*values.creditDiscount),discount_percent:100*values.computedDiscount,collection_method:collectionMethod}),actions.showPurchaseCreditsModal(!1),actions.loadCreditOverview(),actions.reportCreditsFormSubmitted(+creditInput),_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.dn.open({title:"Your credit purchase has been submitted",width:536,content:"send_invoice"===collectionMethod?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_17__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_17__.Fragment,{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_17__.jsx)("p",{className:"mb-4",children:"The invoice for your credits has been created and it will be emailed to the email on file."}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_17__.jsx)("p",{children:"Once the invoice is paid we will apply the credits to your account. Until the invoice is paid you will be charged for usage as normal."})]}):(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_17__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_17__.Fragment,{children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_17__.jsxs)("p",{children:["Your card will be charged soon and the credits will be applied to your account. Please make sure your"," ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_17__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.rU,{to:values.billing?.stripe_portal_url,target:"_blank",children:"card on file"})," ","is up to date. You will receive an email when the credits are applied."]})})})},errors:_ref16=>{let{creditInput,collectionMethod}=_ref16;return{creditInput:creditInput?3333>+creditInput?"Please enter a credit amount of at least $3,333":void 0:"Please enter the amount of credits you want to purchase",collectionMethod:collectionMethod?void 0:"Please select a collection method"}}}}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.listeners)(_ref17=>{let{actions,values}=_ref17;return{reportBillingShown:()=>{posthog_js__WEBPACK_IMPORTED_MODULE_12__.ZP.capture("billing v2 shown")},reportBillingAlertShown:_ref18=>{let{alertConfig}=_ref18;posthog_js__WEBPACK_IMPORTED_MODULE_12__.ZP.capture("billing alert shown",{...alertConfig})},reportBillingAlertActionClicked:_ref19=>{let{alertConfig}=_ref19;posthog_js__WEBPACK_IMPORTED_MODULE_12__.ZP.capture("billing alert action clicked",{...alertConfig})},reportCreditsModalShown:()=>{posthog_js__WEBPACK_IMPORTED_MODULE_12__.ZP.capture("credits modal shown")},reportCreditsFormSubmitted:_ref20=>{let{creditInput}=_ref20;posthog_js__WEBPACK_IMPORTED_MODULE_12__.ZP.capture("credits modal credit form submitted",{credit_amount_usd:creditInput})},reportCreditsCTAShown:_ref21=>{let{creditOverview}=_ref21;posthog_js__WEBPACK_IMPORTED_MODULE_12__.ZP.capture("credits cta shown",{eligible:creditOverview.eligible,status:creditOverview.status,estimated_monthly_credit_amount_usd:creditOverview.estimated_monthly_credit_amount_usd||_CreditCTAHero__WEBPACK_IMPORTED_MODULE_16__.N})},toggleCreditCTAHeroDismissed:_ref22=>{let{isDismissed}=_ref22;isDismissed&&posthog_js__WEBPACK_IMPORTED_MODULE_12__.ZP.capture("credits cta hero dismissed")},loadBillingSuccess:()=>{kea_router__WEBPACK_IMPORTED_MODULE_4__.router.values.location.pathname.includes("/organization/billing")&&kea_router__WEBPACK_IMPORTED_MODULE_4__.router.values.searchParams.success&&(actions.loadUser(),kea_router__WEBPACK_IMPORTED_MODULE_4__.router.actions.replace("/organization/billing")),actions.registerInstrumentationProps(),actions.determineBillingAlert(),actions.loadCreditOverview()},determineBillingAlert:()=>{if(values.productSpecificAlert){actions.setBillingAlert(values.productSpecificAlert);return}if(!values.billing||!values.preflight?.cloud)return;if(values.billing.free_trial_until&&values.billing.free_trial_until.isAfter((0,lib_dayjs__WEBPACK_IMPORTED_MODULE_7__.Bv)())){let remainingDays=values.billing.free_trial_until.diff((0,lib_dayjs__WEBPACK_IMPORTED_MODULE_7__.Bv)(),"days"),remainingHours=values.billing.free_trial_until.diff((0,lib_dayjs__WEBPACK_IMPORTED_MODULE_7__.Bv)(),"hours");if(remainingHours>72)return;actions.setBillingAlert({status:"info",title:`Your free trial will end in ${remainingHours<24?(0,lib_utils__WEBPACK_IMPORTED_MODULE_10__.Zi)(remainingHours,"hour"):(0,lib_utils__WEBPACK_IMPORTED_MODULE_10__.Zi)(remainingDays,"day")}.`,message:"Setup billing now to ensure you don't lose access to premium features."});return}if(values.billing.deactivated){actions.setBillingAlert({status:"error",title:"Your organization has been temporarily suspended.",message:"Please contact support to reactivate it.",contactSupport:!0});return}let productOverLimit=values.billing.products?.find(x=>x.percentage_usage>1&&x.usage_key);if(productOverLimit){actions.setBillingAlert({status:"error",title:"Usage limit exceeded",message:`You have exceeded the usage limit for ${productOverLimit.name}. Please ${productOverLimit.subscribed?"increase your billing limit":"upgrade your plan"} or ${"Data warehouse"===productOverLimit.name?"data will not be synced":"data loss may occur"}.`,dismissKey:"usage-limit-exceeded"});return}actions.resetUsageLimitExceededKey();let productApproachingLimit=values.billing.products?.find(x=>x.percentage_usage>.85);if(productApproachingLimit){actions.setBillingAlert({status:"info",title:"You will soon hit your usage limit",message:`You have currently used ${parseFloat((100*productApproachingLimit.percentage_usage).toFixed(2))}% of your ${productApproachingLimit.usage_key&&productApproachingLimit.usage_key.toLowerCase()} allocation.`,dismissKey:"usage-limit-approaching"});return}actions.resetUsageLimitApproachingKey()},setCreditFormValue:_ref23=>{let{name,value}=_ref23;if("creditInput"===name||name?.[0]==="creditInput"){let spend=+value,discount=0;spend>=1e5?discount=.35:spend>=6e4?discount=.25:spend>=2e4?discount=.2:spend>=3e3&&(discount=.1),actions.setComputedDiscount(discount)}},registerInstrumentationProps:async(_,breakpoint)=>{if(await breakpoint(100),posthog_js__WEBPACK_IMPORTED_MODULE_12__.ZP&&values.billing){let payload={has_billing_plan:!!values.billing.has_active_subscription,free_trial_until:values.billing.free_trial_until?.toISOString(),customer_deactivated:values.billing.deactivated,current_total_amount_usd:values.billing.current_total_amount_usd};if(values.billing.custom_limits_usd)for(let product of Object.keys(values.billing.custom_limits_usd))payload[`custom_limits_usd.${product}`]=values.billing.custom_limits_usd[product];if(values.billing.products)for(let product of values.billing.products){let type=product.type.toLowerCase();payload[`percentage_usage.${type}`]=product.percentage_usage,payload[`current_amount_usd.${type}`]=product.current_amount_usd,payload[`unit_amount_usd.${type}`]=product.unit_amount_usd,payload[`usage_limit.${type}`]=product.usage_limit,payload[`current_usage.${type}`]=product.current_usage,payload[`projected_usage.${type}`]=product.projected_usage,payload[`free_allocation.${type}`]=product.free_allocation}values.billing.billing_period&&(payload.billing_period_start=values.billing.billing_period.current_period_start,payload.billing_period_end=values.billing.billing_period.current_period_end),posthog_js__WEBPACK_IMPORTED_MODULE_12__.ZP.register(payload)}},showPurchaseCreditsModal:_ref24=>{let{isOpen}=_ref24;isOpen&&actions.reportCreditsModalShown()}}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.afterMount)(_ref25=>{let{actions}=_ref25;actions.loadBilling(),actions.getInvoices()}),(0,kea_router__WEBPACK_IMPORTED_MODULE_4__.urlToAction)(_ref26=>{let{actions}=_ref26;return{"/*/billing":(_params,_search,hash)=>{if(hash.license&&(actions.setShowLicenseDirectInput(!0),actions.setActivateLicenseValues({license:hash.license}),actions.submitActivateLicense()),_search.products){let products=_search.products.split(",");actions.setScrollToProductKey(products[0])}_search.billing_error&&actions.setBillingAlert({status:"error",title:"Error",message:_search.billing_error}),actions.setRedirectPath(),actions.setIsOnboarding()},"*":()=>{actions.setRedirectPath(),actions.setIsOnboarding()}}})])},"./frontend/src/scenes/billing/billingProductLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{G:()=>UNSUBSCRIBE_REASONS,cD:()=>billingProductLogic});var _posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),kea__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_forms__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-forms@3.2.0_kea@3.1.5/node_modules/kea-forms/lib/index.js"),lib_api__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/api.ts"),lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),posthog_js__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/.pnpm/posthog-js@1.205.0/node_modules/posthog-js/dist/module.js"),_billing_utils__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/scenes/billing/billing-utils.ts"),_billingLogic__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/scenes/billing/billingLogic.tsx"),_types__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./frontend/src/scenes/billing/types.ts");let UNSUBSCRIBE_REASONS=[{reason:"Too expensive",question:"What will you be using instead?"},{reason:"Not getting enough value",question:"What prevented you from getting more value out of PostHog?"},{reason:"Not using the product",question:"Why are you not using the product?"},{reason:"Found a better alternative",question:"What service will you be moving to?"},{reason:"Poor customer support",question:"Please provide details on your support experience."},{reason:"Too difficult to use",question:"What was difficult to use?"},{reason:"Not enough hedgehogs",question:"How many hedgehogs do you need? (but really why are you leaving)"},{reason:"Other (let us know below!)",question:"Why are you leaving?"}],billingProductLogic=(0,kea__WEBPACK_IMPORTED_MODULE_1__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_1__.props)({}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.key)(props=>props.product.type),(0,kea__WEBPACK_IMPORTED_MODULE_1__.path)(["scenes","billing","billingProductLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_1__.connect)({values:[_billingLogic__WEBPACK_IMPORTED_MODULE_7__.kr,["billing","isUnlicensedDebug","scrollToProductKey","unsubscribeError"],lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_4__.h,["featureFlags"]],actions:[_billingLogic__WEBPACK_IMPORTED_MODULE_7__.kr,["updateBillingLimits","updateBillingLimitsSuccess","loadBilling","loadBillingSuccess","deactivateProduct","setProductSpecificAlert","setScrollToProductKey","deactivateProductSuccess"]]}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.actions)({setIsEditingBillingLimit:isEditingBillingLimit=>({isEditingBillingLimit}),setBillingLimitInput:billingLimitInput=>({billingLimitInput}),billingLoaded:!0,setShowTierBreakdown:showTierBreakdown=>({showTierBreakdown}),toggleIsPricingModalOpen:!0,toggleIsPlanComparisonModalOpen:highlightedFeatureKey=>({highlightedFeatureKey}),setSurveyResponse:(key,value)=>({key,value}),toggleSurveyReason:reason=>({reason}),reportSurveyShown:(surveyID,productType)=>({surveyID,productType}),reportSurveySent:(surveyID,surveyResponse)=>({surveyID,surveyResponse}),reportSurveyDismissed:surveyID=>({surveyID}),setSurveyID:surveyID=>({surveyID}),setBillingProductLoading:productKey=>({productKey}),initiateProductUpgrade:(product,plan,redirectPath)=>({plan,product,redirectPath}),handleProductUpgrade:(products,redirectPath)=>({products,redirectPath}),activateTrial:!0,cancelTrial:!0,setTrialModalOpen:isOpen=>({isOpen}),setTrialLoading:loading=>({loading}),setUnsubscribeModalStep:step=>({step}),resetUnsubscribeModalStep:!0,setHedgehogSatisfied:satisfied=>({satisfied}),triggerMoreHedgehogs:!0}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.reducers)({billingLimitInput:[{input:500},{setBillingLimitInput:(_,_ref)=>{let{billingLimitInput}=_ref;return{input:billingLimitInput}}}],isEditingBillingLimit:[!1,{setIsEditingBillingLimit:(_,_ref2)=>{let{isEditingBillingLimit}=_ref2;return isEditingBillingLimit}}],showTierBreakdown:[!1,{setShowTierBreakdown:(_,_ref3)=>{let{showTierBreakdown}=_ref3;return showTierBreakdown}}],isPricingModalOpen:[!1,{toggleIsPricingModalOpen:state=>!state}],isPlanComparisonModalOpen:[!1,{toggleIsPlanComparisonModalOpen:state=>!state}],surveyResponse:[{$survey_response_2:[],$survey_response:""},{setSurveyResponse:(state,_ref4)=>{let{key,value}=_ref4;return{...state,[key]:value}},toggleSurveyReason:(state,_ref5)=>{let{reason}=_ref5,reasons=state.$survey_response_2.includes(reason)?state.$survey_response_2.filter(r=>r!==reason):[...state.$survey_response_2,reason];return{...state,$survey_response_2:reasons}}}],unsubscribeReasonSurvey:[null,{setUnsubscribeReasonSurvey:(_,_ref6)=>{let{survey}=_ref6;return survey}}],surveyID:["",{setSurveyID:(_,_ref7)=>{let{surveyID}=_ref7;return surveyID}}],billingProductLoading:[null,{setBillingProductLoading:(_,_ref8)=>{let{productKey}=_ref8;return productKey}}],comparisonModalHighlightedFeatureKey:[null,{toggleIsPlanComparisonModalOpen:(_,_ref9)=>{let{highlightedFeatureKey}=_ref9;return highlightedFeatureKey||null}}],trialModalOpen:[!1,{setTrialModalOpen:(_,_ref10)=>{let{isOpen}=_ref10;return isOpen}}],trialLoading:[!1,{setTrialLoading:(_,_ref11)=>{let{loading}=_ref11;return loading}}],unsubscribeModalStep:[1,{setUnsubscribeModalStep:(_,_ref12)=>{let{step}=_ref12;return step},resetUnsubscribeModalStep:()=>1}],hedgehogSatisfied:[!1,{setHedgehogSatisfied:(_,_ref13)=>{let{satisfied}=_ref13;return satisfied}}]}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.selectors)(_ref14=>{let{values}=_ref14;return{customLimitUsd:[(s,p)=>[s.billing,p.product],(billing,product)=>{var _billing$custom_limit;let customLimit=billing?.custom_limits_usd?.[product.type];return 0===customLimit||customLimit?customLimit:product.usage_key&&null!==(_billing$custom_limit=billing?.custom_limits_usd?.[product.usage_key])&&void 0!==_billing$custom_limit?_billing$custom_limit:null}],hasCustomLimitSet:[s=>[s.customLimitUsd],customLimitUsd=>(!!customLimitUsd||0===customLimitUsd)&&customLimitUsd>=0],currentAndUpgradePlans:[(_s,p)=>[p.product],product=>{let currentPlanIndex=product.plans.findIndex(plan=>plan.current_plan),currentPlan=currentPlanIndex>=0?product.plans?.[currentPlanIndex]:null,upgradePlan=values.isUnlicensedDebug?product.plans?.[product.plans.length-1]:product.plans?.[currentPlanIndex+1],downgradePlan=product.plans?.[currentPlanIndex-1];return{currentPlan,upgradePlan,downgradePlan}}],freeTier:[(_s,p)=>[p.product],product=>(product.subscribed&&product.tiered?product.tiers?.[0]?.unit_amount_usd==="0"?product.tiers?.[0]?.up_to:0:product.free_allocation)||0],billingLimitAsUsage:[(s,p)=>[s.billing,p.product,s.isEditingBillingLimit,s.billingLimitInput,s.customLimitUsd],(billing,product,isEditingBillingLimit,billingLimitInput,customLimitUsd)=>{let addonTiers=product.addons?.filter(addon=>addon.subscribed)?.map(addon=>addon.tiers),productAndAddonTiers=[product.tiers,...addonTiers].filter(Boolean);return product.tiers?isEditingBillingLimit?(0,_billing_utils__WEBPACK_IMPORTED_MODULE_6__.zu)(`${billingLimitInput.input}`,productAndAddonTiers,billing?.discount_percent):(0,_billing_utils__WEBPACK_IMPORTED_MODULE_6__.zu)(customLimitUsd?`${customLimitUsd}`:"",productAndAddonTiers,billing?.discount_percent):0}],billingGaugeItems:[(s,p)=>[p.product,s.billing,s.freeTier,s.billingLimitAsUsage],(product,billing,freeTier,billingLimitAsUsage)=>[billingLimitAsUsage&&billing?.discount_percent!==100?{type:_types__WEBPACK_IMPORTED_MODULE_8__.b.BillingLimit,text:"Billing limit",top:!0,value:billingLimitAsUsage||0}:void 0,freeTier?{type:_types__WEBPACK_IMPORTED_MODULE_8__.b.FreeTier,text:"Free tier limit",value:freeTier,top:!0}:void 0,product.projected_usage&&product.projected_usage>(product.current_usage||0)?{type:_types__WEBPACK_IMPORTED_MODULE_8__.b.ProjectedUsage,text:"Projected",value:product.projected_usage||0,top:!1}:void 0,{type:_types__WEBPACK_IMPORTED_MODULE_8__.b.CurrentUsage,text:"Current",value:product.current_usage||0,top:!1}].filter(Boolean)],isAddonProduct:[(s,p)=>[s.billing,p.product],(billing,product)=>!!billing?.products?.some(p=>p.addons?.some(addon=>addon.type===product?.type))],unsubscribeReasonQuestions:[s=>[s.surveyResponse],surveyResponse=>surveyResponse.$survey_response_2.map(reason=>{let reasonObject=UNSUBSCRIBE_REASONS.find(r=>r.reason===reason);return reasonObject?.question}).join(" ").concat(" (required)")]}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.listeners)(_ref15=>{let{actions,values,props}=_ref15;return{updateBillingLimitsSuccess:()=>{actions.billingLoaded()},billingLoaded:()=>{actions.setIsEditingBillingLimit(!1),actions.setBillingLimitInput(values.hasCustomLimitSet?values.customLimitUsd:function(product){let projectedAmount=parseInt(product.projected_amount_usd||"0");return product.tiers&&projectedAmount?1.5*projectedAmount:500}(props.product))},reportSurveyShown:_ref16=>{let{surveyID}=_ref16;posthog_js__WEBPACK_IMPORTED_MODULE_5__.ZP.capture("survey shown",{$survey_id:surveyID}),actions.setSurveyID(surveyID)},reportSurveySent:_ref17=>{let{surveyID,surveyResponse}=_ref17;posthog_js__WEBPACK_IMPORTED_MODULE_5__.ZP.capture("survey sent",{$survey_id:surveyID,...surveyResponse}),actions.setSurveyID("")},reportSurveyDismissed:_ref18=>{let{surveyID}=_ref18;posthog_js__WEBPACK_IMPORTED_MODULE_5__.ZP.capture("survey dismissed",{$survey_id:surveyID}),actions.setSurveyID("")},deactivateProductSuccess:async(_,breakpoint)=>{!values.unsubscribeError&&values.surveyID&&(actions.reportSurveySent(values.surveyID,values.surveyResponse),await breakpoint(400),document.getElementsByClassName("Navigation3000__scene")[0].scrollIntoView())},setScrollToProductKey:_ref19=>{let{scrollToProductKey}=_ref19;scrollToProductKey&&values.isAddonProduct&&scrollToProductKey===props.product.type&&setTimeout(()=>{props.productRef?.current&&props.productRef?.current.scrollIntoView({behavior:"smooth",block:"center"})},0)},initiateProductUpgrade:_ref20=>{let{plan,product,redirectPath}=_ref20;actions.setBillingProductLoading(product.type);let products=`${product.type}:${plan?.plan_key}`;actions.handleProductUpgrade(products,redirectPath)},handleProductUpgrade:_ref21=>{let{products,redirectPath}=_ref21;window.location.href=`/api/billing/activate?products=${products}${redirectPath&&`&redirect_path=${redirectPath}`}`},activateTrial:async(_,breakpoint)=>{actions.setTrialLoading(!0);try{await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.create("api/billing/trials/activate",{type:"autosubscribe",target:props.product.type}),_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.success("Your trial has been activated!")}catch(e){_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.error("There was an error activating your trial. Please try again or contact support.")}finally{await breakpoint(400),window.location.reload(),actions.setTrialLoading(!1),actions.setTrialModalOpen(!1)}},cancelTrial:async()=>{actions.setTrialLoading(!0);try{await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.create("api/billing/trials/cancel"),_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.success("Your trial has been cancelled!")}catch(e){console.error(e),_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.error("There was an error cancelling your trial. Please try again or contact support.")}finally{actions.loadBilling(),window.location.reload(),actions.setTrialLoading(!1)}},triggerMoreHedgehogs:async(_,breakpoint)=>{for(let i=0;i<5;i++)props.hogfettiTrigger?.(),await breakpoint(200)}}}),(0,kea_forms__WEBPACK_IMPORTED_MODULE_2__.forms)(_ref22=>{let{actions,props,values}=_ref22;return{billingLimitInput:{errors:_ref23=>{let{input}=_ref23;return{input:null===input||Number.isInteger(input)?input>25e3?"Please enter a number less than 25,000":void 0:"Please enter a whole number"}},submit:async _ref24=>{let{input}=_ref24,addonTiers="addons"in props.product?props.product.addons?.filter(addon=>addon.subscribed)?.map(addon=>addon.tiers):[],productAndAddonTiers=[props.product.tiers,...addonTiers].filter(Boolean),newAmountAsUsage=props.product.tiers?(0,_billing_utils__WEBPACK_IMPORTED_MODULE_6__.zu)(`${input}`,productAndAddonTiers,values.billing?.discount_percent):0;if(props.product.current_usage&&newAmountAsUsageactions.updateBillingLimits({[props.product.type]:input})},secondaryButton:{children:"I changed my mind"}});return}if(props.product.projected_usage&&newAmountAsUsageactions.updateBillingLimits({[props.product.type]:input})},secondaryButton:{children:"I changed my mind"}});return}actions.updateBillingLimits({[props.product.type]:input})},options:{alwaysShowErrors:!0}}}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.events)(_ref25=>{let{actions,values}=_ref25;return{afterMount:()=>{actions.setScrollToProductKey(values.scrollToProductKey),actions.billingLoaded()}}})])},"./frontend/src/scenes/billing/paymentEntryLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{j:()=>paymentEntryLogic});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),lib_api__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/lib/api.ts"),scenes_urls__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/scenes/urls.ts");let paymentEntryLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)({path:["scenes","billing","PaymentEntryLogic"],actions:{setClientSecret:clientSecret=>({clientSecret}),setLoading:loading=>({loading}),setError:error=>({error}),initiateAuthorization:redirectPath=>({redirectPath}),pollAuthorizationStatus:paymentIntentId=>({paymentIntentId}),setAuthorizationStatus:status=>({status}),showPaymentEntryModal:!0,hidePaymentEntryModal:!0,setRedirectPath:redirectPath=>({redirectPath})},reducers:{clientSecret:[null,{setClientSecret:(_,_ref)=>{let{clientSecret}=_ref;return clientSecret}}],isLoading:[!1,{setLoading:(_,_ref2)=>{let{loading}=_ref2;return loading}}],error:[null,{setError:(_,_ref3)=>{let{error}=_ref3;return error}}],authorizationStatus:[null,{setAuthorizationStatus:(_,_ref4)=>{let{status}=_ref4;return status}}],paymentEntryModalOpen:[!1,{showPaymentEntryModal:()=>!0,hidePaymentEntryModal:()=>!1}],redirectPath:[null,{setRedirectPath:(_,_ref5)=>{let{redirectPath}=_ref5;return redirectPath}}]},listeners:_ref6=>{let{actions,values}=_ref6;return{initiateAuthorization:async _ref7=>{let{redirectPath}=_ref7;actions.setLoading(!0),actions.setError(null);try{let response=await lib_api__WEBPACK_IMPORTED_MODULE_1__.ZP.create("api/billing/activate/authorize");actions.setClientSecret(response.clientSecret),actions.setRedirectPath(redirectPath),actions.setLoading(!1)}catch(error){actions.setError("Failed to initialize payment")}},pollAuthorizationStatus:async _ref8=>{let{paymentIntentId}=_ref8,attempts=0,poll=async()=>{try{let urlParams=new URLSearchParams(window.location.search),searchPaymentIntentId=urlParams.get("payment_intent"),response=await lib_api__WEBPACK_IMPORTED_MODULE_1__.ZP.create("api/billing/activate/authorize/status",{payment_intent_id:paymentIntentId||searchPaymentIntentId}),status=response.status;if(actions.setAuthorizationStatus(status),"success"===status){values.redirectPath?window.location.pathname=values.redirectPath:window.location.pathname=scenes_urls__WEBPACK_IMPORTED_MODULE_2__.j.organizationBilling();return}if("failed"===status){actions.setError("Payment failed");return}++attempts<30?setTimeout(()=>void poll(),2e3):actions.setError("Payment status check timed out")}catch(error){actions.setError("Failed to check payment status")}finally{actions.setLoading(!1),actions.setAuthorizationStatus(null),actions.setClientSecret(null),actions.setRedirectPath(null)}};await poll()}}}})},"./frontend/src/scenes/billing/types.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{b:()=>BillingGaugeItemKind});let BillingGaugeItemKind=function(BillingGaugeItemKind){return BillingGaugeItemKind.FreeTier="free_tier",BillingGaugeItemKind.CurrentUsage="current_usage",BillingGaugeItemKind.ProjectedUsage="projected_usage",BillingGaugeItemKind.BillingLimit="billing_limit",BillingGaugeItemKind}({})},"./frontend/src/scenes/cohorts/CohortFilters/CohortCriteriaRowBuilder.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{t:()=>CohortCriteriaRowBuilder_CohortCriteriaRowBuilder,r:()=>LogicalRowDivider});var injectStylesIntoStyleTag=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),injectStylesIntoStyleTag_default=__webpack_require__.n(injectStylesIntoStyleTag),CohortCriteriaRowBuilder=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/cohorts/CohortFilters/CohortCriteriaRowBuilder.scss"),CohortCriteriaRowBuilder_default=__webpack_require__.n(CohortCriteriaRowBuilder),options={};options.insert="head",options.singleton=!1,injectStylesIntoStyleTag_default()(CohortCriteriaRowBuilder_default(),options),CohortCriteriaRowBuilder_default().locals;var posthog_icons_es=__webpack_require__("./node_modules/.pnpm/@posthog+icons@0.9.2_react-dom@18.2.0_react@18.2.0/node_modules/@posthog/icons/dist/posthog-icons.es.js"),src=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),clsx_m=__webpack_require__("./node_modules/.pnpm/clsx@1.2.1/node_modules/clsx/dist/clsx.m.js"),index_esm=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),lib=__webpack_require__("./node_modules/.pnpm/kea-forms@3.2.0_kea@3.1.5/node_modules/kea-forms/lib/index.js"),LemonBanner=__webpack_require__("./frontend/src/lib/lemon-ui/LemonBanner/index.ts"),LemonButton=__webpack_require__("./frontend/src/lib/lemon-ui/LemonButton/index.ts"),cohortEditLogic=__webpack_require__("./frontend/src/scenes/cohorts/cohortEditLogic.ts"),constants=__webpack_require__("./frontend/src/scenes/cohorts/CohortFilters/constants.tsx"),types=__webpack_require__("./frontend/src/scenes/cohorts/CohortFilters/types.ts"),cohortUtils=__webpack_require__("./frontend/src/scenes/cohorts/cohortUtils.tsx"),src_types=__webpack_require__("./frontend/src/types.ts"),jsx_runtime=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function CohortCriteriaRowBuilder_CohortCriteriaRowBuilder(_ref){let{id,type,groupIndex,index,logicalOperator,criteria,hideDeleteIcon=!1,onChangeType}=_ref,{setCriteria,duplicateFilter,removeFilter}=(0,index_esm.useActions)((0,cohortEditLogic.B)({id})),rowShape=constants.ng[type],renderFieldComponent=(_field,i)=>{var _field$fieldKey;return(0,jsx_runtime.jsx)("div",{children:constants.fM[_field.type]({fieldKey:_field.fieldKey,criteria,..._field.type===types.vA.Text?{value:_field.defaultValue}:{},..._field.groupTypeFieldKey?{groupTypeFieldKey:_field.groupTypeFieldKey}:{},onChange:newCriteria=>setCriteria(newCriteria,groupIndex,index),groupIndex,index})},null!==(_field$fieldKey=_field.fieldKey)&&void 0!==_field$fieldKey?_field$fieldKey:i)};return(0,jsx_runtime.jsxs)("div",{className:"CohortCriteriaRow",children:[0!==index&&(0,jsx_runtime.jsx)(LogicalRowDivider,{logicalOperator:logicalOperator}),(0,jsx_runtime.jsx)(lib.Field,{name:"id",template:_ref2=>{let{error,kids}=_ref2;return(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:(0,jsx_runtime.jsxs)("div",{className:(0,clsx_m.default)("CohortCriteriaRow__Criteria",error&&"CohortCriteriaRow__Criteria--error"),children:[kids,error&&(0,jsx_runtime.jsx)(LemonBanner.V,{className:"my-2",type:"error",children:error})]})})},children:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsxs)("div",{className:"flex flex-nowrap items-center mb-1",children:[(0,jsx_runtime.jsx)(lib.Field,{name:"value",template:_ref3=>{let{error,kids}=_ref3;return(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:(0,jsx_runtime.jsx)("div",{className:(0,clsx_m.default)("CohortCriteriaRow__Criteria__Field",error&&"CohortCriteriaRow__Criteria__Field--error"),children:kids})})},children:(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:(0,jsx_runtime.jsx)("div",{children:constants.fM[types.vA.Behavioral]({fieldKey:"value",criteria,onChange:newCriteria=>{var _newCriteria$value;setCriteria((0,cohortUtils.d5)(newCriteria,!0),groupIndex,index),onChangeType?.(null!==(_newCriteria$value=newCriteria.value)&&void 0!==_newCriteria$value?_newCriteria$value:src_types.G2.PerformEvent)}})})})}),(0,jsx_runtime.jsx)("div",{className:"CohortCriteriaRow__inline-divider"}),(0,jsx_runtime.jsx)(LemonButton.J,{icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconCopy,{}),onClick:()=>duplicateFilter(groupIndex,index)}),!hideDeleteIcon&&(0,jsx_runtime.jsx)(LemonButton.J,{icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconTrash,{}),onClick:()=>removeFilter(groupIndex,index)})]}),(0,jsx_runtime.jsxs)("div",{className:"flex",children:[(0,jsx_runtime.jsx)("span",{className:"CohortCriteriaRow__Criteria__arrow",children:"↳"}),(0,jsx_runtime.jsx)("div",{className:"flex flex-wrap items-center min-w-0",children:rowShape.fields.map((field,i)=>!field.hide&&(field.fieldKey?(0,jsx_runtime.jsx)(lib.Field,{name:field.fieldKey,template:_ref4=>{let{error,kids}=_ref4;return(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:(0,jsx_runtime.jsx)("div",{className:(0,clsx_m.default)("CohortCriteriaRow__Criteria__Field",error&&"CohortCriteriaRow__Criteria__Field--error"),children:kids})})},children:(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:renderFieldComponent(field,i)})},i):(0,jsx_runtime.jsx)("div",{className:"CohortCriteriaRow__Criteria__Field",children:renderFieldComponent(field,i)},i)))})]})]})})]})}function LogicalRowDivider(_ref5){let{logicalOperator}=_ref5;return(0,jsx_runtime.jsx)(src.p2,{className:"logical-row-divider my-4",label:logicalOperator})}},"./frontend/src/scenes/cohorts/CohortFilters/CohortField.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{PY:()=>CohortEventFiltersField,s:()=>CohortNumberField,Lb:()=>CohortPersonPropertiesValuesField,af:()=>CohortRelativeAndExactTimeField,Y4:()=>CohortSelectorField,C$:()=>CohortTaxonomicField,J_:()=>CohortTextField});var injectStylesIntoStyleTag=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),injectStylesIntoStyleTag_default=__webpack_require__.n(injectStylesIntoStyleTag),CohortField=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/cohorts/CohortFilters/CohortField.scss"),CohortField_default=__webpack_require__.n(CohortField),options={};options.insert="head",options.singleton=!1,injectStylesIntoStyleTag_default()(CohortField_default(),options),CohortField_default().locals;var clsx_m=__webpack_require__("./node_modules/.pnpm/clsx@1.2.1/node_modules/clsx/dist/clsx.m.js"),index_esm=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),DateFilter=__webpack_require__("./frontend/src/lib/components/DateFilter/DateFilter.tsx"),PropertyValue=__webpack_require__("./frontend/src/lib/components/PropertyFilters/components/PropertyValue.tsx"),PropertyFilters=__webpack_require__("./frontend/src/lib/components/PropertyFilters/PropertyFilters.tsx"),PropertyKeyInfo=__webpack_require__("./frontend/src/lib/components/PropertyKeyInfo.tsx"),types=__webpack_require__("./frontend/src/lib/components/TaxonomicFilter/types.ts"),TaxonomicPopover=__webpack_require__("./frontend/src/lib/components/TaxonomicPopover/TaxonomicPopover.tsx"),LemonButton=__webpack_require__("./frontend/src/lib/lemon-ui/LemonButton/index.ts"),LemonDivider=__webpack_require__("./frontend/src/lib/lemon-ui/LemonDivider/index.ts"),LemonInput=__webpack_require__("./frontend/src/lib/lemon-ui/LemonInput/LemonInput.tsx"),utils=__webpack_require__("./frontend/src/lib/utils.tsx"),react=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/index.js"),constants=__webpack_require__("./frontend/src/scenes/cohorts/CohortFilters/constants.tsx"),CohortFilters_types=__webpack_require__("./frontend/src/scenes/cohorts/CohortFilters/types.ts"),cohortUtils=__webpack_require__("./frontend/src/scenes/cohorts/cohortUtils.tsx"),userLogic=__webpack_require__("./frontend/src/scenes/userLogic.ts"),actionsModel=__webpack_require__("./frontend/src/models/actionsModel.ts"),cohortsModel=__webpack_require__("./frontend/src/models/cohortsModel.ts"),groupsModel=__webpack_require__("./frontend/src/models/groupsModel.ts"),src_types=__webpack_require__("./frontend/src/types.ts");let cohortFieldLogic=(0,index_esm.kea)([(0,index_esm.path)(["scenes","cohorts","CohortFilters","cohortFieldLogic"]),(0,index_esm.key)(props=>`${props.cohortFilterLogicKey}`),(0,index_esm.props)({}),(0,index_esm.connect)({values:[groupsModel.$,["groupTypes","aggregationLabel"],userLogic.userLogic,["hasAvailableFeature"]]}),(0,index_esm.propsChanged)((_ref,oldProps)=>{let{actions,props}=_ref;props.fieldKey&&!(0,utils.h0)(props.criteria,oldProps.criteria)&&actions.onChange(props.criteria)}),(0,index_esm.actions)({onChange:newField=>({newField})}),(0,index_esm.reducers)(_ref2=>{let{props}=_ref2;return{value:[(0,cohortUtils.Nz)(props.criteria,props.fieldKey),{onChange:(_,_ref3)=>{let{newField}=_ref3;return(0,cohortUtils.Nz)({...props.criteria,...newField},props.fieldKey)}}]}}),(0,index_esm.selectors)({hasBehavioralCohortFiltering:[s=>[s.hasAvailableFeature],hasAvailableFeature=>hasAvailableFeature(src_types.P$.BEHAVIORAL_COHORT_FILTERING)],fieldOptionGroups:[s=>[(_,props)=>props.fieldOptionGroupTypes,s.groupTypes,s.aggregationLabel,s.hasBehavioralCohortFiltering],(fieldOptionGroupTypes,groupTypes,aggregationLabel,hasBehavioralCohortFiltering)=>{var _fieldOptionGroupType;let fieldOptions=hasBehavioralCohortFiltering?{...constants.FN,...constants.Dx}:constants.FN,allGroups={...fieldOptions,[CohortFilters_types.Wy.Actors]:{label:"Actors",type:CohortFilters_types.Wy.Actors,values:{[src_types.MK.Person]:{label:"Persons"},...Object.fromEntries(Array.from(groupTypes.values()).map(type=>[`${src_types.MK.GroupPrefix}_${type.group_type_index}`,{label:aggregationLabel(type.group_type_index).plural}]).filter(Boolean))}}};return[...null!==(_fieldOptionGroupType=fieldOptionGroupTypes?.map(type=>allGroups[type]))&&void 0!==_fieldOptionGroupType?_fieldOptionGroupType:[]]}],currentOption:[s=>[s.fieldOptionGroups,s.value],(fieldOptionGroups,value)=>value&&"string"==typeof value?fieldOptionGroups.reduce((accumulator,group)=>({...accumulator,...group.values}),{})?.[value]:null],calculatedValueLoading:[(s,p)=>[s.value,p.criteria,p.fieldKey,cohortsModel.Q.selectors.cohortsLoading,actionsModel.D.selectors.actionsLoading],(value,criteria,fieldKey,cohortsModelLoading,actionsModelLoading)=>taxonomicGroupType=>criteria.type===CohortFilters_types.y4.Cohort&&"value_property"===fieldKey&&"number"==typeof value&&cohortsModelLoading||taxonomicGroupType===types.t.Actions&&"number"==typeof value&&actionsModelLoading],calculatedValue:[(s,p)=>[s.value,p.criteria,p.fieldKey,cohortsModel.Q.selectors.cohortsLoading,actionsModel.D.selectors.actionsLoading],(value,criteria,fieldKey,cohortsModelLoading,actionsModelLoading)=>taxonomicGroupType=>{var _cohortsModel$findMou,_actionsModel$findMou;return criteria.type===CohortFilters_types.y4.Cohort&&"value_property"===fieldKey&&"number"==typeof value?cohortsModelLoading?"Loading...":null!==(_cohortsModel$findMou=cohortsModel.Q.findMounted()?.values?.cohortsById?.[value]?.name)&&void 0!==_cohortsModel$findMou?_cohortsModel$findMou:`Cohort ${value}`:taxonomicGroupType===types.t.Actions&&"number"==typeof value?actionsModelLoading?"Loading...":null!==(_actionsModel$findMou=actionsModel.D.findMounted()?.values?.actionsById?.[value]?.name)&&void 0!==_actionsModel$findMou?_actionsModel$findMou:`Action ${value}`:value}]}),(0,index_esm.listeners)(_ref4=>{let{props}=_ref4;return{onChange:_ref5=>{let{newField}=_ref5;props.onChange?.(cohortUtils.K7(newField))}}})]);var jsx_runtime=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let uniqueMemoizedIndex=0,useCohortFieldLogic=props=>{let cohortFilterLogicKey=(0,react.useMemo)(()=>props.cohortFilterLogicKey||`cohort-filter-${uniqueMemoizedIndex++}`,[props.cohortFilterLogicKey]);return{logic:cohortFieldLogic({...props,cohortFilterLogicKey})}};function CohortSelectorField(_ref){let{fieldKey,cohortFilterLogicKey,criteria,fieldOptionGroupTypes,placeholder,onChange:_onChange}=_ref,{logic}=useCohortFieldLogic({fieldKey,cohortFilterLogicKey,criteria,fieldOptionGroupTypes,onChange:_onChange}),{fieldOptionGroups,currentOption,value}=(0,index_esm.useValues)(logic),{onChange}=(0,index_esm.useActions)(logic);return(0,jsx_runtime.jsx)(LemonButton.$,{type:"secondary",sideIcon:void 0,"data-attr":`cohort-selector-field-${fieldKey}`,dropdown:{className:"Popover__CohortField",placement:"bottom-start",overlay:(0,jsx_runtime.jsx)("div",{className:"CohortField__dropdown",children:fieldOptionGroups.map((_ref2,i)=>{let{label,type:groupKey,values}=_ref2;return 0!=Object.keys(values).length?(0,jsx_runtime.jsxs)("div",{children:[0!==i&&(0,jsx_runtime.jsx)(LemonDivider.p,{}),(0,jsx_runtime.jsx)("h5",{children:label}),Object.entries(values).map(_ref3=>{let[_value,option]=_ref3;return(0,jsx_runtime.jsx)(LemonButton.J,{onClick:()=>{onChange({[fieldKey]:_value})},active:_value==value,fullWidth:!0,"data-attr":`cohort-${groupKey}-${_value}-type`,children:option.label},_value)})]},i):null})})},children:(0,jsx_runtime.jsx)("span",{className:"font-medium",children:currentOption?.label||(0,jsx_runtime.jsx)("span",{className:"text-muted",children:placeholder})})})}function CohortTaxonomicField(_ref4){let{fieldKey,groupTypeFieldKey="event_type",cohortFilterLogicKey,criteria,taxonomicGroupTypes=[types.t.Events,types.t.Actions],placeholder="Choose event",onChange:_onChange}=_ref4,{logic}=useCohortFieldLogic({fieldKey,criteria,cohortFilterLogicKey,onChange:_onChange}),{calculatedValue,calculatedValueLoading}=(0,index_esm.useValues)(logic),{onChange}=(0,index_esm.useActions)(logic),groupType=criteria[groupTypeFieldKey];return(0,jsx_runtime.jsx)(TaxonomicPopover.b,{className:"CohortField",groupType:groupType,loading:calculatedValueLoading(groupType),value:calculatedValue(groupType),onChange:(v,g)=>{onChange({[fieldKey]:v,[groupTypeFieldKey]:g})},excludedProperties:{[types.t.Events]:[null]},groupTypes:taxonomicGroupTypes,placeholder:placeholder,"data-attr":`cohort-taxonomic-field-${fieldKey}`,renderValue:value=>value?(0,jsx_runtime.jsx)(PropertyKeyInfo.T,{value:value,type:groupType}):(0,jsx_runtime.jsx)("span",{className:"text-muted",children:placeholder})})}function CohortPersonPropertiesValuesField(_ref5){let{fieldKey,criteria,cohortFilterLogicKey,onChange:_onChange,propertyKey,operator}=_ref5,{logic}=useCohortFieldLogic({fieldKey,criteria,cohortFilterLogicKey,onChange:_onChange}),{value}=(0,index_esm.useValues)(logic),{onChange}=(0,index_esm.useActions)(logic);return(0,jsx_runtime.jsx)(PropertyValue.O,{operator:operator||src_types.WV.Exact,propertyKey:propertyKey,type:src_types.FT.Person,value:value,onSet:newValue=>{onChange({[fieldKey]:newValue})},placeholder:"Enter value..."})}function CohortEventFiltersField(_ref6){let{fieldKey,criteria,cohortFilterLogicKey,onChange:_onChange,groupIndex,index}=_ref6,{logic}=useCohortFieldLogic({fieldKey,criteria,cohortFilterLogicKey,onChange:_onChange}),{value}=(0,index_esm.useValues)(logic),{onChange}=(0,index_esm.useActions)(logic),componentRef=(0,react.useRef)(null),valueExists=(value||[]).length>0;return(0,react.useEffect)(()=>{let parent=componentRef.current?.closest(".CohortCriteriaRow__Criteria__Field");parent&&(valueExists?parent.classList.add("basis-full"):parent.classList.remove("basis-full"))},[componentRef,value]),(0,jsx_runtime.jsx)("div",{ref:componentRef,children:(0,jsx_runtime.jsx)(PropertyFilters.t,{propertyFilters:value||[],taxonomicGroupTypes:[types.t.EventProperties,types.t.EventFeatureFlags,types.t.Elements,types.t.HogQLExpression],onChange:newValue=>{onChange({[fieldKey]:newValue})},pageKey:`${fieldKey}-${groupIndex}-${index}`,eventNames:criteria?.key?[criteria?.key]:[],disablePopover:!0,hasRowOperator:!!valueExists,sendAllKeyUpdates:!0})})}function CohortRelativeAndExactTimeField(_ref7){let{fieldKey,criteria,cohortFilterLogicKey,onChange:_onChange}=_ref7,{logic}=useCohortFieldLogic({fieldKey,criteria,cohortFilterLogicKey,onChange:_onChange}),{value}=(0,index_esm.useValues)(logic),{onChange}=(0,index_esm.useActions)(logic);return(0,jsx_runtime.jsx)(DateFilter.f,{dateFrom:String(value),onChange:fromDate=>{onChange({[fieldKey]:fromDate})},max:1e3,isFixedDateMode:!0,allowedRollingDateOptions:["days","weeks","months","years"],showCustom:!0,dateOptions:[{key:"Last 7 days",values:["-7d"],getFormattedDate:date=>(0,utils.p6)(date.subtract(7,"d")),defaultInterval:"day"},{key:"Last 30 days",values:["-30d"],getFormattedDate:date=>(0,utils.p6)(date.subtract(14,"d")),defaultInterval:"day"}],size:"medium",makeLabel:(_,startOfRange)=>(0,jsx_runtime.jsxs)("span",{className:"hide-when-small",children:["Matches all values after ",startOfRange," if evaluated today."]})})}function CohortTextField(_ref8){let{value}=_ref8;return(0,jsx_runtime.jsx)("span",{className:(0,clsx_m.default)("CohortField","CohortField__CohortTextField"),children:value})}function CohortNumberField(_ref9){let{fieldKey,cohortFilterLogicKey,criteria,onChange:_onChange}=_ref9,{logic}=useCohortFieldLogic({fieldKey,cohortFilterLogicKey,criteria,onChange:_onChange}),{value}=(0,index_esm.useValues)(logic),{onChange}=(0,index_esm.useActions)(logic);return(0,jsx_runtime.jsx)(LemonInput.D,{type:"number",value:null!=value?value:void 0,onChange:nextNumber=>{onChange({[fieldKey]:nextNumber})},min:1,step:1,className:(0,clsx_m.default)("CohortField","CohortField__CohortNumberField")})}},"./frontend/src/scenes/cohorts/CohortFilters/constants.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Dx:()=>SCALE_FIELD_VALUES,FN:()=>FIELD_VALUES,GK:()=>COHORT_TYPE_OPTIONS,Gp:()=>COHORT_EVENT_TYPES_WITH_EXPLICIT_DATETIME,Z9:()=>NEW_CRITERIA,eC:()=>NEW_CRITERIA_GROUP,fM:()=>renderField,hJ:()=>CRITERIA_VALIDATIONS,ng:()=>ROWS,x_:()=>BEHAVIORAL_TYPE_TO_LABEL,yK:()=>NEW_COHORT});var lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/src/lib/components/TaxonomicFilter/types.ts"),lib_constants__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/lib/constants.tsx"),scenes_cohorts_CohortFilters_CohortField__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/scenes/cohorts/CohortFilters/CohortField.tsx"),scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/scenes/cohorts/CohortFilters/types.ts"),_types__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/types.ts"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let FIELD_VALUES={[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.EventAggregation]:{label:"Event Aggregation",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.EventAggregation,values:{[_types__WEBPACK_IMPORTED_MODULE_4__.vN.TotalCount]:{label:"Total count"},[_types__WEBPACK_IMPORTED_MODULE_4__.vN.UniqueUsers]:{label:"Unique users"},[_types__WEBPACK_IMPORTED_MODULE_4__.vN.WeeklyActiveUsers]:{label:"Weekly active users"},[_types__WEBPACK_IMPORTED_MODULE_4__.vN.MonthlyActiveUsers]:{label:"Monthly active users"}}},[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.PropertyAggregation]:{label:"Property Aggregation",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.PropertyAggregation,values:{[_types__WEBPACK_IMPORTED_MODULE_4__.O4.Average]:{label:"Average"},[_types__WEBPACK_IMPORTED_MODULE_4__.O4.Sum]:{label:"Sum"},[_types__WEBPACK_IMPORTED_MODULE_4__.O4.Minimum]:{label:"Minimum"},[_types__WEBPACK_IMPORTED_MODULE_4__.O4.Maximum]:{label:"Maximum"},[_types__WEBPACK_IMPORTED_MODULE_4__.O4.Median]:{label:"Median"},[_types__WEBPACK_IMPORTED_MODULE_4__.O4.P90]:{label:"90th percentile"},[_types__WEBPACK_IMPORTED_MODULE_4__.O4.P95]:{label:"95th percentile"},[_types__WEBPACK_IMPORTED_MODULE_4__.O4.P99]:{label:"99th percentile"}}},[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.Actors]:{label:"Actors",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.Actors,values:{[_types__WEBPACK_IMPORTED_MODULE_4__.MK.Person]:{label:"Persons"}}},[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.EventBehavioral]:{label:"Behavioral",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.EventBehavioral,values:{[_types__WEBPACK_IMPORTED_MODULE_4__.G2.PerformEvent]:{label:"Completed event"},[_types__WEBPACK_IMPORTED_MODULE_4__.G2.NotPerformedEvent]:{label:"Did not complete event"},[_types__WEBPACK_IMPORTED_MODULE_4__.G2.PerformMultipleEvents]:{label:"Completed an event multiple times"}}},[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.PersonPropertyBehavioral]:{label:"Person Properties",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.PersonPropertyBehavioral,values:{[_types__WEBPACK_IMPORTED_MODULE_4__.G2.HaveProperty]:{label:"Have the property"},[_types__WEBPACK_IMPORTED_MODULE_4__.G2.NotHaveProperty]:{label:"Do not have the property"}}},[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.CohortBehavioral]:{label:"Cohorts",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.CohortBehavioral,values:{[_types__WEBPACK_IMPORTED_MODULE_4__.Vb.InCohort]:{label:"In cohort"},[_types__WEBPACK_IMPORTED_MODULE_4__.Vb.NotInCohort]:{label:"Not in cohort"}}},[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.LifecycleBehavioral]:{label:"Lifecycle",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.LifecycleBehavioral,values:{}},[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.TimeUnits]:{label:"Units",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.TimeUnits,values:{[_types__WEBPACK_IMPORTED_MODULE_4__.Xy.Day]:{label:"days"},[_types__WEBPACK_IMPORTED_MODULE_4__.Xy.Week]:{label:"weeks"},[_types__WEBPACK_IMPORTED_MODULE_4__.Xy.Month]:{label:"months"},[_types__WEBPACK_IMPORTED_MODULE_4__.Xy.Year]:{label:"years"}}},[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.DateOperators]:{label:"Date Operators",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.DateOperators,values:{[_types__WEBPACK_IMPORTED_MODULE_4__.kR.BeforeTheLast]:{label:"before the last"},[_types__WEBPACK_IMPORTED_MODULE_4__.kR.Between]:{label:"between"},[_types__WEBPACK_IMPORTED_MODULE_4__.kR.NotBetween]:{label:"not between"},[_types__WEBPACK_IMPORTED_MODULE_4__.kR.OnTheDate]:{label:"on the date"},[_types__WEBPACK_IMPORTED_MODULE_4__.kR.NotOnTheDate]:{label:"not on the date"},[_types__WEBPACK_IMPORTED_MODULE_4__.kR.Since]:{label:"since"},[_types__WEBPACK_IMPORTED_MODULE_4__.kR.Before]:{label:"before"},[_types__WEBPACK_IMPORTED_MODULE_4__.kR.IsSet]:{label:"is set"}}},[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.SingleFieldDateOperators]:{label:"Date Operators",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.SingleFieldDateOperators,values:{[_types__WEBPACK_IMPORTED_MODULE_4__.Hh.IsDateExact]:{label:"on the date"},[_types__WEBPACK_IMPORTED_MODULE_4__.Hh.IsDateAfter]:{label:"since"},[_types__WEBPACK_IMPORTED_MODULE_4__.Hh.IsDateBefore]:{label:"before"}}},[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.MathOperators]:{label:"Operators",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.MathOperators,values:{[_types__WEBPACK_IMPORTED_MODULE_4__.WV.Exact]:{label:"equals"},[_types__WEBPACK_IMPORTED_MODULE_4__.WV.IsNot]:{label:"does not equal"},[_types__WEBPACK_IMPORTED_MODULE_4__.WV.IContains]:{label:"contains"},[_types__WEBPACK_IMPORTED_MODULE_4__.WV.NotIContains]:{label:"does not contain"},[_types__WEBPACK_IMPORTED_MODULE_4__.WV.Regex]:{label:"matches regex"},[_types__WEBPACK_IMPORTED_MODULE_4__.WV.NotRegex]:{label:"does not match regex"},[_types__WEBPACK_IMPORTED_MODULE_4__.WV.GreaterThan]:{label:"greater than"},[_types__WEBPACK_IMPORTED_MODULE_4__.WV.GreaterThanOrEqual]:{label:"greater than or equal to"},[_types__WEBPACK_IMPORTED_MODULE_4__.WV.LessThan]:{label:"less than"},[_types__WEBPACK_IMPORTED_MODULE_4__.WV.LessThanOrEqual]:{label:"less than or equal to"},[_types__WEBPACK_IMPORTED_MODULE_4__.WV.IsSet]:{label:"is set"},[_types__WEBPACK_IMPORTED_MODULE_4__.WV.IsNotSet]:{label:"is not set"},[_types__WEBPACK_IMPORTED_MODULE_4__.WV.Between]:{label:"between"},[_types__WEBPACK_IMPORTED_MODULE_4__.WV.NotBetween]:{label:"not between"},[_types__WEBPACK_IMPORTED_MODULE_4__.WV.Minimum]:{label:"minimum"},[_types__WEBPACK_IMPORTED_MODULE_4__.WV.Maximum]:{label:"maximum"}}},[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.EventsAndActionsMathOperators]:{label:"Operators",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.EventsAndActionsMathOperators,values:{[_types__WEBPACK_IMPORTED_MODULE_4__.WV.Exact]:{label:"exactly"},[_types__WEBPACK_IMPORTED_MODULE_4__.WV.GreaterThanOrEqual]:{label:"at least"},[_types__WEBPACK_IMPORTED_MODULE_4__.WV.LessThanOrEqual]:{label:"at most"}}},[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.ValueOptions]:{label:"Value Options",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.ValueOptions,values:{[_types__WEBPACK_IMPORTED_MODULE_4__.uJ.MostRecent]:{label:"most recent value"},[_types__WEBPACK_IMPORTED_MODULE_4__.uJ.Previous]:{label:"previous value"},[_types__WEBPACK_IMPORTED_MODULE_4__.uJ.OnDate]:{label:"value on the date"}}}},SCALE_FIELD_VALUES={[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.EventBehavioral]:{label:"Behavioral",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.EventBehavioral,values:{[_types__WEBPACK_IMPORTED_MODULE_4__.G2.PerformEvent]:{label:"Completed event"},[_types__WEBPACK_IMPORTED_MODULE_4__.G2.NotPerformedEvent]:{label:"Did not complete event"},[_types__WEBPACK_IMPORTED_MODULE_4__.G2.PerformMultipleEvents]:{label:"Completed an event multiple times"},[_types__WEBPACK_IMPORTED_MODULE_4__.G2.PerformSequenceEvents]:{label:"Completed a sequence of events"},[_types__WEBPACK_IMPORTED_MODULE_4__.G2.NotPerformSequenceEvents]:{label:"Did not complete a sequence of events"}}},[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.LifecycleBehavioral]:{label:"Lifecycle",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.LifecycleBehavioral,values:{[_types__WEBPACK_IMPORTED_MODULE_4__.NE.PerformEventFirstTime]:{label:"Completed an event for the first time"},[_types__WEBPACK_IMPORTED_MODULE_4__.NE.PerformEventRegularly]:{label:"Completed an event regularly"},[_types__WEBPACK_IMPORTED_MODULE_4__.NE.StopPerformEvent]:{label:"Stopped doing an event"},[_types__WEBPACK_IMPORTED_MODULE_4__.NE.StartPerformEventAgain]:{label:"Started doing an event again"}}}},ROWS={[_types__WEBPACK_IMPORTED_MODULE_4__.G2.PerformEvent]:{type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.y4.Behavioral,value:_types__WEBPACK_IMPORTED_MODULE_4__.G2.PerformEvent,negation:!1,fields:[{fieldKey:"key",groupTypeFieldKey:"event_type",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.EventsAndActions},{fieldKey:"event_type",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.EventType,defaultValue:lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_0__.t.Events,hide:!0},{fieldKey:"event_filters",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.EventFilters},{type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Text,defaultValue:"after"},{fieldKey:"explicit_datetime",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.RelativeAndExactTime,defaultValue:"-30d"}]},[_types__WEBPACK_IMPORTED_MODULE_4__.G2.NotPerformedEvent]:{type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.y4.Behavioral,value:_types__WEBPACK_IMPORTED_MODULE_4__.G2.PerformEvent,negation:!0,fields:[{fieldKey:"key",groupTypeFieldKey:"event_type",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.EventsAndActions},{fieldKey:"event_type",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.EventType,defaultValue:lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_0__.t.Events,hide:!0},{fieldKey:"event_filters",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.EventFilters},{type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Text,defaultValue:"after"},{fieldKey:"explicit_datetime",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.RelativeAndExactTime,defaultValue:"-30d"}]},[_types__WEBPACK_IMPORTED_MODULE_4__.G2.PerformMultipleEvents]:{type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.y4.Behavioral,value:_types__WEBPACK_IMPORTED_MODULE_4__.G2.PerformMultipleEvents,negation:!1,fields:[{fieldKey:"key",groupTypeFieldKey:"event_type",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.EventsAndActions},{fieldKey:"event_type",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.EventType,defaultValue:lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_0__.t.Events,hide:!0},{fieldKey:"event_filters",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.EventFilters},{fieldKey:"operator",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.EventsAndActionsMathOperator,defaultValue:_types__WEBPACK_IMPORTED_MODULE_4__.WV.Exact},{fieldKey:"operator_value",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.NumberTicker,defaultValue:5},{type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Text,defaultValue:"times after"},{fieldKey:"explicit_datetime",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.RelativeAndExactTime,defaultValue:"-30d"}]},[_types__WEBPACK_IMPORTED_MODULE_4__.G2.PerformSequenceEvents]:{type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.y4.Behavioral,value:_types__WEBPACK_IMPORTED_MODULE_4__.G2.PerformSequenceEvents,negation:!1,fields:[{fieldKey:"key",groupTypeFieldKey:"event_type",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.EventsAndActions},{fieldKey:"event_type",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.EventType,defaultValue:lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_0__.t.Events,hide:!0},{type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Text,defaultValue:"in the last"},{fieldKey:"time_value",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Number,defaultValue:"30"},{fieldKey:"time_interval",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.TimeUnit,defaultValue:_types__WEBPACK_IMPORTED_MODULE_4__.Xy.Day},{type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Text,defaultValue:"followed by"},{fieldKey:"seq_event",groupTypeFieldKey:"seq_event_type",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.EventsAndActions},{fieldKey:"seq_event_type",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.EventType,defaultValue:lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_0__.t.Events,hide:!0},{type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Text,defaultValue:"within"},{fieldKey:"seq_time_value",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Number,defaultValue:"15"},{fieldKey:"seq_time_interval",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.TimeUnit,defaultValue:_types__WEBPACK_IMPORTED_MODULE_4__.Xy.Day},{type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Text,defaultValue:"of the initial event"}]},[_types__WEBPACK_IMPORTED_MODULE_4__.G2.NotPerformSequenceEvents]:{type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.y4.Behavioral,value:_types__WEBPACK_IMPORTED_MODULE_4__.G2.PerformSequenceEvents,negation:!0,fields:[{fieldKey:"key",groupTypeFieldKey:"event_type",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.EventsAndActions},{fieldKey:"event_type",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.EventType,defaultValue:lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_0__.t.Events,hide:!0},{type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Text,defaultValue:"in the last"},{fieldKey:"time_value",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Number,defaultValue:"30"},{fieldKey:"time_interval",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.TimeUnit,defaultValue:_types__WEBPACK_IMPORTED_MODULE_4__.Xy.Day},{type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Text,defaultValue:"followed by"},{fieldKey:"seq_event",groupTypeFieldKey:"seq_event_type",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.EventsAndActions},{fieldKey:"seq_event_type",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.EventType,defaultValue:lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_0__.t.Events,hide:!0},{type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Text,defaultValue:"within"},{fieldKey:"seq_time_value",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Number,defaultValue:"15"},{fieldKey:"seq_time_interval",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.TimeUnit,defaultValue:_types__WEBPACK_IMPORTED_MODULE_4__.Xy.Day},{type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Text,defaultValue:"of the initial event"}]},[_types__WEBPACK_IMPORTED_MODULE_4__.G2.HaveProperty]:{type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.y4.Person,value:_types__WEBPACK_IMPORTED_MODULE_4__.G2.HaveProperty,negation:!1,fields:[{fieldKey:"key",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.PersonProperties},{fieldKey:"operator",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.MathOperator,defaultValue:_types__WEBPACK_IMPORTED_MODULE_4__.WV.Exact},{fieldKey:"value_property",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.PersonPropertyValues}]},[_types__WEBPACK_IMPORTED_MODULE_4__.G2.NotHaveProperty]:{type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.y4.Person,value:_types__WEBPACK_IMPORTED_MODULE_4__.G2.HaveProperty,negation:!0,fields:[{fieldKey:"key",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.PersonProperties},{fieldKey:"operator",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.MathOperator,defaultValue:_types__WEBPACK_IMPORTED_MODULE_4__.WV.Exact},{fieldKey:"value_property",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.PersonPropertyValues}]},[_types__WEBPACK_IMPORTED_MODULE_4__.Vb.InCohort]:{type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.y4.Cohort,value:_types__WEBPACK_IMPORTED_MODULE_4__.Vb.InCohort,negation:!1,fields:[{fieldKey:"key",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.CohortId,defaultValue:"id",hide:!0},{fieldKey:"value_property",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.CohortValues}]},[_types__WEBPACK_IMPORTED_MODULE_4__.Vb.NotInCohort]:{type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.y4.Cohort,value:_types__WEBPACK_IMPORTED_MODULE_4__.Vb.InCohort,negation:!0,fields:[{fieldKey:"key",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.CohortId,defaultValue:"id",hide:!0},{fieldKey:"value_property",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.CohortValues}]},[_types__WEBPACK_IMPORTED_MODULE_4__.NE.PerformEventFirstTime]:{type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.y4.Behavioral,value:_types__WEBPACK_IMPORTED_MODULE_4__.NE.PerformEventFirstTime,negation:!1,fields:[{fieldKey:"key",groupTypeFieldKey:"event_type",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.EventsAndActions},{fieldKey:"event_type",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.EventType,defaultValue:lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_0__.t.Events,hide:!0},{type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Text,defaultValue:"in the last"},{fieldKey:"time_value",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Number,defaultValue:"30"},{fieldKey:"time_interval",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.TimeUnit,defaultValue:_types__WEBPACK_IMPORTED_MODULE_4__.Xy.Day}]},[_types__WEBPACK_IMPORTED_MODULE_4__.NE.PerformEventRegularly]:{type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.y4.Behavioral,value:_types__WEBPACK_IMPORTED_MODULE_4__.NE.PerformEventRegularly,negation:!1,fields:[{fieldKey:"key",groupTypeFieldKey:"event_type",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.EventsAndActions},{fieldKey:"event_type",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.EventType,defaultValue:lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_0__.t.Events,hide:!0},{fieldKey:"operator",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.EventsAndActionsMathOperator,defaultValue:_types__WEBPACK_IMPORTED_MODULE_4__.WV.Exact},{fieldKey:"operator_value",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.NumberTicker,defaultValue:5},{type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Text,defaultValue:"times per"},{fieldKey:"time_value",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Number,defaultValue:1},{fieldKey:"time_interval",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.TimeUnit,defaultValue:_types__WEBPACK_IMPORTED_MODULE_4__.Xy.Day},{type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Text,defaultValue:"period for at least"},{fieldKey:"min_periods",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Number,defaultValue:3},{type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Text,defaultValue:"of the last"},{fieldKey:"total_periods",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Number,defaultValue:5},{type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Text,defaultValue:"periods"}]},[_types__WEBPACK_IMPORTED_MODULE_4__.NE.StopPerformEvent]:{type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.y4.Behavioral,value:_types__WEBPACK_IMPORTED_MODULE_4__.NE.StopPerformEvent,negation:!1,fields:[{fieldKey:"key",groupTypeFieldKey:"event_type",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.EventsAndActions},{fieldKey:"event_type",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.EventType,defaultValue:lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_0__.t.Events,hide:!0},{type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Text,defaultValue:"in the last"},{fieldKey:"seq_time_value",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Number,defaultValue:"15"},{fieldKey:"seq_time_interval",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.TimeUnit,defaultValue:_types__WEBPACK_IMPORTED_MODULE_4__.Xy.Day},{type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Text,defaultValue:"but had done it in the"},{fieldKey:"time_value",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Number,defaultValue:"30"},{fieldKey:"time_interval",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.TimeUnit,defaultValue:_types__WEBPACK_IMPORTED_MODULE_4__.Xy.Day},{type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Text,defaultValue:"prior to now"}]},[_types__WEBPACK_IMPORTED_MODULE_4__.NE.StartPerformEventAgain]:{type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.y4.Behavioral,value:_types__WEBPACK_IMPORTED_MODULE_4__.NE.StartPerformEventAgain,negation:!1,fields:[{fieldKey:"key",groupTypeFieldKey:"event_type",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.EventsAndActions},{fieldKey:"event_type",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.EventType,defaultValue:lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_0__.t.Events,hide:!0},{type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Text,defaultValue:"in the last"},{fieldKey:"seq_time_value",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Number,defaultValue:"15"},{fieldKey:"seq_time_interval",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.TimeUnit,defaultValue:_types__WEBPACK_IMPORTED_MODULE_4__.Xy.Day},{type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Text,defaultValue:"but had not done it in the"},{fieldKey:"time_value",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Number,defaultValue:"30"},{fieldKey:"time_interval",type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.TimeUnit,defaultValue:_types__WEBPACK_IMPORTED_MODULE_4__.Xy.Day},{type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Text,defaultValue:"prior to now"}]}},COHORT_EVENT_TYPES_WITH_EXPLICIT_DATETIME=Object.entries(ROWS).filter(_ref=>{let[_,row]=_ref;return row.fields.some(field=>field.type===scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.RelativeAndExactTime)}).map(_ref2=>{let[eventType,_]=_ref2;return eventType}),renderField={[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Behavioral]:function _renderField(p){return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(scenes_cohorts_CohortFilters_CohortField__WEBPACK_IMPORTED_MODULE_2__.Y4,{...p,fieldOptionGroupTypes:[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.EventBehavioral,scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.PersonPropertyBehavioral,scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.CohortBehavioral,scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.LifecycleBehavioral]})},[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Aggregation]:function _renderField(p){return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(scenes_cohorts_CohortFilters_CohortField__WEBPACK_IMPORTED_MODULE_2__.Y4,{...p,fieldOptionGroupTypes:[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.EventAggregation,scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.PropertyAggregation]})},[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Actors]:function _renderField(p){return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(scenes_cohorts_CohortFilters_CohortField__WEBPACK_IMPORTED_MODULE_2__.Y4,{...p,fieldOptionGroupTypes:[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.Actors]})},[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.TimeUnit]:function _renderField(p){return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(scenes_cohorts_CohortFilters_CohortField__WEBPACK_IMPORTED_MODULE_2__.Y4,{...p,fieldOptionGroupTypes:[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.TimeUnits]})},[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.DateOperator]:function _renderField(p){return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(scenes_cohorts_CohortFilters_CohortField__WEBPACK_IMPORTED_MODULE_2__.Y4,{...p,fieldOptionGroupTypes:[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.DateOperators]})},[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.MathOperator]:function _renderField(p){return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(scenes_cohorts_CohortFilters_CohortField__WEBPACK_IMPORTED_MODULE_2__.Y4,{...p,fieldOptionGroupTypes:[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.MathOperators,scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.SingleFieldDateOperators]})},[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.EventsAndActionsMathOperator]:function _renderField(p){return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(scenes_cohorts_CohortFilters_CohortField__WEBPACK_IMPORTED_MODULE_2__.Y4,{...p,fieldOptionGroupTypes:[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.EventsAndActionsMathOperators]})},[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Value]:function _renderField(p){return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(scenes_cohorts_CohortFilters_CohortField__WEBPACK_IMPORTED_MODULE_2__.Y4,{...p,fieldOptionGroupTypes:[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.ValueOptions]})},[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Text]:function _renderField(p){var _p$value;return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(scenes_cohorts_CohortFilters_CohortField__WEBPACK_IMPORTED_MODULE_2__.J_,{...p,value:String(null!==(_p$value=p?.value)&&void 0!==_p$value?_p$value:"")})},[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.EventsAndActions]:function _renderField(p){return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(scenes_cohorts_CohortFilters_CohortField__WEBPACK_IMPORTED_MODULE_2__.C$,{...p,taxonomicGroupTypes:[lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_0__.t.Events,lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_0__.t.Actions],placeholder:"Choose event or action"})},[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.PersonProperties]:function _renderField(p){return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(scenes_cohorts_CohortFilters_CohortField__WEBPACK_IMPORTED_MODULE_2__.C$,{...p,taxonomicGroupTypes:[lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_0__.t.PersonProperties],placeholder:"Choose person property"})},[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.EventFilters]:function _renderField(p){return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(scenes_cohorts_CohortFilters_CohortField__WEBPACK_IMPORTED_MODULE_2__.PY,{...p})},[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.PersonPropertyValues]:function _renderField(p){var _p$criteria$operator;return p.criteria.operator&&[_types__WEBPACK_IMPORTED_MODULE_4__.WV.IsSet,_types__WEBPACK_IMPORTED_MODULE_4__.WV.IsNotSet].includes(p.criteria.operator)?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.Fragment,{}):(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(scenes_cohorts_CohortFilters_CohortField__WEBPACK_IMPORTED_MODULE_2__.Lb,{...p,propertyKey:p.criteria.key,operator:null!==(_p$criteria$operator=p.criteria.operator)&&void 0!==_p$criteria$operator?_p$criteria$operator:void 0})},[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Number]:function _renderField(p){return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(scenes_cohorts_CohortFilters_CohortField__WEBPACK_IMPORTED_MODULE_2__.s,{...p})},[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.NumberTicker]:function _renderField(p){return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(scenes_cohorts_CohortFilters_CohortField__WEBPACK_IMPORTED_MODULE_2__.s,{...p})},[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.CohortValues]:function _renderField(p){return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(scenes_cohorts_CohortFilters_CohortField__WEBPACK_IMPORTED_MODULE_2__.C$,{...p,taxonomicGroupTypes:[lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_0__.t.Cohorts],placeholder:"Choose cohort"})},[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.RelativeAndExactTime]:function _renderField(p){return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(scenes_cohorts_CohortFilters_CohortField__WEBPACK_IMPORTED_MODULE_2__.af,{...p})},[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.EventType]:function _renderField(){return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.Fragment,{})},[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.CohortId]:function _renderField(){return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.Fragment,{})}},CRITERIA_VALIDATIONS={[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.EventsAndActions]:()=>scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Rx.EmptyEventsAndActions,[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.EventFilters]:()=>scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Rx.EmptyEventFilters,[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.PersonProperties]:()=>scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Rx.EmptyPersonProperties,[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.PersonPropertyValues]:()=>scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Rx.EmptyPersonPropertyValues,[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.EventType]:()=>scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Rx.EmptyEventType,[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Number]:d=>Number(d)>1?void 0:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Rx.EmptyNumber,[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.NumberTicker]:()=>scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Rx.EmptyNumberTicker,[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.TimeUnit]:()=>scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Rx.EmptyTimeUnit,[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.MathOperator]:()=>scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Rx.EmptyMathOperator,[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.EventsAndActionsMathOperator]:()=>scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Rx.EmptyMathOperator,[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.RelativeAndExactTime]:()=>scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Rx.EmptyRelativeAndExactTime,[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.CohortId]:()=>scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Rx.EmptyCohortId,[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.CohortValues]:()=>scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Rx.EmptyCohortValues,[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Value]:()=>scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Rx.EmptyValue,[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.DateOperator]:()=>scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Rx.EmptyDateOperator,[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Actors]:()=>scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Rx.EmptyActors,[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Aggregation]:()=>scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Rx.EmptyAggregation,[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.vA.Behavioral]:()=>scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Rx.EmptyBehavioral},COHORT_TYPE_OPTIONS=[{value:lib_constants__WEBPACK_IMPORTED_MODULE_1__.ow.Static,label:"Static \xb7 Updated manually"},{value:lib_constants__WEBPACK_IMPORTED_MODULE_1__.ow.Dynamic,label:"Dynamic \xb7 Updates automatically"}],NEW_CRITERIA={type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.y4.Behavioral,value:_types__WEBPACK_IMPORTED_MODULE_4__.G2.PerformEvent,event_type:lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_0__.t.Events,explicit_datetime:"-30d"},NEW_CRITERIA_GROUP={id:Math.random().toString().substr(2,5),type:_types__WEBPACK_IMPORTED_MODULE_4__.J2.Or,values:[NEW_CRITERIA]},NEW_COHORT={id:"new",groups:[{id:Math.random().toString().substr(2,5),matchType:lib_constants__WEBPACK_IMPORTED_MODULE_1__.pt,properties:[]}],filters:{properties:{id:Math.random().toString().substr(2,5),type:_types__WEBPACK_IMPORTED_MODULE_4__.J2.Or,values:[NEW_CRITERIA_GROUP]}}},BEHAVIORAL_TYPE_TO_LABEL={...FIELD_VALUES[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.EventBehavioral].values,...FIELD_VALUES[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.PersonPropertyBehavioral].values,...FIELD_VALUES[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.CohortBehavioral].values,...FIELD_VALUES[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.LifecycleBehavioral].values,...SCALE_FIELD_VALUES[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.EventBehavioral].values,...SCALE_FIELD_VALUES[scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_3__.Wy.LifecycleBehavioral].values}},"./frontend/src/scenes/cohorts/CohortFilters/types.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Rx:()=>CohortClientErrors,Wy:()=>FieldOptionsType,vA:()=>FilterType,y4:()=>BehavioralFilterKey});let FilterType=function(FilterType){return FilterType.Behavioral="behavioral",FilterType.Aggregation="aggregation",FilterType.Actors="actors",FilterType.TimeUnit="timeUnit",FilterType.DateOperator="dateOperator",FilterType.MathOperator="mathOperator",FilterType.EventsAndActionsMathOperator="eventsAndActionsMathOperator",FilterType.Value="value",FilterType.Text="text",FilterType.EventsAndActions="eventsAndActions",FilterType.RelativeAndExactTime="relativeAndExactTime",FilterType.EventFilters="eventFilters",FilterType.PersonProperties="personProperties",FilterType.PersonPropertyValues="personPropertyValues",FilterType.EventType="eventType",FilterType.Number="number",FilterType.NumberTicker="numberTicker",FilterType.CohortValues="cohortValues",FilterType.CohortId="cohortId",FilterType}({}),FieldOptionsType=function(FieldOptionsType){return FieldOptionsType.EventAggregation="eventAggregation",FieldOptionsType.PropertyAggregation="propertyAggregation",FieldOptionsType.Actors="actors",FieldOptionsType.EventBehavioral="eventBehavioral",FieldOptionsType.PersonPropertyBehavioral="personPropertyBehavioral",FieldOptionsType.CohortBehavioral="cohortBehavioral",FieldOptionsType.LifecycleBehavioral="lifecycleBehavioral",FieldOptionsType.TimeUnits="timeUnits",FieldOptionsType.DateOperators="dateOperators",FieldOptionsType.SingleFieldDateOperators="singleFieldDateOperators",FieldOptionsType.MathOperators="mathOperators",FieldOptionsType.ValueOptions="valueOptions",FieldOptionsType.EventsAndActionsMathOperators="eventsAndActionsMathOperators",FieldOptionsType}({}),BehavioralFilterKey=function(BehavioralFilterKey){return BehavioralFilterKey.Behavioral="behavioral",BehavioralFilterKey.Cohort="cohort",BehavioralFilterKey.Person="person",BehavioralFilterKey}({}),CohortClientErrors=function(CohortClientErrors){return CohortClientErrors.NegationCriteriaMissingOther="Negation criteria can only be used when matching all criteria (AND), and must be accompanied by at least one positive matching criteria.",CohortClientErrors.NegationCriteriaCancel="These criteria cancel each other out, and would result in no matching persons.",CohortClientErrors.PeriodTimeMismatch="The lower bound period value must not be greater than the upper bound value.",CohortClientErrors.SequentialTimeMismatch="The lower bound period sequential time value must not be greater than the upper bound time value.",CohortClientErrors.EmptyEventsAndActions="Event or action cannot be empty.",CohortClientErrors.EmptyEventFilters="Event filters cannot be empty.",CohortClientErrors.EmptyPersonProperties="Person property name cannot be empty.",CohortClientErrors.EmptyPersonPropertyValues="Person property value cannot be empty",CohortClientErrors.EmptyEventType="Event type cannot be empty.",CohortClientErrors.EmptyNumber="Period values must be at least 1 day and cannot be empty.",CohortClientErrors.EmptyNumberTicker="Number cannot be empty.",CohortClientErrors.EmptyTimeUnit="Time interval cannot be empty.",CohortClientErrors.EmptyRelativeAndExactTime="Time value cannot be empty.",CohortClientErrors.EmptyMathOperator="Math operator cannot be empty.",CohortClientErrors.EmptyCohortId="Cohort id cannot be empty.",CohortClientErrors.EmptyCohortValues="Cohort value cannot be empty.",CohortClientErrors.EmptyValue="Event property value selector cannot be empty.",CohortClientErrors.EmptyDateOperator="Date cannot be empty or invalid.",CohortClientErrors.EmptyActors="Actors selector cannot be empty.",CohortClientErrors.EmptyAggregation="Aggregation selector cannot be empty.",CohortClientErrors.EmptyBehavioral="Behavioral selector cannot be empty.",CohortClientErrors}({})},"./frontend/src/scenes/cohorts/cohortEditLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{B:()=>cohortEditLogic});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_forms__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea-forms@3.2.0_kea@3.1.5/node_modules/kea-forms/lib/index.js"),kea_loaders__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-loaders@3.0.0_kea@3.1.5/node_modules/kea-loaders/lib/index.js"),kea_router__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),lib_api__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/api.ts"),lib_constants__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/lib/constants.tsx"),lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonToast/LemonToast.tsx"),lib_utils_eventUsageLogic__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/lib/utils/eventUsageLogic.ts"),scenes_cohorts_CohortFilters_constants__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./frontend/src/scenes/cohorts/CohortFilters/constants.tsx"),scenes_cohorts_cohortUtils__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./frontend/src/scenes/cohorts/cohortUtils.tsx"),scenes_persons_personsLogic__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__("./frontend/src/scenes/persons/personsLogic.tsx"),scenes_urls__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__("./frontend/src/scenes/urls.ts"),_models_cohortsModel__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__("./frontend/src/models/cohortsModel.ts"),_queries_schema__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__("./frontend/src/queries/schema.ts"),_queries_utils__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__("./frontend/src/queries/utils.ts"),_types__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__("./frontend/src/types.ts");let cohortEditLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.props)({}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.key)(props=>props.id||"new"),(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(["scenes","cohorts","cohortLogicEdit"]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.connect)(()=>({actions:[lib_utils_eventUsageLogic__WEBPACK_IMPORTED_MODULE_7__.vx,["reportExperimentExposureCohortEdited"]]})),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)({saveCohort:function(){let cohortParams=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{cohortParams}},setCohort:cohort=>({cohort}),deleteCohort:!0,fetchCohort:id=>({id}),setCohortMissing:!0,onCriteriaChange:(newGroup,id)=>({newGroup,id}),setPollTimeout:pollTimeout=>({pollTimeout}),checkIfFinishedCalculating:cohort=>({cohort}),setOuterGroupsType:type=>({type}),setInnerGroupType:(type,groupIndex)=>({type,groupIndex}),duplicateFilter:(groupIndex,criteriaIndex)=>({groupIndex,criteriaIndex}),addFilter:groupIndex=>({groupIndex}),removeFilter:(groupIndex,criteriaIndex)=>({groupIndex,criteriaIndex}),setCriteria:(newCriteria,groupIndex,criteriaIndex)=>({newCriteria,groupIndex,criteriaIndex}),setQuery:query=>({query}),duplicateCohort:asStatic=>({asStatic})}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)(_ref=>{let{props}=_ref;return{cohort:[scenes_cohorts_CohortFilters_constants__WEBPACK_IMPORTED_MODULE_8__.yK,{setOuterGroupsType:(state,_ref2)=>{let{type}=_ref2;return{...state,filters:{properties:{...state.filters.properties,type}}}},setInnerGroupType:(state,_ref3)=>{let{type,groupIndex}=_ref3;return(0,scenes_cohorts_cohortUtils__WEBPACK_IMPORTED_MODULE_9__.fQ)(state,groupList=>groupList.map((group,groupI)=>groupI===groupIndex?{...group,type}:group))},duplicateFilter:(state,_ref4)=>{let{groupIndex,criteriaIndex}=_ref4;return void 0!==criteriaIndex?(0,scenes_cohorts_cohortUtils__WEBPACK_IMPORTED_MODULE_9__.KE)(state,criteriaList=>[...criteriaList.slice(0,criteriaIndex),criteriaList[criteriaIndex],...criteriaList.slice(criteriaIndex)],groupIndex):(0,scenes_cohorts_cohortUtils__WEBPACK_IMPORTED_MODULE_9__.fQ)(state,groupList=>[...groupList.slice(0,groupIndex),groupList[groupIndex],...groupList.slice(groupIndex)])},addFilter:(state,_ref5)=>{let{groupIndex}=_ref5;return void 0!==groupIndex?(0,scenes_cohorts_cohortUtils__WEBPACK_IMPORTED_MODULE_9__.KE)(state,criteriaList=>[...criteriaList,scenes_cohorts_CohortFilters_constants__WEBPACK_IMPORTED_MODULE_8__.Z9],groupIndex):(0,scenes_cohorts_cohortUtils__WEBPACK_IMPORTED_MODULE_9__.fQ)(state,groupList=>[...groupList,scenes_cohorts_CohortFilters_constants__WEBPACK_IMPORTED_MODULE_8__.eC])},removeFilter:(state,_ref6)=>{let{groupIndex,criteriaIndex}=_ref6;return void 0!==criteriaIndex?(0,scenes_cohorts_cohortUtils__WEBPACK_IMPORTED_MODULE_9__.KE)(state,criteriaList=>[...criteriaList.slice(0,criteriaIndex),...criteriaList.slice(criteriaIndex+1)],groupIndex):(0,scenes_cohorts_cohortUtils__WEBPACK_IMPORTED_MODULE_9__.fQ)(state,groupList=>[...groupList.slice(0,groupIndex),...groupList.slice(groupIndex+1)])},setCriteria:(state,_ref7)=>{let{newCriteria,groupIndex,criteriaIndex}=_ref7;return(0,scenes_cohorts_cohortUtils__WEBPACK_IMPORTED_MODULE_9__.KE)(state,criteriaList=>criteriaList.map((oldCriteria,criteriaI)=>(0,scenes_cohorts_cohortUtils__WEBPACK_IMPORTED_MODULE_9__.tz)(oldCriteria)?oldCriteria:criteriaI===criteriaIndex?(0,scenes_cohorts_cohortUtils__WEBPACK_IMPORTED_MODULE_9__.d5)({...oldCriteria,...newCriteria}):oldCriteria),groupIndex)}}],cohortMissing:[!1,{setCohortMissing:()=>!0}],pollTimeout:[null,{setPollTimeout:(_,_ref8)=>{let{pollTimeout}=_ref8;return pollTimeout}}],query:[{kind:_queries_schema__WEBPACK_IMPORTED_MODULE_13__.OH.DataTableNode,source:{kind:_queries_schema__WEBPACK_IMPORTED_MODULE_13__.OH.ActorsQuery,fixedProperties:[{type:_types__WEBPACK_IMPORTED_MODULE_15__.FT.Cohort,key:"id",value:parseInt(String(props.id))}]},full:!0,showPropertyFilter:!1,showEventFilter:!1},{setQuery:(state,_ref9)=>{let{query}=_ref9;return(0,_queries_utils__WEBPACK_IMPORTED_MODULE_14__.TC)(query)?query:state}}]}}),(0,kea_forms__WEBPACK_IMPORTED_MODULE_1__.forms)(_ref10=>{let{actions}=_ref10;return{cohort:{defaults:scenes_cohorts_CohortFilters_constants__WEBPACK_IMPORTED_MODULE_8__.yK,errors:_ref11=>{let{id,name,csv,is_static,filters}=_ref11;return{name:name?void 0:"Cohort name cannot be empty",csv:is_static&&"new"===id&&!csv?"You need to upload a CSV file":null,filters:{properties:{values:is_static?void 0:filters.properties.values.map(scenes_cohorts_cohortUtils__WEBPACK_IMPORTED_MODULE_9__.yn)}}}},submit:cohort=>{actions.saveCohort(cohort)}}}}),(0,kea_loaders__WEBPACK_IMPORTED_MODULE_2__.loaders)(_ref12=>{let{actions,values,key}=_ref12;return{cohort:[scenes_cohorts_CohortFilters_constants__WEBPACK_IMPORTED_MODULE_8__.yK,{setCohort:_ref13=>{let{cohort}=_ref13;return(0,_models_cohortsModel__WEBPACK_IMPORTED_MODULE_12__.k)(cohort)},fetchCohort:async(_ref14,breakpoint)=>{let{id}=_ref14;try{let cohort=await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.cohorts.get(id);return breakpoint(),_models_cohortsModel__WEBPACK_IMPORTED_MODULE_12__.Q.actions.updateCohort(cohort),actions.checkIfFinishedCalculating(cohort),(0,_models_cohortsModel__WEBPACK_IMPORTED_MODULE_12__.k)(cohort)}catch(error){return lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_6__.UJ.error(error.detail||"Failed to fetch cohort"),actions.setCohortMissing(),values.cohort}},saveCohort:async(_ref15,breakpoint)=>{let{cohortParams}=_ref15,cohort={...cohortParams},existingCohort=values.cohort,cohortFormData=(0,scenes_cohorts_cohortUtils__WEBPACK_IMPORTED_MODULE_9__.A2)(cohort);try{"new"!==cohort.id?(cohort=await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.cohorts.update(cohort.id,cohortFormData),_models_cohortsModel__WEBPACK_IMPORTED_MODULE_12__.Q.actions.updateCohort(cohort),cohort.experiment_set&&cohort.experiment_set.length>0&&actions.reportExperimentExposureCohortEdited(existingCohort,cohort)):(cohort=await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.cohorts.create(cohortFormData),_models_cohortsModel__WEBPACK_IMPORTED_MODULE_12__.Q.actions.cohortCreated(cohort))}catch(error){return breakpoint(),lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_6__.UJ.error(error.detail||"Failed to save cohort"),values.cohort}return cohort.is_calculating=!0,breakpoint(),delete cohort.csv,actions.setCohort(cohort),lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_6__.UJ.success("Cohort saved. Please wait up to a few minutes for it to be calculated",{toastId:`cohort-saved-${key}`}),actions.checkIfFinishedCalculating(cohort),(0,_models_cohortsModel__WEBPACK_IMPORTED_MODULE_12__.k)(cohort)},onCriteriaChange:_ref16=>{let{newGroup,id}=_ref16,cohort={...values.cohort},index=cohort.groups.findIndex(group=>group.id===id);return newGroup.matchType?cohort.groups[index]={id:cohort.groups[index].id,matchType:lib_constants__WEBPACK_IMPORTED_MODULE_5__.Cd,...newGroup}:cohort.groups[index]={...cohort.groups[index],...newGroup},(0,_models_cohortsModel__WEBPACK_IMPORTED_MODULE_12__.k)(cohort)}}],duplicatedCohort:[null,{duplicateCohort:async(_ref17,breakpoint)=>{let cohort,{asStatic}=_ref17;try{if(await breakpoint(200),asStatic)cohort=await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.cohorts.duplicate(values.cohort.id);else{let data={...values.cohort};data.name+=" (dynamic copy)",cohort=await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.cohorts.create(data)}return lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_6__.UJ.success("Cohort duplicated. Please wait up to a few minutes for it to be calculated",{toastId:`cohort-duplicated-${cohort.id}`,button:{label:"View cohort",action:()=>{kea_router__WEBPACK_IMPORTED_MODULE_3__.router.actions.push(scenes_urls__WEBPACK_IMPORTED_MODULE_11__.j.cohort(cohort.id))}}}),cohort}catch(error){return lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_6__.UJ.error(error.detail||"Failed to duplicate cohort"),null}}}]}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.listeners)(_ref18=>{let{actions,values}=_ref18;return{deleteCohort:()=>{_models_cohortsModel__WEBPACK_IMPORTED_MODULE_12__.Q.findMounted()?.actions.deleteCohort({id:values.cohort.id,name:values.cohort.name}),kea_router__WEBPACK_IMPORTED_MODULE_3__.router.actions.push(scenes_urls__WEBPACK_IMPORTED_MODULE_11__.j.cohorts())},submitCohort:()=>{values.cohortHasErrors&&lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_6__.UJ.error("There was an error submiting this cohort. Make sure the cohort filters are correct.")},checkIfFinishedCalculating:async(_ref19,breakpoint)=>{let{cohort}=_ref19;cohort.is_calculating?actions.setPollTimeout(window.setTimeout(async()=>{let newCohort=await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.cohorts.get(cohort.id);breakpoint(),actions.checkIfFinishedCalculating(newCohort)},1e3)):(actions.setCohort(cohort),_models_cohortsModel__WEBPACK_IMPORTED_MODULE_12__.Q.actions.updateCohort(cohort),scenes_persons_personsLogic__WEBPACK_IMPORTED_MODULE_10__.T.findMounted({syncWithUrl:!0})?.actions.loadCohorts(),values.pollTimeout&&(clearTimeout(values.pollTimeout),actions.setPollTimeout(null)))}}}),(0,kea_router__WEBPACK_IMPORTED_MODULE_3__.actionToUrl)(_ref20=>{let{values}=_ref20;return{saveCohortSuccess:()=>scenes_urls__WEBPACK_IMPORTED_MODULE_11__.j.cohort(values.cohort.id)}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.afterMount)(_ref21=>{let{actions,props}=_ref21;props.id&&"new"!==props.id?actions.fetchCohort(props.id):actions.setCohort(scenes_cohorts_CohortFilters_constants__WEBPACK_IMPORTED_MODULE_8__.yK)}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.beforeUnmount)(_ref22=>{let{values}=_ref22;values.pollTimeout&&clearTimeout(values.pollTimeout)})])},"./frontend/src/scenes/cohorts/cohortUtils.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{A2:()=>createCohortFormData,K7:()=>cleanBehavioralTypeCriteria,KE:()=>applyAllNestedCriteria,MY:()=>COHORT_MATCHING_DAYS,Nz:()=>resolveCohortFieldValue,VC:()=>criteriaToHumanSentence,d5:()=>cleanCriteria,et:()=>criteriaToBehavioralFilterType,fQ:()=>applyAllCriteriaGroup,tz:()=>isCohortCriteriaGroup,yn:()=>validateGroup});var fast_deep_equal__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js"),fast_deep_equal__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(fast_deep_equal__WEBPACK_IMPORTED_MODULE_0__),lib_components_PropertyFilters_utils__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/lib/components/PropertyFilters/utils.ts");__webpack_require__("./frontend/src/lib/constants.tsx");var lib_utils__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/utils.tsx"),scenes_cohorts_CohortFilters_constants__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/scenes/cohorts/CohortFilters/constants.tsx"),scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/scenes/cohorts/CohortFilters/types.ts"),_types__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/types.ts"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function cleanBehavioralTypeCriteria(criteria){let type;return[_types__WEBPACK_IMPORTED_MODULE_6__.G2.PerformEvent,_types__WEBPACK_IMPORTED_MODULE_6__.G2.PerformMultipleEvents,_types__WEBPACK_IMPORTED_MODULE_6__.G2.PerformSequenceEvents,_types__WEBPACK_IMPORTED_MODULE_6__.G2.NotPerformSequenceEvents,_types__WEBPACK_IMPORTED_MODULE_6__.NE.PerformEventFirstTime,_types__WEBPACK_IMPORTED_MODULE_6__.NE.PerformEventRegularly,_types__WEBPACK_IMPORTED_MODULE_6__.NE.StopPerformEvent,_types__WEBPACK_IMPORTED_MODULE_6__.NE.StartPerformEventAgain].includes(criteria.value)&&(type=scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_5__.y4.Behavioral),[_types__WEBPACK_IMPORTED_MODULE_6__.Vb.InCohort,_types__WEBPACK_IMPORTED_MODULE_6__.Vb.NotInCohort].includes(criteria.value)&&(type=scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_5__.y4.Cohort),[_types__WEBPACK_IMPORTED_MODULE_6__.G2.HaveProperty,_types__WEBPACK_IMPORTED_MODULE_6__.G2.NotHaveProperty].includes(criteria.value)&&(type=scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_5__.y4.Person),{...criteria,...type?{type}:{}}}function isCohortCriteriaGroup(criteria){return!!criteria&&void 0!==criteria.type&&void 0!==criteria.values}function createCohortFormData(cohort){var _cohort$description;let rawCohort={...cohort.name?{name:cohort.name}:{},description:null!==(_cohort$description=cohort.description)&&void 0!==_cohort$description?_cohort$description:"",...cohort.csv?{csv:cohort.csv}:{},...cohort.is_static?{is_static:cohort.is_static}:{},filters:JSON.stringify(cohort.is_static?{properties:{}}:{properties:{...applyAllCriteriaGroup(applyAllNestedCriteria(cohort,criteriaList=>criteriaList.map(c=>({...c,..."value_property"in c?{value:c.value_property}:{},value_property:void 0}))),groupList=>groupList.map(g=>({...g,id:void 0}))).filters.properties,id:void 0}})},cohortFormData=new FormData;for(let[itemKey,value]of Object.entries(rawCohort))cohortFormData.append(itemKey,value);return cohortFormData}function validateGroup(group){if(!isCohortCriteriaGroup(group))return{};let criteria=group.values.filter(g=>!isCohortCriteriaGroup(g)).map((c,index)=>({...c,index})),negatedCriteria=criteria.filter(c=>!!c.negation),negatedCriteriaIndices=new Set(negatedCriteria.map(c=>c.index));if(group.type!==_types__WEBPACK_IMPORTED_MODULE_6__.J2.And&&negatedCriteria.length>0||group.type===_types__WEBPACK_IMPORTED_MODULE_6__.J2.And&&negatedCriteria.length===criteria.length){let errorMsg=`${negatedCriteria.map(c=>`'${scenes_cohorts_CohortFilters_constants__WEBPACK_IMPORTED_MODULE_4__.x_[criteriaToBehavioralFilterType(c)].label}'`).join(", ")} ${negatedCriteria.length>1?"are":"is a"} negative cohort criteria. ${scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_5__.Rx.NegationCriteriaMissingOther}`;return{id:errorMsg,values:criteria.map(c=>({value:negatedCriteriaIndices.has(c.index)?errorMsg:void 0}))}}let negatedFailingCriteriaIndices=new Set;if(negatedCriteria.forEach(negatedC=>{let baseCriteria={...negatedC};criteria.forEach(c=>{baseCriteria.index!==c.index&&fast_deep_equal__WEBPACK_IMPORTED_MODULE_0___default()(cleanCriteria(baseCriteria),Object.assign({},cleanCriteria(c),{negation:!c.negation}))&&(negatedFailingCriteriaIndices.add(c.index),negatedFailingCriteriaIndices.add(baseCriteria.index))})}),group.type===_types__WEBPACK_IMPORTED_MODULE_6__.J2.And&&negatedCriteria.length>0&&negatedFailingCriteriaIndices.size>0)return{id:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_5__.Rx.NegationCriteriaCancel,values:criteria.map(c=>({value:negatedFailingCriteriaIndices.has(c.index)?scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_5__.Rx.NegationCriteriaCancel:void 0}))};let regularEventCriteria=criteria.filter(c=>c.value===_types__WEBPACK_IMPORTED_MODULE_6__.NE.PerformEventRegularly);if(regularEventCriteria.length>0&®ularEventCriteria.every(c=>(0,lib_utils__WEBPACK_IMPORTED_MODULE_3__.kE)(c.min_periods)&&(0,lib_utils__WEBPACK_IMPORTED_MODULE_3__.kE)(c.total_periods)))return{values:criteria.map(c=>{var _c$min_periods,_c$total_periods;return c.value===_types__WEBPACK_IMPORTED_MODULE_6__.NE.PerformEventRegularly&&(null!==(_c$min_periods=c.min_periods)&&void 0!==_c$min_periods?_c$min_periods:0)>(null!==(_c$total_periods=c.total_periods)&&void 0!==_c$total_periods?_c$total_periods:0)?{id:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_5__.Rx.PeriodTimeMismatch,min_periods:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_5__.Rx.PeriodTimeMismatch,total_periods:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_5__.Rx.PeriodTimeMismatch}:{}})};let sequentialTimeCriteria=criteria.filter(c=>[_types__WEBPACK_IMPORTED_MODULE_6__.NE.StartPerformEventAgain,_types__WEBPACK_IMPORTED_MODULE_6__.NE.StopPerformEvent,_types__WEBPACK_IMPORTED_MODULE_6__.G2.PerformSequenceEvents].includes(c.value));return sequentialTimeCriteria.length>0&&sequentialTimeCriteria.every(c=>(0,lib_utils__WEBPACK_IMPORTED_MODULE_3__.kE)(c.seq_time_value)&&(0,lib_utils__WEBPACK_IMPORTED_MODULE_3__.kE)(c.time_value)&&void 0!==c.time_interval&&void 0!==c.seq_time_interval)?{values:criteria.map(c=>{var _c$seq_time_value,_c$seq_time_interval,_c$time_value,_c$time_interval;return[_types__WEBPACK_IMPORTED_MODULE_6__.NE.StartPerformEventAgain,_types__WEBPACK_IMPORTED_MODULE_6__.NE.StopPerformEvent,_types__WEBPACK_IMPORTED_MODULE_6__.G2.PerformSequenceEvents].includes(c.value)&&(0,lib_utils__WEBPACK_IMPORTED_MODULE_3__.ow)(Number(null!==(_c$seq_time_value=c.seq_time_value)&&void 0!==_c$seq_time_value?_c$seq_time_value:0),null!==(_c$seq_time_interval=c.seq_time_interval)&&void 0!==_c$seq_time_interval?_c$seq_time_interval:_types__WEBPACK_IMPORTED_MODULE_6__.Xy.Day)>(0,lib_utils__WEBPACK_IMPORTED_MODULE_3__.ow)(Number(null!==(_c$time_value=c.time_value)&&void 0!==_c$time_value?_c$time_value:0),null!==(_c$time_interval=c.time_interval)&&void 0!==_c$time_interval?_c$time_interval:_types__WEBPACK_IMPORTED_MODULE_6__.Xy.Day)?{id:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_5__.Rx.SequentialTimeMismatch,seq_time_value:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_5__.Rx.SequentialTimeMismatch,time_value:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_5__.Rx.SequentialTimeMismatch}:{}})}:{values:criteria.map(c=>{let behavioralFilterType=criteriaToBehavioralFilterType(c),requiredFields=scenes_cohorts_CohortFilters_constants__WEBPACK_IMPORTED_MODULE_4__.ng[behavioralFilterType].fields.filter(f=>!!f.fieldKey);[_types__WEBPACK_IMPORTED_MODULE_6__.G2.HaveProperty,_types__WEBPACK_IMPORTED_MODULE_6__.G2.NotHaveProperty].includes(behavioralFilterType)&&"operator"in c&&c.operator&&[_types__WEBPACK_IMPORTED_MODULE_6__.WV.IsSet,_types__WEBPACK_IMPORTED_MODULE_6__.WV.IsNotSet].includes(c.operator)&&(requiredFields=requiredFields.filter(f=>"value_property"!==f.fieldKey)),requiredFields=requiredFields.filter(f=>"event_filters"!==f.fieldKey);let eventFilterError=c?.event_filters&&c.event_filters.length>0&&c.event_filters.some(prop=>prop?.type!==_types__WEBPACK_IMPORTED_MODULE_6__.FT.HogQL&&(0,lib_components_PropertyFilters_utils__WEBPACK_IMPORTED_MODULE_1__.t_)(prop))?scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_5__.Rx.EmptyEventFilters:void 0,criteriaErrors=Object.fromEntries(requiredFields.map(_ref=>{let{fieldKey,type}=_ref;return[fieldKey,(Array.isArray(c[fieldKey])?c[fieldKey].length>0:void 0!==c[fieldKey]&&null!==c[fieldKey]&&""!==c[fieldKey])?void 0:scenes_cohorts_CohortFilters_constants__WEBPACK_IMPORTED_MODULE_4__.hJ?.[type](c[fieldKey])]})),allErrors={...criteriaErrors,event_filters:eventFilterError},consolidatedErrors=Object.values(allErrors).filter(e=>!!e).join(" ");return{...(0,lib_utils__WEBPACK_IMPORTED_MODULE_3__.Ae)(allErrors)?{}:{id:consolidatedErrors},...allErrors}})}}function criteriaToBehavioralFilterType(criteria){var _criteria$value;if(criteria.negation){if(criteria.value===_types__WEBPACK_IMPORTED_MODULE_6__.G2.PerformSequenceEvents)return _types__WEBPACK_IMPORTED_MODULE_6__.G2.NotPerformSequenceEvents;if(criteria.value===_types__WEBPACK_IMPORTED_MODULE_6__.G2.PerformEvent)return _types__WEBPACK_IMPORTED_MODULE_6__.G2.NotPerformedEvent;if(criteria.type===scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_5__.y4.Person)return _types__WEBPACK_IMPORTED_MODULE_6__.G2.NotHaveProperty;if(criteria.type===scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_5__.y4.Cohort)return _types__WEBPACK_IMPORTED_MODULE_6__.Vb.NotInCohort}return null!==(_criteria$value=criteria.value)&&void 0!==_criteria$value?_criteria$value:_types__WEBPACK_IMPORTED_MODULE_6__.G2.PerformEvent}function resolveCohortFieldValue(criteria,fieldKey){var _criteria$fieldKey;return"value"===fieldKey?criteriaToBehavioralFilterType(criteria):null!==(_criteria$fieldKey=criteria?.[fieldKey])&&void 0!==_criteria$fieldKey?_criteria$fieldKey:null}function applyAllCriteriaGroup(oldCohort,fn){return{...oldCohort,filters:{properties:{...oldCohort.filters.properties,values:fn(oldCohort.filters.properties.values)}}}}function applyAllNestedCriteria(oldCohort,fn,groupIndex){var _oldCohort$filters$pr;return{...oldCohort,filters:{properties:{...oldCohort.filters.properties,values:null!==(_oldCohort$filters$pr=oldCohort.filters.properties.values?.map((group,groupI)=>(void 0===groupIndex||groupI===groupIndex)&&isCohortCriteriaGroup(group)?{...group,values:fn(group.values)}:group))&&void 0!==_oldCohort$filters$pr?_oldCohort$filters$pr:[]}}}}function cleanCriteria(criteria){let shouldPurge=arguments.length>1&&void 0!==arguments[1]&&arguments[1],populatedCriteria={},{fields,...apiProps}=scenes_cohorts_CohortFilters_constants__WEBPACK_IMPORTED_MODULE_4__.ng[criteriaToBehavioralFilterType(criteria)];return Object.entries(apiProps).forEach(_ref2=>{var _criteria$key;let[key,defaultValue]=_ref2,nextValue=null!==(_criteria$key=criteria[key])&&void 0!==_criteria$key?_criteria$key:defaultValue;shouldPurge?populatedCriteria[key]=defaultValue:null!=nextValue?populatedCriteria[key]=nextValue:populatedCriteria[key]=void 0}),fields.forEach(_ref3=>{var _criteria$fieldKey2;let{fieldKey,defaultValue}=_ref3,nextValue=fieldKey?null!==(_criteria$fieldKey2=criteria[fieldKey])&&void 0!==_criteria$fieldKey2?_criteria$fieldKey2:defaultValue:null;fieldKey&&shouldPurge?populatedCriteria[fieldKey]=defaultValue:fieldKey&&null!=nextValue?populatedCriteria[fieldKey]=nextValue:fieldKey&&(populatedCriteria[fieldKey]=void 0)}),{...populatedCriteria,...function(type,value){let negation=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return value===_types__WEBPACK_IMPORTED_MODULE_6__.G2.NotPerformSequenceEvents||value===_types__WEBPACK_IMPORTED_MODULE_6__.G2.PerformSequenceEvents&&negation?{type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_5__.y4.Behavioral,value:_types__WEBPACK_IMPORTED_MODULE_6__.G2.PerformSequenceEvents,negation:!0}:value===_types__WEBPACK_IMPORTED_MODULE_6__.G2.NotPerformedEvent||value===_types__WEBPACK_IMPORTED_MODULE_6__.G2.PerformEvent&&negation?{type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_5__.y4.Behavioral,value:_types__WEBPACK_IMPORTED_MODULE_6__.G2.PerformEvent,negation:!0}:value===_types__WEBPACK_IMPORTED_MODULE_6__.Vb.NotInCohort||value===_types__WEBPACK_IMPORTED_MODULE_6__.Vb.InCohort&&negation?{type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_5__.y4.Cohort,value:_types__WEBPACK_IMPORTED_MODULE_6__.Vb.InCohort,negation:!0}:value===_types__WEBPACK_IMPORTED_MODULE_6__.G2.NotHaveProperty||value===_types__WEBPACK_IMPORTED_MODULE_6__.G2.HaveProperty&&negation?{type:scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_5__.y4.Person,value:_types__WEBPACK_IMPORTED_MODULE_6__.G2.HaveProperty,negation:!0}:{type,value,negation:!1}}(populatedCriteria.type,populatedCriteria.value,populatedCriteria.negation)}}function criteriaToHumanSentence(criteria,cohortsById,actionsById){let words=[],data=scenes_cohorts_CohortFilters_constants__WEBPACK_IMPORTED_MODULE_4__.ng[criteriaToBehavioralFilterType(criteria)];return data?(data.fields.forEach(_ref4=>{let{type,fieldKey,defaultValue,hide}=_ref4;if(!hide){if(type===scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_5__.vA.Text)words.push(defaultValue);else if(fieldKey){var _cohortsById$value$na,_actionsById$value$na;let value=criteria[fieldKey];type===scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_5__.vA.CohortValues?words.push((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)("pre",{children:null!==(_cohortsById$value$na=cohortsById?.[value]?.name)&&void 0!==_cohortsById$value$na?_cohortsById$value$na:`Cohort ${value}`})):type===scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_5__.vA.EventsAndActions&&"number"==typeof value?words.push((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)("pre",{children:null!==(_actionsById$value$na=actionsById?.[value]?.name)&&void 0!==_actionsById$value$na?_actionsById$value$na:`Action ${value}`})):type===scenes_cohorts_CohortFilters_types__WEBPACK_IMPORTED_MODULE_5__.vA.EventFilters&&(criteria.event_filters?.length||0)>0?words.push((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)("pre",{children:"with filters"})):words.push((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)("pre",{children:value}))}}}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.Fragment,{children:words})):(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.Fragment,{})}let COHORT_MATCHING_DAYS={1:"day",7:"week",14:"2 weeks",30:"month"}},"./frontend/src/scenes/comments/commentsLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{x:()=>commentsLogic});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_loaders__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea-loaders@3.0.0_kea@3.1.5/node_modules/kea-loaders/lib/index.js"),kea_subscriptions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-subscriptions@3.0.1_kea@3.1.5/node_modules/kea-subscriptions/lib/index.js"),lib_api__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/api.ts"),lib_utils_deleteWithUndo__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/utils/deleteWithUndo.tsx");let commentsLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(()=>["scenes","notebooks","Notebook","commentsLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.props)({}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.key)(props=>`${props.scope}-${props.item_id||""}`),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)({loadComments:!0,maybeLoadComments:!0,setComposedComment:content=>({content}),sendComposedContent:!0,deleteComment:comment=>({comment}),setEditingComment:comment=>({comment}),setReplyingComment:commentId=>({commentId}),setItemContext:(context,callback)=>({context,callback}),clearItemContext:!0,persistEditedComment:!0,setComposerRef:ref=>({ref}),focusComposer:!0}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)({replyingCommentId:[null,{setReplyingComment:(_,_ref)=>{let{commentId}=_ref;return commentId},sendComposedContentSuccess:()=>null}],itemContext:[null,{setItemContext:(_,itemContext)=>itemContext.context?itemContext:null,sendComposedContentSuccess:()=>null}],editingComment:[null,{setEditingComment:(_,_ref2)=>{let{comment}=_ref2;return comment},persistEditedCommentSuccess:()=>null}],composedComment:["",{persist:!0},{setComposedComment:(_,_ref3)=>{let{content}=_ref3;return content},sendComposedContentSuccess:()=>""}],composerRef:[null,{setComposerRef:(_,_ref4)=>{let{ref}=_ref4;return ref}}]}),(0,kea_loaders__WEBPACK_IMPORTED_MODULE_1__.loaders)(_ref5=>{let{props,values,actions}=_ref5;return{comments:[null,{loadComments:async()=>{let response=await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.comments.list({scope:props.scope,item_id:props.item_id});return response.results},sendComposedContent:async()=>{var _values$comments,_values$replyingComme;let existingComments=null!==(_values$comments=values.comments)&&void 0!==_values$comments?_values$comments:[],newComment=await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.comments.create({content:values.composedComment,scope:props.scope,item_id:props.item_id,item_context:values.itemContext?.context,source_comment:null!==(_values$replyingComme=values.replyingCommentId)&&void 0!==_values$replyingComme?_values$replyingComme:void 0});return values.itemContext?.callback?.({sent:!0}),[...existingComments,newComment]},persistEditedComment:async()=>{var _values$comments2;let editedComment=values.editingComment;if(!editedComment)return values.comments;let existingComments=null!==(_values$comments2=values.comments)&&void 0!==_values$comments2?_values$comments2:[],updatedComment=await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.comments.update(editedComment.id,{content:editedComment.content});return[...existingComments.filter(c=>c.id!==editedComment.id),updatedComment]},deleteComment:async _ref6=>{var _values$comments$filt2;let{comment}=_ref6;return await (0,lib_utils_deleteWithUndo__WEBPACK_IMPORTED_MODULE_4__.S)({endpoint:"projects/@current/comments",object:{name:"Comment",id:comment.id},callback:isUndo=>{if(isUndo){var _values$comments$filt;actions.loadCommentsSuccess([...null!==(_values$comments$filt=values.comments?.filter(c=>c.id!==comment.id))&&void 0!==_values$comments$filt?_values$comments$filt:[],comment])}}}),null!==(_values$comments$filt2=values.comments?.filter(c=>c.id!==comment.id))&&void 0!==_values$comments$filt2?_values$comments$filt2:null}}]}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.listeners)(_ref7=>{let{values,actions}=_ref7;return{setReplyingComment:()=>{actions.clearItemContext()},clearItemContext:()=>{values.itemContext?.callback?.({sent:!1}),actions.setItemContext(null)},setItemContext:_ref8=>{let{context}=_ref8;context&&values.composerRef?.focus()},focusComposer:()=>{values.composerRef?.focus()},maybeLoadComments:()=>{values.comments||values.commentsLoading||actions.loadComments()}}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.selectors)({key:[()=>[(_,props)=>props],props=>`${props.scope}-${props.item_id||""}`],sortedComments:[s=>[s.comments],comments=>{var _comments$sort;return null!==(_comments$sort=comments?.sort((a,b)=>a.created_at>b.created_at?1:-1))&&void 0!==_comments$sort?_comments$sort:[]}],commentsWithReplies:[s=>[s.sortedComments],sortedComments=>{let commentsById={};for(let comment of null!=sortedComments?sortedComments:[]){var _comment$source_comme,_comment$source_comme2,_comment$source_comme3;let commentsWithReplies=commentsById[null!==(_comment$source_comme=comment.source_comment)&&void 0!==_comment$source_comme?_comment$source_comme:comment.id];commentsWithReplies||(commentsById[null!==(_comment$source_comme2=comment.source_comment)&&void 0!==_comment$source_comme2?_comment$source_comme2:comment.id]=commentsWithReplies={id:null!==(_comment$source_comme3=comment.source_comment)&&void 0!==_comment$source_comme3?_comment$source_comme3:comment.id,comment:void 0,replies:[]}),commentsWithReplies.id===comment.id?commentsWithReplies.comment=comment:commentsWithReplies.replies.push(comment)}return Object.values(commentsById)}]}),(0,kea_subscriptions__WEBPACK_IMPORTED_MODULE_2__.Vt)(_ref9=>{let{actions}=_ref9;return{replyingCommentId:value=>{value&&actions.focusComposer()}}})])},"./frontend/src/scenes/dashboard/Dashboard.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{Dashboard:()=>Dashboard,scene:()=>scene});var src=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),index_esm=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),NotFound=__webpack_require__("./frontend/src/lib/components/NotFound/index.tsx"),useKeyboardHotkeys=__webpack_require__("./frontend/src/lib/hooks/useKeyboardHotkeys.tsx"),eventUsageLogic=__webpack_require__("./frontend/src/lib/utils/eventUsageLogic.ts"),react=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/index.js"),posthog_icons_es=__webpack_require__("./node_modules/.pnpm/@posthog+icons@0.9.2_react-dom@18.2.0_react@18.2.0/node_modules/@posthog/icons/dist/posthog-icons.es.js"),clsx_m=__webpack_require__("./node_modules/.pnpm/clsx@1.2.1/node_modules/clsx/dist/clsx.m.js"),DateFilter=__webpack_require__("./frontend/src/lib/components/DateFilter/DateFilter.tsx"),PropertyFilters=__webpack_require__("./frontend/src/lib/components/PropertyFilters/PropertyFilters.tsx"),types=__webpack_require__("./frontend/src/lib/components/TaxonomicFilter/types.ts"),dashboardLogic=__webpack_require__("./frontend/src/scenes/dashboard/dashboardLogic.tsx"),groupsModel=__webpack_require__("./frontend/src/models/groupsModel.ts"),src_types=__webpack_require__("./frontend/src/types.ts"),jsx_runtime=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function DashboardEditBar(){let{dashboard,temporaryFilters,dashboardMode}=(0,index_esm.useValues)(dashboardLogic.BM),{setDates,setProperties,setDashboardMode}=(0,index_esm.useActions)(dashboardLogic.BM),{groupsTaxonomicTypes}=(0,index_esm.useValues)(groupsModel.$);return(0,jsx_runtime.jsxs)("div",{className:(0,clsx_m.default)("flex gap-2 items-center justify-between flex-wrap border md:[&>*]:grow-0 [&>*]:grow",dashboardMode===src_types.MN.Edit?"-m-1.5 p-1.5 border-border-bold border-dashed rounded-lg":"border-transparent"),children:[(0,jsx_runtime.jsx)(DateFilter.f,{showCustom:!0,dateFrom:temporaryFilters.date_from,dateTo:temporaryFilters.date_to,onChange:(from_date,to_date)=>{dashboardMode!==src_types.MN.Edit&&setDashboardMode(src_types.MN.Edit,null),setDates(from_date,to_date)},makeLabel:key=>(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(posthog_icons_es.IconCalendar,{}),(0,jsx_runtime.jsxs)("span",{className:"hide-when-small",children:[" ",key]})]})}),(0,jsx_runtime.jsx)(PropertyFilters.t,{onChange:properties=>{dashboardMode!==src_types.MN.Edit&&setDashboardMode(src_types.MN.Edit,null),setProperties(properties)},pageKey:"dashboard_"+dashboard?.id,propertyFilters:temporaryFilters.properties,taxonomicGroupTypes:[types.t.EventProperties,types.t.PersonProperties,types.t.EventFeatureFlags,...groupsTaxonomicTypes,types.t.Cohorts,types.t.Elements,types.t.HogQLExpression]})]})}var injectStylesIntoStyleTag=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),injectStylesIntoStyleTag_default=__webpack_require__.n(injectStylesIntoStyleTag),DashboardItems=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/dashboard/DashboardItems.scss"),DashboardItems_default=__webpack_require__.n(DashboardItems),options={};options.insert="head",options.singleton=!1,injectStylesIntoStyleTag_default()(DashboardItems_default(),options),DashboardItems_default().locals;var InsightCard=__webpack_require__("./frontend/src/lib/components/Cards/InsightCard/index.tsx"),TextCard=__webpack_require__("./frontend/src/lib/components/Cards/TextCard/TextCard.tsx"),useResizeObserver=__webpack_require__("./frontend/src/lib/hooks/useResizeObserver.ts"),LemonButton=__webpack_require__("./frontend/src/lib/lemon-ui/LemonButton/index.ts"),react_grid_layout=__webpack_require__("./node_modules/.pnpm/react-grid-layout@1.3.4_react-dom@18.2.0_react@18.2.0/node_modules/react-grid-layout/index.js"),insightsModel=__webpack_require__("./frontend/src/models/insightsModel.tsx");function DashboardItems_DashboardItems(){let{dashboard,tiles,layouts,dashboardMode,placement,isRefreshingQueued,isRefreshing,highlightedInsightId,refreshStatus,canEditDashboard,itemsLoading,temporaryVariables}=(0,index_esm.useValues)(dashboardLogic.BM),{updateLayouts,updateContainerWidth,updateTileColor,removeTile,duplicateTile,refreshDashboardItem,moveToDashboard,setDashboardMode}=(0,index_esm.useActions)(dashboardLogic.BM),{duplicateInsight,renameInsight}=(0,index_esm.useActions)(insightsModel.U),[resizingItem,setResizingItem]=(0,react.useState)(null),isDragging=(0,react.useRef)(!1),dragEndTimeout=(0,react.useRef)(null),className=(0,clsx_m.default)({"dashboard-view-mode":dashboardMode!==src_types.MN.Edit,"dashboard-edit-mode":dashboardMode===src_types.MN.Edit}),{width:gridWrapperWidth,ref:gridWrapperRef}=(0,useResizeObserver.y)(),canResizeWidth=!gridWrapperWidth||gridWrapperWidth>dashboardLogic.j$.sm;return(0,jsx_runtime.jsx)("div",{className:"dashboard-items-wrapper",ref:gridWrapperRef,children:gridWrapperWidth&&(0,jsx_runtime.jsx)(react_grid_layout.Responsive,{width:gridWrapperWidth,className:className,draggableHandle:".CardMeta,.TextCard__body",isDraggable:dashboardMode===src_types.MN.Edit,isResizable:dashboardMode===src_types.MN.Edit,layouts:layouts,rowHeight:80,margin:[16,16],containerPadding:[0,0],onLayoutChange:(_,newLayouts)=>{dashboardMode===src_types.MN.Edit&&updateLayouts(newLayouts)},onWidthChange:(containerWidth,_,newCols)=>{updateContainerWidth(containerWidth,newCols)},breakpoints:dashboardLogic.j$,resizeHandles:canResizeWidth?["s","e","se"]:["s"],cols:dashboardLogic.cH,onResize:(_layout,_oldItem,newItem)=>{resizingItem&&resizingItem.w===newItem.w&&resizingItem.h===newItem.h||setResizingItem(newItem)},onResizeStop:()=>{setResizingItem(null)},onDrag:()=>{isDragging.current=!0,dragEndTimeout.current&&window.clearTimeout(dragEndTimeout.current)},onDragStop:()=>{dragEndTimeout.current&&window.clearTimeout(dragEndTimeout.current),dragEndTimeout.current=window.setTimeout(()=>{isDragging.current=!1},250)},draggableCancel:"a,table,button,.Popover",children:tiles?.map(tile=>{let{insight,text}=tile,smLayout=layouts.sm?.find(l=>l.i==tile.id.toString()),commonTileProps={dashboardId:dashboard?.id,showResizeHandles:dashboardMode===src_types.MN.Edit,canResizeWidth:canResizeWidth,showEditingControls:[src_types.F4.Dashboard,src_types.F4.ProjectHomepage].includes(placement),moreButtons:canEditDashboard?jsx_runtime.jsx(LemonButton.J,{onClick:()=>setDashboardMode(src_types.MN.Edit,eventUsageLogic.GU.MoreDropdown),fullWidth:!0,children:"Edit layout (E)"}):null,moveToDashboard:_ref=>{let{id,name}=_ref;if(!dashboard)throw Error("must be on a dashboard to move this tile");moveToDashboard(tile,dashboard.id,id,name)},removeFromDashboard:()=>removeTile(tile)};return insight?jsx_runtime.jsx(InsightCard.L,{insight:insight,loadingQueued:isRefreshingQueued(insight.short_id),loading:isRefreshing(insight.short_id),apiErrored:refreshStatus[insight.short_id]?.error||!1,highlighted:highlightedInsightId&&insight.short_id===highlightedInsightId,updateColor:color=>updateTileColor(tile.id,color),ribbonColor:tile.color,refresh:()=>refreshDashboardItem({tile}),refreshEnabled:!itemsLoading,rename:()=>renameInsight(insight),duplicate:()=>duplicateInsight(insight),showDetailsControls:placement!=src_types.F4.Export,placement:placement,loadPriority:smLayout?1e3*smLayout.y+smLayout.x:void 0,variablesOverride:temporaryVariables,...commonTileProps},tile.id):text?jsx_runtime.jsx(TextCard.WV,{textTile:tile,duplicate:()=>duplicateTile(tile),...commonTileProps},tile.id):void 0})})})}var dayjs=__webpack_require__("./frontend/src/lib/dayjs.ts"),usePageVisibility=__webpack_require__("./frontend/src/lib/hooks/usePageVisibility.ts"),icons=__webpack_require__("./frontend/src/lib/lemon-ui/icons/index.ts"),LemonMenu=__webpack_require__("./frontend/src/lib/lemon-ui/LemonMenu/LemonMenu.tsx"),LemonRadio=__webpack_require__("./frontend/src/lib/lemon-ui/LemonRadio/index.ts"),Spinner=__webpack_require__("./frontend/src/lib/lemon-ui/Spinner/index.ts"),utils=__webpack_require__("./frontend/src/lib/utils.tsx");let LastRefreshText=()=>{let{newestRefreshed}=(0,index_esm.useValues)(dashboardLogic.BM);return(0,jsx_runtime.jsxs)("span",{children:["Last updated ",newestRefreshed?(0,dayjs.Bv)(newestRefreshed).fromNow():"a while ago"]})},INTERVAL_OPTIONS=[...Array.from([1800,3600],value=>({label:(0,utils.C7)(value),value:value}))];function DashboardReloadAction(){let{itemsLoading,autoRefresh,refreshMetrics,blockRefresh,oldestClientRefreshAllowed}=(0,index_esm.useValues)(dashboardLogic.BM),{refreshAllDashboardItemsManual,setAutoRefresh,setPageVisibility}=(0,index_esm.useActions)(dashboardLogic.BM);(0,usePageVisibility.d)(pageIsVisible=>{setPageVisibility(pageIsVisible)});let options=INTERVAL_OPTIONS.map(option=>({...option,disabledReason:autoRefresh.enabled?void 0:"Enable auto refresh to set the interval"}));return(0,jsx_runtime.jsxs)("div",{className:"relative",children:[(0,jsx_runtime.jsx)(src.Jp,{onClick:()=>refreshAllDashboardItemsManual(),type:"secondary",icon:itemsLoading?(0,jsx_runtime.jsx)(Spinner.$,{textColored:!0}):blockRefresh?(0,jsx_runtime.jsx)(posthog_icons_es.IconCheck,{}):(0,jsx_runtime.jsx)(icons.tr,{}),size:"small","data-attr":"dashboard-items-action-refresh",disabledReason:blockRefresh?`Next bulk refresh possible ${(0,dayjs.Bv)(oldestClientRefreshAllowed).fromNow()}`:itemsLoading?"Refreshing...":"",sideAction:{"data-attr":"dashboard-items-action-refresh-dropdown",dropdown:{closeOnClickInside:!1,placement:"bottom-end",overlay:(0,jsx_runtime.jsx)(LemonMenu.iy,{items:[{label:()=>(0,jsx_runtime.jsx)(src.f4,{onChange:checked=>setAutoRefresh(checked,autoRefresh.interval),label:"Auto refresh while on page",checked:autoRefresh.enabled,fullWidth:!0,className:"mt-1 mb-2"})},{title:"Refresh interval",items:[{label:()=>(0,jsx_runtime.jsx)(LemonRadio._,{value:autoRefresh.interval,options:options,onChange:value=>{setAutoRefresh(!0,value)},className:"mx-2 mb-1"})}]}]})}},children:(0,jsx_runtime.jsx)("span",{className:(0,clsx_m.default)("dashboard-items-action-refresh-text"),children:itemsLoading?(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:refreshMetrics.total?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["Refreshed ",refreshMetrics.completed," out of ",refreshMetrics.total]}):(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:"Refreshing..."})}):(0,jsx_runtime.jsx)(LastRefreshText,{})})}),(0,jsx_runtime.jsx)(src.Mo,{size:"small",content:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(icons.tr,{className:"mr-0"})," ",(0,utils.C7)(autoRefresh.interval)]}),visible:autoRefresh.enabled,position:"top-right",status:"muted"})]})}var dataThemeLogic=__webpack_require__("./frontend/src/scenes/dataThemeLogic.tsx"),EmptyStates=__webpack_require__("./frontend/src/scenes/insights/EmptyStates/index.ts"),urls=__webpack_require__("./frontend/src/scenes/urls.ts"),Variables=__webpack_require__("./frontend/src/queries/nodes/DataVisualization/Components/Variables/Variables.tsx"),DashboardHeader=__webpack_require__("./frontend/src/scenes/dashboard/DashboardHeader.tsx"),EmptyDashboardComponent=__webpack_require__("./frontend/src/scenes/dashboard/EmptyDashboardComponent.tsx");let scene={component:DashboardScene,logic:dashboardLogic.BM,paramsToProps:_ref=>{let{params:{id,placement}}=_ref;return{id:parseInt(id),placement}}};function Dashboard(){let{id,dashboard,placement,themes}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return(0,index_esm.useMountedLogic)((0,dataThemeLogic.Q)({themes})),(0,jsx_runtime.jsx)(index_esm.BindLogic,{logic:dashboardLogic.BM,props:{id:parseInt(id),placement,dashboard},children:(0,jsx_runtime.jsx)(DashboardScene,{})})}function DashboardScene(){let{placement,dashboard,canEditDashboard,tiles,itemsLoading,dashboardMode,dashboardFailedToLoad}=(0,index_esm.useValues)(dashboardLogic.BM),{setDashboardMode,reportDashboardViewed,abortAnyRunningQuery}=(0,index_esm.useActions)(dashboardLogic.BM);return((0,react.useEffect)(()=>(reportDashboardViewed(),()=>{abortAnyRunningQuery()}),[]),(0,useKeyboardHotkeys.l)(placement==src_types.F4.Dashboard?{e:{action:()=>setDashboardMode(dashboardMode===src_types.MN.Edit?null:src_types.MN.Edit,eventUsageLogic.GU.Hotkey),disabled:!canEditDashboard||null!==dashboardMode&&dashboardMode!==src_types.MN.Edit},f:{action:()=>setDashboardMode(dashboardMode===src_types.MN.Fullscreen?null:src_types.MN.Fullscreen,eventUsageLogic.GU.Hotkey),disabled:null!==dashboardMode&&dashboardMode!==src_types.MN.Fullscreen},escape:{action:()=>setDashboardMode(null,eventUsageLogic.GU.Hotkey),disabled:dashboardMode!==src_types.MN.Edit}}:{},[setDashboardMode,dashboardMode,placement]),dashboard||itemsLoading||dashboardFailedToLoad)?(0,jsx_runtime.jsxs)("div",{className:"dashboard",children:[placement==src_types.F4.Dashboard&&(0,jsx_runtime.jsx)(DashboardHeader.x,{}),dashboardFailedToLoad?(0,jsx_runtime.jsx)(EmptyStates.jC,{title:"There was an error loading this dashboard"}):tiles&&0!==tiles.length?(0,jsx_runtime.jsxs)("div",{children:[(0,jsx_runtime.jsxs)("div",{className:"flex gap-2 items-start justify-between flex-wrap",children:[![src_types.F4.Public,src_types.F4.Export,src_types.F4.FeatureFlag].includes(placement)&&dashboard&&(0,jsx_runtime.jsx)(DashboardEditBar,{}),placement===src_types.F4.FeatureFlag&&dashboard?.id&&(0,jsx_runtime.jsx)(src.Jp,{type:"secondary",size:"small",to:urls.j.dashboard(dashboard.id),children:"Edit dashboard"}),placement!==src_types.F4.Export&&(0,jsx_runtime.jsx)("div",{className:"flex shrink-0 space-x-4 dashoard-items-actions",children:(0,jsx_runtime.jsx)("div",{className:`left-item ${placement===src_types.F4.Public?"text-right":""}`,children:[src_types.F4.Public].includes(placement)?(0,jsx_runtime.jsx)(LastRefreshText,{}):dashboardMode!==src_types.MN.Edit?(0,jsx_runtime.jsx)(DashboardReloadAction,{}):null})})]}),(0,jsx_runtime.jsx)(Variables.B,{}),(0,jsx_runtime.jsx)(DashboardItems_DashboardItems,{})]}):(0,jsx_runtime.jsx)(EmptyDashboardComponent.l,{loading:itemsLoading,canEdit:canEditDashboard})]}):(0,jsx_runtime.jsx)(NotFound.T,{object:"dashboard"})}},"./frontend/src/scenes/dashboard/DashboardCollaborators.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{R:()=>DASHBOARD_RESTRICTION_OPTIONS,o:()=>DashboardCollaboration});var _posthog_icons__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/@posthog+icons@0.9.2_react-dom@18.2.0_react@18.2.0/node_modules/@posthog/icons/dist/posthog-icons.es.js"),kea__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_router__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),lib_components_PayGateMini_PayGateMini__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/components/PayGateMini/PayGateMini.tsx"),lib_components_UserSelectItem__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/components/UserSelectItem.tsx"),lib_constants__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/lib/constants.tsx"),lib_hooks_useFeatureFlag__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/lib/hooks/useFeatureFlag.ts"),lib_lemon_ui_LemonBanner__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonBanner/index.ts"),lib_lemon_ui_LemonButton__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonButton/index.ts"),lib_lemon_ui_LemonInputSelect_LemonInputSelect__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonInputSelect/LemonInputSelect.tsx"),lib_lemon_ui_LemonSelect__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonSelect/index.ts"),lib_lemon_ui_ProfilePicture__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__("./frontend/src/lib/lemon-ui/ProfilePicture/index.ts"),lib_lemon_ui_Tooltip__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__("./frontend/src/lib/lemon-ui/Tooltip/index.ts"),scenes_dashboard_dashboardLogic__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__("./frontend/src/scenes/dashboard/dashboardLogic.tsx"),scenes_urls__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__("./frontend/src/scenes/urls.ts"),_layout_navigation_3000_sidepanel_sidePanelStateLogic__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__("./frontend/src/layout/navigation-3000/sidepanel/sidePanelStateLogic.tsx"),_types__WEBPACK_IMPORTED_MODULE_16__=__webpack_require__("./frontend/src/types.ts"),_dashboardCollaboratorsLogic__WEBPACK_IMPORTED_MODULE_17__=__webpack_require__("./frontend/src/scenes/dashboard/dashboardCollaboratorsLogic.ts"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_18__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let DASHBOARD_RESTRICTION_OPTIONS=[{value:lib_constants__WEBPACK_IMPORTED_MODULE_5__.V7.EveryoneInProjectCanEdit,label:"Everyone in the project can edit",icon:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_18__.jsx)(_posthog_icons__WEBPACK_IMPORTED_MODULE_0__.IconUnlock,{})},{value:lib_constants__WEBPACK_IMPORTED_MODULE_5__.V7.OnlyCollaboratorsCanEdit,label:"Only those invited to this dashboard can edit",icon:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_18__.jsx)(_posthog_icons__WEBPACK_IMPORTED_MODULE_0__.IconLock,{})}];function DashboardCollaboration(_ref){let{dashboardId}=_ref,{dashboard,dashboardLoading,canEditDashboard,canRestrictDashboard}=(0,kea__WEBPACK_IMPORTED_MODULE_1__.useValues)(scenes_dashboard_dashboardLogic__WEBPACK_IMPORTED_MODULE_13__.BM),{triggerDashboardUpdate}=(0,kea__WEBPACK_IMPORTED_MODULE_1__.useActions)(scenes_dashboard_dashboardLogic__WEBPACK_IMPORTED_MODULE_13__.BM),{allCollaborators,explicitCollaboratorsLoading,addableMembers,explicitCollaboratorsToBeAdded}=(0,kea__WEBPACK_IMPORTED_MODULE_1__.useValues)((0,_dashboardCollaboratorsLogic__WEBPACK_IMPORTED_MODULE_17__.B)({dashboardId})),{deleteExplicitCollaborator,setExplicitCollaboratorsToBeAdded,addExplicitCollaborators}=(0,kea__WEBPACK_IMPORTED_MODULE_1__.useActions)((0,_dashboardCollaboratorsLogic__WEBPACK_IMPORTED_MODULE_17__.B)({dashboardId})),{push}=(0,kea__WEBPACK_IMPORTED_MODULE_1__.useActions)(kea_router__WEBPACK_IMPORTED_MODULE_2__.router),{openSidePanel}=(0,kea__WEBPACK_IMPORTED_MODULE_1__.useActions)(_layout_navigation_3000_sidepanel_sidePanelStateLogic__WEBPACK_IMPORTED_MODULE_15__.f),newAccessControl=(0,lib_hooks_useFeatureFlag__WEBPACK_IMPORTED_MODULE_6__.y)("ROLE_BASED_ACCESS_CONTROL");return dashboard?newAccessControl?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxs)("div",{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_18__.jsx)("h3",{children:"Access control"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_18__.jsx)(lib_lemon_ui_LemonBanner__WEBPACK_IMPORTED_MODULE_7__.V,{type:"info",className:"mb-4",children:"Permissions have moved! We're rolling out our new access control system. Click below to open it."}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_18__.jsx)(lib_lemon_ui_LemonButton__WEBPACK_IMPORTED_MODULE_8__.J,{type:"primary",icon:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_18__.jsx)(_posthog_icons__WEBPACK_IMPORTED_MODULE_0__.IconOpenSidebar,{}),onClick:()=>{openSidePanel(_types__WEBPACK_IMPORTED_MODULE_16__.H$.AccessControl),push(scenes_urls__WEBPACK_IMPORTED_MODULE_14__.j.dashboard(dashboard.id))},children:"Open access control"})]}):(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxs)(lib_components_PayGateMini_PayGateMini__WEBPACK_IMPORTED_MODULE_3__.E,{feature:_types__WEBPACK_IMPORTED_MODULE_16__.P$.ADVANCED_PERMISSIONS,children:[(!canEditDashboard||!canRestrictDashboard)&&(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_18__.jsx)(lib_lemon_ui_LemonBanner__WEBPACK_IMPORTED_MODULE_7__.V,{type:"info",className:"mb-4",children:canEditDashboard?"You aren't allowed to change the restriction level – only the dashboard owner and project admins can.":"You aren't allowed to change sharing settings – only dashboard collaborators with edit settings can."}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_18__.jsx)(lib_lemon_ui_LemonSelect__WEBPACK_IMPORTED_MODULE_10__.Yv,{value:dashboard.effective_restriction_level,onChange:newValue=>triggerDashboardUpdate({restriction_level:newValue}),options:DASHBOARD_RESTRICTION_OPTIONS,loading:dashboardLoading,fullWidth:!0,disabled:!canRestrictDashboard}),dashboard.restriction_level>lib_constants__WEBPACK_IMPORTED_MODULE_5__.V7.EveryoneInProjectCanEdit&&(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxs)("div",{className:"mt-4",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_18__.jsx)("h5",{children:"Collaborators"}),canEditDashboard&&(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxs)("div",{className:"flex gap-2",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_18__.jsx)("div",{className:"flex-1",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_18__.jsx)(lib_lemon_ui_LemonInputSelect_LemonInputSelect__WEBPACK_IMPORTED_MODULE_9__.n,{placeholder:"Search for team members to add…",value:explicitCollaboratorsToBeAdded,loading:explicitCollaboratorsLoading,onChange:newValues=>setExplicitCollaboratorsToBeAdded(newValues),mode:"multiple","data-attr":"subscribed-emails",options:(0,lib_components_UserSelectItem__WEBPACK_IMPORTED_MODULE_4__.W)(addableMembers,"uuid")})}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_18__.jsx)(lib_lemon_ui_LemonButton__WEBPACK_IMPORTED_MODULE_8__.J,{type:"primary",loading:explicitCollaboratorsLoading,disabled:0===explicitCollaboratorsToBeAdded.length,onClick:()=>addExplicitCollaborators(),children:"Add"})]}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_18__.jsx)("h5",{className:"mt-4",children:"Project members with access"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_18__.jsx)("div",{className:"mt-2 pb-2 rounded overflow-y-auto max-h-80",children:allCollaborators.map(collaborator=>(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_18__.jsx)(CollaboratorRow,{collaborator:collaborator,deleteCollaborator:canEditDashboard?deleteExplicitCollaborator:void 0},collaborator.user.uuid))})]})]}):null}function CollaboratorRow(_ref2){let{collaborator,deleteCollaborator}=_ref2,{user,level}=collaborator,wasInvited=level<=lib_constants__WEBPACK_IMPORTED_MODULE_5__.kH.CanEdit,privilegeLevelName=lib_constants__WEBPACK_IMPORTED_MODULE_5__.KN[level];return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxs)("div",{className:"flex items-center justify-between mt-2 pl-2 h-8",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_18__.jsx)(lib_lemon_ui_ProfilePicture__WEBPACK_IMPORTED_MODULE_11__.Y,{user:user,size:"md",showName:!0}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_18__.jsx)(lib_lemon_ui_Tooltip__WEBPACK_IMPORTED_MODULE_12__.u,{title:wasInvited?null:`${user.first_name||"This person"} ${level===lib_constants__WEBPACK_IMPORTED_MODULE_5__.kH._Owner?"created the dashboard":"is a project administrator"}`,placement:"left",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxs)("div",{className:"flex items-center gap-2",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_18__.jsx)("span",{className:"rounded bg-primary-alt-highlight p-1",children:privilegeLevelName}),deleteCollaborator&&wasInvited&&(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_18__.jsx)(lib_lemon_ui_LemonButton__WEBPACK_IMPORTED_MODULE_8__.J,{icon:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_18__.jsx)(_posthog_icons__WEBPACK_IMPORTED_MODULE_0__.IconTrash,{}),onClick:()=>deleteCollaborator(user.uuid),tooltip:wasInvited?"Remove invited collaborator":null,size:"small"})]})})]})}},"./frontend/src/scenes/dashboard/DashboardHeader.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{o:()=>DASHBOARD_CANNOT_EDIT_MESSAGE,x:()=>DashboardHeader});var index_esm=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),lib=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),kea_forms_lib=__webpack_require__("./node_modules/.pnpm/kea-forms@3.2.0_kea@3.1.5/node_modules/kea-forms/lib/index.js"),src=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),dashboardsModel=__webpack_require__("./frontend/src/models/dashboardsModel.tsx");let getTileBody=(dashboard,textTileId)=>{let dashboardTiles=dashboard.tiles,matchedTile=dashboardTiles?.find(tt=>tt.id===textTileId);return matchedTile?.text?.body||""},textCardModalLogic=(0,index_esm.kea)([(0,index_esm.path)(["scenes","dashboard","dashboardTextTileModal","logic"]),(0,index_esm.props)({}),(0,index_esm.key)(props=>`textCardModalLogic-${props.dashboard.id}-${props.textTileId}`),(0,index_esm.connect)({actions:[dashboardsModel.h,["updateDashboard"]]}),(0,index_esm.listeners)(_ref=>{let{props,actions}=_ref;return{submitTextTileFailure:error=>{props.dashboard&&props.textTileId&&src.UJ.error(`Could not save text: ${error.error} (${JSON.stringify(error.errors)})`),actions.resetTextTile(),props?.onClose?.()},submitTextTileSuccess:()=>{actions.resetTextTile(),props?.onClose?.()}}}),(0,kea_forms_lib.forms)(_ref2=>{let{props,actions}=_ref2;return{textTile:{defaults:{body:props.textTileId&&"new"!==props.textTileId?getTileBody(props.dashboard,props.textTileId):""},errors:_ref3=>{let{body}=_ref3;return{body:body?null:"This card would be empty! Type something first"}},submit:formValues=>{let textTiles=(props.dashboard.tiles||[]).map(t=>({id:t.id,text:t.text}));if("new"===props.textTileId)actions.updateDashboard({id:props.dashboard.id,tiles:[{text:formValues}]});else{let updatedTiles=[...textTiles].reduce((acc,tile)=>(tile.id===props.textTileId&&tile.text&&(tile.text.body=formValues.body,acc.push(tile)),acc),[]);actions.updateDashboard({id:props.dashboard.id,tiles:updatedTiles})}}}}})]);var LemonButton=__webpack_require__("./frontend/src/lib/lemon-ui/LemonButton/index.ts"),LemonModal=__webpack_require__("./frontend/src/lib/lemon-ui/LemonModal/index.ts"),LemonTextArea=__webpack_require__("./frontend/src/lib/lemon-ui/LemonTextArea/index.ts"),jsx_runtime=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function TextCardModal(_ref){let{isOpen,onClose,dashboard,textTileId}=_ref,modalLogic=textCardModalLogic({dashboard,textTileId:null!=textTileId?textTileId:"new",onClose}),{isTextTileSubmitting,textTileValidationErrors}=(0,index_esm.useValues)(modalLogic),{submitTextTile,resetTextTile}=(0,index_esm.useActions)(modalLogic),handleClose=()=>{resetTextTile(),onClose()};return(0,jsx_runtime.jsx)(LemonModal.f,{closable:!0,isOpen:isOpen,title:"",onClose:handleClose,footer:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(LemonButton.J,{disabledReason:isTextTileSubmitting?"Cannot cancel card creation in progress":null,type:"secondary",onClick:handleClose,children:"Cancel"}),(0,jsx_runtime.jsx)(LemonButton.J,{disabledReason:textTileValidationErrors.body,loading:isTextTileSubmitting,form:"text-tile-form",htmlType:"submit",type:"primary",onClick:submitTextTile,"data-attr":"new"===textTileId?"save-new-text-tile":"edit-text-tile-text",children:"Save"})]}),children:(0,jsx_runtime.jsx)(kea_forms_lib.Form,{logic:textCardModalLogic,props:{dashboard,textTileId},formKey:"textTile",id:"text-tile-form",className:"",enableFormOnSubmit:!0,children:(0,jsx_runtime.jsx)(kea_forms_lib.Field,{name:"body",label:"",children:(0,jsx_runtime.jsx)(LemonTextArea.X,{"data-attr":"text-card-edit-area"})})})})}var EditableField=__webpack_require__("./frontend/src/lib/components/EditableField/EditableField.tsx"),ExportButton=__webpack_require__("./frontend/src/lib/components/ExportButton/ExportButton.tsx"),react=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/index.js");function FullScreen(_ref){let{onExit}=_ref,selector=".layout-top-content";return(0,react.useEffect)(()=>{let myClasses=window.document.querySelectorAll(selector);for(let i=0;i{null===window.document.fullscreenElement&&onExit?.()};try{document.body.requestFullscreen().then(()=>{window.addEventListener("fullscreenchange",handler,!1)})}catch{}try{window.dispatchEvent(new window.Event("scroll")),window.dispatchEvent(new window.Event("resize"))}catch{}return()=>{let elements=window.document.querySelectorAll(selector);for(let i=0;i1)||void 0===arguments[1]||arguments[1],debounce=!(arguments.length>2)||void 0===arguments[2]||arguments[2];return{filters,merge,debounce}},loadInsights:!0,setModalPage:page=>({page}),setDashboardUpdateLoading:(insightId,loading)=>({insightId,loading}),addInsightToDashboard:(insight,dashboardId)=>({insight,dashboardId}),removeInsightFromDashboard:(insight,dashboardId)=>({insight,dashboardId}),updateInsight:insight=>({insight})}),(0,kea_loaders_lib.loaders)(_ref=>{let{values}=_ref;return{insights:{__default:{results:[],count:0},loadInsights:async()=>{let{order,page,search,dashboardId,insightType,createdBy,dateFrom,dateTo}=values.filters,params={order,limit:30,offset:Math.max(0,(page-1)*30),saved:!0,basic:!0};search&&(params.search=search),insightType&&"all types"!==insightType.toLowerCase()&&(params.insight=insightType.toUpperCase()),createdBy&&"All users"!==createdBy&&(params.created_by=createdBy),dateFrom&&"all"!==dateFrom&&(params.date_from=dateFrom,params.date_to=dateTo||void 0),dashboardId&&(params.dashboards=[dashboardId]);let response=await api.ZP.get(`api/environments/${teamLogic.H.values.currentTeamId}/insights/?${(0,utils.oZ)(params)}`);return{...response,results:response.results.map(rawInsight=>(0,InsightViz_utils.Q0)(rawInsight))}}}}}),(0,index_esm.reducers)({rawModalFilters:[null,{setModalFilters:(state,_ref2)=>{let{filters,merge}=_ref2;return(0,savedInsightsLogic.Ow)({...merge&&state||{},...filters,..."page"in filters?{}:{page:1}})}}],insights:{updateInsight:(state,_ref3)=>{let{insight}=_ref3;return{...state,results:state.results.map(i=>i.short_id===insight.short_id?insight:i)}}},dashboardUpdatesInProgress:[{},{setDashboardUpdateLoading:(state,_ref4)=>{let{insightId,loading}=_ref4;return{...state,[insightId]:loading}}}]}),(0,index_esm.selectors)({filters:[s=>[s.rawModalFilters],rawModalFilters=>(0,savedInsightsLogic.Ow)(rawModalFilters||{})],count:[s=>[s.insights],insights=>insights.count],sorting:[s=>[s.filters],filters=>filters.order?filters.order.startsWith("-")?{columnKey:filters.order.slice(1),order:-1}:{columnKey:filters.order,order:1}:null],modalPage:[s=>[s.filters],filters=>filters.page]}),(0,index_esm.listeners)(_ref5=>{let{actions,values,selectors}=_ref5;return{setModalPage:async _ref6=>{let{page}=_ref6;actions.setModalFilters({page},!0),actions.loadInsights()},setModalFilters:async(_ref7,breakpoint,__,previousState)=>{let{debounce}=_ref7,oldFilters=selectors.filters(previousState),newFilters=values.filters;debounce&&await breakpoint(300),(0,utils.h0)(oldFilters,newFilters)||actions.loadInsights()},addInsightToDashboard:async _ref8=>{let{insight,dashboardId}=_ref8;try{actions.setDashboardUpdateLoading(insight.id,!0);let response=await utils_api.L.update(insight.id,{dashboards:[...insight.dashboards||[],dashboardId]});if(response){actions.updateInsight(response);let logic=(0,dashboardLogic.BM)({id:dashboardId});logic.mount(),logic.actions.loadDashboard({action:"update"}),logic.unmount(),LemonToast.UJ.success("Insight added to dashboard")}}finally{eventUsageLogic.vx.actions.reportSavedInsightToDashboard(),actions.setDashboardUpdateLoading(insight.id,!1)}},removeInsightFromDashboard:async _ref9=>{let{insight,dashboardId}=_ref9;try{actions.setDashboardUpdateLoading(insight.id,!0);let response=await utils_api.L.update(insight.id,{dashboards:(insight.dashboards||[]).filter(d=>d!==dashboardId),dashboard_tiles:(insight.dashboard_tiles||[]).filter(dt=>dt.dashboard_id!==dashboardId)});if(response){actions.updateInsight(response);let logic=(0,dashboardLogic.BM)({id:dashboardId});logic.mount(),logic.actions.loadDashboard({action:"update"}),logic.unmount(),LemonToast.UJ.success("Insight removed from dashboard")}}finally{eventUsageLogic.vx.actions.reportRemovedInsightFromDashboard(),actions.setDashboardUpdateLoading(insight.id,!1)}}}}),(0,index_esm.events)(_ref10=>{let{actions}=_ref10;return{afterMount:()=>{actions.loadInsights()}}})]);__webpack_require__("./frontend/src/scenes/saved-insights/SavedInsights.scss");var posthog_icons_es=__webpack_require__("./node_modules/.pnpm/@posthog+icons@0.9.2_react-dom@18.2.0_react@18.2.0/node_modules/@posthog/icons/dist/posthog-icons.es.js"),TZLabel=__webpack_require__("./frontend/src/lib/components/TZLabel/index.tsx"),LemonTable=__webpack_require__("./frontend/src/lib/lemon-ui/LemonTable/index.ts"),columnUtils=__webpack_require__("./frontend/src/lib/lemon-ui/LemonTable/columnUtils.tsx"),LemonTableLink=__webpack_require__("./frontend/src/lib/lemon-ui/LemonTable/LemonTableLink.tsx"),Spinner=__webpack_require__("./frontend/src/lib/lemon-ui/Spinner/index.ts"),EmptyStates=__webpack_require__("./frontend/src/scenes/insights/EmptyStates/index.ts"),insights_summarizeInsight=__webpack_require__("./frontend/src/scenes/insights/summarizeInsight.ts"),organizationLogic=__webpack_require__("./frontend/src/scenes/organizationLogic.tsx"),SavedInsightsFilters=__webpack_require__("./frontend/src/scenes/saved-insights/SavedInsightsFilters.tsx"),saved_insights_SavedInsights=__webpack_require__("./frontend/src/scenes/saved-insights/SavedInsights.tsx");function AddSavedInsightsToDashboard(){let{modalPage,insights,count,insightsLoading,filters,sorting,dashboardUpdatesInProgress}=(0,index_esm.useValues)(addSavedInsightsModalLogic),{setModalPage,addInsightToDashboard,removeInsightFromDashboard,setModalFilters}=(0,index_esm.useActions)(addSavedInsightsModalLogic),{hasTagging}=(0,index_esm.useValues)(organizationLogic.p),{dashboard}=(0,index_esm.useValues)(dashboardLogic.BM),summarizeInsight=(0,insights_summarizeInsight.DF)(),{tab}=filters,startCount=(modalPage-1)*30+1,endCount=Math.min(30*modalPage,count),columns=[{key:"id",width:32,render:function renderType(_,insight){return(0,jsx_runtime.jsx)(saved_insights_SavedInsights.InsightIcon,{insight:insight,className:"text-muted text-2xl"})}},{title:"Name",dataIndex:"name",key:"name",render:function renderName(name,insight){return(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:(0,jsx_runtime.jsx)(LemonTableLink.i,{to:urls.j.insightView(insight.short_id),title:(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:name||(0,jsx_runtime.jsx)("i",{children:summarizeInsight(insight.query)})}),description:insight.description})})}},...hasTagging?[{title:"Tags",dataIndex:"tags",key:"tags",render:function renderTags(tags){return(0,jsx_runtime.jsx)(ObjectTags.D,{tags:tags,staticOnly:!0})}}]:[],...tab===types.l4.Yours?[]:[(0,columnUtils.JB)()],(0,columnUtils.rw)(),{title:"Last modified",sorter:!0,dataIndex:"last_modified_at",render:function renderLastModified(last_modified_at){return(0,jsx_runtime.jsx)("div",{className:"whitespace-nowrap",children:last_modified_at&&(0,jsx_runtime.jsx)(TZLabel.w,{time:last_modified_at})})}},{width:0,render:function Render(_,insight){let isInDashboard=dashboard?.tiles.some(tile=>tile.insight?.id===insight.id);return(0,jsx_runtime.jsx)(LemonButton.J,{type:"secondary",status:isInDashboard?"danger":"default",size:"small",fullWidth:!0,disabled:dashboardUpdatesInProgress[insight.id],onClick:e=>{e.preventDefault(),dashboardUpdatesInProgress[insight.id]||(isInDashboard?removeInsightFromDashboard(insight,dashboard?.id||0):addInsightToDashboard(insight,dashboard?.id||0))},children:dashboardUpdatesInProgress[insight.id]?(0,jsx_runtime.jsx)(Spinner.$,{textColored:!0}):isInDashboard?(0,jsx_runtime.jsx)(posthog_icons_es.IconMinusSmall,{}):(0,jsx_runtime.jsx)(posthog_icons_es.IconPlusSmall,{})})}}];return(0,jsx_runtime.jsxs)("div",{className:"saved-insights",children:[(0,jsx_runtime.jsx)(SavedInsightsFilters.r,{filters:filters,setFilters:setModalFilters}),(0,jsx_runtime.jsx)(LemonDivider.p,{className:"my-4"}),(0,jsx_runtime.jsx)("div",{className:"flex justify-between mb-4 gap-2 flex-wrap mt-2 items-center",children:(0,jsx_runtime.jsx)("span",{className:"text-muted-alt",children:count?`${startCount}${endCount-startCount>1?"-"+endCount:""} of ${count} insight${1===count?"":"s"}`:null})}),!insightsLoading&&insights.count<1?(0,jsx_runtime.jsx)(EmptyStates.D9,{}):(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:(0,jsx_runtime.jsx)(LemonTable.g,{loading:insightsLoading,columns:columns,dataSource:insights.results,pagination:{controlled:!0,currentPage:modalPage,pageSize:30,entryCount:count,onForward:()=>setModalPage(modalPage+1),onBackward:()=>setModalPage(modalPage-1)},sorting:sorting,onSort:newSorting=>setModalFilters({order:newSorting?`${-1===newSorting.order?"-":""}${newSorting.columnKey}`:void 0}),rowKey:"id",loadingSkeletonRows:30,nouns:["insight","insights"]})})]})}var addInsightToDashboardModalLogic=__webpack_require__("./frontend/src/scenes/dashboard/addInsightToDashboardModalLogic.ts");function AddInsightToDashboardModal(){let{hideAddInsightToDashboardModal}=(0,index_esm.useActions)(addInsightToDashboardModalLogic.P),{addInsightToDashboardModalVisible}=(0,index_esm.useValues)(addInsightToDashboardModalLogic.P),{dashboard}=(0,index_esm.useValues)(dashboardLogic.BM);return(0,jsx_runtime.jsx)(index_esm.BindLogic,{logic:addSavedInsightsModalLogic,props:{},children:(0,jsx_runtime.jsx)(LemonModal.f,{title:"Add insight to dashboard",onClose:hideAddInsightToDashboardModal,isOpen:addInsightToDashboardModalVisible,footer:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(LemonButton.J,{type:"secondary","data-attr":"dashboard-cancel",onClick:hideAddInsightToDashboardModal,children:"Cancel"}),(0,jsx_runtime.jsx)(LemonButton.J,{type:"primary","data-attr":"dashboard-add-new-insight",to:urls.j.insightNew(void 0,dashboard?.id),children:"New insight"})]}),children:(0,jsx_runtime.jsx)(AddSavedInsightsToDashboard,{})})})}var DashboardCollaborators=__webpack_require__("./frontend/src/scenes/dashboard/DashboardCollaborators.tsx"),dashboardCollaboratorsLogic=__webpack_require__("./frontend/src/scenes/dashboard/dashboardCollaboratorsLogic.ts"),DashboardTemplateEditor=__webpack_require__("./frontend/src/scenes/dashboard/DashboardTemplateEditor.tsx"),dashboardTemplateEditorLogic=__webpack_require__("./frontend/src/scenes/dashboard/dashboardTemplateEditorLogic.ts");let DASHBOARD_CANNOT_EDIT_MESSAGE="You don't have edit permissions for this dashboard. Ask a dashboard collaborator with edit access to add you.";function DashboardHeader(){let{dashboard,dashboardLoading,dashboardMode,canEditDashboard,showSubscriptions,subscriptionId,apiUrl,showTextTileModal,textTileId}=(0,index_esm.useValues)(dashboardLogic.BM),{setDashboardMode,triggerDashboardUpdate}=(0,index_esm.useActions)(dashboardLogic.BM),{asDashboardTemplate}=(0,index_esm.useValues)(dashboardLogic.BM),{updateDashboard,pinDashboard,unpinDashboard}=(0,index_esm.useActions)(dashboardsModel.h),{createNotebookFromDashboard}=(0,index_esm.useActions)(notebooksModel.L),{showAddInsightToDashboardModal}=(0,index_esm.useActions)(addInsightToDashboardModalLogic.P),{setDashboardTemplate,openDashboardTemplateEditor}=(0,index_esm.useActions)(dashboardTemplateEditorLogic.X),{user}=(0,index_esm.useValues)(userLogic.userLogic),{showDuplicateDashboardModal}=(0,index_esm.useActions)(duplicateDashboardLogic.T),{showDeleteDashboardModal}=(0,index_esm.useActions)(deleteDashboardLogic.r),{tags}=(0,index_esm.useValues)(tagsModel.x),{push}=(0,index_esm.useActions)(lib.router),exportOptions=[{export_format:types.P5.PNG,dashboard:dashboard?.id,export_context:{path:apiUrl()}}];return user?.is_staff&&exportOptions.push({export_format:types.P5.JSON,export_context:{localData:JSON.stringify(asDashboardTemplate),filename:`dashboard-${(0,utils.lV)(dashboard?.name||"nameless dashboard")}.json`,mediaType:types.P5.JSON}}),dashboard||dashboardLoading?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[dashboardMode===types.MN.Fullscreen&&(0,jsx_runtime.jsx)(FullScreen,{onExit:()=>setDashboardMode(null,eventUsageLogic.GU.Browser)}),dashboard&&(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(SubscriptionsModal.r,{isOpen:showSubscriptions,closeModal:()=>push(urls.j.dashboard(dashboard.id)),dashboardId:dashboard.id,subscriptionId:subscriptionId}),(0,jsx_runtime.jsx)(SharingModal.PA,{title:"Dashboard permissions & sharing",isOpen:dashboardMode===types.MN.Sharing,closeModal:()=>push(urls.j.dashboard(dashboard.id)),dashboardId:dashboard.id}),canEditDashboard&&(0,jsx_runtime.jsx)(TextCardModal,{isOpen:showTextTileModal,onClose:()=>push(urls.j.dashboard(dashboard.id)),dashboard:dashboard,textTileId:textTileId}),canEditDashboard&&(0,jsx_runtime.jsx)(DeleteDashboardModal.y,{}),canEditDashboard&&(0,jsx_runtime.jsx)(DuplicateDashboardModal.i,{}),canEditDashboard&&(0,jsx_runtime.jsx)(AddInsightToDashboardModal,{})]}),(0,jsx_runtime.jsx)(PageHeader.m,{buttons:dashboardMode===types.MN.Edit?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(LemonButton.J,{"data-attr":"dashboard-edit-mode-discard",type:"secondary",onClick:()=>setDashboardMode(null,eventUsageLogic.GU.DashboardHeaderDiscardChanges),tabIndex:9,children:"Cancel"}),(0,jsx_runtime.jsx)(LemonButton.J,{"data-attr":"dashboard-edit-mode-save",type:"primary",onClick:()=>setDashboardMode(null,eventUsageLogic.GU.DashboardHeaderSaveDashboard),tabIndex:10,disabledReason:dashboardLoading?"Wait for dashboard to finish loading":canEditDashboard?void 0:"Not privileged to edit this dashboard",children:"Save"})]}):dashboardMode===types.MN.Fullscreen?(0,jsx_runtime.jsx)(LemonButton.J,{type:"secondary",onClick:()=>setDashboardMode(null,eventUsageLogic.GU.DashboardHeaderExitFullscreen),"data-attr":"dashboard-exit-presentation-mode",disabled:dashboardLoading,children:"Exit full screen"}):(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(More.T,{"data-attr":"dashboard-three-dots-options-menu",overlay:dashboard?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[dashboard.created_by&&(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsxs)("div",{className:"flex p-2 text-muted-alt",children:["Created by"," ",dashboard.created_by.first_name||dashboard.created_by.email||"-"," ","on ",(0,utils.bo)(dashboard.created_at)]}),(0,jsx_runtime.jsx)(LemonDivider.p,{})]}),canEditDashboard&&(0,jsx_runtime.jsx)(LemonButton.J,{onClick:()=>setDashboardMode(types.MN.Edit,eventUsageLogic.GU.MoreDropdown),fullWidth:!0,children:"Edit layout (E)"}),(0,jsx_runtime.jsx)(LemonButton.J,{onClick:()=>setDashboardMode(types.MN.Fullscreen,eventUsageLogic.GU.MoreDropdown),fullWidth:!0,children:"Go full screen (F)"}),canEditDashboard&&(dashboard.pinned?(0,jsx_runtime.jsx)(LemonButton.J,{onClick:()=>unpinDashboard(dashboard.id,eventUsageLogic.GU.MoreDropdown),fullWidth:!0,children:"Unpin dashboard"}):(0,jsx_runtime.jsx)(LemonButton.J,{onClick:()=>pinDashboard(dashboard.id,eventUsageLogic.GU.MoreDropdown),fullWidth:!0,children:"Pin dashboard"})),(0,jsx_runtime.jsx)(SubscriptionsModal.T,{dashboardId:dashboard.id}),(0,jsx_runtime.jsx)(ExportButton.j,{fullWidth:!0,items:exportOptions}),user?.is_staff&&(0,jsx_runtime.jsx)(LemonButton.J,{onClick:()=>{asDashboardTemplate&&(setDashboardTemplate(asDashboardTemplate),openDashboardTemplateEditor())},fullWidth:!0,children:"Save as template"}),(0,jsx_runtime.jsx)(LemonDivider.p,{}),(0,jsx_runtime.jsx)(LemonButton.J,{onClick:()=>{showDuplicateDashboardModal(dashboard.id,dashboard.name)},fullWidth:!0,children:"Duplicate dashboard"}),(0,jsx_runtime.jsx)(LemonButton.J,{onClick:()=>createNotebookFromDashboard(dashboard),fullWidth:!0,children:"Create notebook from dashboard"}),canEditDashboard&&(0,jsx_runtime.jsx)(LemonButton.J,{onClick:()=>{showDeleteDashboardModal(dashboard.id)},status:"danger",fullWidth:!0,children:"Delete dashboard"})]}):void 0}),(0,jsx_runtime.jsx)(LemonDivider.p,{vertical:!0}),dashboard&&(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(CollaboratorBubbles,{dashboard:dashboard,onClick:()=>push(urls.j.dashboardSharing(dashboard.id))}),(0,jsx_runtime.jsx)(LemonButton.J,{type:"secondary","data-attr":"dashboard-share-button",onClick:()=>push(urls.j.dashboardSharing(dashboard.id)),children:"Share"})]}),dashboard?(0,jsx_runtime.jsx)(LemonButton.J,{onClick:showAddInsightToDashboardModal,type:"primary","data-attr":"dashboard-add-graph-header",disabledReason:canEditDashboard?null:DASHBOARD_CANNOT_EDIT_MESSAGE,sideAction:{dropdown:{placement:"bottom-end",overlay:(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:(0,jsx_runtime.jsx)(LemonButton.J,{fullWidth:!0,onClick:()=>{push(urls.j.dashboardTextTile(dashboard.id,"new"))},"data-attr":"add-text-tile-to-dashboard",children:"Add text card"})})},disabled:!1,"data-attr":"dashboard-add-dropdown"},children:"Add insight"}):null]}),caption:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[dashboard&&!!(canEditDashboard||dashboard.description)&&(0,jsx_runtime.jsx)(EditableField.f,{multiline:!0,name:"description",markdown:!0,value:dashboard.description,placeholder:"Description (optional)",onSave:value=>updateDashboard({id:dashboard.id,description:value,allowUndo:!0}),saveOnBlur:!0,compactButtons:!0,mode:canEditDashboard?void 0:"view"}),dashboard?.tags&&(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:canEditDashboard?(0,jsx_runtime.jsx)(ObjectTags.D,{tags:dashboard.tags,onChange:tags=>triggerDashboardUpdate({tags}),saving:dashboardLoading,tagsAvailable:tags.filter(tag=>!dashboard.tags?.includes(tag)),className:"mt-2"}):dashboard.tags.length?(0,jsx_runtime.jsx)(ObjectTags.D,{tags:dashboard.tags,saving:dashboardLoading,staticOnly:!0,className:"mt-2"}):null})]}),delimited:!0}),(0,jsx_runtime.jsx)(DashboardTemplateEditor.v,{})]}):null}function CollaboratorBubbles(_ref){let{dashboard,onClick}=_ref,{allCollaborators}=(0,index_esm.useValues)((0,dashboardCollaboratorsLogic.B)({dashboardId:dashboard.id}));if(!dashboard)return null;let effectiveRestrictionLevelOption=DashboardCollaborators.R[dashboard.effective_restriction_level],tooltipParts=[];return(0,LemonSelect.u7)(effectiveRestrictionLevelOption)&&"string"==typeof effectiveRestrictionLevelOption?.title&&tooltipParts.push(effectiveRestrictionLevelOption.title),dashboard.is_shared&&tooltipParts.push("Shared publicly"),(0,jsx_runtime.jsx)(ProfileBubbles.r,{people:allCollaborators.map(collaborator=>({email:collaborator.user.email,name:collaborator.user.first_name,title:`${collaborator.user.first_name} <${collaborator.user.email}> (${constants.KN[collaborator.level]})`})),tooltip:tooltipParts.join(" • "),onClick:onClick})}},"./frontend/src/scenes/dashboard/DashboardTemplateChooser.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{g:()=>DashboardTemplateChooser_DashboardTemplateChooser});var injectStylesIntoStyleTag=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),injectStylesIntoStyleTag_default=__webpack_require__.n(injectStylesIntoStyleTag),DashboardTemplateChooser=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/dashboard/DashboardTemplateChooser.scss"),DashboardTemplateChooser_default=__webpack_require__.n(DashboardTemplateChooser),options={};options.insert="head",options.singleton=!1,injectStylesIntoStyleTag_default()(DashboardTemplateChooser_default(),options),DashboardTemplateChooser_default().locals;var src=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),clsx_m=__webpack_require__("./node_modules/.pnpm/clsx@1.2.1/node_modules/clsx/dist/clsx.m.js"),index_esm=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),colors=__webpack_require__("./frontend/src/lib/colors.ts"),react=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/index.js"),jsx_runtime=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function FallbackCoverImage(_ref){let{src,alt,index,className="",imageClassName=""}=_ref,[hasError,setHasError]=(0,react.useState)(!1);return(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:hasError||!src?(0,jsx_runtime.jsx)("div",{className:(0,clsx_m.default)("w-full h-full",className),style:{background:(0,colors._r)(index)}}):(0,jsx_runtime.jsx)("img",{className:(0,clsx_m.default)("object-cover w-full",imageClassName),src:src,alt:alt,onError:()=>{setHasError(!0)}})})}var Spinner=__webpack_require__("./frontend/src/lib/lemon-ui/Spinner/index.ts");let blank_dashboard_hog=__webpack_require__.p+"images/blank-dashboard-hog.be6aa4a293f4321162c6fa6f77094861.png";var dashboardTemplatesLogic=__webpack_require__("./frontend/src/scenes/dashboard/dashboards/templates/dashboardTemplatesLogic.tsx"),newDashboardLogic=__webpack_require__("./frontend/src/scenes/dashboard/newDashboardLogic.ts"),types=__webpack_require__("./frontend/src/types.ts");function DashboardTemplateChooser_DashboardTemplateChooser(_ref){let{scope="default",onItemClick,redirectAfterCreation=!0,availabilityContexts}=_ref,templatesLogic=(0,dashboardTemplatesLogic.R)({scope}),{allTemplates,allTemplatesLoading}=(0,index_esm.useValues)(templatesLogic),{isLoading,newDashboardModalVisible}=(0,index_esm.useValues)(newDashboardLogic.Z),{setActiveDashboardTemplate,createDashboardFromTemplate,addDashboard,setIsLoading,showVariableSelectModal}=(0,index_esm.useActions)(newDashboardLogic.Z);return(0,jsx_runtime.jsx)("div",{children:(0,jsx_runtime.jsxs)("div",{className:"DashboardTemplateChooser",children:[!availabilityContexts||availabilityContexts.includes(types.FB.GENERAL)?(0,jsx_runtime.jsx)(TemplateItem,{template:{template_name:"Blank dashboard",dashboard_description:"Create a blank dashboard",image_url:blank_dashboard_hog},onClick:()=>{isLoading||(setIsLoading(!0),addDashboard({name:"New Dashboard",show:!0}))},index:0,"data-attr":"create-dashboard-blank"}):null,allTemplatesLoading?(0,jsx_runtime.jsx)(Spinner.$,{className:"text-6xl"}):allTemplates.filter(template=>!availabilityContexts||availabilityContexts.some(context=>template.availability_contexts?.includes(context))).map((template,index)=>(0,jsx_runtime.jsx)(TemplateItem,{template:template,onClick:()=>{isLoading||(setIsLoading(!0),0===(template.variables||[]).length?(null===template.variables&&(template.variables=[]),createDashboardFromTemplate(template,template.variables||[],redirectAfterCreation)):newDashboardModalVisible?setActiveDashboardTemplate(template):showVariableSelectModal(template),onItemClick?.(template))},index:index+1,"data-attr":"create-dashboard-from-template"},index))]})})}function TemplateItem(_ref2){var _template$dashboard_d;let{template,onClick,index,"data-attr":dataAttr}=_ref2,[isHovering,setIsHovering]=(0,react.useState)(!1);return(0,jsx_runtime.jsxs)("div",{className:"cursor-pointer border rounded TemplateItem flex flex-col transition-all",onClick:onClick,onMouseEnter:()=>setIsHovering(!0),onMouseLeave:()=>setIsHovering(!1),"data-attr":dataAttr,children:[(0,jsx_runtime.jsx)("div",{className:(0,clsx_m.default)("transition-all w-full overflow-hidden",isHovering?"h-4 min-h-4":"h-30 min-h-30"),children:(0,jsx_runtime.jsx)(FallbackCoverImage,{src:template?.image_url,alt:"cover photo",index:index,imageClassName:"h-30"})}),(0,jsx_runtime.jsx)("h5",{className:"px-2 mb-1",children:template?.template_name}),(0,jsx_runtime.jsx)("div",{className:"flex gap-x-1 px-2 mb-1",children:template.tags?.map((tag,index)=>jsx_runtime.jsx(src.oe,{type:"option",children:tag},index))}),(0,jsx_runtime.jsx)("div",{className:"px-2 py-1 overflow-y-auto grow",children:(0,jsx_runtime.jsx)("p",{className:(0,clsx_m.default)("text-muted-alt text-xs",isHovering?"":"line-clamp-2"),children:null!==(_template$dashboard_d=template?.dashboard_description)&&void 0!==_template$dashboard_d?_template$dashboard_d:" "})})]})}},"./frontend/src/scenes/dashboard/DashboardTemplateEditor.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{v:()=>DashboardTemplateEditor});var _posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),kea__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),lib_monaco_CodeEditor__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/monaco/CodeEditor.tsx"),_dashboardTemplateEditorLogic__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/scenes/dashboard/dashboardTemplateEditorLogic.ts"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function DashboardTemplateEditor(_ref){let{inline=!1}=_ref,{closeDashboardTemplateEditor,createDashboardTemplate,updateDashboardTemplate,setEditorValue,updateValidationErrors}=(0,kea__WEBPACK_IMPORTED_MODULE_1__.useActions)(_dashboardTemplateEditorLogic__WEBPACK_IMPORTED_MODULE_3__.X),{isOpenNewDashboardTemplateModal,editorValue,validationErrors,templateSchema,id}=(0,kea__WEBPACK_IMPORTED_MODULE_1__.useValues)(_dashboardTemplateEditorLogic__WEBPACK_IMPORTED_MODULE_3__.X);return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.fQ,{title:id?"Edit dashboard template":"New dashboard template",isOpen:isOpenNewDashboardTemplateModal,width:1e3,onClose:()=>{closeDashboardTemplateEditor()},inline:inline,footer:id?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.Jp,{type:"primary","data-attr":"update-dashboard-template-button",onClick:()=>{updateDashboardTemplate({id})},disabledReason:validationErrors.length?`There are ${validationErrors.length} errors to resolve: ${validationErrors.map(e=>" "+e)}`:void 0,children:"Update template"}):(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.Jp,{type:"primary","data-attr":"create-dashboard-template-button",onClick:()=>{createDashboardTemplate()},disabledReason:validationErrors.length?`There are ${validationErrors.length} errors to resolve:${validationErrors.map(e=>" "+e)}`:void 0,children:"Create new template"}),children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(lib_monaco_CodeEditor__WEBPACK_IMPORTED_MODULE_2__.p,{className:"border",language:"json",value:editorValue,onChange:v=>{setEditorValue(null!=v?v:"")},onValidate:markers=>{updateValidationErrors(markers)},path:id?`dashboard-templates/${id}.json`:"dashboard-templates/new.json",schema:templateSchema,height:600})})}},"./frontend/src/scenes/dashboard/DeleteDashboardModal.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{y:()=>DeleteDashboardModal});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_forms__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea-forms@3.2.0_kea@3.1.5/node_modules/kea-forms/lib/index.js"),lib_lemon_ui_LemonButton__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonButton/index.ts"),lib_lemon_ui_LemonCheckbox__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonCheckbox/index.ts"),lib_lemon_ui_LemonField__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonField/index.ts"),lib_lemon_ui_LemonModal__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonModal/index.ts"),scenes_dashboard_deleteDashboardLogic__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/scenes/dashboard/deleteDashboardLogic.ts"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function DeleteDashboardModal(){let{hideDeleteDashboardModal}=(0,kea__WEBPACK_IMPORTED_MODULE_0__.useActions)(scenes_dashboard_deleteDashboardLogic__WEBPACK_IMPORTED_MODULE_6__.r),{isDeleteDashboardSubmitting,deleteDashboardModalVisible}=(0,kea__WEBPACK_IMPORTED_MODULE_0__.useValues)(scenes_dashboard_deleteDashboardLogic__WEBPACK_IMPORTED_MODULE_6__.r);return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(lib_lemon_ui_LemonModal__WEBPACK_IMPORTED_MODULE_5__.f,{title:"Delete dashboard",onClose:hideDeleteDashboardModal,isOpen:deleteDashboardModalVisible,footer:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.Fragment,{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(lib_lemon_ui_LemonButton__WEBPACK_IMPORTED_MODULE_2__.J,{form:"delete-dashboard-form",type:"secondary","data-attr":"dashboard-delete",disabled:isDeleteDashboardSubmitting,onClick:hideDeleteDashboardModal,children:"Cancel"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(lib_lemon_ui_LemonButton__WEBPACK_IMPORTED_MODULE_2__.J,{form:"delete-dashboard-form",htmlType:"submit",type:"secondary",status:"danger","data-attr":"dashboard-delete-submit",loading:isDeleteDashboardSubmitting,disabled:isDeleteDashboardSubmitting,children:"Delete dashboard"})]}),children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(kea_forms__WEBPACK_IMPORTED_MODULE_1__.Form,{logic:scenes_dashboard_deleteDashboardLogic__WEBPACK_IMPORTED_MODULE_6__.r,formKey:"deleteDashboard",id:"delete-dashboard-form",enableFormOnSubmit:!0,className:"space-y-2",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(lib_lemon_ui_LemonField__WEBPACK_IMPORTED_MODULE_4__.D,{name:"deleteInsights",help:"This will only delete insights if they're not on any other dashboards.",children:_ref=>{let{value,onChange}=_ref;return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(lib_lemon_ui_LemonCheckbox__WEBPACK_IMPORTED_MODULE_3__.H,{"data-attr":"delete-dashboard-insights-checkbox",checked:value,label:"Delete this dashboard's insights",onChange:onChange})}})})})}},"./frontend/src/scenes/dashboard/DuplicateDashboardModal.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{i:()=>DuplicateDashboardModal});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_forms__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea-forms@3.2.0_kea@3.1.5/node_modules/kea-forms/lib/index.js"),lib_lemon_ui_LemonButton__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonButton/index.ts"),lib_lemon_ui_LemonCheckbox__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonCheckbox/index.ts"),lib_lemon_ui_LemonField__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonField/index.ts"),lib_lemon_ui_LemonModal__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonModal/index.ts"),scenes_dashboard_duplicateDashboardLogic__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/scenes/dashboard/duplicateDashboardLogic.ts"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function DuplicateDashboardModal(){let{hideDuplicateDashboardModal,duplicateAndGoToDashboard}=(0,kea__WEBPACK_IMPORTED_MODULE_0__.useActions)(scenes_dashboard_duplicateDashboardLogic__WEBPACK_IMPORTED_MODULE_6__.T),{isDuplicateDashboardSubmitting,duplicateDashboardModalVisible}=(0,kea__WEBPACK_IMPORTED_MODULE_0__.useValues)(scenes_dashboard_duplicateDashboardLogic__WEBPACK_IMPORTED_MODULE_6__.T);return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(lib_lemon_ui_LemonModal__WEBPACK_IMPORTED_MODULE_5__.f,{title:"Duplicate dashboard",onClose:hideDuplicateDashboardModal,isOpen:duplicateDashboardModalVisible,footer:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.Fragment,{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(lib_lemon_ui_LemonButton__WEBPACK_IMPORTED_MODULE_2__.J,{form:"new-dashboard-form",type:"secondary","data-attr":"dashboard-cancel",disabled:isDuplicateDashboardSubmitting,onClick:hideDuplicateDashboardModal,children:"Cancel"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(lib_lemon_ui_LemonButton__WEBPACK_IMPORTED_MODULE_2__.J,{form:"new-dashboard-form",type:"secondary","data-attr":"dashboard-submit-and-go",disabled:isDuplicateDashboardSubmitting,onClick:duplicateAndGoToDashboard,children:"Duplicate and go to dashboard"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(lib_lemon_ui_LemonButton__WEBPACK_IMPORTED_MODULE_2__.J,{form:"duplicate-dashboard-form",htmlType:"submit",type:"primary","data-attr":"duplicate-dashboard-submit",loading:isDuplicateDashboardSubmitting,disabled:isDuplicateDashboardSubmitting,children:"Duplicate"})]}),children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(kea_forms__WEBPACK_IMPORTED_MODULE_1__.Form,{logic:scenes_dashboard_duplicateDashboardLogic__WEBPACK_IMPORTED_MODULE_6__.T,formKey:"duplicateDashboard",id:"duplicate-dashboard-form",enableFormOnSubmit:!0,className:"space-y-2",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(lib_lemon_ui_LemonField__WEBPACK_IMPORTED_MODULE_4__.D,{name:"duplicateTiles",help:"Choose whether to duplicate this dashboard's insights and text or attach them to the new dashboard.",children:_ref=>{let{value,onChange}=_ref;return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(lib_lemon_ui_LemonCheckbox__WEBPACK_IMPORTED_MODULE_3__.H,{checked:value,label:"Duplicate this dashboard's tiles",onChange:onChange})}})})})}},"./frontend/src/scenes/dashboard/EmptyDashboardComponent.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{l:()=>EmptyDashboardComponent_EmptyDashboardComponent});var injectStylesIntoStyleTag=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),injectStylesIntoStyleTag_default=__webpack_require__.n(injectStylesIntoStyleTag),EmptyDashboardComponent=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/dashboard/EmptyDashboardComponent.scss"),EmptyDashboardComponent_default=__webpack_require__.n(EmptyDashboardComponent),options={};options.insert="head",options.singleton=!1,injectStylesIntoStyleTag_default()(EmptyDashboardComponent_default(),options),EmptyDashboardComponent_default().locals;var posthog_icons_es=__webpack_require__("./node_modules/.pnpm/@posthog+icons@0.9.2_react-dom@18.2.0_react@18.2.0/node_modules/@posthog/icons/dist/posthog-icons.es.js"),index_esm=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),LemonButton=__webpack_require__("./frontend/src/lib/lemon-ui/LemonButton/index.ts"),LemonSkeleton=__webpack_require__("./frontend/src/lib/lemon-ui/LemonSkeleton/index.ts"),react=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/index.js"),addInsightToDashboardModalLogic=__webpack_require__("./frontend/src/scenes/dashboard/addInsightToDashboardModalLogic.ts"),DashboardHeader=__webpack_require__("./frontend/src/scenes/dashboard/DashboardHeader.tsx"),jsx_runtime=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function SkeletonCard(_ref){let{children,active}=_ref;return(0,jsx_runtime.jsxs)("div",{className:"border rounded p-10 h-full space-y-4 flex-1 flex flex-col justify-between",children:[(0,jsx_runtime.jsxs)("div",{className:"space-y-4",children:[(0,jsx_runtime.jsx)(LemonSkeleton.y,{className:"w-1/3 h-4",active:active}),(0,jsx_runtime.jsx)(LemonSkeleton.y,{className:"w-1/2 h-4",active:active})]}),children]})}function SkeletonCardOne(_ref2){let{active}=_ref2;return(0,jsx_runtime.jsx)(SkeletonCard,{active:active,children:(0,jsx_runtime.jsx)("div",{className:"flex justify-center flex-1 items-end gap-10",children:[100,66,33].map(height=>(0,jsx_runtime.jsx)("div",{className:"border border-border-light rounded overflow-hidden flex flex-col justify-end w-[15%] h-[80%]",children:(0,jsx_runtime.jsx)("div",{style:{height:`${height}%`},children:(0,jsx_runtime.jsx)(LemonSkeleton.y,{active:active,className:"h-full w-full"})})},height))})})}let SkeletonBars=react.memo(function(_ref3){let{active}=_ref3;return(0,jsx_runtime.jsx)("div",{className:"flex items-end gap-1 flex-1",children:Array(8).fill(0).map((_,index)=>(0,jsx_runtime.jsx)("div",{className:"w-[12.5%]",style:{height:`${60*Math.random()+10}%`},children:(0,jsx_runtime.jsx)(LemonSkeleton.y,{active:active,className:"h-full w-full"})},index))})});function SkeletonCardTwo(_ref4){let{active}=_ref4;return(0,jsx_runtime.jsx)(SkeletonCard,{active:active,children:(0,jsx_runtime.jsx)(SkeletonBars,{active:active})})}function EmptyDashboardComponent_EmptyDashboardComponent(_ref5){let{loading,canEdit}=_ref5,{showAddInsightToDashboardModal}=(0,index_esm.useActions)(addInsightToDashboardModalLogic.P);return(0,jsx_runtime.jsxs)("div",{className:"EmptyDashboard",children:[!loading&&(0,jsx_runtime.jsxs)("div",{className:"EmptyDashboard__cta",children:[(0,jsx_runtime.jsx)("h3",{className:"l3",children:"Dashboard empty"}),(0,jsx_runtime.jsx)("p",{children:"This dashboard sure would look better with some graphs!"}),(0,jsx_runtime.jsx)("div",{className:"mt-4 text-center",children:(0,jsx_runtime.jsx)(LemonButton.J,{"data-attr":"dashboard-add-graph-header",onClick:showAddInsightToDashboardModal,type:"primary",icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconPlus,{}),center:!0,fullWidth:!0,disabledReason:canEdit?null:DashboardHeader.o,children:"Add insight"})})]}),(0,jsx_runtime.jsxs)("div",{className:"flex items-center gap-2 h-[30rem]",children:[(0,jsx_runtime.jsx)(SkeletonCardOne,{active:loading}),(0,jsx_runtime.jsx)(SkeletonCardTwo,{active:loading})]}),(0,jsx_runtime.jsx)("div",{className:"EmptyDashboard__fade",children:(0,jsx_runtime.jsxs)("div",{className:"flex items-center gap-2 h-[30rem]",children:[(0,jsx_runtime.jsx)(SkeletonCardOne,{active:loading}),(0,jsx_runtime.jsx)(SkeletonCardTwo,{active:loading})]})})]})}},"./frontend/src/scenes/dashboard/NewDashboardModal.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{O:()=>NewDashboardModal});var src=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),index_esm=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),LemonModal=__webpack_require__("./frontend/src/lib/lemon-ui/LemonModal/index.ts"),utils=__webpack_require__("./frontend/src/lib/utils.tsx"),dashboardTemplatesLogic=__webpack_require__("./frontend/src/scenes/dashboard/dashboards/templates/dashboardTemplatesLogic.tsx"),newDashboardLogic=__webpack_require__("./frontend/src/scenes/dashboard/newDashboardLogic.ts"),DashboardTemplateChooser=__webpack_require__("./frontend/src/scenes/dashboard/DashboardTemplateChooser.tsx"),react=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/index.js"),ActionFilter=__webpack_require__("./frontend/src/scenes/insights/filters/ActionFilter/ActionFilter.tsx"),types=__webpack_require__("./frontend/src/types.ts"),dashboardTemplateVariablesLogic=__webpack_require__("./frontend/src/scenes/dashboard/dashboardTemplateVariablesLogic.ts"),jsx_runtime=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function DashboardTemplateVariables(){let{activeDashboardTemplate}=(0,index_esm.useValues)(newDashboardLogic.Z),theDashboardTemplateVariablesLogic=(0,dashboardTemplateVariablesLogic.y)({variables:activeDashboardTemplate?.variables||[]}),{variables}=(0,index_esm.useValues)(theDashboardTemplateVariablesLogic),{setVariable,setVariables}=(0,index_esm.useActions)(theDashboardTemplateVariablesLogic);return(0,react.useEffect)(()=>{setVariables(activeDashboardTemplate?.variables||[])},[activeDashboardTemplate]),(0,jsx_runtime.jsx)("div",{className:"mb-4 DashboardTemplateVariables max-w-192",children:variables.map((variable,index)=>(0,jsx_runtime.jsxs)("div",{className:"mb-6",children:[(0,jsx_runtime.jsxs)("div",{className:"mb-2",children:[(0,jsx_runtime.jsx)(src.HQ,{showOptional:!variable.required,info:(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:variable.description}),children:variable.name}),(0,jsx_runtime.jsx)("p",{className:"text-sm text-muted",children:variable.description})]}),(0,jsx_runtime.jsx)("div",{children:(0,jsx_runtime.jsx)(ActionFilter.T,{filters:{insight:types.dw.TRENDS,events:[variable.default]},setFilters:filters=>{setVariable(variable.name,filters)},typeKey:"variable_"+variable.name,hideDeleteBtn:!0,hideRename:!0,hideDuplicate:!0,entitiesLimit:1})})]},index))})}function NewDashboardModal(){let builtLogic=(0,index_esm.useMountedLogic)(newDashboardLogic.Z),{hideNewDashboardModal,clearActiveDashboardTemplate,createDashboardFromTemplate}=(0,index_esm.useActions)(newDashboardLogic.Z),{newDashboardModalVisible,activeDashboardTemplate,variableSelectModalVisible}=(0,index_esm.useValues)(newDashboardLogic.Z),{variables}=(0,index_esm.useValues)(dashboardTemplateVariablesLogic.y),templatesLogic=(0,dashboardTemplatesLogic.R)({scope:builtLogic.props.featureFlagId?"feature_flag":"default"}),{templateFilter}=(0,index_esm.useValues)(templatesLogic),{setTemplateFilter}=(0,index_esm.useActions)(templatesLogic),_dashboardTemplateChooser=builtLogic.props.featureFlagId?(0,jsx_runtime.jsx)(DashboardTemplateChooser.g,{scope:"feature_flag"}):(0,jsx_runtime.jsx)(DashboardTemplateChooser.g,{});return(0,jsx_runtime.jsx)(LemonModal.f,{onClose:hideNewDashboardModal,isOpen:newDashboardModalVisible,title:activeDashboardTemplate?"Choose your events":"Create a dashboard","data-attr":"new-dashboard-chooser",description:activeDashboardTemplate?(0,jsx_runtime.jsxs)("p",{children:["The ",(0,jsx_runtime.jsx)("i",{children:activeDashboardTemplate.template_name})," template requires you to choose"," ",(0,utils.Zi)((activeDashboardTemplate.variables||[]).length,"event","events",!0),"."]}):(0,jsx_runtime.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,jsx_runtime.jsx)("div",{children:"Choose a template or start with a blank slate"}),(0,jsx_runtime.jsx)("div",{children:(0,jsx_runtime.jsx)(src.DF,{type:"search",placeholder:"Filter templates",onChange:setTemplateFilter,value:templateFilter,fullWidth:!0})})]}),footer:activeDashboardTemplate?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[variableSelectModalVisible?(0,jsx_runtime.jsx)("div",{}):(0,jsx_runtime.jsx)(src.Jp,{onClick:clearActiveDashboardTemplate,type:"secondary",children:"Back"}),(0,jsx_runtime.jsx)(src.Jp,{onClick:()=>{activeDashboardTemplate&&createDashboardFromTemplate(activeDashboardTemplate,variables)},type:"primary",children:"Create"})]}):null,children:(0,jsx_runtime.jsx)("div",{className:"NewDashboardModal",children:activeDashboardTemplate?(0,jsx_runtime.jsx)(DashboardTemplateVariables,{}):_dashboardTemplateChooser})})}},"./frontend/src/scenes/dashboard/addInsightToDashboardModalLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{P:()=>addInsightToDashboardLogic});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js");let addInsightToDashboardLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(["scenes","dashboard","addInsightToDashboardLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)({showAddInsightToDashboardModal:!0,hideAddInsightToDashboardModal:!0}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)({addInsightToDashboardModalVisible:[!1,{showAddInsightToDashboardModal:()=>!0,hideAddInsightToDashboardModal:()=>!1}]})])},"./frontend/src/scenes/dashboard/dashboardCollaboratorsLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{B:()=>dashboardCollaboratorsLogic});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_loaders__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea-loaders@3.0.0_kea@3.1.5/node_modules/kea-loaders/lib/index.js"),lib_api__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/api.ts"),lib_constants__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/constants.tsx"),scenes_settings_environment_teamMembersLogic__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/scenes/settings/environment/teamMembersLogic.tsx"),_dashboardLogic__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/scenes/dashboard/dashboardLogic.tsx");let dashboardCollaboratorsLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.props)({}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.key)(props=>props.dashboardId),(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(key=>["scenes","dashboard","dashboardCollaboratorsLogic",key]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.connect)(props=>({values:[scenes_settings_environment_teamMembersLogic__WEBPACK_IMPORTED_MODULE_4__.A,["admins","plainMembers","allMembers","allMembersLoading"],(0,_dashboardLogic__WEBPACK_IMPORTED_MODULE_5__.BM)({id:props.dashboardId}),["dashboard"]]})),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)({deleteExplicitCollaborator:userUuid=>({userUuid}),setExplicitCollaboratorsToBeAdded:userUuids=>({userUuids}),addExplicitCollaborators:!0}),(0,kea_loaders__WEBPACK_IMPORTED_MODULE_1__.loaders)(_ref=>{let{values,props,actions}=_ref;return{explicitCollaborators:[[],{loadExplicitCollaborators:async()=>{let collaborators=await lib_api__WEBPACK_IMPORTED_MODULE_2__.ZP.dashboards.collaborators.list(props.dashboardId);return collaborators.sort((a,b)=>a.user.first_name.localeCompare(b.user.first_name)),collaborators},addExplicitCollaborators:async()=>{let{explicitCollaboratorsToBeAdded,explicitCollaborators}=values;actions.setExplicitCollaboratorsToBeAdded([]);let newCollaborators=await Promise.all(explicitCollaboratorsToBeAdded.map(async userUuid=>await lib_api__WEBPACK_IMPORTED_MODULE_2__.ZP.dashboards.collaborators.create(props.dashboardId,userUuid,lib_constants__WEBPACK_IMPORTED_MODULE_3__.kH.CanEdit))),allCollaborators=[...explicitCollaborators,...newCollaborators];return allCollaborators.sort((a,b)=>a.user.first_name.localeCompare(b.user.first_name)),allCollaborators},deleteExplicitCollaborator:async _ref2=>{let{userUuid}=_ref2;return await lib_api__WEBPACK_IMPORTED_MODULE_2__.ZP.dashboards.collaborators.delete(props.dashboardId,userUuid),values.explicitCollaborators.filter(collaborator=>collaborator.user.uuid!==userUuid)}}]}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)({explicitCollaboratorsToBeAdded:[[],{setExplicitCollaboratorsToBeAdded:(_,_ref3)=>{let{userUuids}=_ref3;return userUuids}}]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.selectors)({allCollaborators:[s=>[s.explicitCollaborators,s.admins,s.allMembers,s.dashboard],(explicitCollaborators,admins,allMembers,dashboard)=>{let allCollaborators=[],dashboardCreatorUuid=dashboard?.created_by?.uuid,baseCollaborators=dashboard?.effective_restriction_level===lib_constants__WEBPACK_IMPORTED_MODULE_3__.V7.EveryoneInProjectCanEdit?allMembers:admins;return allCollaborators.push(...explicitCollaborators.filter(collaborator=>!baseCollaborators.find(baseCollaborator=>baseCollaborator.user.uuid===collaborator.user.uuid)).map(explicitCollaborator=>({...explicitCollaborator,level:explicitCollaborator.user.uuid===dashboardCreatorUuid?lib_constants__WEBPACK_IMPORTED_MODULE_3__.kH._Owner:explicitCollaborator.level}))),allCollaborators.push(...baseCollaborators.map(baseCollaborator=>({user:baseCollaborator.user,level:baseCollaborator.user.uuid===dashboardCreatorUuid?lib_constants__WEBPACK_IMPORTED_MODULE_3__.kH._Owner:lib_constants__WEBPACK_IMPORTED_MODULE_3__.kH._ProjectAdmin}))),allCollaborators.sort((a,b)=>a.level===b.level?a.user.first_name.localeCompare(b.user.first_name):b.level-a.level),allCollaborators}],addableMembers:[s=>[s.allCollaborators,s.plainMembers],(allCollaborators,plainMembers)=>{let addableMembers=[];for(let plainMember of plainMembers)allCollaborators.some(collaborator=>collaborator.user.uuid===plainMember.user.uuid)||addableMembers.push(plainMember.user);return addableMembers.sort((a,b)=>a.first_name.localeCompare(b.first_name)),addableMembers}],addableMembersLoading:[s=>[s.explicitCollaboratorsLoading,s.allMembersLoading],(explicitCollaboratorsLoading,allMembersLoading)=>explicitCollaboratorsLoading||allMembersLoading]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.events)(_ref4=>{let{actions}=_ref4;return{afterMount:()=>{actions.loadExplicitCollaborators()}}})])},"./frontend/src/scenes/dashboard/dashboardLogic.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{j$:()=>BREAKPOINTS,cH:()=>BREAKPOINT_COLUMN_COUNTS,BM:()=>dashboardLogic});var index_esm=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),lib=__webpack_require__("./node_modules/.pnpm/kea-loaders@3.0.0_kea@3.1.5/node_modules/kea-loaders/lib/index.js"),kea_router_lib=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),api=__webpack_require__("./frontend/src/lib/api.ts"),constants=__webpack_require__("./frontend/src/lib/constants.tsx"),dayjs=__webpack_require__("./frontend/src/lib/dayjs.ts"),internalMetrics=__webpack_require__("./frontend/src/lib/internalMetrics.ts"),LemonToast=__webpack_require__("./frontend/src/lib/lemon-ui/LemonToast/LemonToast.tsx"),Link=__webpack_require__("./frontend/src/lib/lemon-ui/Link/index.ts"),featureFlagLogic=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),utils=__webpack_require__("./frontend/src/lib/utils.tsx"),eventUsageLogic=__webpack_require__("./frontend/src/lib/utils/eventUsageLogic.ts"),lodash_uniqby=__webpack_require__("./node_modules/.pnpm/lodash.uniqby@4.7.0/node_modules/lodash.uniqby/index.js"),lodash_uniqby_default=__webpack_require__.n(lodash_uniqby),InsightViz_utils=__webpack_require__("./frontend/src/queries/nodes/InsightViz/utils.ts"),queries_utils=__webpack_require__("./frontend/src/queries/utils.ts"),types=__webpack_require__("./frontend/src/types.ts");let sortTilesByLayout=(tiles,col)=>[...tiles].sort((a,b)=>{var _a$layouts$col$x,_a$layouts$col$y,_b$layouts$col$x,_b$layouts$col$y;let ax=null!==(_a$layouts$col$x=a.layouts[col]?.x)&&void 0!==_a$layouts$col$x?_a$layouts$col$x:0,ay=null!==(_a$layouts$col$y=a.layouts[col]?.y)&&void 0!==_a$layouts$col$y?_a$layouts$col$y:0,bx=null!==(_b$layouts$col$x=b.layouts[col]?.x)&&void 0!==_b$layouts$col$x?_b$layouts$col$x:0,by=null!==(_b$layouts$col$y=b.layouts[col]?.y)&&void 0!==_b$layouts$col$y?_b$layouts$col$y:0;return ayby||ay==by&&ax>bx?1:0}),calculateLayouts=tiles=>{let referenceOrder;let allLayouts={};for(let breakpoint of Object.keys(BREAKPOINT_COLUMN_COUNTS)){let sortedDashboardTiles;let columnCount=BREAKPOINT_COLUMN_COUNTS[breakpoint];void 0===referenceOrder?referenceOrder=(sortedDashboardTiles=sortTilesByLayout(tiles,breakpoint)).map(tile=>tile.id):sortedDashboardTiles=tiles.sort((a,b)=>(referenceOrder?.indexOf(a.id)||0)-(referenceOrder?.indexOf(b.id)||0));let layouts=(sortedDashboardTiles||[]).map(tile=>{let query=tile.insight?(0,InsightViz_utils.Q0)(tile.insight):null,minW=3,minH=3,defaultW=6,defaultH=5;tile.text?(minW=1,minH=1,defaultH=2):(0,queries_utils.Wl)(query)?(minW=4,minH=4):(0,queries_utils.I5)(query)?(minW=6,minH=7,defaultW=6,defaultH=7):(0,queries_utils.Qp)(query)?(minW=columnCount,minH=7,defaultW=columnCount,defaultH=7):(0,queries_utils.kX)(query)&&query.trendsFilter?.display===types.Qb.BoldNumber&&(minW=2,minH=2),"xs"===breakpoint&&(minW=1,defaultW=1);let layout=tile.layouts&&tile.layouts[breakpoint],{x,y,w,h}=layout||{},realW=Math.min(w||defaultW,columnCount),realH=h||defaultH;return{i:tile.id?.toString(),x:Number.isInteger(x)&&x+realW-1{let{y}=_ref;return y!==1/0}),dirtyLayouts=layouts?.filter(_ref2=>{let{y}=_ref2;return y===1/0}),lowestPoints=Array.from(Array(columnCount)).map(()=>-1);for(let{x,y,w,h}of cleanLayouts)for(let i=x;i<=x+w-1;i++)lowestPoints[i]=Math.max(lowestPoints[i],y+h-1);for(let{i,w,h,minW,minH}of dirtyLayouts){let segmentCount=columnCount-w+1,lowestSegments=Array.from(Array(segmentCount)).map(()=>-1);for(let k=0;k{let promise=task().then(result=>{results.push(result)}).catch(error=>{console.error("Error executing task:",error)}).finally(()=>{activePromises.delete(promise)});activePromises.add(promise),await promise};for(;remainingTasks.length>0||activePromises.size>0;)activePromises.size0?startTask(remainingTasks.shift()):await Promise.race(activePromises);return results}let layoutsByTile=layouts=>{let itemLayouts={};return Object.entries(layouts).forEach(_ref=>{let[col,layout]=_ref;layout.forEach(layoutItem=>{itemLayouts[layoutItem.i]||(itemLayouts[layoutItem.i]={}),itemLayouts[layoutItem.i][col]=layoutItem})}),itemLayouts};async function getSingleInsight(currentTeamId,insight,dashboardId,queryId,refresh,methodOptions,filtersOverride,variablesOverride){let apiUrl=`api/environments/${currentTeamId}/insights/${insight.id}/?${(0,utils.oZ)({refresh,from_dashboard:dashboardId,client_query_id:queryId,session_id:(0,internalMetrics.U8)(),...filtersOverride?{filters_override:filtersOverride}:{},...variablesOverride?{variables_override:variablesOverride}:{}})}`,insightResponse=await api.ZP.getResponse(apiUrl,methodOptions),legacyInsight=await (0,api.$6)(insightResponse);return null!==legacyInsight?(0,InsightViz_utils.Q0)(legacyInsight):null}let dashboardLogic=(0,index_esm.kea)([(0,index_esm.path)(["scenes","dashboard","dashboardLogic"]),(0,index_esm.connect)(()=>({values:[teamLogic.H,["currentTeamId"],featureFlagLogic.h,["featureFlags"],variableDataLogic.p,["variables"]],logic:[dashboardsModel.h,insightsModel.U,eventUsageLogic.vx]})),(0,index_esm.props)({}),(0,index_esm.key)(props=>{if("number"!=typeof props.id)throw Error("Must init dashboardLogic with a numeric ID key");return props.id}),(0,index_esm.actions)(_ref2=>{let{values}=_ref2;return{loadDashboard:payload=>payload,triggerDashboardUpdate:payload=>({payload}),setDashboardMode:(mode,source)=>({mode,source}),updateLayouts:layouts=>({layouts}),updateContainerWidth:(containerWidth,columns)=>({containerWidth,columns}),updateTileColor:(tileId,color)=>({tileId,color}),removeTile:tile=>({tile}),refreshDashboardItem:payload=>payload,refreshAllDashboardItems:payload=>payload,refreshAllDashboardItemsManual:!0,resetInterval:!0,updateAndRefreshDashboard:!0,setDates:(date_from,date_to)=>({date_from,date_to}),setProperties:properties=>({properties}),setFiltersAndLayoutsAndVariables:(filters,variables)=>({filters,variables}),setAutoRefresh:(enabled,interval)=>({enabled,interval}),setRefreshStatus:function(shortId){let loading=arguments.length>1&&void 0!==arguments[1]&&arguments[1],queued=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return{shortId,loading,queued}},setRefreshStatuses:function(shortIds){let loading=arguments.length>1&&void 0!==arguments[1]&&arguments[1],queued=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return{shortIds,loading,queued}},setPageVisibility:visible=>({visible}),setRefreshError:shortId=>({shortId}),reportDashboardViewed:!0,setShouldReportOnAPILoad:shouldReport=>({shouldReport}),setSubscriptionMode:(enabled,id)=>({enabled,id}),moveToDashboard:(tile,fromDashboard,toDashboard,toDashboardName,allowUndo)=>({tile,fromDashboard,toDashboard,toDashboardName,allowUndo:void 0===allowUndo||allowUndo}),setTextTileId:textTileId=>({textTileId}),duplicateTile:tile=>({tile}),loadingDashboardItemsStarted:(action,dashboardQueryId)=>({action,dashboardQueryId}),setInitialLoadResponseBytes:responseBytes=>({responseBytes}),abortQuery:payload=>payload,abortAnyRunningQuery:!0,updateFiltersAndLayoutsAndVariables:!0,overrideVariableValue:(variableId,value)=>({variableId,value,allVariables:values.variables}),resetVariables:()=>({variables:values.insightVariables})}}),(0,lib.loaders)(_ref3=>{let{actions,props,values}=_ref3;return{dashboard:[null,{loadDashboard:async(_ref4,breakpoint)=>{let{refresh,action}=_ref4,dashboardQueryId=(0,utils.Vj)();actions.loadingDashboardItemsStarted(action,dashboardQueryId),await breakpoint(200);try{let apiUrl=values.apiUrl(refresh||"async","preview"===action?values.temporaryFilters:void 0,"preview"===action?values.temporaryVariables:void 0),dashboardResponse=await api.ZP.getResponse(apiUrl),dashboard=await (0,api.$6)(dashboardResponse);if(actions.setInitialLoadResponseBytes((0,insights_utils.Rl)(dashboardResponse)),"preview"===action&&dashboard){let editModeTileLayouts={};values.dashboard?.tiles.forEach(tile=>{editModeTileLayouts[tile.id]=tile.layouts});let tilesWithPreviousLayouts=dashboard.tiles.map(tile=>({...tile,layouts:editModeTileLayouts?.[tile.id]}));return(0,InsightViz_utils.ob)({...dashboard,tiles:tilesWithPreviousLayouts})}return(0,InsightViz_utils.ob)(dashboard)}catch(error){if(404===error.status)return null;throw error}},updateFiltersAndLayoutsAndVariables:async(_,breakpoint)=>{actions.abortAnyRunningQuery();try{let layoutsToUpdate=(values.dashboard?.tiles||[]).map(tile=>({id:tile.id,layouts:tile.layouts}));breakpoint();let dashboard=await api.ZP.update(`api/environments/${values.currentTeamId}/dashboards/${props.id}`,{filters:values.filters,variables:values.insightVariables,tiles:layoutsToUpdate});return(0,InsightViz_utils.ob)(dashboard)}catch(e){return LemonToast.UJ.error("Could not update dashboard: "+String(e)),values.dashboard}},updateTileColor:async _ref5=>{let{tileId,color}=_ref5;await api.ZP.update(`api/environments/${values.currentTeamId}/dashboards/${props.id}`,{tiles:[{id:tileId,color}]});let matchingTile=values.tiles.find(tile=>tile.id===tileId);return matchingTile&&(matchingTile.color=color),values.dashboard},removeTile:async _ref6=>{let{tile}=_ref6;try{return await api.ZP.update(`api/environments/${values.currentTeamId}/dashboards/${props.id}`,{tiles:[{id:tile.id,deleted:!0}]}),dashboardsModel.h.actions.tileRemovedFromDashboard({tile:tile,dashboardId:props.id}),{...values.dashboard,tiles:values.tiles.filter(t=>t.id!==tile.id)}}catch(e){return LemonToast.UJ.error("Could not remove tile from dashboard: "+String(e)),values.dashboard}},setDashboardMode:async _ref7=>{let{mode,source}=_ref7;if(null===mode&&source===eventUsageLogic.GU.DashboardHeaderDiscardChanges&&values.dashboard?.tiles){let restoredTiles=values.dashboard?.tiles?.map(tile=>({...tile,layouts:values.dashboardLayouts?.[tile.id]}));values.dashboard.tiles=restoredTiles}return values.dashboard},duplicateTile:async _ref8=>{let{tile}=_ref8;try{let newTile={...tile};delete newTile.id,newTile.text&&(newTile.text={body:newTile.text.body});let dashboard=await api.ZP.update(`api/environments/${values.currentTeamId}/dashboards/${props.id}`,{tiles:[newTile]});return(0,InsightViz_utils.ob)(dashboard)}catch(e){return LemonToast.UJ.error("Could not duplicate tile: "+String(e)),values.dashboard}},moveToDashboard:async _ref9=>{let{tile,fromDashboard,toDashboard}=_ref9;if(!tile||fromDashboard===toDashboard||fromDashboard!==props.id)return values.dashboard;let dashboard=await api.ZP.update(`api/environments/${teamLogic.H.values.currentTeamId}/dashboards/${props.id}/move_tile`,{tile,toDashboard});return(0,InsightViz_utils.ob)(dashboard)}}]}}),(0,index_esm.reducers)(_ref10=>{let{props}=_ref10;return{_dashboardLoading:[!1,{loadDashboard:()=>!0,loadDashboardSuccess:()=>!1,loadDashboardFailure:()=>!1}],pageVisibility:[!0,{setPageVisibility:(_,_ref11)=>{let{visible}=_ref11;return visible}}],dashboardFailedToLoad:[!1,{loadDashboardSuccess:()=>!1,loadDashboardFailure:()=>!0}],dashboardLayouts:[{},{loadDashboardSuccess:(state,_ref12)=>{let{dashboard,payload}=_ref12;if(payload?.action==="preview")return state;let tileIdToLayouts={};return dashboard?.tiles.forEach(tile=>{tileIdToLayouts[tile.id]=tile.layouts}),tileIdToLayouts}}],temporaryVariables:[{},{overrideVariableValue:(state,_ref13)=>{let{variableId,value,allVariables}=_ref13,foundExistingVar=allVariables.find(n=>n.id===variableId);return foundExistingVar?{...state,[variableId]:{code_name:foundExistingVar.code_name,variableId:foundExistingVar.id,value}}:state},resetVariables:(_,_ref14)=>{let{variables}=_ref14;return{...variables}},loadDashboardSuccess:(state,_ref15)=>{var _dashboard$variables;let{dashboard,payload}=_ref15;return dashboard?{...state,...payload?.action==="preview"?{}:null!==(_dashboard$variables=dashboard.variables)&&void 0!==_dashboard$variables?_dashboard$variables:{}}:state}}],insightVariables:[{},{setFiltersAndLayoutsAndVariables:(state,_ref16)=>{let{variables}=_ref16;return{...state,...variables}},loadDashboardSuccess:(state,_ref17)=>{var _dashboard$variables2;let{dashboard,payload}=_ref17;return dashboard?{...state,...payload?.action==="preview"?{}:null!==(_dashboard$variables2=dashboard.variables)&&void 0!==_dashboard$variables2?_dashboard$variables2:{}}:state}}],temporaryFilters:[{date_from:null,date_to:null,properties:null},{setDates:(state,_ref18)=>{let{date_from,date_to}=_ref18;return{...state,date_from:date_from||null,date_to:date_to||null}},setProperties:(state,_ref19)=>{let{properties}=_ref19;return{...state,properties:properties||null}},loadDashboardSuccess:(state,_ref20)=>{let{dashboard}=_ref20;return dashboard?{...state,date_from:dashboard?.filters.date_from||null,date_to:dashboard?.filters.date_to||null,properties:dashboard?.filters.properties||[]}:state}}],filters:[{date_from:null,date_to:null,properties:null},{setFiltersAndLayoutsAndVariables:(state,_ref21)=>{let{filters}=_ref21;return{...state,...filters}},loadDashboardSuccess:(state,_ref22)=>{let{dashboard,payload}=_ref22;return dashboard?{...state,...payload?.action==="preview"?{}:{date_from:dashboard?.filters.date_from||null,date_to:dashboard?.filters.date_to||null,properties:dashboard?.filters.properties||[]}}:state}}],dashboard:[null,{updateLayouts:(state,_ref23)=>{let{layouts}=_ref23,itemLayouts=layoutsByTile(layouts);return{...state,tiles:state?.tiles?.map(tile=>({...tile,layouts:itemLayouts[tile.id]}))}},[dashboardsModel.h.actionTypes.tileMovedToDashboard]:(state,_ref24)=>{let{tile,dashboardId}=_ref24;return state?.id===dashboardId?{...state,tiles:[...state.tiles,tile]}:state},[dashboardsModel.h.actionTypes.updateDashboardInsight]:(state,_ref25)=>{let{insight,extraDashboardIds}=_ref25,targetDashboards=(insight.dashboard_tiles||[]).map(tile=>tile.dashboard_id).concat(extraDashboardIds||[]);if(!targetDashboards.includes(props.id))return state;if(state){let tileIndex=state.tiles.findIndex(t=>!!t.insight&&t.insight.short_id===insight.short_id),newTiles=state.tiles.slice();return tileIndex>=0&&(insight.dashboards?.includes(props.id)?newTiles[tileIndex]={...newTiles[tileIndex],insight:insight}:insight.dashboards?.includes(props.id)||newTiles.splice(tileIndex,1)),{...state,tiles:newTiles.filter(t=>!t.deleted||!t.insight?.deleted)}}return null},[dashboardsModel.h.actionTypes.updateDashboardSuccess]:(state,_ref26)=>{let{dashboard}=_ref26;return state&&dashboard&&state.id===dashboard.id?dashboard:state},[insightsModel.U.actionTypes.renameInsightSuccess]:(state,_ref27)=>{let{item}=_ref27,tileIndex=state?.tiles.findIndex(t=>!!t.insight&&t.insight.short_id===item.short_id),tiles=state?.tiles.slice(0);return void 0!==tileIndex&&-1!==tileIndex&&tiles?(tiles[tileIndex]={...tiles[tileIndex],insight:{...tiles[tileIndex].insight,name:item.name,last_modified_at:item.last_modified_at}},{...state,tiles}):state}}],loadTimer:[null,{loadDashboard:()=>new Date}],dashboardLoadTimerData:[{dashboardQueryId:"",action:"",startTime:0,responseBytes:0},{loadingDashboardItemsStarted:(_,_ref28)=>{let{action,dashboardQueryId}=_ref28;return{action,dashboardQueryId,startTime:performance.now(),responseBytes:0}},setInitialLoadResponseBytes:(state,_ref29)=>{let{responseBytes}=_ref29;return{...state,responseBytes}}}],refreshStatus:[{},{setRefreshStatus:(state,_ref30)=>{let{shortId,loading,queued}=_ref30;return{...state,[shortId]:loading?{loading:!0,queued:!0,timer:new Date}:queued?{loading:!1,queued:!0,timer:null}:{refreshed:!0,timer:state[shortId]?.timer||null}}},setRefreshStatuses:(state,_ref31)=>{let{shortIds,loading,queued}=_ref31;return Object.fromEntries(shortIds.map(shortId=>[shortId,loading?{loading:!0,queued:!0,timer:new Date}:queued?{loading:!1,queued:!0,timer:null}:{refreshed:!0,timer:state[shortId]?.timer||null}]))},setRefreshError:(state,_ref32)=>{let{shortId}=_ref32;return{...state,[shortId]:{error:!0,timer:state[shortId]?.timer||null}}},refreshAllDashboardItems:()=>({}),abortQuery:()=>({})}],columns:[null,{updateContainerWidth:(_,_ref33)=>{let{columns}=_ref33;return columns}}],containerWidth:[null,{updateContainerWidth:(_,_ref34)=>{let{containerWidth}=_ref34;return containerWidth}}],dashboardMode:[null,{setDashboardMode:(_,_ref35)=>{let{mode}=_ref35;return mode}}],autoRefresh:[{interval:1800,enabled:!1},{persist:!0,prefix:"2_"},{setAutoRefresh:(_,_ref36)=>{let{enabled,interval}=_ref36;return{enabled,interval}}}],shouldReportOnAPILoad:[!1,{setShouldReportOnAPILoad:(_,_ref37)=>{let{shouldReport}=_ref37;return shouldReport}}],showSubscriptions:[!1,{setSubscriptionMode:(_,_ref38)=>{let{enabled}=_ref38;return enabled}}],subscriptionId:[null,{setSubscriptionMode:(_,_ref39)=>{let{id}=_ref39;return id||null}}],showTextTileModal:[!1,{setTextTileId:(_,_ref40)=>{let{textTileId}=_ref40;return!!textTileId}}],textTileId:[null,{setTextTileId:(_,_ref41)=>{let{textTileId}=_ref41;return textTileId}}]}}),(0,index_esm.selectors)(()=>({dashboardVariables:[s=>[s.dashboard,s.variables,s.temporaryVariables],(dashboard,allVariables,temporaryVariables)=>{let dataVizNodes=dashboard.tiles.map(n=>n.insight?.query).filter(n=>n?.kind===schema.OH.DataVisualizationNode).filter(n=>!!n),hogQLVariables=dataVizNodes.map(n=>n.source.variables).filter(n=>!!n).flatMap(n=>Object.values(n)),uniqueVars=lodash_uniqby_default()(hogQLVariables,n=>n.variableId);return uniqueVars.map(v=>{var _ref42;let foundVar=allVariables.find(n=>n.id===v.variableId);if(!foundVar)return null;let overridenValue=temporaryVariables[v.variableId]?.value,resultVar={...foundVar,value:null!==(_ref42=null!=overridenValue?overridenValue:v.value)&&void 0!==_ref42?_ref42:foundVar.value};return resultVar}).filter(n=>!!n)}],asDashboardTemplate:[s=>[s.dashboard],dashboard=>dashboard?{template_name:dashboard.name,dashboard_description:dashboard.description,dashboard_filters:dashboard.filters,tags:dashboard.tags||[],tiles:dashboard.tiles.map(tile=>{if(tile.text)return{type:"TEXT",body:tile.text.body,layouts:tile.layouts,color:tile.color};if(tile.insight)return{type:"INSIGHT",name:tile.insight.name,description:tile.insight.description||"",query:tile.insight.query,layouts:tile.layouts,color:tile.color};throw Error("Unknown tile type")}),variables:[]}:void 0],placement:[()=>[(_,props)=>props.placement],placement=>placement||types.F4.Dashboard],apiUrl:[()=>[(_,props)=>props.id],id=>(refresh,filtersOverride,variablesOverride)=>`api/environments/${teamLogic.H.values.currentTeamId}/dashboards/${id}/?${(0,utils.oZ)({refresh,filters_override:filtersOverride,variables_override:variablesOverride})}`],tiles:[s=>[s.dashboard],dashboard=>dashboard?.tiles?.filter(t=>!t.deleted)||[]],insightTiles:[s=>[s.tiles],tiles=>tiles.filter(t=>!!t.insight).filter(i=>!i.insight?.deleted)],textTiles:[s=>[s.tiles],tiles=>tiles.filter(t=>!!t.text)],itemsLoading:[s=>[s._dashboardLoading,s.refreshStatus],(dashboardLoading,refreshStatus)=>dashboardLoading||Object.values(refreshStatus).some(s=>s.loading||s.queued)],isRefreshingQueued:[s=>[s.refreshStatus],refreshStatus=>id=>!!refreshStatus[id]?.queued],isRefreshing:[s=>[s.refreshStatus],refreshStatus=>id=>!!refreshStatus[id]?.loading],highlightedInsightId:[()=>[kea_router_lib.router.selectors.searchParams],searchParams=>searchParams.highlightInsightId],sortedDates:[s=>[s.insightTiles],insightTiles=>{if(!insightTiles||!insightTiles.length)return[];let validDates=insightTiles.map(i=>(0,dayjs.Bv)(i.insight?.last_refresh)).filter(date=>date.isValid());return(0,insights_utils.XT)(validDates)}],newestRefreshed:[s=>[s.sortedDates,s.pageVisibility],sortedDates=>sortedDates.length?sortedDates[sortedDates.length-1]:null],sortedClientRefreshAllowed:[s=>[s.insightTiles],insightTiles=>{if(!insightTiles||!insightTiles.length)return[];let validDates=insightTiles.filter(i=>!!i.insight?.cache_target_age||!!i.insight?.next_allowed_client_refresh).map(i=>{var _i$insight$cache_targ;return(0,dayjs.Bv)(null!==(_i$insight$cache_targ=i.insight?.cache_target_age)&&void 0!==_i$insight$cache_targ?_i$insight$cache_targ:i.insight?.next_allowed_client_refresh)}).filter(date=>date.isValid());return(0,insights_utils.XT)(validDates)}],oldestClientRefreshAllowed:[s=>[s.sortedClientRefreshAllowed],sortedClientRefreshAllowed=>sortedClientRefreshAllowed.length?sortedClientRefreshAllowed[0]:null],blockRefresh:[s=>[s.newestRefreshed,s.placement,s.oldestClientRefreshAllowed,s.pageVisibility],(newestRefreshed,placement,oldestClientRefreshAllowed)=>!!newestRefreshed&&placement!==types.F4.FeatureFlag&&oldestClientRefreshAllowed?.isAfter(dayjs.zO())],canEditDashboard:[s=>[s.dashboard],dashboard=>!!dashboard&&dashboard.effective_privilege_level>=constants.kH.CanEdit],canRestrictDashboard:[s=>[s.dashboard,userLogic.userLogic.selectors.user,teamLogic.H.selectors.currentTeam],(dashboard,user,currentTeam)=>!!dashboard&&!!user&&(user.uuid===dashboard.created_by?.uuid||!!currentTeam?.effective_membership_level&¤tTeam.effective_membership_level>=constants.Dk.Admin)],sizeKey:[s=>[s.columns],columns=>{let[size]=Object.entries(BREAKPOINT_COLUMN_COUNTS).find(_ref43=>{let[,value]=_ref43;return value===columns})||[];return size}],layouts:[s=>[s.tiles],tiles=>calculateLayouts(tiles)],layout:[s=>[s.layouts,s.sizeKey],(layouts,sizeKey)=>sizeKey?layouts[sizeKey]:void 0],layoutForItem:[s=>[s.layout],layout=>{let layoutForItem={};if(layout)for(let obj of layout)layoutForItem[obj.i]=obj;return layoutForItem}],refreshMetrics:[s=>[s.refreshStatus],refreshStatus=>{var _Object$keys$length,_Object$values$filter;let total=null!==(_Object$keys$length=Object.keys(refreshStatus).length)&&void 0!==_Object$keys$length?_Object$keys$length:0;return{completed:total-(null!==(_Object$values$filter=Object.values(refreshStatus).filter(s=>s.loading||s.queued).length)&&void 0!==_Object$values$filter?_Object$values$filter:0),total}}],breadcrumbs:[s=>[s.dashboard,s._dashboardLoading,s.dashboardFailedToLoad],(dashboard,dashboardLoading,dashboardFailedToLoad)=>[{key:sceneTypes.x.Dashboards,name:"Dashboards",path:urls.j.dashboards()},{key:[sceneTypes.x.Dashboard,dashboard?.id||"new"],name:dashboard?.id?dashboard.name:dashboardFailedToLoad?"Could not load":dashboardLoading?null:"Not found",onRename:async name=>{dashboard&&await dashboardsModel.h.asyncActions.updateDashboard({id:dashboard.id,name,allowUndo:!0})}}]],[sidepanel_types.f]:[s=>[s.dashboard],dashboard=>dashboard?{activity_scope:types.jc.DASHBOARD,activity_item_id:`${dashboard.id}`,access_control_resource:"dashboard",access_control_resource_id:`${dashboard.id}`}:null],sortTilesByLayout:[s=>[s.layoutForItem],layoutForItem=>tiles=>[...tiles].sort((a,b)=>{var _layoutForItem$a$id$x,_layoutForItem$a$id$y,_layoutForItem$b$id$x,_layoutForItem$b$id$y;let ax=null!==(_layoutForItem$a$id$x=layoutForItem[a.id]?.x)&&void 0!==_layoutForItem$a$id$x?_layoutForItem$a$id$x:0,ay=null!==(_layoutForItem$a$id$y=layoutForItem[a.id]?.y)&&void 0!==_layoutForItem$a$id$y?_layoutForItem$a$id$y:0,bx=null!==(_layoutForItem$b$id$x=layoutForItem[b.id]?.x)&&void 0!==_layoutForItem$b$id$x?_layoutForItem$b$id$x:0,by=null!==(_layoutForItem$b$id$y=layoutForItem[b.id]?.y)&&void 0!==_layoutForItem$b$id$y?_layoutForItem$b$id$y:0;return ayby||ay==by&&ax>bx?1:0})]})),(0,index_esm.events)(_ref44=>{let{actions,cache,props}=_ref44;return{afterMount:()=>{props.id&&(props.dashboard?actions.loadDashboardSuccess(props.dashboard):actions.loadDashboard({refresh:"lazy_async",action:"initial_load"}))},beforeUnmount:()=>{cache.autoRefreshInterval&&(window.clearInterval(cache.autoRefreshInterval),cache.autoRefreshInterval=null)}}}),(0,index_esm.sharedListeners)(_ref45=>{let{values,props}=_ref45;return{reportRefreshTiming:_ref46=>{let{shortId}=_ref46,refreshStatus=values.refreshStatus[shortId];if(refreshStatus?.timer){let loadingMilliseconds=new Date().getTime()-refreshStatus.timer.getTime();eventUsageLogic.vx.actions.reportInsightRefreshTime(loadingMilliseconds,shortId)}},reportLoadTiming:()=>{if(values.loadTimer){let loadingMilliseconds=new Date().getTime()-values.loadTimer.getTime();eventUsageLogic.vx.actions.reportDashboardLoadingTime(loadingMilliseconds,props.id)}}}}),(0,index_esm.listeners)(_ref47=>{let{actions,values,cache,props,sharedListeners}=_ref47;return{updateFiltersAndLayoutsAndVariablesSuccess:()=>{actions.loadDashboard({action:"update"})},setRefreshError:sharedListeners.reportRefreshTiming,setRefreshStatuses:sharedListeners.reportRefreshTiming,setRefreshStatus:sharedListeners.reportRefreshTiming,loadDashboardFailure:()=>{let{action,dashboardQueryId,startTime}=values.dashboardLoadTimerData;eventUsageLogic.vx.actions.reportTimeToSeeData({team_id:values.currentTeamId,type:"dashboard_load",context:"dashboard",status:"failure",action,primary_interaction_id:dashboardQueryId,time_to_see_data_ms:Math.floor(performance.now()-startTime)})},[insightsModel.U.actionTypes.duplicateInsightSuccess]:()=>{actions.loadDashboard({action:"update"})},[dashboardsModel.h.actionTypes.tileAddedToDashboard]:_ref48=>{let{dashboardId}=_ref48;dashboardId===props.id&&actions.loadDashboard({action:"update"})},[dashboardsModel.h.actionTypes.updateDashboardInsight]:_ref49=>{let{insight,extraDashboardIds}=_ref49,targetDashboards=(insight.dashboard_tiles||[]).map(tile=>tile.dashboard_id).concat(extraDashboardIds||[]);if(!targetDashboards.includes(props.id))return;let tileIndex=values.tiles.findIndex(t=>!!t.insight&&t.insight.short_id===insight.short_id);-1===tileIndex&&actions.loadDashboard({action:"update"})},moveToDashboardSuccess:_ref50=>{let{payload}=_ref50;if(payload?.toDashboard===void 0||payload?.tile===void 0)return;let updatedTile={...payload.tile};void 0!==updatedTile.insight&&null!==updatedTile.insight&&(updatedTile.insight.dashboards=payload.tile.insight?.dashboards?.filter(d=>d!==payload.fromDashboard)||[],updatedTile.insight.dashboards.push(payload.toDashboard)),updatedTile&&(dashboardsModel.h.actions.tileMovedToDashboard(updatedTile,payload.toDashboard),LemonToast.UJ.success((0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["Insight moved to"," ",(0,jsx_runtime.jsx)("b",{children:(0,jsx_runtime.jsx)(Link.r,{to:urls.j.dashboard(payload?.toDashboard),children:payload?.toDashboardName})})]})))},triggerDashboardUpdate:_ref51=>{let{payload}=_ref51;values.dashboard&&dashboardsModel.h.actions.updateDashboard({id:values.dashboard.id,...payload})},refreshAllDashboardItemsManual:()=>{actions.resetInterval(),actions.loadDashboard({action:"refresh"})},refreshDashboardItem:async(_ref52,breakpoint)=>{let{tile}=_ref52,dashboardId=props.id,insight=tile.insight;if(insight){actions.setRefreshStatus(insight.short_id,!0,!0);try{breakpoint();let refreshedInsight=await getSingleInsight(values.currentTeamId,insight,dashboardId,(0,utils.Vj)(),"force_async",void 0,void 0,values.temporaryVariables);dashboardsModel.h.actions.updateDashboardInsight(refreshedInsight),tile.insight=refreshedInsight,actions.refreshAllDashboardItems({tiles:[tile],action:REFRESH_DASHBOARD_ITEM_ACTION})}catch(e){actions.setRefreshError(insight.short_id)}}},refreshAllDashboardItems:async(_ref53,breakpoint)=>{let{tiles,action,dashboardQueryId=(0,utils.Vj)()}=_ref53,dashboardId=props.id,insightsToRefresh=(tiles||values.insightTiles||[]).filter(t=>{if(t.insight?.query_status)return!0}).map(t=>t.insight).filter(i=>!!i);if(0===insightsToRefresh.length){let dashboard=values.dashboard;if(dashboard&&action!==REFRESH_DASHBOARD_ITEM_ACTION){let{action,dashboardQueryId,startTime,responseBytes}=values.dashboardLoadTimerData,lastRefresh=(0,insights_utils.jQ)(dashboard.tiles.map(tile=>tile.insight?.last_refresh||null));eventUsageLogic.vx.actions.reportTimeToSeeData({team_id:values.currentTeamId,type:"dashboard_load",context:"dashboard",action,status:"success",primary_interaction_id:dashboardQueryId,time_to_see_data_ms:Math.floor(performance.now()-startTime),api_response_bytes:responseBytes,insights_fetched:dashboard.tiles.length,insights_fetched_cached:dashboard.tiles.reduce((acc,curr)=>acc+(curr.is_cached?1:0),0),min_last_refresh:lastRefresh[0],max_last_refresh:lastRefresh[lastRefresh.length-1]})}return}let cancelled=!1;actions.setRefreshStatuses(insightsToRefresh.map(item=>item.short_id),!1,!0),actions.abortAnyRunningQuery(),cache.abortController=new AbortController;let methodOptions={signal:cache.abortController.signal},refreshStartTime=performance.now(),refreshesFinished=0,fetchItemFunctions=insightsToRefresh.map(insight=>async()=>{let queryId=insight?.query_status?.id,queryStartTime=performance.now();try{if(breakpoint(),queryId){await (0,query.iM)(queryId,methodOptions);let currentTeamId=values.currentTeamId,polledInsight=await getSingleInsight(currentTeamId,insight,dashboardId,queryId,"force_cache",methodOptions,"preview"===action?values.temporaryFilters:void 0,"preview"===action?values.temporaryVariables:void 0);"preview"===action&&polledInsight.dashboard_tiles&&(polledInsight.dashboards=[dashboardId]),dashboardsModel.h.actions.updateDashboardInsight(polledInsight),actions.setRefreshStatus(insight.short_id)}}catch(e){(0,index_esm.isBreakpoint)(e)?cancelled=!0:(0,utils.sd)(e)?(!cancelled&&queryId&&actions.abortQuery({dashboardQueryId:dashboardQueryId,queryId,queryStartTime}),(0,utils.N)(e)&&(cancelled=!0)):actions.setRefreshError(insight.short_id)}if(refreshesFinished+=1,!cancelled&&refreshesFinished===insightsToRefresh.length){let payload={team_id:values.currentTeamId,type:"dashboard_load",context:"dashboard",action,status:"success",primary_interaction_id:dashboardQueryId,api_response_bytes:0,time_to_see_data_ms:Math.floor(performance.now()-refreshStartTime),insights_fetched:insightsToRefresh.length,insights_fetched_cached:0};eventUsageLogic.vx.actions.reportTimeToSeeData(payload)}});await runWithLimit(fetchItemFunctions,2),eventUsageLogic.vx.actions.reportDashboardRefreshed(dashboardId,values.newestRefreshed)},setFiltersAndLayoutsAndVariables:_ref54=>{let{filters:{date_from,date_to}}=_ref54;actions.updateFiltersAndLayoutsAndVariables(),eventUsageLogic.vx.actions.reportDashboardDateRangeChanged(date_from,date_to),eventUsageLogic.vx.actions.reportDashboardPropertiesChanged()},setDashboardMode:async _ref55=>{let{mode,source}=_ref55;if(mode===types.MN.Edit)(0,utils.O3)(),LemonToast.UJ.info("Now editing the dashboard – save to persist changes");else if(null===mode){if(source===eventUsageLogic.GU.DashboardHeaderDiscardChanges){var _values$filters$date_,_values$filters$date_2,_values$filters$prope;actions.setDates(null!==(_values$filters$date_=values.filters.date_from)&&void 0!==_values$filters$date_?_values$filters$date_:null,null!==(_values$filters$date_2=values.filters.date_to)&&void 0!==_values$filters$date_2?_values$filters$date_2:null),actions.setProperties(null!==(_values$filters$prope=values.filters.properties)&&void 0!==_values$filters$prope?_values$filters$prope:null),actions.resetVariables()}else source===eventUsageLogic.GU.DashboardHeaderSaveDashboard&&actions.setFiltersAndLayoutsAndVariables(values.temporaryFilters,values.temporaryVariables)}mode&&eventUsageLogic.vx.actions.reportDashboardModeToggled(mode,source)},setAutoRefresh:()=>{actions.resetInterval()},resetInterval:()=>{cache.autoRefreshInterval&&(window.clearInterval(cache.autoRefreshInterval),cache.autoRefreshInterval=null),values.autoRefresh.enabled&&(!values.itemsLoading&&values.newestRefreshed&&values.newestRefreshed.isBefore((0,dayjs.zO)().subtract(values.autoRefresh.interval,"seconds"))&&actions.loadDashboard({action:"refresh"}),cache.autoRefreshInterval=window.setInterval(()=>{actions.loadDashboard({action:"refresh"})},1e3*values.autoRefresh.interval))},loadDashboardSuccess:function(){if(sharedListeners.reportLoadTiming(...arguments),!values.dashboard)return;let{action,dashboardQueryId}=values.dashboardLoadTimerData;actions.refreshAllDashboardItems({action,dashboardQueryId}),values.shouldReportOnAPILoad&&(actions.setShouldReportOnAPILoad(!1),actions.reportDashboardViewed())},reportDashboardViewed:async(_,breakpoint)=>{let{dashboard,newestRefreshed}=values;dashboard?(eventUsageLogic.vx.actions.reportDashboardViewed(dashboard,newestRefreshed),await breakpoint(1e4),(kea_router_lib.router.values.location.pathname===urls.j.dashboard(dashboard.id)||kea_router_lib.router.values.location.pathname===urls.j.projectHomepage()||kea_router_lib.router.values.location.pathname.startsWith(urls.j.sharedDashboard("")))&&eventUsageLogic.vx.actions.reportDashboardViewed(dashboard,newestRefreshed,10)):actions.setShouldReportOnAPILoad(!0)},abortAnyRunningQuery:()=>{cache.abortController&&(cache.abortController.abort(),cache.abortController=null)},abortQuery:async _ref56=>{let{dashboardQueryId,queryId,queryStartTime}=_ref56,{currentTeamId}=values;await api.ZP.create(`api/environments/${currentTeamId}/insights/cancel`,{client_query_id:dashboardQueryId}),eventUsageLogic.vx.actions.reportTimeToSeeData({team_id:values.currentTeamId,type:"insight_load",context:"dashboard",primary_interaction_id:dashboardQueryId,query_id:queryId,status:"cancelled",time_to_see_data_ms:Math.floor(performance.now()-queryStartTime),insights_fetched:0,insights_fetched_cached:0})},setProperties:()=>{actions.loadDashboard({action:"preview"})},setDates:()=>{actions.loadDashboard({action:"preview"})},overrideVariableValue:()=>{actions.setDashboardMode(types.MN.Edit,null),actions.loadDashboard({action:"preview"})}}}),(0,kea_router_lib.urlToAction)(_ref57=>{let{values,actions}=_ref57;return{"/dashboard/:id/subscriptions(/:subscriptionId)":_ref58=>{let{subscriptionId}=_ref58,id=subscriptionId?"new"==subscriptionId?subscriptionId:parseInt(subscriptionId,10):void 0;actions.setSubscriptionMode(!0,id),actions.setTextTileId(null),actions.setDashboardMode(null,null)},"/dashboard/:id":()=>{actions.setSubscriptionMode(!1,void 0),actions.setTextTileId(null),values.dashboardMode===types.MN.Sharing&&actions.setDashboardMode(null,null)},"/dashboard/:id/sharing":()=>{actions.setSubscriptionMode(!1,void 0),actions.setTextTileId(null),actions.setDashboardMode(types.MN.Sharing,null)},"/dashboard/:id/text-tiles/:textTileId":_ref59=>{let{textTileId}=_ref59;actions.setSubscriptionMode(!1,void 0),actions.setDashboardMode(null,null),actions.setTextTileId(void 0===textTileId?"new":"new"!==textTileId?Number(textTileId):"new")}}})])},"./frontend/src/scenes/dashboard/dashboardTemplateEditorLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{X:()=>dashboardTemplateEditorLogic});var _posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),kea__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_loaders__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-loaders@3.0.0_kea@3.1.5/node_modules/kea-loaders/lib/index.js"),lib_api__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/api.ts"),lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),_dashboards_templates_dashboardTemplatesLogic__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/scenes/dashboard/dashboards/templates/dashboardTemplatesLogic.tsx");let dashboardTemplateEditorLogic=(0,kea__WEBPACK_IMPORTED_MODULE_1__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_1__.path)(["scenes","dashboard","dashboardTemplateEditorLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_1__.connect)({logic:[_dashboards_templates_dashboardTemplatesLogic__WEBPACK_IMPORTED_MODULE_5__.R],values:[lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_4__.h,["featureFlags"]]}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.actions)({setEditorValue:value=>({value}),setDashboardTemplate:dashboardTemplate=>({dashboardTemplate}),clear:!0,setDashboardTemplateId:id=>({id}),openDashboardTemplateEditor:!0,closeDashboardTemplateEditor:!0,updateValidationErrors:markers=>({markers})}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.reducers)({editorValue:["",{setEditorValue:(_,_ref)=>{let{value}=_ref;return value},clear:()=>""}],dashboardTemplate:[null,{clear:()=>null,setDashboardTemplate:(_,_ref2)=>{let{dashboardTemplate}=_ref2;return dashboardTemplate}}],validationErrors:[[],{updateValidationErrors:(_,_ref3)=>{let{markers}=_ref3;return markers&&0!==markers.length?markers.map(marker=>marker.message):[]},clear:()=>[]}],id:[null,{setDashboardTemplateId:(_,_ref4)=>{let{id}=_ref4;return id},clear:()=>null}],isOpenNewDashboardTemplateModal:[!1,{openDashboardTemplateEditor:()=>!0,closeDashboardTemplateEditor:()=>!1}]}),(0,kea_loaders__WEBPACK_IMPORTED_MODULE_2__.loaders)(_ref5=>{let{values}=_ref5;return{dashboardTemplate:[void 0,{createDashboardTemplate:async()=>{if(!values.dashboardTemplate){_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.error("Unable to create dashboard template");return}let response=await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.dashboardTemplates.create(values.dashboardTemplate);return _posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.success("Dashboard template created"),response},getDashboardTemplate:async id=>{let response=await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.dashboardTemplates.get(id);return response},updateDashboardTemplate:async _ref6=>{let{id,dashboardTemplateUpdates}=_ref6,response=null;if(dashboardTemplateUpdates)response=await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.dashboardTemplates.update(id,dashboardTemplateUpdates);else if(values.dashboardTemplate)response=await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.dashboardTemplates.update(id,values.dashboardTemplate);else{_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.error("Unable to update dashboard template");return}return _posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.success("Dashboard template updated"),response},deleteDashboardTemplate:async id=>(await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.dashboardTemplates.delete(id),_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.success("Dashboard template deleted"),null)}],templateSchema:[null,{getTemplateSchema:async()=>await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.dashboardTemplates.getSchema()}]}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.listeners)(_ref7=>{let{values,actions}=_ref7;return{createDashboardTemplateSuccess:async()=>{actions.closeDashboardTemplateEditor(),_dashboards_templates_dashboardTemplatesLogic__WEBPACK_IMPORTED_MODULE_5__.R.actions.getAllTemplates()},updateDashboardTemplateSuccess:async()=>{actions.closeDashboardTemplateEditor(),_dashboards_templates_dashboardTemplatesLogic__WEBPACK_IMPORTED_MODULE_5__.R.actions.getAllTemplates()},deleteDashboardTemplateSuccess:async()=>{_dashboards_templates_dashboardTemplatesLogic__WEBPACK_IMPORTED_MODULE_5__.R.actions.getAllTemplates()},closeDashboardTemplateEditor:()=>{actions.clear()},setDashboardTemplateId:_ref8=>{let{id}=_ref8;id&&actions.getDashboardTemplate(id)},getDashboardTemplateSuccess:async _ref9=>{let{dashboardTemplate}=_ref9;dashboardTemplate&&actions.setEditorValue(JSON.stringify(dashboardTemplate))},setEditorValue:async(_ref10,breakpoint)=>{let{value}=_ref10;if(await breakpoint(500),0==values.validationErrors.length&&value?.length)try{let dashboardTemplate=JSON.parse(value);actions.setDashboardTemplate(dashboardTemplate)}catch(error){console.error("error",error),_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.error("Unable to parse dashboard template")}},updateValidationErrors:async _ref11=>{let{markers}=_ref11;markers?.length||actions.setEditorValue(values.editorValue)},setDashboardTemplate:async _ref12=>{let{dashboardTemplate}=_ref12;dashboardTemplate&&actions.setEditorValue(JSON.stringify(dashboardTemplate,null,4))}}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.afterMount)(_ref13=>{let{actions}=_ref13;actions.getTemplateSchema()})])},"./frontend/src/scenes/dashboard/dashboardTemplateVariablesLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{y:()=>dashboardTemplateVariablesLogic});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),lib_components_IframedToolbarBrowser_iframedToolbarBrowserLogic__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/lib/components/IframedToolbarBrowser/iframedToolbarBrowserLogic.ts"),lib_components_IframedToolbarBrowser_utils__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/components/IframedToolbarBrowser/utils.ts"),lib_utils__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/utils.tsx"),_types__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/types.ts");let FALLBACK_EVENT={id:"$pageview",math:_types__WEBPACK_IMPORTED_MODULE_4__.vN.UniqueUsers,type:_types__WEBPACK_IMPORTED_MODULE_4__.DC.EVENTS},dashboardTemplateVariablesLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(["scenes","dashboard","DashboardTemplateVariablesLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.props)({variables:[]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.connect)({actions:[lib_components_IframedToolbarBrowser_iframedToolbarBrowserLogic__WEBPACK_IMPORTED_MODULE_1__.R,["toolbarMessageReceived","disableElementSelector"]]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)({setVariables:variables=>({variables}),setVariable:(variableName,filterGroup)=>({variable_name:variableName,filterGroup}),setVariableFromAction:(variableName,action)=>({variableName,action}),setVariableForPageview:(variableName,url)=>({variableName,url}),setVariableForScreenview:variableName=>({variableName}),setActiveVariableIndex:index=>({index}),incrementActiveVariableIndex:!0,possiblyIncrementActiveVariableIndex:!0,resetVariable:variableId=>({variableId}),goToNextUntouchedActiveVariableIndex:!0,setIsCurrentlySelectingElement:isSelecting=>({isSelecting}),setActiveVariableCustomEventName:customEventName=>({customEventName}),maybeResetActiveVariableCustomEventName:!0}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)({variables:[[],{setVariables:(_,_ref)=>{let{variables}=_ref;return variables.map(v=>v.default&&!(0,lib_utils__WEBPACK_IMPORTED_MODULE_3__.Qr)(v.default)?v:{...v,default:FALLBACK_EVENT})},setVariable:(state,_ref2)=>{let{variable_name:variableName,filterGroup}=_ref2,typeWithContents=Object.keys(filterGroup).filter(group=>(filterGroup[group]||[])?.length>0)?.[0];return typeWithContents?state.map(v=>v.name===variableName&&filterGroup?.[typeWithContents]?.length&&filterGroup?.[typeWithContents]?.[0]?{...v,default:filterGroup[typeWithContents]?.[0]||{},touched:!0}:{...v}):state},resetVariable:(state,_ref3)=>{let{variableId}=_ref3;return state.map(v=>v.id===variableId?{...v,default:FALLBACK_EVENT,touched:!1}:{...v})}}],activeVariableIndex:[0,{setActiveVariableIndex:(_,_ref4)=>{let{index}=_ref4;return index},incrementActiveVariableIndex:state=>state+1}],activeVariableCustomEventName:[null,{setActiveVariableCustomEventName:(_,_ref5)=>{let{customEventName}=_ref5;return customEventName}}],isCurrentlySelectingElement:[!1,{setIsCurrentlySelectingElement:(_,_ref6)=>{let{isSelecting}=_ref6;return isSelecting}}]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.selectors)(()=>({activeVariable:[s=>[s.variables,s.activeVariableIndex],(variables,activeVariableIndex)=>variables[activeVariableIndex]],allVariablesAreTouched:[s=>[s.variables],variables=>variables.every(v=>v.touched)],hasTouchedAnyVariable:[s=>[s.variables],variables=>variables.some(v=>v.touched)]})),(0,kea__WEBPACK_IMPORTED_MODULE_0__.listeners)(_ref7=>{let{actions,props,values}=_ref7;return{possiblyIncrementActiveVariableIndex:()=>{props.variables.length>0&&values.activeVariableIndex{let nextIndex=values.variables.findIndex((v,i)=>!v.touched&&i>values.activeVariableIndex);if(-1!==nextIndex){actions.setActiveVariableIndex(nextIndex);return}-1==nextIndex&&-1==(nextIndex=values.variables.findIndex(v=>!v.touched))&&(nextIndex=values.activeVariableIndex),actions.setActiveVariableIndex(nextIndex)},setVariableFromAction:_ref8=>{let{variableName,action}=_ref8,originalVariableName=variableName.replace(/\s-\s\d+/g,""),step={id:action.id.toString(),math:_types__WEBPACK_IMPORTED_MODULE_4__.vN.UniqueUsers,name:action.name,custom_name:originalVariableName,order:0,type:_types__WEBPACK_IMPORTED_MODULE_4__.DC.ACTIONS,selector:action.steps?.[0]?.selector,href:action.steps?.[0]?.href,url:action.steps?.[0]?.url};actions.setVariable(originalVariableName,{actions:[step]}),actions.setIsCurrentlySelectingElement(!1)},setVariableForPageview:_ref9=>{let{variableName,url}=_ref9,step={id:"$pageview",math:_types__WEBPACK_IMPORTED_MODULE_4__.vN.UniqueUsers,type:_types__WEBPACK_IMPORTED_MODULE_4__.DC.EVENTS,order:0,name:"$pageview",custom_name:variableName,properties:[{key:"$current_url",value:url,operator:"icontains",type:"event"}]};actions.setVariable(variableName,{events:[step]}),actions.setIsCurrentlySelectingElement(!1)},setVariableForScreenview:_ref10=>{let{variableName}=_ref10,step={id:"$screenview",math:_types__WEBPACK_IMPORTED_MODULE_4__.vN.UniqueUsers,type:_types__WEBPACK_IMPORTED_MODULE_4__.DC.EVENTS,order:0,name:"$screenview",custom_name:variableName};actions.setVariable(variableName,{events:[step]}),actions.setIsCurrentlySelectingElement(!1)},toolbarMessageReceived:_ref11=>{let{type,payload}=_ref11;type===lib_components_IframedToolbarBrowser_utils__WEBPACK_IMPORTED_MODULE_2__.TH.PH_NEW_ACTION_CREATED&&(actions.setVariableFromAction(payload.action.name,payload.action),actions.disableElementSelector())},maybeResetActiveVariableCustomEventName:()=>{values.activeVariable?.touched&&values.activeVariable?.default?.custom_event?values.activeVariable?.default?.custom_event&&actions.setActiveVariableCustomEventName(values.activeVariable.default.id):actions.setActiveVariableCustomEventName(null)}}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.propsChanged)((_ref12,oldProps)=>{let{actions,props}=_ref12;props.variables!==oldProps.variables&&actions.setVariables(props.variables)})])},"./frontend/src/scenes/dashboard/dashboards/dashboardsLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{NS:()=>DashboardsTab,dJ:()=>dashboardsLogic});var fuse_js__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./node_modules/.pnpm/fuse.js@6.6.2/node_modules/fuse.js/dist/fuse.esm.js"),kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_router__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),lib_utils__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/utils.tsx"),scenes_userLogic__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/scenes/userLogic.ts"),_models_dashboardsModel__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/models/dashboardsModel.tsx");let DashboardsTab=function(DashboardsTab){return DashboardsTab.Dashboards="dashboards",DashboardsTab.Templates="templates",DashboardsTab}({}),DEFAULT_SORTING={columnKey:"name",order:1},DEFAULT_FILTERS={search:"",createdBy:"All users",pinned:!1,shared:!1},dashboardsLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(["scenes","dashboard","dashboardsLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.connect)({values:[scenes_userLogic__WEBPACK_IMPORTED_MODULE_4__.userLogic,["user"],lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_2__.h,["featureFlags"]]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)({setCurrentTab:tab=>({tab}),setFilters:filters=>({filters}),tableSortingChanged:sorting=>({sorting})}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)({tableSorting:[DEFAULT_SORTING,{persist:!0},{tableSortingChanged:(_,_ref)=>{let{sorting}=_ref;return sorting||DEFAULT_SORTING}}],currentTab:[DashboardsTab.Dashboards,{setCurrentTab:(_,_ref2)=>{let{tab}=_ref2;return tab}}],filters:[DEFAULT_FILTERS,{setFilters:(state,_ref3)=>{let{filters}=_ref3;return(0,lib_utils__WEBPACK_IMPORTED_MODULE_3__.hO)({...state||{},...filters})}}]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.selectors)({isFiltering:[s=>[s.filters],filters=>Object.keys(filters).some(key=>filters[key]!==DEFAULT_FILTERS[key])],dashboards:[s=>[_models_dashboardsModel__WEBPACK_IMPORTED_MODULE_5__.h.selectors.nameSortedDashboards,s.filters,s.fuse],(dashboards,filters,fuse)=>{let haystack=dashboards;return filters.search&&(haystack=fuse.search(filters.search).map(result=>result.item)),filters.pinned&&(haystack=haystack.filter(d=>d.pinned)),filters.shared&&(haystack=haystack.filter(d=>d.is_shared)),"All users"!==filters.createdBy&&(haystack=haystack.filter(d=>d.created_by?.uuid===filters.createdBy)),haystack}],fuse:[()=>[_models_dashboardsModel__WEBPACK_IMPORTED_MODULE_5__.h.selectors.nameSortedDashboards],dashboards=>new fuse_js__WEBPACK_IMPORTED_MODULE_6__.Z(dashboards,{keys:["key","name","description","tags"],threshold:.3})]}),(0,kea_router__WEBPACK_IMPORTED_MODULE_1__.actionToUrl)(_ref4=>{let{values}=_ref4;return{setCurrentTab:()=>{let tab=values.currentTab===DashboardsTab.Dashboards?void 0:values.currentTab;kea_router__WEBPACK_IMPORTED_MODULE_1__.router.values.searchParams.tab!==tab&&kea_router__WEBPACK_IMPORTED_MODULE_1__.router.actions.push(kea_router__WEBPACK_IMPORTED_MODULE_1__.router.values.location.pathname,{...kea_router__WEBPACK_IMPORTED_MODULE_1__.router.values.searchParams,tab})}}}),(0,kea_router__WEBPACK_IMPORTED_MODULE_1__.urlToAction)(_ref5=>{let{actions}=_ref5;return{"/dashboard":(_,searchParams)=>{let tab=searchParams.tab||DashboardsTab.Dashboards;actions.setCurrentTab(tab)}}})])},"./frontend/src/scenes/dashboard/dashboards/templates/dashboardTemplatesLogic.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{R:()=>dashboardTemplatesLogic});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_loaders__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea-loaders@3.0.0_kea@3.1.5/node_modules/kea-loaders/lib/index.js"),lib_api__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/api.ts"),lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts");let dashboardTemplatesLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(["scenes","dashboard","dashboards","templates","dashboardTemplatesLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.props)({}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.key)(_ref=>{let{scope}=_ref;return null!=scope?scope:"unknown"}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.connect)({values:[lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_3__.h,["featureFlags"]]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)({setTemplates:allTemplates=>({allTemplates}),setTemplateFilter:search=>({search})}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)({templateFilter:["",{setTemplateFilter:(_,_ref2)=>{let{search}=_ref2;return search}}]}),(0,kea_loaders__WEBPACK_IMPORTED_MODULE_1__.loaders)(_ref3=>{let{props,values}=_ref3;return{allTemplates:[[],{getAllTemplates:async()=>{let params={scope:"default"!==props.scope?props.scope:void 0,search:values.templateFilter.length>2?values.templateFilter:void 0},page=await lib_api__WEBPACK_IMPORTED_MODULE_2__.ZP.dashboardTemplates.list(params);return page.results}}]}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.listeners)(_ref4=>{let{actions}=_ref4;return{setTemplateFilter:async(_,breakpoint)=>{await breakpoint(100),actions.getAllTemplates()}}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.afterMount)(_ref5=>{let{actions}=_ref5;actions.getAllTemplates()})])},"./frontend/src/scenes/dashboard/deleteDashboardLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{r:()=>deleteDashboardLogic});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_forms__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea-forms@3.2.0_kea@3.1.5/node_modules/kea-forms/lib/index.js"),kea_router__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),scenes_urls__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/scenes/urls.ts"),_models_dashboardsModel__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/models/dashboardsModel.tsx");let defaultFormValues={dashboardId:null,deleteInsights:!1},deleteDashboardLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(["scenes","dashboard","deleteDashboardLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)({showDeleteDashboardModal:id=>({id}),hideDeleteDashboardModal:!0}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)({deleteDashboardModalVisible:[!1,{showDeleteDashboardModal:()=>!0,hideDeleteDashboardModal:()=>!1}]}),(0,kea_forms__WEBPACK_IMPORTED_MODULE_1__.forms)(()=>({deleteDashboard:{defaults:defaultFormValues,errors:()=>({}),submit:async _ref=>{let{dashboardId,deleteInsights}=_ref;_models_dashboardsModel__WEBPACK_IMPORTED_MODULE_4__.h.actions.deleteDashboard({id:dashboardId,deleteInsights})}}})),(0,kea__WEBPACK_IMPORTED_MODULE_0__.listeners)(_ref2=>{let{actions}=_ref2;return{showDeleteDashboardModal:_ref3=>{let{id}=_ref3;actions.setDeleteDashboardValues({dashboardId:id})},hideDeleteDashboardModal:()=>{actions.resetDeleteDashboard()},[_models_dashboardsModel__WEBPACK_IMPORTED_MODULE_4__.h.actionTypes.deleteDashboardSuccess]:()=>{actions.hideDeleteDashboardModal(),kea_router__WEBPACK_IMPORTED_MODULE_2__.router.values.currentLocation.pathname!==scenes_urls__WEBPACK_IMPORTED_MODULE_3__.j.dashboards()&&kea_router__WEBPACK_IMPORTED_MODULE_2__.router.actions.push(scenes_urls__WEBPACK_IMPORTED_MODULE_3__.j.dashboards())}}})])},"./frontend/src/scenes/dashboard/duplicateDashboardLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{T:()=>duplicateDashboardLogic});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_forms__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea-forms@3.2.0_kea@3.1.5/node_modules/kea-forms/lib/index.js"),kea_router__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),scenes_urls__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/scenes/urls.ts"),_models_dashboardsModel__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/models/dashboardsModel.tsx"),_models_insightsModel__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/models/insightsModel.tsx");let defaultFormValues={dashboardId:null,duplicateTiles:!1,dashboardName:void 0,show:!1},duplicateDashboardLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(["scenes","dashboard","duplicateDashboardLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.connect)({actions:[_models_insightsModel__WEBPACK_IMPORTED_MODULE_5__.U,["insightsAddedToDashboard"]]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)({showDuplicateDashboardModal:(id,name)=>({id,name}),hideDuplicateDashboardModal:!0,duplicateAndGoToDashboard:!0}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)({duplicateDashboardModalVisible:[!1,{showDuplicateDashboardModal:()=>!0,hideDuplicateDashboardModal:()=>!1}]}),(0,kea_forms__WEBPACK_IMPORTED_MODULE_1__.forms)(()=>({duplicateDashboard:{defaults:defaultFormValues,errors:()=>({}),submit:async _ref=>{let{dashboardId,dashboardName,show,duplicateTiles}=_ref;dashboardId&&_models_dashboardsModel__WEBPACK_IMPORTED_MODULE_4__.h.actions.duplicateDashboard({id:dashboardId,name:dashboardName,show,duplicateTiles})}}})),(0,kea__WEBPACK_IMPORTED_MODULE_0__.listeners)(_ref2=>{let{actions}=_ref2;return{hideDuplicateDashboardModal:()=>{actions.resetDuplicateDashboard()},[_models_dashboardsModel__WEBPACK_IMPORTED_MODULE_4__.h.actionTypes.duplicateDashboardSuccess]:_ref3=>{let{dashboard,payload}=_ref3;if(actions.hideDuplicateDashboardModal(),!payload?.duplicateTiles){let insightsOnDuplicatedDashboard=dashboard.tiles.map(t=>t.insight?.id).filter(id=>!!id);actions.insightsAddedToDashboard({dashboardId:dashboard.id,insightIds:insightsOnDuplicatedDashboard})}payload?.show?kea_router__WEBPACK_IMPORTED_MODULE_2__.router.actions.push(scenes_urls__WEBPACK_IMPORTED_MODULE_3__.j.dashboard(dashboard.id)):kea_router__WEBPACK_IMPORTED_MODULE_2__.router.values.currentLocation.pathname!==scenes_urls__WEBPACK_IMPORTED_MODULE_3__.j.dashboards()&&kea_router__WEBPACK_IMPORTED_MODULE_2__.router.actions.push(scenes_urls__WEBPACK_IMPORTED_MODULE_3__.j.dashboards())},duplicateAndGoToDashboard:()=>{actions.setDuplicateDashboardValue("show",!0),actions.submitDuplicateDashboard()},showDuplicateDashboardModal:_ref4=>{let{id,name}=_ref4;actions.setDuplicateDashboardValues({dashboardId:id,dashboardName:name})}}})])},"./frontend/src/scenes/dashboard/newDashboardLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Z:()=>newDashboardLogic});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_forms__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea-forms@3.2.0_kea@3.1.5/node_modules/kea-forms/lib/index.js"),kea_router__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),lib_api__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/api.ts"),lib_constants__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/constants.tsx"),lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonToast/LemonToast.tsx"),lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),scenes_insights_filters_ActionFilter_ActionFilterRow_ActionFilterRow__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/scenes/insights/filters/ActionFilter/ActionFilterRow/ActionFilterRow.tsx"),scenes_teamLogic__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./frontend/src/scenes/teamLogic.tsx"),scenes_urls__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./frontend/src/scenes/urls.ts"),_models_dashboardsModel__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__("./frontend/src/models/dashboardsModel.tsx"),_queries_nodes_InsightQuery_utils_filtersToQueryNode__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__("./frontend/src/queries/nodes/InsightQuery/utils/filtersToQueryNode.ts"),_queries_nodes_InsightViz_utils__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__("./frontend/src/queries/nodes/InsightViz/utils.ts"),_queries_schema__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__("./frontend/src/queries/schema.ts"),_queries_utils__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__("./frontend/src/queries/utils.ts");let defaultFormValues={name:"",description:"",show:!1,useTemplate:"",restrictionLevel:lib_constants__WEBPACK_IMPORTED_MODULE_4__.V7.EveryoneInProjectCanEdit},newDashboardLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.props)({}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.key)(_ref=>{let{featureFlagId}=_ref;return null!=featureFlagId?featureFlagId:"new"}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(["scenes","dashboard","newDashboardLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.connect)({logic:[_models_dashboardsModel__WEBPACK_IMPORTED_MODULE_10__.h],values:[lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_6__.h,["featureFlags"]]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)({setIsLoading:isLoading=>({isLoading}),showNewDashboardModal:!0,showVariableSelectModal:template=>({template}),hideNewDashboardModal:!0,addDashboard:form=>({form}),setActiveDashboardTemplate:template=>({template}),clearActiveDashboardTemplate:!0,createDashboardFromTemplate:function(template,variables,redirectAfterCreation){let creationContext=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return{template,variables,redirectAfterCreation,creationContext}},submitNewDashboardSuccessWithResult:(result,variables)=>({result,variables})}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)({isLoading:[!1,{setIsLoading:(_,_ref2)=>{let{isLoading}=_ref2;return isLoading},hideNewDashboardModal:()=>!1,submitNewDashboardSuccess:()=>!1,submitNewDashboardFailure:()=>!1,clearActiveDashboardTemplate:()=>!1}],newDashboardModalVisible:[!1,{showNewDashboardModal:()=>!0,showVariableSelectModal:()=>!0,hideNewDashboardModal:()=>!1}],variableSelectModalVisible:[!1,{showVariableSelectModal:()=>!0,hideNewDashboardModal:()=>!1}],activeDashboardTemplate:[null,{setActiveDashboardTemplate:(_,_ref3)=>{let{template}=_ref3;return template},clearActiveDashboardTemplate:()=>null}]}),(0,kea_forms__WEBPACK_IMPORTED_MODULE_1__.forms)(_ref4=>{let{actions}=_ref4;return{newDashboard:{defaults:defaultFormValues,errors:_ref5=>{let{name,restrictionLevel}=_ref5;return{name:name?null:"Please give your dashboard a name.",restrictionLevel:restrictionLevel?null:"Restriction level needs to be specified."}},submit:async(_ref6,breakpoint)=>{let{name,description,useTemplate,restrictionLevel,show}=_ref6;actions.setIsLoading(!0);try{let result=await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.create(`api/environments/${scenes_teamLogic__WEBPACK_IMPORTED_MODULE_8__.H.values.currentTeamId}/dashboards/`,{name:name,description:description,use_template:useTemplate,restriction_level:restrictionLevel});actions.hideNewDashboardModal(),actions.resetNewDashboard();let queryBasedDashboard=(0,_queries_nodes_InsightViz_utils__WEBPACK_IMPORTED_MODULE_12__.ob)(result);queryBasedDashboard&&_models_dashboardsModel__WEBPACK_IMPORTED_MODULE_10__.h.actions.addDashboardSuccess(queryBasedDashboard),actions.submitNewDashboardSuccessWithResult(result),show&&(breakpoint(),kea_router__WEBPACK_IMPORTED_MODULE_2__.router.actions.push(scenes_urls__WEBPACK_IMPORTED_MODULE_9__.j.dashboard(result.id)))}catch(e){if(!(0,kea__WEBPACK_IMPORTED_MODULE_0__.isBreakpoint)(e)){let message=e.code&&e.detail?`${e.code}: ${e.detail}`:e;lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_5__.UJ.error(`Could not create dashboard: ${message}`)}}actions.setIsLoading(!1)}}}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.selectors)(_ref7=>{let{props}=_ref7;return{isFeatureFlagDashboard:[()=>[],()=>props.featureFlagId]}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.listeners)(_ref8=>{let{actions}=_ref8;return{addDashboard:_ref9=>{let{form}=_ref9;actions.resetNewDashboard(),actions.setNewDashboardValues({...defaultFormValues,...form}),actions.submitNewDashboard()},showNewDashboardModal:()=>{actions.resetNewDashboard()},hideNewDashboardModal:()=>{actions.clearActiveDashboardTemplate(),actions.resetNewDashboard()},createDashboardFromTemplate:async _ref10=>{let{template,variables,redirectAfterCreation=!0,creationContext=null}=_ref10;actions.setIsLoading(!0);let tiles=template.tiles.map(tile=>{let isQueryBased="query"in tile&&null!=tile.query,queryKind=isQueryBased?(0,_queries_utils__WEBPACK_IMPORTED_MODULE_14__.KN)(tile.query)?tile.query?.source.kind:tile.query?.kind:null;return function applyTemplate(obj,variables,queryKind){if("string"==typeof obj&&obj.startsWith("{")&&obj.endsWith("}")){let variableId=obj.substring(1,obj.length-1),variable=variables.find(variable=>variable.id===variableId);if(variable&&variable.default){let isEventVariable="event"===variable.type;if(queryKind&&isEventVariable){let mathAvailability=scenes_insights_filters_ActionFilter_ActionFilterRow_ActionFilterRow__WEBPACK_IMPORTED_MODULE_7__.Qq.None;return queryKind===_queries_schema__WEBPACK_IMPORTED_MODULE_13__.OH.TrendsQuery?mathAvailability=scenes_insights_filters_ActionFilter_ActionFilterRow_ActionFilterRow__WEBPACK_IMPORTED_MODULE_7__.Qq.All:queryKind===_queries_schema__WEBPACK_IMPORTED_MODULE_13__.OH.StickinessQuery?mathAvailability=scenes_insights_filters_ActionFilter_ActionFilterRow_ActionFilterRow__WEBPACK_IMPORTED_MODULE_7__.Qq.ActorsOnly:queryKind===_queries_schema__WEBPACK_IMPORTED_MODULE_13__.OH.FunnelsQuery&&(mathAvailability=scenes_insights_filters_ActionFilter_ActionFilterRow_ActionFilterRow__WEBPACK_IMPORTED_MODULE_7__.Qq.FunnelsOnly),queryKind===_queries_schema__WEBPACK_IMPORTED_MODULE_13__.OH.RetentionQuery?(0,_queries_nodes_InsightQuery_utils_filtersToQueryNode__WEBPACK_IMPORTED_MODULE_11__.d6)(variable.default):(0,_queries_nodes_InsightQuery_utils_filtersToQueryNode__WEBPACK_IMPORTED_MODULE_11__.pE)(variable.default,!0,mathAvailability)}return variable.default}return obj}if(Array.isArray(obj))return obj.map(item=>applyTemplate(item,variables,queryKind));if("object"==typeof obj&&null!==obj){let newObject={};for(let[key,value]of Object.entries(obj))newObject[key]=applyTemplate(value,variables,queryKind);return newObject}return obj}(tile,variables,queryKind)}),dashboardJSON={...template,tiles};try{let result=await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.create(`api/environments/${scenes_teamLogic__WEBPACK_IMPORTED_MODULE_8__.H.values.currentTeamId}/dashboards/create_from_template_json`,{template:dashboardJSON,creation_context:creationContext});actions.hideNewDashboardModal(),actions.resetNewDashboard();let queryBasedDashboard=(0,_queries_nodes_InsightViz_utils__WEBPACK_IMPORTED_MODULE_12__.ob)(result);queryBasedDashboard&&_models_dashboardsModel__WEBPACK_IMPORTED_MODULE_10__.h.actions.addDashboardSuccess(queryBasedDashboard),actions.submitNewDashboardSuccessWithResult(result,variables),redirectAfterCreation&&kea_router__WEBPACK_IMPORTED_MODULE_2__.router.actions.push(scenes_urls__WEBPACK_IMPORTED_MODULE_9__.j.dashboard(result.id))}catch(e){if(!(0,kea__WEBPACK_IMPORTED_MODULE_0__.isBreakpoint)(e)){let message=e.code&&e.detail?`${e.code}: ${e.detail}`:e;lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_5__.UJ.error(`Could not create dashboard: ${message}`)}}actions.setIsLoading(!1)},showVariableSelectModal:_ref11=>{let{template}=_ref11;actions.setActiveDashboardTemplate(template)}}}),(0,kea_router__WEBPACK_IMPORTED_MODULE_2__.urlToAction)(_ref12=>{let{actions}=_ref12;return{"/dashboard":(_,_searchParams,hashParams)=>{"newDashboard"in hashParams&&actions.showNewDashboardModal()}}}),(0,kea_router__WEBPACK_IMPORTED_MODULE_2__.actionToUrl)({hideNewDashboardModal:()=>{let hashParams=kea_router__WEBPACK_IMPORTED_MODULE_2__.router.values.hashParams;return delete hashParams.newDashboard,[kea_router__WEBPACK_IMPORTED_MODULE_2__.router.values.location.pathname,kea_router__WEBPACK_IMPORTED_MODULE_2__.router.values.searchParams,hashParams]},showNewDashboardModal:()=>{let hashParams=kea_router__WEBPACK_IMPORTED_MODULE_2__.router.values.hashParams;return hashParams.newDashboard="modal",[kea_router__WEBPACK_IMPORTED_MODULE_2__.router.values.location.pathname,kea_router__WEBPACK_IMPORTED_MODULE_2__.router.values.searchParams,hashParams]}})])},"./frontend/src/scenes/data-management/DataManagementScene.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{DataManagementScene:()=>DataManagementScene,DataManagementTab:()=>DataManagementTab,scene:()=>scene});var posthog_icons_es=__webpack_require__("./node_modules/.pnpm/@posthog+icons@0.9.2_react-dom@18.2.0_react@18.2.0/node_modules/@posthog/icons/dist/posthog-icons.es.js"),index_esm=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),lib=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),ActivityLog=__webpack_require__("./frontend/src/lib/components/ActivityLog/ActivityLog.tsx"),PageHeader=__webpack_require__("./frontend/src/lib/components/PageHeader.tsx"),TitleWithIcon=__webpack_require__("./frontend/src/lib/components/TitleWithIcon.tsx"),constants=__webpack_require__("./frontend/src/lib/constants.tsx"),LemonTabs=__webpack_require__("./frontend/src/lib/lemon-ui/LemonTabs/index.ts"),Tooltip=__webpack_require__("./frontend/src/lib/lemon-ui/Tooltip/index.ts"),featureFlagLogic=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),utils=__webpack_require__("./frontend/src/lib/utils.tsx");__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/index.js");var NewActionButton=__webpack_require__("./frontend/src/scenes/actions/NewActionButton.tsx"),src=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),hedgehogs=__webpack_require__("./frontend/src/lib/components/hedgehogs.tsx"),ProductIntroduction=__webpack_require__("./frontend/src/lib/components/ProductIntroduction/ProductIntroduction.tsx"),LemonButton=__webpack_require__("./frontend/src/lib/lemon-ui/LemonButton/index.ts"),LemonTable=__webpack_require__("./frontend/src/lib/lemon-ui/LemonTable/index.ts"),columnUtils=__webpack_require__("./frontend/src/lib/lemon-ui/LemonTable/columnUtils.tsx"),LemonTag=__webpack_require__("./frontend/src/lib/lemon-ui/LemonTag/LemonTag.tsx"),ProfilePicture=__webpack_require__("./frontend/src/lib/lemon-ui/ProfilePicture/index.ts"),organizationLogic=__webpack_require__("./frontend/src/scenes/organizationLogic.tsx"),teamLogic=__webpack_require__("./frontend/src/scenes/teamLogic.tsx"),urls=__webpack_require__("./frontend/src/scenes/urls.ts"),types=__webpack_require__("./frontend/src/types.ts"),AnnotationModal=__webpack_require__("./frontend/src/scenes/annotations/AnnotationModal.tsx"),annotationModalLogic=__webpack_require__("./frontend/src/scenes/annotations/annotationModalLogic.ts"),jsx_runtime=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js"),sceneTypes=__webpack_require__("./frontend/src/scenes/sceneTypes.ts"),api=__webpack_require__("./frontend/src/lib/api.ts"),ObjectTags=__webpack_require__("./frontend/src/lib/components/ObjectTags/ObjectTags.tsx"),icons=__webpack_require__("./frontend/src/lib/lemon-ui/icons/index.ts"),More=__webpack_require__("./frontend/src/lib/lemon-ui/LemonButton/More.tsx"),LemonDivider=__webpack_require__("./frontend/src/lib/lemon-ui/LemonDivider/index.ts"),LemonTableLink=__webpack_require__("./frontend/src/lib/lemon-ui/LemonTable/LemonTableLink.tsx"),LemonToast=__webpack_require__("./frontend/src/lib/lemon-ui/LemonToast/LemonToast.tsx"),deleteWithUndo=__webpack_require__("./frontend/src/lib/utils/deleteWithUndo.tsx"),actionsLogic=__webpack_require__("./frontend/src/scenes/actions/actionsLogic.ts"),userLogic=__webpack_require__("./frontend/src/scenes/userLogic.ts"),actionsModel=__webpack_require__("./frontend/src/models/actionsModel.ts"),schema=__webpack_require__("./frontend/src/queries/schema.ts"),TaxonomicFilter_types=__webpack_require__("./frontend/src/lib/components/TaxonomicFilter/types.ts"),TZLabel=__webpack_require__("./frontend/src/lib/components/TZLabel/index.tsx"),LemonBanner=__webpack_require__("./frontend/src/lib/lemon-ui/LemonBanner/index.ts"),DefinitionHeader=__webpack_require__("./frontend/src/scenes/data-management/events/DefinitionHeader.tsx"),EventDefinitionProperties=__webpack_require__("./frontend/src/scenes/data-management/events/EventDefinitionProperties.tsx"),eventDefinitionsTableLogic=__webpack_require__("./frontend/src/scenes/data-management/events/eventDefinitionsTableLogic.ts");let eventTypeOptions=[{value:types.uW.Event,label:"All events","data-attr":"event-type-option-event"},{value:types.uW.EventCustom,label:"Custom events","data-attr":"event-type-option-event-custom"},{value:types.uW.EventPostHog,label:"PostHog events","data-attr":"event-type-option-event-posthog"}];var Sparkline=__webpack_require__("./frontend/src/lib/components/Sparkline.tsx"),ViewRecordingButton=__webpack_require__("./frontend/src/lib/components/ViewRecordingButton.tsx"),Link=__webpack_require__("./frontend/src/lib/lemon-ui/Link/index.ts"),kea_loaders_lib=__webpack_require__("./node_modules/.pnpm/kea-loaders@3.0.0_kea@3.1.5/node_modules/kea-loaders/lib/index.js"),dayjs=__webpack_require__("./frontend/src/lib/dayjs.ts"),projectLogic=__webpack_require__("./frontend/src/scenes/projectLogic.ts");let ingestionWarningsLogic=(0,index_esm.kea)([(0,index_esm.path)(["scenes","data-management","ingestion-warnings","ingestionWarningsLogic"]),(0,index_esm.connect)({values:[teamLogic.H,["timezone"],projectLogic.K,["currentProjectId"]]}),(0,kea_loaders_lib.loaders)(_ref=>{let{values}=_ref;return{data:[[],{loadData:async()=>{let{results}=await api.ZP.get(`api/projects/${values.currentProjectId}/ingestion_warnings`);return results}}]}}),(0,index_esm.selectors)({breadcrumbs:[()=>[],()=>[{key:sceneTypes.x.DataManagement,name:"Data management",path:urls.j.eventDefinitions()},{key:DataManagementTab.IngestionWarnings,name:"Ingestion warnings",path:urls.j.ingestionWarnings()}]],dates:[()=>[],()=>(0,utils.w6)(0,30).map(i=>(0,dayjs.Bv)().subtract(i,"days").format("D MMM YYYY")).reverse()],summaryDatasets:[s=>[s.data,s.timezone],(data,timezone)=>{let summaryDatasets={};return data.forEach(summary=>{let result=Array(30).fill(0);for(let spark of summary.sparkline){let date=(0,dayjs.fp)(spark[1],timezone),dayIndex=(0,dayjs.Bv)().diff(date,"days");result[dayIndex]=spark[0]}summaryDatasets[summary.type]=result.reverse()}),summaryDatasets}]}),(0,index_esm.afterMount)(_ref2=>{let{actions}=_ref2;actions.loadData()})]),WARNING_TYPE_TO_DESCRIPTION={cannot_merge_already_identified:"Refused to merge an already identified user",cannot_merge_with_illegal_distinct_id:"Refused to merge with an illegal distinct id",skipping_event_invalid_uuid:"Refused to process event with invalid uuid",ignored_invalid_timestamp:"Ignored an invalid timestamp, event was still ingested",event_timestamp_in_future:"An event was sent more than 23 hours in the future",ingestion_capacity_overflow:"Event ingestion has overflowed capacity",message_size_too_large:"Discarded event exceeding 1MB limit",replay_timestamp_invalid:"Replay event timestamp is invalid",replay_timestamp_too_far:"Replay event timestamp was too far in the future",replay_message_too_large:"Replay data was dropped because it was too large to ingest"},WARNING_TYPE_RENDERER={cannot_merge_already_identified:function Render(warning){let details=warning.details;return(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["Refused to merge already identified person"," ",(0,jsx_runtime.jsx)(Link.r,{to:urls.j.personByDistinctId(details.sourcePersonDistinctId),children:details.sourcePersonDistinctId})," ","into"," ",(0,jsx_runtime.jsx)(Link.r,{to:urls.j.personByDistinctId(details.targetPersonDistinctId),children:details.targetPersonDistinctId})," ","via an $identify or $create_alias call (event uuid: ",(0,jsx_runtime.jsx)("code",{children:details.eventUuid}),")."]})},cannot_merge_with_illegal_distinct_id:function Render(warning){let details=warning.details;return(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["Refused to merge an illegal distinct_id"," ",(0,jsx_runtime.jsx)(Link.r,{to:urls.j.personByDistinctId(details.illegalDistinctId),children:details.illegalDistinctId})," with"," ",(0,jsx_runtime.jsx)(Link.r,{to:urls.j.personByDistinctId(details.otherDistinctId),children:details.otherDistinctId})," via an $identify or $create_alias call (event uuid: ",(0,jsx_runtime.jsx)("code",{children:details.eventUuid}),")."]})},skipping_event_invalid_uuid:function Render(warning){let details=warning.details;return(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["Refused to process event with invalid uuid: ",(0,jsx_runtime.jsx)("code",{children:details.eventUuid}),"."]})},ignored_invalid_timestamp:function Render(warning){let details=warning.details;return(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["Used server timestamp when ingesting event due to invalid input:",(0,jsx_runtime.jsxs)("ul",{children:[details.eventUuid?(0,jsx_runtime.jsxs)("li",{children:["Event UUID: ",details.eventUuid]}):"",details.field?(0,jsx_runtime.jsxs)("li",{children:["Invalid field: ",details.field]}):"",details.value?(0,jsx_runtime.jsxs)("li",{children:["Invalid value: ",details.value]}):"",details.reason?(0,jsx_runtime.jsxs)("li",{children:["Error: ",details.reason]}):""]})]})},event_timestamp_in_future:function Render(warning){let details=warning.details;return(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["The event timestamp computed too far in the future, so the capture time was used instead. Event values:",(0,jsx_runtime.jsxs)("ul",{children:[(0,jsx_runtime.jsxs)("li",{children:["Computed timestamp: ",details.result]}),details.eventUuid?(0,jsx_runtime.jsxs)("li",{children:["Event UUID: ",details.eventUuid]}):"",details.timestamp?(0,jsx_runtime.jsxs)("li",{children:["Client provided timestamp: ",details.timestamp]}):"",details.sentAt?(0,jsx_runtime.jsxs)("li",{children:["Client provided sent_at: ",details.sentAt]}):"",details.offset?(0,jsx_runtime.jsxs)("li",{children:["Client provided time offset: ",details.offset]}):"",(0,jsx_runtime.jsxs)("li",{children:["PostHog server capture time: ",details.now]})]})]})},ingestion_capacity_overflow:function Render(warning){let details=warning.details;return(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["Event ingestion has overflowed capacity for distinct_id"," ",(0,jsx_runtime.jsx)(Link.r,{to:urls.j.personByDistinctId(details.overflowDistinctId),children:details.overflowDistinctId}),". Events will still be processed, but are likely to be delayed longer than usual."]})},message_size_too_large:function Render(warning){let details=warning.details;return(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["Discarded event for distinct_id"," ",(0,jsx_runtime.jsx)(Link.r,{to:urls.j.personByDistinctId(details.distinctId),children:details.distinctId})," that exceeded 1MB in size after processing (event uuid: ",(0,jsx_runtime.jsx)("code",{children:details.eventUuid}),")"]})},replay_timestamp_invalid:function Render(warning){let details={timestamp:warning.details.timestamp,session_id:warning.details.replayRecord.session_id};return(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["Session replay data dropped due to invalid timestamp:",(0,jsx_runtime.jsxs)("ul",{children:[(0,jsx_runtime.jsxs)("li",{children:["invalid timestamp: ",details.timestamp]}),(0,jsx_runtime.jsxs)("li",{children:["session_id: ",details.session_id]})]}),(0,jsx_runtime.jsx)("div",{className:"max-w-30 mt-2",children:(0,jsx_runtime.jsx)(ViewRecordingButton.Z,{sessionId:details.session_id,timestamp:details.timestamp,type:"primary",size:"xsmall","data-attr":"skewed-timestamp-view-recording"})})]})},replay_timestamp_too_far:function Render(warning){let details={timestamp:warning.details.timestamp,session_id:warning.details.replayRecord.session_id,daysFromNow:warning.details.daysFromNow};return(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["The session replay data timestamp was too different from the capture time, so the data was dropped. Event values:",(0,jsx_runtime.jsxs)("ul",{children:[(0,jsx_runtime.jsxs)("li",{children:["invalid timestamp: ",details.timestamp]}),(0,jsx_runtime.jsxs)("li",{children:["session_id: ",details.session_id]}),(0,jsx_runtime.jsxs)("li",{children:["skew: ",details.daysFromNow," days"]})]}),(0,jsx_runtime.jsx)("div",{className:"max-w-30 mt-2",children:(0,jsx_runtime.jsx)(ViewRecordingButton.Z,{sessionId:details.session_id,timestamp:details.timestamp,type:"primary",size:"xsmall","data-attr":"skewed-timestamp-view-recording"})})]})},replay_message_too_large:function Render(warning){let details={timestamp:warning.details.timestamp,session_id:warning.details.replayRecord.session_id};return(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["Session replay data dropped due to its size, this can cause playback problems:",(0,jsx_runtime.jsx)("ul",{children:(0,jsx_runtime.jsxs)("li",{children:["session_id: ",details.session_id]})}),(0,jsx_runtime.jsx)("div",{className:"max-w-30 mt-2",children:(0,jsx_runtime.jsx)(ViewRecordingButton.Z,{sessionId:details.session_id,timestamp:details.timestamp,type:"primary",size:"xsmall","data-attr":"message-too-large-view-recording"})})]})}};function RenderNestedWarnings(warningSummary){return(0,jsx_runtime.jsx)(LemonTable.g,{dataSource:warningSummary.warnings,columns:[{title:"Description",key:"description",render:function Render(_,warning){let renderer=WARNING_TYPE_RENDERER[warning.type];return renderer?renderer(warning):(0,jsx_runtime.jsx)("pre",{children:JSON.stringify(warning.details,null,2)})}},{title:"Time",dataIndex:"timestamp",render:function Render(_,warning){return(0,jsx_runtime.jsx)(TZLabel.w,{time:warning.timestamp,showSeconds:!0})},align:"right"}],embedded:!0,showHeader:!1,pagination:{pageSize:20}})}var injectStylesIntoStyleTag=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),injectStylesIntoStyleTag_default=__webpack_require__.n(injectStylesIntoStyleTag),PropertyDefinitionsTable=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/data-management/properties/PropertyDefinitionsTable.scss"),PropertyDefinitionsTable_default=__webpack_require__.n(PropertyDefinitionsTable),options={};options.insert="head",options.singleton=!1,injectStylesIntoStyleTag_default()(PropertyDefinitionsTable_default(),options),PropertyDefinitionsTable_default().locals;var propertyDefinitionsTableLogic=__webpack_require__("./frontend/src/scenes/data-management/properties/propertyDefinitionsTableLogic.ts");let DataManagementTab=function(DataManagementTab){return DataManagementTab.Actions="actions",DataManagementTab.EventDefinitions="events",DataManagementTab.PropertyDefinitions="properties",DataManagementTab.Annotations="annotations",DataManagementTab.History="history",DataManagementTab.IngestionWarnings="warnings",DataManagementTab}({}),tabs={[DataManagementTab.EventDefinitions]:{url:urls.j.eventDefinitions(),label:"Events",content:(0,jsx_runtime.jsx)(function(){var _eventDefinitions$pag,_eventDefinitions$cou;let{eventDefinitions,eventDefinitionsLoading,filters}=(0,index_esm.useValues)(eventDefinitionsTableLogic.qh),{loadEventDefinitions,setFilters}=(0,index_esm.useActions)(eventDefinitionsTableLogic.qh),{hasTagging}=(0,index_esm.useValues)(organizationLogic.p),columns=[{key:"icon",width:0,render:function Render(_,definition){return(0,jsx_runtime.jsx)("span",{className:"text-xl text-muted",children:(0,DefinitionHeader.Kw)(definition)})}},{title:"Name",key:"name",render:function Render(_,definition){return(0,jsx_runtime.jsx)(DefinitionHeader.JH,{definition:definition,to:urls.j.eventDefinition(definition.id),taxonomicGroupType:TaxonomicFilter_types.t.Events})},sorter:!0},{title:"Last seen",key:"last_seen_at",className:"definition-column-last_seen_at",render:function Render(_,definition){return definition.last_seen_at?(0,jsx_runtime.jsx)(TZLabel.w,{time:definition.last_seen_at}):null},sorter:!0},...hasTagging?[{title:"Tags",key:"tags",render:function Render(_,definition){var _definition$tags;return(0,jsx_runtime.jsx)(ObjectTags.D,{tags:null!==(_definition$tags=definition.tags)&&void 0!==_definition$tags?_definition$tags:[],staticOnly:!0})}}]:[],{key:"actions",width:0,render:function RenderActions(_,definition){return(0,jsx_runtime.jsx)(More.T,{"data-attr":`event-definitions-table-more-button-${definition.name}`,overlay:(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:(0,jsx_runtime.jsx)(src.Jp,{to:urls.j.replay(types.yd.Home,{filter_group:{type:types.J2.And,values:[{type:types.J2.And,values:[{id:definition.name,type:"events",order:0,name:definition.name}]}]}}),fullWidth:!0,sideIcon:(0,jsx_runtime.jsx)(icons.Ud,{}),"data-attr":"event-definitions-table-view-recordings",children:"View recordings"})})})}}];return(0,jsx_runtime.jsxs)("div",{"data-attr":"manage-events-table",children:[(0,jsx_runtime.jsxs)(LemonBanner.V,{className:"mb-4",type:"info",children:["Looking for"," ","event_custom"===filters.event_type?"custom ":"event_posthog"===filters.event_type?"PostHog ":"","event usage statistics?"," ",(0,jsx_runtime.jsx)(src.rU,{to:urls.j.insightNewHogQL("SELECT event, count()\nFROM events\nWHERE {filters}\n"+("event_custom"===filters.event_type?"AND event NOT LIKE '$%'\n":"event_posthog"===filters.event_type?"AND event LIKE '$%'\n":"")+"GROUP BY event\nORDER BY count() DESC",{dateRange:{date_from:"-24h"}}),children:"Query with SQL"})]}),(0,jsx_runtime.jsxs)("div",{className:"flex justify-between items-center gap-2 mb-4",children:[(0,jsx_runtime.jsx)(src.DF,{type:"search",placeholder:"Search for events",onChange:v=>setFilters({event:v||""}),value:filters.event}),(0,jsx_runtime.jsxs)("div",{className:"flex items-center gap-2",children:[(0,jsx_runtime.jsx)("span",{children:"Type:"}),(0,jsx_runtime.jsx)(src.Yv,{value:filters.event_type,options:eventTypeOptions,"data-attr":"event-type-filter",dropdownMatchSelectWidth:!1,onChange:value=>{setFilters({event_type:value})},size:"small"})]})]}),(0,jsx_runtime.jsx)(LemonTable.g,{columns:columns,"data-attr":"events-definition-table",loading:eventDefinitionsLoading,rowKey:"id",pagination:{controlled:!0,currentPage:null!==(_eventDefinitions$pag=eventDefinitions?.page)&&void 0!==_eventDefinitions$pag?_eventDefinitions$pag:1,entryCount:null!==(_eventDefinitions$cou=eventDefinitions?.count)&&void 0!==_eventDefinitions$cou?_eventDefinitions$cou:0,pageSize:constants.H$,onForward:eventDefinitions.next?()=>{loadEventDefinitions(eventDefinitions.next)}:void 0,onBackward:eventDefinitions.previous?()=>{loadEventDefinitions(eventDefinitions.previous)}:void 0},onSort:newSorting=>setFilters({ordering:newSorting?`${-1===newSorting.order?"-":""}${newSorting.columnKey}`:void 0}),expandable:{expandedRowRender:function RenderPropertiesTable(definition){return(0,jsx_runtime.jsx)("div",{className:"p-4",children:(0,jsx_runtime.jsx)(EventDefinitionProperties.Q,{definition:definition})})},rowExpandable:()=>!0,noIndent:!0},dataSource:eventDefinitions.results,useURLForSorting:!1,emptyState:"No event definitions",nouns:["event","events"]})]})},{})},[DataManagementTab.Actions]:{url:urls.j.actions(),label:(0,jsx_runtime.jsx)(TitleWithIcon.H,{icon:(0,jsx_runtime.jsx)(Tooltip.u,{title:"Actions consist of one or more events that you have decided to put into a deliberately-labeled bucket. They're used in insights and dashboards.",children:(0,jsx_runtime.jsx)(posthog_icons_es.IconInfo,{})}),children:"Actions"}),buttons:(0,jsx_runtime.jsx)(NewActionButton.O,{}),content:(0,jsx_runtime.jsx)(function(){let{currentTeam}=(0,index_esm.useValues)(teamLogic.H),{actionsLoading}=(0,index_esm.useValues)((0,actionsModel.D)({params:"include_count=1"})),{loadActions,pinAction,unpinAction}=(0,index_esm.useActions)(actionsModel.D),{filterType,searchTerm,actionsFiltered,shouldShowEmptyState}=(0,index_esm.useValues)(actionsLogic.M),{setFilterType,setSearchTerm}=(0,index_esm.useActions)(actionsLogic.M),{hasAvailableFeature}=(0,index_esm.useValues)(userLogic.userLogic),{updateHasSeenProductIntroFor}=(0,index_esm.useActions)(userLogic.userLogic),tryInInsightsUrl=action=>{let query={kind:schema.OH.InsightVizNode,source:{kind:schema.OH.TrendsQuery,series:[{id:action.id,name:action.name||void 0,kind:schema.OH.ActionsNode}],interval:"day",trendsFilter:{display:types.Qb.ActionsLineGraph}}};return urls.j.insightNew(void 0,void 0,query)},columns=[{width:0,title:"Pinned",dataIndex:"pinned_at",sorter:(a,b)=>(b.pinned_at?new Date(b.pinned_at).getTime():0)-(a.pinned_at?new Date(a.pinned_at).getTime():0),render:function Render(pinned,action){return(0,jsx_runtime.jsx)(LemonButton.J,{size:"small",onClick:pinned?()=>unpinAction(action):()=>pinAction(action),tooltip:pinned?"Unpin action":"Pin action",icon:pinned?(0,jsx_runtime.jsx)(posthog_icons_es.IconPinFilled,{}):(0,jsx_runtime.jsx)(posthog_icons_es.IconPin,{})})}},{title:"Name",dataIndex:"name",width:"25%",sorter:(a,b)=>(a.name||"").localeCompare(b.name||""),render:function RenderName(_,action,index){return(0,jsx_runtime.jsx)(LemonTableLink.i,{"data-attr":"action-link-"+index,to:urls.j.action(action.id),title:action.name||(0,jsx_runtime.jsx)("i",{children:"Unnamed"}),description:action.description})}},{title:"Type",key:"type",render:function RenderType(_,action){return(0,jsx_runtime.jsx)("span",{children:action.steps?.length?action.steps.map((step,index)=>(0,jsx_runtime.jsx)("div",{children:(()=>{let url=(0,utils.VV)(step.url||"");switch(url=url.slice(0,40)+(url.length>40?"...":""),step.event){case"$autocapture":return"Autocapture";case"$pageview":switch(step.url_matching){case"regex":return(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["Page view URL matches regex ",(0,jsx_runtime.jsx)("strong",{children:url})]});case"exact":return(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["Page view URL matches exactly ",(0,jsx_runtime.jsx)("strong",{children:url})]});default:return(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["Page view URL contains ",(0,jsx_runtime.jsx)("strong",{children:url})]})}case"":case null:case void 0:return"Any event";default:return(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["Event: ",(0,jsx_runtime.jsx)("strong",{children:step.event})]})}})()},index)):(0,jsx_runtime.jsx)("i",{children:"Empty – set this action up"})})}},...hasAvailableFeature(types.P$.TAGGING)?[{title:"Tags",dataIndex:"tags",width:250,key:"tags",render:function renderTags(tags){return(0,jsx_runtime.jsx)(ObjectTags.D,{tags:tags,staticOnly:!0})}}]:[],(0,columnUtils.JB)(),(0,columnUtils.rw)(),...currentTeam?.slack_incoming_webhook?[{title:"Webhook",dataIndex:"post_to_slack",sorter:(a,b)=>Number(a.post_to_slack)-Number(b.post_to_slack),render:function RenderActions(post_to_slack){return post_to_slack?(0,jsx_runtime.jsx)(posthog_icons_es.IconCheckCircle,{}):null}}]:[],{width:0,render:function RenderActions(_,action){return(0,jsx_runtime.jsx)(More.T,{overlay:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(LemonButton.J,{to:urls.j.action(action.id),fullWidth:!0,children:"Edit"}),(0,jsx_runtime.jsx)(LemonButton.J,{to:urls.j.duplicateAction(action),fullWidth:!0,children:"Duplicate"}),(0,jsx_runtime.jsx)(LemonButton.J,{to:urls.j.replay(types.yd.Home,{filter_group:{type:types.J2.And,values:[{type:types.J2.And,values:[{id:action.id,type:"actions",order:0,name:action.name}]}]}}),sideIcon:(0,jsx_runtime.jsx)(icons.Ud,{}),fullWidth:!0,"data-attr":"action-table-view-recordings",children:"View recordings"}),(0,jsx_runtime.jsx)(LemonButton.J,{to:tryInInsightsUrl(action),fullWidth:!0,children:"Try out in Insights"}),(0,jsx_runtime.jsx)(LemonDivider.p,{}),(0,jsx_runtime.jsx)(LemonButton.J,{status:"danger",onClick:()=>{(0,deleteWithUndo.S)({endpoint:api.ZP.actions.determineDeleteEndpoint(),object:action,callback:loadActions}).catch(e=>{LemonToast.UJ.error(`Error deleting action: ${e.detail}`)})},fullWidth:!0,children:"Delete action"})]})})}}];return(0,jsx_runtime.jsxs)("div",{"data-attr":"manage-events-table",children:[(0,jsx_runtime.jsx)(ProductIntroduction.C,{productName:"Actions",productKey:types.Md.ACTIONS,thingName:"action",isEmpty:shouldShowEmptyState,description:"Use actions to combine events that you want to have tracked together or to make detailed Autocapture events easier to reuse.",docsURL:"https://posthog.com/docs/data/actions",actionElementOverride:(0,jsx_runtime.jsx)(NewActionButton.O,{onSelectOption:()=>updateHasSeenProductIntroFor(types.Md.ACTIONS,!0)})}),shouldShowEmptyState&&"me"===filterType||!shouldShowEmptyState?(0,jsx_runtime.jsxs)("div",{className:"flex items-center justify-between gap-2 mb-4",children:[(0,jsx_runtime.jsx)(src.DF,{type:"search",placeholder:"Search for actions",onChange:setSearchTerm,value:searchTerm}),(0,jsx_runtime.jsx)(src.P4,{value:filterType,onChange:setFilterType,options:[{value:"all",label:"All actions"},{value:"me",label:"My actions"}]})]}):null,(!shouldShowEmptyState||"me"===filterType)&&(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:(0,jsx_runtime.jsx)(LemonTable.g,{columns:columns,loading:actionsLoading,rowKey:"id",pagination:{pageSize:100},"data-attr":"actions-table",dataSource:actionsFiltered,defaultSorting:{columnKey:"created_by",order:-1},emptyState:"No results. Create a new action?"})})]})},{})},[DataManagementTab.PropertyDefinitions]:{url:urls.j.propertyDefinitions(),label:(0,jsx_runtime.jsx)(TitleWithIcon.H,{icon:(0,jsx_runtime.jsx)(Tooltip.u,{title:"Properties are additional data sent along with an event capture. Use properties to understand additional information about events and the actors that generate them.",children:(0,jsx_runtime.jsx)(posthog_icons_es.IconInfo,{})}),children:"Properties"}),content:(0,jsx_runtime.jsx)(function(){var _filters$group_type_i,_propertyDefinitions$,_propertyDefinitions$2;let{propertyDefinitions,propertyDefinitionsLoading,filters,propertyTypeOptions}=(0,index_esm.useValues)(propertyDefinitionsTableLogic.T),{loadPropertyDefinitions,setFilters,setPropertyType}=(0,index_esm.useActions)(propertyDefinitionsTableLogic.T),{hasTagging}=(0,index_esm.useValues)(organizationLogic.p),columns=[{key:"icon",width:0,render:function Render(_,definition){return(0,jsx_runtime.jsx)("span",{className:"text-xl text-muted",children:(0,DefinitionHeader.Jf)(definition)})}},{title:"Name",key:"name",render:function Render(_,definition){return(0,jsx_runtime.jsx)(DefinitionHeader.JH,{definition:definition,to:urls.j.propertyDefinition(definition.id),taxonomicGroupType:TaxonomicFilter_types.t.EventProperties})},sorter:(a,b)=>a.name.localeCompare(b.name)},{title:"Type",key:"type",render:function RenderType(_,definition){return definition.property_type?(0,jsx_runtime.jsx)(src.oe,{type:"success",className:"uppercase",children:definition.property_type}):(0,jsx_runtime.jsx)("span",{className:"text-muted",children:"—"})}},...hasTagging?[{title:"Tags",key:"tags",render:function Render(_,definition){var _definition$tags;return(0,jsx_runtime.jsx)(ObjectTags.D,{tags:null!==(_definition$tags=definition.tags)&&void 0!==_definition$tags?_definition$tags:[],staticOnly:!0})}}]:[]];return(0,jsx_runtime.jsxs)("div",{"data-attr":"manage-events-table",children:[(0,jsx_runtime.jsxs)(LemonBanner.V,{className:"mb-4",type:"info",children:["Looking for ","person"===filters.type?"person ":"","property usage statistics?"," ",(0,jsx_runtime.jsx)(src.rU,{to:urls.j.insightNewHogQL("SELECT arrayJoin(JSONExtractKeys(properties)) AS property_key, count()\n"+("person"===filters.type?"FROM persons\n":"FROM events\n")+("person"===filters.type?"":"WHERE {filters}\n")+"GROUP BY property_key\nORDER BY count() DESC",{dateRange:{date_from:"-24h"}}),children:"Query with SQL"})]}),(0,jsx_runtime.jsxs)("div",{className:"flex mb-4 gap-2 flex-wrap",children:[(0,jsx_runtime.jsx)(src.DF,{type:"search",placeholder:"Search for properties",onChange:e=>setFilters({property:e||""}),value:filters.property}),(0,jsx_runtime.jsx)(src.Yv,{options:propertyTypeOptions,value:`${filters.type}::${null!==(_filters$group_type_i=filters.group_type_index)&&void 0!==_filters$group_type_i?_filters$group_type_i:""}`,onSelect:setPropertyType})]}),(0,jsx_runtime.jsx)(LemonTable.g,{columns:columns,className:"event-properties-definition-table","data-attr":"event-properties-definition-table",loading:propertyDefinitionsLoading,rowKey:"id",pagination:{controlled:!0,currentPage:null!==(_propertyDefinitions$=propertyDefinitions?.page)&&void 0!==_propertyDefinitions$?_propertyDefinitions$:1,entryCount:null!==(_propertyDefinitions$2=propertyDefinitions?.count)&&void 0!==_propertyDefinitions$2?_propertyDefinitions$2:0,pageSize:constants.ld,onForward:propertyDefinitions.next?()=>{loadPropertyDefinitions(propertyDefinitions.next)}:void 0,onBackward:propertyDefinitions.previous?()=>{loadPropertyDefinitions(propertyDefinitions.previous)}:void 0},dataSource:propertyDefinitions.results,emptyState:"No property definitions",nouns:["property","properties"]})]})},{})},[DataManagementTab.Annotations]:{url:urls.j.annotations(),content:(0,jsx_runtime.jsx)(function(){let{currentTeam}=(0,index_esm.useValues)(teamLogic.H),{currentOrganization}=(0,index_esm.useValues)(organizationLogic.p),{annotations,annotationsLoading,next,loadingNext,timezone,shouldShowEmptyState}=(0,index_esm.useValues)(annotationModalLogic.bE),{loadAnnotationsNext,openModalToCreateAnnotation}=(0,index_esm.useActions)(annotationModalLogic.bE),columns=[{title:"Annotation",key:"annotation",width:"30%",render:function RenderAnnotation(_,annotation){return(0,jsx_runtime.jsx)("div",{className:"ph-no-capture font-semibold",children:(0,jsx_runtime.jsx)(src.rU,{subtle:!0,to:urls.j.annotation(annotation.id),children:annotation.content})})}},{title:`Date and time (${(0,utils.ig)(timezone)})`,dataIndex:"date_marker",render:function RenderDateMarker(_,annotation){return annotation.date_marker?.format(annotationModalLogic.yD)||""},sorter:(a,b)=>a.date_marker?.diff(b.date_marker)||1},{title:"Scope",key:"scope",render:function RenderType(_,annotation){let scopeName=annotationModalLogic.B3[annotation.scope],tooltip=annotation.scope===types.dc.Insight?`This annotation only applies to the "${annotation.insight_name}" insight`:annotation.scope===types.dc.Dashboard?`This annotation applies to all insights on the ${annotation.dashboard_name} dashboard`:annotation.scope===types.dc.Project?`This annotation applies to all insights in the ${currentTeam?.name} project`:`This annotation applies to all insights in the ${currentOrganization?.name} organization`;return(0,jsx_runtime.jsx)(Tooltip.u,{title:tooltip,placement:"right",children:(0,jsx_runtime.jsx)(LemonTag.o,{className:"uppercase",children:annotation.scope===types.dc.Insight?(0,jsx_runtime.jsx)(src.rU,{to:urls.j.insightView(annotation.insight_short_id),className:"flex items-center",target:"_blank",targetBlankIcon:!0,children:scopeName}):scopeName})})},sorter:(a,b)=>annotationModalLogic.nO[a.scope]-annotationModalLogic.nO[b.scope]},{title:"Created\xa0by",dataIndex:"created_by",render:function Render(_,item){let{created_by,creation_type}=item;return(0,jsx_runtime.jsx)("div",{className:"flex flex-row items-center",children:(0,jsx_runtime.jsx)(ProfilePicture.Y,{user:"GIT"===creation_type?{first_name:"GitHub Actions"}:created_by,showName:!0,size:"md",type:"GIT"===creation_type?"bot":"person"})})},sorter:(a,b)=>(a.created_by?.first_name||a.created_by?.email||"").localeCompare(b.created_by?.first_name||b.created_by?.email||"")},(0,columnUtils.rw)(),{key:"actions",width:0,render:function RenderActions(_,annotation){return(0,jsx_runtime.jsx)(LemonButton.J,{icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconPencil,{}),size:"small",to:urls.j.annotation(annotation.id)})}}];return(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)("p",{children:"Annotations allow you to mark when certain changes happened so you can easily see how they impacted your metrics."}),(0,jsx_runtime.jsxs)("div",{"data-attr":"annotations-content",children:[(0,jsx_runtime.jsx)("div",{className:"mt-4",children:(0,jsx_runtime.jsx)(ProductIntroduction.C,{productName:"Annotations",productKey:types.Md.ANNOTATIONS,thingName:"annotation",description:"Annotations allow you to mark when certain changes happened so you can easily see how they impacted your metrics.",docsURL:"https://posthog.com/docs/data/annotations",action:()=>openModalToCreateAnnotation(),isEmpty:0===annotations.length&&!annotationsLoading,customHog:hedgehogs.MicrophoneHog})}),!shouldShowEmptyState&&(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(LemonTable.g,{"data-attr":"annotations-table",rowKey:"id",dataSource:annotations,columns:columns,defaultSorting:{columnKey:"date_marker",order:-1},noSortingCancellation:!0,loading:annotationsLoading,emptyState:"No annotations yet"}),next&&(0,jsx_runtime.jsx)("div",{className:"flex justify-center mt-6",children:(0,jsx_runtime.jsx)(LemonButton.J,{type:"primary",loading:loadingNext,onClick:()=>{loadAnnotationsNext()},children:"Load more annotations"})})]})]}),(0,jsx_runtime.jsx)(AnnotationModal.h,{})]})},{}),label:"Annotations",buttons:(0,jsx_runtime.jsx)(AnnotationModal.i,{})},[DataManagementTab.History]:{url:urls.j.dataManagementHistory(),label:"History",content:(0,jsx_runtime.jsx)(ActivityLog.D,{scope:types.jc.DATA_MANAGEMENT,caption:"Only actions taken in the UI are captured in History. Automatic creation of definitions by ingestion is not shown here."})},[DataManagementTab.IngestionWarnings]:{url:urls.j.ingestionWarnings(),label:"Ingestion warnings",content:(0,jsx_runtime.jsx)(function(){let{data,dataLoading,summaryDatasets,dates}=(0,index_esm.useValues)(ingestionWarningsLogic);return(0,jsx_runtime.jsx)("div",{"data-attr":"manage-events-table",children:data.length>0||dataLoading?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)("div",{className:"mb-4",children:"Data ingestion related warnings from past 30 days."}),(0,jsx_runtime.jsx)(LemonTable.g,{dataSource:data,loading:dataLoading,columns:[{title:"Warning",dataIndex:"type",render:function Render(_,summary){let type=WARNING_TYPE_TO_DESCRIPTION[summary.type]||summary.type;return(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[type," (",(0,jsx_runtime.jsx)(Link.r,{to:`https://posthog.com/docs/data#${type.toLowerCase().replace(",","").split(" ").join("-")}`,children:"docs)"})]})}},{title:"Graph",render:function Render(_,summary){return(0,jsx_runtime.jsx)(Sparkline.b,{className:"h-8",labels:dates,data:summaryDatasets[summary.type]})}},{title:"Events",dataIndex:"count",align:"right",sorter:(a,b)=>a.count-b.count},{title:"Last Seen",dataIndex:"lastSeen",render:function Render(_,summary){return(0,jsx_runtime.jsx)(TZLabel.w,{time:summary.lastSeen,showSeconds:!0})},align:"right",sorter:(a,b)=>new Date(a.lastSeen)>new Date(b.lastSeen)?1:-1}],expandable:{expandedRowRender:RenderNestedWarnings},defaultSorting:{columnKey:"lastSeen",order:-1},noSortingCancellation:!0})]}):(0,jsx_runtime.jsx)(ProductIntroduction.C,{productName:"Ingestion warnings",thingName:"ingestion warning",productKey:types.Md.INGESTION_WARNINGS,isEmpty:!0,description:"Nice! You've had no ingestion warnings in the past 30 days. If we detect any issues with your data, we'll show them here.",docsURL:"https://posthog.com/docs/data/data-management#ingestion-warnings",customHog:hedgehogs.ReadingHog})})},{})}},dataManagementSceneLogic=(0,index_esm.kea)([(0,index_esm.path)(["scenes","events","dataManagementSceneLogic"]),(0,index_esm.connect)({values:[featureFlagLogic.h,["featureFlags"]]}),(0,index_esm.actions)({setTab:tab=>({tab})}),(0,index_esm.reducers)({tab:[DataManagementTab.EventDefinitions,{setTab:(_,_ref)=>{let{tab}=_ref;return tab}}]}),(0,index_esm.selectors)({breadcrumbs:[s=>[s.tab],tab=>[{key:sceneTypes.x.DataManagement,name:"Data management",path:tabs.events.url},{key:tab,name:(0,utils.fm)(tab),path:tabs[tab].url}]],showWarningsTab:[s=>[s.featureFlags],featureFlags=>!!featureFlags[constants.y8.INGESTION_WARNINGS_ENABLED]],enabledTabs:[s=>[s.showWarningsTab],showWarningsTab=>{let allTabs=Object.keys(tabs);return allTabs.filter(x=>x!==DataManagementTab.IngestionWarnings||showWarningsTab)}]}),(0,lib.actionToUrl)(()=>({setTab:_ref2=>{let{tab}=_ref2,tabUrl=tabs[tab]?.url||tabs.events.url;if((0,lib.combineUrl)(tabUrl).pathname!==lib.router.values.location.pathname)return tabUrl}})),(0,lib.urlToAction)(_ref3=>{let{actions,values}=_ref3;return Object.fromEntries(Object.entries(tabs).map(_ref4=>{let[key,tab]=_ref4;return[tab.url,()=>{values.tab!==key&&actions.setTab(key)}]}))})]);function DataManagementScene(){let{enabledTabs,tab}=(0,index_esm.useValues)(dataManagementSceneLogic),{setTab}=(0,index_esm.useActions)(dataManagementSceneLogic),lemonTabs=enabledTabs.map(key=>({key:key,label:(0,jsx_runtime.jsx)("span",{"data-attr":`data-management-${key}-tab`,children:tabs[key].label}),content:tabs[key].content}));return(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(PageHeader.m,{caption:"Use data management to organize events that come into PostHog. Reduce noise, clarify usage, and help collaborators get the most value from your data.",tabbedPage:!0,buttons:(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:tabs[tab].buttons})}),(0,jsx_runtime.jsx)(LemonTabs.T,{activeKey:tab,onChange:t=>setTab(t),tabs:lemonTabs})]})}let scene={component:DataManagementScene,logic:dataManagementSceneLogic}},"./frontend/src/scenes/data-management/database/DatabaseTable.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{B:()=>DatabaseTable});var _posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),kea__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),lib_lemon_ui_LemonButton_More__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonButton/More.tsx"),lib_lemon_ui_LemonTable__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonTable/index.ts"),lib_lemon_ui_LemonTag_LemonTag__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonTag/LemonTag.tsx"),lib_lemon_ui_Link__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/lib/lemon-ui/Link/index.ts"),lib_utils_deleteWithUndo__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/lib/utils/deleteWithUndo.tsx"),react__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/index.js"),scenes_data_warehouse_external_dataWarehouseJoinsLogic__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./frontend/src/scenes/data-warehouse/external/dataWarehouseJoinsLogic.ts"),scenes_data_warehouse_settings_dataWarehouseSceneLogic__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./frontend/src/scenes/data-warehouse/settings/dataWarehouseSceneLogic.ts"),scenes_data_warehouse_viewLinkLogic__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__("./frontend/src/scenes/data-warehouse/viewLinkLogic.tsx"),scenes_projectLogic__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__("./frontend/src/scenes/projectLogic.ts"),scenes_urls__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__("./frontend/src/scenes/urls.ts"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let nonEditableSchemaTypes=["lazy_table","virtual_table","field_traverser","expression","view","materialized_view"],editSchemaOptions={integer:"Integer",float:"Float",string:"String",datetime:"DateTime",date:"Date",boolean:"Boolean",array:"Array",json:"JSON"},editSchemaOptionsAsArray=Object.keys(editSchemaOptions).map(n=>({value:n,label:editSchemaOptions[n]})),isNonEditableSchemaType=schemaType=>"string"==typeof schemaType&&nonEditableSchemaTypes.includes(schemaType),JoinsMoreMenu=_ref=>{let{tableName,fieldName}=_ref,{currentProjectId}=(0,kea__WEBPACK_IMPORTED_MODULE_1__.useValues)(scenes_projectLogic__WEBPACK_IMPORTED_MODULE_11__.K),{toggleEditJoinModal}=(0,kea__WEBPACK_IMPORTED_MODULE_1__.useActions)(scenes_data_warehouse_viewLinkLogic__WEBPACK_IMPORTED_MODULE_10__.t),{joins,joinsLoading}=(0,kea__WEBPACK_IMPORTED_MODULE_1__.useValues)(scenes_data_warehouse_external_dataWarehouseJoinsLogic__WEBPACK_IMPORTED_MODULE_8__.F),{loadJoins}=(0,kea__WEBPACK_IMPORTED_MODULE_1__.useActions)(scenes_data_warehouse_external_dataWarehouseJoinsLogic__WEBPACK_IMPORTED_MODULE_8__.F),{loadDatabase}=(0,kea__WEBPACK_IMPORTED_MODULE_1__.useActions)(scenes_data_warehouse_settings_dataWarehouseSceneLogic__WEBPACK_IMPORTED_MODULE_9__.M),join=joins.find(n=>n.source_table_name===tableName&&n.field_name===fieldName),overlay=(0,react__WEBPACK_IMPORTED_MODULE_7__.useCallback)(()=>joinsLoading||!join?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.$j,{}):(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.Fragment,{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.Jp,{fullWidth:!0,onClick:()=>void toggleEditJoinModal(join),children:"Edit"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.Jp,{status:"danger",fullWidth:!0,onClick:()=>{(0,lib_utils_deleteWithUndo__WEBPACK_IMPORTED_MODULE_6__.S)({endpoint:`projects/${currentProjectId}/warehouse_view_link`,object:{id:join.id,name:`${join.field_name} on ${join.source_table_name}`},callback:()=>{loadDatabase(),loadJoins()}}).catch(e=>{_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.error(`Failed to delete warehouse view link: ${e.detail}`)})},children:"Delete"})]}),[joinsLoading,join]);return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(lib_lemon_ui_LemonButton_More__WEBPACK_IMPORTED_MODULE_2__.T,{overlay:overlay()})};function DatabaseTable(_ref2){var _tables$find$fields;let{table,tables,inEditSchemaMode,schemaOnChange}=_ref2,dataSource=Object.values(null!==(_tables$find$fields=tables.find(_ref3=>{let{name}=_ref3;return name===table})?.fields)&&void 0!==_tables$find$fields?_tables$find$fields:{}),{dataWarehouseTables,databaseLoading}=(0,kea__WEBPACK_IMPORTED_MODULE_1__.useValues)(scenes_data_warehouse_settings_dataWarehouseSceneLogic__WEBPACK_IMPORTED_MODULE_9__.M);return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(lib_lemon_ui_LemonTable__WEBPACK_IMPORTED_MODULE_3__.g,{dataSource:dataSource,loading:databaseLoading,disableTableWhileLoading:!1,columns:[{title:"Column",key:"key",dataIndex:"name",render:function RenderColumn(column){return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)("code",{children:column})}},{title:"Type",key:"type",dataIndex:"type",render:function RenderType(_,_ref4){let{name,type,schema_valid}=_ref4;return inEditSchemaMode&&!isNonEditableSchemaType(type)?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.Yv,{options:editSchemaOptionsAsArray,value:type,onChange:newValue=>{schemaOnChange&&schemaOnChange(name,newValue)}}):"virtual_table"===type?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(lib_lemon_ui_LemonTag_LemonTag__WEBPACK_IMPORTED_MODULE_4__.o,{type:"default",className:"uppercase",children:"Virtual Table"}):"lazy_table"===type?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(lib_lemon_ui_LemonTag_LemonTag__WEBPACK_IMPORTED_MODULE_4__.o,{type:"default",className:"uppercase",children:"Reference"}):"field_traverser"===type?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(lib_lemon_ui_LemonTag_LemonTag__WEBPACK_IMPORTED_MODULE_4__.o,{type:"default",className:"uppercase",children:"Expression"}):(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(lib_lemon_ui_LemonTag_LemonTag__WEBPACK_IMPORTED_MODULE_4__.o,{type:schema_valid?"default":"danger",className:"uppercase",children:type})}},{title:"Info",key:"info",dataIndex:"type",render:function RenderInfo(type,field){return"virtual_table"===type||"view"===type?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.Fragment,{children:["Fields: ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)("code",{children:field.fields.join(", ")})]}):"lazy_table"===type?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.Fragment,{children:["To table: ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)("code",{children:String(field.table)})]}):"field_traverser"===type&&Array.isArray(field.chain)?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)("code",{children:field.chain.join(".")}):"events"==table&&"json"==type&&"properties"==field.name?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(lib_lemon_ui_Link__WEBPACK_IMPORTED_MODULE_5__.r,{to:scenes_urls__WEBPACK_IMPORTED_MODULE_12__.j.propertyDefinitions("event"),children:"Manage event properties"}):"persons"==table&&"json"==type&&"properties"==field.name?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(lib_lemon_ui_Link__WEBPACK_IMPORTED_MODULE_5__.r,{to:scenes_urls__WEBPACK_IMPORTED_MODULE_12__.j.propertyDefinitions("person"),children:"Manage person properties"}):field.schema_valid||inEditSchemaMode?"":(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.Fragment,{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)("code",{children:field.name})," can't be parsed as a ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)("code",{children:field.type}),". It will not be queryable until this is fixed."]})}},{width:0,dataIndex:"type",render:function RenderActions(_,data){if("view"===data.type)return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(JoinsMoreMenu,{tableName:table,fieldName:data.name});if("lazy_table"===data.type&&data.table){let isJoiningTableExternalTable=!!dataWarehouseTables.find(n=>n.name===data.table),isSourceExternalTable=!!dataWarehouseTables.find(n=>n.name===table);if(isJoiningTableExternalTable||isSourceExternalTable)return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(JoinsMoreMenu,{tableName:table,fieldName:data.name})}return null}}]})}},"./frontend/src/scenes/data-management/database/databaseTableListLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{A:()=>databaseTableListLogic});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_loaders__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea-loaders@3.0.0_kea@3.1.5/node_modules/kea-loaders/lib/index.js"),_queries_query__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/queries/query.ts"),_queries_schema__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/queries/schema.ts");let databaseTableListLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(["scenes","data-management","database","databaseTableListLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)({setSearchTerm:searchTerm=>({searchTerm})}),(0,kea_loaders__WEBPACK_IMPORTED_MODULE_1__.loaders)({database:[null,{loadDatabase:async()=>await (0,_queries_query__WEBPACK_IMPORTED_MODULE_2__.jr)({kind:_queries_schema__WEBPACK_IMPORTED_MODULE_3__.OH.DatabaseSchemaQuery})}]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)({searchTerm:["",{setSearchTerm:(_,_ref)=>{let{searchTerm}=_ref;return searchTerm}}]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.selectors)({filteredTables:[s=>[s.database,s.searchTerm],(database,searchTerm)=>database&&database.tables?Object.values(database.tables).filter(_ref2=>{let{name}=_ref2;return name.toLowerCase().includes(searchTerm.toLowerCase())}).sort((a,b)=>a.name.localeCompare(b.name)):[]],allTables:[s=>[s.database],database=>database&&database.tables?Object.values(database.tables):[]],allTablesMap:[s=>[s.database],database=>database&&database.tables?Object.values(database.tables).reduce((acc,cur)=>(acc[cur.name]=database.tables[cur.name],acc),{}):{}],posthogTables:[s=>[s.database],database=>database&&database.tables?Object.values(database.tables).filter(n=>"posthog"===n.type):[]],posthogTablesMap:[s=>[s.database],database=>database&&database.tables?Object.values(database.tables).filter(n=>"posthog"===n.type).reduce((acc,cur)=>(acc[cur.name]=database.tables[cur.name],acc),{}):{}],dataWarehouseTables:[s=>[s.database],database=>database&&database.tables?Object.values(database.tables).filter(n=>"data_warehouse"===n.type):[]],dataWarehouseTablesMap:[s=>[s.database],database=>database&&database.tables?Object.values(database.tables).filter(n=>"data_warehouse"===n.type||"view"==n.type).reduce((acc,cur)=>(acc[cur.name]=database.tables[cur.name],acc),{}):{}],dataWarehouseTablesMapById:[s=>[s.database],database=>database&&database.tables?Object.values(database.tables).filter(n=>"data_warehouse"===n.type||"view"==n.type).reduce((acc,cur)=>(acc[cur.id]=database.tables[cur.name],acc),{}):{}],views:[s=>[s.database],database=>database&&database.tables?Object.values(database.tables).filter(n=>"view"===n.type):[]],viewsMap:[s=>[s.database],database=>database&&database.tables?Object.values(database.tables).filter(n=>"view"===n.type).reduce((acc,cur)=>(acc[cur.name]=database.tables[cur.name],acc),{}):{}],viewsMapById:[s=>[s.database],database=>database&&database.tables?Object.values(database.tables).filter(n=>"view"===n.type).reduce((acc,cur)=>(acc[cur.id]=database.tables[cur.name],acc),{}):{}]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.afterMount)(_ref3=>{let{actions}=_ref3;actions.loadDatabase()})])},"./frontend/src/scenes/data-management/events/DefinitionHeader.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{JH:()=>DefinitionHeader,Jf:()=>getPropertyDefinitionIcon,Kw:()=>getEventDefinitionIcon});var _posthog_icons__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/@posthog+icons@0.9.2_react-dom@18.2.0_react@18.2.0/node_modules/@posthog/icons/dist/posthog-icons.es.js"),lib_components_PropertyKeyInfo__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/lib/components/PropertyKeyInfo.tsx"),lib_lemon_ui_icons__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/lemon-ui/icons/index.ts"),lib_lemon_ui_LemonTable_LemonTableLink__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonTable/LemonTableLink.tsx"),lib_lemon_ui_Tooltip__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/lemon-ui/Tooltip/index.ts"),lib_taxonomy__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/lib/taxonomy.tsx"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function getPropertyDefinitionIcon(definition){return lib_taxonomy__WEBPACK_IMPORTED_MODULE_5__.dA.event_properties[definition.name]?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(lib_lemon_ui_Tooltip__WEBPACK_IMPORTED_MODULE_4__.u,{title:"PostHog event property",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(_posthog_icons__WEBPACK_IMPORTED_MODULE_0__.IconList,{className:"taxonomy-icon taxonomy-icon-muted"})}):definition.verified?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(lib_lemon_ui_Tooltip__WEBPACK_IMPORTED_MODULE_4__.u,{title:"Verified event property",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(_posthog_icons__WEBPACK_IMPORTED_MODULE_0__.IconList,{className:"taxonomy-icon taxonomy-icon-muted"})}):(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(lib_lemon_ui_Tooltip__WEBPACK_IMPORTED_MODULE_4__.u,{title:"Event property",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(_posthog_icons__WEBPACK_IMPORTED_MODULE_0__.IconList,{className:"taxonomy-icon taxonomy-icon-muted"})})}function getEventDefinitionIcon(definition){return"$pageview"===definition.name||"$screen"===definition.name?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(lib_lemon_ui_Tooltip__WEBPACK_IMPORTED_MODULE_4__.u,{title:"Pageview",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(_posthog_icons__WEBPACK_IMPORTED_MODULE_0__.IconEye,{className:"taxonomy-icon taxonomy-icon-ph taxonomy-icon-muted"})}):"$pageleave"===definition.name?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(lib_lemon_ui_Tooltip__WEBPACK_IMPORTED_MODULE_4__.u,{title:"PostHog event",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(_posthog_icons__WEBPACK_IMPORTED_MODULE_0__.IconLeave,{className:"taxonomy-icon taxonomy-icon-ph taxonomy-icon-muted"})}):"$autocapture"===definition.name?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(_posthog_icons__WEBPACK_IMPORTED_MODULE_0__.IconBolt,{className:"taxonomy-icon taxonomy-icon-ph taxonomy-icon-muted"}):definition.name&&definition.verified?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(lib_lemon_ui_Tooltip__WEBPACK_IMPORTED_MODULE_4__.u,{title:"Custom event",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(_posthog_icons__WEBPACK_IMPORTED_MODULE_0__.IconCursor,{className:"taxonomy-icon taxonomy-icon-muted"})}):definition.name&&lib_taxonomy__WEBPACK_IMPORTED_MODULE_5__.dA.events[definition.name]?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(lib_lemon_ui_Tooltip__WEBPACK_IMPORTED_MODULE_4__.u,{title:"PostHog event",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(_posthog_icons__WEBPACK_IMPORTED_MODULE_0__.IconLogomark,{className:"taxonomy-icon taxonomy-icon-muted"})}):null===definition.value?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(lib_lemon_ui_Tooltip__WEBPACK_IMPORTED_MODULE_4__.u,{title:"All events",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(lib_lemon_ui_icons__WEBPACK_IMPORTED_MODULE_2__.bK,{className:"taxonomy-icon taxonomy-icon-built-in"})}):(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(lib_lemon_ui_Tooltip__WEBPACK_IMPORTED_MODULE_4__.u,{title:"Custom event",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(_posthog_icons__WEBPACK_IMPORTED_MODULE_0__.IconCursor,{className:"taxonomy-icon taxonomy-icon-muted"})})}function DefinitionHeader(_ref){var _definition$name;let{to,definition,taxonomicGroupType}=_ref,description=definition.description||lib_taxonomy__WEBPACK_IMPORTED_MODULE_5__.NV(definition.name,taxonomicGroupType)?.description;return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(lib_lemon_ui_LemonTable_LemonTableLink__WEBPACK_IMPORTED_MODULE_3__.i,{to:to,description:description,title:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(lib_components_PropertyKeyInfo__WEBPACK_IMPORTED_MODULE_1__.T,{value:null!==(_definition$name=definition.name)&&void 0!==_definition$name?_definition$name:"",disablePopover:!0,disableIcon:!0,type:taxonomicGroupType}),definition.verified&&(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(lib_lemon_ui_Tooltip__WEBPACK_IMPORTED_MODULE_4__.u,{title:`${lib_taxonomy__WEBPACK_IMPORTED_MODULE_5__.dA.events[definition.name]?"PostHog":"Verified"} event`,children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(_posthog_icons__WEBPACK_IMPORTED_MODULE_0__.IconBadge,{className:" text-success text-xl"})})}),!!lib_taxonomy__WEBPACK_IMPORTED_MODULE_5__.dA.events[definition.name]&&(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(lib_lemon_ui_Tooltip__WEBPACK_IMPORTED_MODULE_4__.u,{title:"PostHog event",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(_posthog_icons__WEBPACK_IMPORTED_MODULE_0__.IconBadge,{className:"text-success text-xl"})})]})})}},"./frontend/src/scenes/data-management/events/EventDefinitionProperties.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Q:()=>EventDefinitionProperties});var _posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),kea__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),lib_components_ObjectTags_ObjectTags__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/components/ObjectTags/ObjectTags.tsx"),lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/components/TaxonomicFilter/types.ts"),lib_constants__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/constants.tsx"),lib_lemon_ui_LemonTable__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonTable/index.ts"),react__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/index.js"),scenes_data_management_events_eventDefinitionsTableLogic__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/scenes/data-management/events/eventDefinitionsTableLogic.ts"),scenes_organizationLogic__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./frontend/src/scenes/organizationLogic.tsx"),scenes_urls__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./frontend/src/scenes/urls.ts"),_DefinitionHeader__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__("./frontend/src/scenes/data-management/events/DefinitionHeader.tsx"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function EventDefinitionProperties(_ref){var _eventPropertiesCache,_eventPropertiesCache2,_eventPropertiesCache3;let{definition}=_ref,{loadPropertiesForEvent}=(0,kea__WEBPACK_IMPORTED_MODULE_1__.useActions)(scenes_data_management_events_eventDefinitionsTableLogic__WEBPACK_IMPORTED_MODULE_7__.qh),{eventPropertiesCacheMap,eventDefinitionPropertiesLoading}=(0,kea__WEBPACK_IMPORTED_MODULE_1__.useValues)(scenes_data_management_events_eventDefinitionsTableLogic__WEBPACK_IMPORTED_MODULE_7__.qh),{hasTagging}=(0,kea__WEBPACK_IMPORTED_MODULE_1__.useValues)(scenes_organizationLogic__WEBPACK_IMPORTED_MODULE_8__.p);(0,react__WEBPACK_IMPORTED_MODULE_6__.useEffect)(()=>{loadPropertiesForEvent(definition)},[]);let columns=[{title:"Property",key:"property",render:function Render(_,_definition){return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(_DefinitionHeader__WEBPACK_IMPORTED_MODULE_10__.JH,{definition:_definition,to:scenes_urls__WEBPACK_IMPORTED_MODULE_9__.j.propertyDefinition(_definition.id),taxonomicGroupType:lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_3__.t.EventProperties})}},{title:"Type",key:"type",render:function Render(_,_definition){var _definition$property_;return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.oe,{type:"muted",children:null!==(_definition$property_=_definition.property_type)&&void 0!==_definition$property_?_definition$property_:"-"})}},...hasTagging?[{title:"Tags",key:"tags",render:function Render(_,_definition){var _definition$tags;return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(lib_components_ObjectTags_ObjectTags__WEBPACK_IMPORTED_MODULE_2__.D,{tags:null!==(_definition$tags=_definition.tags)&&void 0!==_definition$tags?_definition$tags:[],staticOnly:!0})}}]:[],{title:"Example",key:"example",align:"right",render:function Render(_,_definition){var _definition$example;return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.oe,{className:"font-mono",type:"muted",children:null!==(_definition$example=_definition.example)&&void 0!==_definition$example?_definition$example:"-"})}}];return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("div",{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("h3",{children:"Top properties"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("p",{children:"Please note that description and tags are shared across events. PostHog properties are excluded from this list."}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(lib_lemon_ui_LemonTable__WEBPACK_IMPORTED_MODULE_5__.g,{id:`event-properties-definition-table-${definition.id}`,"data-attr":"event-properties-definition-nested-table",columns:columns,dataSource:null!==(_eventPropertiesCache=eventPropertiesCacheMap?.[definition.id]?.results)&&void 0!==_eventPropertiesCache?_eventPropertiesCache:[],emptyState:"This event has no properties",nouns:["property definition","property definitions"],pagination:{controlled:!0,pageSize:lib_constants__WEBPACK_IMPORTED_MODULE_4__.N6,currentPage:null!==(_eventPropertiesCache2=eventPropertiesCacheMap?.[definition.id]?.page)&&void 0!==_eventPropertiesCache2?_eventPropertiesCache2:1,entryCount:null!==(_eventPropertiesCache3=eventPropertiesCacheMap?.[definition.id]?.count)&&void 0!==_eventPropertiesCache3?_eventPropertiesCache3:0,onForward:eventPropertiesCacheMap?.[definition.id]?.next?()=>{loadPropertiesForEvent(definition,eventPropertiesCacheMap[definition.id].next)}:void 0,onBackward:eventPropertiesCacheMap?.[definition.id]?.previous?()=>{loadPropertiesForEvent(definition,eventPropertiesCacheMap[definition.id].previous)}:void 0},loading:eventDefinitionPropertiesLoading.includes(definition.id)})]})}},"./frontend/src/scenes/data-management/events/eventDefinitionsTableLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{oq:()=>normalizePropertyDefinitionEndpointUrl,qh:()=>eventDefinitionsTableLogic});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_loaders__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea-loaders@3.0.0_kea@3.1.5/node_modules/kea-loaders/lib/index.js"),kea_router__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),lib_api__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/api.ts"),lib_components_PropertyFilters_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/components/PropertyFilters/utils.ts"),lib_constants__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/lib/constants.tsx"),lib_taxonomy__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/lib/taxonomy.tsx"),lib_utils__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/lib/utils.tsx"),lib_utils_eventUsageLogic__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./frontend/src/lib/utils/eventUsageLogic.ts"),_types__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./frontend/src/types.ts");function cleanFilters(filter){return{event:"",properties:[],event_type:_types__WEBPACK_IMPORTED_MODULE_9__.uW.Event,ordering:"event",...filter}}function normalizePropertyDefinitionEndpointUrl(url){let searchParams=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},full=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return full||url?lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.propertyDefinitions.determineListEndpoint({...url?(0,kea_router__WEBPACK_IMPORTED_MODULE_2__.combineUrl)(url).searchParams:{},...searchParams}):null}function normalizeEventDefinitionEndpointUrl(_ref){let{url,searchParams={},full=!1,eventTypeFilter=_types__WEBPACK_IMPORTED_MODULE_9__.uW.Event}=_ref;if(!full&&!url)return null;let params={...url?{...(0,kea_router__WEBPACK_IMPORTED_MODULE_2__.combineUrl)(url).searchParams,event_type:eventTypeFilter}:{},...searchParams};return lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.eventDefinitions.determineListEndpoint(params)}let eventDefinitionsTableLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(key=>["scenes","data-management","events","eventDefinitionsTableLogic",key]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.props)({}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.key)(props=>props.key||"scene"),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)({loadEventDefinitions:function(){let url=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return{url}},loadEventExample:definition=>({definition}),loadPropertiesForEvent:function(definition){let url=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return{definition,url}},setFilters:filters=>({filters}),setLocalEventDefinition:definition=>({definition}),setLocalPropertyDefinition:(event,definition)=>({event,definition}),setEventDefinitionPropertiesLoading:ids=>({ids})}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)({filters:[cleanFilters({}),{setFilters:(state,_ref2)=>{var _convertPropertyGroup;let{filters}=_ref2;return{...state,...filters,properties:null!==(_convertPropertyGroup=(0,lib_components_PropertyFilters_utils__WEBPACK_IMPORTED_MODULE_4__.Y4)(filters.properties))&&void 0!==_convertPropertyGroup?_convertPropertyGroup:[]}}}],eventDefinitionPropertiesLoading:[[],{setEventDefinitionPropertiesLoading:(_,_ref3)=>{let{ids}=_ref3;return null!=ids?ids:[]}}]}),(0,kea_loaders__WEBPACK_IMPORTED_MODULE_1__.loaders)(_ref4=>{let{values,cache,actions}=_ref4;return{eventDefinitions:[{count:0,next:void 0,current:void 0,previous:void 0,results:[]},{loadEventDefinitions:async(_ref5,breakpoint)=>{var _cache$apiCache,_cache$apiCache2,_combineUrl$searchPar;let{url:_url}=_ref5,url=normalizeEventDefinitionEndpointUrl({url:_url,eventTypeFilter:values.filters.event_type});if(url&&url in(null!==(_cache$apiCache=cache.apiCache)&&void 0!==_cache$apiCache?_cache$apiCache:{}))return cache.apiCache[url];url||(url=lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.eventDefinitions.determineListEndpoint({event_type:values.filters.event_type})),await breakpoint(200),cache.eventsStartTime=performance.now();let response=await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.get(url);return breakpoint(),cache.apiCache={...null!==(_cache$apiCache2=cache.apiCache)&&void 0!==_cache$apiCache2?_cache$apiCache2:{},[url]:{...response,previous:normalizeEventDefinitionEndpointUrl({url:response.previous,eventTypeFilter:values.filters.event_type}),next:normalizeEventDefinitionEndpointUrl({url:response.next,eventTypeFilter:values.filters.event_type}),current:url,page:Math.floor((null!==(_combineUrl$searchPar=(0,kea_router__WEBPACK_IMPORTED_MODULE_2__.combineUrl)(url).searchParams.offset)&&void 0!==_combineUrl$searchPar?_combineUrl$searchPar:0)/lib_constants__WEBPACK_IMPORTED_MODULE_5__.H$)+1}},cache.apiCache[url]},setLocalEventDefinition:_ref6=>{var _cache$apiCache3;let{definition}=_ref6;return values.eventDefinitions.current?(cache.apiCache={...null!==(_cache$apiCache3=cache.apiCache)&&void 0!==_cache$apiCache3?_cache$apiCache3:{},[values.eventDefinitions.current]:{...values.eventDefinitions,results:values.eventDefinitions.results.map(d=>d.id===definition.id?definition:d)}},cache.apiCache[values.eventDefinitions.current]):values.eventDefinitions}}],eventPropertiesCacheMap:[{},{loadPropertiesForEvent:async(_ref7,breakpoint)=>{var _cache$apiCache4,_cache$apiCache5,_cache$apiCache7,_combineUrl$searchPar2,_await$api$get$result,_cache$apiCache6;let exampleEventProperties;let{definition,url}=_ref7;if(url&&url in(null!==(_cache$apiCache4=cache.apiCache)&&void 0!==_cache$apiCache4?_cache$apiCache4:{}))return{...values.eventPropertiesCacheMap,[definition.id]:cache.apiCache[url]};url||(url=lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.propertyDefinitions.determineListEndpoint({event_names:[definition.name],excluded_properties:lib_taxonomy__WEBPACK_IMPORTED_MODULE_6__.t_,filter_by_event_names:!0,is_feature_flag:!1,limit:lib_constants__WEBPACK_IMPORTED_MODULE_5__.N6})),actions.setEventDefinitionPropertiesLoading(Array.from([...values.eventDefinitionPropertiesLoading,definition.id])),cache.propertiesStartTime=performance.now();let response=await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.get(url);breakpoint();let exampleUrl=lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.events.determineListEndpoint({event:definition.name},1);exampleUrl&&exampleUrl in(null!==(_cache$apiCache5=cache.apiCache)&&void 0!==_cache$apiCache5?_cache$apiCache5:{})?exampleEventProperties=cache.apiCache[exampleUrl]:(exampleEventProperties=null!==(_await$api$get$result=(await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.get(exampleUrl))?.results?.[0].properties)&&void 0!==_await$api$get$result?_await$api$get$result:{},cache.apiCache={...null!==(_cache$apiCache6=cache.apiCache)&&void 0!==_cache$apiCache6?_cache$apiCache6:{},[exampleUrl]:exampleEventProperties});let currentUrl=`${normalizePropertyDefinitionEndpointUrl(url)}`;return cache.apiCache={...null!==(_cache$apiCache7=cache.apiCache)&&void 0!==_cache$apiCache7?_cache$apiCache7:{},[currentUrl]:{count:response.count,previous:normalizePropertyDefinitionEndpointUrl(response.previous),next:normalizePropertyDefinitionEndpointUrl(response.next),current:currentUrl,page:Math.floor((null!==(_combineUrl$searchPar2=(0,kea_router__WEBPACK_IMPORTED_MODULE_2__.combineUrl)(currentUrl).searchParams.offset)&&void 0!==_combineUrl$searchPar2?_combineUrl$searchPar2:0)/lib_constants__WEBPACK_IMPORTED_MODULE_5__.N6)+1,results:response.results.map(prop=>({...prop,example:exampleEventProperties?.[prop.name]?.toString()}))}},actions.setEventDefinitionPropertiesLoading(values.eventDefinitionPropertiesLoading.filter(loadingId=>loadingId!=definition.id)),{...values.eventPropertiesCacheMap,[definition.id]:cache.apiCache[currentUrl]}},setLocalPropertyDefinition:_ref8=>{var _cache$apiCache8;let{event,definition}=_ref8;if(!values.eventPropertiesCacheMap?.[event.id]?.current)return values.eventPropertiesCacheMap;let eventCacheKey=values.eventPropertiesCacheMap[event.id].current;return cache.apiCache={...null!==(_cache$apiCache8=cache.apiCache)&&void 0!==_cache$apiCache8?_cache$apiCache8:{},[eventCacheKey]:{...values.eventPropertiesCacheMap[event.id],results:values.eventPropertiesCacheMap[event.id].results.map(p=>p.id===definition.id?definition:p)}},{...values.eventPropertiesCacheMap,[event.id]:cache.apiCache[eventCacheKey]}}}]}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.selectors)(_ref9=>{let{cache}=_ref9;return{apiCache:[()=>[],()=>cache.apiCache]}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.listeners)(_ref10=>{let{actions,values,cache}=_ref10;return{setFilters:async()=>{actions.loadEventDefinitions(normalizeEventDefinitionEndpointUrl({url:values.eventDefinitions.current,searchParams:{search:values.filters.event,ordering:values.filters.ordering},full:!0,eventTypeFilter:values.filters.event_type}))},loadEventDefinitionsSuccess:()=>{void 0!==cache.eventsStartTime&&(lib_utils_eventUsageLogic__WEBPACK_IMPORTED_MODULE_8__.vx.findMounted()?.actions.reportDataManagementEventDefinitionsPageLoadSucceeded(performance.now()-cache.eventsStartTime,values.eventDefinitions.results.length),cache.eventsStartTime=void 0)},loadEventDefinitionsFailure:_ref11=>{let{error}=_ref11;void 0!==cache.eventsStartTime&&(lib_utils_eventUsageLogic__WEBPACK_IMPORTED_MODULE_8__.vx.findMounted()?.actions.reportDataManagementEventDefinitionsPageLoadFailed(performance.now()-cache.eventsStartTime,null!=error?error:"There was an unknown error fetching event definitions."),cache.eventsStartTime=void 0)},loadPropertiesForEventSuccess:()=>{void 0!==cache.propertiesStartTime&&(lib_utils_eventUsageLogic__WEBPACK_IMPORTED_MODULE_8__.vx.findMounted()?.actions.reportDataManagementEventDefinitionsPageNestedPropertiesLoadSucceeded(performance.now()-cache.propertiesStartTime),cache.propertiesStartTime=void 0)},loadPropertiesForEventFailure:_ref12=>{let{error}=_ref12;void 0!==cache.propertiesStartTime&&(lib_utils_eventUsageLogic__WEBPACK_IMPORTED_MODULE_8__.vx.findMounted()?.actions.reportDataManagementEventDefinitionsPageNestedPropertiesLoadFailed(performance.now()-cache.propertiesStartTime,null!=error?error:"There was an unknown error fetching nested property definitions."),cache.propertiesStartTime=void 0)}}}),(0,kea_router__WEBPACK_IMPORTED_MODULE_2__.urlToAction)(_ref13=>{let{actions,values}=_ref13;return{"/data-management/events":(_,searchParams)=>{(0,lib_utils__WEBPACK_IMPORTED_MODULE_7__.h0)(cleanFilters(values.filters),cleanFilters(kea_router__WEBPACK_IMPORTED_MODULE_2__.router.values.searchParams))?values.eventDefinitions.results.length||values.eventDefinitionsLoading||actions.loadEventDefinitions():actions.setFilters(searchParams)}}}),(0,kea_router__WEBPACK_IMPORTED_MODULE_2__.actionToUrl)(_ref14=>{let{values}=_ref14;return{setFilters:()=>{let nextValues=cleanFilters(values.filters),urlValues=cleanFilters(kea_router__WEBPACK_IMPORTED_MODULE_2__.router.values.searchParams);if(!(0,lib_utils__WEBPACK_IMPORTED_MODULE_7__.h0)(nextValues,urlValues))return[kea_router__WEBPACK_IMPORTED_MODULE_2__.router.values.location.pathname,nextValues]}}})])},"./frontend/src/scenes/data-management/properties/propertyDefinitionsTableLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{T:()=>propertyDefinitionsTableLogic});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_loaders__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea-loaders@3.0.0_kea@3.1.5/node_modules/kea-loaders/lib/index.js"),kea_router__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),lib_api__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/api.ts"),lib_constants__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/constants.tsx"),lib_utils__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/lib/utils.tsx"),lib_utils_eventUsageLogic__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/lib/utils/eventUsageLogic.ts"),scenes_data_management_events_eventDefinitionsTableLogic__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/scenes/data-management/events/eventDefinitionsTableLogic.ts"),scenes_urls__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./frontend/src/scenes/urls.ts"),_models_groupsModel__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./frontend/src/models/groupsModel.ts");function cleanFilters(filter){return{property:"",type:"event",group_type_index:null,...filter}}let propertyDefinitionsTableLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(["scenes","data-management","properties","propertyDefinitionsTableLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.props)({}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.key)(props=>props.key||"scene"),(0,kea__WEBPACK_IMPORTED_MODULE_0__.connect)({values:[_models_groupsModel__WEBPACK_IMPORTED_MODULE_9__.$,["groupTypes","aggregationLabel"]]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)({loadPropertyDefinitions:function(){let url=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return{url}},setFilters:filters=>({filters}),setHoveredDefinition:definitionKey=>({definitionKey}),setOpenedDefinition:id=>({id}),setLocalPropertyDefinition:definition=>({definition}),setPropertyType:propertyType=>({propertyType})}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)({filters:[{property:"",type:"event"},{setFilters:(state,_ref)=>{let{filters}=_ref;return{...state,...filters}}}],hoveredDefinition:[null,{setHoveredDefinition:(_,_ref2)=>{let{definitionKey}=_ref2;return definitionKey}}]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.selectors)({propertyTypeOptions:[s=>[s.groupTypes,s.aggregationLabel],(groupTypes,aggregationLabel)=>{let groupChoices=Array.from(groupTypes.values()).map(type=>({label:`${(0,lib_utils__WEBPACK_IMPORTED_MODULE_5__.fm)(aggregationLabel(type.group_type_index).singular)} properties`,value:`group::${type.group_type_index}`}));return[{label:"Event properties",value:"event::"},{label:"Person properties",value:"person::"}].concat(groupChoices)}]}),(0,kea_loaders__WEBPACK_IMPORTED_MODULE_1__.loaders)(_ref3=>{let{values,cache}=_ref3;return{propertyDefinitions:[{count:0,next:void 0,current:void 0,previous:void 0,results:[]},{loadPropertyDefinitions:async(_ref4,breakpoint)=>{var _cache$apiCache,_cache$apiCache2,_combineUrl$searchPar;let{url}=_ref4;if(url&&url in(null!==(_cache$apiCache=cache.apiCache)&&void 0!==_cache$apiCache?_cache$apiCache:{}))return cache.apiCache[url];url||(url=lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.propertyDefinitions.determineListEndpoint({})),cache.propertiesStartTime=performance.now(),await breakpoint(200);let response=await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.get(url);breakpoint();let currentUrl=`${(0,scenes_data_management_events_eventDefinitionsTableLogic__WEBPACK_IMPORTED_MODULE_7__.oq)(url)}`;return cache.apiCache={...null!==(_cache$apiCache2=cache.apiCache)&&void 0!==_cache$apiCache2?_cache$apiCache2:{},[currentUrl]:{...response,previous:(0,scenes_data_management_events_eventDefinitionsTableLogic__WEBPACK_IMPORTED_MODULE_7__.oq)(response.previous),next:(0,scenes_data_management_events_eventDefinitionsTableLogic__WEBPACK_IMPORTED_MODULE_7__.oq)(response.next),current:currentUrl,page:Math.floor((null!==(_combineUrl$searchPar=(0,kea_router__WEBPACK_IMPORTED_MODULE_2__.combineUrl)(url).searchParams.offset)&&void 0!==_combineUrl$searchPar?_combineUrl$searchPar:0)/lib_constants__WEBPACK_IMPORTED_MODULE_4__.ld)+1}},cache.apiCache[url]},setLocalPropertyDefinition:_ref5=>{var _cache$apiCache3;let{definition}=_ref5;return values.propertyDefinitions.current?(cache.apiCache={...null!==(_cache$apiCache3=cache.apiCache)&&void 0!==_cache$apiCache3?_cache$apiCache3:{},[values.propertyDefinitions.current]:{...values.propertyDefinitions,results:values.propertyDefinitions.results.map(d=>d.id===definition.id?definition:d)}},cache.apiCache[values.propertyDefinitions.current]):values.propertyDefinitions}}]}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.listeners)(_ref6=>{let{actions,values,cache}=_ref6;return{setFilters:async(_,breakpoint)=>{await breakpoint(500),actions.loadPropertyDefinitions((0,scenes_data_management_events_eventDefinitionsTableLogic__WEBPACK_IMPORTED_MODULE_7__.oq)(values.propertyDefinitions.current,{offset:0,search:values.filters.property,type:values.filters.type,group_type_index:values.filters.group_type_index},!0))},loadPropertyDefinitionsSuccess:()=>{void 0!==cache.propertiesStartTime&&(lib_utils_eventUsageLogic__WEBPACK_IMPORTED_MODULE_6__.vx.findMounted()?.actions.reportDataManagementEventPropertyDefinitionsPageLoadSucceeded(performance.now()-cache.propertiesStartTime,values.propertyDefinitions.results.length),cache.propertiesStartTime=void 0)},loadPropertyDefinitionsFailure:_ref7=>{let{error}=_ref7;void 0!==cache.propertiesStartTime&&(lib_utils_eventUsageLogic__WEBPACK_IMPORTED_MODULE_6__.vx.findMounted()?.actions.reportDataManagementEventPropertyDefinitionsPageLoadFailed(performance.now()-cache.propertiesStartTime,null!=error?error:"There was an unknown error fetching property definitions."),cache.propertiesStartTime=void 0)},setPropertyType:_ref8=>{let{propertyType}=_ref8,[type,index]=propertyType.split("::");actions.setFilters({type:type,group_type_index:index?+index:null})}}}),(0,kea_router__WEBPACK_IMPORTED_MODULE_2__.urlToAction)(_ref9=>{let{actions,values}=_ref9;return{[scenes_urls__WEBPACK_IMPORTED_MODULE_8__.j.propertyDefinitions()]:(_,searchParams)=>{!values.propertyDefinitionsLoading&&((0,lib_utils__WEBPACK_IMPORTED_MODULE_5__.h0)(cleanFilters(values.filters),cleanFilters(kea_router__WEBPACK_IMPORTED_MODULE_2__.router.values.searchParams))?values.propertyDefinitions.results.length||actions.loadPropertyDefinitions():actions.setFilters(searchParams))}}}),(0,kea_router__WEBPACK_IMPORTED_MODULE_2__.actionToUrl)(_ref10=>{let{values}=_ref10;return{setFilters:()=>{let nextValues=cleanFilters(values.filters),urlValues=cleanFilters(kea_router__WEBPACK_IMPORTED_MODULE_2__.router.values.searchParams);if(!(0,lib_utils__WEBPACK_IMPORTED_MODULE_5__.h0)(nextValues,urlValues))return[kea_router__WEBPACK_IMPORTED_MODULE_2__.router.values.location.pathname,function(filter){return{property:""!==filter.property?filter.property:void 0,type:"event"!==filter.type?filter.type:void 0,group_type_index:null!==filter.group_type_index?filter.group_type_index:void 0}}(nextValues)]}}})])},"./frontend/src/scenes/data-warehouse/ViewLinkModal.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{YS:()=>ViewLinkKeyLabel,WI:()=>ViewLinkModal_ViewLinkModal});var injectStylesIntoStyleTag=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),injectStylesIntoStyleTag_default=__webpack_require__.n(injectStylesIntoStyleTag),ViewLinkModal=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/data-warehouse/ViewLinkModal.scss"),ViewLinkModal_default=__webpack_require__.n(ViewLinkModal),options={};options.insert="head",options.singleton=!1,injectStylesIntoStyleTag_default()(ViewLinkModal_default(),options),ViewLinkModal_default().locals;var posthog_icons_es=__webpack_require__("./node_modules/.pnpm/@posthog+icons@0.9.2_react-dom@18.2.0_react@18.2.0/node_modules/@posthog/icons/dist/posthog-icons.es.js"),src=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),index_esm=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),lib=__webpack_require__("./node_modules/.pnpm/kea-forms@3.2.0_kea@3.1.5/node_modules/kea-forms/lib/index.js"),CodeSnippet=__webpack_require__("./frontend/src/lib/components/CodeSnippet/index.ts"),HogQLDropdown=__webpack_require__("./frontend/src/lib/components/HogQLDropdown/HogQLDropdown.tsx"),icons=__webpack_require__("./frontend/src/lib/lemon-ui/icons/index.ts"),react=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/index.js"),viewLinkLogic=__webpack_require__("./frontend/src/scenes/data-warehouse/viewLinkLogic.tsx"),jsx_runtime=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function ViewLinkModal_ViewLinkModal(){let{isJoinTableModalOpen}=(0,index_esm.useValues)(viewLinkLogic.t),{toggleJoinTableModal}=(0,index_esm.useActions)(viewLinkLogic.t);return(0,jsx_runtime.jsx)(src.fQ,{title:"Join tables",description:(0,jsx_runtime.jsxs)("span",{children:["Define a join between two tables or views. ",(0,jsx_runtime.jsx)("b",{children:"All"})," fields from the joined table or view will be accessible in queries at the top level without needing to explicitly join the view."]}),isOpen:isJoinTableModalOpen,onClose:toggleJoinTableModal,width:700,children:(0,jsx_runtime.jsx)(ViewLinkForm,{})})}function ViewLinkForm(){let{tableOptions,selectedJoiningTableName,selectedSourceTableName,sourceTableKeys,joiningTableKeys,sqlCodeSnippet,error,fieldName,isNewJoin,selectedSourceKey,selectedJoiningKey,sourceIsUsingHogQLExpression,joiningIsUsingHogQLExpression,isViewLinkSubmitting,experimentsOptimized,experimentsTimestampKey}=(0,index_esm.useValues)(viewLinkLogic.t),{selectJoiningTable,toggleJoinTableModal,selectSourceTable,setFieldName,selectSourceKey,selectJoiningKey,setExperimentsOptimized,selectExperimentsTimestampKey}=(0,index_esm.useActions)(viewLinkLogic.t),[advancedSettingsExpanded,setAdvancedSettingsExpanded]=(0,react.useState)(!1);return(0,jsx_runtime.jsxs)(lib.Form,{logic:viewLinkLogic.t,formKey:"viewLink",enableFormOnSubmit:!0,children:[(0,jsx_runtime.jsxs)("div",{className:"flex flex-col w-full justify-between items-center",children:[(0,jsx_runtime.jsxs)("div",{className:"flex flex-row w-full justify-between",children:[(0,jsx_runtime.jsxs)("div",{className:"w-60",children:[(0,jsx_runtime.jsx)("span",{className:"l4",children:"Source Table"}),(0,jsx_runtime.jsx)("div",{className:"text-wrap break-all",children:isNewJoin?(0,jsx_runtime.jsx)(lib.Field,{name:"source_table_name",children:(0,jsx_runtime.jsx)(src.Yv,{fullWidth:!0,options:tableOptions,onSelect:selectSourceTable,placeholder:"Select a table"})}):null!=selectedSourceTableName?selectedSourceTableName:""})]}),(0,jsx_runtime.jsxs)("div",{className:"w-60",children:[(0,jsx_runtime.jsx)("span",{className:"l4",children:"Joining Table"}),(0,jsx_runtime.jsx)(lib.Field,{name:"joining_table_name",children:(0,jsx_runtime.jsx)(src.Yv,{fullWidth:!0,options:tableOptions,onSelect:selectJoiningTable,placeholder:"Select a table"})})]})]}),(0,jsx_runtime.jsxs)("div",{className:"mt-4 flex flex-row justify-between items-center w-full",children:[(0,jsx_runtime.jsxs)("div",{className:"w-60",children:[(0,jsx_runtime.jsx)("span",{className:"l4",children:"Source Table Key"}),(0,jsx_runtime.jsx)(lib.Field,{name:"source_table_key",children:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(src.Yv,{fullWidth:!0,onSelect:selectSourceKey,value:sourceIsUsingHogQLExpression?"":null!=selectedSourceKey?selectedSourceKey:void 0,disabledReason:selectedSourceTableName?"":"Select a table to choose join key",options:[...sourceTableKeys,{value:"",label:(0,jsx_runtime.jsx)("span",{children:"HogQL Expression"})}],placeholder:"Select a key"}),sourceIsUsingHogQLExpression&&(0,jsx_runtime.jsx)(HogQLDropdown.I,{className:"mt-2",hogQLValue:null!=selectedSourceKey?selectedSourceKey:"",onHogQLValueChange:selectSourceKey,tableName:null!=selectedSourceTableName?selectedSourceTableName:""})]})})]}),(0,jsx_runtime.jsx)("div",{className:"mt-5",children:(0,jsx_runtime.jsx)(icons._S,{})}),(0,jsx_runtime.jsxs)("div",{className:"w-60",children:[(0,jsx_runtime.jsx)("span",{className:"l4",children:"Joining Table Key"}),(0,jsx_runtime.jsx)(lib.Field,{name:"joining_table_key",children:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(src.Yv,{fullWidth:!0,onSelect:selectJoiningKey,value:joiningIsUsingHogQLExpression?"":null!=selectedJoiningKey?selectedJoiningKey:void 0,disabledReason:selectedJoiningTableName?"":"Select a table to choose join key",options:[...joiningTableKeys,{value:"",label:(0,jsx_runtime.jsx)("span",{children:"HogQL Expression"})}],placeholder:"Select a key"}),joiningIsUsingHogQLExpression&&(0,jsx_runtime.jsx)(HogQLDropdown.I,{className:"mt-2",hogQLValue:null!=selectedJoiningKey?selectedJoiningKey:"",onHogQLValueChange:selectJoiningKey,tableName:null!=selectedJoiningTableName?selectedJoiningTableName:""})]})})]})]}),"events"===selectedJoiningTableName&&(0,jsx_runtime.jsxs)("div",{className:"w-full mt-2",children:[(0,jsx_runtime.jsx)(src.p2,{className:"mt-4 mb-4"}),(0,jsx_runtime.jsxs)("div",{className:"mt-4 flex flex-row justify-between w-full",children:[(0,jsx_runtime.jsxs)("div",{className:"mr-4",children:[(0,jsx_runtime.jsx)("span",{className:"l4",children:"Optimize for Experiments"}),(0,jsx_runtime.jsx)(lib.Field,{name:"experiments_optimized",children:(0,jsx_runtime.jsx)(src.Hw,{className:"mt-2",checked:experimentsOptimized,onChange:checked=>setExperimentsOptimized(checked),fullWidth:!0,label:"Limit join to most recent matching event based on\xa0timestamp"})})]}),(0,jsx_runtime.jsxs)("div",{className:"w-60 shrink-0",children:[(0,jsx_runtime.jsx)("span",{className:"l4",children:"Source Timestamp Key"}),(0,jsx_runtime.jsx)(lib.Field,{name:"experiments_timestamp_key",children:(0,jsx_runtime.jsx)(src.Yv,{fullWidth:!0,onSelect:selectExperimentsTimestampKey,value:null!=experimentsTimestampKey?experimentsTimestampKey:void 0,options:sourceTableKeys,placeholder:"Select a key"})})]})]})]}),sqlCodeSnippet&&(0,jsx_runtime.jsxs)("div",{className:"w-full mt-2",children:[(0,jsx_runtime.jsx)(src.p2,{className:"mt-4 mb-4"}),(0,jsx_runtime.jsx)(src.Jp,{fullWidth:!0,onClick:()=>setAdvancedSettingsExpanded(!advancedSettingsExpanded),sideIcon:advancedSettingsExpanded?(0,jsx_runtime.jsx)(posthog_icons_es.IconCollapse,{}):(0,jsx_runtime.jsx)(posthog_icons_es.IconExpand,{}),children:(0,jsx_runtime.jsxs)("div",{children:[(0,jsx_runtime.jsx)("h3",{className:"l4 mt-2",children:"Advanced settings"}),(0,jsx_runtime.jsx)("div",{className:"text-muted mb-2 font-medium",children:"Customize how the fields are accessed"})]})})]}),sqlCodeSnippet&&advancedSettingsExpanded&&(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)("div",{className:"mt-3 flex flex-row justify-between items-center w-full",children:(0,jsx_runtime.jsxs)("div",{className:"w-full",children:[(0,jsx_runtime.jsx)("span",{className:"l4",children:"Field Name"}),(0,jsx_runtime.jsx)(lib.Field,{name:"field_name",hint:`Pick a field name to access ${selectedJoiningTableName} from ${selectedSourceTableName}`,children:(0,jsx_runtime.jsx)(src.DF,{value:fieldName,onChange:fieldName=>setFieldName(fieldName),placeholder:"Field name"})})]})}),(0,jsx_runtime.jsx)("div",{className:"mt-4 flex w-full",children:(0,jsx_runtime.jsx)(CodeSnippet.O,{className:"w-full",language:CodeSnippet.S.SQL,children:sqlCodeSnippet})})]}),error&&(0,jsx_runtime.jsx)("div",{className:"flex w-full",children:(0,jsx_runtime.jsx)("div",{className:"text-danger flex text-sm overflow-auto",children:(0,jsx_runtime.jsx)("span",{children:error})})})]}),(0,jsx_runtime.jsx)(src.p2,{className:"mt-4 mb-4"}),(0,jsx_runtime.jsxs)("div",{className:"flex flex-row justify-end w-full",children:[(0,jsx_runtime.jsx)(src.Jp,{className:"mr-3",type:"secondary",onClick:toggleJoinTableModal,children:"Close"}),(0,jsx_runtime.jsx)(src.Jp,{type:"primary",htmlType:"submit",loading:isViewLinkSubmitting,children:"Save"})]})]})}function ViewLinkKeyLabel(_ref){let{column}=_ref;return(0,jsx_runtime.jsxs)("span",{children:[column.name," ",(0,jsx_runtime.jsx)(src.oe,{type:"success",className:"uppercase",children:column.type})]})}},"./frontend/src/scenes/data-warehouse/editor/editorSceneLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{h:()=>editorSceneLogic});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js");let editorSceneLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(["scenes","data-warehouse","editor","editorSceneLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)({setSidebarOverlayOpen:isOpen=>({isOpen}),selectSchema:schema=>({schema})}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)({sidebarOverlayOpen:[!1,{setSidebarOverlayOpen:(_,_ref)=>{let{isOpen}=_ref;return isOpen},selectSchema:(_,_ref2)=>{let{schema}=_ref2;return null!==schema}}],selectedSchema:[null,{selectSchema:(_,_ref3)=>{let{schema}=_ref3;return schema}}]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.selectors)({sidebarOverlayTreeItems:[s=>[s.selectedSchema],selectedSchema=>null===selectedSchema?[]:"fields"in selectedSchema?Object.values(selectedSchema.fields).map(field=>({name:field.name,type:field.type})):"columns"in selectedSchema?Object.values(selectedSchema.columns).map(column=>({name:column.name,type:column.type})):[]]})])},"./frontend/src/scenes/data-warehouse/editor/multitabEditorLogic.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{cc:()=>dataNodeKey,tg:()=>multitabEditorLogic});var _posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),kea__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_router__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),kea_subscriptions__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/.pnpm/kea-subscriptions@3.0.1_kea@3.1.5/node_modules/kea-subscriptions/lib/index.js"),lib_lemon_ui_LemonField__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonField/index.ts"),lib_monaco_CodeEditor__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/lib/monaco/CodeEditor.tsx"),lib_monaco_codeEditorLogic__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/lib/monaco/codeEditorLogic.tsx"),scenes_insights_utils_api__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/scenes/insights/utils/api.ts"),scenes_urls__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./frontend/src/scenes/urls.ts"),_queries_nodes_DataNode_dataNodeLogic__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./frontend/src/queries/nodes/DataNode/dataNodeLogic.ts"),_queries_nodes_InsightViz_InsightViz__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__("./frontend/src/queries/nodes/InsightViz/InsightViz.tsx"),_queries_query__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__("./frontend/src/queries/query.ts"),_queries_schema__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__("./frontend/src/queries/schema.ts"),_external_dataWarehouseExternalSceneLogic__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__("./frontend/src/scenes/data-warehouse/external/dataWarehouseExternalSceneLogic.ts"),_saved_queries_dataWarehouseViewsLogic__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__("./frontend/src/scenes/data-warehouse/saved_queries/dataWarehouseViewsLogic.tsx"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let dataNodeKey=(0,_queries_nodes_InsightViz_InsightViz__WEBPACK_IMPORTED_MODULE_10__.gG)({dashboardItemId:_external_dataWarehouseExternalSceneLogic__WEBPACK_IMPORTED_MODULE_13__.H,cachedInsight:null,doNotLoad:!0}),editorModelsStateKey=key=>`${key}/editorModelQueries`,activeModelStateKey=key=>`${key}/activeModelUri`,activeModelVariablesStateKey=key=>`${key}/activeModelVariables`,multitabEditorLogic=(0,kea__WEBPACK_IMPORTED_MODULE_1__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_1__.path)(["data-warehouse","editor","multitabEditorLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_1__.props)({}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.key)(props=>props.key),(0,kea__WEBPACK_IMPORTED_MODULE_1__.connect)({actions:[_saved_queries_dataWarehouseViewsLogic__WEBPACK_IMPORTED_MODULE_14__.$,["loadDataWarehouseSavedQueriesSuccess","deleteDataWarehouseSavedQuerySuccess","createDataWarehouseSavedQuerySuccess","runDataWarehouseSavedQuery"]]}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.actions)({setQueryInput:queryInput=>({queryInput}),updateState:!0,runQuery:(queryOverride,switchTab)=>({queryOverride,switchTab}),setActiveQuery:query=>({query}),setTabs:tabs=>({tabs}),addTab:tab=>({tab}),createTab:(query,view)=>({query,view}),deleteTab:tab=>({tab}),removeTab:tab=>({tab}),selectTab:tab=>({tab}),setLocalState:(key,value)=>({key,value}),initialize:!0,saveAsView:!0,saveAsViewSubmit:name=>({name}),saveAsInsight:!0,saveAsInsightSubmit:name=>({name}),setCacheLoading:loading=>({loading}),setError:error=>({error}),setIsValidView:isValidView=>({isValidView}),setSourceQuery:sourceQuery=>({sourceQuery}),setMetadata:metadata=>({metadata}),setMetadataLoading:loading=>({loading}),editView:(query,view)=>({query,view})}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.propsChanged)((_ref,oldProps)=>{let{actions,props}=_ref;!oldProps.monaco&&!oldProps.editor&&props.monaco&&props.editor&&actions.initialize()}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.reducers)(_ref2=>{let{props}=_ref2;return{cacheLoading:[!0,{setCacheLoading:(_,_ref3)=>{let{loading}=_ref3;return loading}}],sourceQuery:[{kind:_queries_schema__WEBPACK_IMPORTED_MODULE_12__.OH.DataVisualizationNode,source:{kind:_queries_schema__WEBPACK_IMPORTED_MODULE_12__.OH.HogQLQuery,query:""}},{setSourceQuery:(_,_ref4)=>{let{sourceQuery}=_ref4;return sourceQuery}}],queryInput:["",{setQueryInput:(_,_ref5)=>{let{queryInput}=_ref5;return queryInput}}],activeQuery:[null,{setActiveQuery:(_,_ref6)=>{let{query}=_ref6;return query}}],activeModelUri:[null,{selectTab:(_,_ref7)=>{let{tab}=_ref7;return tab}}],editingView:[null,{selectTab:(_,_ref8)=>{var _tab$view;let{tab}=_ref8;return null!==(_tab$view=tab.view)&&void 0!==_tab$view?_tab$view:null}}],allTabs:[[],{addTab:(state,_ref9)=>{let{tab}=_ref9,newTabs=[...state,tab];return newTabs},removeTab:(state,_ref10)=>{let{tab:tabToRemove}=_ref10,newModels=state.filter(tab=>tab.uri.toString()!==tabToRemove.uri.toString());return newModels},setTabs:(_,_ref11)=>{let{tabs}=_ref11;return tabs}}],error:[null,{setError:(_,_ref12)=>{let{error}=_ref12;return error}}],isValidView:[!1,{setIsValidView:(_,_ref13)=>{let{isValidView}=_ref13;return isValidView}}],metadataLoading:[!0,{setMetadataLoading:(_,_ref14)=>{let{loading}=_ref14;return loading}}],metadata:[null,{setMetadata:(_,_ref15)=>{let{metadata}=_ref15;return metadata}}],editorKey:[props.key]}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.listeners)(_ref16=>{let{values,props,actions,asyncActions}=_ref16;return{editView:_ref17=>{let{query,view}=_ref17,maybeExistingTab=values.allTabs.find(tab=>tab.view?.id===view.id);maybeExistingTab?actions.selectTab(maybeExistingTab):actions.createTab(query,view)},createTab:_ref18=>{let{query="",view}=_ref18,mountedCodeEditorLogic=lib_monaco_codeEditorLogic__WEBPACK_IMPORTED_MODULE_6__.Pc.findMounted(),currentModelCount=1,allNumbers=values.allTabs.map(tab=>parseInt(tab.uri.path.split("/").pop()||"0"));for(;allNumbers.includes(currentModelCount);)currentModelCount++;if(props.monaco){let uri=props.monaco.Uri.parse(currentModelCount.toString()),model=props.monaco.editor.createModel(query,"hogQL",uri);props.editor?.setModel(model),mountedCodeEditorLogic&&(0,lib_monaco_CodeEditor__WEBPACK_IMPORTED_MODULE_5__.Z)(model,mountedCodeEditorLogic),actions.addTab({uri,view}),actions.selectTab({uri,view});let queries=values.allTabs.map(tab=>({query:props.monaco?.editor.getModel(tab.uri)?.getValue()||"",path:tab.uri.path.split("/").pop(),view:uri.path===tab.uri.path?view:tab.view}));actions.setLocalState(editorModelsStateKey(props.key),JSON.stringify(queries))}},selectTab:_ref19=>{let{tab}=_ref19;if(props.monaco){let model=props.monaco.editor.getModel(tab.uri);props.editor?.setModel(model)}let path=tab.uri.path.split("/").pop();path&&actions.setLocalState(activeModelStateKey(props.key),path)},deleteTab:_ref20=>{let{tab:tabToRemove}=_ref20;if(props.monaco){let model=props.monaco.editor.getModel(tabToRemove.uri);if(tabToRemove.uri.toString()===values.activeModelUri?.uri.toString()){let indexOfModel=values.allTabs.findIndex(tab=>tab.uri.toString()===tabToRemove.uri.toString()),nextModel=values.allTabs[indexOfModel+1]||values.allTabs[indexOfModel-1]||values.allTabs[0];actions.selectTab(nextModel)}model?.dispose(),actions.removeTab(tabToRemove);let queries=values.allTabs.map(tab=>({query:props.monaco?.editor.getModel(tab.uri)?.getValue()||"",path:tab.uri.path.split("/").pop(),view:tab.view}));actions.setLocalState(editorModelsStateKey(props.key),JSON.stringify(queries))}},setLocalState:_ref21=>{let{key,value}=_ref21;localStorage.setItem(key,value)},initialize:()=>{var _values$sourceQuery$s;let allModelQueries=localStorage.getItem(editorModelsStateKey(props.key)),activeModelUri=localStorage.getItem(activeModelStateKey(props.key)),activeModelVariablesString=localStorage.getItem(activeModelVariablesStateKey(props.key)),activeModelVariables=activeModelVariablesString&&"undefined"!=activeModelVariablesString?JSON.parse(activeModelVariablesString):{},mountedCodeEditorLogic=lib_monaco_codeEditorLogic__WEBPACK_IMPORTED_MODULE_6__.Pc.findMounted()||(0,lib_monaco_codeEditorLogic__WEBPACK_IMPORTED_MODULE_6__.Pc)({key:props.key,query:null!==(_values$sourceQuery$s=values.sourceQuery?.source.query)&&void 0!==_values$sourceQuery$s?_values$sourceQuery$s:"",language:"hogQL"});if(allModelQueries){props.monaco?.editor.getModels().forEach(model=>{model.dispose()});let models=JSON.parse(allModelQueries||"[]"),newModels=[];if(models.forEach(model=>{if(props.monaco){let uri=props.monaco.Uri.parse(model.path),newModel=props.monaco.editor.createModel(model.query,"hogQL",uri);props.editor?.setModel(newModel),newModels.push({uri,view:model.view}),mountedCodeEditorLogic&&(0,lib_monaco_CodeEditor__WEBPACK_IMPORTED_MODULE_5__.Z)(newModel,mountedCodeEditorLogic)}}),actions.setTabs(newModels),activeModelUri){let uri=props.monaco?.Uri.parse(activeModelUri),activeModel=props.monaco?.editor.getModels().find(model=>model.uri.path===uri?.path);activeModel&&props.editor?.setModel(activeModel);let val=activeModel?.getValue();val&&(actions.setSourceQuery({...values.sourceQuery,source:{...values.sourceQuery.source,variables:activeModelVariables}}),actions.setQueryInput(val),actions.runQuery());let activeView=newModels.find(tab=>tab.uri.path.split("/").pop()===activeModelUri)?.view;uri&&actions.selectTab({uri,view:activeView})}else newModels.length&&actions.selectTab({uri:newModels[0].uri})}else{let model=props.editor?.getModel();model&&actions.createTab()}actions.setCacheLoading(!1)},setQueryInput:()=>{actions.updateState()},updateState:async(_,breakpoint)=>{await breakpoint(100);let queries=values.allTabs.map(model=>({query:props.monaco?.editor.getModel(model.uri)?.getValue()||"",path:model.uri.path.split("/").pop(),view:model.view}));localStorage.setItem(editorModelsStateKey(props.key),JSON.stringify(queries))},setSourceQuery:_ref22=>{let{sourceQuery}=_ref22;localStorage.setItem(activeModelVariablesStateKey(props.key),JSON.stringify(sourceQuery.source.variables))},runQuery:_ref23=>{let{queryOverride,switchTab}=_ref23,query=queryOverride||values.queryInput;actions.setSourceQuery({...values.sourceQuery,source:{...values.sourceQuery.source,query}}),(0,_queries_nodes_DataNode_dataNodeLogic__WEBPACK_IMPORTED_MODULE_9__.M)({key:dataNodeKey,query:{...values.sourceQuery.source,query},autoLoad:!1}).actions.loadData(!switchTab)},saveAsView:async()=>{_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.dn.openForm({title:"Save as view",initialValues:{viewName:""},content:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_15__.jsx)(lib_lemon_ui_LemonField__WEBPACK_IMPORTED_MODULE_4__.D,{name:"viewName",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_15__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.DF,{placeholder:"Please enter the name of the view",autoFocus:!0})}),errors:{viewName:name=>name?void 0:"You must enter a name"},onSubmit:async _ref24=>{let{viewName}=_ref24;await asyncActions.saveAsViewSubmit(viewName)},shouldAwaitSubmit:!0})},saveAsViewSubmit:async _ref25=>{var _logic$values$respons;let{name}=_ref25,query=values.sourceQuery.source,logic=(0,_queries_nodes_DataNode_dataNodeLogic__WEBPACK_IMPORTED_MODULE_9__.M)({key:dataNodeKey,query}),types=null!==(_logic$values$respons=logic.values.response?.types)&&void 0!==_logic$values$respons?_logic$values$respons:[];await _saved_queries_dataWarehouseViewsLogic__WEBPACK_IMPORTED_MODULE_14__.$.asyncActions.createDataWarehouseSavedQuery({name,query,types})},saveAsInsight:async()=>{_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.dn.openForm({title:"Save as new insight",initialValues:{name:""},content:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_15__.jsx)(lib_lemon_ui_LemonField__WEBPACK_IMPORTED_MODULE_4__.D,{name:"name",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_15__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.DF,{"data-attr":"insight-name",placeholder:"Please enter the new name",autoFocus:!0})}),errors:{name:name=>name?void 0:"You must enter a name"},onSubmit:async _ref26=>{let{name}=_ref26;return actions.saveAsInsightSubmit(name)}})},saveAsInsightSubmit:async _ref27=>{let{name}=_ref27,insight=await scenes_insights_utils_api__WEBPACK_IMPORTED_MODULE_7__.L.create({name,query:values.sourceQuery,saved:!0});_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.info(`You're now viewing ${insight.name||insight.derived_name||name}`),kea_router__WEBPACK_IMPORTED_MODULE_2__.router.actions.push(scenes_urls__WEBPACK_IMPORTED_MODULE_8__.j.insightView(insight.short_id))},loadDataWarehouseSavedQueriesSuccess:_ref28=>{let{dataWarehouseSavedQueries}=_ref28,newTabs=values.allTabs.map(tab=>({...tab,view:dataWarehouseSavedQueries.find(v=>v.id===tab.view?.id)}));actions.setTabs(newTabs),actions.updateState()},deleteDataWarehouseSavedQuerySuccess:_ref29=>{let{payload:viewId}=_ref29,tabToRemove=values.allTabs.find(tab=>tab.view?.id===viewId);tabToRemove&&actions.deleteTab(tabToRemove),_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.success("View deleted")},createDataWarehouseSavedQuerySuccess:_ref30=>{let{dataWarehouseSavedQueries,payload:view}=_ref30,newView=view&&dataWarehouseSavedQueries.find(v=>v.name===view.name);if(newView){let newTabs=values.allTabs.map(tab=>({...tab,view:tab.uri.path===values.activeModelUri?.uri.path?newView:tab.view})),newTab=newTabs.find(tab=>tab.uri.path===values.activeModelUri?.uri.path);actions.setTabs(newTabs),newTab&&actions.selectTab(newTab),actions.updateState()}},updateDataWarehouseSavedQuerySuccess:()=>{_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.success("View updated")}}}),(0,kea_subscriptions__WEBPACK_IMPORTED_MODULE_3__.Vt)(_ref31=>{let{props,actions,values}=_ref31;return{activeModelUri:activeModelUri=>{if(props.monaco){let _model=props.monaco.editor.getModel(activeModelUri.uri),val=_model?.getValue();actions.setQueryInput(null!=val?val:""),actions.runQuery(void 0,!0)}},allTabs:()=>{let activeTab=values.allTabs.find(tab=>tab.uri.path===values.activeModelUri?.uri.path);activeTab&&activeTab.uri.path!=values.activeModelUri?.uri.path&&actions.selectTab(activeTab)}}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.selectors)({exportContext:[s=>[s.sourceQuery],sourceQuery=>({...(0,_queries_query__WEBPACK_IMPORTED_MODULE_11__.Vp)(sourceQuery.source,void 0,void 0),filename:"export"})],isEditingMaterializedView:[s=>[s.editingView],editingView=>!!editingView?.status]})])},"./frontend/src/scenes/data-warehouse/external/DataWarehouseTables.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{M:()=>DataWarehouseTables,f:()=>DatabaseTableTreeWithItems});var posthog_icons_es=__webpack_require__("./node_modules/.pnpm/@posthog+icons@0.9.2_react-dom@18.2.0_react@18.2.0/node_modules/@posthog/icons/dist/posthog-icons.es.js"),src=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),clsx_m=__webpack_require__("./node_modules/.pnpm/clsx@1.2.1/node_modules/clsx/dist/clsx.m.js"),index_esm=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),lib=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),DatabaseTableTree=__webpack_require__("./frontend/src/lib/components/DatabaseTableTree/DatabaseTableTree.tsx"),constants=__webpack_require__("./frontend/src/lib/constants.tsx"),featureFlagLogic=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),copyToClipboard=__webpack_require__("./frontend/src/lib/utils/copyToClipboard.tsx"),react=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/index.js"),insightDataLogic=__webpack_require__("./frontend/src/scenes/insights/insightDataLogic.tsx"),insightLogic=__webpack_require__("./frontend/src/scenes/insights/insightLogic.tsx"),urls=__webpack_require__("./frontend/src/scenes/urls.ts"),Query=__webpack_require__("./frontend/src/queries/Query/Query.tsx"),sourceWizardLogic=__webpack_require__("./frontend/src/scenes/data-warehouse/new/sourceWizardLogic.tsx"),dataWarehouseViewsLogic=__webpack_require__("./frontend/src/scenes/data-warehouse/saved_queries/dataWarehouseViewsLogic.tsx"),dataWarehouseSceneLogic=__webpack_require__("./frontend/src/scenes/data-warehouse/settings/dataWarehouseSceneLogic.ts"),viewLinkLogic=__webpack_require__("./frontend/src/scenes/data-warehouse/viewLinkLogic.tsx"),ViewLinkModal=__webpack_require__("./frontend/src/scenes/data-warehouse/ViewLinkModal.tsx"),kea_forms_lib=__webpack_require__("./node_modules/.pnpm/kea-forms@3.2.0_kea@3.1.5/node_modules/kea-forms/lib/index.js"),utils=__webpack_require__("./frontend/src/lib/utils.tsx"),DatabaseTable=__webpack_require__("./frontend/src/scenes/data-management/database/DatabaseTable.tsx"),jsx_runtime=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function TableData(){let{selectedRow:table,isEditingSavedQuery,inEditSchemaMode,editSchemaIsLoading}=(0,index_esm.useValues)(dataWarehouseSceneLogic.M),{setIsEditingSavedQuery,toggleEditSchemaMode,updateSelectedSchema,saveSchema,cancelEditSchema}=(0,index_esm.useActions)(dataWarehouseSceneLogic.M),isExternalTable=table?.type==="data_warehouse",isManuallyLinkedTable=isExternalTable&&!table.source;return(0,jsx_runtime.jsx)("div",{className:"border rounded p-3 bg-bg-light",children:table?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsxs)("div",{className:"flex flex-row justify-between items-center gap-2",children:[(0,jsx_runtime.jsxs)("h2",{className:"flex-1 text-wrap break-all leading-4",children:[(0,jsx_runtime.jsx)(posthog_icons_es.IconDatabase,{})," ",table.name]}),isEditingSavedQuery&&(0,jsx_runtime.jsx)("div",{className:"flex flex-row gap-2 justify-between",children:(0,jsx_runtime.jsx)(src.Jp,{type:"secondary",onClick:()=>setIsEditingSavedQuery(!1),children:"Cancel"})}),inEditSchemaMode&&(0,jsx_runtime.jsxs)("div",{className:"flex flex-row gap-2 justify-between",children:[(0,jsx_runtime.jsx)(src.Jp,{type:"primary",loading:editSchemaIsLoading,onClick:()=>{saveSchema()},children:"Save schema"}),(0,jsx_runtime.jsx)(src.Jp,{type:"secondary",disabledReason:editSchemaIsLoading&&"Schema is saving...",onClick:()=>{cancelEditSchema()},children:"Cancel edit"})]}),!inEditSchemaMode&&!isEditingSavedQuery&&(0,jsx_runtime.jsx)("div",{className:"flex flex-row gap-2 justify-between",children:isManuallyLinkedTable&&(0,jsx_runtime.jsx)(src.Jp,{type:"primary",onClick:()=>{toggleEditSchemaMode()},children:"Edit schema"})})]}),"data_warehouse"==table.type&&(0,jsx_runtime.jsxs)("div",{className:"flex flex-col",children:[table.source&&table.schema&&(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)("span",{className:"card-secondary mt-2",children:"Last Synced At"}),(0,jsx_runtime.jsx)("span",{children:table.schema.last_synced_at?(0,utils.bo)(table.schema.last_synced_at,"MMMM DD, YYYY","h:mm A"):"Not yet synced"})]}),!table.source&&(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)("span",{className:"card-secondary mt-2",children:"Files URL pattern"}),(0,jsx_runtime.jsx)("span",{className:"break-all",children:table.url_pattern}),(0,jsx_runtime.jsx)("span",{className:"card-secondary mt-2",children:"File format"}),(0,jsx_runtime.jsx)("span",{children:table.format})]})]}),!isEditingSavedQuery&&(0,jsx_runtime.jsxs)("div",{className:"mt-2",children:[(0,jsx_runtime.jsx)("span",{className:"card-secondary",children:"Columns"}),(0,jsx_runtime.jsx)(DatabaseTable.B,{table:table.name,tables:[table],inEditSchemaMode:inEditSchemaMode,schemaOnChange:(key,type)=>updateSelectedSchema(key,type)})]})]}):(0,jsx_runtime.jsx)("div",{className:"px-4 py-3 h-100 col-span-2 flex justify-center items-center"})})}function DeleteTableModal(_ref){let subject,{table,isOpen,setIsOpen,onDelete}=_ref;return subject="view"===table.type?"view":"table",(0,jsx_runtime.jsx)(src.fQ,{title:`Delete ${subject}?`,onClose:()=>setIsOpen(!1),footer:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(src.Jp,{type:"secondary",onClick:()=>setIsOpen(!1),children:"Cancel"}),(0,jsx_runtime.jsx)(src.Jp,{type:"secondary",status:"danger",onClick:()=>onDelete(),children:`Delete ${table.name}`})]}),isOpen:isOpen,children:(0,jsx_runtime.jsxs)("p",{children:[(0,kea_forms_lib.capitalizeFirstLetter)(subject)," deletion ",(0,jsx_runtime.jsx)("b",{children:"cannot be undone"}),". All"," ","view"===table.type?"joins":"views and joins"," related to this ",subject," will be deleted"]})})}let DataWarehouseTables=_ref=>{let{insightProps}=_ref,{query}=(0,index_esm.useValues)((0,insightDataLogic.S)(insightProps)),{setQuery:setInsightQuery}=(0,index_esm.useActions)((0,insightDataLogic.S)(insightProps));return(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:(0,jsx_runtime.jsx)(index_esm.BindLogic,{logic:insightLogic.zm,props:insightProps,children:(0,jsx_runtime.jsx)("div",{className:"Insight",children:(0,jsx_runtime.jsx)(Query.A,{query:query,setQuery:setInsightQuery,readOnly:!1,context:{showOpenEditorButton:!1,showQueryEditor:!1,showQueryHelp:!1,insightProps}})})})})},DatabaseTableTreeWithItems=_ref2=>{let{inline,collapsible=!0}=_ref2,{dataWarehouseTablesBySourceType,posthogTables,databaseLoading,nonMaterializedViews,materializedViews,views,selectedRow,schemaModalIsOpen,dataWarehouseSavedQueriesLoading}=(0,index_esm.useValues)(dataWarehouseSceneLogic.M),{selectRow,deleteDataWarehouseSavedQuery,deleteDataWarehouseTable,toggleSchemaModal}=(0,index_esm.useActions)(dataWarehouseSceneLogic.M),[collapsed,setCollapsed]=(0,react.useState)(!1),{toggleJoinTableModal,selectSourceTable}=(0,index_esm.useActions)(viewLinkLogic.t),[isDeleteModalOpen,setIsDeleteModalOpen]=(0,react.useState)(!1),{runDataWarehouseSavedQuery}=(0,index_esm.useActions)(dataWarehouseViewsLogic.$),{featureFlags}=(0,index_esm.useValues)(featureFlagLogic.h),deleteButton=table=>table&&("view"===table.type||"materialized_view"===table.type)?(0,jsx_runtime.jsx)(src.Jp,{"data-attr":"schema-list-item-delete",status:"danger",onClick:()=>{selectRow(table),setIsDeleteModalOpen(!0)},fullWidth:!0,children:"Delete"}):(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{}),dropdownOverlay=table=>(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(src.Jp,{onClick:()=>{(0,copyToClipboard.v)(table.name,table.name)},fullWidth:!0,"data-attr":"schema-list-item-copy",children:"Copy table name"}),(0,jsx_runtime.jsx)(src.Jp,{onClick:()=>{selectRow(table),toggleSchemaModal()},"data-attr":"schema-list-item-schema",fullWidth:!0,children:"View table schema"}),(0,jsx_runtime.jsx)(src.Jp,{onClick:()=>{selectSourceTable(table.name),toggleJoinTableModal()},"data-attr":"schema-list-item-join",fullWidth:!0,children:"Add join"}),("view"==table.type||"materialized_view"==table.type)&&(0,jsx_runtime.jsx)(src.Jp,{onClick:()=>{lib.router.actions.push(urls.j.dataWarehouseView(table.id))},"data-attr":"schema-list-item-edit",fullWidth:!0,children:"Edit view definition"}),featureFlags[constants.y8.DATA_MODELING]&&"view"===table.type&&(0,jsx_runtime.jsx)(src.Jp,{onClick:()=>{runDataWarehouseSavedQuery(table.id)},"data-attr":"schema-list-item-materialize",fullWidth:!0,children:"Materialize"}),featureFlags[constants.y8.DATA_MODELING]&&"materialized_view"===table.type&&(0,jsx_runtime.jsx)(src.Jp,{onClick:()=>{runDataWarehouseSavedQuery(table.id)},"data-attr":"schema-list-item-run",fullWidth:!0,children:"Run"}),deleteButton(table)]}),treeItems=()=>{if(inline){let items=[{name:"External",items:Object.keys(dataWarehouseTablesBySourceType).map(source_type=>{var _SOURCE_DETAILS$label;return{name:null!==(_SOURCE_DETAILS$label=sourceWizardLogic.l2[source_type]?.label)&&void 0!==_SOURCE_DETAILS$label?_SOURCE_DETAILS$label:source_type,items:dataWarehouseTablesBySourceType[source_type].map(table=>({name:table.name,table:table,dropdownOverlay:dropdownOverlay(table),items:Object.values(table.fields).map(column=>({name:column.name,type:column.type,icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconDatabase,{})}))}))}}),emptyLabel:(0,jsx_runtime.jsx)("span",{className:"text-muted",children:"No tables found"}),isLoading:databaseLoading},{name:"PostHog",items:posthogTables.map(table=>({name:table.name,table:table,dropdownOverlay:dropdownOverlay(table),items:Object.values(table.fields).map(column=>({name:column.name,type:column.type,icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconDatabase,{})}))})),isLoading:databaseLoading},{name:"Views",items:(featureFlags[constants.y8.DATA_MODELING]?nonMaterializedViews:views).map(table=>({name:table.name,table:table,dropdownOverlay:dropdownOverlay(table),items:Object.values(table.fields).map(column=>({name:column.name,type:column.type,icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconDatabase,{})}))})),emptyLabel:(0,jsx_runtime.jsx)("span",{className:"text-muted",children:"No views found"}),isLoading:databaseLoading||dataWarehouseSavedQueriesLoading},...featureFlags[constants.y8.DATA_MODELING]?[{name:"Materialized views",items:materializedViews.map(table=>({name:table.name,table:table,dropdownOverlay:dropdownOverlay(table),items:Object.values(table.fields).map(column=>({name:column.name,type:column.type,icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconDatabase,{})}))})),emptyLabel:(0,jsx_runtime.jsx)("span",{className:"text-muted",children:"No materialized views found"}),isLoading:databaseLoading||dataWarehouseSavedQueriesLoading}]:[]];return items}let items=[{name:"External",items:Object.keys(dataWarehouseTablesBySourceType).map(source_type=>({name:source_type,items:dataWarehouseTablesBySourceType[source_type].map(table=>({table:table,icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconDatabase,{})}))})),emptyLabel:(0,jsx_runtime.jsx)("span",{className:"text-muted",children:"No tables found"}),isLoading:databaseLoading},{name:"PostHog",items:posthogTables.map(table=>({table:table,icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconDatabase,{})})),isLoading:databaseLoading},{name:"Views",items:nonMaterializedViews.map(table=>({table:table,icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconBrackets,{})})),emptyLabel:(0,jsx_runtime.jsx)("span",{className:"text-muted",children:"No views found"}),isLoading:databaseLoading||dataWarehouseSavedQueriesLoading},...featureFlags[constants.y8.DATA_MODELING]?[{name:"Materialized views",items:materializedViews.map(table=>({table:table,icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconBrackets,{})})),emptyLabel:(0,jsx_runtime.jsx)("span",{className:"text-muted",children:"No materialized views found"}),isLoading:databaseLoading||dataWarehouseSavedQueriesLoading}]:[]];return items};return(0,jsx_runtime.jsxs)("div",{className:(0,clsx_m.clsx)("bg-bg-light rounded space-y-px border p-2 overflow-y-auto",collapsed?"":"min-w-80 flex-1"),children:[collapsed?(0,jsx_runtime.jsx)(src.Jp,{icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconDatabase,{}),onClick:()=>setCollapsed(!1)}):collapsible?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(src.Jp,{size:"xsmall",onClick:()=>setCollapsed(!0),fullWidth:!0,icon:(0,jsx_runtime.jsx)(posthog_icons_es.IconDatabase,{}),className:"font-normal",children:(0,jsx_runtime.jsx)("span",{className:"uppercase text-muted-alt tracking-wider",children:"Sources"})}),(0,jsx_runtime.jsx)(DatabaseTableTree.E,{onSelectRow:selectRow,items:treeItems(),selectedRow:selectedRow})]}):(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)("span",{className:"text-muted-alt tracking-wider font-normal",children:"Sources"}),(0,jsx_runtime.jsx)(DatabaseTableTree.E,{onSelectRow:selectRow,items:treeItems(),selectedRow:selectedRow})]}),(0,jsx_runtime.jsx)(src.fQ,{width:"50rem",isOpen:!!selectedRow&&schemaModalIsOpen,onClose:()=>{selectRow(null),toggleSchemaModal()},title:"Table Schema",children:(0,jsx_runtime.jsx)(TableData,{})}),(0,jsx_runtime.jsx)(ViewLinkModal.WI,{}),selectedRow&&(0,jsx_runtime.jsx)(DeleteTableModal,{table:selectedRow,isOpen:isDeleteModalOpen,setIsOpen:setIsDeleteModalOpen,onDelete:()=>{selectedRow&&("view"===selectedRow.type||"materialized_view"===selectedRow.type?deleteDataWarehouseSavedQuery(selectedRow.id):deleteDataWarehouseTable(selectedRow.id))}})]})}},"./frontend/src/scenes/data-warehouse/external/dataWarehouseExternalSceneLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{H:()=>DATAWAREHOUSE_EDITOR_ITEM_ID,r:()=>dataWarehouseExternalSceneLogic});var _posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),kea__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_router__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),scenes_data_management_database_databaseTableListLogic__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/scenes/data-management/database/databaseTableListLogic.ts"),scenes_insights_insightDataLogic__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/scenes/insights/insightDataLogic.tsx"),scenes_insights_insightSceneLogic__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/scenes/insights/insightSceneLogic.tsx"),scenes_sceneTypes__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/scenes/sceneTypes.ts"),scenes_urls__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/scenes/urls.ts"),_queries_schema__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./frontend/src/queries/schema.ts"),_types__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./frontend/src/types.ts");let DATAWAREHOUSE_EDITOR_ITEM_ID="new-SQL",dataWarehouseExternalSceneLogic=(0,kea__WEBPACK_IMPORTED_MODULE_1__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_1__.path)(()=>["scenes","data-warehouse","external","dataWarehouseExternalSceneLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_1__.connect)(()=>({values:[scenes_data_management_database_databaseTableListLogic__WEBPACK_IMPORTED_MODULE_3__.A,["viewsMapById","database","databaseLoading"]],actions:[scenes_insights_insightSceneLogic__WEBPACK_IMPORTED_MODULE_5__.T,["setSceneState"],scenes_data_management_database_databaseTableListLogic__WEBPACK_IMPORTED_MODULE_3__.A,["loadDatabase","loadDatabaseSuccess"]],logic:[(0,scenes_insights_insightDataLogic__WEBPACK_IMPORTED_MODULE_4__.S)({dashboardItemId:DATAWAREHOUSE_EDITOR_ITEM_ID,cachedInsight:null})]})),(0,kea__WEBPACK_IMPORTED_MODULE_1__.actions)({loadView:id=>({id}),setViewLoading:viewLoading=>({viewLoading})}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.selectors)(()=>({breadcrumbs:[()=>[],()=>[{key:scenes_sceneTypes__WEBPACK_IMPORTED_MODULE_6__.x.DataWarehouse,name:"Explore",path:scenes_urls__WEBPACK_IMPORTED_MODULE_7__.j.dataWarehouse()}]]})),(0,kea__WEBPACK_IMPORTED_MODULE_1__.reducers)({viewLoading:[!1,{loadView:()=>!0,setViewLoading:(_,_ref)=>{let{viewLoading}=_ref;return viewLoading}}]}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.listeners)(_ref2=>{let{values,actions}=_ref2;return{loadDatabaseSuccess:()=>{kea_router__WEBPACK_IMPORTED_MODULE_2__.router.values.currentLocation.pathname.includes("/data-warehouse/view")&&kea_router__WEBPACK_IMPORTED_MODULE_2__.router.actions.push(kea_router__WEBPACK_IMPORTED_MODULE_2__.router.values.currentLocation.pathname)},loadView:async _ref3=>{let{id}=_ref3;id&&id in values.viewsMapById?scenes_insights_insightDataLogic__WEBPACK_IMPORTED_MODULE_4__.S.findMounted({dashboardItemId:DATAWAREHOUSE_EDITOR_ITEM_ID,cachedInsight:null})?.actions.setQuery({kind:_queries_schema__WEBPACK_IMPORTED_MODULE_8__.OH.DataVisualizationNode,source:values.viewsMapById[id].query}):(await scenes_data_management_database_databaseTableListLogic__WEBPACK_IMPORTED_MODULE_3__.A.asyncActions.loadDatabase(),id&&id in values.viewsMapById?scenes_insights_insightDataLogic__WEBPACK_IMPORTED_MODULE_4__.S.findMounted({dashboardItemId:DATAWAREHOUSE_EDITOR_ITEM_ID,cachedInsight:null})?.actions.setQuery({kind:_queries_schema__WEBPACK_IMPORTED_MODULE_8__.OH.DataVisualizationNode,source:values.viewsMapById[id].query}):(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.error("Error retrieving view"),kea_router__WEBPACK_IMPORTED_MODULE_2__.router.actions.push(scenes_urls__WEBPACK_IMPORTED_MODULE_7__.j.dataWarehouse()))),actions.setViewLoading(!1)}}}),(0,kea_router__WEBPACK_IMPORTED_MODULE_2__.urlToAction)(_ref4=>{let{actions}=_ref4;return{"/data-warehouse":()=>{scenes_insights_insightSceneLogic__WEBPACK_IMPORTED_MODULE_5__.T.actions.setSceneState(String("new-dataWarehouse"),_types__WEBPACK_IMPORTED_MODULE_9__.LO.Edit,void 0,void 0,void 0,void 0,void 0,void 0)},"/data-warehouse/view/:id":_ref5=>{let{id}=_ref5;scenes_insights_insightSceneLogic__WEBPACK_IMPORTED_MODULE_5__.T.actions.setSceneState(String("new-dataWarehouse"),_types__WEBPACK_IMPORTED_MODULE_9__.LO.Edit,void 0,void 0,void 0,void 0,void 0,void 0),id&&actions.loadView(id)}}})])},"./frontend/src/scenes/data-warehouse/external/dataWarehouseJoinsLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{F:()=>dataWarehouseJoinsLogic});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_loaders__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea-loaders@3.0.0_kea@3.1.5/node_modules/kea-loaders/lib/index.js"),lib_api__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/api.ts"),lib_utils__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/utils.tsx"),scenes_data_management_database_databaseTableListLogic__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/scenes/data-management/database/databaseTableListLogic.ts");let dataWarehouseJoinsLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(["scenes","data-warehouse","external","dataWarehouseJoinsLogic"]),(0,kea_loaders__WEBPACK_IMPORTED_MODULE_1__.loaders)({joins:[[],{loadJoins:async()=>{let joins=await lib_api__WEBPACK_IMPORTED_MODULE_2__.ZP.dataWarehouseViewLinks.list();return joins.results}}]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.connect)(()=>({values:[scenes_data_management_database_databaseTableListLogic__WEBPACK_IMPORTED_MODULE_4__.A,["allTablesMap"]]})),(0,kea__WEBPACK_IMPORTED_MODULE_0__.selectors)({personTableJoins:[s=>[s.joins],joins=>joins.filter(join=>"persons"===join.source_table_name)],tablesJoinedToPersons:[s=>[s.allTablesMap,s.personTableJoins],(allTablesMap,personTableJoins)=>personTableJoins.map(join=>{let table=allTablesMap[join.joining_table_name];return{table,join}})],columnsJoinedToPersons:[s=>[s.tablesJoinedToPersons],tablesJoinedToPersons=>tablesJoinedToPersons.reduce((acc,_ref)=>{let{table,join}=_ref;return table&&acc.push(...Object.values(table.fields).map(column=>({id:`${join.field_name}.${column.name}`,name:`${join.field_name}: ${column.name}`,table:join.field_name,property_type:(0,lib_utils__WEBPACK_IMPORTED_MODULE_3__.fm)(column.type)}))),acc},[])]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.afterMount)(_ref2=>{let{actions}=_ref2;actions.loadJoins()})])},"./frontend/src/scenes/data-warehouse/new/dataWarehouseTableLogic.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{U:()=>dataWarehouseTableLogic});var _posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),kea__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_forms__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-forms@3.2.0_kea@3.1.5/node_modules/kea-forms/lib/index.js"),kea_loaders__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/.pnpm/kea-loaders@3.0.0_kea@3.1.5/node_modules/kea-loaders/lib/index.js"),kea_router__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),lib_api__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/lib/api.ts"),scenes_data_management_database_databaseTableListLogic__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/scenes/data-management/database/databaseTableListLogic.ts"),scenes_urls__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/scenes/urls.ts"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let NEW_WAREHOUSE_TABLE={id:"",name:"",url_pattern:"",format:"Parquet",credential:{access_key:"",access_secret:""}},dataWarehouseTableLogic=(0,kea__WEBPACK_IMPORTED_MODULE_1__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_1__.path)(["scenes","data-warehouse","tableLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_1__.props)({}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.connect)(()=>({actions:[scenes_data_management_database_databaseTableListLogic__WEBPACK_IMPORTED_MODULE_6__.A,["loadDatabase"]]})),(0,kea__WEBPACK_IMPORTED_MODULE_1__.actions)({editingTable:editing=>({editing}),updateTargetingFlagFilters:(index,properties)=>({index,properties}),addConditionSet:!0,removeConditionSet:index=>({index}),launchTable:!0,stopTable:!0,archiveTable:!0,setDataTableQuery:query=>({query})}),(0,kea_loaders__WEBPACK_IMPORTED_MODULE_3__.loaders)(_ref=>{let{props}=_ref;return{table:{loadTable:async()=>props.id&&"new"!==props.id?await lib_api__WEBPACK_IMPORTED_MODULE_5__.ZP.dataWarehouseTables.get(props.id):{...NEW_WAREHOUSE_TABLE},createTable:async tablePayload=>await lib_api__WEBPACK_IMPORTED_MODULE_5__.ZP.dataWarehouseTables.create({...tablePayload}),updateTable:async tablePayload=>await lib_api__WEBPACK_IMPORTED_MODULE_5__.ZP.dataWarehouseTables.update(props.id,tablePayload)}}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.listeners)(_ref2=>{let{actions}=_ref2;return{createTableSuccess:async _ref3=>{let{table}=_ref3;_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.success((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.Fragment,{children:["Table ",table.name," created"]})),actions.loadDatabase(),kea_router__WEBPACK_IMPORTED_MODULE_4__.router.actions.replace(scenes_urls__WEBPACK_IMPORTED_MODULE_7__.j.dataWarehouse())},updateTableSuccess:async _ref4=>{let{table}=_ref4;_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.success((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.Fragment,{children:["Table ",table.name," updated"]})),actions.editingTable(!1),kea_router__WEBPACK_IMPORTED_MODULE_4__.router.actions.replace(scenes_urls__WEBPACK_IMPORTED_MODULE_7__.j.dataWarehouse())}}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.reducers)({isEditingTable:[!1,{editingTable:(_,_ref5)=>{let{editing}=_ref5;return editing}}],dataTableQuery:[null,{setDataTableQuery:(_,_ref6)=>{let{query}=_ref6;return query}}]}),(0,kea_forms__WEBPACK_IMPORTED_MODULE_2__.forms)(_ref7=>{let{actions,props}=_ref7;return{table:{defaults:{...NEW_WAREHOUSE_TABLE},errors:_ref8=>{let{name,url_pattern,credential,format}=_ref8;return url_pattern?.startsWith("s3://")?{url_pattern:"Please use the https version of your bucket url e.g. https://your-org.s3.amazonaws.com/airbyte/stripe/invoices/*.pqt"}:{name:!name&&"Please enter a name.",url_pattern:!url_pattern&&"Please enter a url pattern.",credential:{access_secret:!credential.access_secret&&"Please enter an access secret.",access_key:!credential.access_key&&"Please enter an access key."},format:!format&&"Please enter the format of your files."}},submit:async tablePayload=>{props.id&&"new"!==props.id?actions.updateTable(tablePayload):actions.createTable(tablePayload)}}}})])},"./frontend/src/scenes/data-warehouse/new/sourceWizardLogic.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{HM:()=>getErrorsForFields,So:()=>sourceWizardLogic,l2:()=>SOURCE_DETAILS});var _posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),kea__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_forms__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-forms@3.2.0_kea@3.1.5/node_modules/kea-forms/lib/index.js"),kea_router__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),lib_api__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/api.ts"),posthog_js__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/.pnpm/posthog-js@1.205.0/node_modules/posthog-js/dist/module.js"),scenes_PreflightCheck_preflightLogic__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/scenes/PreflightCheck/preflightLogic.tsx"),scenes_sceneTypes__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/scenes/sceneTypes.ts"),scenes_teamLogic__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./frontend/src/scenes/teamLogic.tsx"),scenes_urls__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./frontend/src/scenes/urls.ts"),_types__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__("./frontend/src/types.ts"),_settings_dataWarehouseSettingsLogic__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__("./frontend/src/scenes/data-warehouse/settings/dataWarehouseSettingsLogic.ts"),_dataWarehouseTableLogic__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__("./frontend/src/scenes/data-warehouse/new/dataWarehouseTableLogic.tsx"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let getHubspotRedirectUri=()=>`${window.location.origin}/data-warehouse/hubspot/redirect`,SOURCE_DETAILS={Stripe:{name:"Stripe",caption:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(()=>(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.Fragment,{children:["Enter your Stripe credentials to automatically pull your Stripe data into the PostHog Data warehouse.",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)("br",{}),"You can find your account ID"," ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.rU,{to:"https://dashboard.stripe.com/settings/user",target:"_blank",children:"in your Stripe dashboard"}),", and create a secret key"," ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.rU,{to:"https://dashboard.stripe.com/apikeys",target:"_blank",children:"here"}),"."]}),{}),fields:[{name:"account_id",label:"Account id",type:"text",required:!1,placeholder:"acct_..."},{name:"client_secret",label:"Client secret",type:"password",required:!0,placeholder:"sk_live_..."}]},Hubspot:{name:"Hubspot",fields:[],caption:"Succesfully authenticated with Hubspot. Please continue here to complete the source setup",oauthPayload:["code"]},Postgres:{name:"Postgres",caption:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.Fragment,{children:"Enter your Postgres credentials to automatically pull your Postgres data into the PostHog Data warehouse."}),fields:[{name:"host",label:"Host",type:"text",required:!0,placeholder:"localhost"},{name:"port",label:"Port",type:"number",required:!0,placeholder:"5432"},{name:"dbname",label:"Database",type:"text",required:!0,placeholder:"postgres"},{name:"user",label:"User",type:"text",required:!0,placeholder:"postgres"},{name:"password",label:"Password",type:"password",required:!0,placeholder:""},{name:"schema",label:"Schema",type:"text",required:!0,placeholder:"public"},{name:"ssh-tunnel",label:"Use SSH tunnel?",type:"switch-group",default:!1,fields:[{name:"host",label:"Tunnel host",type:"text",required:!0,placeholder:"localhost"},{name:"port",label:"Tunnel port",type:"number",required:!0,placeholder:"22"},{type:"select",name:"auth_type",label:"Authentication type",required:!0,defaultValue:"password",options:[{label:"Password",value:"password",fields:[{name:"username",label:"Tunnel username",type:"text",required:!0,placeholder:"User1"},{name:"password",label:"Tunnel password",type:"password",required:!0,placeholder:""}]},{label:"Key pair",value:"keypair",fields:[{name:"username",label:"Tunnel username",type:"text",required:!1,placeholder:"User1"},{name:"private_key",label:"Tunnel private key",type:"textarea",required:!0,placeholder:""},{name:"passphrase",label:"Tunnel passphrase",type:"password",required:!1,placeholder:""}]}]}]}]},MySQL:{name:"MySQL",caption:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.Fragment,{children:"Enter your MySQL/MariaDB credentials to automatically pull your MySQL data into the PostHog Data warehouse."}),fields:[{name:"host",label:"Host",type:"text",required:!0,placeholder:"localhost"},{name:"port",label:"Port",type:"number",required:!0,placeholder:"3306"},{name:"dbname",label:"Database",type:"text",required:!0,placeholder:"mysql"},{name:"user",label:"User",type:"text",required:!0,placeholder:"mysql"},{name:"password",label:"Password",type:"password",required:!0,placeholder:""},{name:"schema",label:"Schema",type:"text",required:!0,placeholder:"public"},{type:"select",name:"use_ssl",label:"Use SSL?",defaultValue:"1",required:!0,options:[{value:"1",label:"Yes"},{value:"0",label:"No"}]},{name:"ssh-tunnel",label:"Use SSH tunnel?",type:"switch-group",default:!1,fields:[{name:"host",label:"Tunnel host",type:"text",required:!0,placeholder:"localhost"},{name:"port",label:"Tunnel port",type:"number",required:!0,placeholder:"22"},{type:"select",name:"auth_type",label:"Authentication type",required:!0,defaultValue:"password",options:[{label:"Password",value:"password",fields:[{name:"username",label:"Tunnel username",type:"text",required:!0,placeholder:"User1"},{name:"password",label:"Tunnel password",type:"password",required:!0,placeholder:""}]},{label:"Key pair",value:"keypair",fields:[{name:"username",label:"Tunnel username",type:"text",required:!1,placeholder:"User1"},{name:"private_key",label:"Tunnel private key",type:"textarea",required:!0,placeholder:""},{name:"passphrase",label:"Tunnel passphrase",type:"password",required:!1,placeholder:""}]}]}]}]},MSSQL:{name:"MSSQL",label:"Azure SQL Server",caption:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.Fragment,{children:"Enter your MS SQL Server/Azure SQL Server credentials to automatically pull your SQL data into the PostHog Data warehouse."}),fields:[{name:"host",label:"Host",type:"text",required:!0,placeholder:"localhost"},{name:"port",label:"Port",type:"number",required:!0,placeholder:"1433"},{name:"dbname",label:"Database",type:"text",required:!0,placeholder:"msdb"},{name:"user",label:"User",type:"text",required:!0,placeholder:"sa"},{name:"password",label:"Password",type:"password",required:!0,placeholder:""},{name:"schema",label:"Schema",type:"text",required:!0,placeholder:"dbo"},{name:"ssh-tunnel",label:"Use SSH tunnel?",type:"switch-group",default:!1,fields:[{name:"host",label:"Tunnel host",type:"text",required:!0,placeholder:"localhost"},{name:"port",label:"Tunnel port",type:"number",required:!0,placeholder:"22"},{type:"select",name:"auth_type",label:"Authentication type",required:!0,defaultValue:"password",options:[{label:"Password",value:"password",fields:[{name:"username",label:"Tunnel username",type:"text",required:!0,placeholder:"User1"},{name:"password",label:"Tunnel password",type:"password",required:!0,placeholder:""}]},{label:"Key pair",value:"keypair",fields:[{name:"username",label:"Tunnel username",type:"text",required:!1,placeholder:"User1"},{name:"private_key",label:"Tunnel private key",type:"textarea",required:!0,placeholder:""},{name:"passphrase",label:"Tunnel passphrase",type:"password",required:!1,placeholder:""}]}]}]}]},Snowflake:{name:"Snowflake",caption:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.Fragment,{children:"Enter your Snowflake credentials to automatically pull your Snowflake data into the PostHog Data warehouse."}),fields:[{name:"account_id",label:"Account id",type:"text",required:!0,placeholder:""},{name:"database",label:"Database",type:"text",required:!0,placeholder:"snowflake_sample_data"},{name:"warehouse",label:"Warehouse",type:"text",required:!0,placeholder:"COMPUTE_WAREHOUSE"},{type:"select",name:"auth_type",label:"Authentication type",required:!0,defaultValue:"password",options:[{label:"Password",value:"password",fields:[{name:"username",label:"Username",type:"text",required:!0,placeholder:"User1"},{name:"password",label:"Password",type:"password",required:!0,placeholder:""}]},{label:"Key pair",value:"keypair",fields:[{name:"username",label:"Username",type:"text",required:!0,placeholder:"User1"},{name:"private_key",label:"Private key",type:"textarea",required:!0,placeholder:""},{name:"passphrase",label:"Passphrase",type:"password",required:!1,placeholder:""}]}]},{name:"role",label:"Role (optional)",type:"text",required:!1,placeholder:"ACCOUNTADMIN"},{name:"schema",label:"Schema",type:"text",required:!0,placeholder:"public"}]},Zendesk:{name:"Zendesk",caption:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.Fragment,{children:"Enter your Zendesk API key to automatically pull your Zendesk support data into the PostHog Data warehouse."}),fields:[{name:"subdomain",label:"Zendesk subdomain",type:"text",required:!0,placeholder:""},{name:"api_key",label:"API key",type:"text",required:!0,placeholder:""},{name:"email_address",label:"Zendesk email address",type:"email",required:!0,placeholder:""}]},Salesforce:{name:"Salesforce",fields:[{name:"integration_id",label:"Salesforce account",type:"oauth",required:!0}],caption:"Select an existing Salesforce account to link to PostHog or create a new connection"},Vitally:{name:"Vitally",fields:[{name:"secret_token",label:"Secret token",type:"text",required:!0,placeholder:"sk_live_..."},{type:"select",name:"region",label:"Vitally region",required:!0,defaultValue:"EU",options:[{label:"EU",value:"EU"},{label:"US",value:"US",fields:[{name:"subdomain",label:"Vitally subdomain",type:"text",required:!0,placeholder:""}]}]}],caption:""},BigQuery:{name:"BigQuery",fields:[{type:"file-upload",name:"key_file",label:"Google Cloud JSON key file",fileFormat:".json",required:!0},{type:"text",name:"dataset_id",label:"Dataset ID",required:!0,placeholder:""},{type:"switch-group",name:"temporary-dataset",label:"Use a different dataset for the temporary tables?",caption:"We have to create and delete temporary tables when querying your data, this is a requirement of querying large BigQuery tables. We can use a different dataset if you'd like to limit the permissions available to the service account provided.",default:!1,fields:[{type:"text",name:"temporary_dataset_id",label:"Dataset ID for temporary tables",required:!0,placeholder:""}]}],caption:""},Chargebee:{name:"Chargebee",fields:[{name:"api_key",label:"API key",type:"text",required:!0,placeholder:""},{type:"text",name:"site_name",label:"Site name (subdomain)",required:!0,placeholder:""}],caption:""}},buildKeaFormDefaultFromSourceDetails=sourceDetails=>{let fieldDefaults=(field,obj)=>{if("switch-group"===field.type){obj[field.name]={},obj[field.name].enabled=field.default,field.fields.forEach(f=>fieldDefaults(f,obj[field.name]));return}if("select"===field.type){let hasOptionFields=!!field.options.filter(n=>{var _n$fields$length;return(null!==(_n$fields$length=n.fields?.length)&&void 0!==_n$fields$length?_n$fields$length:0)>0}).length;hasOptionFields?(obj[field.name]={},obj[field.name].selection=field.defaultValue,field.options.flatMap(n=>{var _n$fields;return null!==(_n$fields=n.fields)&&void 0!==_n$fields?_n$fields:[]}).forEach(f=>fieldDefaults(f,obj[field.name]))):obj[field.name]=field.defaultValue;return}obj[field.name]=""},sourceDetailsKeys=Object.keys(sourceDetails),formDefault=sourceDetailsKeys.reduce((defaults,cur)=>{let fields=sourceDetails[cur].fields;return fields.forEach(f=>fieldDefaults(f,defaults.payload)),defaults},{prefix:"",payload:{}});return formDefault},manualLinkSourceMap={aws:"S3","google-cloud":"Google Cloud Storage","cloudflare-r2":"Cloudflare R2",azure:"Azure"},sourceWizardLogic=(0,kea__WEBPACK_IMPORTED_MODULE_1__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_1__.path)(["scenes","data-warehouse","external","sourceWizardLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_1__.props)({}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.actions)({selectConnector:connector=>({connector}),toggleManualLinkFormVisible:visible=>({visible}),handleRedirect:(kind,searchParams)=>({kind,searchParams}),onClear:!0,onBack:!0,onNext:!0,onSubmit:!0,setDatabaseSchemas:schemas=>({schemas}),toggleSchemaShouldSync:(schema,shouldSync)=>({schema,shouldSync}),updateSchemaSyncType:(schema,syncType,incrementalField,incrementalFieldType)=>({schema,syncType,incrementalField,incrementalFieldType}),clearSource:!0,updateSource:source=>({source}),createSource:!0,setIsLoading:isLoading=>({isLoading}),setSourceId:id=>({sourceId:id}),closeWizard:!0,cancelWizard:!0,setStep:step=>({step}),getDatabaseSchemas:!0,setManualLinkingProvider:provider=>({provider}),openSyncMethodModal:schema=>({schema}),cancelSyncMethodModal:!0}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.connect)({values:[_dataWarehouseTableLogic__WEBPACK_IMPORTED_MODULE_12__.U,["tableLoading"],_settings_dataWarehouseSettingsLogic__WEBPACK_IMPORTED_MODULE_11__.T,["dataWarehouseSources"],scenes_PreflightCheck_preflightLogic__WEBPACK_IMPORTED_MODULE_6__.preflightLogic,["preflight"]],actions:[_dataWarehouseTableLogic__WEBPACK_IMPORTED_MODULE_12__.U,["resetTable","createTableSuccess"],_settings_dataWarehouseSettingsLogic__WEBPACK_IMPORTED_MODULE_11__.T,["loadSources"],scenes_teamLogic__WEBPACK_IMPORTED_MODULE_8__.H,["addProductIntent"]]}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.reducers)({manualLinkingProvider:[null,{setManualLinkingProvider:(_,_ref)=>{let{provider}=_ref;return provider}}],selectedConnector:[null,{selectConnector:(_,_ref2)=>{let{connector}=_ref2;return connector}}],isManualLinkFormVisible:[!1,{toggleManualLinkFormVisible:(_,_ref3)=>{let{visible}=_ref3;return visible}}],currentStep:[1,{onNext:state=>state+1,onBack:state=>state-1,onClear:()=>1,setStep:(_,_ref4)=>{let{step}=_ref4;return step}}],databaseSchema:[[],{setDatabaseSchemas:(_,_ref5)=>{let{schemas}=_ref5;return schemas},toggleSchemaShouldSync:(state,_ref6)=>{let{schema,shouldSync}=_ref6,newSchema=state.map(s=>({...s,should_sync:s.table===schema.table?shouldSync:s.should_sync}));return newSchema},updateSchemaSyncType:(state,_ref7)=>{let{schema,syncType,incrementalField,incrementalFieldType}=_ref7,newSchema=state.map(s=>({...s,sync_type:s.table===schema.table?syncType:s.sync_type,incremental_field:s.table===schema.table?incrementalField:s.incremental_field,incremental_field_type:s.table===schema.table?incrementalFieldType:s.incremental_field_type}));return newSchema}}],source:[{payload:{},prefix:""},{updateSource:(state,_ref8)=>{var _source$prefix,_state$payload,_source$payload;let{source}=_ref8;return{prefix:null!==(_source$prefix=source.prefix)&&void 0!==_source$prefix?_source$prefix:state.prefix,payload:{...null!==(_state$payload=state.payload)&&void 0!==_state$payload?_state$payload:{},...null!==(_source$payload=source.payload)&&void 0!==_source$payload?_source$payload:{}}}},clearSource:()=>({payload:{},prefix:""})}],isLoading:[!1,{onNext:()=>!1,setIsLoading:(_,_ref9)=>{let{isLoading}=_ref9;return isLoading}}],sourceId:[null,{setSourceId:(_,_ref10)=>{let{sourceId}=_ref10;return sourceId}}],syncMethodModalOpen:[!1,{openSyncMethodModal:()=>!0,cancelSyncMethodModal:()=>!1}],currentSyncMethodModalSchema:[null,{openSyncMethodModal:(_,_ref11)=>{let{schema}=_ref11;return schema},cancelSyncMethodModal:()=>null,updateSchemaSyncType:(_,_ref12)=>{let{schema,syncType,incrementalField,incrementalFieldType}=_ref12;return{...schema,sync_type:syncType,incremental_field:incrementalField,incremental_field_type:incrementalFieldType}}}]}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.selectors)({isManualLinkingSelected:[s=>[s.selectedConnector],selectedConnector=>!selectedConnector],canGoBack:[s=>[s.currentStep],currentStep=>4!==currentStep],canGoNext:[s=>[s.currentStep,s.isManualLinkingSelected,s.databaseSchema],(currentStep,isManualLinkingSelected,databaseSchema)=>(!isManualLinkingSelected||1!==currentStep)&&(!!isManualLinkingSelected||3!==currentStep||0!==databaseSchema.filter(n=>n.should_sync).length&&0===databaseSchema.filter(n=>n.should_sync&&!n.sync_type).length)],showSkipButton:[s=>[s.currentStep],currentStep=>4===currentStep],nextButtonText:[s=>[s.currentStep,s.isManualLinkingSelected,(_,props)=>props.onComplete],(currentStep,isManualLinkingSelected,onComplete)=>3===currentStep&&isManualLinkingSelected?"Link":3===currentStep?"Import":4===currentStep?onComplete?"Next":"Return to sources":"Next"],breadcrumbs:[()=>[],()=>[{key:scenes_sceneTypes__WEBPACK_IMPORTED_MODULE_7__.x.DataWarehouse,name:"Data Warehouse",path:scenes_urls__WEBPACK_IMPORTED_MODULE_9__.j.dataWarehouse()},{key:[scenes_sceneTypes__WEBPACK_IMPORTED_MODULE_7__.x.DataWarehouse,"New"],name:"New"}]],showFooter:[s=>[s.selectedConnector,s.isManualLinkFormVisible],(selectedConnector,isManualLinkFormVisible)=>selectedConnector||isManualLinkFormVisible],connectors:[s=>[s.dataWarehouseSources],sources=>Object.values(SOURCE_DETAILS).map(connector=>({...connector,disabledReason:sources&&sources.results.find(source=>source.source_type===connector.name)?"Already linked":null}))],manualConnectors:[()=>[],()=>_types__WEBPACK_IMPORTED_MODULE_10__.zD.map(source=>({name:manualLinkSourceMap[source],type:source}))],addToHubspotButtonUrl:[s=>[s.preflight],preflight=>()=>{let clientId=preflight?.data_warehouse_integrations?.hubspot.client_id;if(!clientId)return null;let params=new URLSearchParams;return params.set("client_id",clientId),params.set("redirect_uri",getHubspotRedirectUri()),params.set("scope","crm.objects.contacts.read crm.objects.companies.read crm.objects.deals.read tickets crm.objects.quotes.read sales-email-read"),`https://app.hubspot.com/oauth/authorize?${params.toString()}`}],modalTitle:[s=>[s.currentStep],currentStep=>1===currentStep?"":2===currentStep?"Link your data source":3===currentStep?"Select tables to import":4===currentStep?"Importing your data...":""],modalCaption:[s=>[s.selectedConnector,s.currentStep],(selectedConnector,currentStep)=>2===currentStep&&selectedConnector?SOURCE_DETAILS[selectedConnector.name]?.caption:4===currentStep?"Sit tight as we import your data! After it's done, you will be able to query it in PostHog.":""],isWrapped:[()=>[(_,props)=>props.onComplete],onComplete=>!!onComplete]}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.listeners)(_ref13=>{let{actions,values,props}=_ref13;return{onBack:()=>{values.currentStep<=1&&actions.onClear()},onClear:()=>{actions.selectConnector(null),actions.resetSourceConnectionDetails(),actions.clearSource(),actions.toggleManualLinkFormVisible(!1),actions.resetTable(),actions.setIsLoading(!1)},onSubmit:()=>{1!==values.currentStep&&(2===values.currentStep&&values.selectedConnector?.name?actions.submitSourceConnectionDetails():2===values.currentStep&&values.isManualLinkFormVisible&&(_dataWarehouseTableLogic__WEBPACK_IMPORTED_MODULE_12__.U.actions.submitTable(),posthog_js__WEBPACK_IMPORTED_MODULE_5__.ZP.capture("source created",{sourceType:"Manual"})),3===values.currentStep&&values.selectedConnector?.name&&(actions.updateSource({payload:{schemas:values.databaseSchema.map(schema=>({name:schema.table,should_sync:schema.should_sync,sync_type:schema.sync_type,incremental_field:schema.incremental_field,incremental_field_type:schema.incremental_field_type}))}}),actions.setIsLoading(!0),actions.createSource(),posthog_js__WEBPACK_IMPORTED_MODULE_5__.ZP.capture("source created",{sourceType:values.selectedConnector.name})),4===values.currentStep&&(props.onComplete?props.onComplete():actions.closeWizard()))},createTableSuccess:()=>{actions.cancelWizard()},closeWizard:()=>{actions.cancelWizard(),kea_router__WEBPACK_IMPORTED_MODULE_3__.router.actions.push(scenes_urls__WEBPACK_IMPORTED_MODULE_9__.j.pipeline(_types__WEBPACK_IMPORTED_MODULE_10__.J9.Sources))},cancelWizard:()=>{actions.onClear(),actions.clearSource(),actions.loadSources(null),actions.resetSourceConnectionDetails()},createSource:async()=>{if(null!==values.selectedConnector)try{let{id}=await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.externalDataSources.create({...values.source,source_type:values.selectedConnector.name});_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.success("New Data Resource Created"),actions.setSourceId(id),actions.resetSourceConnectionDetails(),actions.loadSources(null),actions.onNext()}catch(e){var _e$data$message;_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.error(null!==(_e$data$message=e.data?.message)&&void 0!==_e$data$message?_e$data$message:e.message)}finally{actions.setIsLoading(!1)}},handleRedirect:async _ref14=>{let{kind,searchParams}=_ref14;switch(kind){case"hubspot":actions.updateSource({source_type:"Hubspot",payload:{code:searchParams.code,redirect_uri:getHubspotRedirectUri()}});return;case"salesforce":actions.updateSource({source_type:"Salesforce"});break;default:_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.error("Something went wrong.")}},submitSourceConnectionDetailsSuccess:()=>{actions.getDatabaseSchemas()},getDatabaseSchemas:async()=>{var _values$source$payloa,_e$data$message2,_ref15;if(values.selectedConnector){actions.setIsLoading(!0);try{let schemas=await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.externalDataSources.database_schema(values.selectedConnector.name,null!==(_values$source$payloa=values.source.payload)&&void 0!==_values$source$payloa?_values$source$payloa:{});actions.setDatabaseSchemas(schemas),actions.onNext()}catch(e){_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.error(null!==(_e$data$message2=e.data?.message)&&void 0!==_e$data$message2?_e$data$message2:e.message),-1!=(null!==(_ref15=e.data?.message)&&void 0!==_ref15?_ref15:"").indexOf("Invalid credentials")&&posthog_js__WEBPACK_IMPORTED_MODULE_5__.ZP.capture("warehouse credentials invalid",{sourceType:values.selectedConnector.name})}actions.setIsLoading(!1)}},setManualLinkingProvider:()=>{actions.onNext()},selectConnector:()=>{actions.addProductIntent({product_type:_types__WEBPACK_IMPORTED_MODULE_10__.Md.DATA_WAREHOUSE,intent_context:"selected connector"})}}}),(0,kea_router__WEBPACK_IMPORTED_MODULE_3__.urlToAction)(_ref16=>{let{actions}=_ref16;return{"/data-warehouse/:kind/redirect":(_ref17,searchParams)=>{let{kind=""}=_ref17;"hubspot"===kind&&kea_router__WEBPACK_IMPORTED_MODULE_3__.router.actions.push(scenes_urls__WEBPACK_IMPORTED_MODULE_9__.j.dataWarehouseTable(),{kind,code:searchParams.code}),"salesforce"===kind&&kea_router__WEBPACK_IMPORTED_MODULE_3__.router.actions.push(scenes_urls__WEBPACK_IMPORTED_MODULE_9__.j.dataWarehouseTable(),{kind})},"/data-warehouse/new":(_,searchParams)=>{"hubspot"==searchParams.kind&&searchParams.code&&(actions.selectConnector(SOURCE_DETAILS.Hubspot),actions.handleRedirect(searchParams.kind,{code:searchParams.code}),actions.setStep(2)),"salesforce"==searchParams.kind&&(actions.selectConnector(SOURCE_DETAILS.Salesforce),actions.handleRedirect(searchParams.kind,{}),actions.setStep(2))}}}),(0,kea_forms__WEBPACK_IMPORTED_MODULE_2__.forms)(_ref18=>{let{actions,values}=_ref18;return{sourceConnectionDetails:{defaults:buildKeaFormDefaultFromSourceDetails(SOURCE_DETAILS),errors:sourceValues=>{var _values$selectedConne;return getErrorsForFields(null!==(_values$selectedConne=values.selectedConnector?.fields)&&void 0!==_values$selectedConne?_values$selectedConne:[],sourceValues)},submit:async sourceValues=>{if(values.selectedConnector){let payload={...sourceValues,source_type:values.selectedConnector.name};actions.setIsLoading(!0);try{var _values$selectedConne2;await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.externalDataSources.source_prefix(payload.source_type,sourceValues.prefix);let payloadKeys=(null!==(_values$selectedConne2=values.selectedConnector?.fields)&&void 0!==_values$selectedConne2?_values$selectedConne2:[]).map(n=>({name:n.name,type:n.type})),fieldPayload={source_type:values.selectedConnector.name};for(let{name,type}of payloadKeys)if("file-upload"===type)try{let loadedFile=await new Promise((resolve,reject)=>{let fileReader=new FileReader;fileReader.onload=e=>resolve(e.target?.result),fileReader.onerror=e=>reject(e),fileReader.readAsText(payload.payload[name][0])}),jsonConfig=JSON.parse(loadedFile);fieldPayload[name]=jsonConfig}catch(e){return _posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.error("File is not valid")}else fieldPayload[name]=payload.payload[name];actions.updateSource({...payload,payload:{source_type:values.selectedConnector.name,...fieldPayload}}),actions.setIsLoading(!1)}catch(e){throw e?.data?.message&&actions.setSourceConnectionDetailsManualErrors({prefix:e.data.message}),actions.setIsLoading(!1),e}}}}}})]),getErrorsForFields=(fields,values)=>{var _values$prefix,_values$payload;let errors={payload:{}};/^[a-zA-Z0-9_-]*$/.test(null!==(_values$prefix=values?.prefix)&&void 0!==_values$prefix?_values$prefix:"")||(errors.prefix="Please enter a valid prefix (only letters, numbers, and '_' or '-').");let validateField=(field,valueObj,errorsObj)=>{if("switch-group"===field.type){valueObj[field.name]?.enabled&&(errorsObj[field.name]={},field.fields.forEach(f=>validateField(f,valueObj[field.name],errorsObj[field.name])));return}if("select"===field.type){let hasOptionFields=!!field.options.filter(n=>{var _n$fields$length2;return(null!==(_n$fields$length2=n.fields?.length)&&void 0!==_n$fields$length2?_n$fields$length2:0)>0}).length;if(hasOptionFields){errorsObj[field.name]={};let selection=valueObj[field.name].selection;field.options.find(n=>n.value===selection)?.fields?.forEach(f=>validateField(f,valueObj[field.name],errorsObj[field.name]))}else field.required&&!valueObj[field.name]&&(errorsObj[field.name]=`Please select a ${field.label.toLowerCase()}`);return}field.required&&!valueObj[field.name]&&(errorsObj[field.name]=`Please enter a ${field.label.toLowerCase()}`)};for(let field of fields)validateField(field,null!==(_values$payload=values?.payload)&&void 0!==_values$payload?_values$payload:{},errors.payload);return errors}},"./frontend/src/scenes/data-warehouse/saved_queries/dataWarehouseViewsLogic.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{$:()=>dataWarehouseViewsLogic});var _posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),kea__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_loaders__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-loaders@3.0.0_kea@3.1.5/node_modules/kea-loaders/lib/index.js"),lib_api__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/api.ts"),scenes_data_management_database_databaseTableListLogic__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/scenes/data-management/database/databaseTableListLogic.ts"),scenes_userLogic__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/scenes/userLogic.ts");let dataWarehouseViewsLogic=(0,kea__WEBPACK_IMPORTED_MODULE_1__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_1__.path)(["scenes","warehouse","dataWarehouseSavedQueriesLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_1__.connect)(()=>({values:[scenes_userLogic__WEBPACK_IMPORTED_MODULE_5__.userLogic,["user"],scenes_data_management_database_databaseTableListLogic__WEBPACK_IMPORTED_MODULE_4__.A,["views","databaseLoading"]],actions:[scenes_data_management_database_databaseTableListLogic__WEBPACK_IMPORTED_MODULE_4__.A,["loadDatabase"]]})),(0,kea__WEBPACK_IMPORTED_MODULE_1__.reducers)({initialDataWarehouseSavedQueryLoading:[!0,{loadDataWarehouseSavedQueriesSuccess:()=>!1,loadDataWarehouseSavedQueriesFailure:()=>!1}],updatingDataWarehouseSavedQuery:[!1,{updateDataWarehouseSavedQuery:()=>!0,updateDataWarehouseSavedQuerySuccess:()=>!1,updateDataWarehouseSavedQueryFailure:()=>!1}]}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.actions)({runDataWarehouseSavedQuery:viewId=>({viewId})}),(0,kea_loaders__WEBPACK_IMPORTED_MODULE_2__.loaders)(_ref=>{let{values}=_ref;return{dataWarehouseSavedQueries:[[],{loadDataWarehouseSavedQueries:async()=>{let savedQueries=await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.dataWarehouseSavedQueries.list();return savedQueries.results},createDataWarehouseSavedQuery:async view=>{var _newView$name;let newView=await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.dataWarehouseSavedQueries.create(view);return _posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.success(`${null!==(_newView$name=newView.name)&&void 0!==_newView$name?_newView$name:"View"} successfully created`),[...values.dataWarehouseSavedQueries,newView]},deleteDataWarehouseSavedQuery:async viewId=>(await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.dataWarehouseSavedQueries.delete(viewId),values.dataWarehouseSavedQueries.filter(view=>view.id!==viewId)),updateDataWarehouseSavedQuery:async view=>{let newView=await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.dataWarehouseSavedQueries.update(view.id,view);return values.dataWarehouseSavedQueries.map(savedQuery=>savedQuery.id===view.id?newView:savedQuery)}}]}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.listeners)(_ref2=>{let{actions}=_ref2;return{createDataWarehouseSavedQuerySuccess:()=>{actions.loadDatabase()},updateDataWarehouseSavedQuerySuccess:()=>{actions.loadDatabase(),_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.success("View updated")},updateDataWarehouseSavedQueryError:()=>{_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.error("Failed to update view")},runDataWarehouseSavedQuery:async _ref3=>{let{viewId}=_ref3;try{await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.dataWarehouseSavedQueries.run(viewId),_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.success("Materialization started"),actions.loadDataWarehouseSavedQueries()}catch(error){_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.error("Failed to run materialization")}}}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.selectors)({shouldShowEmptyState:[s=>[s.views,s.databaseLoading],(views,databaseLoading)=>views?.length==0&&!databaseLoading],dataWarehouseSavedQueryMapById:[s=>[s.dataWarehouseSavedQueries],dataWarehouseSavedQueries=>{var _dataWarehouseSavedQu;return null!==(_dataWarehouseSavedQu=dataWarehouseSavedQueries?.reduce((acc,cur)=>(acc[cur.id]=cur,acc),{}))&&void 0!==_dataWarehouseSavedQu?_dataWarehouseSavedQu:{}}],dataWarehouseSavedQueryMap:[s=>[s.dataWarehouseSavedQueries],dataWarehouseSavedQueries=>{var _dataWarehouseSavedQu2;return null!==(_dataWarehouseSavedQu2=dataWarehouseSavedQueries?.reduce((acc,cur)=>(acc[cur.name]=cur,acc),{}))&&void 0!==_dataWarehouseSavedQu2?_dataWarehouseSavedQu2:{}}]}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.events)(_ref4=>{let{actions}=_ref4;return{afterMount:()=>{actions.loadDataWarehouseSavedQueries()}}})])},"./frontend/src/scenes/data-warehouse/settings/dataWarehouseSceneLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{M:()=>dataWarehouseSceneLogic});var _posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),kea__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_router__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),lib_api__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/api.ts"),posthog_js__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/.pnpm/posthog-js@1.205.0/node_modules/posthog-js/dist/module.js"),scenes_data_management_database_databaseTableListLogic__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/scenes/data-management/database/databaseTableListLogic.ts"),scenes_urls__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/scenes/urls.ts"),_queries_schema__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/queries/schema.ts"),_saved_queries_dataWarehouseViewsLogic__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./frontend/src/scenes/data-warehouse/saved_queries/dataWarehouseViewsLogic.tsx");let dataWarehouseSceneLogic=(0,kea__WEBPACK_IMPORTED_MODULE_1__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_1__.path)(["scenes","warehouse","dataWarehouseSceneLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_1__.props)({}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.connect)(()=>({values:[scenes_data_management_database_databaseTableListLogic__WEBPACK_IMPORTED_MODULE_5__.A,["database","posthogTables","dataWarehouseTables","databaseLoading","views","viewsMapById"],_saved_queries_dataWarehouseViewsLogic__WEBPACK_IMPORTED_MODULE_8__.$,["dataWarehouseSavedQueryMapById","dataWarehouseSavedQueriesLoading"]],actions:[_saved_queries_dataWarehouseViewsLogic__WEBPACK_IMPORTED_MODULE_8__.$,["deleteDataWarehouseSavedQuery","updateDataWarehouseSavedQuery","updateDataWarehouseSavedQuerySuccess"],scenes_data_management_database_databaseTableListLogic__WEBPACK_IMPORTED_MODULE_5__.A,["loadDatabase","loadDatabaseSuccess","loadDatabaseFailure"]]})),(0,kea__WEBPACK_IMPORTED_MODULE_1__.actions)(_ref=>{let{values}=_ref;return{selectRow:row=>({row}),setIsEditingSavedQuery:isEditingSavedQuery=>({isEditingSavedQuery}),toggleEditSchemaMode:inEditSchemaMode=>({inEditSchemaMode}),updateSelectedSchema:(columnKey,columnType)=>({columnKey,columnType}),saveSchema:!0,setEditSchemaIsLoading:isLoading=>({isLoading}),cancelEditSchema:()=>({database:values.database}),deleteDataWarehouseTable:tableId=>({tableId}),toggleSchemaModal:!0,setEditingView:id=>({id}),updateView:(query,types)=>({query,types})}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.reducers)({selectedRow:[null,{selectRow:(_,_ref2)=>{let{row}=_ref2;return row},updateSelectedSchema:(state,_ref3)=>{let{columnKey,columnType}=_ref3;if(!state)return state;let newState={...state},column=newState?.fields[columnKey];return column?(column.type=columnType,newState):state},loadDatabaseSuccess:(state,_ref4)=>{let{database}=_ref4;if(!state||!database)return state;let table=Object.values(database.tables).find(n=>n.id===state.id);return table||state},cancelEditSchema:(state,_ref5)=>{let{database}=_ref5;if(!state||!database)return state;let table=Object.values(database.tables).find(n=>n.id===state.id);return table?JSON.parse(JSON.stringify(table)):state}}],schemaUpdates:[{},{updateSelectedSchema:(state,_ref6)=>{let{columnKey,columnType}=_ref6,newState={...state};return newState[columnKey]=columnType,newState},toggleEditSchemaMode:()=>({})}],isEditingSavedQuery:[!1,{setIsEditingSavedQuery:(_,_ref7)=>{let{isEditingSavedQuery}=_ref7;return isEditingSavedQuery}}],inEditSchemaMode:[!1,{toggleEditSchemaMode:(state,_ref8)=>{let{inEditSchemaMode}=_ref8;return void 0!==inEditSchemaMode?inEditSchemaMode:!state}}],editSchemaIsLoading:[!1,{setEditSchemaIsLoading:(_,_ref9)=>{let{isLoading}=_ref9;return isLoading},loadDatabaseSuccess:()=>!1,loadDatabaseFailure:()=>!1}],schemaModalIsOpen:[!1,{toggleSchemaModal:state=>!state}],editingView:[null,{setEditingView:(_,_ref10)=>{let{id}=_ref10;return id}}]}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.selectors)({dataWarehouseTablesBySourceType:[s=>[s.dataWarehouseTables],dataWarehouseTables=>dataWarehouseTables.reduce((acc,table)=>(table.source?(acc[table.source.source_type]||(acc[table.source.source_type]=[]),acc[table.source.source_type].push(table)):(acc.S3||(acc.S3=[]),acc.S3.push(table)),acc),{})],dataWarehouseTablesAndViews:[s=>[s.dataWarehouseTables,s.views],(dataWarehouseTables,views)=>[...dataWarehouseTables,...views]],nonMaterializedViews:[s=>[s.views,s.dataWarehouseSavedQueryMapById],(views,dataWarehouseSavedQueryMapById)=>views.filter(view=>!dataWarehouseSavedQueryMapById[view.id]?.status).map(view=>({...view,type:"view"}))],materializedViews:[s=>[s.views,s.dataWarehouseSavedQueryMapById],(views,dataWarehouseSavedQueryMapById)=>views.filter(view=>dataWarehouseSavedQueryMapById[view.id]?.status).map(view=>({...view,type:"materialized_view",last_run_at:dataWarehouseSavedQueryMapById[view.id]?.last_run_at,status:dataWarehouseSavedQueryMapById[view.id]?.status}))]}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.listeners)(_ref11=>{let{actions,values}=_ref11;return{deleteDataWarehouseSavedQuery:async tableId=>{await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.dataWarehouseSavedQueries.delete(tableId),actions.selectRow(null),actions.loadDatabase(),_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.success("View successfully deleted")},selectRow:()=>{actions.setIsEditingSavedQuery(!1)},updateDataWarehouseSavedQuerySuccess:async _ref12=>{var _payload$name;let{payload}=_ref12;_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.success(`${null!==(_payload$name=payload?.name)&&void 0!==_payload$name?_payload$name:"View"} successfully updated`),payload&&kea_router__WEBPACK_IMPORTED_MODULE_2__.router.actions.push(scenes_urls__WEBPACK_IMPORTED_MODULE_6__.j.dataWarehouseView(payload.id))},saveSchema:async()=>{let schemaUpdates=values.schemaUpdates,tableId=values.selectedRow?.id;if(tableId){if(0===Object.keys(schemaUpdates).length){actions.toggleEditSchemaMode();return}actions.setEditSchemaIsLoading(!0);try{await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.dataWarehouseTables.updateSchema(tableId,schemaUpdates),actions.loadDatabase(),values.selectedRow&&posthog_js__WEBPACK_IMPORTED_MODULE_4__.ZP.capture("source schema saved",{name:values.selectedRow.name,tableType:values.selectedRow.type})}catch(e){_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.error(e.message),actions.setEditSchemaIsLoading(!1)}}},loadDatabaseSuccess:()=>{values.inEditSchemaMode&&actions.toggleEditSchemaMode()},loadDatabaseFailure:()=>{values.inEditSchemaMode&&actions.toggleEditSchemaMode()},cancelEditSchema:()=>{actions.toggleEditSchemaMode(!1)},deleteDataWarehouseTable:async _ref13=>{let{tableId}=_ref13;await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.dataWarehouseTables.delete(tableId),actions.selectRow(null),_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.success("Table successfully deleted")},toggleSchemaModal:()=>{values.schemaModalIsOpen&&values.selectedRow&&posthog_js__WEBPACK_IMPORTED_MODULE_4__.ZP.capture("source schema viewed",{name:values.selectedRow.name,tableType:values.selectedRow.type})},updateView:_ref14=>{let{query,types}=_ref14;if(values.editingView){let newViewQuery={kind:_queries_schema__WEBPACK_IMPORTED_MODULE_7__.OH.HogQLQuery,query:query},oldView=values.viewsMapById[values.editingView],newView={...oldView,query:newViewQuery,types};actions.updateDataWarehouseSavedQuery(newView)}}}}),(0,kea_router__WEBPACK_IMPORTED_MODULE_2__.urlToAction)(_ref15=>{let{actions}=_ref15;return{"/data-warehouse/view/:id":_ref16=>{let{id}=_ref16;actions.setEditingView(id)},"/data-warehouse":()=>{actions.setEditingView(null)}}})])},"./frontend/src/scenes/data-warehouse/settings/dataWarehouseSettingsLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{T:()=>dataWarehouseSettingsLogic});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_loaders__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea-loaders@3.0.0_kea@3.1.5/node_modules/kea-loaders/lib/index.js"),kea_router__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),lib_api__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/api.ts"),lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonToast/LemonToast.tsx"),posthog_js__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/.pnpm/posthog-js@1.205.0/node_modules/posthog-js/dist/module.js"),scenes_data_management_database_databaseTableListLogic__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/scenes/data-management/database/databaseTableListLogic.ts");__webpack_require__("./frontend/src/types.ts");let dataWarehouseSettingsLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(["scenes","data-warehouse","settings","dataWarehouseSettingsLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.connect)(()=>({values:[scenes_data_management_database_databaseTableListLogic__WEBPACK_IMPORTED_MODULE_6__.A,["dataWarehouseTables"]],actions:[scenes_data_management_database_databaseTableListLogic__WEBPACK_IMPORTED_MODULE_6__.A,["loadDatabase"]]})),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)({deleteSource:source=>({source}),reloadSource:source=>({source}),sourceLoadingFinished:source=>({source}),schemaLoadingFinished:schema=>({schema}),abortAnyRunningQuery:!0,deleteSelfManagedTable:tableId=>({tableId}),refreshSelfManagedTableSchema:tableId=>({tableId})}),(0,kea_loaders__WEBPACK_IMPORTED_MODULE_1__.loaders)(_ref=>{let{cache,actions,values}=_ref;return{dataWarehouseSources:[null,{loadSources:async(_,breakpoint)=>{await breakpoint(300),actions.abortAnyRunningQuery(),cache.abortController=new AbortController;let methodOptions={signal:cache.abortController.signal},res=await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.externalDataSources.list(methodOptions);return breakpoint(),cache.abortController=null,res},updateSource:async source=>{let updatedSource=await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.externalDataSources.update(source.id,source);return{...values.dataWarehouseSources,results:values.dataWarehouseSources?.results.map(s=>s.id===updatedSource.id?source:s)||[]}}}],schemas:[null,{updateSchema:async schema=>{var _values$dataWarehouse;let clonedSources=JSON.parse(JSON.stringify(null!==(_values$dataWarehouse=values.dataWarehouseSources?.results)&&void 0!==_values$dataWarehouse?_values$dataWarehouse:[])),sourceIndex=clonedSources.findIndex(n=>n.schemas.find(m=>m.id===schema.id)),schemaIndex=clonedSources[sourceIndex].schemas.findIndex(n=>n.id===schema.id);return clonedSources[sourceIndex].schemas[schemaIndex]=schema,actions.loadSourcesSuccess({...values.dataWarehouseSources,results:clonedSources}),await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.externalDataSchemas.update(schema.id,schema),actions.loadSources(null),null}}]}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)(_ref2=>{let{cache}=_ref2;return{dataWarehouseSourcesLoading:[!1,{loadSources:()=>!0,loadSourcesFailure:()=>null!==cache.abortController,loadSourcesSuccess:()=>null!==cache.abortController}],sourceReloadingById:[{},{reloadSource:(state,_ref3)=>{let{source}=_ref3;return{...state,[source.id]:!0}},deleteSource:(state,_ref4)=>{let{source}=_ref4;return{...state,[source.id]:!0}},sourceLoadingFinished:(state,_ref5)=>{let{source}=_ref5;return{...state,[source.id]:!1}}}],schemaReloadingById:[{},{schemaLoadingFinished:(state,_ref6)=>{let{schema}=_ref6;return{...state,[schema.id]:!1}}}]}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.selectors)({selfManagedTables:[s=>[s.dataWarehouseTables],dataWarehouseTables=>dataWarehouseTables.filter(table=>!table.source)]}),(0,kea_router__WEBPACK_IMPORTED_MODULE_2__.urlToAction)(_ref7=>{let{actions}=_ref7;return{"/data-warehouse/*":()=>{actions.loadSources(null)}}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.listeners)(_ref8=>{let{actions,values,cache}=_ref8;return{deleteSelfManagedTable:async _ref9=>{let{tableId}=_ref9;await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.dataWarehouseTables.delete(tableId),actions.loadDatabase()},refreshSelfManagedTableSchema:async _ref10=>{let{tableId}=_ref10;lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_4__.UJ.info("Updating schema..."),await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.dataWarehouseTables.refreshSchema(tableId),lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_4__.UJ.success("Schema updated"),actions.loadDatabase()},deleteSource:async _ref11=>{let{source}=_ref11;await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.externalDataSources.delete(source.id),actions.loadSources(null),actions.sourceLoadingFinished(source),posthog_js__WEBPACK_IMPORTED_MODULE_5__.ZP.capture("source deleted",{sourceType:source.source_type})},reloadSource:async _ref12=>{var _values$dataWarehouse2;let{source}=_ref12,clonedSources=JSON.parse(JSON.stringify(null!==(_values$dataWarehouse2=values.dataWarehouseSources?.results)&&void 0!==_values$dataWarehouse2?_values$dataWarehouse2:[])),sourceIndex=clonedSources.findIndex(n=>n.id===source.id);clonedSources[sourceIndex].status="Running",clonedSources[sourceIndex].schemas=clonedSources[sourceIndex].schemas.map(n=>n.should_sync?{...n,status:"Running"}:n),actions.loadSourcesSuccess({...values.dataWarehouseSources,results:clonedSources});try{await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.externalDataSources.reload(source.id),actions.loadSources(null),posthog_js__WEBPACK_IMPORTED_MODULE_5__.ZP.capture("source reloaded",{sourceType:source.source_type})}catch(e){e.message?lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_4__.UJ.error(e.message):lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_4__.UJ.error("Cant refresh source at this time")}actions.sourceLoadingFinished(source)},abortAnyRunningQuery:()=>{cache.abortController&&(cache.abortController.abort(),cache.abortController=null)},updateSchema:schema=>{posthog_js__WEBPACK_IMPORTED_MODULE_5__.ZP.capture("schema updated",{shouldSync:schema.should_sync,syncType:schema.sync_type})},loadSourcesSuccess:()=>{clearTimeout(cache.refreshTimeout),kea_router__WEBPACK_IMPORTED_MODULE_2__.router.values.location.pathname.includes("data-warehouse")&&(cache.refreshTimeout=setTimeout(()=>{actions.loadSources(null)},1e4))},loadSourcesFailure:()=>{clearTimeout(cache.refreshTimeout),kea_router__WEBPACK_IMPORTED_MODULE_2__.router.values.location.pathname.includes("data-warehouse")&&(cache.refreshTimeout=setTimeout(()=>{actions.loadSources(null)},1e4))}}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.afterMount)(_ref13=>{let{actions}=_ref13;actions.loadSources(null)}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.beforeUnmount)(_ref14=>{let{cache}=_ref14;clearTimeout(cache.refreshTimeout)})])},"./frontend/src/scenes/data-warehouse/viewLinkLogic.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{t:()=>viewLinkLogic});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_forms__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea-forms@3.2.0_kea@3.1.5/node_modules/kea-forms/lib/index.js"),kea_subscriptions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-subscriptions@3.0.1_kea@3.1.5/node_modules/kea-subscriptions/lib/index.js"),lib_api__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/api.ts"),posthog_js__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/.pnpm/posthog-js@1.205.0/node_modules/posthog-js/dist/module.js"),scenes_data_management_database_databaseTableListLogic__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/scenes/data-management/database/databaseTableListLogic.ts"),_external_dataWarehouseJoinsLogic__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/scenes/data-warehouse/external/dataWarehouseJoinsLogic.ts"),_ViewLinkModal__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/scenes/data-warehouse/ViewLinkModal.tsx"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let NEW_VIEW_LINK={id:"new",source_table_name:void 0,joining_table_name:void 0,field_name:void 0},viewLinkLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(["scenes","data-warehouse","viewLinkLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.connect)({values:[scenes_data_management_database_databaseTableListLogic__WEBPACK_IMPORTED_MODULE_5__.A,["allTables"]],actions:[scenes_data_management_database_databaseTableListLogic__WEBPACK_IMPORTED_MODULE_5__.A,["loadDatabase"],_external_dataWarehouseJoinsLogic__WEBPACK_IMPORTED_MODULE_6__.F,["loadJoins"]]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)(_ref=>{let{values}=_ref;return{selectJoiningTable:selectedTableName=>({selectedTableName}),selectSourceTable:selectedTableName=>({selectedTableName}),selectSourceKey:selectedKey=>({selectedKey,sourceTable:values.selectedSourceTable}),selectJoiningKey:selectedKey=>({selectedKey,joiningTable:values.selectedJoiningTable}),toggleJoinTableModal:!0,toggleEditJoinModal:join=>({join}),toggleNewJoinModal:!0,saveViewLink:viewLink=>({viewLink}),deleteViewLink:(table,column)=>({table,column}),setError:error=>({error}),setFieldName:fieldName=>({fieldName}),setExperimentsOptimized:experimentsOptimized=>({experimentsOptimized}),selectExperimentsTimestampKey:experimentsTimestampKey=>({experimentsTimestampKey}),clearModalFields:!0}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)({joinToEdit:[null,{submitViewLinkSuccess:()=>null,clearModalFields:()=>null,toggleEditJoinModal:(_,_ref2)=>{let{join}=_ref2;return join}}],isNewJoin:[!1,{submitViewLinkSuccess:()=>!1,toggleJoinTableModal:()=>!1,toggleEditJoinModal:()=>!1,toggleNewJoinModal:()=>!0,clearModalFields:()=>!1}],selectedSourceTableName:[null,{selectSourceTable:(_,_ref3)=>{let{selectedTableName}=_ref3;return selectedTableName},toggleEditJoinModal:(_,_ref4)=>{var _join$source_table_na;let{join}=_ref4;return null!==(_join$source_table_na=join.source_table_name)&&void 0!==_join$source_table_na?_join$source_table_na:null},clearModalFields:()=>null}],selectedJoiningTableName:[null,{selectJoiningTable:(_,_ref5)=>{let{selectedTableName}=_ref5;return selectedTableName},toggleEditJoinModal:(_,_ref6)=>{var _join$joining_table_n;let{join}=_ref6;return null!==(_join$joining_table_n=join.joining_table_name)&&void 0!==_join$joining_table_n?_join$joining_table_n:null},clearModalFields:()=>null}],selectedSourceKey:[null,{selectSourceKey:(_,_ref7)=>{let{selectedKey}=_ref7;return selectedKey},toggleEditJoinModal:(_,_ref8)=>{var _join$source_table_ke;let{join}=_ref8;return null!==(_join$source_table_ke=join.source_table_key)&&void 0!==_join$source_table_ke?_join$source_table_ke:null}}],selectedJoiningKey:[null,{selectJoiningKey:(_,_ref9)=>{let{selectedKey}=_ref9;return selectedKey},toggleEditJoinModal:(_,_ref10)=>{var _join$joining_table_k;let{join}=_ref10;return null!==(_join$joining_table_k=join.joining_table_key)&&void 0!==_join$joining_table_k?_join$joining_table_k:null}}],fieldName:["",{setFieldName:(_,_ref11)=>{let{fieldName}=_ref11;return fieldName},selectJoiningTable:(_,_ref12)=>{let{selectedTableName}=_ref12;return selectedTableName},toggleEditJoinModal:(_,_ref13)=>{var _join$field_name;let{join}=_ref13;return null!==(_join$field_name=join.field_name)&&void 0!==_join$field_name?_join$field_name:""},clearModalFields:()=>""}],experimentsOptimized:[!1,{setExperimentsOptimized:(_,_ref14)=>{let{experimentsOptimized}=_ref14;return experimentsOptimized},toggleEditJoinModal:(_,_ref15)=>{var _join$configuration$e;let{join}=_ref15;return null!==(_join$configuration$e=join.configuration?.experiments_optimized)&&void 0!==_join$configuration$e&&_join$configuration$e},clearModalFields:()=>!1}],experimentsTimestampKey:[null,{selectExperimentsTimestampKey:(_,_ref16)=>{let{experimentsTimestampKey}=_ref16;return experimentsTimestampKey},toggleEditJoinModal:(_,_ref17)=>{var _join$configuration$e2;let{join}=_ref17;return null!==(_join$configuration$e2=join.configuration?.experiments_timestamp_key)&&void 0!==_join$configuration$e2?_join$configuration$e2:null},clearModalFields:()=>null}],isJoinTableModalOpen:[!1,{toggleJoinTableModal:state=>!state,toggleEditJoinModal:()=>!0,toggleNewJoinModal:()=>!0}],error:[null,{setError:(_,_ref18)=>{let{error}=_ref18;return error},clearModalFields:()=>null}]}),(0,kea_forms__WEBPACK_IMPORTED_MODULE_1__.forms)(_ref19=>{let{actions,values}=_ref19;return{viewLink:{defaults:NEW_VIEW_LINK,errors:_ref20=>{let{source_table_name,joining_table_name}=_ref20;return{source_table_name:values.isNewJoin&&!source_table_name?"Must select a table":void 0,joining_table_name:joining_table_name?void 0:"Must select a table"}},submit:async _ref21=>{var _values$selectedSourc,_values$selectedJoini,_values$experimentsTi,_values$selectedSourc2,_values$selectedJoini2,_values$experimentsTi2;let{joining_table_name,source_table_name}=_ref21;if(values.joinToEdit?.id&&values.selectedSourceTable)try{await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.dataWarehouseViewLinks.update(values.joinToEdit.id,{source_table_name:null!=source_table_name?source_table_name:values.selectedSourceTable.name,source_table_key:null!==(_values$selectedSourc=values.selectedSourceKey)&&void 0!==_values$selectedSourc?_values$selectedSourc:void 0,joining_table_name,joining_table_key:null!==(_values$selectedJoini=values.selectedJoiningKey)&&void 0!==_values$selectedJoini?_values$selectedJoini:void 0,field_name:values.fieldName,configuration:{experiments_optimized:values.experimentsOptimized,experiments_timestamp_key:null!==(_values$experimentsTi=values.experimentsTimestampKey)&&void 0!==_values$experimentsTi?_values$experimentsTi:void 0}}),actions.toggleJoinTableModal(),actions.loadJoins(),actions.loadDatabase(),posthog_js__WEBPACK_IMPORTED_MODULE_4__.ZP.capture("join updated")}catch(error){actions.setError(error.detail)}else if(values.selectedSourceTable)try{await lib_api__WEBPACK_IMPORTED_MODULE_3__.ZP.dataWarehouseViewLinks.create({source_table_name:null!=source_table_name?source_table_name:values.selectedSourceTable.name,source_table_key:null!==(_values$selectedSourc2=values.selectedSourceKey)&&void 0!==_values$selectedSourc2?_values$selectedSourc2:void 0,joining_table_name,joining_table_key:null!==(_values$selectedJoini2=values.selectedJoiningKey)&&void 0!==_values$selectedJoini2?_values$selectedJoini2:void 0,field_name:values.fieldName,configuration:{experiments_optimized:values.experimentsOptimized,experiments_timestamp_key:null!==(_values$experimentsTi2=values.experimentsTimestampKey)&&void 0!==_values$experimentsTi2?_values$experimentsTi2:void 0}}),actions.toggleJoinTableModal(),actions.loadJoins(),actions.loadDatabase(),posthog_js__WEBPACK_IMPORTED_MODULE_4__.ZP.capture("join created")}catch(error){actions.setError(error.detail)}}}}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.listeners)(_ref22=>{let{actions}=_ref22;return{toggleEditJoinModal:_ref23=>{let{join}=_ref23;actions.setViewLinkValues(join)},setExperimentsOptimized:_ref24=>{let{experimentsOptimized}=_ref24;experimentsOptimized||actions.selectExperimentsTimestampKey(null)},selectExperimentsTimestampKey:_ref25=>{let{experimentsTimestampKey}=_ref25;experimentsTimestampKey&&actions.setExperimentsOptimized(!0)}}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.selectors)({selectedSourceTable:[s=>[s.selectedSourceTableName,s.allTables],(selectedSourceTableName,tables)=>tables.find(row=>row.name===selectedSourceTableName)],selectedJoiningTable:[s=>[s.selectedJoiningTableName,s.allTables],(selectedJoiningTableName,tables)=>tables.find(row=>row.name===selectedJoiningTableName)],sourceIsUsingHogQLExpression:[s=>[s.selectedSourceKey,s.selectedSourceTable],(sourceKey,sourceTable)=>{var _sourceTable$fields;if(null===sourceKey)return!1;let column=Object.values(null!==(_sourceTable$fields=sourceTable?.fields)&&void 0!==_sourceTable$fields?_sourceTable$fields:{}).find(n=>n.name==sourceKey);return!column}],joiningIsUsingHogQLExpression:[s=>[s.selectedJoiningKey,s.selectedJoiningTable],(joiningKey,joiningTable)=>{var _joiningTable$fields;if(null===joiningKey)return!1;let column=Object.values(null!==(_joiningTable$fields=joiningTable?.fields)&&void 0!==_joiningTable$fields?_joiningTable$fields:{}).find(n=>n.name==joiningKey);return!column}],tableOptions:[s=>[s.allTables],tables=>tables.map(table=>({value:table.name,label:table.name}))],sourceTableKeys:[s=>[s.selectedSourceTable],selectedSourceTable=>selectedSourceTable?Object.values(selectedSourceTable.fields).filter(column=>"view"!==column.type).map(column=>({value:column.name,label:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_ViewLinkModal__WEBPACK_IMPORTED_MODULE_7__.YS,{column:column})})):[]],joiningTableKeys:[s=>[s.selectedJoiningTable],selectedJoiningTable=>selectedJoiningTable?Object.values(selectedJoiningTable.fields).filter(column=>"view"!==column.type).map(column=>({value:column.name,label:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_ViewLinkModal__WEBPACK_IMPORTED_MODULE_7__.YS,{column:column})})):[]],sqlCodeSnippet:[s=>[s.selectedSourceTableName,s.selectedJoiningTableName,s.fieldName],(selectedSourceTableName,joiningTableName,fieldName)=>{if(!selectedSourceTableName||!joiningTableName)return null;let tableAlias=selectedSourceTableName[0];return`SELECT ${tableAlias}.${fieldName||""} FROM ${selectedSourceTableName} ${tableAlias}`}]}),(0,kea_subscriptions__WEBPACK_IMPORTED_MODULE_2__.Vt)(_ref26=>{let{actions}=_ref26;return{isJoinTableModalOpen:isOpen=>{isOpen||(actions.clearModalFields(),actions.resetViewLink())}}})])},"./frontend/src/scenes/dataThemeLogic.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{I:()=>ThemeName,Q:()=>dataThemeLogic});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_loaders__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea-loaders@3.0.0_kea@3.1.5/node_modules/kea-loaders/lib/index.js"),lib_api__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/api.ts"),_teamLogic__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/scenes/teamLogic.tsx"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let ThemeName=_ref=>{let{id}=_ref,{themes}=(0,kea__WEBPACK_IMPORTED_MODULE_0__.useValues)(dataThemeLogic),theme=themes?.find(theme=>theme.id===id);return theme?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("span",{children:theme.name}):(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)("span",{className:"italic",children:["No theme found for id: ",id]})},dataThemeLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.props)({}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(["scenes","dataThemeLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.connect)({values:[_teamLogic__WEBPACK_IMPORTED_MODULE_3__.H,["currentTeam"]]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)({setThemes:themes=>({themes})}),(0,kea_loaders__WEBPACK_IMPORTED_MODULE_1__.loaders)(_ref2=>{let{props}=_ref2;return{themes:[props.themes||null,{loadThemes:async()=>await lib_api__WEBPACK_IMPORTED_MODULE_2__.ZP.dataColorThemes.list()}]}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)({themes:{setThemes:(_,_ref3)=>{let{themes}=_ref3;return themes}}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.selectors)({posthogTheme:[s=>[s.themes],themes=>themes?themes.sort(theme=>theme.id).find(theme=>theme.is_global):null],defaultTheme:[s=>[s.currentTeam,s.themes,s.posthogTheme],(currentTeam,themes,posthogTheme)=>{if(!currentTeam||!themes)return null;let environmentTheme=themes.find(theme=>theme.id===currentTeam.default_data_theme);return environmentTheme||posthogTheme}],getTheme:[s=>[s.themes,s.defaultTheme],(themes,defaultTheme)=>themeId=>{let customTheme;return(Number.isInteger(themeId)&&null!=themes&&(customTheme=themes.find(theme=>theme.id===themeId)),customTheme)?customTheme.colors.reduce((theme,color,index)=>(theme[`preset-${index+1}`]=color,theme),{}):defaultTheme?defaultTheme.colors.reduce((theme,color,index)=>(theme[`preset-${index+1}`]=color,theme),{}):null}]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.afterMount)(_ref4=>{let{actions}=_ref4;actions.loadThemes()})])},"./frontend/src/scenes/debug/HogDebug.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{O:()=>HogDebug});var clsx__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__("./node_modules/.pnpm/clsx@1.2.1/node_modules/clsx/dist/clsx.m.js"),kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),lib_lemon_ui_LemonButton__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonButton/index.ts"),lib_lemon_ui_LemonDivider__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonDivider/index.ts"),lib_lemon_ui_LemonTabs__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonTabs/index.ts"),lib_monaco_CodeEditor__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/monaco/CodeEditor.tsx"),react__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/index.js"),_queries_nodes_DataNode_dataNodeLogic__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/queries/nodes/DataNode/dataNodeLogic.ts"),_queries_nodes_DataNode_ElapsedTime__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/queries/nodes/DataNode/ElapsedTime.tsx"),_queries_nodes_DataNode_Reload__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./frontend/src/queries/nodes/DataNode/Reload.tsx"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let uniqueNode=0;function HogQueryEditor(props){var _props$queryKey;let monacoDisposables=(0,react__WEBPACK_IMPORTED_MODULE_5__.useRef)([]);(0,react__WEBPACK_IMPORTED_MODULE_5__.useEffect)(()=>()=>{monacoDisposables.current.forEach(d=>d?.dispose())},[]);let[queryInput,setQueryInput]=(0,react__WEBPACK_IMPORTED_MODULE_5__.useState)(props.query.code);(0,react__WEBPACK_IMPORTED_MODULE_5__.useEffect)(()=>{setQueryInput(props.query?.code)},[props.query?.code]);let[realKey]=(0,react__WEBPACK_IMPORTED_MODULE_5__.useState)(()=>uniqueNode++);function saveQuery(){props.setQuery&&props.setQuery({...props.query,code:queryInput})}return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)("div",{className:"space-y-2",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)("div",{"data-attr":"hogql-query-editor",className:(0,clsx__WEBPACK_IMPORTED_MODULE_10__.default)("flex flex-col rounded space-y-2 w-full p-2 border"),children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)("div",{className:"relative flex-1 overflow-hidden",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)("div",{className:"resize-y overflow-hidden h-[222px]",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(lib_monaco_CodeEditor__WEBPACK_IMPORTED_MODULE_4__.p,{queryKey:null!==(_props$queryKey=props.queryKey)&&void 0!==_props$queryKey?_props$queryKey:`new/${realKey}`,className:"border rounded overflow-hidden h-full",language:"hog",value:queryInput,onChange:v=>setQueryInput(null!=v?v:""),height:"100%",onMount:(editor,monaco)=>{monacoDisposables.current.push(editor.addAction({id:"saveAndRunPostHog",label:"Save and run query",keybindings:[monaco.KeyMod.CtrlCmd|monaco.KeyCode.Enter],run:()=>saveQuery()}))},options:{minimap:{enabled:!1},wordWrap:"on",scrollBeyondLastLine:!1,automaticLayout:!0,fixedOverflowWidgets:!0,suggest:{showInlineDetails:!0},quickSuggestionsDelay:300}})})}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)("div",{className:"flex flex-row",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)("div",{className:"flex-1",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(lib_lemon_ui_LemonButton__WEBPACK_IMPORTED_MODULE_1__.J,{onClick:saveQuery,type:"primary",disabledReason:props.setQuery?void 0:"No permission to update",center:!0,fullWidth:!0,"data-attr":"hogql-query-editor-save",children:props.setQuery?"Update and run":"No permission to update"})})})]})})}function HogDebug(_ref){var _response$stdout,_response$results,_response$results2;let{query,setQuery,queryKey,debug}=_ref,dataNodeLogicProps={query,key:queryKey,dataNodeCollectionId:queryKey},{dataLoading,response:_response}=(0,kea__WEBPACK_IMPORTED_MODULE_0__.useValues)((0,_queries_nodes_DataNode_dataNodeLogic__WEBPACK_IMPORTED_MODULE_6__.M)(dataNodeLogicProps)),[tab,setTab]=(0,react__WEBPACK_IMPORTED_MODULE_5__.useState)("results");return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(kea__WEBPACK_IMPORTED_MODULE_0__.BindLogic,{logic:_queries_nodes_DataNode_dataNodeLogic__WEBPACK_IMPORTED_MODULE_6__.M,props:dataNodeLogicProps,children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)("div",{className:"space-y-2",children:[setQuery?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.Fragment,{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(HogQueryEditor,{query:query,setQuery:setQuery,queryKey:queryKey}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(lib_lemon_ui_LemonDivider__WEBPACK_IMPORTED_MODULE_2__.p,{className:"my-4"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)("div",{className:"flex gap-2",children:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_queries_nodes_DataNode_Reload__WEBPACK_IMPORTED_MODULE_8__.L,{})})]}):null,dataLoading?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.Fragment,{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)("h2",{children:"Running query..."}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)("div",{className:"flex",children:["Time elapsed:\xa0",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_queries_nodes_DataNode_ElapsedTime__WEBPACK_IMPORTED_MODULE_7__.W,{})]})]}):(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.Fragment,{children:[debug?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(lib_lemon_ui_LemonTabs__WEBPACK_IMPORTED_MODULE_3__.T,{tabs:[{label:"Results",key:"results"},{label:"Stdout",key:"stdout"},{label:"Bytecode",key:"coloredBytecode"},{label:"Raw bytecode",key:"bytecode"}],activeKey:tab,onChange:key=>setTab(String(key))}):null,"bytecode"===tab&&debug?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(lib_monaco_CodeEditor__WEBPACK_IMPORTED_MODULE_4__.p,{className:"border",language:"json",value:_response?.bytecode?JSON.stringify(_response?.bytecode):"No bytecode returned with response",height:500,path:`debug/${queryKey}/hog-bytecode.json`,options:{wordWrap:"on"}}):"coloredBytecode"===tab&&debug?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(lib_monaco_CodeEditor__WEBPACK_IMPORTED_MODULE_4__.p,{className:"border",language:"swift",value:_response?.coloredBytecode&&Array.isArray(_response?.coloredBytecode)?_response?.coloredBytecode.map(a=>a.startsWith("op.")?a:` ${a}`).join("\n"):"No bytecode returned with response",height:500,path:`debug/${queryKey}/hog-bytecode.json`,options:{wordWrap:"on",lineNumbers:nr=>String(nr-1)}}):"stdout"===tab?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(lib_monaco_CodeEditor__WEBPACK_IMPORTED_MODULE_4__.p,{className:"border",language:"text",value:String(null!==(_response$stdout=_response?.stdout)&&void 0!==_response$stdout?_response$stdout:"No bytecode returned with response"),height:500,path:`debug/${queryKey}/hog-stdout.txt`,options:{wordWrap:"on"}}):(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(lib_monaco_CodeEditor__WEBPACK_IMPORTED_MODULE_4__.p,{className:"border",language:"object"==typeof _response?.results?"json":"text",value:"object"==typeof _response?.results?JSON.stringify(null!==(_response$results=_response?.results)&&void 0!==_response$results?_response$results:"",null,2):String(null!==(_response$results2=_response?.results)&&void 0!==_response$results2?_response$results2:""),height:500,path:`debug/${queryKey}/hog-result.json`,options:{wordWrap:"on"}})]})]})})}},"./frontend/src/scenes/early-access-features/EarlyAccessFeature.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{EarlyAccessFeature:()=>EarlyAccessFeature,PersonList:()=>PersonList,scene:()=>scene});var posthog_icons_es=__webpack_require__("./node_modules/.pnpm/@posthog+icons@0.9.2_react-dom@18.2.0_react@18.2.0/node_modules/@posthog/icons/dist/posthog-icons.es.js"),src=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),clsx_m=__webpack_require__("./node_modules/.pnpm/clsx@1.2.1/node_modules/clsx/dist/clsx.m.js"),index_esm=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),lib=__webpack_require__("./node_modules/.pnpm/kea-forms@3.2.0_kea@3.1.5/node_modules/kea-forms/lib/index.js"),kea_router_lib=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),FlagSelector=__webpack_require__("./frontend/src/lib/components/FlagSelector.tsx"),NotFound=__webpack_require__("./frontend/src/lib/components/NotFound/index.tsx"),PageHeader=__webpack_require__("./frontend/src/lib/components/PageHeader.tsx"),useFeatureFlag=__webpack_require__("./frontend/src/lib/hooks/useFeatureFlag.ts"),LemonDialog=__webpack_require__("./frontend/src/lib/lemon-ui/LemonDialog/index.ts"),LemonField=__webpack_require__("./frontend/src/lib/lemon-ui/LemonField/index.ts"),LemonTabs=__webpack_require__("./frontend/src/lib/lemon-ui/LemonTabs/index.ts"),react=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/index.js"),LinkedHogFunctions=__webpack_require__("./frontend/src/scenes/pipeline/hogfunctions/list/LinkedHogFunctions.tsx"),urls=__webpack_require__("./frontend/src/scenes/urls.ts"),Query=__webpack_require__("./frontend/src/queries/Query/Query.tsx"),schema=__webpack_require__("./frontend/src/queries/schema.ts"),types=__webpack_require__("./frontend/src/types.ts"),earlyAccessFeatureLogic=__webpack_require__("./frontend/src/scenes/early-access-features/earlyAccessFeatureLogic.ts"),CodeSnippet=__webpack_require__("./frontend/src/lib/components/CodeSnippet/index.ts");let early_access_feature_demo=__webpack_require__.p+"images/early-access-feature-demo.8931b5833f0ea2443173aef331bedf12.png";var preflightLogic=__webpack_require__("./frontend/src/scenes/PreflightCheck/preflightLogic.tsx"),jsx_runtime=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function InstructionsModal(_ref){let{onClose,visible,flag}=_ref,{preflight}=(0,index_esm.useValues)(preflightLogic.preflightLogic),panels=preflight?.cloud?(0,jsx_runtime.jsx)(src.JL,{className:"mt-2 bg-bg-light",defaultActiveKey:"1",panels:[{key:"1",header:"Option 1: Widget Site App",content:(0,jsx_runtime.jsxs)("div",{children:["Give your users a"," ",(0,jsx_runtime.jsx)(src.rU,{to:urls.j.pipelineNodeNew(types.We.SiteApp,preflight?.region===types.yp.EU?332:574),children:"prebuilt widget"})," ","to opt-in to features",(0,jsx_runtime.jsx)("img",{className:"max-h-full max-w-full mt-2.5",src:early_access_feature_demo})]})},{key:"2",header:"Option 2: Custom implementation",content:(0,jsx_runtime.jsxs)("div",{children:[(0,jsx_runtime.jsx)("b",{children:"Opt user in"}),(0,jsx_runtime.jsx)("div",{children:(0,jsx_runtime.jsx)(FeatureEnrollInstructions,{flag:flag})}),(0,jsx_runtime.jsx)("b",{children:"Opt user out"}),(0,jsx_runtime.jsx)("div",{children:(0,jsx_runtime.jsx)(FeatureUnenrollInstructions,{flag:flag})}),(0,jsx_runtime.jsx)("b",{children:"Retrieve Previews"}),(0,jsx_runtime.jsx)("div",{children:(0,jsx_runtime.jsx)(RetrievePreviewsInstructions,{})})]})}]}):(0,jsx_runtime.jsxs)("div",{children:[(0,jsx_runtime.jsx)("b",{children:"Opt user in"}),(0,jsx_runtime.jsx)("div",{children:(0,jsx_runtime.jsx)(FeatureEnrollInstructions,{flag:flag})}),(0,jsx_runtime.jsx)("b",{children:"Opt user out"}),(0,jsx_runtime.jsx)("div",{children:(0,jsx_runtime.jsx)(FeatureUnenrollInstructions,{flag:flag})}),(0,jsx_runtime.jsx)("b",{children:"Retrieve Previews"}),(0,jsx_runtime.jsx)("div",{children:(0,jsx_runtime.jsx)(RetrievePreviewsInstructions,{})})]});return(0,jsx_runtime.jsx)(src.fQ,{title:"How to implement opt-in feature flags",isOpen:visible,onClose:onClose,width:640,children:(0,jsx_runtime.jsxs)("div",{children:[(0,jsx_runtime.jsx)("div",{className:"mb-2",children:"Implement manual release condition toggles to give your users the ability choose which features they want to try"}),panels]})})}function FeatureEnrollInstructions(_ref2){let{flag}=_ref2;return(0,jsx_runtime.jsx)(CodeSnippet.O,{language:CodeSnippet.S.JavaScript,wrap:!0,children:`posthog.updateEarlyAccessFeatureEnrollment("${flag}", true) `})}function FeatureUnenrollInstructions(_ref3){let{flag}=_ref3;return(0,jsx_runtime.jsx)(CodeSnippet.O,{language:CodeSnippet.S.JavaScript,wrap:!0,children:`posthog.updateEarlyAccessFeatureEnrollment("${flag}", false) @@ -382,5 +382,5 @@ MIICVjCCAb+gAwIBAgIBADANBgkqhkiG9w0BAQ0FADBIMQswCQYDVQQGEwJ1czEL AND timestamp >= '${startDate}' AND timestamp <= '${endDate}' LIMIT 20 - `},responseJSON=await api.ZP.query(query),{results}=responseJSON,events=results?.map(r=>{let distinct_id=r[0],properties=JSON.parse(r[1]),personProperties=JSON.parse(r[2]);return{distinct_id,properties,personProperties}})||[];return{...values.surveyOpenTextResults,[questionIndex]:{events}}}}}}),(0,index_esm.listeners)(_ref11=>{let{actions,values}=_ref11;return{createSurveySuccess:_ref12=>{let{survey}=_ref12;src.UJ.success((0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["Survey ",survey.name," created"]})),actions.loadSurveys(),kea_router_lib.router.actions.replace(urls.j.survey(survey.id)),actions.reportSurveyCreated(survey)},updateSurveySuccess:_ref13=>{let{survey}=_ref13;src.UJ.success((0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["Survey ",survey.name," updated"]})),actions.editingSurvey(!1),actions.reportSurveyEdited(survey),actions.loadSurveys()},duplicateSurveySuccess:()=>{actions.loadSurveys()},launchSurveySuccess:_ref14=>{let{survey}=_ref14;src.UJ.success((0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["Survey ",survey.name," launched"]})),actions.loadSurveys()},stopSurveySuccess:()=>{actions.loadSurveys()},resumeSurveySuccess:()=>{actions.loadSurveys()},archiveSurvey:()=>{actions.updateSurvey({archived:!0})},loadSurveySuccess:()=>{actions.loadSurveyUserStats()},resetSurveyResponseLimits:()=>{actions.setSurveyValue("responses_limit",null)},resetSurveyAdaptiveSampling:()=>{actions.setSurveyValues({response_sampling_interval:null,response_sampling_interval_type:null,response_sampling_limit:null,response_sampling_start_date:null,response_sampling_daily_limits:null})},resetTargeting:()=>{actions.setSurveyValue("linked_flag_id",constants.Uo.linked_flag_id),actions.setSurveyValue("targeting_flag_filters",constants.Uo.targeting_flag_filters),actions.setSurveyValue("linked_flag",constants.Uo.linked_flag),actions.setSurveyValue("targeting_flag",constants.Uo.targeting_flag),actions.setSurveyValue("conditions",constants.Uo.conditions),actions.setSurveyValue("remove_targeting_flag",!0),actions.setSurveyValue("responses_limit",constants.Uo.responses_limit),actions.setSurveyValues({iteration_count:constants.Uo.iteration_count,iteration_frequency_days:constants.Uo.iteration_frequency_days})},submitSurveyFailure:async()=>{(0,utils.bv)(values.flagPropertyErrors)||values.urlMatchTypeValidationError?actions.setSelectedSection(SurveyEditSection.DisplayConditions):actions.setSelectedSection(SurveyEditSection.Steps),setTimeout(()=>document.querySelector(".Field--error")?.scrollIntoView({block:"center",behavior:"smooth"}),5)}}}),(0,index_esm.reducers)({isEditingSurvey:[!1,{editingSurvey:(_,_ref15)=>{let{editing}=_ref15;return editing}}],surveyMissing:[!1,{setSurveyMissing:()=>!0}],dataCollectionType:["until_stopped",{setDataCollectionType:(_,_ref16)=>{let{dataCollectionType}=_ref16;return dataCollectionType}}],survey:[{...constants.Uo},{setDefaultForQuestionType:(state,_ref17)=>{let{idx,type,isEditingQuestion,isEditingDescription,isEditingThankYouMessage}=_ref17,question=isEditingQuestion?state.questions[idx].question:constants.Tc[type].questions[0].question,description=isEditingDescription?state.questions[idx].description:constants.Tc[type].questions[0].description,thankYouMessageHeader=isEditingThankYouMessage?state.appearance?.thankYouMessageHeader:constants.Tc[type].appearance.thankYouMessageHeader,newQuestions=[...state.questions];return newQuestions[idx]={...state.questions[idx],...constants.Tc[type].questions[0],question,description},{...state,questions:newQuestions,appearance:{...state.appearance,...constants.Tc[type].appearance,thankYouMessageHeader}}},setSurveyTemplateValues:(_,_ref18)=>{let{template}=_ref18,newTemplateSurvey={...constants.Uo,...template};return newTemplateSurvey},setQuestionBranchingType:(state,_ref19)=>{let{questionIndex,type,specificQuestionIndex}=_ref19,newQuestions=[...state.questions],question=newQuestions[questionIndex];if(type===types.kv.NextQuestion)delete question.branching;else if(type===types.kv.End)question.branching={type:types.kv.End};else if(type===types.kv.ResponseBased){if(question.type!==types.I9.Rating&&question.type!==types.I9.SingleChoice)throw Error(`Survey question type must be ${types.I9.Rating} or ${types.I9.SingleChoice}`);question.branching={type:types.kv.ResponseBased,responseValues:{}}}else type===types.kv.SpecificQuestion&&(question.branching={type:types.kv.SpecificQuestion,index:specificQuestionIndex});return newQuestions[questionIndex]=question,{...state,questions:newQuestions}},setResponseBasedBranchingForQuestion:(state,_ref20)=>{let{questionIndex,responseValue,nextStep,specificQuestionIndex}=_ref20,newQuestions=[...state.questions],question=newQuestions[questionIndex];if(question.type!==types.I9.Rating&&question.type!==types.I9.SingleChoice)throw Error(`Survey question type must be ${types.I9.Rating} or ${types.I9.SingleChoice}`);if(question.branching?.type!==types.kv.ResponseBased)throw Error(`Survey question branching type must be ${types.kv.ResponseBased}`);return"responseValues"in question.branching&&(nextStep===types.kv.NextQuestion?delete question.branching.responseValues[responseValue]:nextStep===types.kv.End?question.branching.responseValues[responseValue]=types.kv.End:nextStep===types.kv.SpecificQuestion&&(question.branching.responseValues[responseValue]=specificQuestionIndex)),newQuestions[questionIndex]=question,{...state,questions:newQuestions}},resetBranchingForQuestion:(state,_ref21)=>{let{questionIndex}=_ref21,newQuestions=[...state.questions],question=newQuestions[questionIndex];return delete question.branching,newQuestions[questionIndex]=question,{...state,questions:newQuestions}},deleteBranchingLogic:state=>{let newQuestions=[...state.questions];return newQuestions.forEach(question=>{delete question.branching}),{...state,questions:newQuestions}}}],selectedPageIndex:[0,{setSelectedPageIndex:(_,_ref22)=>{let{idx}=_ref22;return idx}}],selectedSection:[SurveyEditSection.Steps,{setSelectedSection:(_,_ref23)=>{let{section}=_ref23;return section}}],surveyRatingResultsReady:[{},{loadSurveyRatingResultsSuccess:(state,_ref24)=>{let{payload}=_ref24;return payload&&payload.hasOwnProperty("questionIndex")?{...state,[payload.questionIndex]:!0}:{...state}}}],surveyRecurringNPSResultsReady:[{},{loadSurveyRecurringNPSResultsSuccess:(state,_ref25)=>{let{payload}=_ref25;return payload&&payload.hasOwnProperty("questionIndex")?{...state,[payload.questionIndex]:!0}:{...state}}}],surveySingleChoiceResultsReady:[{},{loadSurveySingleChoiceResultsSuccess:(state,_ref26)=>{let{payload}=_ref26;return payload&&payload.hasOwnProperty("questionIndex")?{...state,[payload.questionIndex]:!0}:{...state}}}],surveyMultipleChoiceResultsReady:[{},{loadSurveyMultipleChoiceResultsSuccess:(state,_ref27)=>{let{payload}=_ref27;return payload&&payload.hasOwnProperty("questionIndex")?{...state,[payload.questionIndex]:!0}:{...state}}}],surveyOpenTextResultsReady:[{},{loadSurveyOpenTextResultsSuccess:(state,_ref28)=>{let{payload}=_ref28;return payload&&payload.hasOwnProperty("questionIndex")?{...state,[payload.questionIndex]:!0}:{...state}}}],writingHTMLDescription:[!1,{setWritingHTMLDescription:(_,_ref29)=>{let{writingHTML}=_ref29;return writingHTML}}],schedule:["once",{setSchedule:(_,_ref30)=>{let{schedule}=_ref30;return schedule}}],flagPropertyErrors:[null,{setFlagPropertyErrors:(_,_ref31)=>{let{errors}=_ref31;return errors}}]}),(0,index_esm.selectors)({isSurveyRunning:[s=>[s.survey],survey=>!!(survey.start_date&&!survey.end_date)],surveyUsesLimit:[s=>[s.survey],survey=>!!(survey.responses_limit&&survey.responses_limit>0)],surveyUsesAdaptiveLimit:[s=>[s.survey],survey=>!!(survey.response_sampling_interval&&survey.response_sampling_interval>0&&""!==survey.response_sampling_interval_type&&survey.response_sampling_limit&&survey.response_sampling_limit>0)],surveyShufflingQuestionsAvailable:[s=>[s.survey],survey=>survey.questions.length>1],showSurveyRepeatSchedule:[s=>[s.schedule],schedule=>"recurring"==schedule],descriptionContentType:[s=>[s.survey],survey=>questionIndex=>survey.questions[questionIndex].descriptionContentType],surveyRepeatedActivationAvailable:[s=>[s.survey],survey=>survey.conditions?.events?.values!=void 0&&survey.conditions?.events?.values?.length>0],hasTargetingSet:[s=>[s.survey],survey=>{let hasLinkedFlag=!!survey.linked_flag_id||survey.linked_flag&&Object.keys(survey.linked_flag).length>0,hasTargetingFlag=survey.targeting_flag&&Object.keys(survey.targeting_flag).length>0||survey.targeting_flag_filters&&Object.keys(survey.targeting_flag_filters).length>0,hasOtherConditions=survey.conditions&&Object.keys(survey.conditions).length>0;return!!hasLinkedFlag||!!hasTargetingFlag||!!hasOtherConditions}],breadcrumbs:[s=>[s.survey],survey=>[{key:sceneTypes.x.Surveys,name:"Surveys",path:urls.j.surveys()},{key:[sceneTypes.x.Survey,survey?.id||"new"],name:survey.name}]],dataTableQuery:[s=>[s.survey],survey=>{if("new"===survey.id)return null;let startDate=survey.start_date||survey.created_at;return{kind:schema.OH.DataTableNode,source:{kind:schema.OH.EventsQuery,select:["*",...survey.questions.map((q,i)=>q.type===types.I9.MultipleChoice?`coalesce(arrayStringConcat(JSONExtractArrayRaw(properties, '${getResponseField(i)}'), ', ')) -- ${q.question}`:`coalesce(JSONExtractString(properties, '${getResponseField(i)}')) -- ${q.question}`),"timestamp","person","coalesce(JSONExtractString(properties, '$lib_version')) -- Library Version","coalesce(JSONExtractString(properties, '$lib')) -- Library","coalesce(JSONExtractString(properties, '$current_url')) -- URL"],orderBy:["timestamp DESC"],where:["event == 'survey sent'"],after:startDate,properties:[{type:types.FT.Event,key:"$survey_id",operator:types.WV.Exact,value:survey.id}]},propertiesViaUrl:!0,showExport:!0,showReload:!0,showEventFilter:!1,showPropertyFilter:!0,showTimings:!1}}],targetingFlagFilters:[s=>[s.survey],survey=>survey.targeting_flag_filters?{...survey.targeting_flag_filters,groups:survey.targeting_flag_filters.groups,multivariate:null,payloads:{},super_groups:void 0}:survey.targeting_flag?.filters||void 0],urlMatchTypeValidationError:[s=>[s.survey],survey=>{if(survey.conditions?.urlMatchType===types.HI.Regex&&survey.conditions.url)try{new RegExp(survey.conditions.url)}catch(e){return e.message}return null}],surveyNPSScore:[s=>[s.surveyRatingResults],surveyRatingResults=>{if(surveyRatingResults){let questionIdx=Object.keys(surveyRatingResults)[0],questionResults=surveyRatingResults[questionIdx];if(0===questionResults.total)return"No data available";let data=questionResults.data;if(11===data.length){let promoters=data.slice(9,11).reduce((a,b)=>a+b,0),passives=data.slice(7,9).reduce((a,b)=>a+b,0),detractors=data.slice(0,7).reduce((a,b)=>a+b,0);return((promoters-detractors)/(promoters+passives+detractors)*100).toFixed(1)}}}],getBranchingDropdownValue:[s=>[s.survey],survey=>(questionIndex,question)=>{if(question.branching?.type){let{type}=question.branching;if(type===types.kv.SpecificQuestion){let nextQuestionIndex=question.branching.index;return`${types.kv.SpecificQuestion}:${nextQuestionIndex}`}return type}return questionIndex[s.survey],survey=>(questionIndex,question,response)=>{if(!question.branching||!("responseValues"in question.branching))return types.kv.NextQuestion;if(Number.isInteger(question.branching.responseValues[response])){let nextQuestionIndex=question.branching.responseValues[response];return`${types.kv.SpecificQuestion}:${nextQuestionIndex}`}return question.branching?.responseValues?.[response]?question.branching.responseValues[response]:questionIndex[s.survey],survey=>{let graph=new Map;survey.questions.forEach((question,fromIndex)=>{if(graph.has(fromIndex)||graph.set(fromIndex,new Set),question.branching?.type!==types.kv.End){if(question.branching?.type===types.kv.SpecificQuestion&&Number.isInteger(question.branching.index)){let toIndex=question.branching.index;graph.get(fromIndex).add(toIndex);return}if(question.branching?.type===types.kv.ResponseBased&&(0,utils.Kn)(question.branching?.responseValues))for(let[_,toIndex]of Object.entries(question.branching?.responseValues))Number.isInteger(toIndex)&&graph.get(fromIndex).add(toIndex);if(fromIndex[s.survey],survey=>survey.questions.some(question=>question.branching&&Object.keys(question.branching).length>0)],surveyAsInsightURL:[s=>[s.survey],survey=>{let query={kind:schema.OH.InsightVizNode,source:{kind:schema.OH.TrendsQuery,properties:[{key:"$survey_id",value:survey.id,operator:types.WV.Exact,type:types.FT.Event}],series:[{kind:schema.OH.EventsNode,event:"survey sent",name:"survey sent",math:types.vN.TotalCount},{kind:schema.OH.EventsNode,event:"survey shown",name:"survey shown",math:types.vN.TotalCount},{kind:schema.OH.EventsNode,event:"survey dismissed",name:"survey dismissed",math:types.vN.TotalCount}]}};return urls.j.insightNew(void 0,void 0,query)}]}),(0,lib.forms)(_ref32=>{let{actions,props,values}=_ref32;return{survey:{defaults:{...constants.Uo},errors:_ref33=>{let{name,questions}=_ref33;return{name:!name&&"Please enter a name.",questions:questions.map(question=>{let questionErrors={question:!question.question&&"Please enter a question label."};return question.type===types.I9.Rating?{...questionErrors,display:!question.display&&"Please choose a display type.",scale:!question.scale&&"Please choose a scale.",lowerBoundLabel:!question.lowerBoundLabel&&"Please enter a lower bound label.",upperBoundLabel:!question.upperBoundLabel&&"Please enter an upper bound label."}:question.type===types.I9.SingleChoice||question.type===types.I9.MultipleChoice?{...questionErrors,choices:question.choices.some(choice=>!choice.trim())?"Please ensure all choices are non-empty.":void 0}:questionErrors}),targeting_flag_filters:values.flagPropertyErrors,urlMatchType:values.urlMatchTypeValidationError}},submit:surveyPayload=>{if(values.hasCycle)return actions.reportSurveyCycleDetected(values.survey),src.UJ.error("Your survey contains an endless cycle. Please revisit your branching rules.");actions.editingSurvey(!1),props.id&&"new"!==props.id?actions.updateSurvey(surveyPayload):actions.createSurvey(surveyPayload)}}}}),(0,kea_router_lib.urlToAction)(_ref34=>{var _props$id;let{actions,props}=_ref34;return{[urls.j.survey(null!==(_props$id=props.id)&&void 0!==_props$id?_props$id:"new")]:(_,_ref35,__,_ref36)=>{let{edit}=_ref35,{method}=_ref36;"new"===props.id&&actions.editingSurvey(!0),"PUSH"===method&&(props.id?actions.loadSurvey():actions.resetSurvey()),edit&&actions.editingSurvey(!0)}}}),(0,kea_router_lib.actionToUrl)(_ref37=>{let{values}=_ref37;return{setSurveyTemplateValues:()=>{let hashParams=kea_router_lib.router.values.hashParams;return hashParams.fromTemplate=!0,[urls.j.survey(values.survey.id),kea_router_lib.router.values.searchParams,hashParams]},editingSurvey:_ref38=>{let{editing}=_ref38,searchParams=kea_router_lib.router.values.searchParams;return editing?searchParams.edit=!0:delete searchParams.edit,[kea_router_lib.router.values.location.pathname,kea_router_lib.router.values.searchParams,kea_router_lib.router.values.hashParams]}}}),(0,index_esm.afterMount)(_ref39=>{let{props,actions}=_ref39;"new"!==props.id&&actions.loadSurvey(),"new"===props.id&&actions.resetSurvey()})]);function sanitizeQuestions(surveyPayload){if(!surveyPayload.questions)return surveyPayload;let sanitizedThankYouHeader=sanitizeHTML(surveyPayload.appearance?.thankYouMessageHeader||""),sanitizedThankYouDescription=sanitizeHTML(surveyPayload.appearance?.thankYouMessageDescription||"");return{...surveyPayload,questions:surveyPayload.questions?.map(rawQuestion=>({...rawQuestion,description:sanitizeHTML(rawQuestion.description||""),question:sanitizeHTML(rawQuestion.question||"")})),appearance:{...surveyPayload.appearance,...sanitizedThankYouHeader&&{thankYouMessageHeader:sanitizedThankYouHeader},...sanitizedThankYouDescription&&{thankYouMessageDescription:sanitizedThankYouDescription}}}}},"./frontend/src/scenes/surveys/surveysLogic.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Iq:()=>SurveysTabs,kT:()=>surveysLogic,zs:()=>getSurveyStatus});var _posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),fuse_js__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__("./node_modules/.pnpm/fuse.js@6.6.2/node_modules/fuse.js/dist/fuse.esm.js"),kea__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_loaders__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-loaders@3.0.0_kea@3.1.5/node_modules/kea-loaders/lib/index.js"),kea_router__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),lib_api__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/api.ts"),scenes_sceneTypes__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/scenes/sceneTypes.ts"),scenes_teamLogic__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/scenes/teamLogic.tsx"),scenes_urls__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/scenes/urls.ts"),scenes_userLogic__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./frontend/src/scenes/userLogic.ts"),_types__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./frontend/src/types.ts");let SurveysTabs=function(SurveysTabs){return SurveysTabs.Active="active",SurveysTabs.Yours="yours",SurveysTabs.Archived="archived",SurveysTabs.Notifications="notifications",SurveysTabs.History="history",SurveysTabs.Settings="settings",SurveysTabs}({});function getSurveyStatus(survey){return survey.start_date?survey.end_date?_types__WEBPACK_IMPORTED_MODULE_9__.mN.Complete:_types__WEBPACK_IMPORTED_MODULE_9__.mN.Running:_types__WEBPACK_IMPORTED_MODULE_9__.mN.Draft}let surveysLogic=(0,kea__WEBPACK_IMPORTED_MODULE_1__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_1__.path)(["scenes","surveys","surveysLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_1__.connect)(()=>({values:[scenes_userLogic__WEBPACK_IMPORTED_MODULE_8__.userLogic,["hasAvailableFeature"],scenes_teamLogic__WEBPACK_IMPORTED_MODULE_6__.H,["currentTeam","currentTeamLoading"]],actions:[scenes_teamLogic__WEBPACK_IMPORTED_MODULE_6__.H,["loadCurrentTeam"]]})),(0,kea__WEBPACK_IMPORTED_MODULE_1__.actions)({setSearchTerm:searchTerm=>({searchTerm}),setSurveysFilters:(filters,replace)=>({filters,replace}),setTab:tab=>({tab})}),(0,kea_loaders__WEBPACK_IMPORTED_MODULE_2__.loaders)(_ref=>{let{values}=_ref;return{surveys:{__default:[],loadSurveys:async()=>{let responseSurveys=await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.surveys.list();return responseSurveys.results},deleteSurvey:async id=>(await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.surveys.delete(id),values.surveys.filter(survey=>survey.id!==id)),updateSurvey:async _ref2=>{let{id,updatePayload}=_ref2,updatedSurvey=await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.surveys.update(id,{...updatePayload});return values.surveys.map(survey=>survey.id===id?updatedSurvey:survey)}},surveysResponsesCount:{__default:{},loadResponsesCount:async()=>{let surveysResponsesCount=await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.surveys.getResponsesCount();return surveysResponsesCount}}}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.reducers)({tab:[SurveysTabs.Active,{setTab:(_,_ref3)=>{let{tab}=_ref3;return tab}}],searchTerm:{setSearchTerm:(_,_ref4)=>{let{searchTerm}=_ref4;return searchTerm}},filters:[{archived:!1,status:"any",created_by:null},{setSurveysFilters:(state,_ref5)=>{let{filters}=_ref5;return{...state,...filters}}}]}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.listeners)(_ref6=>{let{actions,values}=_ref6;return{deleteSurveySuccess:()=>{_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.success("Survey deleted"),kea_router__WEBPACK_IMPORTED_MODULE_3__.router.actions.push(scenes_urls__WEBPACK_IMPORTED_MODULE_7__.j.surveys())},updateSurveySuccess:()=>{_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.success("Survey updated"),actions.loadCurrentTeam()},setSurveysFilters:()=>{actions.loadSurveys(),actions.loadResponsesCount()},loadSurveysSuccess:()=>{actions.loadCurrentTeam()},setTab:_ref7=>{let{tab}=_ref7;actions.setSurveysFilters({...values.filters,archived:tab===SurveysTabs.Archived})}}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.selectors)({searchedSurveys:[selectors=>[selectors.surveys,selectors.searchTerm,selectors.filters],(surveys,searchTerm,filters)=>{let searchedSurveys=surveys;if(!searchTerm&&0===Object.keys(filters).length)return searchedSurveys;searchTerm&&(searchedSurveys=new fuse_js__WEBPACK_IMPORTED_MODULE_10__.Z(searchedSurveys,{keys:["key","name"],threshold:.3}).search(searchTerm).map(result=>result.item));let{status,created_by,archived}=filters;return"any"!==status&&(searchedSurveys=searchedSurveys.filter(survey=>getSurveyStatus(survey)===status)),created_by&&(searchedSurveys=searchedSurveys.filter(survey=>survey.created_by?.id===created_by)),searchedSurveys=archived?searchedSurveys.filter(survey=>survey.archived):searchedSurveys.filter(survey=>!survey.archived)}],breadcrumbs:[()=>[],()=>[{key:scenes_sceneTypes__WEBPACK_IMPORTED_MODULE_5__.x.Surveys,name:"Surveys",path:scenes_urls__WEBPACK_IMPORTED_MODULE_7__.j.surveys()}]],surveysStylingAvailable:[s=>[s.hasAvailableFeature],hasAvailableFeature=>hasAvailableFeature(_types__WEBPACK_IMPORTED_MODULE_9__.P$.SURVEYS_STYLING)],globalSurveyAppearanceConfigAvailable:[s=>[s.hasAvailableFeature],hasAvailableFeature=>hasAvailableFeature(_types__WEBPACK_IMPORTED_MODULE_9__.P$.SURVEYS_STYLING)],surveysHTMLAvailable:[s=>[s.hasAvailableFeature],hasAvailableFeature=>hasAvailableFeature(_types__WEBPACK_IMPORTED_MODULE_9__.P$.SURVEYS_TEXT_HTML)],surveysMultipleQuestionsAvailable:[s=>[s.hasAvailableFeature],hasAvailableFeature=>hasAvailableFeature(_types__WEBPACK_IMPORTED_MODULE_9__.P$.SURVEYS_MULTIPLE_QUESTIONS)],surveysRecurringScheduleAvailable:[s=>[s.hasAvailableFeature],hasAvailableFeature=>hasAvailableFeature(_types__WEBPACK_IMPORTED_MODULE_9__.P$.SURVEYS_RECURRING)],surveysEventsAvailable:[s=>[s.hasAvailableFeature],hasAvailableFeature=>hasAvailableFeature(_types__WEBPACK_IMPORTED_MODULE_9__.P$.SURVEYS_EVENTS)],surveysActionsAvailable:[s=>[s.hasAvailableFeature],hasAvailableFeature=>hasAvailableFeature(_types__WEBPACK_IMPORTED_MODULE_9__.P$.SURVEYS_ACTIONS)],showSurveysDisabledBanner:[s=>[s.currentTeam,s.currentTeamLoading,s.surveys],(currentTeam,currentTeamLoading,surveys)=>!currentTeamLoading&¤tTeam&&!currentTeam.surveys_opt_in&&surveys.some(s=>s.start_date&&!s.end_date&&s.type!==_types__WEBPACK_IMPORTED_MODULE_9__.d_.API)]}),(0,kea_router__WEBPACK_IMPORTED_MODULE_3__.actionToUrl)(_ref8=>{let{values}=_ref8;return{setTab:()=>[kea_router__WEBPACK_IMPORTED_MODULE_3__.router.values.location.pathname,{...kea_router__WEBPACK_IMPORTED_MODULE_3__.router.values.searchParams,tab:values.tab}]}}),(0,kea_router__WEBPACK_IMPORTED_MODULE_3__.urlToAction)(_ref9=>{let{actions}=_ref9;return{[scenes_urls__WEBPACK_IMPORTED_MODULE_7__.j.surveys()]:(_,_ref10)=>{let{tab}=_ref10;tab&&actions.setTab(tab)}}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.afterMount)(_ref11=>{let{actions}=_ref11;actions.loadSurveys(),actions.loadResponsesCount()})])},"./frontend/src/scenes/teamLogic.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{H:()=>teamLogic,R:()=>isAuthenticatedTeam});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_loaders__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea-loaders@3.0.0_kea@3.1.5/node_modules/kea-loaders/lib/index.js"),lib_api__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/api.ts"),lib_constants__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/constants.tsx"),lib_lemon_ui_icons__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/lemon-ui/icons/index.ts"),lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonToast/LemonToast.tsx"),lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),lib_utils__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/lib/utils.tsx"),lib_utils_eventUsageLogic__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./frontend/src/lib/utils/eventUsageLogic.ts"),lib_utils_getAppContext__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./frontend/src/lib/utils/getAppContext.ts"),_organizationLogic__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__("./frontend/src/scenes/organizationLogic.tsx"),_projectLogic__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__("./frontend/src/scenes/projectLogic.ts"),_userLogic__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__("./frontend/src/scenes/userLogic.ts"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let parseUpdatedAttributeName=attr=>"slack_incoming_webhook"===attr?"Webhook":"app_urls"===attr?"Authorized URLs":attr?(0,lib_utils__WEBPACK_IMPORTED_MODULE_7__.UV)(attr):"Project";function isAuthenticatedTeam(team){return!!team&&"api_token"in team}let teamLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(["scenes","teamLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.connect)(()=>({actions:[_userLogic__WEBPACK_IMPORTED_MODULE_12__.userLogic,["loadUser","switchTeam"],_organizationLogic__WEBPACK_IMPORTED_MODULE_10__.p,["loadCurrentOrganization"]],values:[_projectLogic__WEBPACK_IMPORTED_MODULE_11__.K,["currentProject"],lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_6__.h,["featureFlags"]]})),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)({deleteTeam:team=>({team}),deleteTeamSuccess:!0,deleteTeamFailure:!0}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)({teamBeingDeleted:[null,{deleteTeam:(_,_ref)=>{let{team}=_ref;return team},deleteTeamSuccess:()=>null,deleteTeamFailure:()=>null}]}),(0,kea_loaders__WEBPACK_IMPORTED_MODULE_1__.loaders)(_ref2=>{let{values,actions}=_ref2;return{currentTeam:[null,{loadCurrentTeam:async()=>{if(!(0,lib_utils__WEBPACK_IMPORTED_MODULE_7__.Pc)())return null;try{return await lib_api__WEBPACK_IMPORTED_MODULE_2__.ZP.get("api/environments/@current")}catch{return values.currentTeam}},updateCurrentTeam:async(payload,breakpoint)=>{let message;if(!values.currentTeam)throw Error("Current team has not been loaded yet, so it cannot be updated!");payload.session_replay_config&&(payload.session_replay_config={...values.currentTeam.session_replay_config,...payload.session_replay_config});let promises=[lib_api__WEBPACK_IMPORTED_MODULE_2__.ZP.update(`api/environments/${values.currentTeam.id}`,payload),void 0];1===Object.keys(payload).length&&payload.name&&values.currentProject&&!values.featureFlags[lib_constants__WEBPACK_IMPORTED_MODULE_3__.y8.ENVIRONMENTS]&&(promises[0]=lib_api__WEBPACK_IMPORTED_MODULE_2__.ZP.update(`api/projects/${values.currentProject.id}`,{name:payload.name}));let[patchedTeam]=await Promise.all(promises);breakpoint(),actions.loadCurrentOrganization(),actions.loadUser();let updatedAttribute=1===Object.keys(payload).length?Object.keys(payload)[0]:null;return message="slack_incoming_webhook"===updatedAttribute?payload.slack_incoming_webhook?`Webhook integration enabled – you should be seeing a message on ${(0,lib_utils__WEBPACK_IMPORTED_MODULE_7__.rt)(payload.slack_incoming_webhook)}`:"Webhook integration disabled":"completed_snippet_onboarding"===updatedAttribute||"has_completed_onboarding_for"===updatedAttribute?"Congrats! You're now ready to use PostHog.":`${parseUpdatedAttributeName(updatedAttribute)} updated successfully!`,Object.keys(payload).map(property=>{lib_utils_eventUsageLogic__WEBPACK_IMPORTED_MODULE_8__.vx.findMounted()?.actions?.reportTeamSettingChange(property,payload[property])}),window.location.pathname.match(/\/(onboarding|products)/)||lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_5__.UJ.success(message),patchedTeam},createTeam:async _ref3=>{let{name,is_demo}=_ref3;if(!values.currentProject)throw Error("Environment could not be created, because the parent project has not been loaded yet!");return await lib_api__WEBPACK_IMPORTED_MODULE_2__.ZP.create(`api/projects/${values.currentProject.id}/environments/`,{name,is_demo})},resetToken:async()=>await lib_api__WEBPACK_IMPORTED_MODULE_2__.ZP.update(`api/environments/${values.currentTeamId}/reset_token`,{}),addProductIntent:async _ref4=>{let{product_type,intent_context}=_ref4;return await lib_api__WEBPACK_IMPORTED_MODULE_2__.ZP.update(`api/environments/${values.currentTeamId}/add_product_intent`,{product_type,intent_context:null!=intent_context?intent_context:void 0})},recordProductIntentOnboardingComplete:async _ref5=>{let{product_type}=_ref5;return await lib_api__WEBPACK_IMPORTED_MODULE_2__.ZP.update(`api/environments/${values.currentTeamId}/complete_product_onboarding`,{product_type})}}]}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.selectors)(()=>({hasOnboardedAnyProduct:[selectors=>[selectors.currentTeam],currentTeam=>!currentTeam||!!currentTeam.completed_snippet_onboarding||!!Object.keys(currentTeam.has_completed_onboarding_for||{}).length],currentTeamId:[selectors=>[selectors.currentTeam],currentTeam=>currentTeam?currentTeam.id:null],isCurrentTeamUnavailable:[selectors=>[selectors.currentTeam,selectors.currentTeamLoading],(currentTeam,currentTeamLoading)=>(!currentTeam?.effective_membership_level||"none"===currentTeam.user_access_level)&&!currentTeamLoading],demoOnlyProject:[selectors=>[selectors.currentTeam,_organizationLogic__WEBPACK_IMPORTED_MODULE_10__.p.selectors.currentOrganization],(currentTeam,currentOrganization)=>currentTeam?.is_demo&¤tOrganization?.teams&&1==currentOrganization.teams.length||!1],funnelCorrelationConfig:[selectors=>[selectors.currentTeam],currentTeam=>currentTeam?.correlation_config||{}],timezone:[selectors=>[selectors.currentTeam],currentTeam=>currentTeam?.timezone||"UTC"],weekStartDay:[selectors=>[selectors.currentTeam],currentTeam=>currentTeam?.week_start_day||0],isTeamTokenResetAvailable:[selectors=>[selectors.currentTeam],currentTeam=>!!currentTeam?.effective_membership_level&¤tTeam.effective_membership_level>=lib_constants__WEBPACK_IMPORTED_MODULE_3__.Dk.Admin||currentTeam?.user_access_level==="admin"],testAccountFilterFrequentMistakes:[selectors=>[selectors.currentTeam],currentTeam=>{if(!currentTeam)return[];let frequentMistakes=[];for(let filter of currentTeam.test_account_filters||[])"email"===filter.key&&"event"===filter.type&&frequentMistakes.push({key:"email",type:"event",fix:"it is more common to filter email by person properties, not event properties"});return frequentMistakes}]})),(0,kea__WEBPACK_IMPORTED_MODULE_0__.listeners)(_ref6=>{let{actions}=_ref6;return{loadCurrentTeamSuccess:_ref7=>{let{currentTeam}=_ref7;currentTeam&&lib_api__WEBPACK_IMPORTED_MODULE_2__.x7.setCurrentTeamId(currentTeam.id)},createTeamSuccess:_ref8=>{let{currentTeam}=_ref8;currentTeam&&actions.switchTeam(currentTeam.id)},deleteTeam:async _ref9=>{let{team}=_ref9;try{await lib_api__WEBPACK_IMPORTED_MODULE_2__.ZP.delete(`api/environments/${team.id}`),location.reload(),actions.deleteTeamSuccess()}catch{actions.deleteTeamFailure()}},deleteTeamSuccess:()=>{lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_5__.UJ.success("Project has been deleted")}}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.afterMount)(_ref10=>{let{actions,values}=_ref10,appContext=(0,lib_utils_getAppContext__WEBPACK_IMPORTED_MODULE_9__.Fj)(),currentTeam=appContext?.current_team,currentProject=appContext?.current_project,switchedTeam=appContext?.switched_team;switchedTeam&&lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_5__.UJ.info((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.Fragment,{children:["You've switched to\xa0project"," ",values.featureFlags[lib_constants__WEBPACK_IMPORTED_MODULE_3__.y8.ENVIRONMENTS]?`${currentProject?.name}, environment ${currentTeam?.name}`:currentTeam?.name]}),{button:{label:"Switch back",action:()=>actions.switchTeam(switchedTeam)},icon:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(lib_lemon_ui_icons__WEBPACK_IMPORTED_MODULE_4__._S,{})}),currentTeam?actions.loadCurrentTeamSuccess(currentTeam):actions.loadCurrentTeam()})])},"./frontend/src/scenes/trends/mathsLogic.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{J$:()=>apiValueToMathType,X1:()=>PROPERTY_MATH_DEFINITIONS,YG:()=>BASE_MATH_DEFINITIONS,Yw:()=>mathTypeToApiValues,Z$:()=>MathCategory,fx:()=>mathsLogic,xo:()=>COUNT_PER_ACTOR_MATH_DEFINITIONS});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),lib_constants__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/lib/constants.tsx"),lib_introductions_groupsAccessLogic__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/introductions/groupsAccessLogic.ts"),lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),_models_groupsModel__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/models/groupsModel.ts"),_types__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/types.ts"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let MathCategory=function(MathCategory){return MathCategory[MathCategory.EventCount=0]="EventCount",MathCategory[MathCategory.SessionCount=1]="SessionCount",MathCategory[MathCategory.ActorCount=2]="ActorCount",MathCategory[MathCategory.EventCountPerActor=3]="EventCountPerActor",MathCategory[MathCategory.PropertyValue=4]="PropertyValue",MathCategory[MathCategory.HogQLExpression=5]="HogQLExpression",MathCategory}({}),FUNNEL_MATH_DEFINITIONS={[_types__WEBPACK_IMPORTED_MODULE_5__.S7.AnyMatch]:{name:"Any events match",shortName:"any event",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:"Any event of this type that matches the filter will count towards the funnel"}),category:MathCategory.EventCount},[_types__WEBPACK_IMPORTED_MODULE_5__.S7.FirstTimeForUser]:{name:"First event for user",shortName:"first event",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:["Only the first time the user performed this event will count towards the funnel, and only if it matches the event filters.",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("i",{children:"Example: If the we are looking for pageview events to posthog.com/about, but the user's first pageview was on posthog.com, it will not match, even if they went to posthog.com/about afterwards."})]}),category:MathCategory.EventCount},[_types__WEBPACK_IMPORTED_MODULE_5__.S7.FirstTimeForUserWithFilters]:{name:"First matching event for user",shortName:"first matching event",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:["The first time the user performed this event that matches the event filters will count towards the funnel.",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("i",{children:"Example: If the we are looking for pageview events to posthog.com/about, and the user's first pageview was on posthog.com but then they navigated to posthog.com/about, it will match the pageview event from posthog.com/about"})]}),category:MathCategory.EventCount}},BASE_MATH_DEFINITIONS={[_types__WEBPACK_IMPORTED_MODULE_5__.vN.TotalCount]:{name:"Total count",shortName:"count",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:["Total event count. Total number of times the event was performed by any user.",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("i",{children:"Example: If a user performs an event 3 times in the given period, it counts as 3."})]}),category:MathCategory.EventCount},[_types__WEBPACK_IMPORTED_MODULE_5__.vN.UniqueUsers]:{name:"Unique users",shortName:"unique users",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:["Number of unique users who performed the event in the specified period.",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("i",{children:"Example: If a single user performs an event 3 times in a given day/week/month, it counts only as 1."})]}),category:MathCategory.ActorCount},[_types__WEBPACK_IMPORTED_MODULE_5__.vN.WeeklyActiveUsers]:{name:"Weekly active users",shortName:"WAUs",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:["Users active in the past week (7 days).",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),"This is a trailing count that aggregates distinct users in the past 7 days for each day in the time series"]}),category:MathCategory.ActorCount},[_types__WEBPACK_IMPORTED_MODULE_5__.vN.MonthlyActiveUsers]:{name:"Monthly active users",shortName:"MAUs",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:["Users active in the past month (30 days).",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),"This is a trailing count that aggregates distinct users in the past 30 days for each day in the time series"]}),category:MathCategory.ActorCount},[_types__WEBPACK_IMPORTED_MODULE_5__.vN.UniqueSessions]:{name:"Unique sessions",shortName:"unique sessions",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:["Number of unique sessions where the event was performed in the specified period.",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("i",{children:"Example: If a single user performs an event 3 times in two separate sessions, it counts as two sessions."})]}),category:MathCategory.SessionCount},[_types__WEBPACK_IMPORTED_MODULE_5__.vN.FirstTimeForUser]:{name:"First time for user",shortName:"first time",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:["Only the first time the user performed this event will count, and only if it matches the event filters.",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("i",{children:"Example: If the we are looking for pageview events to posthog.com/about, but the user's first pageview was on posthog.com, it will not match, even if they went to posthog.com/about afterwards."})]}),category:MathCategory.EventCount},[_types__WEBPACK_IMPORTED_MODULE_5__.vN.FirstMatchingEventForUser]:{name:"First matching event for user",shortName:"first matching event",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:["The first time the user performed this event that matches the event filters will count.",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("i",{children:"Example: If the we are looking for pageview events to posthog.com/about, and the user's first pageview was on posthog.com but then they navigated to posthog.com/about, it will match the pageview event from posthog.com/about"})]}),category:MathCategory.EventCount}},PROPERTY_MATH_DEFINITIONS={[_types__WEBPACK_IMPORTED_MODULE_5__.O4.Average]:{name:"Average",shortName:"average",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:["Average of a property value within an event or action.",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),"For example 3 events captured with property ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("code",{children:"amount"})," equal to 10, 12 and 20, result in 14."]}),category:MathCategory.PropertyValue},[_types__WEBPACK_IMPORTED_MODULE_5__.O4.Sum]:{name:"Sum",shortName:"sum",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:["Sum of property values within an event or action.",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),"For example 3 events captured with property ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("code",{children:"amount"})," equal to 10, 12 and 20, result in 42."]}),category:MathCategory.PropertyValue},[_types__WEBPACK_IMPORTED_MODULE_5__.O4.Minimum]:{name:"Minimum",shortName:"minimum",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:["Event property minimum.",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),"For example 3 events captured with property ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("code",{children:"amount"})," equal to 10, 12 and 20, result in 10."]}),category:MathCategory.PropertyValue},[_types__WEBPACK_IMPORTED_MODULE_5__.O4.Maximum]:{name:"Maximum",shortName:"maximum",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:["Event property maximum.",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),"For example 3 events captured with property ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("code",{children:"amount"})," equal to 10, 12 and 20, result in 20."]}),category:MathCategory.PropertyValue},[_types__WEBPACK_IMPORTED_MODULE_5__.O4.Median]:{name:"Median",shortName:"median",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:["Event property median (50th percentile).",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),"For example 100 events captured with property ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("code",{children:"amount"})," equal to 101..200, result in 150."]}),category:MathCategory.PropertyValue},[_types__WEBPACK_IMPORTED_MODULE_5__.O4.P90]:{name:"90th percentile",shortName:"90th percentile",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:["Event property 90th percentile.",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),"For example 100 events captured with property ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("code",{children:"amount"})," equal to 101..200, result in 190."]}),category:MathCategory.PropertyValue},[_types__WEBPACK_IMPORTED_MODULE_5__.O4.P95]:{name:"95th percentile",shortName:"95th percentile",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:["Event property 95th percentile.",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),"For example 100 events captured with property ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("code",{children:"amount"})," equal to 101..200, result in 195."]}),category:MathCategory.PropertyValue},[_types__WEBPACK_IMPORTED_MODULE_5__.O4.P99]:{name:"99th percentile",shortName:"99th percentile",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:["Event property 99th percentile.",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),"For example 100 events captured with property ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("code",{children:"amount"})," equal to 101..200, result in 199."]}),category:MathCategory.PropertyValue}},HOGQL_MATH_DEFINITIONS={[_types__WEBPACK_IMPORTED_MODULE_5__.mY.HogQL]:{name:"HogQL expression",shortName:"HogQL expression",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:"Aggregate with a custom HogQL expression."}),category:MathCategory.HogQLExpression}},COUNT_PER_ACTOR_MATH_DEFINITIONS={[_types__WEBPACK_IMPORTED_MODULE_5__.D7.Average]:{name:"Average",shortName:"average",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:"Event count per actor average."}),category:MathCategory.EventCountPerActor},[_types__WEBPACK_IMPORTED_MODULE_5__.D7.Minimum]:{name:"Minimum",shortName:"minimum",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:"Event count per actor minimum."}),category:MathCategory.EventCountPerActor},[_types__WEBPACK_IMPORTED_MODULE_5__.D7.Maximum]:{name:"Maximum",shortName:"maximum",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:"Event count per actor maximum."}),category:MathCategory.EventCountPerActor},[_types__WEBPACK_IMPORTED_MODULE_5__.D7.Median]:{name:"Median",shortName:"median",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:"Event count per actor 50th percentile."}),category:MathCategory.EventCountPerActor},[_types__WEBPACK_IMPORTED_MODULE_5__.D7.P90]:{name:"90th percentile",shortName:"90th percentile",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:"Event count per actor 90th percentile."}),category:MathCategory.EventCountPerActor},[_types__WEBPACK_IMPORTED_MODULE_5__.D7.P95]:{name:"95th percentile",shortName:"95th percentile",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:"Event count per actor 95th percentile."}),category:MathCategory.EventCountPerActor},[_types__WEBPACK_IMPORTED_MODULE_5__.D7.P99]:{name:"99th percentile",shortName:"99th percentile",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:"Event count per actor 99th percentile."}),category:MathCategory.EventCountPerActor}};function mathTypeToApiValues(mathType){let[math,mathGroupTypeIndexRaw]=mathType.split("::"),mathGroupTypeIndex=void 0!==mathGroupTypeIndexRaw?parseInt(mathGroupTypeIndexRaw):NaN;return isNaN(mathGroupTypeIndex)?{math}:{math,math_group_type_index:mathGroupTypeIndex}}function apiValueToMathType(math,groupTypeIndex){let assembledMath=math||_types__WEBPACK_IMPORTED_MODULE_5__.vN.TotalCount;return"unique_group"===math&&(assembledMath+=`::${groupTypeIndex}`),assembledMath}let mathsLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(["scenes","trends","mathsLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.connect)({values:[_models_groupsModel__WEBPACK_IMPORTED_MODULE_4__.$,["groupTypes","aggregationLabel"],lib_introductions_groupsAccessLogic__WEBPACK_IMPORTED_MODULE_2__.e,["needsUpgradeForGroups","canStartUsingGroups"],lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_3__.h,["featureFlags"]]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.selectors)({mathDefinitions:[s=>[s.groupsMathDefinitions,s.featureFlags],(groupsMathDefinitions,featureFlags)=>{let allMathDefinitions={...BASE_MATH_DEFINITIONS,...groupsMathDefinitions,...PROPERTY_MATH_DEFINITIONS,...COUNT_PER_ACTOR_MATH_DEFINITIONS,...HOGQL_MATH_DEFINITIONS};return filterMathTypesUnderFeatureFlags(allMathDefinitions,featureFlags)}],funnelMathDefinitions:[s=>[s.featureFlags],featureFlags=>{let funnelMathDefinitions={...FUNNEL_MATH_DEFINITIONS};return filterMathTypesUnderFeatureFlags(funnelMathDefinitions,featureFlags)}],staticMathDefinitions:[s=>[s.groupsMathDefinitions,s.needsUpgradeForGroups,s.featureFlags],(groupsMathDefinitions,needsUpgradeForGroups,featureFlags)=>{let staticMathDefinitions={...BASE_MATH_DEFINITIONS,...needsUpgradeForGroups?{}:groupsMathDefinitions};return filterMathTypesUnderFeatureFlags(staticMathDefinitions,featureFlags)}],staticActorsOnlyMathDefinitions:[s=>[s.staticMathDefinitions],staticMathDefinitions=>Object.fromEntries(Object.entries(staticMathDefinitions).filter(_ref=>{let[,mathDefinition]=_ref;return mathDefinition.category===MathCategory.ActorCount}))],groupsMathDefinitions:[s=>[s.groupTypes,s.aggregationLabel],(groupTypes,aggregationLabel)=>Object.fromEntries(Array.from(groupTypes.values()).map(groupType=>[apiValueToMathType("unique_group",groupType.group_type_index),{name:`Unique ${aggregationLabel(groupType.group_type_index).plural}`,shortName:`unique ${aggregationLabel(groupType.group_type_index).plural}`,description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:["Number of unique ",aggregationLabel(groupType.group_type_index).plural," who performed the event in the specified period.",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)("i",{children:["Example: If 7 users in a single $",aggregationLabel(groupType.group_type_index).singular," perform an event 9 times in the given period, it counts only as 1."]})]}),category:MathCategory.ActorCount}]).filter(Boolean))]})]);function filterMathTypesUnderFeatureFlags(mathDefinitions,featureFlags){let copy={...mathDefinitions};return featureFlags[lib_constants__WEBPACK_IMPORTED_MODULE_1__.y8.FIRST_TIME_FOR_USER_MATH]||delete copy[_types__WEBPACK_IMPORTED_MODULE_5__.vN.FirstTimeForUser],copy}},"./frontend/src/scenes/trends/persons-modal/PersonsModal.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{JY:()=>MissingPersonsAlert,AP:()=>PersonsModal_PersonsModal,Yp:()=>openPersonsModal});var injectStylesIntoStyleTag=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),injectStylesIntoStyleTag_default=__webpack_require__.n(injectStylesIntoStyleTag),PersonsModal=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/trends/persons-modal/PersonsModal.scss"),PersonsModal_default=__webpack_require__.n(PersonsModal),options={};options.insert="head",options.singleton=!1,injectStylesIntoStyleTag_default()(PersonsModal_default(),options),PersonsModal_default().locals;var posthog_icons_es=__webpack_require__("./node_modules/.pnpm/@posthog+icons@0.9.2_react-dom@18.2.0_react@18.2.0/node_modules/@posthog/icons/dist/posthog-icons.es.js"),src=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),index_esm=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),CopyToClipboard=__webpack_require__("./frontend/src/lib/components/CopyToClipboard.tsx"),exportsLogic=__webpack_require__("./frontend/src/lib/components/ExportButton/exportsLogic.ts"),PropertiesTable=__webpack_require__("./frontend/src/lib/components/PropertiesTable/index.ts"),PropertiesTimeline=__webpack_require__("./frontend/src/lib/components/PropertiesTimeline/index.ts"),icons=__webpack_require__("./frontend/src/lib/lemon-ui/icons/index.ts"),LemonTabs=__webpack_require__("./frontend/src/lib/lemon-ui/LemonTabs/index.ts"),ProfilePicture=__webpack_require__("./frontend/src/lib/lemon-ui/ProfilePicture/index.ts"),Spinner=__webpack_require__("./frontend/src/lib/lemon-ui/Spinner/Spinner.tsx"),Tooltip=__webpack_require__("./frontend/src/lib/lemon-ui/Tooltip/index.ts"),utils=__webpack_require__("./frontend/src/lib/utils.tsx"),react=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/index.js"),client=__webpack_require__("./node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/client.js"),EmptyStates=__webpack_require__("./frontend/src/scenes/insights/EmptyStates/index.ts"),insights_utils=__webpack_require__("./frontend/src/scenes/insights/utils.tsx"),GroupActorDisplay=__webpack_require__("./frontend/src/scenes/persons/GroupActorDisplay.tsx"),person_utils=__webpack_require__("./frontend/src/scenes/persons/person-utils.ts"),PersonDisplay=__webpack_require__("./frontend/src/scenes/persons/PersonDisplay.tsx"),sessionPlayerModalLogic=__webpack_require__("./frontend/src/scenes/session-recordings/player/modal/sessionPlayerModalLogic.ts"),teamLogic=__webpack_require__("./frontend/src/scenes/teamLogic.tsx"),DataTableExport=__webpack_require__("./frontend/src/queries/nodes/DataTable/DataTableExport.tsx"),types=__webpack_require__("./frontend/src/types.ts"),persons_modal_utils=__webpack_require__("./frontend/src/scenes/trends/persons-modal/persons-modal-utils.tsx"),personsModalLogic=__webpack_require__("./frontend/src/scenes/trends/persons-modal/personsModalLogic.ts"),jsx_runtime=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function SaveCohortModal(_ref){let{onSave,onCancel,isOpen}=_ref,[cohortTitle,setCohortTitle]=(0,react.useState)("");return(0,jsx_runtime.jsx)(src.fQ,{title:"New cohort",footer:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(src.Jp,{type:"secondary",onClick:onCancel,children:"Cancel"}),(0,jsx_runtime.jsx)(src.Jp,{type:"primary",disabledReason:!cohortTitle&&"Please add a title to your cohort",onClick:()=>{onSave(cohortTitle),setCohortTitle("")},children:"Save"})]}),onClose:onCancel,isOpen:isOpen,children:(0,jsx_runtime.jsx)("div",{className:"mb-4",children:(0,jsx_runtime.jsx)(src.DF,{autoFocus:!0,placeholder:"Cohort name...",value:cohortTitle,"data-attr":"cohort-name",onChange:setCohortTitle})})})}function PersonsModal_PersonsModal(_ref){let{url:_url,urlsIndex,urls,query:_query,title,onAfterClose,inline,additionalSelect,orderBy}=_ref,[selectedUrlIndex,setSelectedUrlIndex]=(0,react.useState)(urlsIndex||0),originalUrl=(urls||[])[selectedUrlIndex]?.value||_url||"",logic=(0,personsModalLogic.D)({url:originalUrl,query:_query,additionalSelect,orderBy}),{query,actors,actorsResponseLoading,actorsResponse,errorObject,validationError,insightActorsQueryOptions,searchTerm,actorLabel,isCohortModalOpen,isModalOpen,missingActorsCount,propertiesTimelineFilterFromUrl,exploreUrl,actorsQuery}=(0,index_esm.useValues)(logic),{updateActorsQuery,setSearchTerm,saveAsCohort,setIsCohortModalOpen,closeModal,loadNextActors}=(0,index_esm.useActions)(logic),{openSessionPlayer}=(0,index_esm.useActions)(sessionPlayerModalLogic.A),{currentTeam}=(0,index_esm.useValues)(teamLogic.H),{startExport}=(0,index_esm.useActions)(exportsLogic.exportsLogic),totalActorsCount=missingActorsCount+actors.length,getTitle=(0,react.useCallback)(()=>"function"==typeof title?title((0,utils.fm)(actorLabel.plural)):(0,insights_utils.sc)(title)?"Other":title,[title,actorLabel.plural]);return(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsxs)(src.fQ,{title:null,isOpen:isModalOpen,onClose:closeModal,onAfterClose:onAfterClose,simple:!0,width:560,inline:inline,children:[(0,jsx_runtime.jsx)(src.fQ.Header,{children:(0,jsx_runtime.jsx)("h3",{children:getTitle()})}),(0,jsx_runtime.jsxs)("div",{className:"px-4 py-2",children:[actorsResponse&&!!missingActorsCount&&(0,jsx_runtime.jsx)(MissingPersonsAlert,{actorLabel:actorLabel,missingActorsCount:missingActorsCount}),(0,jsx_runtime.jsx)(src.DF,{type:"search",placeholder:"Search for persons by email, name, or ID",fullWidth:!0,value:searchTerm,onChange:setSearchTerm,className:"my-2"}),urls?(0,jsx_runtime.jsx)(src.Yv,{fullWidth:!0,className:"mb-2",value:selectedUrlIndex,onChange:v=>{null!==v&&v>=0&&setSelectedUrlIndex(v)},options:(urls||[]).map((url,index)=>({value:index,label:url.label}))}):null,query&&(0,persons_modal_utils.Nc)(insightActorsQueryOptions,query).map(_ref2=>{var _query$key;let[key,options]=_ref2;return"breakdowns"===key?options.map((_ref3,index)=>{var _query$breakdown$inde;let{values}=_ref3;return(0,jsx_runtime.jsx)("div",{children:(0,jsx_runtime.jsx)(src.Yv,{fullWidth:!0,className:"mb-2",value:null!==(_query$breakdown$inde=query?.breakdown?.[index])&&void 0!==_query$breakdown$inde?_query$breakdown$inde:null,onChange:v=>{let breakdown=Array.isArray(query.breakdown)?[...query.breakdown]:[];breakdown[index]=v,updateActorsQuery({breakdown})},options:values})},`${key}_${index}`)}):(0,jsx_runtime.jsx)("div",{children:(0,jsx_runtime.jsx)(src.Yv,{fullWidth:!0,className:"mb-2",value:null!==(_query$key=query?.[key])&&void 0!==_query$key?_query$key:null,onChange:v=>updateActorsQuery({[key]:v}),options:options})},key)}),(0,jsx_runtime.jsx)("div",{className:"flex items-center gap-2 text-muted",children:actorsResponseLoading?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(Spinner.$,{}),(0,jsx_runtime.jsxs)("span",{children:["Loading ",actorLabel.plural,"..."]})]}):(0,jsx_runtime.jsxs)("span",{children:[actorsResponse?.next||actorsResponse?.offset?"More than ":"",(0,jsx_runtime.jsxs)("b",{children:[totalActorsCount||"No"," unique"," ",(0,utils.Zi)(totalActorsCount,actorLabel.singular,actorLabel.plural,!1)]})]})})]}),(0,jsx_runtime.jsx)("div",{className:"px-4 overflow-hidden flex flex-col",children:(0,jsx_runtime.jsxs)("div",{className:"relative min-h-20 p-2 space-y-2 rounded bg-border-light overflow-y-auto mb-2",children:[errorObject?validationError?(0,jsx_runtime.jsx)(EmptyStates._f,{query:query,detail:validationError}):(0,jsx_runtime.jsx)(EmptyStates.jC,{query:query}):actors&&actors.length>0?(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:actors.map(actor=>(0,jsx_runtime.jsx)(ActorRow,{actor:actor,onOpenRecording:sessionRecording=>{openSessionPlayer(sessionRecording)},propertiesTimelineFilter:"person"==actor.type&¤tTeam?.person_on_events_querying_enabled?propertiesTimelineFilterFromUrl:void 0},actor.id))}):actorsResponseLoading?(0,jsx_runtime.jsxs)("div",{className:"space-y-3",children:[(0,jsx_runtime.jsx)(src.yW,{active:!1,className:"h-4 w-full"}),(0,jsx_runtime.jsx)(src.yW,{active:!1,className:"h-4 w-3/5"})]}):(0,jsx_runtime.jsxs)("div",{className:"text-center p-5",children:["We couldn't find any matching ",actorLabel.plural," for this data point."]}),(actorsResponse?.next||actorsResponse?.offset)&&(0,jsx_runtime.jsx)("div",{className:"m-4 flex justify-center",children:(0,jsx_runtime.jsxs)(src.Jp,{type:"primary",onClick:loadNextActors,loading:actorsResponseLoading,children:["Load more ",actorLabel.plural]})})]})}),(0,jsx_runtime.jsx)(src.fQ.Footer,{children:(0,jsx_runtime.jsxs)("div",{className:"flex justify-between gap-2 w-full",children:[(0,jsx_runtime.jsxs)("div",{className:"flex gap-2",children:[actors.length>0&&(0,jsx_runtime.jsx)(src.Jp,{type:"secondary",onClick:()=>{startExport({export_format:types.P5.CSV,export_context:query?{source:{...actorsQuery,select:actorsQuery.select?.filter(c=>"matched_recordings"!==c),source:{...actorsQuery.source,includeRecordings:!1}}}:{path:originalUrl}})},tooltip:`Up to ${DataTableExport.yP} persons will be exported`,"data-attr":"person-modal-download-csv",children:"Download CSV"}),actors.length>0&&!(0,utils.tK)(actors[0])&&(0,jsx_runtime.jsx)(src.Jp,{onClick:()=>setIsCohortModalOpen(!0),type:"secondary","data-attr":"person-modal-save-as-cohort",disabled:!actors.length,children:"Save as cohort"})]}),exploreUrl&&(0,jsx_runtime.jsx)(src.Jp,{type:"primary",to:exploreUrl,"data-attr":"person-modal-new-insight",onClick:()=>{closeModal()},children:"Explore"})]})})]}),(0,jsx_runtime.jsx)(SaveCohortModal,{onSave:title=>saveAsCohort(title),onCancel:()=>setIsCohortModalOpen(!1),isOpen:isCohortModalOpen})]})}function ActorRow(_ref4){let{actor,onOpenRecording,propertiesTimelineFilter}=_ref4,[expanded,setExpanded]=(0,react.useState)(!1),[tab,setTab]=(0,react.useState)("properties"),name=(0,utils.tK)(actor)?(0,GroupActorDisplay.O)(actor.group_key,actor.properties):(0,person_utils.y)(actor),matchedRecordings=actor.matched_recordings||[];return(0,jsx_runtime.jsxs)("div",{className:"relative border rounded bg-bg-light",children:[(0,jsx_runtime.jsxs)("div",{className:"flex items-center gap-2 p-2",children:[(0,jsx_runtime.jsx)(src.Jp,{noPadding:!0,active:expanded,onClick:()=>setExpanded(!expanded),icon:expanded?(0,jsx_runtime.jsx)(posthog_icons_es.IconCollapse,{}):(0,jsx_runtime.jsx)(posthog_icons_es.IconExpand,{}),title:expanded?"Show less":"Show more","data-attr":`persons-modal-expand-${actor.id}`}),(0,jsx_runtime.jsx)(ProfilePicture.Y,{name:name,size:"md"}),(0,jsx_runtime.jsx)("div",{className:"flex-1 overflow-hidden",children:(0,utils.tK)(actor)?(0,jsx_runtime.jsx)("div",{className:"font-bold",children:(0,jsx_runtime.jsx)(GroupActorDisplay.k,{actor:actor})}):(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)("div",{className:"font-bold flex items-start",children:(0,jsx_runtime.jsx)(PersonDisplay.I,{person:actor,withIcon:!1})}),actor.distinct_ids?.[0]&&(0,jsx_runtime.jsx)(CopyToClipboard.D,{explicitValue:actor.distinct_ids[0],iconStyle:{color:"var(--primary)"},iconPosition:"end",className:"text-xs text-muted-alt",children:(0,utils.mq)(actor.distinct_ids[0],32)})]})}),matchedRecordings.length&&matchedRecordings.length>0?(0,jsx_runtime.jsx)("div",{className:"shrink-0",children:(0,jsx_runtime.jsx)(src.Jp,{onClick:()=>{actor.matched_recordings&&(actor.matched_recordings?.length>1?(setExpanded(!0),setTab("recordings")):actor.matched_recordings[0].session_id&&onOpenRecording({id:actor.matched_recordings[0].session_id,matching_events:actor.matched_recordings}))},sideIcon:1===matchedRecordings.length?(0,jsx_runtime.jsx)(icons.Ud,{}):null,type:"secondary",status:matchedRecordings.length>1?"alt":void 0,size:"small",children:matchedRecordings.length>1?`${matchedRecordings.length} recordings`:"View recording"})}):null]}),expanded?(0,jsx_runtime.jsx)("div",{className:"PersonsModal__tabs bg-bg-3000 border-t rounded-b",children:(0,jsx_runtime.jsx)(LemonTabs.T,{activeKey:tab,onChange:setTab,tabs:[{key:"properties",label:"Properties",content:propertiesTimelineFilter?(0,jsx_runtime.jsx)(PropertiesTimeline.v,{actor:actor,filter:propertiesTimelineFilter}):(0,jsx_runtime.jsx)(PropertiesTable.V,{type:actor.type,properties:actor.properties})},{key:"recordings",label:"Recordings",content:(0,jsx_runtime.jsxs)("div",{className:"p-2 space-y-2 font-medium mt-1",children:[(0,jsx_runtime.jsx)("div",{className:"flex justify-between items-center px-2",children:(0,jsx_runtime.jsx)("span",{children:(0,utils.Zi)(matchedRecordings.length,"matched recording")})}),(0,jsx_runtime.jsx)("ul",{className:"space-y-px",children:matchedRecordings?.length?matchedRecordings.map((recording,i)=>(0,jsx_runtime.jsxs)(react.Fragment,{children:[(0,jsx_runtime.jsx)(src.p2,{className:"my-0"}),(0,jsx_runtime.jsx)("li",{children:(0,jsx_runtime.jsx)(src.Jp,{fullWidth:!0,onClick:()=>{recording.session_id&&onOpenRecording({id:recording.session_id,matching_events:[{events:recording.events,session_id:recording.session_id}]})},children:(0,jsx_runtime.jsxs)("div",{className:"flex flex-1 justify-between gap-2 items-center",children:[(0,jsx_runtime.jsxs)("span",{children:["View recording ",i+1]}),(0,jsx_runtime.jsx)(icons.Ud,{className:"text-xl text-muted"})]})})})]},i)):null})]})}]})}):null,null!==actor.value_at_data_point&&(0,jsx_runtime.jsx)(Tooltip.u,{title:`${name}'s value for this data point.`,children:(0,jsx_runtime.jsx)(src.Mo.Number,{count:actor.value_at_data_point,maxDigits:1/0,position:"top-right",style:{pointerEvents:"auto"}})})]})}function MissingPersonsAlert(_ref5){let{actorLabel,missingActorsCount}=_ref5;return(0,jsx_runtime.jsxs)(src.Vp,{type:"info",className:"mb-2",children:[missingActorsCount," ",missingActorsCount>1?`${actorLabel.plural} are`:`${actorLabel.singular} is`," not shown because they've been merged with those listed, or\xa0deleted."," ",(0,jsx_runtime.jsx)(src.rU,{to:"https://posthog.com/docs/how-posthog-works/queries#insights-counting-unique-persons",children:"Learn more."})]})}let openPersonsModal=props=>{let div=document.createElement("div"),root=(0,client.createRoot)(div);document.body.appendChild(div),root.render((0,jsx_runtime.jsx)(PersonsModal_PersonsModal,{...props,onAfterClose:function(){root.unmount(),div.parentNode&&div.parentNode.removeChild(div)}}))}},"./frontend/src/scenes/trends/persons-modal/persons-modal-utils.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Nc:()=>cleanedInsightActorsQueryOptions,Vx:()=>pathsTitle,un:()=>funnelTitle});var lib_components_PropertyKeyInfo__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/src/lib/components/PropertyKeyInfo.tsx"),lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/lib/components/TaxonomicFilter/types.ts"),lib_taxonomy__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/taxonomy.tsx"),lib_utils__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/utils.tsx"),_queries_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/queries/utils.ts"),_types__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/types.ts"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let funnelTitle=props=>(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:[props.order_type===_types__WEBPACK_IMPORTED_MODULE_5__.kO.UNORDERED?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:props.converted?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:["Completed ",(0,lib_utils__WEBPACK_IMPORTED_MODULE_3__.Zi)(props.step,"step","steps")," "]}):(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:["Completed ",(0,lib_utils__WEBPACK_IMPORTED_MODULE_3__.Zi)(props.step-1,"step","steps"),", did not complete"," ",(0,lib_utils__WEBPACK_IMPORTED_MODULE_3__.Zi)(props.step,"step","steps")," "]})}):(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:[props.converted?"Completed":"Dropped off at"," step ",props.step," •"," ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(lib_components_PropertyKeyInfo__WEBPACK_IMPORTED_MODULE_0__.T,{value:props.label||"",disablePopover:!0,type:lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_1__.t.Events})," "]}),props?.breakdown_value?`• ${props.breakdown_value}`:""]}),pathsTitle=props=>(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:[{completion:"Completed",dropOff:"Dropped off after",continue:"Continued after"}[props.mode]," step"," ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(lib_components_PropertyKeyInfo__WEBPACK_IMPORTED_MODULE_0__.T,{value:props.label.replace(/(^[0-9]+_)/,"")||"",disablePopover:!0})]}),cleanedInsightActorsQueryOptions=(insightActorsQueryOptions,query)=>{let cleanedOptions=Object.entries(null!=insightActorsQueryOptions?insightActorsQueryOptions:{}).filter(_ref=>{let[,value]=_ref;return Array.isArray(value)&&!!value.length}),source=query?.source,seriesNames=(0,_queries_utils__WEBPACK_IMPORTED_MODULE_4__.kX)(source)?source.series.map(s=>s.custom_name):[],cleanedOptionsWithAdjustedSeriesNames=cleanedOptions.map(_ref2=>{let[key,value]=_ref2;return"series"===key?[key,value.map((v,index)=>{var _ref3,_seriesNames$index;return{...v,label:null!==(_ref3=null!==(_seriesNames$index=seriesNames[index])&&void 0!==_seriesNames$index?_seriesNames$index:lib_taxonomy__WEBPACK_IMPORTED_MODULE_2__.NV(v.label,lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_1__.t.Events)?.label)&&void 0!==_ref3?_ref3:v.label}})]:[key,value]});return cleanedOptionsWithAdjustedSeriesNames}},"./frontend/src/scenes/trends/persons-modal/personsModalLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{D:()=>personsModalLogic});var _posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),kea__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_loaders__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-loaders@3.0.0_kea@3.1.5/node_modules/kea-loaders/lib/index.js"),kea_router__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),lib_api__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/api.ts"),lib_utils__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/lib/utils.tsx"),lib_utils_eventUsageLogic__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/lib/utils/eventUsageLogic.ts"),scenes_insights_utils_cleanFilters__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/scenes/insights/utils/cleanFilters.ts"),scenes_urls__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./frontend/src/scenes/urls.ts"),_models_cohortsModel__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./frontend/src/models/cohortsModel.ts"),_models_groupsModel__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__("./frontend/src/models/groupsModel.ts"),_queries_query__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__("./frontend/src/queries/query.ts"),_queries_schema__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__("./frontend/src/queries/schema.ts");let personsModalLogic=(0,kea__WEBPACK_IMPORTED_MODULE_1__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_1__.path)(["scenes","trends","personsModalLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_1__.props)({}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.actions)({setSearchTerm:search=>({search}),saveAsCohort:cohortName=>({cohortName}),resetActors:()=>!0,closeModal:()=>!0,setIsCohortModalOpen:isOpen=>({isOpen}),loadActors:_ref=>{let{url,clear,offset}=_ref;return{url,clear,offset}},loadNextActors:!0,updateQuery:query=>({query}),updateActorsQuery:query=>({query}),loadActorsQueryOptions:query=>({query})}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.connect)({values:[_models_groupsModel__WEBPACK_IMPORTED_MODULE_10__.$,["groupTypes","aggregationLabel"]],actions:[lib_utils_eventUsageLogic__WEBPACK_IMPORTED_MODULE_6__.vx,["reportPersonsModalViewed"]]}),(0,kea_loaders__WEBPACK_IMPORTED_MODULE_2__.loaders)(_ref2=>{let{values,actions,props}=_ref2;return{actorsResponse:[null,{loadActors:async(_ref3,breakpoint)=>{let{url,clear,offset}=_ref3;if(url&&(url+="&include_recordings=true",values.searchTerm&&(url+=`&search=${values.searchTerm}`)),url&&!values.actorsQuery){let res=await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.get(url);return breakpoint(),clear&&actions.resetActors(),res}if(values.actorsQuery){let response=await (0,_queries_query__WEBPACK_IMPORTED_MODULE_11__.jr)({...values.actorsQuery,limit:offset?2*offset:100,offset});breakpoint();let assembledSelectFields=values.selectFields,additionalFieldIndices=Object.values(props.additionalSelect||{}).map(field=>assembledSelectFields.indexOf(field)),newResponse={results:[{count:response.results.length,people:response.results.map(result=>{if(void 0!==result[0].group_type_index){let group={type:"group",id:result[0].id,group_key:result[0].group_key,group_type_index:result[0].group_type_index,properties:result[0].group_properties,created_at:result[0].created_at,matched_recordings:[],value_at_data_point:null};return Object.keys(props.additionalSelect||{}).forEach((field,index)=>{group[field]=result[additionalFieldIndices[index]]}),group}let person={type:"person",id:result[0].id,uuid:result[0].id,distinct_ids:result[0].distinct_ids,is_identified:result[0].is_identified,properties:result[0].properties,created_at:result[0].created_at,matched_recordings:[],value_at_data_point:null};return Object.keys(props.additionalSelect||{}).forEach((field,index)=>{person[field]=result[additionalFieldIndices[index]]}),person})}]};return newResponse.offset=response.hasMore?response.offset+response.limit:void 0,newResponse.missing_persons=response.missing_actors_count,clear&&actions.resetActors(),newResponse}return null}}],insightActorsQueryOptions:[null,{loadActorsQueryOptions:async _ref4=>{let{query}=_ref4;if(!query)return values.insightActorsQueryOptions||null;let optionsQuery={kind:_queries_schema__WEBPACK_IMPORTED_MODULE_12__.OH.InsightActorsQueryOptions,source:query},response=await (0,_queries_query__WEBPACK_IMPORTED_MODULE_11__.jr)(optionsQuery,{async:!1});return Object.fromEntries(Object.entries(response).filter(_ref5=>{let[key,_]=_ref5;return _queries_schema__WEBPACK_IMPORTED_MODULE_12__.$V.includes(key)}))}}]}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.reducers)(_ref6=>{let{props}=_ref6;return{query:[props.query,{updateQuery:(_,_ref7)=>{let{query}=_ref7;return query}}],actors:[[],{loadActorsSuccess:(state,_ref8)=>{let{actorsResponse}=_ref8;return[...state,...actorsResponse?.results?.[0]?.people||[]]},resetActors:()=>[]}],errorObject:[null,{loadActors:()=>null,loadActorsFailure:(_,_ref9)=>{let{errorObject}=_ref9;return errorObject},loadActorsSuccess:()=>null}],missingActorsCount:[0,{loadActorsSuccess:(state,_ref10)=>{let{actorsResponse}=_ref10;return state+(actorsResponse?.missing_persons||0)},resetActors:()=>0}],searchTerm:["",{setSearchTerm:(_,_ref11)=>{let{search}=_ref11;return search}}],isModalOpen:[!0,{closeModal:()=>!1}],isCohortModalOpen:[!1,{setIsCohortModalOpen:(_,_ref12)=>{let{isOpen}=_ref12;return isOpen},closeModal:()=>!1}]}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.listeners)(_ref13=>{let{actions,values,props}=_ref13;return{setSearchTerm:async(_,breakpoint)=>{await breakpoint(500),actions.loadActors({url:props.url,clear:!0})},saveAsCohort:async _ref14=>{let{cohortName}=_ref14,cohort=await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.create("api/cohort",{is_static:!0,name:cohortName,query:values.actorsQuery});_models_cohortsModel__WEBPACK_IMPORTED_MODULE_9__.Q.actions.cohortCreated(cohort),_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.success("Cohort saved",{toastId:`cohort-saved-${cohort.id}`,button:{label:"View cohort",action:()=>kea_router__WEBPACK_IMPORTED_MODULE_3__.router.actions.push(scenes_urls__WEBPACK_IMPORTED_MODULE_8__.j.cohort(cohort.id))}}),actions.setIsCohortModalOpen(!1)},loadNextActors:()=>{values.actorsResponse?.next&&actions.loadActors({url:values.actorsResponse.next}),values.actorsResponse?.offset&&actions.loadActors({offset:values.actorsResponse.offset})},loadActors:()=>{values.query&&!values.insightActorsQueryOptions&&actions.loadActorsQueryOptions(values.query)},updateActorsQuery:_ref15=>{let{query:q}=_ref15;q&&values.query&&(actions.updateQuery({...values.query,...q}),actions.loadActors({offset:0,clear:!0}))}}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.selectors)({actorLabel:[s=>[s.actors,s.aggregationLabel],(actors,aggregationLabel)=>{let firstResult=actors[0];return firstResult?aggregationLabel((0,lib_utils__WEBPACK_IMPORTED_MODULE_5__.tK)(firstResult)?firstResult.group_type_index:void 0):{singular:"result",plural:"results"}}],validationError:[s=>[s.errorObject],errorObject=>errorObject?.status===400||errorObject?.status===512?errorObject.detail:null],propertiesTimelineFilterFromUrl:[()=>[(_,p)=>p.url],url=>{let params=new URLSearchParams(url.split("?")[1]),eventsString=params.get("events"),actionsString=params.get("actions"),propertiesString=params.get("properties"),aggregationGroupTypeIndexString=params.get("aggregation_group_type_index"),filter={date_from:params.get("date_from")||void 0,date_to:params.get("date_to")||void 0,interval:params.get("interval")||void 0,events:eventsString?JSON.parse(eventsString):void 0,actions:actionsString?JSON.parse(actionsString):void 0,properties:propertiesString?JSON.parse(propertiesString):void 0,aggregation_group_type_index:aggregationGroupTypeIndexString?parseInt(aggregationGroupTypeIndexString):void 0,display:params.get("display")||void 0,breakdown:params.get("breakdown")||void 0,breakdown_type:params.get("breakdown_type")||void 0};return(0,scenes_insights_utils_cleanFilters__WEBPACK_IMPORTED_MODULE_7__.Ow)(filter)}],selectFields:[()=>[(_,p)=>p.additionalSelect],additionalSelect=>{let extra=Object.values(additionalSelect||{});return["actor",...extra]}],actorsQuery:[s=>[(_,p)=>p.orderBy,s.query,s.searchTerm,s.selectFields],(orderBy,query,searchTerm,selectFields)=>query?{kind:_queries_schema__WEBPACK_IMPORTED_MODULE_12__.OH.ActorsQuery,source:query,select:selectFields,orderBy:orderBy||[],search:searchTerm}:null],exploreUrl:[s=>[s.actorsQuery],actorsQuery=>{if(!actorsQuery)return null;let{select:_select,...source}=actorsQuery,query={kind:_queries_schema__WEBPACK_IMPORTED_MODULE_12__.OH.DataTableNode,source,full:!0};return scenes_urls__WEBPACK_IMPORTED_MODULE_8__.j.insightNew(void 0,void 0,query)}]}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.afterMount)(_ref16=>{let{actions,props}=_ref16;actions.loadActors({url:props.url}),actions.reportPersonsModalViewed({url:props.url,query:props.query})}),(0,kea_router__WEBPACK_IMPORTED_MODULE_3__.urlToAction)(_ref17=>{let{cache,actions}=_ref17;return{"*":(_a,_b,_c,_ref18)=>{let{pathname}=_ref18;if(!cache.lastPathname){cache.lastPathname=pathname;return}cache.lastPathname!==pathname&&actions.closeModal()}}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.propsChanged)((_ref19,oldProps)=>{let{props,actions}=_ref19;props.url!==oldProps.url&&actions.loadActors({url:props.url,clear:!0})})])},"./frontend/src/scenes/trends/trendsDataLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{i:()=>trendsDataLogic});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),lib_dayjs__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/lib/dayjs.ts"),scenes_insights_insightVizDataLogic__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/scenes/insights/insightVizDataLogic.ts"),scenes_insights_sharedUtils__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/scenes/insights/sharedUtils.ts"),scenes_insights_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/scenes/insights/utils.tsx"),_queries_utils__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/queries/utils.ts"),_types__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/types.ts");let POSSIBLY_FRACTIONAL_MATH_TYPES=new Set([_types__WEBPACK_IMPORTED_MODULE_6__.D7.Average].concat(Object.values(_types__WEBPACK_IMPORTED_MODULE_6__.mY)).concat(Object.values(_types__WEBPACK_IMPORTED_MODULE_6__.O4))),trendsDataLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.props)({}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.key)((0,scenes_insights_sharedUtils__WEBPACK_IMPORTED_MODULE_3__.bk)("all_trends")),(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(key=>["scenes","trends","trendsDataLogic",key]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.connect)(props=>({values:[(0,scenes_insights_insightVizDataLogic__WEBPACK_IMPORTED_MODULE_2__.Z)(props),["querySource","insightData","insightDataLoading","series","formula","display","compareFilter","interval","enabledIntervals","breakdownFilter","showValuesOnSeries","showLabelOnSeries","showPercentStackView","supportsPercentStackView","insightFilter","trendsFilter","lifecycleFilter","stickinessFilter","isTrends","isDataWarehouseSeries","isLifecycle","isStickiness","isNonTimeSeriesDisplay","isSingleSeries","hasLegend","showLegend","vizSpecificOptions","yAxisScaleType","resultCustomizationBy","theme"]],actions:[(0,scenes_insights_insightVizDataLogic__WEBPACK_IMPORTED_MODULE_2__.Z)(props),["setInsightData","updateInsightFilter","updateBreakdownFilter","updateHiddenLegendIndexes"]]})),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)({loadMoreBreakdownValues:!0,setBreakdownValuesLoading:loading=>({loading}),toggleHiddenLegendIndex:index=>({index})}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)({breakdownValuesLoading:[!1,{setBreakdownValuesLoading:(_,_ref)=>{let{loading}=_ref;return loading}}]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.selectors)(_ref2=>{let{values}=_ref2;return{alertSeries:[s=>[s.querySource],queryNode=>null===queryNode?[]:queryNode.series],results:[s=>[s.insightData],insightData=>insightData?.result&&Array.isArray(insightData.result)?insightData.result:[]],hasBreakdownMore:[s=>[s.insightData,s.isTrends],(insightData,isTrends)=>!!isTrends&&!!insightData.hasMore],isBreakdownValid:[s=>[s.breakdownFilter],breakdownFilter=>(0,_queries_utils__WEBPACK_IMPORTED_MODULE_5__.AV)(breakdownFilter)],indexedResults:[s=>[s.results,s.display,s.lifecycleFilter],(results,display,lifecycleFilter)=>{let defaultLifecyclesOrder=["new","resurrecting","returning","dormant"],indexedResults=results.map((result,index)=>({...result,seriesIndex:index}));display&&(display===_types__WEBPACK_IMPORTED_MODULE_6__.Qb.ActionsBarValue||display===_types__WEBPACK_IMPORTED_MODULE_6__.Qb.ActionsPie)?indexedResults.sort((a,b)=>{let aValue=a.breakdown_value===scenes_insights_utils__WEBPACK_IMPORTED_MODULE_4__.T8?-scenes_insights_utils__WEBPACK_IMPORTED_MODULE_4__.Oq:a.breakdown_value===scenes_insights_utils__WEBPACK_IMPORTED_MODULE_4__.ZA?-scenes_insights_utils__WEBPACK_IMPORTED_MODULE_4__.Tu:a.aggregated_value,bValue=b.breakdown_value===scenes_insights_utils__WEBPACK_IMPORTED_MODULE_4__.T8?-scenes_insights_utils__WEBPACK_IMPORTED_MODULE_4__.Oq:b.breakdown_value===scenes_insights_utils__WEBPACK_IMPORTED_MODULE_4__.ZA?-scenes_insights_utils__WEBPACK_IMPORTED_MODULE_4__.Tu:b.aggregated_value;return bValue-aValue}):lifecycleFilter&&(lifecycleFilter.toggledLifecycles&&(indexedResults=indexedResults.filter(result=>lifecycleFilter.toggledLifecycles.includes(String(result.status)))),indexedResults=indexedResults.sort((a,b)=>defaultLifecyclesOrder.indexOf(String(b.status))-defaultLifecyclesOrder.indexOf(String(a.status))));let uniqSeries=Array.from(new Set(indexedResults.map(item=>`${item.label}_${item.action?.order}_${item?.breakdown_value}`)));return indexedResults.map((item,index)=>{let colorIndex=uniqSeries.findIndex(identifier=>identifier===`${item.label}_${item.action?.order}_${item?.breakdown_value}`);return{...item,colorIndex:colorIndex,id:index}})}],labelGroupType:[s=>[s.series,s.querySource,s.isLifecycle],(series,querySource,isLifecycle)=>{var _firstAggregationGrou;let firstAggregationGroupTypeIndex;if(isLifecycle)firstAggregationGroupTypeIndex=querySource?.aggregation_group_type_index;else if(firstAggregationGroupTypeIndex=series?.[0]?.math_group_type_index,!series?.every(eOrA=>eOrA?.math_group_type_index===firstAggregationGroupTypeIndex))return"none";return null!==(_firstAggregationGrou=firstAggregationGroupTypeIndex)&&void 0!==_firstAggregationGrou?_firstAggregationGrou:"people"}],incompletenessOffsetFromEnd:[s=>[s.results,s.interval],(results,interval)=>{if(results[0]?.days===void 0)return 0;let startDate=(0,lib_dayjs__WEBPACK_IMPORTED_MODULE_1__.Bv)().tz("utc",!0).startOf(null!=interval?interval:"d"),startIndex=results[0].days.findIndex(day=>(0,lib_dayjs__WEBPACK_IMPORTED_MODULE_1__.Bv)(day).tz("utc",!0)>=startDate);return void 0!==startIndex&&-1!==startIndex?startIndex-results[0].days.length:0}],pieChartVizOptions:[()=>[()=>values.vizSpecificOptions],vizSpecificOptions=>vizSpecificOptions?.[_types__WEBPACK_IMPORTED_MODULE_6__.Qb.ActionsPie]],mightContainFractionalNumbers:[s=>[s.formula,s.series],(formula,series)=>!!formula||!!series&&series.some(s=>s.math&&POSSIBLY_FRACTIONAL_MATH_TYPES.has(s.math))],hiddenLegendIndexes:[s=>[s.trendsFilter,s.stickinessFilter],(trendsFilter,stickinessFilter)=>trendsFilter?.hiddenLegendIndexes||stickinessFilter?.hiddenLegendIndexes||[]],resultCustomizations:[s=>[s.trendsFilter],trendsFilter=>trendsFilter?.resultCustomizations],getTrendsColorToken:[s=>[s.resultCustomizationBy,s.resultCustomizations,s.theme],(resultCustomizationBy,resultCustomizations,theme)=>dataset=>null==theme?null:(0,scenes_insights_utils__WEBPACK_IMPORTED_MODULE_4__.BD)(resultCustomizationBy,resultCustomizations,theme,dataset)],getTrendsColor:[s=>[s.theme,s.getTrendsColorToken],(theme,getTrendsColorToken)=>dataset=>null==theme?"#000000":theme[getTrendsColorToken(dataset)]]}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.listeners)(_ref3=>{let{actions,values}=_ref3;return{toggleHiddenLegendIndex:_ref4=>{let{index}=_ref4;values.insightFilter?.hiddenLegendIndexes?.includes(index)?actions.updateHiddenLegendIndexes(values.insightFilter.hiddenLegendIndexes?.filter(idx=>idx!==index)):actions.updateHiddenLegendIndexes([...values.insightFilter?.hiddenLegendIndexes||[],index])}}})])},"./frontend/src/scenes/urls.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{j:()=>urls});var kea_router__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),lib_utils_getAppContext__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/lib/utils/getAppContext.ts"),_types__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/types.ts");let urls={absolute:function(){let path=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return window.location.origin+path},default:()=>"/",project:function(id){let path=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return`/project/${id}`+path},currentProject:function(){let path=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return urls.project((0,lib_utils_getAppContext__WEBPACK_IMPORTED_MODULE_1__.ev)(),path)},dashboards:()=>"/dashboard",dashboard:(id,highlightInsightId)=>(0,kea_router__WEBPACK_IMPORTED_MODULE_0__.combineUrl)(`/dashboard/${id}`,highlightInsightId?{highlightInsightId}:{}).url,dashboardTextTile:(id,textTileId)=>`${urls.dashboard(id)}/text-tiles/${textTileId}`,dashboardSharing:id=>`/dashboard/${id}/sharing`,dashboardSubcriptions:id=>`/dashboard/${id}/subscriptions`,dashboardSubcription:(id,subscriptionId)=>`/dashboard/${id}/subscriptions/${subscriptionId}`,sharedDashboard:shareToken=>`/shared_dashboard/${shareToken}`,createAction:()=>"/data-management/actions/new",duplicateAction:action=>{let queryParams=action?`?copy=${encodeURIComponent(JSON.stringify(action))}`:"";return`/data-management/actions/new/${queryParams}`},action:id=>`/data-management/actions/${id}`,actions:()=>"/data-management/actions",eventDefinitions:()=>"/data-management/events",eventDefinition:id=>`/data-management/events/${id}`,eventDefinitionEdit:id=>`/data-management/events/${id}/edit`,propertyDefinitions:type=>(0,kea_router__WEBPACK_IMPORTED_MODULE_0__.combineUrl)("/data-management/properties",type?{type}:{}).url,propertyDefinition:id=>`/data-management/properties/${id}`,propertyDefinitionEdit:id=>`/data-management/properties/${id}/edit`,dataManagementHistory:()=>"/data-management/history",database:()=>"/data-management/database",activity:function(){let tab=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_types__WEBPACK_IMPORTED_MODULE_2__.ZO.ExploreEvents;return`/activity/${tab}`},event:(id,timestamp)=>`/events/${encodeURIComponent(id)}/${encodeURIComponent(timestamp)}`,ingestionWarnings:()=>"/data-management/ingestion-warnings",insights:()=>"/insights",insightNew:(type,dashboardId,query)=>(0,kea_router__WEBPACK_IMPORTED_MODULE_0__.combineUrl)("/insights/new",dashboardId?{dashboard:dashboardId}:{},{...type?{insight:type}:{},...query?{q:"string"==typeof query?query:JSON.stringify(query)}:{}}).url,insightNewHogQL:(query,filters)=>(0,kea_router__WEBPACK_IMPORTED_MODULE_0__.combineUrl)("/data-warehouse",{},{q:JSON.stringify({kind:"DataTableNode",full:!0,source:{kind:"HogQLQuery",query,filters}})}).url,insightEdit:id=>`/insights/${id}/edit`,insightView:(id,dashboardId,variablesOverride)=>{let params=[{param:"dashboard",value:dashboardId},{param:"variables_override",value:variablesOverride}].filter(n=>!!n.value).map(n=>`${n.param}=${encodeURIComponent(JSON.stringify(n.value))}`).join("&");return`/insights/${id}${params.length?`?${params}`:""}`},insightSubcriptions:id=>`/insights/${id}/subscriptions`,insightSubcription:(id,subscriptionId)=>`/insights/${id}/subscriptions/${subscriptionId}`,insightSharing:id=>`/insights/${id}/sharing`,savedInsights:tab=>`/insights${tab?`?tab=${tab}`:""}`,webAnalytics:()=>"/web",webAnalyticsCoreWebVitals:()=>"/web/core-web-vitals",replay:(tab,filters,sessionRecordingId,order)=>(0,kea_router__WEBPACK_IMPORTED_MODULE_0__.combineUrl)(tab?`/replay/${tab}`:"/replay/home",{...filters?{filters}:{},...sessionRecordingId?{sessionRecordingId}:{},...order?{order}:{}}).url,replayPlaylist:id=>`/replay/playlists/${id}`,replaySingle:id=>`/replay/${id}`,replayFilePlayback:()=>"/replay/file-playback",personByDistinctId:function(id){let encode=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return encode?`/person/${encodeURIComponent(id)}`:`/person/${id}`},personByUUID:function(uuid){let encode=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return encode?`/persons/${encodeURIComponent(uuid)}`:`/persons/${uuid}`},persons:()=>"/persons",pipelineNodeNew:(stage,id)=>`/pipeline/new/${stage}${id?`/${id}`:""}`,pipeline:tab=>`/pipeline/${tab||_types__WEBPACK_IMPORTED_MODULE_2__.J9.Overview}`,pipelineNode:(stage,id,nodeTab)=>`/pipeline/${stage.startsWith(":")||stage?.endsWith("s")?stage:`${stage}s`}/${id}${nodeTab?`/${nodeTab}`:""}`,messagingBroadcasts:()=>"/messaging/broadcasts",messagingBroadcast:id=>`/messaging/broadcasts/${id}`,messagingBroadcastNew:()=>"/messaging/broadcasts/new",messagingProviders:()=>"/messaging/providers",messagingProvider:id=>`/messaging/providers/${id}`,messagingProviderNew:template=>"/messaging/providers/new"+(template?`/${template}`:""),groups:groupTypeIndex=>`/groups/${groupTypeIndex}`,group:function(groupTypeIndex,groupKey){let encode=!(arguments.length>2)||void 0===arguments[2]||arguments[2],tab=arguments.length>3?arguments[3]:void 0;return`/groups/${groupTypeIndex}/${encode?encodeURIComponent(groupKey):groupKey}${tab?`/${tab}`:""}`},cohort:id=>`/cohorts/${id}`,cohorts:()=>"/cohorts",experiment:id=>`/experiments/${id}`,experiments:()=>"/experiments",experimentsSharedMetrics:()=>"/experiments/shared-metrics",experimentsSharedMetric:id=>`/experiments/shared-metrics/${id}`,featureFlags:tab=>`/feature_flags${tab?`?tab=${tab}`:""}`,featureFlag:id=>`/feature_flags/${id}`,featureManagement:id=>`/features${id?`/${id}`:""}`,earlyAccessFeatures:()=>"/early_access_features",earlyAccessFeature:id=>`/early_access_features/${id}`,errorTracking:()=>"/error_tracking",errorTrackingConfiguration:()=>"/error_tracking/configuration",errorTrackingIssue:id=>`/error_tracking/${id}`,surveys:tab=>`/surveys${tab?`?tab=${tab}`:""}`,survey:id=>`/surveys/${id}`,surveyTemplates:()=>"/survey_templates",customCss:()=>"/themes/custom-css",dataWarehouse:query=>(0,kea_router__WEBPACK_IMPORTED_MODULE_0__.combineUrl)("/data-warehouse",{},query?{q:"string"==typeof query?query:JSON.stringify(query)}:{}).url,sqlEditor:()=>"/sql",dataWarehouseView:id=>(0,kea_router__WEBPACK_IMPORTED_MODULE_0__.combineUrl)(`/data-warehouse/view/${id}`).url,dataWarehouseTable:()=>"/data-warehouse/new",dataWarehouseRedirect:kind=>`/data-warehouse/${kind}/redirect`,annotations:()=>"/data-management/annotations",annotation:id=>`/data-management/annotations/${id}`,organizationCreateFirst:()=>"/create-organization",projectCreateFirst:()=>"/organization/create-project",projectHomepage:()=>"/",max:()=>"/max",settings:function(){let section=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"project",setting=arguments.length>1?arguments[1]:void 0;return(0,kea_router__WEBPACK_IMPORTED_MODULE_0__.combineUrl)(`/settings/${section}`,void 0,setting).url},organizationCreationConfirm:()=>"/organization/confirm-creation",toolbarLaunch:()=>"/toolbar",site:url=>`/site/${":url"===url?url:encodeURIComponent(url)}`,login:()=>"/login",login2FA:()=>"/login/2fa",login2FASetup:()=>"/login/2fa_setup",passwordReset:()=>"/reset",passwordResetComplete:(userUuid,token)=>`/reset/${userUuid}/${token}`,preflight:()=>"/preflight",signup:()=>"/signup",verifyEmail:function(){let userUuid=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",token=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return`/verify_email${userUuid?`/${userUuid}`:""}${token?`/${token}`:""}`},inviteSignup:id=>`/signup/${id}`,products:()=>"/products",onboarding:(productKey,stepKey,sdk)=>`/onboarding/${productKey}${stepKey?"?step="+stepKey:""}${sdk&&stepKey?"&sdk="+sdk:sdk?"?sdk="+sdk:""}`,organizationBilling:products=>`/organization/billing${products&&products.length?`?products=${products.join(",")}`:""}`,organizationBillingSection:function(){let section=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"overview";return(0,kea_router__WEBPACK_IMPORTED_MODULE_0__.combineUrl)(`/organization/billing/${section}`).url},billingAuthorizationStatus:()=>"/billing/authorization_status",instanceStatus:()=>"/instance/status",instanceStaffUsers:()=>"/instance/staff_users",instanceKafkaInspector:()=>"/instance/kafka_inspector",instanceSettings:()=>"/instance/settings",instanceMetrics:()=>"/instance/metrics",asyncMigrations:()=>"/instance/async_migrations",asyncMigrationsFuture:()=>"/instance/async_migrations/future",asyncMigrationsSettings:()=>"/instance/async_migrations/settings",deadLetterQueue:()=>"/instance/dead_letter_queue",unsubscribe:()=>"/unsubscribe",integrationsRedirect:kind=>`/integrations/${kind}/callback`,shared:function(token){let exportOptions=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,kea_router__WEBPACK_IMPORTED_MODULE_0__.combineUrl)(`/shared/${token}`,Object.entries(exportOptions).filter(x=>x[1]).reduce((acc,_ref)=>{let[key,val]=_ref;return{...acc,[key]:!0===val?null:val}},{})).url},embedded:(token,exportOptions)=>urls.shared(token,exportOptions).replace("/shared/","/embedded/"),debugQuery:query=>(0,kea_router__WEBPACK_IMPORTED_MODULE_0__.combineUrl)("/debug",{},query?{q:"string"==typeof query?query:JSON.stringify(query)}:{}).url,debugHog:()=>"/debug/hog",feedback:()=>"/feedback",issues:()=>"/issues",notebooks:()=>"/notebooks",notebook:shortId=>`/notebooks/${shortId}`,canvas:()=>"/canvas",moveToPostHogCloud:()=>"/move-to-cloud",heatmaps:params=>`/heatmaps${params?`?${params.startsWith("?")?params.slice(1):params}`:""}`,alert:alertId=>`/insights?tab=alerts&alert_id=${alertId}`,alerts:()=>"/insights?tab=alerts",insightAlerts:insightShortId=>`/insights/${insightShortId}/alerts`,insightAlert:(insightShortId,alertId)=>`/insights/${insightShortId}/alerts?alert_id=${alertId}`,sessionAttributionExplorer:()=>"/web/session-attribution-explorer"}},"./frontend/src/scenes/userLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{userLogic:()=>userLogic});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_forms__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea-forms@3.2.0_kea@3.1.5/node_modules/kea-forms/lib/index.js"),kea_loaders__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-loaders@3.0.0_kea@3.1.5/node_modules/kea-loaders/lib/index.js"),kea_router__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),lib_api__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/api.ts"),lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonToast/LemonToast.tsx"),lib_utils_getAppContext__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/lib/utils/getAppContext.ts"),posthog_js__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./node_modules/.pnpm/posthog-js@1.205.0/node_modules/posthog-js/dist/module.js"),_urls__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./frontend/src/scenes/urls.ts");let userLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(["scenes","userLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)(()=>({loadUser:resetOnFailure=>({resetOnFailure}),updateCurrentOrganization:(organizationId,destination)=>({organizationId,destination}),logout:!0,updateUser:(user,successCallback)=>({user,successCallback}),setUserScenePersonalisation:(scene,dashboard)=>({scene,dashboard}),updateHasSeenProductIntroFor:(productKey,value)=>({productKey,value}),switchTeam:teamId=>({teamId})})),(0,kea_forms__WEBPACK_IMPORTED_MODULE_1__.forms)(_ref=>{let{actions}=_ref;return{userDetails:{errors:_ref2=>{let{first_name,email}=_ref2;return{first_name:first_name?first_name.length>150?"This name is too long. Please keep it under 151 characters.":null:"You need to have a name.",email:email?email.length>254?"This email is too long. Please keep it under 255 characters.":null:"You need to have an email."}},submit:user=>{actions.updateUser(user)}}}}),(0,kea_loaders__WEBPACK_IMPORTED_MODULE_2__.loaders)(_ref3=>{let{values,actions}=_ref3;return{user:[null,{loadUser:async()=>{try{return await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.get("api/users/@me/")}catch(error){console.error(error),actions.loadUserFailure(error.message)}return null},updateUser:async _ref4=>{let{user,successCallback}=_ref4;if(!values.user)throw Error("Current user has not been loaded yet, so it cannot be updated!");try{let response=await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.update("api/users/@me/",user);return successCallback&&successCallback(),response}catch(error){return console.error(error),actions.updateUserFailure(error.message),values.user}},setUserScenePersonalisation:async _ref5=>{let{scene,dashboard}=_ref5;if(!values.user)throw Error("Current user has not been loaded yet, so it cannot be updated!");try{return await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.create("api/users/@me/scene_personalisation",{scene,dashboard})}catch(error){return console.error(error),actions.updateUserFailure(error.message),values.user}}}]}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)({userDetails:[{},{loadUserSuccess:(_,_ref6)=>{let{user}=_ref6;return{first_name:user?.first_name||"",last_name:user?.last_name||"",email:user?.email||""}},updateUserSuccess:(_,_ref7)=>{let{user}=_ref7;return{first_name:user?.first_name||"",last_name:user?.last_name||"",email:user?.email||""}}}]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.listeners)(_ref8=>{let{actions,values}=_ref8;return{logout:()=>{posthog_js__WEBPACK_IMPORTED_MODULE_7__.ZP.reset(),window.location.href="/logout"},loadUserSuccess:_ref9=>{let{user}=_ref9;if(user&&user.uuid){let Sentry=window.Sentry;Sentry?.setUser({email:user.email,id:user.uuid}),posthog_js__WEBPACK_IMPORTED_MODULE_7__.ZP&&(posthog_js__WEBPACK_IMPORTED_MODULE_7__.ZP.identify(user.distinct_id),posthog_js__WEBPACK_IMPORTED_MODULE_7__.ZP.people.set({email:user.anonymize_data?null:user.email,realm:user.realm}),posthog_js__WEBPACK_IMPORTED_MODULE_7__.ZP.register({is_demo_project:user.team?.is_demo}),user.team&&posthog_js__WEBPACK_IMPORTED_MODULE_7__.ZP.group("project",user.team.uuid,{id:user.team.id,uuid:user.team.uuid,name:user.team.name,ingested_event:user.team.ingested_event,is_demo:user.team.is_demo,timezone:user.team.timezone,instance_tag:user.organization?.metadata?.instance_tag}),user.organization&&(posthog_js__WEBPACK_IMPORTED_MODULE_7__.ZP.group("organization",user.organization.id,{id:user.organization.id,name:user.organization.name,slug:user.organization.slug,created_at:user.organization.created_at,available_product_features:user.organization.available_product_features,...user.organization.metadata}),user.organization.customer_id&&posthog_js__WEBPACK_IMPORTED_MODULE_7__.ZP.group("customer",user.organization.customer_id)))}},updateUserSuccess:()=>{lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_5__.UJ.dismiss("updateUser"),lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_5__.UJ.success("Preferences saved",{toastId:"updateUser"})},updateUserFailure:()=>{lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_5__.UJ.error("Error saving preferences",{toastId:"updateUser"})},updateCurrentOrganization:async(_ref10,breakpoint)=>{let{organizationId,destination}=_ref10;values.user?.organization?.id!==organizationId&&(await breakpoint(10),await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.update("api/users/@me/",{set_current_organization:organizationId}),window.location.href=destination||"/")},updateHasSeenProductIntroFor:async(_ref11,breakpoint)=>{let{productKey,value}=_ref11;await breakpoint(10),await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.update("api/users/@me/",{has_seen_product_intro_for:{...values.user?.has_seen_product_intro_for,[productKey]:value}}).then(()=>{actions.loadUser()})},switchTeam:_ref12=>{let{teamId}=_ref12;window.location.href=_urls__WEBPACK_IMPORTED_MODULE_8__.j.project(teamId)}}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.selectors)({hasAvailableFeature:[s=>[s.user],user=>(feature,currentUsage)=>{let availableProductFeatures=user?.organization?.available_product_features;if(availableProductFeatures&&availableProductFeatures.length>0){let availableFeature=availableProductFeatures.find(obj=>obj.key===feature);return!!availableFeature&&(!currentUsage||!availableFeature?.limit||availableFeature?.limit>currentUsage)}return!1}],availableFeature:[s=>[s.user],user=>feature=>{let availableProductFeatures=user?.organization?.available_product_features;return availableProductFeatures&&availableProductFeatures.length>0?availableProductFeatures.find(obj=>obj.key===feature):null}],otherOrganizations:[s=>[s.user],user=>user&&user.organizations?.filter(organization=>organization.id!==user.organization?.id).sort((orgA,orgB)=>orgA.id===user?.organization?.id?-2:orgA.name.localeCompare(orgB.name))||[]],themeMode:[s=>[s.user],user=>user?.theme_mode||"light"]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.afterMount)(_ref13=>{let{actions}=_ref13,preloadedUser=lib_utils_getAppContext__WEBPACK_IMPORTED_MODULE_6__.Fj()?.current_user;preloadedUser?actions.loadUserSuccess(preloadedUser):null===preloadedUser?actions.loadUserFailure("Logged out"):actions.loadUser()}),(0,kea_router__WEBPACK_IMPORTED_MODULE_3__.urlToAction)(_ref14=>{let{values}=_ref14;return{"/year_in_posthog/2023":()=>{window.POSTHOG_APP_CONTEXT?.year_in_hog_url&&(window.location.href=`${window.location.origin}${window.POSTHOG_APP_CONTEXT.year_in_hog_url}`),values.user?.uuid&&(window.location.href=`${window.location.origin}/year_in_posthog/2023/${values.user?.uuid}`)}}})])},"./frontend/src/styles/index.tsx":(__unused_webpack_module,__unused_webpack___webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__("./frontend/src/styles/global.scss")},"./frontend/src/toolbar/assets/Logo.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{T:()=>Logo});var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function Logo(_ref){let{style}=_ref;return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("svg",{style:style,fill:"none",width:"8.125em",height:"2em",viewBox:"0 0 130 32",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("g",{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("path",{d:"m12.3708 17.2868c-.2868.5737-1.1056.5737-1.3925 0l-.6861-1.3722c-.1095-.2192-.1095-.4771 0-.6963l.6861-1.3722c.2869-.5737 1.1057-.5737 1.3925 0l.6861 1.3722c.1096.2192.1096.4771 0 .6963z",fill:"var(--brand-blue)"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("path",{d:"m12.3708 25.069c-.2868.5737-1.1056.5737-1.3925 0l-.6861-1.3722c-.1095-.2191-.1095-.4771 0-.6963l.6861-1.3721c.2869-.5738 1.1057-.5738 1.3925 0l.6861 1.3721c.1096.2192.1096.4772 0 .6963z",fill:"var(--brand-blue)"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("path",{d:"m3.89258 22.1149c0-.6935.83849-1.0408 1.32888-.5504l3.56791 3.5679c.49039.4904.14308 1.3289-.55044 1.3289h-3.56791c-.42992 0-.77844-.3486-.77844-.7785zm0-3.7582c0 .2065.08201.4045.228.5505l7.32612 7.3261c.146.1459.344.228.5504.228h4.0239c.6935 0 1.0409-.8385.5505-1.3289l-11.35004-11.35c-.49039-.4904-1.32888-.1431-1.32888.5504zm0-7.7821c0 .2065.08201.4045.228.5505l15.10822 15.1082c.146.1459.344.228.5504.228h4.0239c.6935 0 1.0409-.8385.5505-1.3289l-19.13214-19.13213c-.49039-.49039-1.32888-.14307-1.32888.55044zm7.78212 0c0 .2065.082.4045.228.5505l14.0073 14.0073c.4904.4904 1.3289.143 1.3289-.5505v-4.0239c0-.2064-.082-.4044-.228-.5504l-14.0073-14.00733c-.4904-.49039-1.3289-.14307-1.3289.55044zm9.111-4.57433c-.4904-.49039-1.3289-.14307-1.3289.55044v4.02389c0 .2065.082.4045.228.5505l6.2252 6.2252c.4904.4904 1.3289.1431 1.3289-.5505v-4.0239c0-.2064-.082-.4044-.228-.5504z",fill:"var(--brand-yellow)"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("path",{d:"m36.9955 22.2104-7.3273-7.3273c-.4904-.4904-1.3288-.1431-1.3288.5504v10.2493c0 .43.3485.7785.7784.7785h11.3502c.4299 0 .7784-.3485.7784-.7785v-.9334c0-.4299-.35-.7732-.7763-.8287-1.3084-.1703-2.5321-.7679-3.4746-1.7103zm-4.9207 1.7606c-.6874 0-1.2452-.5578-1.2452-1.2451s.5578-1.2452 1.2452-1.2452c.6873 0 1.2451.5579 1.2451 1.2452s-.5578 1.2451-1.2451 1.2451z",fill:"var(--brand-key)"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("g",{fill:"var(--brand-blue)",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("path",{d:"m3.89258 25.6831c0 .4299.34852.7784.77844.7784h3.56791c.69352 0 1.04083-.8385.55044-1.3289l-3.56791-3.5679c-.49039-.4904-1.32888-.1431-1.32888.5505z"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("path",{d:"m11.6747 12.4535-6.45324-6.45323c-.49039-.49039-1.32888-.14307-1.32888.55044v4.02389c0 .2065.08201.4045.228.5505l7.55412 7.5541z"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("path",{d:"m5.22146 13.7825c-.49039-.4904-1.32888-.1431-1.32888.5504v4.0239c0 .2065.08201.4045.228.5505l7.55412 7.5541v-6.2257z"})]}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("path",{d:"m19.4569 12.7759c0-.2064-.082-.4044-.228-.5504l-6.2252-6.22523c-.4904-.49039-1.3289-.14307-1.3289.55044v4.02389c0 .2065.082.4045.228.5505l7.5541 7.5541z",fill:"var(--brand-red)"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("path",{d:"m11.6748 26.4615h4.3464c.6935 0 1.0408-.8385.5504-1.3289l-4.8968-4.8968z",fill:"var(--brand-red)"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("path",{d:"m11.6748 12.4536v5.9032c0 .2065.082.4045.228.5505l7.5541 7.5541v-5.9032c0-.2065-.082-.4045-.228-.5505z",fill:"var(--brand-red)"})]}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("g",{fill:"var(--brand-key)",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("path",{d:"m50.3259 23.3537h3.1979v-5.3028h2.6716c2.9347 0 4.817-1.7406 4.817-4.4324 0-2.6919-1.8823-4.43246-4.817-4.43246h-5.8695zm3.1979-8.0351v-3.4002h2.3478c1.2143 0 1.943.6476 1.943 1.7001 0 1.0524-.7287 1.7001-1.943 1.7001z"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("path",{d:"m66.7977 23.5156c3.1169 0 5.3837-2.2263 5.3837-5.2623 0-3.0359-2.2668-5.2622-5.3837-5.2622-3.1573 0-5.3837 2.2263-5.3837 5.2622 0 3.036 2.2264 5.2623 5.3837 5.2623zm-2.4287-5.2623c0-1.6191.9715-2.7323 2.4287-2.7323 1.437 0 2.4085 1.1132 2.4085 2.7323 0 1.6192-.9715 2.7324-2.4085 2.7324-1.4572 0-2.4287-1.1132-2.4287-2.7324z"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("path",{d:"m77.2989 23.5156c2.3882 0 4.0074-1.4977 4.0074-3.2585 0-4.1289-5.4849-2.7931-5.4849-4.4123 0-.4452.4655-.7286 1.1334-.7286.6882 0 1.518.425 1.7811 1.3561l2.3883-.9918c-.4656-1.4775-2.1859-2.4894-4.2706-2.4894-2.2466 0-3.6431 1.3358-3.6431 2.9347 0 3.8657 5.404 2.7931 5.404 4.392 0 .5667-.5263.9512-1.3156.9512-1.1334 0-1.9228-.7893-2.1656-1.7406l-2.3883.931c.5262 1.5383 2.0644 3.0562 4.5539 3.0562z"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("path",{d:"m88.9994 23.2525-.2024-2.5704c-.3441.1821-.7894.2429-1.1537.2429-.7286 0-1.2143-.5263-1.2143-1.437v-3.8658h2.4692v-2.4692h-2.4692v-2.955h-2.9752v2.955h-1.6192v2.4692h1.6192v4.2503c0 2.4692 1.6798 3.6431 3.8859 3.6431.6072 0 1.1739-.1012 1.6597-.2631z"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("path",{d:"m99.3728 9.18604v5.50516h-5.6266v-5.50516h-3.1979v14.16766h3.1979v-5.9302h5.6266v5.9302h3.2182v-14.16766z"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("path",{d:"m109.689 23.5156c3.117 0 5.384-2.2263 5.384-5.2623 0-3.0359-2.267-5.2622-5.384-5.2622-3.157 0-5.384 2.2263-5.384 5.2622 0 3.036 2.227 5.2623 5.384 5.2623zm-2.429-5.2623c0-1.6191.972-2.7323 2.429-2.7323 1.437 0 2.408 1.1132 2.408 2.7323 0 1.6192-.971 2.7324-2.408 2.7324-1.457 0-2.429-1.1132-2.429-2.7324z"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("path",{d:"m120.815 23.0299c1.113 0 2.105-.3846 2.631-1.0525v.9715c0 1.1334-.911 1.9228-2.307 1.9228-.992 0-1.862-.4858-2.004-1.3156l-2.712.425c.364 1.9228 2.328 3.2181 4.716 3.2181 3.137 0 5.222-1.8418 5.222-4.5741v-9.4721h-2.935v.8703c-.546-.6274-1.477-1.0322-2.672-1.0322-2.833 0-4.614 1.943-4.614 5.0194s1.781 5.0194 4.675 5.0194zm-1.781-5.0194c0-1.518.891-2.4895 2.267-2.4895 1.396 0 2.287.9715 2.287 2.4895 0 1.5179-.891 2.4894-2.287 2.4894-1.376 0-2.267-.9715-2.267-2.4894z"})]})]})}},"./frontend/src/toolbar/toolbarConfigLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{O:()=>toolbarFetch,W:()=>toolbarConfigLogic});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_router__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonToast/LemonToast.tsx"),_toolbar_toolbarPosthogJS__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/toolbar/toolbarPosthogJS.ts"),_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/toolbar/utils.ts");let toolbarConfigLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(["toolbar","toolbarConfigLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.props)({}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)({authenticate:!0,logout:!0,tokenExpired:!0,clearUserIntent:!0,showButton:!0,hideButton:!0,persistConfig:!0}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)(_ref=>{let{props}=_ref;return{props:[props],temporaryToken:[props.temporaryToken||null,{logout:()=>null,tokenExpired:()=>null,authenticate:()=>null}],actionId:[props.actionId||null,{logout:()=>null,clearUserIntent:()=>null}],experimentId:[props.experimentId||null,{logout:()=>null,clearUserIntent:()=>null}],userIntent:[props.userIntent||null,{logout:()=>null,clearUserIntent:()=>null}],buttonVisible:[!0,{showButton:()=>!0,hideButton:()=>!1,logout:()=>!1}]}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.selectors)({posthog:[s=>[s.props],props=>{var _props$posthog;return null!==(_props$posthog=props.posthog)&&void 0!==_props$posthog?_props$posthog:null}],apiURL:[s=>[s.props],props=>`${props.apiURL?.endsWith("/")?props.apiURL.replace(/\/+$/,""):props.apiURL}`],dataAttributes:[s=>[s.props],props=>{var _props$dataAttributes;return null!==(_props$dataAttributes=props.dataAttributes)&&void 0!==_props$dataAttributes?_props$dataAttributes:[]}],isAuthenticated:[s=>[s.temporaryToken],temporaryToken=>!!temporaryToken]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.listeners)(_ref2=>{let{values,actions}=_ref2;return{authenticate:()=>{_toolbar_toolbarPosthogJS__WEBPACK_IMPORTED_MODULE_3__.T.capture("toolbar authenticate",{is_authenticated:values.isAuthenticated});let encodedUrl=encodeURIComponent(window.location.href);actions.persistConfig(),window.location.href=`${values.apiURL}/authorize_and_redirect/?redirect=${encodedUrl}`},logout:()=>{_toolbar_toolbarPosthogJS__WEBPACK_IMPORTED_MODULE_3__.T.capture("toolbar logout"),localStorage.removeItem(_utils__WEBPACK_IMPORTED_MODULE_4__.k2)},tokenExpired:()=>{_toolbar_toolbarPosthogJS__WEBPACK_IMPORTED_MODULE_3__.T.capture("toolbar token expired"),console.warn("PostHog Toolbar API token expired. Clearing session."),"localstorage"!==values.props.source&&lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_2__.UJ.error("PostHog Toolbar API token expired."),actions.persistConfig()},persistConfig:()=>{var _values$temporaryToke,_values$actionId,_values$experimentId,_values$userIntent;let toolbarParams={...values.props,temporaryToken:null!==(_values$temporaryToke=values.temporaryToken)&&void 0!==_values$temporaryToke?_values$temporaryToke:void 0,actionId:null!==(_values$actionId=values.actionId)&&void 0!==_values$actionId?_values$actionId:void 0,experimentId:null!==(_values$experimentId=values.experimentId)&&void 0!==_values$experimentId?_values$experimentId:void 0,userIntent:null!==(_values$userIntent=values.userIntent)&&void 0!==_values$userIntent?_values$userIntent:void 0,posthog:void 0,featureFlags:void 0};localStorage.setItem(_utils__WEBPACK_IMPORTED_MODULE_4__.k2,JSON.stringify(toolbarParams))}}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.afterMount)(_ref3=>{let{props,values}=_ref3;if(props.instrument){let distinctId=props.distinctId;_toolbar_toolbarPosthogJS__WEBPACK_IMPORTED_MODULE_3__.T.optIn(),distinctId&&_toolbar_toolbarPosthogJS__WEBPACK_IMPORTED_MODULE_3__.T.identify(distinctId,props.userEmail?{email:props.userEmail}:{})}_toolbar_toolbarPosthogJS__WEBPACK_IMPORTED_MODULE_3__.T.capture("toolbar loaded",{is_authenticated:values.isAuthenticated})})]);async function toolbarFetch(url){let fullUrl,method=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"GET",payload=arguments.length>2?arguments[2]:void 0,urlConstruction=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"full",temporaryToken=toolbarConfigLogic.findMounted()?.values.temporaryToken,apiURL=toolbarConfigLogic.findMounted()?.values.apiURL;if("use-as-provided"===urlConstruction)fullUrl=url;else{let{pathname,searchParams}=(0,kea_router__WEBPACK_IMPORTED_MODULE_1__.combineUrl)(url),params={...searchParams,temporary_token:temporaryToken};fullUrl=`${apiURL}${pathname}${(0,kea_router__WEBPACK_IMPORTED_MODULE_1__.encodeParams)(params,"?")}`}let payloadData=payload?{body:JSON.stringify(payload),headers:{"Content-Type":"application/json"}}:{},response=await fetch(fullUrl,{method,...payloadData});if(403===response.status){let responseData=await response.json();"You don't have access to the project."===responseData.detail&&toolbarConfigLogic.actions.authenticate()}return 401==response.status&&toolbarConfigLogic.actions.tokenExpired(),response}},"./frontend/src/toolbar/toolbarPosthogJS.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{O:()=>useToolbarFeatureFlag,T:()=>toolbarPosthogJS});var posthog_js_lite__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/posthog-js-lite@3.0.0/node_modules/posthog-js-lite/lib/index.esm.js"),react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/index.js");let DEFAULT_API_KEY="sTMFPsFhdP1Ssg",runningOnPosthog=!!window.POSTHOG_APP_CONTEXT,apiKey=runningOnPosthog?window.JS_POSTHOG_API_KEY:DEFAULT_API_KEY,apiHost=runningOnPosthog?window.JS_POSTHOG_HOST:"https://internal-t.posthog.com",toolbarPosthogJS=new posthog_js_lite__WEBPACK_IMPORTED_MODULE_0__.Z(apiKey||DEFAULT_API_KEY,{host:apiHost,defaultOptIn:!1,persistence:"memory",persistence_name:apiKey+"_toolbar",preloadFeatureFlags:!1});runningOnPosthog&&window.JS_POSTHOG_SELF_CAPTURE&&toolbarPosthogJS.debug();let useToolbarFeatureFlag=(flag,match)=>{let[flagValue,setFlagValue]=(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(toolbarPosthogJS.getFeatureFlag(flag));return((0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>toolbarPosthogJS.onFeatureFlag(flag,value=>setFlagValue(value)),[flag,match]),match)?flagValue===match:!!flagValue}},"./frontend/src/toolbar/utils.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{KC:()=>getHeatMapHue,Nb:()=>TOOLBAR_ID,OS:()=>trimElement,R6:()=>function getAllClickTargets(){let startNode=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document,selector=arguments.length>1?arguments[1]:void 0,targetSelector=selector||lib_actionUtils__WEBPACK_IMPORTED_MODULE_0__.cR,elements=startNode.querySelectorAll(targetSelector),allElements=[...startNode.querySelectorAll("*")],pointerElements=allElements.filter(el=>{if(lib_actionUtils__WEBPACK_IMPORTED_MODULE_0__.OK.indexOf(el.tagName.toLowerCase())>=0)return!1;let compStyles=window.getComputedStyle(el);return"pointer"===compStyles.getPropertyValue("cursor")}),shadowElements=allElements.filter(el=>el.shadowRoot&&el.getAttribute("id")!==TOOLBAR_ID).map(el=>el.shadowRoot?getAllClickTargets(el.shadowRoot,targetSelector):[]).reduce((a,b)=>[...a,...b],[]),selectedElements=[...elements,...pointerElements,...shadowElements].map(e=>trimElement(e,targetSelector)).filter(e=>e),uniqueElements=Array.from(new Set(selectedElements));return uniqueElements},bE:()=>elementToActionStep,dZ:()=>elementToQuery,gj:()=>actionStepToActionStepFormItem,k2:()=>LOCALSTORAGE_KEY,lz:()=>getBoxColors,nL:()=>inBounds,o:()=>getElementForStep,sV:()=>stepToDatabaseFormat,vf:()=>getRectForElement,wu:()=>TOOLBAR_CONTAINER_CLASS});var _medv_finder__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/.pnpm/@medv+finder@3.1.0/node_modules/@medv/finder/finder.js"),lib_actionUtils__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/src/lib/actionUtils.ts"),lib_utils_cssEscape__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/lib/utils/cssEscape.ts"),query_selector_shadow_dom__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/query-selector-shadow-dom@1.0.0/node_modules/query-selector-shadow-dom/src/querySelectorDeep.js");let TOOLBAR_ID="__POSTHOG_TOOLBAR__",TOOLBAR_CONTAINER_CLASS="toolbar-global-fade-container",LOCALSTORAGE_KEY="_postHogToolbarParams";function elementToQuery(element,dataAttributes){if(element){for(let{name,value}of Array.from(element.attributes)){if(!dataAttributes.includes(name))continue;let selector=`[${(0,lib_utils_cssEscape__WEBPACK_IMPORTED_MODULE_1__.Q)(name)}="${(0,lib_utils_cssEscape__WEBPACK_IMPORTED_MODULE_1__.Q)(value)}"]`;if(1==(0,query_selector_shadow_dom__WEBPACK_IMPORTED_MODULE_2__.Jp)(selector).length)return selector}try{return(0,_medv_finder__WEBPACK_IMPORTED_MODULE_3__.w)(element,{tagName:name=>!lib_actionUtils__WEBPACK_IMPORTED_MODULE_0__.Kr.includes(name),seedMinLength:5,attr:name=>name.startsWith("data-")})}catch(error){console.warn("Error while trying to find a selector for element",element,error);return}}}function elementToActionStep(element,dataAttributes){let query=elementToQuery(element,dataAttributes);return{event:"$autocapture",href:element.getAttribute("href")||"",text:function(el){if(!el.childNodes||!el.childNodes.length)return"";let elText="";return el.childNodes.forEach(child=>{3===child.nodeType&&child.textContent&&(elText+=child.textContent.trim().replace(/[\r\n]/g," ").replace(/[ ]+/g," ").substring(0,255))}),elText}(element)||"",selector:query||"",url:window.location.protocol+"//"+window.location.host+window.location.pathname,url_matching:"exact"}}function getParent(element){let parent=element.parentNode;return parent?.nodeType===window.Node.DOCUMENT_FRAGMENT_NODE?parent.host:parent?.nodeType===window.Node.ELEMENT_NODE?parent:null}function trimElement(element,selector){let target_selector=selector||lib_actionUtils__WEBPACK_IMPORTED_MODULE_0__.cR;if(!element)return null;let rootElement=window.document.getElementById(TOOLBAR_ID)||null;if(rootElement&&isParentOf(element,rootElement))return null;let loopElement=element;for(;;)if(1===loopElement.children.length)loopElement=loopElement.children[0];else break;for(;loopElement;){let parent=getParent(loopElement);if(!parent)break;if(loopElement.matches?.(target_selector))return loopElement;let compStyles=window.getComputedStyle(loopElement);if("pointer"===compStyles.getPropertyValue("cursor")){let parentStyles=parent?window.getComputedStyle(parent):null;if(!parentStyles||"pointer"!==parentStyles.getPropertyValue("cursor"))return loopElement}loopElement=parent}return null}function inBounds(min,value,max){return Math.max(min,Math.min(max,value))}function isParentOf(element,possibleParent){let loopElement=element;for(;loopElement;){if(loopElement!==element&&loopElement===possibleParent)return!0;loopElement=getParent(loopElement)}return!1}function getElementForStep(step,allElements){if(!step)return null;let selector="";step.selector&&(step.selector_selected||void 0===step.selector_selected)&&(selector=step.selector),step.href&&(step.href_selected||void 0===step.href_selected)&&(selector+=`[href="${(0,lib_utils_cssEscape__WEBPACK_IMPORTED_MODULE_1__.Q)(step.href)}"]`);let hasText=step.text&&step.text.trim()&&(step.text_selected||void 0===step.text_selected);if(!selector&&!hasText)return null;let elements=[];try{elements=[...(0,query_selector_shadow_dom__WEBPACK_IMPORTED_MODULE_2__.Jp)(selector||"*",document,allElements)]}catch(e){return console.error("Cannot use selector:",selector,". with exception: ",e),null}if(hasText&&step?.text){let textToSearch=step.text.toString().trim();elements=(elements=elements.filter(e=>-1===lib_actionUtils__WEBPACK_IMPORTED_MODULE_0__.Kr.indexOf(e.tagName.toLowerCase())&&e.innerText?.trim()===textToSearch&&(e.matches(lib_actionUtils__WEBPACK_IMPORTED_MODULE_0__.cR)||window.getComputedStyle(e)?.getPropertyValue("cursor")==="pointer"))).filter(e=>!elements.find(e2=>isParentOf(e2,e)))}return 1===elements.length?elements[0]:null}function getBoxColors(color){let hover=arguments.length>1&&void 0!==arguments[1]&&arguments[1],opacity=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.2;return"blue"===color?{backgroundBlendMode:"multiply",background:`hsla(240, 90%, 58%, ${opacity})`,boxShadow:`hsla(240, 90%, 27%, 0.2) 0px 3px 10px ${hover?4:0}px`,outline:"hsla(240, 90%, 58%, 0.5) solid 1px"}:"red"===color?{backgroundBlendMode:"multiply",background:`hsla(4, 90%, 58%, ${opacity})`,boxShadow:`hsla(4, 90%, 27%, 0.2) 0px 3px 10px ${hover?5:0}px`,outline:"hsla(4, 90%, 58%, 0.5) solid 1px"}:void 0}function actionStepToActionStepFormItem(step){let isNew=arguments.length>1&&void 0!==arguments[1]&&arguments[1],includedPropertyKeys=arguments.length>2?arguments[2]:void 0;if(!step)return{};if(void 0!==step.selector_selected)return step;if(isNew){let hasSelector=!!step.selector;return"a"===step.tag_name?{...step,href_selected:!0,selector_selected:hasSelector,text_selected:includedPropertyKeys?.includes("text")||!1,url_selected:includedPropertyKeys?.includes("url")||!1}:"button"===step.tag_name?{...step,text_selected:!0,selector_selected:hasSelector,href_selected:includedPropertyKeys?.includes("href")||!1,url_selected:includedPropertyKeys?.includes("url")||!1}:{...step,selector_selected:hasSelector,text_selected:includedPropertyKeys?.includes("text")||!1,url_selected:includedPropertyKeys?.includes("url")||!1,href_selected:includedPropertyKeys?.includes("href")||!1}}return{...step,url_matching:step.url_matching||"exact",href_selected:void 0!==step.href&&null!==step.href,text_selected:void 0!==step.text&&null!==step.text,selector_selected:void 0!==step.selector&&null!==step.selector,url_selected:void 0!==step.url&&null!==step.url}}function stepToDatabaseFormat(step){let{href_selected,text_selected,selector_selected,url_selected,...rest}=step;return{...rest,href:href_selected&&rest.href||null,text:text_selected&&rest.text||null,selector:selector_selected&&rest.selector||null,url:url_selected&&rest.url||null}}function getRectForElement(element){let elements=[elementToAreaRect(element)],loopElement=element;for(;1===loopElement.children.length;)elements.push(elementToAreaRect(loopElement=loopElement.children[0]));let maxArea=0,maxRect=elements[0].rect;for(let{rect,area}of elements)area>=maxArea&&(maxArea=area,maxRect=rect);return maxRect}let getZoomLevel=el=>{let zooms=[],getZoom=el=>{let zoom=window.getComputedStyle(el).getPropertyValue("zoom"),rzoom=zoom?parseFloat(zoom):1;1!==rzoom&&zooms.push(rzoom),el.parentElement?.parentElement&&getZoom(el.parentElement)};return getZoom(el),zooms.reverse(),zooms},getRect=el=>{if(!el)return{x:0,y:0,width:0,height:0,top:0,right:0,bottom:0,left:0};let rect=el?.getBoundingClientRect(),zooms=getZoomLevel(el),rectWithZoom={bottom:zooms.reduce((a,b)=>a*b,rect.bottom),height:zooms.reduce((a,b)=>a*b,rect.height),left:zooms.reduce((a,b)=>a*b,rect.left),right:zooms.reduce((a,b)=>a*b,rect.right),top:zooms.reduce((a,b)=>a*b,rect.top),width:zooms.reduce((a,b)=>a*b,rect.width),x:zooms.reduce((a,b)=>a*b,rect.x),y:zooms.reduce((a,b)=>a*b,rect.y)};return rectWithZoom};function elementToAreaRect(element){var _rect$width,_rect$height;let rect=getRect(element);return{element,rect,area:(null!==(_rect$width=rect.width)&&void 0!==_rect$width?_rect$width:0)*(null!==(_rect$height=rect.height)&&void 0!==_rect$height?_rect$height:0)}}function getHeatMapHue(count,maxCount){return 0===maxCount?60:60-count/maxCount*40}},"./frontend/src/types.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{B_:()=>Realm,Bs:()=>FeatureFlagStatus,Cz:()=>NotebookNodeType,D7:()=>CountPerActorMathType,DC:()=>EntityTypes,EF:()=>SessionRecordingSidebarStacking,F4:()=>DashboardPlacement,F7:()=>ExperimentsTabs,FB:()=>TemplateAvailabilityContext,FT:()=>PropertyFilterType,G2:()=>BehavioralEventType,H$:()=>SidePanelTab,HI:()=>SurveyUrlMatchType,Hh:()=>SingleFieldDateType,I9:()=>SurveyQuestionType,Iz:()=>ChartDisplayCategory,J2:()=>FilterLogicalOperator,J9:()=>PipelineTab,KU:()=>GraphType,LO:()=>ItemMode,MK:()=>ActorGroupType,ML:()=>EarlyAccessFeatureTabs,MN:()=>DashboardMode,Md:()=>ProductKey,NE:()=>BehavioralLifecycleType,O4:()=>PropertyMathType,OU:()=>GroupMathType,P$:()=>AvailableFeature,P5:()=>ExporterFormat,P6:()=>InsightColor,Qb:()=>ChartDisplayType,Qo:()=>SnapshotSourceType,S7:()=>FunnelMathType,SR:()=>RolloutConditionType,Sm:()=>SessionRecordingUsageType,Ts:()=>LayoutView,U6:()=>isDataWarehouseFilter,Ui:()=>FunnelVizType,VI:()=>FunnelCorrelationType,Vb:()=>BehavioralCohortType,W:()=>CookielessServerHashMode,WV:()=>PropertyOperator,We:()=>PipelineStage,XF:()=>FunnelStepReference,Xy:()=>TimeUnitType,Yy:()=>SessionPlayerState,ZO:()=>ActivityTab,_L:()=>SDKTag,_z:()=>Resource,aI:()=>FeatureFlagReleaseType,ak:()=>PluginInstallationType,bZ:()=>NotebookTarget,cB:()=>PathType,cr:()=>SessionRecordingSidebarTab,d_:()=>SurveyType,dc:()=>AnnotationScope,dw:()=>InsightType,e2:()=>BATCH_EXPORT_SERVICE_NAMES,fL:()=>ScheduledChangeOperationType,fS:()=>FunnelCorrelationResultsType,hP:()=>FunnelPathType,ih:()=>FunnelConversionWindowTimeUnit,il:()=>PipelineNodeTab,j3:()=>PersonsTabType,jc:()=>ActivityScope,kO:()=>StepOrderValue,kR:()=>DateOperatorType,kv:()=>SurveyQuestionBranchingType,l4:()=>SavedInsightsTabs,lh:()=>SDKKey,ll:()=>PropertyDefinitionType,mN:()=>ProgressStatus,mY:()=>HogQLMathType,nE:()=>EarlyAccessFeatureStage,q9:()=>BreakdownAttributionType,si:()=>HogWatcherState,uJ:()=>ValueOptionType,uS:()=>PropertyType,uW:()=>EventDefinitionType,uv:()=>AccessLevel,vN:()=>BaseMathType,w7:()=>FilterableInspectorListItemTypes,wz:()=>PropertyDefinitionState,xW:()=>RetentionPeriod,yd:()=>ReplayTabs,yp:()=>Region,zD:()=>manualLinkSources});let AvailableFeature=function(AvailableFeature){return AvailableFeature.APPS="apps",AvailableFeature.SLACK_INTEGRATION="slack_integration",AvailableFeature.MICROSOFT_TEAMS_INTEGRATION="microsoft_teams_integration",AvailableFeature.DISCORD_INTEGRATION="discord_integration",AvailableFeature.ZAPIER="zapier",AvailableFeature.APP_METRICS="app_metrics",AvailableFeature.DATA_PIPELINES="data_pipelines",AvailableFeature.RECORDINGS_PLAYLISTS="recordings_playlists",AvailableFeature.SESSION_REPLAY_DATA_RETENTION="session_replay_data_retention",AvailableFeature.CONSOLE_LOGS="console_logs",AvailableFeature.RECORDINGS_PERFORMANCE="recordings_performance",AvailableFeature.SESSION_REPLAY_NETWORK_PAYLOADS="session_replay_network_payloads",AvailableFeature.RECORDINGS_FILE_EXPORT="recordings_file_export",AvailableFeature.SESSION_REPLAY_SAMPLING="session_replay_sampling",AvailableFeature.REPLAY_RECORDING_DURATION_MINIMUM="replay_recording_duration_minimum",AvailableFeature.REPLAY_FEATURE_FLAG_BASED_RECORDING="replay_feature_flag_based_recording",AvailableFeature.REPLAY_MASK_SENSITIVE_DATA="replay_mask_sensitive_data",AvailableFeature.REPLAY_SHARING_EMBEDDING="replay_sharing_embedding",AvailableFeature.REPLAY_PRODUCT_ANALYTICS_INTEGRATION="replay_product_analytics_integration",AvailableFeature.REPLAY_FILTER_PERSON_PROPERTIES="replay_filter_person_properties",AvailableFeature.REPLAY_FILTER_EVENTS="replay_filter_events",AvailableFeature.REPLAY_DOM_EXPLORER="replay_dom_explorer",AvailableFeature.WORKS_WITH_POSTHOG_JS="works_with_posthog_js",AvailableFeature.REPLAY_AUTOMATIC_PLAYLISTS="replay_automatic_playlists",AvailableFeature.GROUP_ANALYTICS="group_analytics",AvailableFeature.SURVEYS_UNLIMITED_SURVEYS="surveys_unlimited_surveys",AvailableFeature.SURVEYS_ALL_QUESTION_TYPES="surveys_all_question_types",AvailableFeature.SURVEYS_MULTIPLE_QUESTIONS="surveys_multiple_questions",AvailableFeature.SURVEYS_USER_TARGETING="surveys_user_targeting",AvailableFeature.SURVEYS_USER_SAMPLING="surveys_user_sampling",AvailableFeature.SURVEYS_STYLING="surveys_styling",AvailableFeature.SURVEYS_TEXT_HTML="surveys_text_html",AvailableFeature.SURVEYS_API_MODE="surveys_api_mode",AvailableFeature.SURVEYS_RESULTS_ANALYSIS="surveys_results_analysis",AvailableFeature.SURVEYS_TEMPLATES="surveys_templates",AvailableFeature.SURVEYS_DATA_RETENTION="surveys_data_retention",AvailableFeature.SURVEYS_LINK_QUESTION_TYPE="surveys_link_question_type",AvailableFeature.SURVEYS_SLACK_NOTIFICATIONS="surveys_slack_notifications",AvailableFeature.SURVEYS_WAIT_PERIODS="surveys_wait_periods",AvailableFeature.SURVEYS_RECURRING="surveys_recurring",AvailableFeature.SURVEYS_EVENTS="surveys_events",AvailableFeature.SURVEYS_ACTIONS="surveys_actions",AvailableFeature.TRACKED_USERS="tracked_users",AvailableFeature.TEAM_MEMBERS="team_members",AvailableFeature.API_ACCESS="api_access",AvailableFeature.ORGANIZATIONS_PROJECTS="organizations_projects",AvailableFeature.ROLE_BASED_ACCESS="role_based_access",AvailableFeature.SOCIAL_SSO="social_sso",AvailableFeature.PROJECT_BASED_PERMISSIONING="project_based_permissioning",AvailableFeature.SAML="saml",AvailableFeature.SSO_ENFORCEMENT="sso_enforcement",AvailableFeature.WHITE_LABELLING="white_labelling",AvailableFeature.COMMUNITY_SUPPORT="community_support",AvailableFeature.DEDICATED_SUPPORT="dedicated_support",AvailableFeature.EMAIL_SUPPORT="email_support",AvailableFeature.ACCOUNT_MANAGER="account_manager",AvailableFeature.TRAINING="training",AvailableFeature.CONFIGURATION_SUPPORT="configuration_support",AvailableFeature.TERMS_AND_CONDITIONS="terms_and_conditions",AvailableFeature.SECURITY_ASSESSMENT="security_assessment",AvailableFeature.BESPOKE_PRICING="bespoke_pricing",AvailableFeature.INVOICE_PAYMENTS="invoice_payments",AvailableFeature.BOOLEAN_FLAGS="boolean_flags",AvailableFeature.FEATURE_FLAGS_DATA_RETENTION="feature_flags_data_retention",AvailableFeature.MULTIVARIATE_FLAGS="multivariate_flags",AvailableFeature.PERSIST_FLAGS_CROSS_AUTHENTICATION="persist_flags_cross_authentication",AvailableFeature.FEATURE_FLAG_PAYLOADS="feature_flag_payloads",AvailableFeature.MULTIPLE_RELEASE_CONDITIONS="multiple_release_conditions",AvailableFeature.RELEASE_CONDITION_OVERRIDES="release_condition_overrides",AvailableFeature.TARGETING_BY_GROUP="targeting_by_group",AvailableFeature.LOCAL_EVALUATION_AND_BOOTSTRAPPING="local_evaluation_and_bootstrapping",AvailableFeature.FLAG_USAGE_STATS="flag_usage_stats",AvailableFeature.MULTIPLE_ENVIRONMENTS="multiple_environments",AvailableFeature.USER_OPT_IN="user_opt_in",AvailableFeature.INSTANT_ROLLBACKS="instant_rollbacks",AvailableFeature.EXPERIMENTATION="experimentation",AvailableFeature.GROUP_EXPERIMENTS="group_experiments",AvailableFeature.FUNNEL_EXPERIMENTS="funnel_experiments",AvailableFeature.SECONDARY_METRICS="secondary_metrics",AvailableFeature.STATISTICAL_ANALYSIS="statistical_analysis",AvailableFeature.PRODUCT_ANALYTICS_DATA_RETENTION="product_analytics_data_retention",AvailableFeature.DASHBOARDS="dashboards",AvailableFeature.FUNNELS="funnels",AvailableFeature.GRAPHS_TRENDS="graphs_trends",AvailableFeature.PATHS="paths",AvailableFeature.INSIGHTS="insights",AvailableFeature.SUBSCRIPTIONS="subscriptions",AvailableFeature.ADVANCED_PERMISSIONS="advanced_permissions",AvailableFeature.INGESTION_TAXONOMY="ingestion_taxonomy",AvailableFeature.PATHS_ADVANCED="paths_advanced",AvailableFeature.CORRELATION_ANALYSIS="correlation_analysis",AvailableFeature.TAGGING="tagging",AvailableFeature.BEHAVIORAL_COHORT_FILTERING="behavioral_cohort_filtering",AvailableFeature.PRODUCT_ANALYTICS_RETENTION="product_analytics_retention",AvailableFeature.PRODUCT_ANALYTICS_STICKINESS="product_analytics_stickiness",AvailableFeature.AUTOCAPTURE="autocapture",AvailableFeature.DATA_VISUALIZATION="data_visualization",AvailableFeature.PRODUCT_ANALYTICS_SQL_QUERIES="product_analytics_sql_queries",AvailableFeature.TWOFA_ENFORCEMENT="2fa_enforcement",AvailableFeature.AUDIT_LOGS="audit_logs",AvailableFeature.HIPAA_BAA="hipaa_baa",AvailableFeature.CUSTOM_MSA="custom_msa",AvailableFeature.TWOFA="2fa",AvailableFeature.PRIORITY_SUPPORT="priority_support",AvailableFeature.SUPPORT_RESPONSE_TIME="support_response_time",AvailableFeature.DATA_PIPELINES_TRANSFORMATIONS="data_pipelines_transformations",AvailableFeature.AUTOMATIC_PROVISIONING="automatic_provisioning",AvailableFeature.MANAGED_REVERSE_PROXY="managed_reverse_proxy",AvailableFeature.ALERTS="alerts",AvailableFeature}({}),ProductKey=function(ProductKey){return ProductKey.COHORTS="cohorts",ProductKey.ACTIONS="actions",ProductKey.ALERTS="alerts",ProductKey.EXPERIMENTS="experiments",ProductKey.FEATURE_FLAGS="feature_flags",ProductKey.ANNOTATIONS="annotations",ProductKey.HISTORY="history",ProductKey.HEATMAPS="heatmaps",ProductKey.INGESTION_WARNINGS="ingestion_warnings",ProductKey.PERSONS="persons",ProductKey.SURVEYS="surveys",ProductKey.SESSION_REPLAY="session_replay",ProductKey.DATA_WAREHOUSE="data_warehouse",ProductKey.DATA_WAREHOUSE_SAVED_QUERY="data_warehouse_saved_queries",ProductKey.EARLY_ACCESS_FEATURES="early_access_features",ProductKey.PRODUCT_ANALYTICS="product_analytics",ProductKey.PIPELINE_TRANSFORMATIONS="pipeline_transformations",ProductKey.PIPELINE_DESTINATIONS="pipeline_destinations",ProductKey.SITE_APPS="site_apps",ProductKey.DATA_PIPELINES="data_pipelines",ProductKey.GROUP_ANALYTICS="group_analytics",ProductKey.INTEGRATIONS="integrations",ProductKey.PLATFORM_AND_SUPPORT="platform_and_support",ProductKey.TEAMS="teams",ProductKey.WEB_ANALYTICS="web_analytics",ProductKey.ERROR_TRACKING="error_tracking",ProductKey}({}),Realm=function(Realm){return Realm.Cloud="cloud",Realm.Demo="demo",Realm.SelfHostedPostgres="hosted",Realm.SelfHostedClickHouse="hosted-clickhouse",Realm}({}),Region=function(Region){return Region.US="US",Region.EU="EU",Region}({}),PropertyOperator=function(PropertyOperator){return PropertyOperator.Exact="exact",PropertyOperator.IsNot="is_not",PropertyOperator.IContains="icontains",PropertyOperator.NotIContains="not_icontains",PropertyOperator.Regex="regex",PropertyOperator.NotRegex="not_regex",PropertyOperator.GreaterThan="gt",PropertyOperator.GreaterThanOrEqual="gte",PropertyOperator.LessThan="lt",PropertyOperator.LessThanOrEqual="lte",PropertyOperator.IsSet="is_set",PropertyOperator.IsNotSet="is_not_set",PropertyOperator.IsDateExact="is_date_exact",PropertyOperator.IsDateBefore="is_date_before",PropertyOperator.IsDateAfter="is_date_after",PropertyOperator.Between="between",PropertyOperator.NotBetween="not_between",PropertyOperator.Minimum="min",PropertyOperator.Maximum="max",PropertyOperator.In="in",PropertyOperator.NotIn="not_in",PropertyOperator}({}),SavedInsightsTabs=function(SavedInsightsTabs){return SavedInsightsTabs.All="all",SavedInsightsTabs.Yours="yours",SavedInsightsTabs.Favorites="favorites",SavedInsightsTabs.History="history",SavedInsightsTabs.Alerts="alerts",SavedInsightsTabs}({}),ReplayTabs=function(ReplayTabs){return ReplayTabs.Templates="templates",ReplayTabs.Home="home",ReplayTabs.Playlists="playlists",ReplayTabs}({}),ExperimentsTabs=function(ExperimentsTabs){return ExperimentsTabs.All="all",ExperimentsTabs.Yours="yours",ExperimentsTabs.Archived="archived",ExperimentsTabs.Holdouts="holdouts",ExperimentsTabs.SharedMetrics="shared-metrics",ExperimentsTabs}({}),ActivityTab=function(ActivityTab){return ActivityTab.ExploreEvents="explore",ActivityTab.LiveEvents="live",ActivityTab}({}),PipelineTab=function(PipelineTab){return PipelineTab.Overview="overview",PipelineTab.Transformations="transformations",PipelineTab.Destinations="destinations",PipelineTab.SiteApps="site-apps",PipelineTab.Sources="sources",PipelineTab.ImportApps="legacy-sources",PipelineTab.AppsManagement="apps-management",PipelineTab.History="history",PipelineTab}({}),PipelineStage=function(PipelineStage){return PipelineStage.Transformation="transformation",PipelineStage.Destination="destination",PipelineStage.Source="source",PipelineStage.SiteApp="site-app",PipelineStage.ImportApp="legacy-source",PipelineStage}({}),PipelineNodeTab=function(PipelineNodeTab){return PipelineNodeTab.Configuration="configuration",PipelineNodeTab.Runs="runs",PipelineNodeTab.Logs="logs",PipelineNodeTab.Metrics="metrics",PipelineNodeTab.History="history",PipelineNodeTab.Schemas="schemas",PipelineNodeTab.Syncs="syncs",PipelineNodeTab.SourceConfiguration="source configuration",PipelineNodeTab}({}),ProgressStatus=function(ProgressStatus){return ProgressStatus.Draft="draft",ProgressStatus.Running="running",ProgressStatus.Complete="complete",ProgressStatus}({}),PropertyFilterType=function(PropertyFilterType){return PropertyFilterType.Meta="meta",PropertyFilterType.Event="event",PropertyFilterType.Person="person",PropertyFilterType.Element="element",PropertyFilterType.Feature="feature",PropertyFilterType.Session="session",PropertyFilterType.Cohort="cohort",PropertyFilterType.Recording="recording",PropertyFilterType.LogEntry="log_entry",PropertyFilterType.Group="group",PropertyFilterType.HogQL="hogql",PropertyFilterType.DataWarehouse="data_warehouse",PropertyFilterType.DataWarehousePersonProperty="data_warehouse_person_property",PropertyFilterType}({}),SnapshotSourceType={blob:"blob",realtime:"realtime",file:"file"},SessionRecordingUsageType=function(SessionRecordingUsageType){return SessionRecordingUsageType.VIEWED="viewed",SessionRecordingUsageType.ANALYZED="analyzed",SessionRecordingUsageType.LOADED="loaded",SessionRecordingUsageType}({}),SessionRecordingSidebarTab=function(SessionRecordingSidebarTab){return SessionRecordingSidebarTab.OVERVIEW="overview",SessionRecordingSidebarTab.INSPECTOR="inspector",SessionRecordingSidebarTab.DEBUGGER="debugger",SessionRecordingSidebarTab}({}),SessionRecordingSidebarStacking=function(SessionRecordingSidebarStacking){return SessionRecordingSidebarStacking.Vertical="vertical",SessionRecordingSidebarStacking.Horizontal="horizontal",SessionRecordingSidebarStacking}({}),FilterableInspectorListItemTypes=function(FilterableInspectorListItemTypes){return FilterableInspectorListItemTypes.EVENTS="events",FilterableInspectorListItemTypes.CONSOLE="console",FilterableInspectorListItemTypes.NETWORK="network",FilterableInspectorListItemTypes.DOCTOR="doctor",FilterableInspectorListItemTypes}({}),SessionPlayerState=function(SessionPlayerState){return SessionPlayerState.READY="ready",SessionPlayerState.BUFFER="buffer",SessionPlayerState.PLAY="play",SessionPlayerState.PAUSE="pause",SessionPlayerState.SCRUB="scrub",SessionPlayerState.SKIP="skip",SessionPlayerState.ERROR="error",SessionPlayerState}({}),EntityTypes=function(EntityTypes){return EntityTypes.ACTIONS="actions",EntityTypes.EVENTS="events",EntityTypes.DATA_WAREHOUSE="data_warehouse",EntityTypes}({}),isDataWarehouseFilter=filter=>filter.type===EntityTypes.DATA_WAREHOUSE,StepOrderValue=function(StepOrderValue){return StepOrderValue.STRICT="strict",StepOrderValue.UNORDERED="unordered",StepOrderValue.ORDERED="ordered",StepOrderValue}({}),PersonsTabType=function(PersonsTabType){return PersonsTabType.FEED="feed",PersonsTabType.EVENTS="events",PersonsTabType.SESSION_RECORDINGS="sessionRecordings",PersonsTabType.PROPERTIES="properties",PersonsTabType.COHORTS="cohorts",PersonsTabType.RELATED="related",PersonsTabType.HISTORY="history",PersonsTabType.FEATURE_FLAGS="featureFlags",PersonsTabType.DASHBOARD="dashboard",PersonsTabType}({}),LayoutView=function(LayoutView){return LayoutView.Card="card",LayoutView.List="list",LayoutView}({}),InsightColor=function(InsightColor){return InsightColor.White="white",InsightColor.Black="black",InsightColor.Blue="blue",InsightColor.Green="green",InsightColor.Purple="purple",InsightColor}({}),TemplateAvailabilityContext=function(TemplateAvailabilityContext){return TemplateAvailabilityContext.GENERAL="general",TemplateAvailabilityContext.ONBOARDING="onboarding",TemplateAvailabilityContext}({}),PluginInstallationType=function(PluginInstallationType){return PluginInstallationType.Local="local",PluginInstallationType.Custom="custom",PluginInstallationType.Repository="repository",PluginInstallationType.Source="source",PluginInstallationType.Inline="inline",PluginInstallationType}({}),AnnotationScope=function(AnnotationScope){return AnnotationScope.Insight="dashboard_item",AnnotationScope.Dashboard="dashboard",AnnotationScope.Project="project",AnnotationScope.Organization="organization",AnnotationScope}({}),ChartDisplayType=function(ChartDisplayType){return ChartDisplayType.ActionsLineGraph="ActionsLineGraph",ChartDisplayType.ActionsBar="ActionsBar",ChartDisplayType.ActionsStackedBar="ActionsStackedBar",ChartDisplayType.ActionsAreaGraph="ActionsAreaGraph",ChartDisplayType.ActionsLineGraphCumulative="ActionsLineGraphCumulative",ChartDisplayType.BoldNumber="BoldNumber",ChartDisplayType.ActionsPie="ActionsPie",ChartDisplayType.ActionsBarValue="ActionsBarValue",ChartDisplayType.ActionsTable="ActionsTable",ChartDisplayType.WorldMap="WorldMap",ChartDisplayType}({}),ChartDisplayCategory=function(ChartDisplayCategory){return ChartDisplayCategory.TimeSeries="TimeSeries",ChartDisplayCategory.CumulativeTimeSeries="CumulativeTimeSeries",ChartDisplayCategory.TotalValue="TotalValue",ChartDisplayCategory}({}),InsightType=function(InsightType){return InsightType.TRENDS="TRENDS",InsightType.STICKINESS="STICKINESS",InsightType.LIFECYCLE="LIFECYCLE",InsightType.FUNNELS="FUNNELS",InsightType.RETENTION="RETENTION",InsightType.PATHS="PATHS",InsightType.JSON="JSON",InsightType.SQL="SQL",InsightType.HOG="HOG",InsightType}({}),PathType=function(PathType){return PathType.PageView="$pageview",PathType.Screen="$screen",PathType.CustomEvent="custom_event",PathType.HogQL="hogql",PathType}({}),FunnelPathType=function(FunnelPathType){return FunnelPathType.before="funnel_path_before_step",FunnelPathType.between="funnel_path_between_steps",FunnelPathType.after="funnel_path_after_step",FunnelPathType}({}),FunnelVizType=function(FunnelVizType){return FunnelVizType.Steps="steps",FunnelVizType.TimeToConvert="time_to_convert",FunnelVizType.Trends="trends",FunnelVizType}({}),RetentionPeriod=function(RetentionPeriod){return RetentionPeriod.Hour="Hour",RetentionPeriod.Day="Day",RetentionPeriod.Week="Week",RetentionPeriod.Month="Month",RetentionPeriod}({}),FunnelConversionWindowTimeUnit=function(FunnelConversionWindowTimeUnit){return FunnelConversionWindowTimeUnit.Second="second",FunnelConversionWindowTimeUnit.Minute="minute",FunnelConversionWindowTimeUnit.Hour="hour",FunnelConversionWindowTimeUnit.Day="day",FunnelConversionWindowTimeUnit.Week="week",FunnelConversionWindowTimeUnit.Month="month",FunnelConversionWindowTimeUnit}({}),FunnelStepReference=function(FunnelStepReference){return FunnelStepReference.total="total",FunnelStepReference.previous="previous",FunnelStepReference}({}),FunnelCorrelationType=function(FunnelCorrelationType){return FunnelCorrelationType.Success="success",FunnelCorrelationType.Failure="failure",FunnelCorrelationType}({}),FunnelCorrelationResultsType=function(FunnelCorrelationResultsType){return FunnelCorrelationResultsType.Events="events",FunnelCorrelationResultsType.Properties="properties",FunnelCorrelationResultsType.EventWithProperties="event_with_properties",FunnelCorrelationResultsType}({}),BreakdownAttributionType=function(BreakdownAttributionType){return BreakdownAttributionType.FirstTouch="first_touch",BreakdownAttributionType.LastTouch="last_touch",BreakdownAttributionType.AllSteps="all_events",BreakdownAttributionType.Step="step",BreakdownAttributionType}({}),SurveyUrlMatchType=function(SurveyUrlMatchType){return SurveyUrlMatchType.Exact="exact",SurveyUrlMatchType.IsNot="is_not",SurveyUrlMatchType.Contains="icontains",SurveyUrlMatchType.NotIContains="not_icontains",SurveyUrlMatchType.Regex="regex",SurveyUrlMatchType.NotRegex="not_regex",SurveyUrlMatchType}({}),SurveyType=function(SurveyType){return SurveyType.Popover="popover",SurveyType.Widget="widget",SurveyType.FullScreen="full_screen",SurveyType.Email="email",SurveyType.API="api",SurveyType}({}),SurveyQuestionType=function(SurveyQuestionType){return SurveyQuestionType.Open="open",SurveyQuestionType.MultipleChoice="multiple_choice",SurveyQuestionType.SingleChoice="single_choice",SurveyQuestionType.Rating="rating",SurveyQuestionType.Link="link",SurveyQuestionType}({}),SurveyQuestionBranchingType=function(SurveyQuestionBranchingType){return SurveyQuestionBranchingType.NextQuestion="next_question",SurveyQuestionBranchingType.End="end",SurveyQuestionBranchingType.ResponseBased="response_based",SurveyQuestionBranchingType.SpecificQuestion="specific_question",SurveyQuestionBranchingType}({}),FeatureFlagStatus=function(FeatureFlagStatus){return FeatureFlagStatus.ACTIVE="active",FeatureFlagStatus.INACTIVE="inactive",FeatureFlagStatus.STALE="stale",FeatureFlagStatus.DELETED="deleted",FeatureFlagStatus.UNKNOWN="unknown",FeatureFlagStatus}({}),EarlyAccessFeatureStage=function(EarlyAccessFeatureStage){return EarlyAccessFeatureStage.Draft="draft",EarlyAccessFeatureStage.Concept="concept",EarlyAccessFeatureStage.Alpha="alpha",EarlyAccessFeatureStage.Beta="beta",EarlyAccessFeatureStage.GeneralAvailability="general-availability",EarlyAccessFeatureStage.Archived="archived",EarlyAccessFeatureStage}({}),EarlyAccessFeatureTabs=function(EarlyAccessFeatureTabs){return EarlyAccessFeatureTabs.OptedIn="opted-in",EarlyAccessFeatureTabs.OptedOut="opted-out",EarlyAccessFeatureTabs}({}),ScheduledChangeOperationType=function(ScheduledChangeOperationType){return ScheduledChangeOperationType.UpdateStatus="update_status",ScheduledChangeOperationType.AddReleaseCondition="add_release_condition",ScheduledChangeOperationType}({}),ItemMode=function(ItemMode){return ItemMode.Edit="edit",ItemMode.View="view",ItemMode.Subscriptions="subscriptions",ItemMode.Sharing="sharing",ItemMode.Alerts="alerts",ItemMode}({}),DashboardPlacement=function(DashboardPlacement){return DashboardPlacement.Dashboard="dashboard",DashboardPlacement.ProjectHomepage="project-homepage",DashboardPlacement.FeatureFlag="feature-flag",DashboardPlacement.Public="public",DashboardPlacement.Export="export",DashboardPlacement.Person="person",DashboardPlacement.Group="group",DashboardPlacement}({}),DashboardMode=function(DashboardMode){return DashboardMode.Edit="edit",DashboardMode.Fullscreen="fullscreen",DashboardMode.Sharing="sharing",DashboardMode}({}),PropertyType=function(PropertyType){return PropertyType.DateTime="DateTime",PropertyType.String="String",PropertyType.Numeric="Numeric",PropertyType.Boolean="Boolean",PropertyType.Duration="Duration",PropertyType.Selector="Selector",PropertyType.Cohort="Cohort",PropertyType}({}),PropertyDefinitionType=function(PropertyDefinitionType){return PropertyDefinitionType.Event="event",PropertyDefinitionType.Person="person",PropertyDefinitionType.Group="group",PropertyDefinitionType.Session="session",PropertyDefinitionType.LogEntry="log_entry",PropertyDefinitionType.Meta="meta",PropertyDefinitionType}({}),PropertyDefinitionState=function(PropertyDefinitionState){return PropertyDefinitionState.Pending="pending",PropertyDefinitionState.Loading="loading",PropertyDefinitionState.Missing="missing",PropertyDefinitionState.Error="error",PropertyDefinitionState}({}),FilterLogicalOperator=function(FilterLogicalOperator){return FilterLogicalOperator.And="AND",FilterLogicalOperator.Or="OR",FilterLogicalOperator}({}),GraphType=function(GraphType){return GraphType.Bar="bar",GraphType.HorizontalBar="horizontalBar",GraphType.Line="line",GraphType.Histogram="histogram",GraphType.Pie="doughnut",GraphType}({}),FunnelMathType=function(FunnelMathType){return FunnelMathType.AnyMatch="total",FunnelMathType.FirstTimeForUser="first_time_for_user",FunnelMathType.FirstTimeForUserWithFilters="first_time_for_user_with_filters",FunnelMathType}({}),BaseMathType=function(BaseMathType){return BaseMathType.TotalCount="total",BaseMathType.UniqueUsers="dau",BaseMathType.WeeklyActiveUsers="weekly_active",BaseMathType.MonthlyActiveUsers="monthly_active",BaseMathType.UniqueSessions="unique_session",BaseMathType.FirstTimeForUser="first_time_for_user",BaseMathType.FirstMatchingEventForUser="first_matching_event_for_user",BaseMathType}({}),PropertyMathType=function(PropertyMathType){return PropertyMathType.Average="avg",PropertyMathType.Sum="sum",PropertyMathType.Minimum="min",PropertyMathType.Maximum="max",PropertyMathType.Median="median",PropertyMathType.P90="p90",PropertyMathType.P95="p95",PropertyMathType.P99="p99",PropertyMathType}({}),CountPerActorMathType=function(CountPerActorMathType){return CountPerActorMathType.Average="avg_count_per_actor",CountPerActorMathType.Minimum="min_count_per_actor",CountPerActorMathType.Maximum="max_count_per_actor",CountPerActorMathType.Median="median_count_per_actor",CountPerActorMathType.P90="p90_count_per_actor",CountPerActorMathType.P95="p95_count_per_actor",CountPerActorMathType.P99="p99_count_per_actor",CountPerActorMathType}({}),HogQLMathType=function(HogQLMathType){return HogQLMathType.HogQL="hogql",HogQLMathType}({}),GroupMathType=function(GroupMathType){return GroupMathType.UniqueGroup="unique_group",GroupMathType}({}),ActorGroupType=function(ActorGroupType){return ActorGroupType.Person="person",ActorGroupType.GroupPrefix="group",ActorGroupType}({}),BehavioralEventType=function(BehavioralEventType){return BehavioralEventType.PerformEvent="performed_event",BehavioralEventType.PerformMultipleEvents="performed_event_multiple",BehavioralEventType.PerformSequenceEvents="performed_event_sequence",BehavioralEventType.NotPerformedEvent="not_performed_event",BehavioralEventType.NotPerformSequenceEvents="not_performed_event_sequence",BehavioralEventType.HaveProperty="have_property",BehavioralEventType.NotHaveProperty="not_have_property",BehavioralEventType}({}),BehavioralCohortType=function(BehavioralCohortType){return BehavioralCohortType.InCohort="in_cohort",BehavioralCohortType.NotInCohort="not_in_cohort",BehavioralCohortType}({}),BehavioralLifecycleType=function(BehavioralLifecycleType){return BehavioralLifecycleType.PerformEventFirstTime="performed_event_first_time",BehavioralLifecycleType.PerformEventRegularly="performed_event_regularly",BehavioralLifecycleType.StopPerformEvent="stopped_performing_event",BehavioralLifecycleType.StartPerformEventAgain="restarted_performing_event",BehavioralLifecycleType}({}),TimeUnitType=function(TimeUnitType){return TimeUnitType.Day="day",TimeUnitType.Week="week",TimeUnitType.Month="month",TimeUnitType.Year="year",TimeUnitType}({}),DateOperatorType=function(DateOperatorType){return DateOperatorType.BeforeTheLast="before_the_last",DateOperatorType.Between="between",DateOperatorType.NotBetween="not_between",DateOperatorType.OnTheDate="on_the_date",DateOperatorType.NotOnTheDate="not_on_the_date",DateOperatorType.Since="since",DateOperatorType.Before="before",DateOperatorType.IsSet="is_set",DateOperatorType.IsNotSet="is_not_set",DateOperatorType}({}),SingleFieldDateType=function(SingleFieldDateType){return SingleFieldDateType.IsDateExact="is_date_exact",SingleFieldDateType.IsDateBefore="is_date_before",SingleFieldDateType.IsDateAfter="is_date_after",SingleFieldDateType}({}),ValueOptionType=function(ValueOptionType){return ValueOptionType.MostRecent="most_recent",ValueOptionType.Previous="previous",ValueOptionType.OnDate="on_date",ValueOptionType}({}),EventDefinitionType=function(EventDefinitionType){return EventDefinitionType.Event="event",EventDefinitionType.EventCustom="event_custom",EventDefinitionType.EventPostHog="event_posthog",EventDefinitionType}({}),ExporterFormat=function(ExporterFormat){return ExporterFormat.PNG="image/png",ExporterFormat.CSV="text/csv",ExporterFormat.PDF="application/pdf",ExporterFormat.JSON="application/json",ExporterFormat.XLSX="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",ExporterFormat}({}),FeatureFlagReleaseType=function(FeatureFlagReleaseType){return FeatureFlagReleaseType.ReleaseToggle="Release toggle",FeatureFlagReleaseType.Variants="Multiple variants",FeatureFlagReleaseType}({}),RolloutConditionType=function(RolloutConditionType){return RolloutConditionType.Insight="insight",RolloutConditionType.Sentry="sentry",RolloutConditionType}({}),Resource=function(Resource){return Resource.FEATURE_FLAGS="feature flags",Resource}({}),AccessLevel=function(AccessLevel){return AccessLevel[AccessLevel.READ=21]="READ",AccessLevel[AccessLevel.WRITE=37]="WRITE",AccessLevel}({}),ActivityScope=function(ActivityScope){return ActivityScope.ACTION="Action",ActivityScope.FEATURE_FLAG="FeatureFlag",ActivityScope.PERSON="Person",ActivityScope.INSIGHT="Insight",ActivityScope.PLUGIN="Plugin",ActivityScope.PLUGIN_CONFIG="PluginConfig",ActivityScope.HOG_FUNCTION="HogFunction",ActivityScope.DATA_MANAGEMENT="DataManagement",ActivityScope.EVENT_DEFINITION="EventDefinition",ActivityScope.PROPERTY_DEFINITION="PropertyDefinition",ActivityScope.NOTEBOOK="Notebook",ActivityScope.DASHBOARD="Dashboard",ActivityScope.REPLAY="Replay",ActivityScope.EXPERIMENT="Experiment",ActivityScope.SURVEY="Survey",ActivityScope.EARLY_ACCESS_FEATURE="EarlyAccessFeature",ActivityScope.COMMENT="Comment",ActivityScope.COHORT="Cohort",ActivityScope.TEAM="Team",ActivityScope}({}),NotebookNodeType=function(NotebookNodeType){return NotebookNodeType.Mention="ph-mention",NotebookNodeType.Query="ph-query",NotebookNodeType.Recording="ph-recording",NotebookNodeType.RecordingPlaylist="ph-recording-playlist",NotebookNodeType.FeatureFlag="ph-feature-flag",NotebookNodeType.FeatureFlagCodeExample="ph-feature-flag-code-example",NotebookNodeType.Experiment="ph-experiment",NotebookNodeType.EarlyAccessFeature="ph-early-access-feature",NotebookNodeType.Survey="ph-survey",NotebookNodeType.Person="ph-person",NotebookNodeType.Group="ph-group",NotebookNodeType.Cohort="ph-cohort",NotebookNodeType.Backlink="ph-backlink",NotebookNodeType.ReplayTimestamp="ph-replay-timestamp",NotebookNodeType.Image="ph-image",NotebookNodeType.PersonFeed="ph-person-feed",NotebookNodeType.Properties="ph-properties",NotebookNodeType.Map="ph-map",NotebookNodeType.Embed="ph-embed",NotebookNodeType}({}),NotebookTarget=function(NotebookTarget){return NotebookTarget.Popover="popover",NotebookTarget.Scene="scene",NotebookTarget}({}),manualLinkSources=["aws","google-cloud","cloudflare-r2","azure"],BATCH_EXPORT_SERVICE_NAMES=["S3","Snowflake","Postgres","BigQuery","Redshift","HTTP"],SDKKey=function(SDKKey){return SDKKey.ANDROID="android",SDKKey.ANGULAR="angular",SDKKey.ASTRO="astro",SDKKey.API="api",SDKKey.BUBBLE="bubble",SDKKey.DJANGO="django",SDKKey.DOCUSAURUS="docusaurus",SDKKey.ELIXIR="elixir",SDKKey.FRAMER="framer",SDKKey.FLUTTER="flutter",SDKKey.GATSBY="gatsby",SDKKey.GO="go",SDKKey.GOOGLE_TAG_MANAGER="google_tag_manager",SDKKey.HELICONE="helicone",SDKKey.HTML_SNIPPET="html",SDKKey.IOS="ios",SDKKey.JAVA="java",SDKKey.JS_WEB="javascript_web",SDKKey.LARAVEL="laravel",SDKKey.LANGFUSE="langfuse",SDKKey.NEXT_JS="nextjs",SDKKey.NODE_JS="nodejs",SDKKey.NUXT_JS="nuxtjs",SDKKey.PHP="php",SDKKey.PYTHON="python",SDKKey.REACT="react",SDKKey.REACT_NATIVE="react_native",SDKKey.REMIX="remix",SDKKey.RETOOL="retool",SDKKey.RUBY="ruby",SDKKey.RUDDERSTACK="rudderstack",SDKKey.RUST="rust",SDKKey.SEGMENT="segment",SDKKey.SENTRY="sentry",SDKKey.SHOPIFY="shopify",SDKKey.SVELTE="svelte",SDKKey.TRACELOOP="traceloop",SDKKey.VUE_JS="vuejs",SDKKey.WEBFLOW="webflow",SDKKey.WORDPRESS="wordpress",SDKKey}({}),SDKTag=function(SDKTag){return SDKTag.WEB="Web",SDKTag.MOBILE="Mobile",SDKTag.SERVER="Server",SDKTag.INTEGRATION="Integration",SDKTag.RECOMMENDED="Recommended",SDKTag.LLM="LLM",SDKTag.OTHER="Other",SDKTag}({}),SidePanelTab=function(SidePanelTab){return SidePanelTab.Notebooks="notebook",SidePanelTab.Support="support",SidePanelTab.Docs="docs",SidePanelTab.Activation="activation",SidePanelTab.Settings="settings",SidePanelTab.FeaturePreviews="feature-previews",SidePanelTab.Activity="activity",SidePanelTab.Discussion="discussion",SidePanelTab.Status="status",SidePanelTab.Exports="exports",SidePanelTab.AccessControl="access-control",SidePanelTab}({}),HogWatcherState=function(HogWatcherState){return HogWatcherState[HogWatcherState.healthy=1]="healthy",HogWatcherState[HogWatcherState.overflowed=2]="overflowed",HogWatcherState[HogWatcherState.disabledForPeriod=3]="disabledForPeriod",HogWatcherState[HogWatcherState.disabledIndefinitely=4]="disabledIndefinitely",HogWatcherState}({}),CookielessServerHashMode=function(CookielessServerHashMode){return CookielessServerHashMode[CookielessServerHashMode.Disabled=0]="Disabled",CookielessServerHashMode[CookielessServerHashMode.Stateless=1]="Stateless",CookielessServerHashMode[CookielessServerHashMode.Stateful=2]="Stateful",CookielessServerHashMode}({})},"./storybook-config-entry.js":(__unused_webpack_module,__unused_webpack___webpack_exports__,__webpack_require__)=>{"use strict";var external_STORYBOOK_MODULE_GLOBAL_=__webpack_require__("@storybook/global"),external_STORYBOOK_MODULE_PREVIEW_API_=__webpack_require__("@storybook/preview-api"),external_STORYBOOK_MODULE_CHANNELS_=__webpack_require__("@storybook/channels");let pipeline=x=>x(),importers=[async path=>{if(!/^\.[\\/](?:frontend\/src(?:\/(?!\.)(?:(?:(?!(?:^|\/)\.).)*?)\/|\/|$)(?!\.)(?=.)[^/]*?\.stories\.(js|jsx|ts|tsx|mdx))$/.exec(path))return;let pathRemainder=path.substring(15);return __webpack_require__("./frontend/src lazy recursive ^\\.\\/.*$ include: (?:\\/frontend\\/src(?:\\/(?%21\\.)(?:(?:(?%21(?:^%7C\\/)\\.).)*?)\\/%7C\\/%7C$)(?%21\\.)(?=.)[^/]*?\\.stories\\.(js%7Cjsx%7Cts%7Ctsx%7Cmdx))$")("./"+pathRemainder)}];async function importFn(path){for(let i=0;iimporters[i](path));if(moduleExports)return moduleExports}}let channel=(0,external_STORYBOOK_MODULE_CHANNELS_.createBrowserChannel)({page:"preview"});external_STORYBOOK_MODULE_PREVIEW_API_.addons.setChannel(channel),"DEVELOPMENT"===external_STORYBOOK_MODULE_GLOBAL_.global.CONFIG_TYPE&&(window.__STORYBOOK_SERVER_CHANNEL__=channel);let preview=new external_STORYBOOK_MODULE_PREVIEW_API_.PreviewWeb;window.__STORYBOOK_PREVIEW__=preview,window.__STORYBOOK_STORY_STORE__=preview.storyStore,window.__STORYBOOK_ADDONS_CHANNEL__=channel,window.__STORYBOOK_CLIENT_API__=new external_STORYBOOK_MODULE_PREVIEW_API_.ClientApi({storyStore:preview.storyStore}),preview.initialize({importFn:importFn,getProjectAnnotations:()=>(0,external_STORYBOOK_MODULE_PREVIEW_API_.composeConfigs)([__webpack_require__("./node_modules/.pnpm/@storybook+react@7.6.4_react-dom@18.2.0_react@18.2.0_typescript@4.9.5/node_modules/@storybook/react/dist/entry-preview.mjs"),__webpack_require__("./node_modules/.pnpm/@storybook+react@7.6.4_react-dom@18.2.0_react@18.2.0_typescript@4.9.5/node_modules/@storybook/react/dist/entry-preview-docs.mjs"),__webpack_require__("./node_modules/.pnpm/@storybook+addon-docs@7.6.4_@types+react-dom@18.2.14_@types+react@17.0.52_react-dom@18.2.0_react@18.2.0/node_modules/@storybook/addon-docs/dist/preview.mjs"),__webpack_require__("./node_modules/.pnpm/@storybook+addon-links@7.6.4_react@18.2.0/node_modules/@storybook/addon-links/dist/preview.js"),__webpack_require__("./node_modules/.pnpm/@storybook+addon-essentials@7.6.4_@types+react-dom@18.2.14_@types+react@17.0.52_react-dom@18.2.0_react@18.2.0/node_modules/@storybook/addon-essentials/dist/actions/preview.js"),__webpack_require__("./node_modules/.pnpm/@storybook+addon-essentials@7.6.4_@types+react-dom@18.2.14_@types+react@17.0.52_react-dom@18.2.0_react@18.2.0/node_modules/@storybook/addon-essentials/dist/backgrounds/preview.js"),__webpack_require__("./node_modules/.pnpm/@storybook+addon-essentials@7.6.4_@types+react-dom@18.2.14_@types+react@17.0.52_react-dom@18.2.0_react@18.2.0/node_modules/@storybook/addon-essentials/dist/measure/preview.js"),__webpack_require__("./node_modules/.pnpm/@storybook+addon-essentials@7.6.4_@types+react-dom@18.2.14_@types+react@17.0.52_react-dom@18.2.0_react@18.2.0/node_modules/@storybook/addon-essentials/dist/outline/preview.js"),__webpack_require__("./node_modules/.pnpm/@storybook+addon-essentials@7.6.4_@types+react-dom@18.2.14_@types+react@17.0.52_react-dom@18.2.0_react@18.2.0/node_modules/@storybook/addon-essentials/dist/highlight/preview.js"),__webpack_require__("./node_modules/.pnpm/@storybook+addon-a11y@7.6.4/node_modules/@storybook/addon-a11y/dist/preview.js"),__webpack_require__("./node_modules/.pnpm/storybook-addon-pseudo-states@2.1.2_@storybook+components@7.6.4_@storybook+core-events@7.6.4__ryvooa6ckff6nihvuhqddxt4ke/node_modules/storybook-addon-pseudo-states/dist/preview.mjs"),__webpack_require__("./.storybook/preview.tsx")])})},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/layout/ErrorBoundary/ErrorBoundary.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".ErrorBoundary{background:var(--danger-highlight);border-radius:var(--radius);height:-moz-fit-content;height:fit-content;margin:1.5rem;min-width:0;padding:.75rem 1rem 1rem}.ErrorBoundary h2{color:var(--danger);font-weight:600;margin-bottom:.75rem}.ErrorBoundary pre{background:var(--border-light);border-radius:var(--radius);margin-bottom:.75rem;padding:.75rem 1rem}.ErrorBoundary .help-button{margin-top:.75rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/layout/navigation-3000/Navigation.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,'.Navigation3000{--breadcrumbs-height-full:3.75rem;--breadcrumbs-height-compact:2.75rem;--scene-padding:1rem;--scene-padding-bottom:var(--scene-padding);background:var(--bg-3000);display:flex;height:100vh;overflow:hidden;width:100%}.storybook-test-runner .Navigation3000{height:auto}.Navigation3000>main{flex:1;min-width:0;overflow:auto}.Navigation3000 .BridgePage{background:none;height:100%;overflow:visible}@media screen and (max-width:576px){.Navigation3000{--scene-padding-bottom:calc(var(--scene-padding) + max(env(safe-area-inset-bottom), 80px))}}@media screen and (max-width:992px){.Navigation3000{--scene-padding:0.5rem}}.Navigation3000__scene{margin:var(--scene-padding);margin-bottom:var(--scene-padding-bottom);min-height:calc(100vh - var(--breadcrumbs-height-full) - var(--scene-padding) - var(--scene-padding-bottom));position:relative}.Navigation3000__scene.Navigation3000__scene--raw,.Navigation3000__scene.Navigation3000__scene--raw-no-header{--scene-padding:0px;--scene-padding-bottom:0px;display:flex;flex-direction:column}.Navigation3000__scene.Navigation3000__scene--raw-no-header{height:100vh}.Navigation3000__scene.Navigation3000__scene--canvas{--scene-padding:0px;display:flex;flex-direction:column;overflow:hidden}.Navbar3000{border-right-width:1px;display:flex;flex-direction:column;max-height:100vh;opacity:.99999;position:relative;transition:transform .1s ease-out}.Navigation3000--mobile .Navbar3000{bottom:0;left:0;position:fixed;top:0;z-index:var(--z-lemon-sidebar)}.Navbar3000.Navbar3000--hidden{transform:translateX(-100%)}.Navbar3000 .Navbar3000__content{background:var(--accent-3000);display:flex;flex:1;flex-direction:column;justify-content:space-between;overflow-y:auto;z-index:var(--z-main-nav)}.Navbar3000 .Navbar3000__content .LemonButton__chrome{--lemon-button-padding-horizontal:0.25rem!important}.Navbar3000 .Navbar3000__content .Navbar3000__bottom,.Navbar3000 .Navbar3000__content .Navbar3000__top{padding:0 .375rem}.Navbar3000 .Navbar3000__content ul{padding:.5rem 0}.Navbar3000 .Navbar3000__content ul+ul{border-top-width:1px}.Navbar3000__top{overflow:auto}.Navbar3000__overlay{-webkit-backdrop-filter:blur(var(--modal-backdrop-blur));backdrop-filter:blur(var(--modal-backdrop-blur));background-color:var(--modal-backdrop-color);height:100%;opacity:1;position:fixed;transition:opacity .1s ease-out,-webkit-backdrop-filter .1s ease-out;transition:opacity .1s ease-out,backdrop-filter .1s ease-out;transition:opacity .1s ease-out,backdrop-filter .1s ease-out,-webkit-backdrop-filter .1s ease-out;width:100%;z-index:var(--z-mobile-nav-overlay)}.Navbar3000__overlay.Navbar3000--hidden{-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);opacity:0;pointer-events:none}.NavbarButton{position:relative}.NavbarButton.NavbarButton--here:after{bottom:.25rem;color:var(--text-3000);content:"•";font-size:1.25rem;left:0;line-height:.5625rem;position:absolute;right:0;text-align:center}.NavbarButton.NavbarButton--here .LemonButton__icon{color:var(--text-3000);transform:translateY(-.25rem)}.Sidebar3000{--sidebar-slider-padding:0.125rem;--sidebar-horizontal-padding:0.5rem;--sidebar-row-height:3rem;--sidebar-background:var(--bg-3000);border-right:min(1px,var(--sidebar-width)) solid transparent;box-sizing:initial;flex:0 0 var(--sidebar-width);height:100vh;position:relative}[theme=dark] .Sidebar3000{--sidebar-background:var(--accent-3000)}.Sidebar3000.Sidebar3000--resizing{will-change:flex-basis}.Sidebar3000 h3,.Sidebar3000 h4,.Sidebar3000 h5{color:var(--text-3000);line-height:inherit;margin:0;overflow:hidden;text-overflow:ellipsis}.Sidebar3000 h3{font-size:.75rem;font-weight:600;line-height:2rem}.Sidebar3000 h4{flex-grow:1;font-size:.6875rem;font-weight:600;line-height:1.75rem}.Sidebar3000 h5{font-size:.75rem;font-weight:400;letter-spacing:normal;text-transform:none}.Sidebar3000 b{font-weight:700}.Sidebar3000 .LemonInput--type-search{border-color:transparent;border-radius:0;max-width:none;transition:none}.Sidebar3000__content{align-items:stretch;background:var(--sidebar-background);border-right:min(1px,var(--sidebar-width)) solid var(--border);box-sizing:initial;display:flex;flex-direction:column;font-size:.6875rem;height:100vh;overflow:hidden;position:fixed;top:0;white-space:nowrap;width:var(--sidebar-width)}.Sidebar3000--resizing .Sidebar3000__content{will-change:width}.Sidebar3000__content>div:not(:first-child){border-top-width:1px}.Sidebar3000__lists{align-items:stretch;display:flex;flex-direction:column;flex-grow:1;overflow:hidden auto;position:relative}.Sidebar3000__hint{align-items:center;background:var(--bg-3000);border-top-width:1px;display:flex;flex:0 0 var(--sidebar-row-height);font-weight:500;justify-content:space-between;padding:0 var(--sidebar-horizontal-padding);z-index:1}.Sidebar3000__hint,.Sidebar3000__slider{-webkit-user-select:none;-moz-user-select:none;user-select:none}.Sidebar3000__slider{bottom:0;cursor:col-resize;position:absolute;right:calc(var(--sidebar-slider-padding)*-1 - min(1px,var(--sidebar-width)));top:0;width:calc(var(--sidebar-slider-padding)*2 + 1px);z-index:var(--z-notifications-popover)}.Sidebar3000__slider:after,.Sidebar3000__slider:before{bottom:0;content:"";left:var(--sidebar-slider-padding);pointer-events:none;position:absolute;top:0;width:1px}.Sidebar3000__slider:before{background:var(--border);transition:transform .1s ease}.Sidebar3000__slider:after{background:var(--text-3000);opacity:0;transition:transform .1s ease}.Sidebar3000--resizing .Sidebar3000__slider:after,.Sidebar3000__slider:hover:after{opacity:.25}.Sidebar3000--resizing .Sidebar3000__slider:after,.Sidebar3000--resizing .Sidebar3000__slider:before{transform:scaleX(3)}.Sidebar3000[aria-hidden=true] .Sidebar3000__slider{cursor:e-resize}.Sidebar3000__header{align-items:center;display:flex;flex:0 0 var(--sidebar-row-height);gap:.25rem;padding:0 var(--sidebar-horizontal-padding)}.Accordion{--accordion-arrow-size:1rem;--accordion-row-height:32px;--accordion-inset-expandable:1.25rem;--accordion-header-background:var(--accent-3000);--accordion-inset:0rem;display:flex;flex-basis:0;flex-direction:column;flex-shrink:0;min-height:var(--accordion-row-height)}[theme=dark] .Accordion{--accordion-header-background:var(--bg-3000)}.Accordion[aria-expanded]{--accordion-inset:var(--accordion-inset-expandable)}.Accordion:not([aria-expanded=false]){flex-grow:1}.Accordion:not([aria-expanded=false]):not(:last-child){border-bottom-width:1px}.Accordion[aria-disabled=true] .Accordion__header{cursor:default}.Accordion[aria-disabled=true] .Accordion__header:hover{background:var(--accordion-header-background)}.Accordion[aria-disabled=true]:not([aria-busy=true]) .Accordion__header .LemonIcon{visibility:hidden}.Accordion__header{align-items:center;background:var(--accordion-header-background);border-bottom-width:1px;cursor:pointer;display:flex;height:var(--accordion-row-height);padding:0 var(--sidebar-horizontal-padding);-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:1}.Accordion__header:hover{background:var(--border-3000)}.Accordion__header>.LemonIcon{flex-shrink:0;font-size:var(--accordion-arrow-size);margin-right:calc(var(--accordion-inset-expandable) - var(--accordion-arrow-size));transition:transform 50ms ease}.Accordion[aria-expanded=true] .Accordion__header>.LemonIcon{transform:rotate(90deg)}.SidebarListItemAccordion{--accordion-arrow-size:1rem;--accordion-inset-expandable:1.25rem;--accordion-header-background:var(--accent-3000);--accordion-inset:0rem;display:flex;flex-basis:0;flex-direction:column;flex-shrink:0;height:100%}[theme=dark] .SidebarListItemAccordion{--accordion-header-background:var(--bg-3000)}.SidebarListItemAccordion[role=region]{--accordion-inset:var(--accordion-inset-expandable)}.SidebarListItemAccordion:not([aria-expanded=false]){flex-grow:1}.SidebarListItemAccordion:not([aria-expanded=false]):not(:last-child){border-bottom-width:1px}.SidebarListItemAccordion__header{align-items:center;background:var(--accordion-header-background);border-bottom-width:1px;cursor:pointer;display:flex;height:100%;padding:0 var(--sidebar-horizontal-padding) 0 calc(var(--sidebar-horizontal-padding) + 1rem*var(--depth, 0));-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:1}.SidebarListItemAccordion__header:hover{background:var(--border-3000)}.SidebarListItemAccordion__header>.LemonIcon{flex-shrink:0;font-size:var(--accordion-arrow-size);margin-right:calc(var(--accordion-inset-expandable) - var(--accordion-arrow-size));transition:transform 50ms ease}.SidebarListItemAccordion[aria-expanded=true] .SidebarListItemAccordion__header>.LemonIcon{transform:rotate(90deg)}.SidebarListItem{--sidebar-list-item-status-color:var(--muted);--sidebar-list-item-fold-size:0.5rem;--sidebar-list-item-ribbon-width:0.1875rem;--sidebar-list-item-background:var(--sidebar-background);background:var(--sidebar-list-item-background);border-bottom-width:1px;color:var(--muted);line-height:1.125rem;list-style:none;opacity:.9;position:relative}.SidebarListItem.SidebarListItem--is-renaming,.SidebarListItem:hover:not([aria-disabled=true]),.SidebarListItem[aria-current=page]{--sidebar-list-item-background:var(--border-3000);opacity:1}.SidebarListItem.SidebarListItem--is-menu-open .SidebarListItem__actions,.SidebarListItem.SidebarListItem--is-renaming .SidebarListItem__actions,.SidebarListItem:focus-within .SidebarListItem__actions,.SidebarListItem:hover .SidebarListItem__actions,.SidebarListItem[aria-current=page] .SidebarListItem__actions{display:flex}.SidebarListItem.SidebarListItem--is-menu-open.SidebarListItem--has-menu:not(.SidebarListItem--extended) .SidebarListItem__button,.SidebarListItem.SidebarListItem--is-menu-open.SidebarListItem--has-menu:not(.SidebarListItem--extended) .SidebarListItem__link,.SidebarListItem.SidebarListItem--is-renaming.SidebarListItem--has-menu:not(.SidebarListItem--extended) .SidebarListItem__button,.SidebarListItem.SidebarListItem--is-renaming.SidebarListItem--has-menu:not(.SidebarListItem--extended) .SidebarListItem__link,.SidebarListItem:focus-within.SidebarListItem--has-menu:not(.SidebarListItem--extended) .SidebarListItem__button,.SidebarListItem:focus-within.SidebarListItem--has-menu:not(.SidebarListItem--extended) .SidebarListItem__link,.SidebarListItem:hover.SidebarListItem--has-menu:not(.SidebarListItem--extended) .SidebarListItem__button,.SidebarListItem:hover.SidebarListItem--has-menu:not(.SidebarListItem--extended) .SidebarListItem__link,.SidebarListItem[aria-current=page].SidebarListItem--has-menu:not(.SidebarListItem--extended) .SidebarListItem__button,.SidebarListItem[aria-current=page].SidebarListItem--has-menu:not(.SidebarListItem--extended) .SidebarListItem__link{padding-right:calc(var(--sidebar-horizontal-padding) + 1.25rem)}.SidebarListItem.SidebarListItem--is-menu-open.SidebarListItem--has-menu.SidebarListItem--extended:after,.SidebarListItem.SidebarListItem--is-renaming.SidebarListItem--has-menu.SidebarListItem--extended:after,.SidebarListItem:focus-within.SidebarListItem--has-menu.SidebarListItem--extended:after,.SidebarListItem:hover.SidebarListItem--has-menu.SidebarListItem--extended:after,.SidebarListItem[aria-current=page].SidebarListItem--has-menu.SidebarListItem--extended:after{background:linear-gradient(to left,var(--sidebar-list-item-background) 0,var(--sidebar-list-item-background) 50%,transparent 100%);bottom:1px;content:"";position:absolute;right:1px;top:1px;width:3.5rem}.SidebarListItem.SidebarListItem--marker-fold:before,.SidebarListItem.SidebarListItem--marker-ribbon:before{content:"";display:block;left:0;position:absolute;top:0;z-index:1}.SidebarListItem.SidebarListItem--marker-fold:before{border-bottom:var(--sidebar-list-item-fold-size) solid transparent;border-left:var(--sidebar-list-item-fold-size) solid var(--sidebar-list-item-status-color);height:0;width:0}.SidebarListItem.SidebarListItem--marker-ribbon{--sidebar-list-item-marker-offset:var(--sidebar-list-item-ribbon-width)}.SidebarListItem.SidebarListItem--marker-ribbon:before{background:var(--sidebar-list-item-status-color);height:100%;width:var(--sidebar-list-item-ribbon-width)}.SidebarListItem.SidebarListItem--marker-status-success{--sidebar-list-item-status-color:var(--success)}.SidebarListItem.SidebarListItem--marker-status-warning{--sidebar-list-item-status-color:var(--warning)}.SidebarListItem.SidebarListItem--marker-status-danger{--sidebar-list-item-status-color:var(--danger)}.SidebarListItem.SidebarListItem--marker-status-completion{--sidebar-list-item-status-color:var(--purple)}.SidebarListItem__button,.SidebarListItem__link,.SidebarListItem__rename{--sidebar-list-item-inset:calc(var(--accordion-inset, 0px) + var(--sidebar-horizontal-padding) + var(--sidebar-list-item-marker-offset, 0px));color:inherit;display:flex;height:100%;position:relative;width:100%}.SidebarListItem__button:focus-visible:after,.SidebarListItem__link:focus-visible:after,.SidebarListItem__rename:focus-visible:after{border:1px solid var(--border-3000);content:"";inset:0 0 -1px;pointer-events:none;position:absolute}.SidebarListItem__link{color:inherit!important;flex-direction:column;justify-content:center;padding:0 var(--sidebar-horizontal-padding) 0 var(--sidebar-list-item-inset);row-gap:1px}.SidebarListItem[aria-disabled=true] .SidebarListItem__link{cursor:default}.SidebarListItem__button{align-items:center;color:inherit!important;cursor:pointer;flex-direction:row;font-size:1.125rem;gap:.25rem;padding:0 var(--sidebar-horizontal-padding) 0 calc(.25rem + var(--sidebar-horizontal-padding) + 1rem*var(--depth, 0));row-gap:1px}.SidebarListItem__button:hover{background:var(--border-3000)}.SidebarListItem__button .SidebarListItem__icon{flex-shrink:0}.SidebarListItem__button .SidebarListItem__name{overflow:hidden;text-overflow:ellipsis}.SidebarListItem__rename{background:var(--bg-light);flex-direction:column;justify-content:center}.SidebarListItem__rename input{background:none;color:var(--text-3000);font-size:.75rem;height:100%;outline:none;padding:0 calc(var(--sidebar-horizontal-padding) + 2.5rem) 0 var(--sidebar-list-item-inset);width:100%}.SidebarListItem__rename:after{border:1px solid var(--border);content:"";inset:0 0 -1px;pointer-events:none;position:absolute}.SidebarListItem[aria-invalid=true] .SidebarListItem__rename:after{border-color:var(--danger)}.SidebarListItem__error{background:var(--danger);color:#fff;left:0;line-height:1.25rem;padding:0 .25rem;position:absolute;top:2rem;white-space:normal;z-index:1}.SidebarListItem__error:before{border-bottom:.25rem solid transparent;border-bottom-color:var(--danger);border-left:.25rem solid transparent;border-left-color:var(--danger);border-right:.25rem solid transparent;border-top:.25rem solid transparent;content:"";display:block;left:0;position:absolute;top:-.5rem}.SidebarListItem__actions{display:none;position:absolute;right:var(--sidebar-horizontal-padding);top:50%;transform:translateY(-50%);z-index:1}',""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/layout/navigation-3000/components/KeyboardShortcut.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".KeyboardShortcut{align-items:center;background:var(--accent-3000);border-color:var(--secondary-3000-button-border-hover);border-radius:.25rem;border-width:1px 1px 2px;color:var(--text-3000);display:inline-flex;font-size:.75rem;height:1.25rem;justify-content:center;min-width:1.25rem;padding:.125rem .25rem;text-transform:capitalize;-webkit-user-select:none;-moz-user-select:none;user-select:none}.KeyboardShortcut--muted>.KeyboardShortcut{background:none;color:var(--muted)}.KeyboardShortcut+.KeyboardShortcut__key{margin-left:.25rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/layout/navigation-3000/components/TopBar.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,'.TopBar3000{--breadcrumbs-compaction-rate:0;align-items:start;display:flex;height:var(--breadcrumbs-height-full);pointer-events:none;position:sticky;top:0;white-space:nowrap;z-index:var(--z-top-navigation)}.TopBar3000 .EditableField__display{text-overflow:ellipsis;white-space:nowrap}.TopBar3000__content{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:var(--glass-bg-3000);border-bottom:1px solid var(--glass-border-3000);display:flex;font-size:calc(.75rem + .0625rem*var(--breadcrumbs-compaction-rate));font-weight:600;gap:.5rem;height:calc(var(--breadcrumbs-height-full) - (var(--breadcrumbs-height-full) - var(--breadcrumbs-height-compact))*var(--breadcrumbs-compaction-rate));line-height:1rem;padding:0 1rem;pointer-events:auto;width:100%}.TopBar3000__hamburger{margin-left:-.5rem}.TopBar3000__breadcrumbs{flex-grow:1;flex-shrink:1;min-width:0;overflow:hidden}.TopBar3000__trail{align-items:center;display:flex;margin-top:calc(.25rem*(1 - var(--breadcrumbs-compaction-rate)));overflow:visible}.TopBar3000:not(.TopBar3000--compact) .TopBar3000__trail{height:1rem}.TopBar3000__here{box-sizing:initial;font-family:var(--font-sans)!important;font-size:1rem;font-weight:700;height:calc(1.2em*(1 - var(--breadcrumbs-compaction-rate)));line-height:1.2;margin:0;overflow:hidden;padding:calc(.5rem*(1 - var(--breadcrumbs-compaction-rate))) 0 0;position:relative}.TopBar3000--compact .TopBar3000__here{visibility:hidden}.TopBar3000__here>*{bottom:.25rem;height:1.2em;position:absolute}.TopBar3000__breadcrumb{align-items:center;color:var(--muted);cursor:default;display:flex;flex-shrink:0;overflow:hidden;white-space:pre}.TopBar3000__breadcrumb.Link:hover{color:inherit}.TopBar3000__breadcrumb .LemonIcon{font-size:1rem;margin-left:.125rem}.TopBar3000__breadcrumb .LemonTag--default{border-color:var(--muted);font-weight:600;opacity:.5;text-transform:uppercase}.TopBar3000__breadcrumb.TopBar3000__breadcrumb--here{color:var(--text-3000);cursor:default;flex-shrink:1}.TopBar3000--full .TopBar3000__breadcrumb.TopBar3000__breadcrumb--here{visibility:hidden}.TopBar3000__breadcrumb.TopBar3000__breadcrumb--here>*{transform:translateY(calc(100%*(1 - var(--breadcrumbs-compaction-rate))))}.TopBar3000__breadcrumb.TopBar3000__breadcrumb--actionable{cursor:pointer}.TopBar3000__breadcrumb.TopBar3000__breadcrumb--actionable.TopBar3000__breadcrumb--open,.TopBar3000__breadcrumb.TopBar3000__breadcrumb--actionable:hover{color:var(--text-3000)}.TopBar3000__breadcrumb.TopBar3000__breadcrumb--actionable.TopBar3000__breadcrumb--open .LemonTag--default,.TopBar3000__breadcrumb.TopBar3000__breadcrumb--actionable:hover .LemonTag--default{opacity:1}.TopBar3000__separator{flex-shrink:0;margin:0 .5rem;opacity:.5}.TopBar3000__separator:after{content:"/"}.TopBar3000__more{margin-left:.5rem}.TopBar3000__actions{align-items:center;display:flex;gap:.5rem;justify-content:flex-end}',""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/layout/navigation-3000/sidepanel/SidePanel.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".SidePanel3000{--side-panel-bar-width:3rem;background:var(--accent-3000);box-sizing:initial;display:flex;flex-shrink:0;position:relative;width:3rem;z-index:var(--z-main-nav)}.SidePanel3000--open{max-width:60%;min-width:28rem;position:relative;width:min(30%,40rem)}@media(max-width:1200px){.SidePanel3000--open{box-shadow:0 0 30px rgba(0,0,0,.2);max-width:calc(100vw - var(--side-panel-bar-width));position:fixed;right:0;top:0}[theme=dark] .SidePanel3000--open{box-shadow:none}}.SidePanel3000--resizing{pointer-events:none}.SidePanel3000__bar{align-items:center;border-left-width:1px;display:flex;flex-direction:column;height:100vh;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--side-panel-bar-width)}.SidePanel3000__bar .LemonButton__icon{transform:rotate(-90deg)}.SidePanel3000__tabs{flex:1;overflow:hidden auto;width:var(--side-panel-bar-width)}.SidePanel3000__tabs::-webkit-scrollbar{display:none}.SidePanel3000__tabs-content{align-items:center;display:flex;gap:.25rem;height:var(--side-panel-bar-width);margin-top:calc((var(--side-panel-bar-width) - .25rem)*-1);transform:rotate(90deg);transform-origin:bottom left}.SidePanel3000__tabs-content .LemonButton{padding-bottom:0!important;padding-right:1px!important}.SidePanel3000__tabs-content .LemonButton .LemonButton__chrome{padding:.25rem calc(var(--lemon-button-padding-right, var(--lemon-button-padding-horizontal)) + var(--lemon-button-chrome-depth)*.5) .25rem calc(var(--lemon-button-padding-left, var(--lemon-button-padding-horizontal)) - var(--lemon-button-chrome-depth)*.5)!important}.SidePanel3000__tabs-content .LemonButton .LemonButton__chrome:after{box-shadow:var(--lemon-button-chrome-depth) 0 0 -1px var(--lemon-button-frame-bg-color)!important;inset:-1px calc(var(--lemon-button-chrome-depth) - 1px) -1px -1px!important}.SidePanel3000__tabs-content .LemonButton:hover:not([aria-disabled=true]) .LemonButton__chrome,.SidePanel3000__tabs-content .LemonButton:not([aria-disabled=true]):active .LemonButton__chrome{transform:translateX(var(--lemon-button-depth))!important}.SidePanel3000__tabs-content .LemonButton:hover:not([aria-disabled=true]) .LemonButton__chrome:after,.SidePanel3000__tabs-content .LemonButton:not([aria-disabled=true]):active .LemonButton__chrome:after{box-shadow:calc(var(--lemon-button-chrome-depth) - var(--lemon-button-depth)) 0 0 -1px var(--lemon-button-frame-bg-color)!important}.SidePanel3000__tabs-content .LemonButton:hover:not([aria-disabled=true]) .LemonButton__chrome:before,.SidePanel3000__tabs-content .LemonButton:not([aria-disabled=true]):active .LemonButton__chrome:before{bottom:-1px!important;right:calc(var(--lemon-button-depth) - 1px)!important}.SidePanel3000__content{border-left-width:1px;display:flex;flex:1;flex-direction:column;height:100vh;overflow-y:auto}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/layout/navigation/TopBar/AccountPopover.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".AccountPopover{max-width:22rem;min-width:16rem}.AccountPopover__side-link{color:var(--primary-3000);flex-grow:1;font-size:.8125rem;font-weight:600;margin-left:.5rem;text-align:right}.AccountPopover__section{border-bottom:1px solid var(--border);padding:.5rem 0;width:100%}.AccountPopover__section:first-child{padding-top:0}.AccountPopover__section:last-child{border-bottom:none;padding-bottom:0}.AccountInfo{align-items:center;display:flex}.AccountInfo__identification{margin-left:.5rem;overflow:hidden;width:100%}.AccessLevelIndicator{font-size:.625rem;margin-left:.5rem;text-transform:uppercase}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/ActivityLog/ActivityLog.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".ActivityLog.notifications-menu{max-width:25rem}.ActivityLog .ActivityDescription{background:var(--bg-light);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.ActivityLog .ActivityDescription .taxonomic-breakdown-filter.tag-pill{background:none;border:none;border-radius:0;font-size:.8125rem;padding:0;vertical-align:unset}.ActivityLog .ActivityDescription section:not(:last-child){margin-bottom:.5rem}.ActivityLog .page-caption{max-width:50rem}.ActivityLogRow{display:flex;gap:.5rem;line-height:24px;max-width:50rem;overflow-wrap:anywhere;padding:.5rem}.ActivityLogRow--unread{background-color:var(--primary-highlight);border-radius:var(--radius)}.ActivityLogRow .ProfilePicture{flex-grow:0}.ActivityLogRow .ActivityLogRow__details{flex-grow:1}.ActivityLogRow .ActivityLogRow__details .highlighted-activity{background-color:var(--mark);display:inline}.ActivityLogRow .ActivityLogRow__details .highlighted-activity>.PersonDisplay{min-width:5.5rem}.ActivityLogRow .ActivityLogRow__description ul.bullet-list{list-style-type:disc;padding-left:20px}.ActivityLogRow .ActivityLogRow__description ul.bullet-list li{display:list-item}.ActivityLogRow .ActivityLogRow__description__extended{margin-bottom:.5rem;margin-top:.5rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/ActivityLog/SentenceList.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".sentence-list,.sentence-list .sentence-part{display:inline}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/Animation/Animation.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".Animation{align-items:center;aspect-ratio:1/1;display:inline-flex;justify-content:center;max-width:300px;opacity:1;overflow:hidden;transition:opacity .4s ease}.Animation.Animation--hidden{opacity:0}.Animation .Animation__player{display:block;height:100%;width:100%}.Animation .Animation__player svg{display:block}.Animation.Animation--large{width:100%}.Animation.Animation--small{overflow:visible}.Animation.Animation--small svg{height:45px!important;width:45px!important}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/AnnotationsOverlay/AnnotationsOverlay.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".AnnotationsOverlay{left:var(--annotations-overlay-chart-area-left);position:absolute;top:var(--annotations-overlay-chart-area-height)}.AnnotationsBadge{align-items:center;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;background:none;border:none;cursor:pointer;display:flex;height:3rem;justify-content:center;margin-left:calc(var(--annotations-overlay-tick-interval)*var(--annotations-badge-index) - var(--annotations-overlay-chart-area-left) + var(--annotations-overlay-first-tick-left));position:absolute;transform:translate(-50%,-50%);width:var(--annotations-overlay-tick-interval)}.AnnotationsBadge>.LemonBadge{border-color:var(--bg-light);transform:scale(var(--annotations-badge-scale));transform-origin:center;transition:transform .2s ease}.AnnotationsPopover{--annotations-popover-width:30rem;transition:left .2s ease,opacity .1s ease,transform .1s ease;z-index:var(--z-annotation-popover)!important}.AnnotationsPopover .LemonModal{border:none;box-shadow:none;margin:0;max-width:var(--annotations-popover-width);min-height:100%;min-width:var(--annotations-popover-width)}.AnnotationCard .profile-package{vertical-align:bottom}.AnnotationCard h5{margin:0}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/Cards/CardMeta.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".InsightCard .handle,.TextCard .handle{align-items:flex-end;display:flex;height:100%;justify-content:center;pointer-events:none;position:absolute;width:100%;z-index:var(--z-raised)}.InsightCard .handle.horizontal svg,.TextCard .handle.horizontal svg{transform:rotate(90deg) translateX(.75rem)}.InsightCard .handle.vertical,.TextCard .handle.vertical{flex-direction:column}.InsightCard .handle.vertical svg,.TextCard .handle.vertical svg{transform:translateX(.5rem)}.InsightCard .handle.corner,.TextCard .handle.corner{justify-content:flex-end}.InsightCard .handle.corner svg,.TextCard .handle.corner svg{transform:translate(.5rem,.5rem)}.CardMeta{background:var(--bg-light);border-radius:var(--radius);display:flex;flex-direction:column;flex-shrink:0;max-height:calc(100% - 2rem);position:relative;width:100%;z-index:var(--z-raised)}.CardMeta--with-details .CardMeta__top{height:1.5rem}.CardMeta h5{color:var(--muted);line-height:1rem;margin-bottom:0}.CardMeta h4,.CardMeta h5{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.CardMeta h4{font-size:1rem;font-weight:600;height:1.5em;margin-bottom:.125rem}.CardMeta .CardMeta__primary{display:flex;padding:1rem;width:100%}.CardMeta .CardMeta__divider{background:var(--border);height:1px;margin:0 1rem;opacity:0;transition:opacity .2s ease}.CardMeta .CardMeta__details{background:var(--bg-light);border-bottom-width:1px;left:0;margin-top:-1px;max-height:24rem;overflow-y:auto;position:absolute;right:0;top:100%;transition:box-shadow .2s ease,height .2s ease,margin .2s ease}.CardMeta .CardMeta__details .CardMeta__details__content{overflow-y:auto;pointer-events:none}.CardMeta.CardMeta--details-shown .CardMeta__details{box-shadow:var(--shadow-elevation-3000);margin-top:0}.CardMeta.CardMeta--details-shown .CardMeta__details .CardMeta__details__content{opacity:1;pointer-events:all}.CardMeta.CardMeta--details-shown .CardMeta__divider{opacity:1}.CardMeta__ribbon{align-self:stretch;background:var(--muted);border-radius:var(--radius);flex-shrink:0;margin:0 .75rem 0 -.25rem;width:.375rem}.CardMeta__ribbon.blue{background:var(--blue)}.CardMeta__ribbon.purple{background:var(--purple)}.CardMeta__ribbon.green{background:var(--green)}.CardMeta__ribbon.black{background:var(--black)}.CardMeta__main{align-items:flex-start;display:flex;flex-direction:column;height:-moz-fit-content;height:fit-content;min-height:2rem;width:100%}.CardMeta__main>*{max-width:100%}.CardMeta__top{align-items:center;align-self:stretch;display:flex;height:2rem;justify-content:space-between}.CardMeta__top .LemonButton{height:1.75rem}.CardMeta__controls{align-items:center;display:flex;gap:.25rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/Cards/InsightCard/InsightCard.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,'.InsightCard{background:var(--bg-light);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;height:30rem;max-width:100%;min-width:0;position:relative;transition:border .2s ease;z-index:3}.InsightCard--highlighted{border-color:var(--primary-3000);outline:1px solid var(--primary-3000)}.InsightCard .ErrorBoundary{height:100%;margin:auto;width:100%}.InsightCard__viz{border-radius:0 0 var(--radius) var(--radius);display:flex;flex:1;flex-direction:column;overflow:auto;position:relative;width:100%}.InsightCard__viz .AnnotationsOverlay,.InsightCard__viz .LineGraph{padding:.5rem}.InsightCard__viz .insight-empty-state{font-size:.875rem;height:100%;padding-bottom:0;padding-top:0}.InsightCard__viz .LemonTable{background:none;border:none;border-radius:0}.WebAnalyticsDashboard .InsightVizDisplay .InsightCard__viz{min-height:var(--insight-viz-min-height)}.CardMeta .InsightDetails,.InsightDetails{font-size:.8125rem;line-height:1.5rem}.CardMeta .InsightDetails h5,.InsightDetails h5{line-height:1.5rem;margin-bottom:.125rem}.CardMeta .InsightDetails section:not(:last-child),.InsightDetails section:not(:last-child){margin-bottom:.5rem}.CardMeta .InsightDetails .LemonRow,.InsightDetails .LemonRow{font-size:inherit;min-height:2rem}.InsightDetails__query{border-radius:var(--radius);border-width:1px;margin-top:.25rem;padding:.375rem .5rem}.InsightDetails__query .LemonRow{padding-left:0;padding-right:0}.InsightDetails__formula code{font-weight:600;margin-left:.375rem}.InsightDetails__series{margin:-.125rem 0}.InsightDetails__series:not(:first-child){margin-top:.5rem}.InsightDetails__series .LemonDivider{margin-left:1.5rem;width:calc(100% - 1.5rem)}.InsightDetails__footer{display:flex;flex-wrap:wrap;gap:.5rem 2rem}.InsightDetails__footer .profile-package{vertical-align:middle}.InsightDetails__footer .taxonomic-breakdown-filter.tag-pill{background:none;border:none;border-radius:0;font-size:.8125rem;padding:0;vertical-align:unset}.SeriesDisplay{line-height:1.5rem}.SeriesDisplay__raw-name{align-items:center;background:var(--primary-highlight);border-radius:var(--radius);color:var(--text-3000);display:inline-flex;font-size:.6875rem;font-weight:600;line-height:1rem;margin:0 .25rem;padding:.125rem .25rem;vertical-align:middle}.SeriesDisplay__raw-name.SeriesDisplay__raw-name--action,.SeriesDisplay__raw-name.SeriesDisplay__raw-name--event{padding:.25rem}.SeriesDisplay__raw-name.SeriesDisplay__raw-name--action:before,.SeriesDisplay__raw-name.SeriesDisplay__raw-name--event:before{background:var(--primary-3000);border-radius:var(--radius);color:var(--bg-light);display:inline-block;flex-shrink:0;font-size:.625rem;font-weight:700;line-height:1rem;margin-right:.25rem;text-align:center;width:1rem}.SeriesDisplay__raw-name.SeriesDisplay__raw-name--action:before{content:"A"}.SeriesDisplay__raw-name.SeriesDisplay__raw-name--event:before{content:"E"}.SeriesDisplay__condition{display:flex}.SeriesDisplay__arrow{color:var(--border-bold);flex-shrink:0;font-size:1.25rem;margin-right:.25rem}',""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/Cards/TextCard/TextCard.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".TextCard__body{flex:1;overflow-y:auto}.TextCard__body ul{list-style-position:inside;list-style-type:disc}.TextCard__body ol{list-style-position:inside;list-style-type:numeric}.TextCard__body img{max-width:100%}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/CodeSnippet/CodeSnippet.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".CodeSnippet{font-size:.875rem;position:relative}.CodeSnippet.CodeSnippet--compact{font-size:.8125rem}.CodeSnippet.CodeSnippet--compact .CodeSnippet__actions{right:.375rem;top:.375rem}.CodeSnippet.CodeSnippet--compact pre{padding-top:.375rem}.CodeSnippet .CodeSnippet__actions{background:var(--accent-3000)!important;display:flex;gap:.5rem;position:absolute;right:.5rem;top:.75rem}.CodeSnippet pre{background:var(--accent-3000)!important;border:1px solid var(--border-3000)!important;border-radius:var(--radius)!important;padding:.75rem 1rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/CommandBar/index.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".LemonInput.CommandBar__input{border-color:transparent!important;border-radius:0;height:3rem;padding-left:1rem;padding-right:.5rem}.SearchBarTab:hover{border-left:2px solid var(--border-3000)}.SearchBarTab.SearchBarTab__active{border-color:var(--primary-3000)}.CommandBar__overlay{align-items:center;-webkit-backdrop-filter:blur(var(--modal-backdrop-blur));backdrop-filter:blur(var(--modal-backdrop-blur));background-color:var(--modal-backdrop-color);display:flex;flex-direction:column;height:100%;justify-content:center;left:0;padding:.75rem;position:fixed;top:0;width:100%;z-index:var(--z-command-palette)}.CommandBar__overlay-content{height:100%;max-height:40rem;max-width:62rem;overflow:hidden;width:100%}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/DateDisplay/DateDisplay.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".dated-highlight{background-color:var(--bg-light);border:1px solid var(--border-light);border-radius:var(--radius);color:var(--muted);margin-right:4px;padding:.125rem .25rem}.date-display-dates,.dated-highlight{white-space:nowrap}.date-display-dates .secondary-date{color:var(--muted-alt);font-weight:400;margin-left:2px}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/DateFilter/RollingDateRangeFilter.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".RollingDateRangeFilter{align-items:center;color:var(--text-3000);cursor:pointer;display:flex;font-size:.875rem;font-weight:400;height:1.6875rem;line-height:1.375em;min-height:2rem;padding:1.25rem 0;transition:background .3s ease}.RollingDateRangeFilter:hover{background-color:var(--bg-3000)}.RollingDateRangeFilter input::-webkit-inner-spin-button,.RollingDateRangeFilter input::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.RollingDateRangeFilter input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.RollingDateRangeFilter__label{flex-shrink:0;margin:0 auto}.RollingDateRangeFilter__counter{align-items:center;background-color:var(--bg-light);border:1px solid var(--border);border-radius:var(--radius);box-sizing:border-box;display:flex;height:1.6875rem;line-height:1.5rem;margin:0 .25rem}.RollingDateRangeFilter__counter .LemonInput{border:none;height:unset;min-height:0;padding:0;width:3rem}.RollingDateRangeFilter__counter .LemonInput input{text-align:center}.RollingDateRangeFilter__counter .RollingDateRangeFilter__counter__step{border-radius:calc(var(--radius) - 1px);height:100%;margin:0;padding:0;text-align:center;width:1.25rem}.RollingDateRangeFilter__counter .RollingDateRangeFilter__counter__step:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.RollingDateRangeFilter__counter .RollingDateRangeFilter__counter__step:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.RollingDateRangeFilter__counter .RollingDateRangeFilter__counter__step:hover{background-color:var(--accent-3000)}.RollingDateRangeFilter__select{width:6rem}.RollingDateRangeFilter__popover{z-index:9999}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/DefinitionPopover/DefinitionPopover.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".definition-popover{max-width:20rem;min-width:17rem;padding:.5rem .75rem .75rem}.definition-popover .definition-popover-header{display:flex;flex-direction:column}.definition-popover .definition-popover-header .definition-popover-header-row{display:flex;flex-direction:row;justify-content:space-between;line-height:2rem;margin-bottom:.25rem}.definition-popover .definition-popover-header .definition-popover-header-row .definition-popover-header-row-title{color:var(--muted);font-size:.6875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.definition-popover .definition-popover-header .definition-popover-header-row .definition-popover-header-row-buttons{display:flex;flex-direction:row;font-size:.8125rem}.definition-popover .definition-popover-header .definition-popover-header-row .definition-popover-header-row-buttons a{margin-left:1rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.definition-popover .definition-popover-header .definition-popover-header-row .definition-popover-header-row-buttons .definition-popover-disabled-button{color:var(--muted);cursor:not-allowed}.definition-popover .definition-popover-header .definition-popover-title{align-items:center;display:flex;font-size:1.25rem;font-weight:600;line-height:1.2;margin-bottom:.25rem;min-height:1.5rem;white-space:normal}.definition-popover .definition-popover-header .definition-popover-title svg.taxonomy-icon{flex-shrink:0;font-size:1.5rem;margin-right:.75rem}.definition-popover .definition-popover-header .definition-popover-title svg.taxonomy-icon.taxonomy-icon-muted{color:var(--muted-alt)}.definition-popover .definition-popover-header .definition-popover-title svg.taxonomy-icon.taxonomy-icon-verified{color:var(--success)}.definition-popover .definition-popover-header .definition-popover-title svg.taxonomy-icon.taxonomy-icon-built-in{color:var(--primary-3000)}.definition-popover .definition-popover-tags{margin:0!important}.definition-popover .definition-popover-description{font-weight:400;margin:.5rem 0;overflow-wrap:break-word}.definition-popover .definition-popover-description.empty{color:var(--muted);font-style:italic}.definition-popover .definition-popover-examples{font-style:italic;margin-bottom:.25rem}.definition-popover .definition-popover-timemeta{margin:.5rem 0}.definition-popover .definition-popover-timemeta .definition-popover-timemeta-user{display:inline-flex}.definition-popover .definition-popover-timemeta .definition-popover-timemeta-spacer{margin-right:.5rem}.definition-popover .DefinitionPopover{background-color:var(--bg-3000)}.definition-popover .DefinitionPopover .DefinitionPopover__label{align-items:flex-start;font-size:.6875rem;margin-bottom:1rem;margin-top:1rem;text-transform:uppercase}.definition-popover .definition-popover-grid{display:grid;grid-gap:.5rem}.definition-popover .definition-popover-grid .definition-popover-grid-card{display:flex;flex-direction:column}.definition-popover .definition-popover-grid .definition-popover-grid-card .definition-popover-grid-card-title{color:var(--muted);font-size:.6875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.definition-popover .definition-popover-grid .definition-popover-grid-card .definition-popover-grid-card-content{margin-top:.25rem}.definition-popover .definition-popover-edit-form{display:flex;flex-direction:column}.definition-popover .definition-popover-edit-form .label-text{font-weight:600;margin-right:.25rem}.definition-popover .definition-popover-edit-form .definition-popover-edit-form-label{margin-bottom:.5rem}.definition-popover .definition-popover-edit-form .definition-popover-edit-form-value{margin-bottom:1rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/EditableField/EditableField.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".EditableField{align-items:center;display:flex;max-width:100%}.EditableField:not(.EditableField--multiline){line-height:1.15em}.EditableField i{color:var(--muted)}.EditableField .EditableField__notice{color:var(--muted);font-size:1.5rem;margin-left:.5rem}.EditableField .EditableField__highlight{align-items:center;display:flex;flex-direction:row;margin:-.25rem;max-width:calc(100% + .5rem);overflow:auto;padding:.25rem;width:-moz-fit-content;width:fit-content}.EditableField .EditableField__display{overflow:hidden;white-space:pre-wrap}.EditableField.EditableField--editing .EditableField__highlight{align-items:flex-end;border-radius:var(--radius);flex-grow:1;max-width:calc(100% + .5rem);outline:1px solid var(--border);width:auto}.EditableField.EditableField--underlined .EditableField__highlight{margin-bottom:0;margin-top:0;padding-bottom:0;padding-top:0}.EditableField.EditableField--underlined.EditableField--editing .EditableField__highlight{outline:none}.EditableField.EditableField--underlined.EditableField--editing .EditableField__highlight input{border-bottom:1px dashed var(--muted);margin-bottom:-1px}.EditableField .EditableField__actions{align-items:center;display:flex;flex-shrink:0;gap:.5rem;margin-left:.5rem;overflow:hidden}.EditableField input,.EditableField textarea{background:transparent;border:none;color:var(--text-3000);font:inherit;max-width:100%;outline:none;padding:0}.EditableField textarea{align-self:center;width:100%}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/EmptyMessage/EmptyMessage.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".empty-message{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center}.empty-message .description,.empty-message .title{text-align:center}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/Errors/StackTraces.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".StackTrace .LemonCollapse.LemonCollapse--embedded{border-bottom:1px solid var(--border);border-top:1px solid var(--border)}.StackTrace .LemonCollapse .LemonCollapsePanel__header{background-color:var(--accent-3000);min-height:1.875rem!important;padding:0!important}.StackTrace .LemonCollapse .LemonCollapsePanel__header--disabled:hover{background-color:var(--accent-3000)!important}.StackTrace--embedded .StackTrace__type,.StackTrace--embedded .StackTrace__value{margin:0 8px}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/Fade/Fade.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,"@keyframes Fade__fade-in{0%{opacity:0}to{opacity:1}}@keyframes Fade__fade-out{0%{opacity:1}to{opacity:0}}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/HTMLElementsDisplay/SelectableElement.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".SelectableElement{border:1px solid transparent;border-radius:var(--radius);transition:background-color .2s ease,color .2s ease,border .2s ease}.SelectableElement.SelectableElement--selected{background:var(--primary-3000)}.SelectableElement:hover{background:var(--primary-3000-hover)}.SelectableElement:active{background:var(--primary-3000-active)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/HedgehogBuddy/HedgehogBuddy.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".HedgehogBuddy{cursor:pointer;margin:0;z-index:var(--z-hedgehog-buddy)}.HedgehogBuddy:after{content:attr(data-content);height:0;overflow:hidden;position:absolute;width:0;z-index:-1}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/InsightLabel/InsightLabel.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".insights-label{max-width:100%}.insights-label .value{font-size:1.176em;font-weight:700;margin-left:.3rem;padding-right:4px}.insights-label .graph-series-glyph{margin-left:2px;margin-right:4px;padding:0 6px}.insights-label .color-icon{border:2px solid #fff;border-radius:50%;box-sizing:border-box;margin-left:2px;margin-right:6px}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/InsightLegend/InsightLegend.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".InsightLegendMenu{background-color:var(--bg-light);box-shadow:none!important;max-height:100%}.InsightLegendMenu.InsightLegendMenu--in-card-view{max-width:40%}.InsightLegendMenu.InsightLegendMenu--horizontal{max-width:100%}.InsightLegendMenu.InsightLegendMenu--horizontal .InsightLegendMenu-scroll{display:flex;flex-wrap:wrap}.InsightLegendMenu.InsightLegendMenu--horizontal .InsightLegendMenu-scroll .InsightLegendMenu-item{width:auto}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/Map/Maplibre.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px var(--primary-3000)}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{background-color:var(--bg-light);color:var(--muted-3000)}.maplibregl-ctrl-attrib .maplibregl-ctrl-attrib-button{background-color:var(--bg-3000)}[theme=dark] .maplibregl-ctrl-attrib .maplibregl-ctrl-attrib-button{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\")}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:var(--bg-3000)}[theme=dark] .maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\")}.maplibregl-ctrl-attrib a{color:var(--text-3000)}}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/NotFound/NotFound.scss":(module,exports,__webpack_require__)=>{var ___CSS_LOADER_API_IMPORT___=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js"),___CSS_LOADER_GET_URL_IMPORT___=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/getUrl.js"),___CSS_LOADER_URL_IMPORT_0___=__webpack_require__("./frontend/public/not-found-astrohog.png");exports=___CSS_LOADER_API_IMPORT___(!1);var ___CSS_LOADER_URL_REPLACEMENT_0___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);exports.push([module.id,".NotFoundComponent{align-items:center;display:flex;flex-direction:column;margin:6rem auto;max-width:50rem;padding:0 1rem;text-align:center}.NotFoundComponent .NotFoundComponent__graphic{background:url("+___CSS_LOADER_URL_REPLACEMENT_0___+") no-repeat 50%;height:270px;width:100%}.NotebookNode .NotFoundComponent{align-items:center;background-color:var(--danger-highlight);display:flex;flex:1;flex-direction:column;justify-content:center;margin:0;max-width:100%;padding:2rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/Playlist/Playlist.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".Playlist{align-items:flex-start;border:1px solid var(--border);border-radius:var(--radius);flex-direction:row;justify-content:flex-start}.Playlist,.Playlist .Playlist__list{display:flex;height:100%;overflow:hidden}.Playlist .Playlist__list{flex-direction:column;flex-shrink:0;position:relative}.Playlist .Playlist__list:not(.Playlist__list--collapsed){max-width:320px;min-width:285px;width:25%}.Playlist .Playlist__list .text-link{color:var(--text-3000)!important}.Playlist .Playlist__main{flex:1;height:100%;overflow:hidden;width:100%}.Playlist--embedded{border:none}.Playlist--wide .Playlist__main{flex:1;height:100%}.SessionRecordingPlaylistHeightWrapper{height:calc(100vh - 15rem);min-height:25rem}.SessionRecordingPreview{border-left:3px solid transparent}.SessionRecordingPreview--active{border-left-color:var(--primary-3000)}.SessionRecordingPreview:hover{background-color:var(--primary-highlight)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/PropertiesTable/PropertiesTable.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".properties-table-key{display:flex;max-width:24rem;min-width:8rem}.properties-table-value{align-items:center;display:flex;max-width:-moz-fit-content;max-width:fit-content;min-width:12rem}.properties-table-value .value-link>*{vertical-align:middle}.properties-table-value .value-link>svg{font-size:1rem;margin-left:.25rem}.properties-table-value .editable{border:1px solid transparent;border-radius:calc(var(--radius)*.75);cursor:pointer;margin-left:-.25rem;padding:.125rem .25rem}.properties-table-value .editable:hover{background:var(--bg-light);border:1px solid var(--border-light)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/PropertyFilters/PropertyFilters.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".PropertyFilters{display:flex;gap:.5rem}.PropertyFilters .PropertyFilters__content{display:flex;flex:1;flex-wrap:wrap;gap:.5rem}.PropertyFilters .PropertyFilters__prefix{color:var(--border-bold-3000);font-size:18px;padding:0 5px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.PropertyFilters .logical-row-divider{align-items:flex-start;font-size:12px;font-weight:600;margin-bottom:0;margin-top:.5rem;text-transform:uppercase}.PropertyFilters .logical-row-divider:after,.PropertyFilters .logical-row-divider:before{border-top:1px solid var(--border)}.PropertyFilters .logical-row-divider:before{width:1.5%}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/PropertyFilters/components/FilterRow.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".property-filter-row{flex-basis:100%}.property-filter-row.wrap-filters{flex-basis:auto}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/PropertyFilters/components/PropertyFilterButton.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".PropertyFilterButton{align-items:center;background:var(--border);border:1px solid var(--secondary-3000-button-border);border-radius:99rem;color:var(--text-3000);cursor:default;display:inline-flex;gap:.375rem;height:2rem;outline:0;overflow:hidden;padding:.25rem .625rem;white-space:nowrap}.PropertyFilterButton[aria-disabled=true]:not(.LemonButton--loading){cursor:not-allowed;opacity:var(--opacity-disabled)}.PropertyFilterButton:focus,.PropertyFilterButton:hover:not([aria-disabled=true]){border-color:var(--secondary-3000-button-border-hover)}.PropertyFilterButton:not(.PropertyFilterButton--clickable){border-color:transparent}.PropertyFilterButton.PropertyFilterButton--clickable{cursor:pointer;touch-action:manipulation}.PropertyFilterButton.PropertyFilterButton--closable{padding-right:.5rem}.PropertyFilterButton>:not(.PropertyFilterButton-content){flex-shrink:0}.PropertyFilterButton .PropertyFilterButton-content{flex:1;overflow:hidden;text-align:left;text-overflow:ellipsis}.PropertyFilterButton>.LemonIcon{font-size:1rem}.PropertyFilterButton .LemonButton{border-radius:99rem;margin:0 -.375rem 0 -.125rem}.PropertyFilterButton .LemonButton__chrome{min-height:auto;padding:.1875rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/PropertyFilters/components/TaxonomicPropertyFilter.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".TaxonomicPropertyFilter{overflow:hidden;width:100%}.TaxonomicPropertyFilter--in-dropdown{background:var(--bg-light);max-width:100%;min-width:300px;width:900px}.TaxonomicPropertyFilter--in-dropdown .TaxonomicPropertyFilter__row-items>:first-child{width:10rem}.TaxonomicPropertyFilter__row{display:flex;gap:.5rem;overflow:hidden}.TaxonomicPropertyFilter__row-operator{align-items:center;display:flex;flex-shrink:0;height:40px;justify-content:flex-end;width:4.5rem}.TaxonomicPropertyFilter__row--or-filtering .TaxonomicPropertyFilter__row-operator{width:2rem}.TaxonomicPropertyFilter__row-arrow{color:var(--border-bold-3000);font-size:18px;font-weight:700;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.TaxonomicPropertyFilter__row-items{align-items:center;display:flex;flex:1;flex-wrap:wrap;gap:.5rem;overflow:hidden}.TaxonomicPropertyFilter__row-items>*{max-width:100%;overflow:hidden}.TaxonomicPropertyFilter__row--showing-operators .TaxonomicPropertyFilter__row-items>:first-child{flex-grow:1;min-width:10rem;width:30%}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/PropertyKeyInfo.scss":(module,exports,__webpack_require__)=>{var ___CSS_LOADER_API_IMPORT___=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js"),___CSS_LOADER_GET_URL_IMPORT___=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/getUrl.js"),___CSS_LOADER_URL_IMPORT_0___=__webpack_require__("./frontend/public/posthog-icon.svg"),___CSS_LOADER_URL_IMPORT_1___=__webpack_require__("./frontend/public/langfuse-icon.svg");exports=___CSS_LOADER_API_IMPORT___(!1);var ___CSS_LOADER_URL_REPLACEMENT_0___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___),___CSS_LOADER_URL_REPLACEMENT_1___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);exports.push([module.id,".PropertyKeyInfo,.PropertyKeyInfo__header{align-items:center;display:inline-flex;gap:.25rem;max-width:100%;overflow:hidden;vertical-align:bottom}.PropertyKeyInfo__header{font-weight:600}.PropertyKeyInfo__text.PropertyKeyInfo__text--ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.PropertyKeyInfo__logo{background-size:cover;display:inline-block;flex-shrink:0;height:1rem;width:1rem}.PropertyKeyInfo__logo--posthog{background-image:url("+___CSS_LOADER_URL_REPLACEMENT_0___+")}.PropertyKeyInfo__logo--langfuse{background-image:url("+___CSS_LOADER_URL_REPLACEMENT_1___+")}.PropertyKeyInfo__overlay{padding:.25rem}.PropertyKeyInfo__overlay p{margin-bottom:.25rem}.PropertyKeyInfo__overlay p:last-child{margin-bottom:0}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/Resizer/Resizer.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,'.Resizer{--resizer-thickness:8px;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:var(--z-notifications-popover)}.Resizer--left,.Resizer--right{--scale:scaleX(3);bottom:0;cursor:col-resize;top:0;width:var(--resizer-thickness)}.Resizer--left .Resizer__handle,.Resizer--right .Resizer__handle{bottom:0;left:calc(var(--resizer-thickness)/2);top:0;width:1px}.Resizer--left .Resizer__handle:after,.Resizer--left .Resizer__handle:before,.Resizer--right .Resizer__handle:after,.Resizer--right .Resizer__handle:before{bottom:0;top:0;width:1px}.Resizer--bottom,.Resizer--top{--scale:scaleY(3);cursor:row-resize;height:var(--resizer-thickness);left:0;right:0}.Resizer--bottom .Resizer__handle,.Resizer--top .Resizer__handle{height:1px;left:0;right:0;top:calc(var(--resizer-thickness)/2)}.Resizer--bottom .Resizer__handle:after,.Resizer--bottom .Resizer__handle:before,.Resizer--top .Resizer__handle:after,.Resizer--top .Resizer__handle:before{height:1px;left:0;right:0}.Resizer[aria-hidden=true] .Resizer{cursor:e-resize}.Resizer .Resizer__handle{position:absolute}.Resizer .Resizer__handle:after,.Resizer .Resizer__handle:before{box-sizing:initial;content:"";position:absolute}.Resizer .Resizer__handle:before{background:var(--border);transition:transform .1s ease}.Resizer .Resizer__handle:after{background:var(--text-3000);opacity:0;transition:transform .1s ease}.Resizer--left{left:0;transform:translateX(calc(var(--resizer-thickness)/2*-1))}.Resizer--right{right:0;transform:translateX(calc(var(--resizer-thickness)/2*1))}.Resizer--top{top:0;transform:translateY(calc(var(--resizer-thickness)/2*-1))}.Resizer--bottom{bottom:0;transform:translateY(calc(var(--resizer-thickness)/2*1))}.Resizer--resizing .Resizer__handle:after,.Resizer:hover .Resizer__handle:after{opacity:.25}.Resizer--resizing .Resizer__handle:after,.Resizer--resizing .Resizer__handle:before{transform:var(--scale)}',""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/ScrollableShadows/ScrollableShadows.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,'.ScrollableShadows{display:flex;overflow:hidden;position:relative}.ScrollableShadows:after,.ScrollableShadows:before{content:"";height:100%;left:0;opacity:0;pointer-events:none;position:absolute;top:0;transition:opacity .2s ease;width:100%;z-index:1}.ScrollableShadows .ScrollableShadows__inner{flex:1}.ScrollableShadows.ScrollableShadows--horizontal{height:100%}.ScrollableShadows.ScrollableShadows--horizontal .ScrollableShadows__inner{overflow-x:auto}.ScrollableShadows.ScrollableShadows--horizontal:before{box-shadow:inset 16px 0 16px -16px rgba(0,0,0,.25)}.ScrollableShadows.ScrollableShadows--horizontal:after{box-shadow:inset -16px 0 16px -16px rgba(0,0,0,.25)}.ScrollableShadows.ScrollableShadows--vertical{width:100%}.ScrollableShadows.ScrollableShadows--vertical .ScrollableShadows__inner{overflow-y:auto}.ScrollableShadows.ScrollableShadows--vertical:before{box-shadow:inset 0 16px 16px -16px rgba(0,0,0,.25)}.ScrollableShadows.ScrollableShadows--vertical:after{box-shadow:inset 0 -16px 16px -16px rgba(0,0,0,.25)}.ScrollableShadows.ScrollableShadows--bottom:after,.ScrollableShadows.ScrollableShadows--left:before,.ScrollableShadows.ScrollableShadows--right:after,.ScrollableShadows.ScrollableShadows--top:before{opacity:1}',""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/Sharing/SharingModal.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".SharingPreview{background-color:var(--bg-3000);padding:.5rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/TZLabel/index.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".TZLabelPopover .TZLabelPopover__row{display:flex;margin-top:.5rem}.TZLabelPopover .TZLabelPopover__row>:first-child{color:var(--primary-alt);font-weight:700;margin-right:8px}.TZLabelPopover .TZLabelPopover__row>:nth-child(2):not(:empty){color:var(--primary-alt);font-weight:700;margin-right:6px}.TZLabelPopover .TZLabelPopover__row>:nth-child(3){color:var(--muted);flex-grow:1;margin-right:16px}.TZLabelPopover .TZLabelPopover__row>:nth-child(4){min-width:10rem;text-align:right}.TZLabelPopover--seconds .TZLabelPopover .TZLabelPopover__row>:nth-child(4){min-width:12rem}.TZLabelPopover .TZLabelPopover__row--muted,.TZLabelPopover .TZLabelPopover__row--muted>:first-child,.TZLabelPopover .TZLabelPopover__row--muted>:nth-child(2):not(:empty){color:var(--muted)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/TaxonomicFilter/InfiniteList.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".taxonomic-infinite-list{flex-grow:1;min-height:200px}.taxonomic-infinite-list.empty-infinite-list{align-items:center;display:flex;justify-content:center;width:100%}.taxonomic-infinite-list.empty-infinite-list .no-infinite-results{color:#666}.taxonomic-infinite-list .taxonomic-list-row{align-items:center;border:none;color:var(--text-3000);cursor:pointer;display:flex;justify-content:space-between;padding:4px 12px}.taxonomic-infinite-list .taxonomic-list-row .taxonomic-list-row-contents{align-items:center;display:flex;-webkit-user-select:none;-moz-user-select:none;user-select:none}.taxonomic-infinite-list .taxonomic-list-row .taxonomic-list-row-contents .taxonomic-list-row-contents-icon{display:flex;font-size:1.25rem;justify-content:center;margin-left:-4px;margin-right:4px;min-width:30px}.taxonomic-infinite-list .taxonomic-list-row .taxonomic-list-row-contents .taxonomic-list-row-contents-icon svg.taxonomy-icon{flex-shrink:0;vertical-align:middle}.taxonomic-infinite-list .taxonomic-list-row .taxonomic-list-row-contents .taxonomic-list-row-contents-icon svg.taxonomy-icon.taxonomy-icon-muted{color:var(--muted-alt)}.taxonomic-infinite-list .taxonomic-list-row .taxonomic-list-row-contents .taxonomic-list-row-contents-icon svg.taxonomy-icon.taxonomy-icon-verified{color:var(--success)}.taxonomic-infinite-list .taxonomic-list-row .taxonomic-list-row-contents .taxonomic-list-row-contents-icon svg.taxonomy-icon.taxonomy-icon-built-in{color:var(--primary-3000)}.taxonomic-infinite-list .taxonomic-list-row>div{max-width:100%}.taxonomic-infinite-list .taxonomic-list-row>div>span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.taxonomic-infinite-list .taxonomic-list-row.hover{background-color:var(--bg-3000);border-radius:var(--radius)}.taxonomic-infinite-list .taxonomic-list-row.selected{font-weight:700}.taxonomic-infinite-list .taxonomic-list-row.expand-row{color:var(--primary-3000)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/TaxonomicFilter/TaxonomicFilter.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".taxonomic-filter{background:var(--bg-light);display:flex;flex-direction:column;max-width:calc(100vw - 40px);width:550px}.taxonomic-filter.force-minimum-width{min-width:300px}.taxonomic-filter.one-taxonomic-tab .taxonomic-infinite-list{margin-top:10px}.taxonomic-filter .taxonomic-group-title{align-items:stretch;color:var(--muted);display:flex;font-size:12px;font-weight:600;line-height:12px;padding-left:10px;padding-top:10px;text-transform:uppercase;width:100%}.taxonomic-filter .taxonomic-pills{margin-bottom:8px;margin-top:8px;padding-left:10px}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/TimelineSeekbar/TimelineSeekbar.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,'.TimelineSeekbar{--timeline-seekbar-thickness:0.125rem;--timeline-seekbar-arrow-width:0.5rem;--timeline-seekbar-arrow-height:0.75rem;margin:.75rem .5rem}.TimelineSeekbar__meta{display:flex;gap:.5rem;justify-content:space-between}.TimelineSeekbar__note{align-items:center;display:flex;font-size:.8125rem;line-height:1.25rem}.TimelineSeekbar__current{background:var(--primary-3000);border-radius:var(--radius);color:var(--bg-light);font-size:.75rem;font-weight:500;line-height:1.25rem;padding:0 .25rem;width:-moz-fit-content;width:fit-content}.TimelineSeekbar__current::-moz-selection{background:var(--primary-3000-hover)}.TimelineSeekbar__current::selection{background:var(--primary-3000-hover)}.TimelineSeekbar__current .Spinner{margin-right:.25rem}.TimelineSeekbar__seekbar{height:1.25rem;margin-top:.5rem;position:relative}.TimelineSeekbar__points{display:flex;height:100%;left:calc(var(--timeline-seekbar-thickness)*2);position:relative;top:0;width:calc(100% - var(--timeline-seekbar-arrow-width) - var(--timeline-seekbar-thickness)*3 - 1.25rem)}.TimelineSeekbar__points .LemonBadge:not(.LemonBadge--active){background-clip:padding-box;border-right-color:transparent}.TimelineSeekbar__section{border-left:var(--timeline-seekbar-thickness) solid var(--bg-light);cursor:pointer;left:calc(var(--timeline-seekbar-section-progress-current) - var(--timeline-seekbar-thickness));position:absolute;width:var(--timeline-seekbar-section-progress-next)}.TimelineSeekbar__section:last-child{width:calc(var(--timeline-seekbar-section-progress-next) + 1.25rem)}.TimelineSeekbar__line{background:var(--primary-3000);height:var(--timeline-seekbar-thickness);left:0;position:absolute;top:calc(50% - var(--timeline-seekbar-thickness)/2);width:calc(100% - var(--timeline-seekbar-arrow-width))}.TimelineSeekbar__line-end,.TimelineSeekbar__line-start{height:1.25rem;position:absolute;top:calc(var(--timeline-seekbar-thickness)/2 - .625rem)}.TimelineSeekbar__line-end:before,.TimelineSeekbar__line-start:before{background:var(--primary-3000);content:"";display:block;height:var(--timeline-seekbar-arrow-height);margin:calc(var(--timeline-seekbar-thickness) + .125rem) 0}.TimelineSeekbar__line-start{left:0;width:var(--timeline-seekbar-thickness)}.TimelineSeekbar__line-end{cursor:pointer;left:100%;width:var(--timeline-seekbar-arrow-width)}.TimelineSeekbar__line-end:before{clip-path:polygon(0 0,100% 50%,0 100%)}',""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/UniversalFilters/UniversalFilterButton.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".UniversalFilterButton{align-items:center;background:var(--border);border:1px solid var(--secondary-3000-button-border);border-radius:99rem;color:var(--text-3000);cursor:default;display:inline-flex;gap:.375rem;height:2rem;outline:0;overflow:hidden;padding:.25rem .625rem;white-space:nowrap}.UniversalFilterButton[aria-disabled=true]:not(.LemonButton--loading){cursor:not-allowed;opacity:var(--opacity-disabled)}.UniversalFilterButton:focus,.UniversalFilterButton:hover:not([aria-disabled=true]){border-color:var(--secondary-3000-button-border-hover)}.UniversalFilterButton:not(.UniversalFilterButton--clickable){border-color:transparent}.UniversalFilterButton.UniversalFilterButton--clickable{cursor:pointer;touch-action:manipulation}.UniversalFilterButton.UniversalFilterButton--closable{padding-right:.5rem}.UniversalFilterButton>:not(.UniversalFilterButton-content){flex-shrink:0}.UniversalFilterButton .UniversalFilterButton-content{flex:1;overflow:hidden;text-overflow:ellipsis}.UniversalFilterButton>.LemonIcon{font-size:1rem}.UniversalFilterButton .LemonButton{border-radius:99rem;margin:0 -.375rem 0 -.125rem}.UniversalFilterButton .LemonButton__chrome{min-height:auto;padding:.1875rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/UserActivityIndicator/UserActivityIndicator.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".UserActivityIndicator{align-items:center;display:flex;font-size:.8125rem;overflow-x:auto;white-space:nowrap}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonActionableTooltip/LemonActionableTooltip.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".LemonActionableTooltip{max-width:var(--in-app-prompts-width);padding:.5rem}.LemonActionableTooltip>*+*{margin-top:.5rem}.LemonActionableTooltip .LemonActionableTooltip__header{display:flex;justify-content:space-between}.LemonActionableTooltip .LemonActionableTooltip__header>*+*{margin-left:.5rem}.LemonActionableTooltip .LemonActionableTooltip__title{font-size:1.125rem;font-weight:500;line-height:1.75rem}.LemonActionableTooltip .LemonActionableTooltip__icon{align-items:center;color:var(--primary-3000);display:flex;height:1.5rem;width:1.5rem}.LemonActionableTooltip .LemonActionableTooltip__icon>svg{height:100%;width:100%}.LemonActionableTooltip .LemonActionableTooltip__body>*+*{margin-top:.5rem}.LemonActionableTooltip .LemonActionableTooltip__footer{display:flex;justify-content:space-between;margin-top:1rem}.LemonActionableTooltip .LemonActionableTooltip__url-buttons{display:flex;flex-direction:column;width:100%}.LemonActionableTooltip .LemonActionableTooltip__url-buttons>*+*{margin-top:.25rem}.LemonActionableTooltip .LemonActionableTooltip__action-buttons{display:flex;flex-direction:column;width:100%}.LemonActionableTooltip .LemonActionableTooltip__action-buttons>*+*{margin-top:.25rem}.LemonActionableTooltip .LemonActionableTooltip__navigation{align-items:center;color:var(--muted);display:flex}.LemonActionableTooltip .LemonActionableTooltip__navigation>*+*{margin-left:.25rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonBadge/LemonBadge.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".LemonBadge{--lemon-badge-color:var(--primary-3000);--lemon-badge-size:1.5rem;--lemon-badge-font-size:0.75rem;--lemon-badge-position-offset:0.5rem;--lemon-badge-border-width:0.125rem;align-items:center;background:var(--lemon-badge-color);border:var(--lemon-badge-border-width) solid var(--accent-3000);border-radius:calc(var(--lemon-badge-size)/2);color:var(--bg-light);display:flex;flex-shrink:0;font-size:var(--lemon-badge-font-size);font-weight:700;height:var(--lemon-badge-size);justify-content:center;line-height:var(--lemon-badge-size);min-width:var(--lemon-badge-size);padding:calc(var(--lemon-badge-size)/8);pointer-events:none;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:-moz-fit-content;width:fit-content;z-index:1}.LemonBadge>*{height:calc(var(--lemon-badge-size) - var(--lemon-badge-border-width)*2);margin:calc(var(--lemon-badge-size)*-1/8);width:calc(var(--lemon-badge-size) - var(--lemon-badge-border-width)*2)}.LemonBadge.LemonBadge--success{--lemon-badge-color:var(--success)}.LemonBadge.LemonBadge--warning{--lemon-badge-color:var(--warning)}.LemonBadge.LemonBadge--danger{--lemon-badge-color:var(--danger)}.LemonBadge.LemonBadge--muted{--lemon-badge-color:var(--muted)}.LemonBadge.LemonBadge--data{--lemon-badge-color:var(--data-color-1)}.LemonBadge.LemonBadge--position-none{position:relative}.LemonBadge.LemonBadge--position-top-left{left:calc(var(--lemon-badge-position-offset)*-1);top:calc(var(--lemon-badge-position-offset)*-1)}.LemonBadge.LemonBadge--position-top-right{right:calc(var(--lemon-badge-position-offset)*-1);top:calc(var(--lemon-badge-position-offset)*-1)}.LemonBadge.LemonBadge--position-bottom-left{bottom:calc(var(--lemon-badge-position-offset)*-1);left:calc(var(--lemon-badge-position-offset)*-1)}.LemonBadge.LemonBadge--position-bottom-right{bottom:calc(var(--lemon-badge-position-offset)*-1);right:calc(var(--lemon-badge-position-offset)*-1)}.LemonBadge.LemonBadge--small{--lemon-badge-size:1.125rem;--lemon-badge-font-size:0.625rem}.LemonBadge.LemonBadge--large{--lemon-badge-size:1.75rem;--lemon-badge-font-size:0.875rem}.LemonBadge.LemonBadge--dot{height:calc(var(--lemon-badge-size)*.5 + var(--lemon-badge-border-width));min-width:0;width:calc(var(--lemon-badge-size)*.5 + var(--lemon-badge-border-width))}.LemonBadge.LemonBadge--active{outline:calc(var(--lemon-badge-font-size)/5) solid var(--lemon-badge-color);z-index:var(--z-raised)}.LemonBadge.LemonBadge--enter{opacity:0;transform:scale(.5)}.LemonBadge.LemonBadge--enter-active{opacity:1;transform:scale(1);transition:all .2s ease-out}.LemonBadge.LemonBadge--exit{opacity:1;transform:scale(1)}.LemonBadge.LemonBadge--exit-active{opacity:0;transform:scale(.5);transition:all .2s ease-in}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonBanner/LemonBanner.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".LemonBanner{border:1px solid var(--border-tertiary);border-radius:var(--radius);color:var(--content-primary);display:flex;flex-direction:column;font-weight:500;gap:.5rem;min-height:3rem;padding:.5rem;text-align:left}.LemonBanner.LemonBanner--square{border-radius:0}.LemonBanner.LemonBanner--info{background-color:var(--background-secondary)}.LemonBanner.LemonBanner--warning{background-color:var(--background-warning-subtle);color:var(--content-warning-bold)}.LemonBanner.LemonBanner--error{background-color:var(--background-danger-subtle);color:var(--content-danger-bold)}.LemonBanner.LemonBanner--success{background-color:var(--background-success-subtle);color:var(--content-success-bold)}.LemonBanner .LemonBanner__icon{flex-shrink:0;font-size:1.5rem;line-height:0}.LemonBanner p{margin-bottom:.25em}.LemonBanner p:last-child{margin-bottom:0}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonButton/LemonButton.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,'.LemonButton,.Link.LemonButton{--lemon-button-hover-depth:-0.03125rem;--lemon-button-press-depth:0.03125rem;--lemon-button-padding-adjacent-icon:0.375rem;--lemon-button-transition:opacity 200ms ease,transform 200ms ease;--lemon-button-border-width:0;--lemon-button-bg-color:transparent;--button-border-color:none;--lemon-button-border-color-hover:none;--lemon-button-frame-bg-color:none;--lemon-button-font-size:0.875rem;--lemon-button-icon-size:1.5rem;--lemon-button-height:2.3125rem;--lemon-button-gap:0.5rem;--lemon-button-icon-opacity:0.8;--lemon-button-color:var(--text-3000);align-items:center;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;background:none;border-radius:var(--radius);cursor:pointer;display:flex;flex-shrink:0;font-family:var(--font-title);padding:0;position:relative;transition:var(--lemon-button-transition);-webkit-user-select:none;-moz-user-select:none;user-select:none;--lemon-button-chrome-depth:0.1875rem;--lemon-button-padding-horizontal:0.75rem;--lemon-button-side-action-width:2rem}.LemonButton .font-normal,.LemonButton.font-normal,.Link.LemonButton .font-normal,.Link.LemonButton.font-normal{font-family:var(--font-sans)}.LemonButton .LemonButton__chrome,.Link.LemonButton .LemonButton__chrome{align-items:center;background:none;border-color:transparent;border-style:solid;border-width:var(--lemon-button-border-width);color:var(--lemon-button-color);display:flex;flex:1;flex-direction:row;flex-shrink:0;font-size:var(--lemon-button-font-size);font-weight:500;gap:var(--lemon-button-gap);height:100%;justify-content:flex-start;line-height:1.5rem;min-height:var(--lemon-button-height);padding:.25rem var(--lemon-button-padding-horizontal);position:relative;text-align:left;width:100%}.LemonButton .LemonButton__chrome .LemonButton__content,.Link.LemonButton .LemonButton__chrome .LemonButton__content{align-items:center;display:flex;flex:1;line-height:normal;overflow:hidden}.LemonButton .LemonButton__chrome .LemonButton__icon,.Link.LemonButton .LemonButton__chrome .LemonButton__icon{display:flex;flex-shrink:0;font-size:var(--lemon-button-icon-size);place-items:center center;transition:color .2s ease}.LemonButton .LemonButton__chrome .LemonButton__icon .LemonIcon,.Link.LemonButton .LemonButton__chrome .LemonButton__icon .LemonIcon{opacity:var(--lemon-button-icon-opacity)}.LemonButton[aria-disabled=true]:not(.LemonButton--loading),.Link.LemonButton[aria-disabled=true]:not(.LemonButton--loading){cursor:not-allowed;opacity:var(--opacity-disabled)}.LemonButton.LemonButton--active,.LemonButton:hover:not([aria-disabled=true]),.LemonButton:not([aria-disabled=true]):active,.Link.LemonButton.LemonButton--active,.Link.LemonButton:hover:not([aria-disabled=true]),.Link.LemonButton:not([aria-disabled=true]):active{--lemon-button-icon-opacity:0.75}.LemonButton.LemonButton--full-width,.Link.LemonButton.LemonButton--full-width{--lemon-button-padding-horizontal:0.5rem;width:100%}.LemonButton.LemonButton--loading,.Link.LemonButton.LemonButton--loading{cursor:default}.LemonButton.LemonButton--no-padding,.Link.LemonButton.LemonButton--no-padding{height:auto;min-height:0;padding:0;width:auto}.LemonButton.LemonButton--no-padding .LemonButton__chrome,.Link.LemonButton.LemonButton--no-padding .LemonButton__chrome{min-height:0;padding:0}.LemonButton.LemonButton--no-padding.LemonButton--full-width,.Link.LemonButton.LemonButton--no-padding.LemonButton--full-width{width:100%}.LemonButton.LemonButton--truncate,.Link.LemonButton.LemonButton--truncate{flex-shrink:1;min-width:0;white-space:nowrap}.LemonButton.LemonButton--truncate .LemonButton__content,.Link.LemonButton.LemonButton--truncate .LemonButton__content{display:initial;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.LemonButton.LemonButton--centered .LemonButton__chrome,.Link.LemonButton.LemonButton--centered .LemonButton__chrome{justify-content:center!important}.LemonButton.LemonButton--centered .LemonButton__content,.Link.LemonButton.LemonButton--centered .LemonButton__content{flex:initial!important;text-align:center!important}.LemonButton.LemonButton--primary,.Link.LemonButton.LemonButton--primary{--lemon-button-bg-color:var(--primary-3000-button-bg);--lemon-button-bg-color-active:var(--primary-3000-button-bg);--button-border-color:var(--primary-3000-button-border);--lemon-button-border-color-hover:var(--primary-3000-button-border-hover);--lemon-button-frame-bg-color:var(--primary-3000-frame-bg);--lemon-button-color:var(--text-3000-light)}.LemonButton.LemonButton--primary.LemonButton--status-alt,.Link.LemonButton.LemonButton--primary.LemonButton--status-alt{--lemon-button-bg-color:var(--primary-3000-frame-bg-light);--lemon-button-bg-color-active:var(--lemon-button-bg-color);--button-border-color:var(--primary-3000-button-border);--lemon-button-border-color-hover:var(--primary-3000-button-border-hover);--lemon-button-frame-bg-color:var(--primary-3000-button-bg-dark);--lemon-button-color:var(--text-3000-light)}.LemonButton.LemonButton--secondary.LemonButton--status-alt.LemonButton--active,.LemonButton.LemonButton--secondary.LemonButton--status-alt:hover,.LemonButton.LemonButton--secondary:not(.LemonButton--status-alt):not(.LemonButton--status-danger),.Link.LemonButton.LemonButton--secondary.LemonButton--status-alt.LemonButton--active,.Link.LemonButton.LemonButton--secondary.LemonButton--status-alt:hover,.Link.LemonButton.LemonButton--secondary:not(.LemonButton--status-alt):not(.LemonButton--status-danger){--button-border-color:var(--secondary-3000-button-border);--lemon-button-bg-color-active:var(--bg-light);--lemon-button-border-color-hover:var(--secondary-3000-button-border-hover);--lemon-button-frame-bg-color:var(--secondary-3000-frame-bg)}.LemonButton.LemonButton--primary.LemonButton--status-danger,.LemonButton.LemonButton--secondary.LemonButton--status-danger,.LemonButton.LemonButton--status-danger,.Link.LemonButton.LemonButton--primary.LemonButton--status-danger,.Link.LemonButton.LemonButton--secondary.LemonButton--status-danger,.Link.LemonButton.LemonButton--status-danger{--lemon-button-color:var(--danger-3000-button-border-hover);--button-border-color:var(--danger-3000-button-border);--lemon-button-border-color-hover:var(--danger-3000-button-border-hover);--lemon-button-frame-bg-color:var(--danger-3000-frame-bg);--lemon-button-icon-opacity:1}.LemonButton.LemonButton--primary.LemonButton--status-danger,.Link.LemonButton.LemonButton--primary.LemonButton--status-danger{--lemon-button-bg-color:var(--red-100);--lemon-button-color:var(--text-3000)}[theme=dark] .LemonButton.LemonButton--primary.LemonButton--status-danger,[theme=dark] .Link.LemonButton.LemonButton--primary.LemonButton--status-danger{--lemon-button-bg-color:#312101;--lemon-button-color:var(--red-200)}.LemonButton.LemonButton--secondary.LemonButton--status-alt,.Link.LemonButton.LemonButton--secondary.LemonButton--status-alt{--lemon-button-color:var(--muted)}.LemonButton.LemonButton--secondary.LemonButton--status-alt.LemonButton--active,.LemonButton.LemonButton--secondary.LemonButton--status-alt:hover:not([aria-disabled=true]),.Link.LemonButton.LemonButton--secondary.LemonButton--status-alt.LemonButton--active,.Link.LemonButton.LemonButton--secondary.LemonButton--status-alt:hover:not([aria-disabled=true]){--lemon-button-color:var(--text-3000)}.LemonButton.LemonButton--primary,.LemonButton.LemonButton--secondary,.Link.LemonButton.LemonButton--primary,.Link.LemonButton.LemonButton--secondary{--lemon-button-border-width:1px}.LemonButton.LemonButton--primary:not([aria-disabled=true]):hover .LemonButton__chrome:after,.LemonButton.LemonButton--secondary:not([aria-disabled=true]):hover .LemonButton__chrome:after,.Link.LemonButton.LemonButton--primary:not([aria-disabled=true]):hover .LemonButton__chrome:after,.Link.LemonButton.LemonButton--secondary:not([aria-disabled=true]):hover .LemonButton__chrome:after{border-color:var(--lemon-button-border-color-hover)}.LemonButton.LemonButton--primary.LemonButton--has-icon:not(.LemonButton--no-content):not(.LemonButton--no-padding),.LemonButton.LemonButton--secondary.LemonButton--has-icon:not(.LemonButton--no-content):not(.LemonButton--no-padding),.Link.LemonButton.LemonButton--primary.LemonButton--has-icon:not(.LemonButton--no-content):not(.LemonButton--no-padding),.Link.LemonButton.LemonButton--secondary.LemonButton--has-icon:not(.LemonButton--no-content):not(.LemonButton--no-padding){--lemon-button-padding-left:var(--lemon-button-padding-adjacent-icon)}.LemonButton.LemonButton--primary.LemonButton--has-side-icon:not(.LemonButton--no-content):not(.LemonButton--no-padding),.LemonButton.LemonButton--secondary.LemonButton--has-side-icon:not(.LemonButton--no-content):not(.LemonButton--no-padding),.Link.LemonButton.LemonButton--primary.LemonButton--has-side-icon:not(.LemonButton--no-content):not(.LemonButton--no-padding),.Link.LemonButton.LemonButton--secondary.LemonButton--has-side-icon:not(.LemonButton--no-content):not(.LemonButton--no-padding){--lemon-button-padding-right:var(--lemon-button-padding-adjacent-icon)}.LemonButton.LemonButton--primary .LemonButton__chrome,.LemonButton.LemonButton--secondary .LemonButton__chrome,.Link.LemonButton.LemonButton--primary .LemonButton__chrome,.Link.LemonButton.LemonButton--secondary .LemonButton__chrome{background:transparent;padding:calc(.25rem - var(--lemon-button-chrome-depth)*.5) var(--lemon-button-padding-right,var(--lemon-button-padding-horizontal)) calc(.25rem + var(--lemon-button-chrome-depth)*.5) var(--lemon-button-padding-left,var(--lemon-button-padding-horizontal))}.LemonButton.LemonButton--primary .LemonButton__chrome>*,.LemonButton.LemonButton--secondary .LemonButton__chrome>*,.Link.LemonButton.LemonButton--primary .LemonButton__chrome>*,.Link.LemonButton.LemonButton--secondary .LemonButton__chrome>*{z-index:1}.LemonButton.LemonButton--primary .LemonButton__chrome:before,.LemonButton.LemonButton--secondary .LemonButton__chrome:before,.Link.LemonButton.LemonButton--primary .LemonButton__chrome:before,.Link.LemonButton.LemonButton--secondary .LemonButton__chrome:before{border:1px solid var(--button-border-color);border-radius:var(--radius);content:"";inset:-1px;position:absolute;z-index:0}.LemonButton.LemonButton--primary .LemonButton__chrome:after,.LemonButton.LemonButton--secondary .LemonButton__chrome:after,.Link.LemonButton.LemonButton--primary .LemonButton__chrome:after,.Link.LemonButton.LemonButton--secondary .LemonButton__chrome:after{background:var(--lemon-button-bg-color);border:1px solid var(--button-border-color);border-radius:var(--radius);box-shadow:0 var(--lemon-button-chrome-depth) 0 -1px var(--lemon-button-frame-bg-color);content:"";inset:-1px -1px calc(var(--lemon-button-chrome-depth) - 1px) -1px;position:absolute;transition:opacity .2s ease;z-index:0}.LemonButton.LemonButton--primary.LemonButton--active .LemonButton__chrome:after,.LemonButton.LemonButton--primary:not([aria-disabled=true]):active .LemonButton__chrome:after,.LemonButton.LemonButton--secondary.LemonButton--active .LemonButton__chrome:after,.LemonButton.LemonButton--secondary:not([aria-disabled=true]):active .LemonButton__chrome:after,.Link.LemonButton.LemonButton--primary.LemonButton--active .LemonButton__chrome:after,.Link.LemonButton.LemonButton--primary:not([aria-disabled=true]):active .LemonButton__chrome:after,.Link.LemonButton.LemonButton--secondary.LemonButton--active .LemonButton__chrome:after,.Link.LemonButton.LemonButton--secondary:not([aria-disabled=true]):active .LemonButton__chrome:after{border:1px solid var(--lemon-button-border-color-hover)}.LemonButton.LemonButton--primary:hover:not([aria-disabled=true]),.LemonButton.LemonButton--secondary:hover:not([aria-disabled=true]),.Link.LemonButton.LemonButton--primary:hover:not([aria-disabled=true]),.Link.LemonButton.LemonButton--secondary:hover:not([aria-disabled=true]){--lemon-button-depth:var(--lemon-button-hover-depth)}.LemonButton.LemonButton--primary:not([aria-disabled=true]):active,.LemonButton.LemonButton--secondary:not([aria-disabled=true]):active,.Link.LemonButton.LemonButton--primary:not([aria-disabled=true]):active,.Link.LemonButton.LemonButton--secondary:not([aria-disabled=true]):active{--lemon-button-depth:var(--lemon-button-press-depth)}.LemonButton.LemonButton--primary:hover:not([aria-disabled=true]) .LemonButton__chrome,.LemonButton.LemonButton--primary:not([aria-disabled=true]):active .LemonButton__chrome,.LemonButton.LemonButton--secondary:hover:not([aria-disabled=true]) .LemonButton__chrome,.LemonButton.LemonButton--secondary:not([aria-disabled=true]):active .LemonButton__chrome,.Link.LemonButton.LemonButton--primary:hover:not([aria-disabled=true]) .LemonButton__chrome,.Link.LemonButton.LemonButton--primary:not([aria-disabled=true]):active .LemonButton__chrome,.Link.LemonButton.LemonButton--secondary:hover:not([aria-disabled=true]) .LemonButton__chrome,.Link.LemonButton.LemonButton--secondary:not([aria-disabled=true]):active .LemonButton__chrome{transform:translateY(var(--lemon-button-depth))}.LemonButton.LemonButton--primary:hover:not([aria-disabled=true]) .LemonButton__chrome:after,.LemonButton.LemonButton--primary:not([aria-disabled=true]):active .LemonButton__chrome:after,.LemonButton.LemonButton--secondary:hover:not([aria-disabled=true]) .LemonButton__chrome:after,.LemonButton.LemonButton--secondary:not([aria-disabled=true]):active .LemonButton__chrome:after,.Link.LemonButton.LemonButton--primary:hover:not([aria-disabled=true]) .LemonButton__chrome:after,.Link.LemonButton.LemonButton--primary:not([aria-disabled=true]):active .LemonButton__chrome:after,.Link.LemonButton.LemonButton--secondary:hover:not([aria-disabled=true]) .LemonButton__chrome:after,.Link.LemonButton.LemonButton--secondary:not([aria-disabled=true]):active .LemonButton__chrome:after{box-shadow:0 calc(var(--lemon-button-chrome-depth) - var(--lemon-button-depth)) 0 -1px var(--lemon-button-frame-bg-color)}.LemonButton.LemonButton--primary:hover:not([aria-disabled=true]) .LemonButton__chrome:before,.LemonButton.LemonButton--primary:not([aria-disabled=true]):active .LemonButton__chrome:before,.LemonButton.LemonButton--secondary:hover:not([aria-disabled=true]) .LemonButton__chrome:before,.LemonButton.LemonButton--secondary:not([aria-disabled=true]):active .LemonButton__chrome:before,.Link.LemonButton.LemonButton--primary:hover:not([aria-disabled=true]) .LemonButton__chrome:before,.Link.LemonButton.LemonButton--primary:not([aria-disabled=true]):active .LemonButton__chrome:before,.Link.LemonButton.LemonButton--secondary:hover:not([aria-disabled=true]) .LemonButton__chrome:before,.Link.LemonButton.LemonButton--secondary:not([aria-disabled=true]):active .LemonButton__chrome:before{bottom:calc(var(--lemon-button-depth) - 1px)}.LemonButton.LemonButton--primary.LemonButton--active .LemonButton__chrome:after,.LemonButton.LemonButton--secondary.LemonButton--active .LemonButton__chrome:after,.Link.LemonButton.LemonButton--primary.LemonButton--active .LemonButton__chrome:after,.Link.LemonButton.LemonButton--secondary.LemonButton--active .LemonButton__chrome:after{background:var(--lemon-button-bg-color-active)}.LemonButton.LemonButton--tertiary.LemonButton--active,.LemonButton.LemonButton--tertiary:not([aria-disabled=true]):hover,.Link.LemonButton.LemonButton--tertiary.LemonButton--active,.Link.LemonButton.LemonButton--tertiary:not([aria-disabled=true]):hover{background-color:var(--glass-border-3000)}.LemonButton.LemonButton--tertiary.LemonButton--status-danger.LemonButton--active,.LemonButton.LemonButton--tertiary.LemonButton--status-danger:not([aria-disabled=true]):hover,.Link.LemonButton.LemonButton--tertiary.LemonButton--status-danger.LemonButton--active,.Link.LemonButton.LemonButton--tertiary.LemonButton--status-danger:not([aria-disabled=true]):hover{background-color:var(--danger-highlight)}.LemonButton--xsmall,.Link.LemonButton--xsmall{--lemon-button-padding-horizontal:0.375rem;--lemon-button-padding-adjacent-icon:0.25rem;--lemon-button-font-size:0.75rem;--lemon-button-icon-size:0.875rem;--lemon-button-height:1.625rem;--lemon-button-gap:0.25rem;--lemon-button-side-action-width:1.5rem}.LemonButton--small,.Link.LemonButton--small{--lemon-button-padding-horizontal:0.5rem;--lemon-button-height:2.0625rem;--lemon-button-gap:0.25rem;--lemon-button-side-action-width:1.75rem;--lemon-button-icon-size:1.25rem}.LemonButton--large,.Link.LemonButton--large{--lemon-button-font-size:1rem;--lemon-button-icon-size:1.75rem;--lemon-button-padding-adjacent-icon:0.75rem;--lemon-button-height:3.0625rem;--lemon-button-gap:0.75rem}.LemonButtonWithSideAction{position:relative;width:-moz-fit-content;width:fit-content;--lemon-button-chrome-depth:0.1875rem;--lemon-button-padding-horizontal:0.75rem;--lemon-button-side-action-width:2rem}.LemonButtonWithSideAction--full-width{width:100%}.LemonButtonWithSideAction--tertiary .LemonButtonWithSideAction__side-button{--lemon-button-chrome-depth:0px}.LemonButtonWithSideAction:hover>.LemonButton--secondary.LemonButton--status-alt{--button-border-color:var(--secondary-3000-button-border);--lemon-button-bg-color-active:var(--bg-light);--lemon-button-border-color-hover:var(--secondary-3000-button-border-hover);--lemon-button-frame-bg-color:var(--secondary-3000-frame-bg)}.LemonButtonWithSideAction .LemonButtonWithSideAction__spacer{box-sizing:initial;color:var(--muted);height:calc(var(--lemon-button-height) - 1.0625rem);width:calc(var(--lemon-button-side-action-width) - var(--lemon-button-padding-right, var(--lemon-button-padding-horizontal)))}.LemonButtonWithSideAction .LemonButtonWithSideAction__spacer--divider{border-left:1px solid;margin-left:calc(var(--lemon-button-padding-horizontal)/2);padding:0}.LemonButtonWithSideAction .LemonButtonWithSideAction__side-button{background:none;border-bottom-right-radius:calc(var(--radius) - 1px);border-top-right-radius:calc(var(--radius) - 1px);bottom:calc(var(--lemon-button-chrome-depth) + 1px);position:absolute;right:1px;top:1px;transform:none;z-index:1}.LemonButtonWithSideAction .LemonButtonWithSideAction__side-button .LemonButton{--lemon-button-depth:0px;border-bottom-left-radius:0;border-top-left-radius:0;height:100%;width:var(--lemon-button-side-action-width)}.LemonButtonWithSideAction .LemonButtonWithSideAction__side-button .LemonButton__chrome{border:none!important;justify-content:center!important;padding:0!important}.LemonButtonWithSideAction .LemonButtonWithSideAction__side-button .LemonButton__chrome:after,.LemonButtonWithSideAction .LemonButtonWithSideAction__side-button .LemonButton__chrome:before{content:none!important}.LemonButtonWithSideAction .LemonButtonWithSideAction__side-button:not([aria-disabled=true]):active .LemonButton__chrome{transform:none!important}.LemonButtonWithSideAction .LemonButtonWithSideAction__side-button .LemonButton__icon{color:currentColor}.LemonButtonWithSideAction .LemonButtonWithSideAction__side-button:not([aria-disabled=true]):hover{background:rgba(0,0,0,.1)}.LemonButtonWithSideAction--xsmall{--lemon-button-padding-horizontal:0.375rem;--lemon-button-padding-adjacent-icon:0.25rem;--lemon-button-font-size:0.75rem;--lemon-button-icon-size:0.875rem;--lemon-button-height:1.625rem;--lemon-button-gap:0.25rem;--lemon-button-side-action-width:1.5rem}.LemonButtonWithSideAction--small{--lemon-button-padding-horizontal:0.5rem;--lemon-button-height:2.0625rem;--lemon-button-gap:0.25rem;--lemon-button-side-action-width:1.75rem;--lemon-button-icon-size:1.25rem}.LemonButtonWithSideAction--large{--lemon-button-font-size:1rem;--lemon-button-icon-size:1.75rem;--lemon-button-padding-adjacent-icon:0.75rem;--lemon-button-height:3.0625rem;--lemon-button-gap:0.75rem}',""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonCalendar/LemonCalendar.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,'.LemonCalendar{--lemon-calendar-month-height:305px;--lemon-calendar-row-gap:2px;--lemon-calendar-day-width:40px;--lemon-calendar-today-radius:2px;--lemon-calendar-time-column-width:50px;--lemon-calendar-time-button-height:2.3125rem;height:var(--lemon-calendar-month-height)}.LemonCalendar .LemonCalendar__month{width:100%}.LemonCalendar .LemonCalendar__month>tbody>tr>td,.LemonCalendar .LemonCalendar__month>thead>tr:first-child>th{padding:calc(var(--lemon-calendar-row-gap)/2) 0}.LemonCalendar .LemonCalendar__month>tbody>tr>td,.LemonCalendar .LemonCalendar__month>thead>tr:first-child>th:first-child,.LemonCalendar .LemonCalendar__month>thead>tr:first-child>th:last-child{width:var(--lemon-calendar-day-width)}.LemonCalendar .LemonCalendar__month tr.LemonCalendar__month-header{height:var(--lemon-calendar-time-button-height)}.LemonCalendar .LemonCalendar__month tr .LemonButton.rounded-none{border-radius:0}.LemonCalendar .LemonCalendar__month tr .LemonButton.rounded-r-none{border-bottom-right-radius:0;border-top-right-radius:0}.LemonCalendar .LemonCalendar__month tr .LemonButton.rounded-l-none{border-bottom-left-radius:0;border-top-left-radius:0}.LemonCalendar .LemonCalendar__month tr .LemonCalendar__today{position:relative}.LemonCalendar .LemonCalendar__month tr .LemonCalendar__today:after{background:currentColor;border-radius:100%;bottom:5px;content:"";height:calc(var(--lemon-calendar-today-radius)*2);left:calc(50% - var(--lemon-calendar-today-radius));position:absolute;width:calc(var(--lemon-calendar-today-radius)*2)}.LemonCalendar .LemonCalendar__range--boundary{background-color:var(--glass-border-3000)}.LemonCalendar--hour{--lemon-calendar-time-columns:2}.LemonCalendar--minute{--lemon-calendar-time-columns:3}.LemonCalendar--hour,.LemonCalendar--minute{padding-right:calc(var(--lemon-calendar-time-columns)*var(--lemon-calendar-time-column-width) + 2px)}.LemonCalendar--hour .LemonCalendar__time>div,.LemonCalendar--minute .LemonCalendar__time>div{width:var(--lemon-calendar-time-column-width)}.LemonCalendar--hour .LemonCalendar__time>div.ScrollableShadows .ScrollableShadows__inner,.LemonCalendar--minute .LemonCalendar__time>div.ScrollableShadows .ScrollableShadows__inner{scroll-behavior:smooth;scrollbar-width:none}.LemonCalendar--hour .LemonCalendar__time--scroll-spacer,.LemonCalendar--minute .LemonCalendar__time--scroll-spacer{height:calc(100% - var(--lemon-calendar-time-button-height))}',""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonCard/LemonCard.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".LemonCard{transition:.2s ease}.LemonCard.LemonCard--hoverEffect:hover{box-shadow:var(--shadow-elevation-3000);transform:scale(1.01)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonCheckbox/LemonCheckbox.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".LemonCheckbox{--lemon-checkbox-height:calc(2.125rem + 3px);align-items:center;display:flex;font-weight:500;line-height:1.5rem;width:-moz-fit-content;width:fit-content}.LemonCheckbox:has(:focus-visible) .LemonCheckbox__box{outline:1px auto -webkit-focus-ring-color}.LemonCheckbox .LemonCheckbox__input{-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;height:0!important;width:0!important}.LemonCheckbox label{--tick-length:12.73;--box-color:var(--primary-3000);align-items:center;cursor:pointer;display:flex;gap:.5rem;min-height:1.5rem}.LemonCheckbox label>.LemonCheckbox__box{background:var(--bg-light);border:1.5px solid var(--border-bold);border-radius:.25rem;flex-shrink:0;height:1rem;transition:border .2s ease,background .2s ease;width:1rem}.LemonCheckbox label>.LemonCheckbox__box path{stroke:var(--bg-light);stroke-dasharray:var(--tick-length);stroke-dashoffset:var(--tick-length);transition:stroke-dashoffset .2s ease}.LemonCheckbox.LemonCheckbox--disabled label{color:var(--muted);cursor:not-allowed}.LemonCheckbox.LemonCheckbox--full-width,.LemonCheckbox.LemonCheckbox--full-width label{width:100%}.LemonCheckbox.LemonCheckbox--indeterminate label{--tick-length:9}.LemonCheckbox.LemonCheckbox:not(.LemonCheckbox--disabled):active label,.LemonCheckbox.LemonCheckbox:not(.LemonCheckbox--disabled):hover label{--box-color:var(--primary-3000-hover)}.LemonCheckbox.LemonCheckbox:not(.LemonCheckbox--disabled):active label .LemonCheckbox__box,.LemonCheckbox.LemonCheckbox:not(.LemonCheckbox--disabled):hover label .LemonCheckbox__box{border-color:var(--box-color)}.LemonCheckbox.LemonCheckbox:not(.LemonCheckbox--disabled):active label{--box-color:var(--primary-3000-active)}.LemonCheckbox.LemonCheckbox--checked label .LemonCheckbox__box{background:var(--box-color);border-color:transparent}.LemonCheckbox.LemonCheckbox--checked label .LemonCheckbox__box path{stroke-dashoffset:0}.LemonCheckbox.LemonCheckbox--bordered{line-height:1.4}.LemonCheckbox.LemonCheckbox--bordered label{background:var(--bg-light);border:1px solid var(--border);border-radius:var(--radius);min-height:var(--lemon-checkbox-height);padding:0 .75rem}.LemonCheckbox.LemonCheckbox--bordered.LemonCheckbox--small label{min-height:2rem;padding:0 .5rem}.LemonCheckbox.LemonCheckbox--bordered.LemonCheckbox--xsmall label{min-height:1.625rem;padding:0 .375rem}.Field--error .LemonCheckbox.LemonCheckbox--bordered label{border:1px solid var(--danger)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonCollapse/LemonCollapse.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".LemonCollapse{align-items:stretch;border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;overflow:hidden}.LemonCollapse--embedded{border:none;border-radius:0}.LemonCollapsePanel{align-items:stretch;display:flex;flex-direction:column}.LemonCollapsePanel:not(:last-child){border-bottom-width:1px}.LemonCollapsePanel__header{background:var(--bg-light);border-radius:0!important;font-weight:500!important;min-height:2.875rem!important;padding:.5rem .75rem!important}.LemonCollapsePanel__header.LemonButton:active{transform:inherit}.LemonCollapsePanel__header--disabled:hover{background-color:var(--bg-light)!important;cursor:default}.LemonCollapsePanel__body{border-top-width:1px;box-sizing:initial;height:0;overflow:hidden;transition:height .2s ease}.storybook-test-runner .LemonCollapsePanel__body{height:-moz-fit-content!important;height:fit-content!important}.LemonCollapsePanel__content{padding:1rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonDivider/LemonDivider.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,'.LemonDivider{background:var(--border);flex-shrink:0;height:1px;width:100%}.LemonDivider--dashed{background:repeating-linear-gradient(to right,var(--border),var(--border) 4px,transparent 4px,transparent 8px)}.LemonDivider--thick{height:3px}.LemonDivider--vertical{align-self:stretch;height:auto;width:1px}.LemonDivider--vertical.LemonDivider--thick{width:3px}.LemonDivider--vertical.LemonDivider--dashed{background:repeating-linear-gradient(to bottom,var(--border),var(--border) 4px,transparent 4px,transparent 8px)}.LemonDivider--with-label{background:none;display:flex;height:unset}.LemonDivider--with-label:after,.LemonDivider--with-label:before{border-top:1px solid var(--border);content:"";display:block;position:relative;top:50%;transform:translateY(50%);width:50%}',""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonFileInput/LemonFileInput.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,'.FileDropTarget{position:relative}.FileDropTarget--active:after{--file-drop-target-padding:0.5rem;border:3px dashed var(--primary-3000);border-radius:var(--radius);content:"";height:calc(100% + var(--file-drop-target-padding)*2);left:calc(var(--file-drop-target-padding)*-1);position:absolute;top:calc(var(--file-drop-target-padding)*-1);width:calc(100% + var(--file-drop-target-padding)*2)}',""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonInput/LemonInput.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,'.LemonInput{--lemon-input-height:calc(2.125rem + 3px);align-items:center;background:none;background-color:var(--bg-light);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-3000);cursor:text;display:flex;font-size:.875rem;gap:.375rem;height:var(--lemon-input-height);justify-content:left;line-height:1.25rem;min-height:var(--lemon-input-height);padding:.25rem .5rem;text-align:left}.LemonInput[aria-disabled=true]{cursor:not-allowed}.LemonInput.LemonInput--focused:not([aria-disabled=true]),.LemonInput:hover:not([aria-disabled=true]){border-color:var(--border-bold)}.LemonInput.LemonInput--transparent-background{background-color:inherit}.Field--error .LemonInput,.LemonInput.LemonInput--status-danger{border-color:var(--danger)!important}.LemonInput .LemonInput__input{align-self:stretch;background:none;border:none;cursor:inherit;flex:1;outline:none;padding:0;width:100%}.LemonInput .LemonInput__input:disabled{opacity:var(--opacity-disabled)}.LemonInput .LemonIcon{color:var(--muted-alt);flex-shrink:0;font-size:1.25rem;height:1em;transition:color .2s ease;width:1em}.LemonInput.LemonInput--xsmall{--lemon-input-height:1.5rem;padding:.125rem .25rem}.LemonInput.LemonInput--xsmall .LemonIcon{font-size:1rem}.LemonInput.LemonInput--small{--lemon-input-height:2rem;padding:.125rem .25rem}.LemonInput.LemonInput--small .LemonIcon{font-size:1.25rem}.LemonInput.LemonInput--large{--lemon-input-height:3rem}.LemonInput.LemonInput--large .LemonIcon{font-size:1.5rem}.LemonInput.LemonInput--has-content>.LemonIcon{color:var(--primary-3000)}.LemonInput.LemonInput--type-search{max-width:240px}.LemonInput.LemonInput--type-number .LemonInput__input{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-overflow:clip}.LemonInput.LemonInput--full-width{max-width:100%;width:100%}',""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonLabel/LemonLabel.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".LemonLabel{align-items:center;-moz-column-gap:.25rem;column-gap:.25rem;display:inline-flex;flex-wrap:wrap;font-weight:600;line-height:1.5rem}.LemonLabel .LemonLabel__extra{font-weight:400}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonMarkdown/LemonMarkdown.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".LemonMarkdown>*{margin:0 0 .5em}.LemonMarkdown>:last-child{margin-bottom:0}.LemonMarkdown dl,.LemonMarkdown ol,.LemonMarkdown ul{padding-left:1.5em}.LemonMarkdown ol{list-style-type:decimal}.LemonMarkdown ul{list-style-type:disc}.LemonMarkdown strong[level]{display:block}.LemonMarkdown hr{margin:1em 0}.LemonMarkdown h1{font-weight:600;margin-bottom:.25em}.LemonMarkdown img{max-width:100%}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonModal/LemonModal.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".LemonModal__overlay{align-items:center;display:flex;inset:0;justify-content:center;position:fixed;transition:background-color var(--modal-transition-time) ease-out,-webkit-backdrop-filter var(--modal-transition-time) ease-out;transition:background-color var(--modal-transition-time) ease-out,backdrop-filter var(--modal-transition-time) ease-out;transition:background-color var(--modal-transition-time) ease-out,backdrop-filter var(--modal-transition-time) ease-out,-webkit-backdrop-filter var(--modal-transition-time) ease-out;z-index:var(--z-modal)}.LemonModal__overlay.LemonModal__overlay--force-modal-above-popovers{z-index:var(--z-force-modal-above-popovers)}.LemonModal__overlay.ReactModal__Overlay--after-open{-webkit-backdrop-filter:blur(var(--modal-backdrop-blur));backdrop-filter:blur(var(--modal-backdrop-blur));background-color:var(--modal-backdrop-color)}.LemonModal__overlay.ReactModal__Overlay--before-close{-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);background-color:transparent}.LemonModal__overlay.LemonModal__overlay--z-1061{z-index:1061}.LemonModal__overlay.LemonModal__overlay--z-1062{z-index:1062}.LemonModal__overlay.LemonModal__overlay--z-1066{z-index:1066}.LemonModal__overlay.LemonModal__overlay--z-1067{z-index:1067}.LemonModal__overlay.LemonModal__overlay--z-1068{z-index:1068}.LemonModal__overlay.LemonModal__overlay--z-1069{z-index:1069}.LemonModal{background-color:var(--bg-light);border:1px solid var(--border-bold);border-radius:var(--radius);box-shadow:var(--modal-shadow-elevation);display:flex;flex-direction:column;margin:1rem auto;max-height:90%;max-width:90%;min-width:min(28rem,100%);opacity:0;position:relative;transform:scale(.85);transition:opacity var(--modal-transition-time) ease-out,transform var(--modal-transition-time) ease-out;width:-moz-fit-content;width:fit-content;will-change:transform}.LemonModal.LemonModal--fullscreen{border:none;border-radius:0;height:100%;margin:0;max-height:100%;max-width:100%;width:100%}.LemonModal.ReactModal__Content--after-open:not(.ReactModal__Content--before-close){opacity:1;transform:scale(1)}.LemonModal .LemonModal__close{position:absolute;right:1rem;top:.75rem;z-index:1}.LemonModal .LemonModal__close.LemonModal__close--highlighted{animation:LemonModal__tilt-shake .4s}.LemonModal .LemonModal__layout{display:flex;flex:1;flex-direction:column;overflow-y:hidden}.LemonModal .LemonModal__content{overflow-y:auto;padding:1rem}.LemonModal .LemonModal__content.LemonModal__content--embedded{padding:0}.LemonModal .LemonModal__container{display:flex;height:100%;overflow:hidden}.LemonModal__header{border-bottom:1px solid var(--border);margin:1rem 1rem 0;padding-bottom:1rem}.LemonModal__header h3{font-size:1.125rem;font-weight:700;line-height:1.5rem;margin-bottom:0;margin-right:2.5rem}.LemonModal__header p{margin:.5rem 0 -.25rem}.LemonModal__footer{align-items:center;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end;margin:0 1rem 1rem;padding-top:1rem;white-space:nowrap}.LemonModal__header+.LemonModal__footer{border-top:none}@keyframes LemonModal__tilt-shake{0%{transform:rotate(0deg)}16.666%{transform:rotate(12deg)}50%{transform:rotate(-10deg)}83.333%{transform:rotate(8deg)}to{transform:rotate(0deg)}}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonProgressCircle/LemonProgressCircle.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".LemonProgressCircle{display:inline-block;position:relative;vertical-align:text-bottom}.LemonProgressCircle circle{transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset .35s}.LemonProgressCircle .LemonProgressCircle__content{align-items:center;display:flex;inset:0;justify-content:center;position:absolute}.LemonButton__icon .LemonProgressCircle{display:inline-flex}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonRow/LemonRow.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".LemonRow{align-items:flex-start;background:none;border:none;border-radius:var(--radius);display:flex;flex-direction:column;flex-shrink:0;font-size:.875rem;justify-content:center;line-height:1.25rem;min-height:2.5rem;padding:.25rem 1rem;text-align:left;transition:background-color .2s ease,color .2s ease,border .2s ease,opacity .2s ease}.LemonRow.LemonRow--status-highlighted{background:var(--primary-highlight);color:var(--text-3000);font-weight:600}.LemonRow.LemonRow--status-highlighted .LemonRow__icon{color:var(--primary-3000)}.LemonRow.LemonRow--status-danger .LemonRow__icon{color:var(--danger)}.LemonRow.LemonRow--status-warning .LemonRow__icon{color:var(--warning)}.LemonRow.LemonRow--status-success .LemonRow__icon{color:var(--success)}.LemonRow.LemonRow--status-muted{background:var(--bg-3000)}.LemonRow.LemonRow--disabled{opacity:var(--opacity-disabled)}.LemonRow__main-area{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.LemonRow__extended-area{display:flex;flex-direction:column;font-size:.8125rem;margin-left:1.875rem;padding-bottom:.125rem}.LemonRow--outlined{border:1px solid var(--border)}.LemonRow--full-width{padding-left:.5rem;padding-right:.5rem;width:100%}.LemonRow--full-width .LemonRow__icon:not(:first-child):last-child{margin-right:0}.LemonRow--full-width>.LemonRow__main-area{justify-content:flex-start}.LemonRow--center .LemonRow__main-area{justify-content:center!important}.LemonRow--center .LemonRow__content{flex-grow:0}.LemonRow--symbolic{display:block;height:1.5rem;min-height:0;padding:0;width:1.5rem}.LemonRow--large,.LemonRow--tall{min-height:3.5rem;padding:.5rem 1rem}.LemonRow--symbolic.LemonRow--large,.LemonRow--tall.LemonRow--symbolic{height:1.75rem;min-height:0;padding:0;width:1.75rem}.LemonRow--large{font-size:1rem}.LemonRow--large .LemonRow__icon{font-size:1.75rem}.LemonRow--small{min-height:2rem;padding:.125rem .5rem}.LemonRow--small.LemonRow--symbolic{height:1.25rem;min-height:0;padding:0;width:1.25rem}.LemonRow--small .LemonRow__icon{font-size:1.25rem}.LemonRow__icon{color:var(--muted-alt);display:flex;flex-shrink:0;font-size:1.5rem;transition:background-color .2s ease,color .2s ease}.LemonRow__content{align-items:center;display:flex;flex-grow:1;min-width:0}.LemonRow__content:not(:first-child),.LemonRow__icon:not(:first-child){margin-left:.5rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonSegmentedButton/LemonSegmentedButton.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".LemonSegmentedButton{border-radius:var(--radius);flex-shrink:0;position:relative;width:-moz-fit-content;width:fit-content}.LemonSegmentedButton>ul{align-items:stretch;display:flex;list-style:none;z-index:1}.LemonSegmentedButton.LemonSegmentedButton--full-width{width:100%}.LemonSegmentedButton .LemonSegmentedButton__option{display:flex;flex:1}.LemonSegmentedButton .LemonSegmentedButton__option .LemonButton__content{white-space:nowrap}.LemonSegmentedButton .LemonSegmentedButton__option .LemonButton,.LemonSegmentedButton .LemonSegmentedButton__option .LemonButton>.LemonButton__chrome:after,.LemonSegmentedButton .LemonSegmentedButton__option .LemonButton>.LemonButton__chrome:before{border-radius:0!important}.LemonSegmentedButton .LemonSegmentedButton__option .LemonButton:not(:hover) .LemonButton__content{opacity:var(--lemon-button-icon-opacity)}.LemonSegmentedButton .LemonSegmentedButton__option .LemonButton.LemonButton--secondary:not([aria-disabled=true]):hover>.LemonButton__chrome:after{border-color:var(--secondary-3000-button-border)}.LemonSegmentedButton .LemonSegmentedButton__option:first-child,.LemonSegmentedButton .LemonSegmentedButton__option:first-child .LemonButton,.LemonSegmentedButton .LemonSegmentedButton__option:first-child .LemonButton>.LemonButton__chrome:after,.LemonSegmentedButton .LemonSegmentedButton__option:first-child .LemonButton>.LemonButton__chrome:before{border-bottom-left-radius:var(--radius)!important;border-top-left-radius:var(--radius)!important}.LemonSegmentedButton .LemonSegmentedButton__option:last-child,.LemonSegmentedButton .LemonSegmentedButton__option:last-child .LemonButton,.LemonSegmentedButton .LemonSegmentedButton__option:last-child .LemonButton>.LemonButton__chrome:after,.LemonSegmentedButton .LemonSegmentedButton__option:last-child .LemonButton>.LemonButton__chrome:before{border-bottom-right-radius:var(--radius)!important;border-top-right-radius:var(--radius)!important}.LemonSegmentedButton .LemonSegmentedButton__option:not(:first-child) .LemonButton__chrome{margin-left:-1px}.LemonSegmentedButton .LemonSegmentedButton__option.LemonSegmentedButton__option--selected{z-index:2}.LemonSegmentedButton .LemonSegmentedButton__option.LemonSegmentedButton__option--selected .LemonButton{--lemon-button-icon-opacity:1}.LemonSegmentedButton .LemonSegmentedButton__option--disabled>div{width:100%}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonSkeleton/LemonSkeleton.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".LemonSkeleton{animation:LemonSkeleton__shimmer 2s ease infinite;background:linear-gradient(90deg,hsla(0,0%,75%,.2) 25%,hsla(0,0%,51%,.24) 45%,hsla(0,0%,75%,.2) 65%);background-size:400% 100%}.LemonSkeleton.LemonSkeleton--static{animation:none}.LemonSkeleton>span{display:block;height:1px;overflow:hidden;white-space:nowrap;width:1px}@media(prefers-reduced-motion){.LemonSkeleton{animation:none}}@keyframes LemonSkeleton__shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonSwitch/LemonSwitch.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".LemonSwitch{--lemon-switch-height:1.125rem;--lemon-switch-width:calc(var(--lemon-switch-height)*1.83333);align-items:center;display:flex;font-weight:500;gap:.5rem;line-height:1.5rem;width:-moz-fit-content;width:fit-content}.LemonSwitch label[for]{cursor:pointer}.LemonSwitch label{cursor:inherit;flex:1}.LemonSwitch.LemonSwitch--full-width{padding-left:.5rem;padding-right:.5rem;width:100%}.LemonSwitch.LemonSwitch--bordered{background:var(--bg-light);border:1px solid var(--border);border-radius:var(--radius);line-height:1.4;min-height:calc(2.125rem + 3px);padding:0 .75rem}.LemonSwitch.LemonSwitch--bordered.LemonSwitch--small{gap:.5rem;min-height:calc(1.875rem + 3px);padding:0 .5rem}.LemonSwitch>.LemonIcon{color:var(--muted-alt);font-size:1.5rem}.LemonSwitch.LemonSwitch--disabled{cursor:not-allowed;opacity:var(--opacity-disabled)}.LemonSwitch.LemonSwitch--disabled label[for]{cursor:not-allowed}.LemonSwitch__button{background:none;border:none;cursor:pointer;display:inline-block;flex-shrink:0;height:var(--lemon-switch-height);padding:0;position:relative;width:var(--lemon-switch-width)}.LemonSwitch--disabled .LemonSwitch__button{cursor:not-allowed}.LemonSwitch__slider{background-color:var(--border-bold);border-radius:var(--lemon-switch-height);display:inline-block;height:100%;left:0;pointer-events:none;position:absolute;top:0;transition:background-color .1s ease;width:100%}.LemonSwitch--checked .LemonSwitch__slider{background-color:var(--primary-3000)}.LemonSwitch__handle{--lemon-switch-handle-ratio:0.75;--lemon-switch-handle-gutter:calc(var(--lemon-switch-height)*(1 - var(--lemon-switch-handle-ratio))/2);--lemon-switch-handle-width:calc(var(--lemon-switch-height)*var(--lemon-switch-handle-ratio));--lemon-switch-active-translate:translateX(calc(var(--lemon-switch-width) - var(--lemon-switch-handle-width) - var(--lemon-switch-handle-gutter)*2));align-items:center;background-color:#fff;border:none;border-radius:.625rem;cursor:inherit;display:flex;height:calc(var(--lemon-switch-height)*var(--lemon-switch-handle-ratio));justify-content:center;left:var(--lemon-switch-handle-gutter);pointer-events:none;position:absolute;top:var(--lemon-switch-handle-gutter);transition:background-color .1s ease,transform .1s ease,width .1s ease,border-color .1s ease;width:var(--lemon-switch-handle-width)}.LemonSwitch--checked .LemonSwitch__handle{background-color:#fff;border-color:var(--primary-3000);transform:var(--lemon-switch-active-translate)}.LemonSwitch--active .LemonSwitch__handle{--lemon-switch-handle-width:calc(var(--lemon-switch-height)*var(--lemon-switch-handle-ratio)*1.2);transform:none}.LemonSwitch--active.LemonSwitch--checked .LemonSwitch__handle{transform:var(--lemon-switch-active-translate)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonTable/LemonTable.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,'.LemonTable{--row-base-height:auto;--row-horizontal-padding:1rem;--lemon-table-background-color:var(--bg-table);background:var(--lemon-table-background-color);border:1px solid var(--border);border-radius:var(--radius);flex:1;font-size:13px;overflow:hidden;position:relative;width:100%}.Insight .LemonTable,.InsightCard__viz .LemonTable,.WebAnalyticsDashboard .LemonTable{--lemon-table-background-color:var(--bg-light)}.WebAnalyticsDashboard .LemonTable,.WebAnalyticsModal .LemonTable{border:none}.LemonTable.LemonTable--with-ribbon{--row-ribbon-width:0.25rem}.LemonTable.LemonTable--with-ribbon .LemonTable__content>table>tbody>tr>:first-child{position:relative}.LemonTable.LemonTable--with-ribbon .LemonTable__content>table>tbody>tr>:first-child:after{background:var(--row-ribbon-color);content:"";height:100%;left:0;position:absolute;top:0;width:var(--row-ribbon-width)}.LemonTable--xs .LemonTable__content>table>tbody>tr>td{padding-bottom:.25rem;padding-top:.25rem}.LemonTable--embedded{background:none;border:none;border-radius:0}.LemonTable--stealth{background:none}.LemonTable--stealth .LemonTable__content>table>thead{background:none;border-bottom:none}.LemonTable--stealth .LemonTable__content>table>tbody>tr:not(:first-child),.LemonTable--stealth .LemonTable__content>table>thead>tr:not(:first-child){border-top:none}.LemonTable--lowercase-header .LemonTable__content>table>thead{letter-spacing:normal;text-transform:none}.LemonTable.LemonTable--inset{--row-horizontal-padding:0.5rem}.LemonTable .PaginationControl{border-top:1px solid var(--border);height:var(--row-base-height);padding:.5rem}.LemonTable a.Link{color:var(--text-3000)}.LemonTable a.Link:not(:disabled):hover{color:var(--primary-3000-hover)}.LemonTable__content>table{border-collapse:collapse;border-spacing:0;width:100%}.LemonTable__content>table>thead{background:var(--lemon-table-background-color);font-size:.75rem;letter-spacing:.03125rem;position:relative;text-transform:uppercase}.LemonTable__content>table>thead>tr>th{box-shadow:inset 0 -1px var(--border);font-weight:700;padding-bottom:.5rem;padding-top:.5rem;text-align:left}.LemonTable__content>table>thead>tr>th .LemonButton{margin:-.5rem 0}.LemonTable__content>table>thead>tr.LemonTable__row--grouping{--row-base-height:2.5rem}.LemonTable__content>table>tbody>tr:not(:first-child){border-top:1px solid var(--border)}.LemonTable__content>table>tbody>tr.LemonTable__expansion{background:var(--bg-3000);position:relative}.LemonTable__content>table>tbody>tr.LemonTable__expansion>td{padding:0!important}.LemonTable__content>table>tbody>tr.LemonTable__row--status-highlighted{color:var(--text-3000);font-weight:600}.LemonTable__content>table>tbody>tr.LemonTable__row--status-highlighted>td:not(.LemonTable__cell--sticky){background:var(--primary-highlight)}.LemonTable__content>table>tbody>tr:not(.LemonTable__expansion)>td .LemonButton{margin-bottom:-.25rem;margin-top:-.25rem}.LemonTable__content>table>tbody>tr>td{color:var(--text-secondary-3000);padding-bottom:.3125rem;padding-top:.3125rem}.LemonTable__content>table>tbody>tr>td .CodeSnippet__actions>.LemonButton,.LemonTable__content>table>tbody>tr>td .LemonButtonWithSideAction__side-button>.LemonButton{margin-bottom:0;margin-top:0}.LemonTable__content>table>tbody>tr,.LemonTable__content>table>thead>tr{height:var(--row-base-height)}.LemonTable__content>table>tbody>tr>td,.LemonTable__content>table>tbody>tr>th,.LemonTable__content>table>thead>tr>td,.LemonTable__content>table>thead>tr>th{overflow:hidden;padding-right:var(--row-horizontal-padding);text-overflow:ellipsis}.LemonTable__content>table>tbody>tr>td:first-child,.LemonTable__content>table>tbody>tr>th:first-child,.LemonTable__content>table>thead>tr>td:first-child,.LemonTable__content>table>thead>tr>th:first-child{padding-left:calc(var(--row-horizontal-padding) + var(--row-ribbon-width, 0px))}.LemonTable__content>table>tbody>tr>td.LemonTable__boundary:not(:first-child),.LemonTable__content>table>tbody>tr>th.LemonTable__boundary:not(:first-child),.LemonTable__content>table>thead>tr>td.LemonTable__boundary:not(:first-child),.LemonTable__content>table>thead>tr>th.LemonTable__boundary:not(:first-child){padding-left:var(--row-horizontal-padding)}.LemonTable__content>table>tbody>tr>td.LemonTable__boundary:not(:first-of-type),.LemonTable__content>table>tbody>tr>th.LemonTable__boundary:not(:first-of-type),.LemonTable__content>table>thead>tr>td.LemonTable__boundary:not(:first-of-type),.LemonTable__content>table>thead>tr>th.LemonTable__boundary:not(:first-of-type){border-left:1px solid var(--border)}.LemonTable__content>table>tbody>tr>td.LemonTable__toggle,.LemonTable__content>table>tbody>tr>th.LemonTable__toggle,.LemonTable__content>table>thead>tr>td.LemonTable__toggle,.LemonTable__content>table>thead>tr>th.LemonTable__toggle{padding-right:0}.LemonTable__content>table>tbody>tr>td.LemonTable__toggle+*,.LemonTable__content>table>tbody>tr>th.LemonTable__toggle+*,.LemonTable__content>table>thead>tr>td.LemonTable__toggle+*,.LemonTable__content>table>thead>tr>th.LemonTable__toggle+*{border-left:none!important}.LemonTable__content>table>tbody>tr>td[colspan="0"],.LemonTable__content>table>tbody>tr>th[colspan="0"],.LemonTable__content>table>thead>tr>td[colspan="0"],.LemonTable__content>table>thead>tr>th[colspan="0"]{padding-left:0!important;padding-right:0!important}.LemonTable__empty-state{color:var(--muted-alt)}.LemonTable__overlay{background:var(--lemon-table-background-color);height:100%;left:0;opacity:0;pointer-events:none;position:absolute;top:0;transition:opacity .2s ease;width:100%;z-index:2}.LemonTable--loading .LemonTable__overlay{opacity:.5;pointer-events:auto}.LemonTable__header{cursor:default}.LemonTable__header .LemonTable__header-content{color:var(--text-secondary-3000)}.LemonTable__header.LemonTable__header--actionable{cursor:pointer}.LemonTable__header.LemonTable__header--actionable:hover:not(:has(.LemonTable__header--no-hover:hover)) .LemonTable__header-content{color:var(--text-3000)}.LemonTable__header.LemonTable__header--actionable:active .LemonTable__header-content{color:var(--text-3000)}.LemonTable__header-content{align-items:center;display:flex;justify-content:space-between;line-height:1.5}.LemonTable__header-content div{white-space:nowrap}.LemonTable__footer{border-top:1px solid var(--border);cursor:default}.LemonTable__cell--sticky{background:var(--lemon-table-background-color)}.LemonTable__row--status-highlighted .LemonTable__cell--sticky:before{background:var(--primary-highlight)}.LemonTable__header--sticky{background:var(--lemon-table-background-color)}body:not(.storybook-test-runner) .LemonTable__cell--sticky,body:not(.storybook-test-runner) .LemonTable__header--sticky{left:0;overflow:visible!important;position:sticky!important;z-index:1}body:not(.storybook-test-runner) .LemonTable__cell--sticky:before,body:not(.storybook-test-runner) .LemonTable__header--sticky:before{box-shadow:-16px 0 16px 16px transparent;clip-path:inset(0 -16px 0 0);content:"";inset:0;position:absolute;transition:box-shadow .2s ease;z-index:-1}body:not(.storybook-test-runner) .ScrollableShadows--left .LemonTable__cell--sticky:before,body:not(.storybook-test-runner) .ScrollableShadows--left .LemonTable__header--sticky:before{box-shadow:-16px 0 16px 16px rgba(0,0,0,.25)}',""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonTable/LemonTableLoader.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,'.LemonTableLoader{background:var(--primary-highlight);border:none!important;height:0;left:0;overflow:hidden;padding:.05rem!important;position:absolute;transition:height .2s ease,top .2s ease;width:100%;z-index:10}.LemonTableLoader:after{animation:LemonTableLoader__swooping 1.5s linear infinite;background:var(--primary-3000);content:"";height:100%;left:0;position:absolute;top:0;width:50%}.LemonTableLoader.LemonTableLoader--enter-active,.LemonTableLoader.LemonTableLoader--enter-done{height:.125rem}@keyframes LemonTableLoader__swooping{0%{left:0;transform:translateX(-100%);width:33.333%}50%{width:50%}to{left:100%;transform:translateX(100%);width:33.333%}}',""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonTabs/LemonTabs.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,'.LemonTabs{--lemon-tabs-gap:2rem;--lemon-tabs-margin-bottom:1rem;--lemon-tabs-content-padding:0.75rem 0;align-self:stretch;display:flex;flex-direction:column;position:relative}.LemonTabs--small{--lemon-tabs-gap:1rem;--lemon-tabs-margin-bottom:0.5rem;--lemon-tabs-content-padding:0.375rem 0}.Navigation3000__scene>.LemonTabs:first-child,.Navigation3000__scene>:first-child>.LemonTabs:first-child{margin-top:-.75rem}.LemonTabs__bar{align-items:stretch;display:flex;flex-direction:row;flex-shrink:0;gap:var(--lemon-tabs-gap);list-style:none;margin-bottom:var(--lemon-tabs-margin-bottom);overflow-x:auto;position:relative}.LemonTabs__bar:before{background:var(--border);bottom:0;content:"";height:1px;left:0;position:absolute;width:100%}.LemonTabs__bar:after{background:var(--link);bottom:0;content:"";height:.125rem;left:0;position:absolute;transform:translateX(var(--lemon-tabs-slider-offset));width:var(--lemon-tabs-slider-width)}.LemonTabs--transitioning .LemonTabs__bar:after{transition:width .15s ease,transform .15s ease}.LemonTabs--transitioning .LemonTabs__bar .LemonTabs__tab{transition:color .15s ease}.LemonTabs__bar .LemonTabs__tab:hover{color:var(--link)}.LemonTabs__bar .LemonTabs__tab:active{color:var(--primary-3000-active)}.LemonTabs__bar .LemonTabs__tab.LemonTabs__tab--active{color:var(--link);text-shadow:0 0 .25px currentColor}.LemonTabs__bar .LemonTabs__tab a{color:inherit;-webkit-text-decoration:none;text-decoration:none;transition:none}.LemonTabs__bar .LemonTabs__tab .LemonTabs__tab-content{align-items:center;cursor:pointer;display:flex;padding:var(--lemon-tabs-content-padding);white-space:nowrap}',""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonTag/LemonTag.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".LemonTag{align-items:center;background:var(--border);border-radius:var(--radius-sm);color:var(--text-3000);display:inline-flex;font-size:.75rem;font-weight:var(--font-medium);gap:.125rem;line-height:1rem;padding:.125rem .25rem;white-space:nowrap}.LemonTag.LemonTag--normal{font-weight:400}.LemonTag:not(.LemonTag--breakdown){background:none;border-radius:var(--radius-sm);border-style:solid;border-width:1px;font-size:.6875rem;padding:.075rem .25rem}.LemonTag.LemonTag--primary{background:none;border-color:var(--primary-3000);color:var(--primary-3000)}.LemonTag.LemonTag--option{background-color:var(--accent-3000);color:var(--primary-3000)}.LemonTag.LemonTag--highlight{background:none;border-color:var(--highlight);color:var(--highlight)}.LemonTag.LemonTag--warning{background-color:none;border-color:var(--warning);color:var(--warning)}.LemonTag.LemonTag--danger{background:none;border-color:var(--danger);color:var(--danger)}.LemonTag.LemonTag--success{background:none;border-color:var(--success);color:var(--success)}.LemonTag.LemonTag--completion{background:none;border-color:var(--purple);color:var(--purple)}.LemonTag.LemonTag--caution{background:none;border-color:var(--danger-lighter);color:var(--danger-lighter)}.LemonTag.LemonTag--muted{background-color:var(--accent-3000);color:var(--muted)}.LemonTag.LemonTag--none{background:none}.LemonTag.LemonTag--breakdown{background-color:var(--primary-highlight);border-radius:40px;color:var(--primary-alt);font-size:14px;font-weight:400;line-height:16px;padding:8px 12px;vertical-align:bottom}.LemonTag.LemonTag--size-small{font-size:.625rem;line-height:.875rem;padding:0 .1875rem}.LemonTag .LemonTag__icon{display:flex;font-size:.875rem;margin-right:.125rem}.LemonTag .LemonTag__right-button{margin-left:.25rem;min-height:1.5rem!important;padding:.125rem!important}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonTextArea/LemonTextArea.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".LemonTextArea{background:none;background-color:var(--bg-light);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-3000);cursor:text;display:block;font-size:.875rem;line-height:1.25rem;min-height:2.5rem;outline:none;padding:.5rem;text-align:left;text-overflow:ellipsis;width:100%}.LemonTextArea:focus:not(:disabled),.LemonTextArea:not(:disabled):hover{border:1px solid var(--border-bold)}.LemonTextArea:disabled{cursor:not-allowed;opacity:var(--opacity-disabled)}.Field--error .LemonTextArea{border:1px solid var(--danger)}.LemonTextArea--preview ul{list-style-position:inside;list-style-type:disc}.LemonTextArea--preview ol{list-style-position:inside;list-style-type:decimal}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonWidget/LemonWidget.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".LemonWidget{background:var(--bg-light);border:1px solid var(--border);border-radius:var(--radius)}.LemonWidget .LemonWidget__header{align-items:center;color:var(--muted-alt-3000,var(--primary));display:flex;font-size:.875rem;font-weight:500;justify-content:space-between;padding:.25rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/Lettermark/Lettermark.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".Lettermark{align-items:center;background:var(--lettermark-bg,var(--lettermark-1-bg));border-radius:var(--radius-sm);color:var(--lettermark-text,var(--lettermark-1-text));display:inline-flex;flex-shrink:0;font-size:.75rem;font-weight:600;height:2em;justify-content:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:2em}.Lettermark.Lettermark--rounded{border-radius:1.5rem}.Lettermark.Lettermark--outlined{background:none;border:1.5px dashed var(--lettermark-bg);color:var(--lettermark-bg)}.Lettermark.Lettermark--variant-gray{background:var(--border);color:var(--text-3000)}.Lettermark.Lettermark--xsmall{font-size:.5rem}.Lettermark.Lettermark--xlarge{border-radius:var(--radius);font-size:2rem}.Lettermark.Lettermark--variant-1{--lettermark-text:var(--lettermark-1-text);--lettermark-bg:var(--lettermark-1-bg)}.Lettermark.Lettermark--variant-2{--lettermark-text:var(--lettermark-2-text);--lettermark-bg:var(--lettermark-2-bg)}.Lettermark.Lettermark--variant-3{--lettermark-text:var(--lettermark-3-text);--lettermark-bg:var(--lettermark-3-bg)}.Lettermark.Lettermark--variant-4{--lettermark-text:var(--lettermark-4-text);--lettermark-bg:var(--lettermark-4-bg)}.Lettermark.Lettermark--variant-5{--lettermark-text:var(--lettermark-5-text);--lettermark-bg:var(--lettermark-5-bg)}.Lettermark.Lettermark--variant-6{--lettermark-text:var(--lettermark-6-text);--lettermark-bg:var(--lettermark-6-bg)}.Lettermark.Lettermark--variant-7{--lettermark-text:var(--lettermark-7-text);--lettermark-bg:var(--lettermark-7-bg)}.Lettermark.Lettermark--variant-8{--lettermark-text:var(--lettermark-8-text);--lettermark-bg:var(--lettermark-8-bg)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/Link/Link.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".Link{background:none;border:none;color:var(--link);cursor:pointer;line-height:inherit;padding:0;text-align:left;transition:none}.Link:not(:disabled):hover{color:var(--primary-3000-hover)}.Link:not(:disabled):active{color:var(--primary-3000-active)}.Link:disabled{cursor:not-allowed;opacity:var(--opacity-disabled)}.Link>.LemonIcon:last-child{margin-left:.15em}.Link--subtle{color:var(--text-3000)}.Link--subtle:not(:disabled):hover{color:var(--primary-3000-hover)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LoadingBar/LoadingBar.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".progress-outer{align-items:center;display:flex}.progress{background:#eee;border-radius:var(--radius-sm);height:10px;min-height:1px;overflow:hidden;position:relative;width:100%}.progress-bar{background:var(--primary-3000-active);height:100%;left:0;position:absolute}.storybook-test-runner .progress-bar{width:50%!important}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/PaginationControl/PaginationControl.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".PaginationControl{align-items:center;align-self:flex-end;display:flex;justify-content:flex-end}.PaginationControl>span{margin-right:.5rem}.PaginationControl--bordered{border:1px solid var(--border);border-radius:var(--radius);padding:.5rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/Popover/Popover.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".Popover{display:flex;flex-direction:row;perspective:80rem;perspective-origin:top;z-index:var(--z-popover)}.Popover h5{margin:.25rem .5rem}.Popover p:last-child{margin-bottom:0}.Popover[data-floating-placement^=top]{perspective-origin:bottom}.Popover.Popover--top-centered{left:50%;top:1rem;transform:translate(-50%)}.Popover__box{background:var(--bg-light);border:1px solid var(--secondary-3000-button-border);border-radius:var(--radius);box-shadow:var(--shadow-elevation-3000);flex-grow:1;max-width:100%;opacity:0;overflow:visible;position:relative;transform-origin:top;transition:opacity 50ms ease,transform 50ms ease}.Popover[data-placement^=bottom] .Popover__box{margin-top:.25rem;transform:rotateX(-6deg);transform-origin:top}.Popover[data-placement^=bottom].Popover--with-arrow .Popover__box{margin-top:.5rem}.Popover[data-placement^=top] .Popover__box{margin-bottom:.25rem;transform:rotateX(6deg);transform-origin:bottom}.Popover[data-placement^=top].Popover--with-arrow .Popover__box{margin-bottom:.5rem}.Popover[data-placement^=left] .Popover__box{margin-right:.25rem;transform:rotateY(-6deg);transform-origin:right}.Popover[data-placement^=left].Popover--with-arrow .Popover__box{margin-right:.5rem}.Popover[data-placement^=right] .Popover__box{margin-left:.25rem;transform:rotateY(6deg);transform-origin:left}.Popover[data-placement^=right].Popover--with-arrow .Popover__box{margin-left:.5rem}.Popover.Popover--enter-active .Popover__box,.Popover.Popover--enter-done .Popover__box{opacity:1;transform:none}.Popover--max-content-width .Popover__box{width:-moz-max-content;width:max-content}.Popover__arrow{background:var(--bg-light);height:.5rem;position:absolute;transform:rotate(45deg);width:.5rem}[data-placement^=bottom] .Popover__arrow{border-left:1px solid var(--border);border-top:1px solid var(--border);top:-.3125rem}[data-placement^=top] .Popover__arrow{border-bottom:1px solid var(--border);border-right:1px solid var(--border);bottom:-.3125rem}[data-placement^=left] .Popover__arrow{border-right:1px solid var(--border);border-top:1px solid var(--border);right:-.3125rem}[data-placement^=right] .Popover__arrow{border-bottom:1px solid var(--border);border-left:1px solid var(--border);left:-.3125rem}.Popover__content{border-radius:calc(var(--radius) - 1px);max-height:100%}.Popover--padded .Popover__content>.ScrollableShadows__inner{padding:.25rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/ProfilePicture/ProfilePicture.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".profile-package{align-items:center;display:inline-flex}.profile-name,.profile-package:not(:first-child){margin-left:.375rem}.profile-name{font-weight:500}.ProfilePicture{align-items:center;border-radius:50%;display:inline-flex;flex-shrink:0;font-weight:600;justify-content:center;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ProfilePicture.xxl{font-size:20px;height:48px;line-height:48px;width:48px}.ProfilePicture.xl{font-size:20px;height:40px;line-height:40px;width:40px}.ProfilePicture.lg{font-size:18px;height:32px;line-height:32px;width:32px}.ProfilePicture.md{font-size:14px;height:24px;line-height:24px;width:24px}.ProfilePicture.sm{font-size:12px;height:18px;line-height:18px;width:18px}.ProfilePicture.xs{font-size:11px;height:16px;line-height:16px;width:16px}.ProfilePicture .Lettermark{font-size:inherit;height:inherit;line-height:inherit;width:inherit}.ProfileBubbles{align-items:center;display:flex}.ProfileBubbles>*{outline:.125rem solid var(--bg-light)}.ProfileBubbles>:not(:first-child){margin-left:-.125rem}.ProfileBubbles__more{align-items:center;background:var(--primary-3000);border-radius:50%;color:#fff;display:flex;font-size:.625rem;font-weight:600;height:1.5rem;justify-content:center;letter-spacing:-.05em;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:1.5rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/Spinner/Spinner.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,'.Spinner{--spinner-color:var(--primary-3000);display:inline-block;flex-shrink:0;height:1em;vertical-align:-.15em;width:1em}.Spinner.Spinner--textColored{--spinner-color:currentColor}.Spinner__layer,.Spinner__layer>circle{transform-origin:center}.Spinner__layer>circle{display:block;fill:transparent;stroke:var(--spinner-color);stroke-linecap:round;stroke-width:8px}.Spinner__layer:first-child{opacity:.333}.Spinner__layer:nth-child(2){animation:spin 1s linear infinite}.Spinner__layer:nth-child(2)>circle{animation:Spinner__writhe 1.5s ease infinite both}@keyframes Spinner__writhe{0%,to{stroke-dasharray:70;stroke-dashoffset:-60}50%{stroke-dasharray:70;stroke-dashoffset:-30}}.SpinnerOverlay{align-items:center;display:flex;inset:0;justify-content:center;min-height:min(100%,6rem);position:absolute;text-align:center;transition:opacity .2s ease;z-index:var(--z-content-overlay)}.SpinnerOverlay[aria-hidden=true]{opacity:0;pointer-events:none}.SpinnerOverlay:before{background:var(--bg-light);content:"";inset:0;opacity:.5;position:absolute}.SpinnerOverlay .Spinner{position:relative}.SpinnerOverlay.SpinnerOverlay--scene-level:before{background:var(--bg-3000)}',""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/Splotch/Splotch.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".Splotch{height:1.5rem;padding:.25rem;width:1.5rem}.Splotch__paint{border-radius:var(--radius);height:1rem;width:1rem}.Splotch--blue .Splotch__paint{background:var(--blue)}.Splotch--purple .Splotch__paint{background:var(--purple)}.Splotch--green .Splotch__paint{background:var(--green)}.Splotch--black .Splotch__paint{background:var(--black)}.Splotch--white .Splotch__paint{background:#fff;border:1px solid var(--border)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/Tooltip/Tooltip.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".Tooltip{box-shadow:var(--modal-shadow-elevation);z-index:var(--z-tooltip)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/icons/icons.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".LemonIcon{display:inline-block;vertical-align:-.15em;width:1em}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/monaco/CodeEditor.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents{display:block!important}.editor-wrapper .monaco-editor,.editor-wrapper .overflow-guard{border-radius:0}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.signature-label{text-align:right;width:100%}.CodeEditorInline .monaco-editor,.CodeEditorResizeable .monaco-editor{--vscode-textLink-foreground:transparent;--vscode-focusBorder:transparent;border-radius:var(--radius)}.CodeEditorInline .monaco-editor .overflow-guard,.CodeEditorResizeable .monaco-editor .overflow-guard{border-radius:var(--radius)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/queries/nodes/DataTable/ColumnConfigurator/ColumnConfigurator.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".ColumnConfiguratorModal .Columns{background-color:var(--bg-3000);border-radius:var(--radius);-moz-column-gap:1rem;column-gap:1rem;display:flex;padding:.5rem;width:700px}@media(max-width:960px){.ColumnConfiguratorModal .Columns{display:block;width:auto}}.ColumnConfiguratorModal .HalfColumn{width:50%}@media(max-width:960px){.ColumnConfiguratorModal .HalfColumn{width:100%}}.ColumnConfiguratorModal .SelectedColumn{align-items:center;background-color:var(--primary-highlight);border-radius:var(--radius);display:flex;justify-content:flex-start;margin:calc(var(--radius)/2) 0;overflow:hidden;padding:0 .5rem}.ColumnConfiguratorModal .selected-column-col{display:flex;flex-direction:column}.ColumnConfiguratorModal .drag-handle{color:var(--text-3000);cursor:move;font-size:1.2em;padding-right:.25rem}.ColumnConfiguratorModal .drag-handle svg{transform:rotate(90deg)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/queries/nodes/DataTable/DataTable.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".DataTable td{max-width:20rem}.DataTable .DataTable__row--highlight_once{animation:DataTable__highlight 2s ease-out}.DataTable .DataTable__row--category_row{background-color:var(--bg-3000);color:var(--muted);font-size:.75rem;font-weight:600;height:2rem;text-align:center}@keyframes DataTable__highlight{0%{background-color:var(--mark)}to{background-color:initial}}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/queries/nodes/DataVisualization/Components/Chart.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".DataVisualization{--viz-min-height:calc(80vh - 6rem)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/queries/nodes/DataVisualization/Components/Charts/LineGraph.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".DataVisualization__LineGraph{min-height:var(--viz-min-height)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/queries/nodes/DataVisualization/Components/ConditionalFormatting/ConditionalFormattingTab.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".ConditionalFormattingTab__ColorPicker .LemonButton__chrome{gap:0;padding-left:6px!important}.ConditionalFormattingTab .LemonCollapsePanel__header{padding-left:0!important}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/queries/nodes/DataVisualization/Components/SideBar.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".DataVisualization .LemonTabs .LemonTabs__bar{margin-bottom:0}.DataVisualization .SideBar{border-radius:var(--radius);max-width:18rem;min-height:var(--viz-min-height);min-width:18rem}.DataVisualization .SideBar .LemonInput.LemonInput--medium{display:flex}.DataVisualization .SideBar .LemonInput.LemonInput--medium .LemonInput__input{flex:1;width:0}.DataVisualization .SideBar .grow-2{flex-grow:2}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/queries/nodes/DataVisualization/Components/Variables/Variables.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".DataVizVariable_Button .LemonButton__chrome{justify-content:flex-end!important}.DataVizVariable_Popover .ScrollableShadows__inner{padding:0!important}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/queries/nodes/InsightViz/EditorFilterGroup.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".EditorFilterGroup .EditorFilterGroup__title{display:none}.EditorFilterGroup .EditorFilterGroup__content>*+*{margin-top:1rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/queries/nodes/InsightViz/EditorFilters.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".EditorFiltersWrapper{--editor-panel-group-min-width:24rem;background:var(--bg-light);flex-shrink:0}.EditorFiltersWrapper:not(.EditorFiltersWrapper--embedded){border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.EditorFiltersWrapper .EditorFilters{display:flex;flex-flow:row wrap;gap:1rem}.EditorFiltersWrapper .EditorFilters .EditorFilterGroup{flex:1;max-width:100%;min-width:var(--editor-panel-group-min-width)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/queries/nodes/InsightViz/InsightViz.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".InsightViz{container-type:inline-size;display:flex;flex:1;flex-direction:column;gap:1rem;overflow:hidden}.InsightViz.InsightViz--horizontal{align-items:start;flex-flow:row wrap}.InsightViz.InsightViz--horizontal .EditorFiltersWrapper{width:100%}@container (min-width: 768px){.InsightViz.InsightViz--horizontal .EditorFiltersWrapper{max-width:30rem;min-width:26rem;width:30%}}.InsightVizDisplay{--insight-viz-min-height:min(calc(80vh - 6rem),32rem);display:flex;flex:1;flex-direction:column;min-height:0}.ErrorTracking__breakdowns .InsightVizDisplay,.ExportedInsight .InsightVizDisplay,.InsightCard .InsightVizDisplay,.NotebookNode .InsightVizDisplay,.WebAnalyticsDashboard .InsightVizDisplay{flex:1;height:100%}.ErrorTracking__breakdowns .InsightVizDisplay .LineGraph,.ExportedInsight .InsightVizDisplay .LineGraph,.InsightCard .InsightVizDisplay .LineGraph,.NotebookNode .InsightVizDisplay .LineGraph,.WebAnalyticsDashboard .InsightVizDisplay .LineGraph{padding:.5rem}.InsightVizDisplay .InsightVizDisplay__content{display:flex;flex:1;flex-direction:column;height:100%;position:relative}.InsightVizDisplay .InsightVizDisplay__content--with-legend{flex-direction:row}.InsightVizDisplay .InsightVizDisplay__content .InsightVizDisplay__content__left{display:flex;flex:1;flex-direction:column;position:relative;width:100%}.InsightVizDisplay .InsightVizDisplay__content .InsightVizDisplay__content__right{align-items:center;display:flex;flex-shrink:1;margin:1rem;max-height:var(--insight-viz-min-height);max-width:45%;width:-moz-fit-content;width:fit-content}.InsightVizDisplay .InsightDisplayConfig{border-bottom-width:1px;padding:.5rem}.WebAnalyticsDashboard .InsightVizDisplay{--insight-viz-min-height:25rem}.RetentionContainer{display:flex;flex:1;flex-direction:column;width:100%}.RetentionContainer .RetentionContainer__graph{flex:1;margin:.5rem}.RetentionContainer .RetentionContainer__table{flex-shrink:0}.RetentionContainer .LineGraph{min-height:30vh;position:relative!important;width:100%!important}.ExportedInsight .RetentionContainer .LineGraph,.InsightCard .RetentionContainer .LineGraph,.NotebookNode .RetentionContainer .LineGraph,.WebAnalyticsDashboard .RetentionContainer .LineGraph{min-height:100px;position:relative}.TrendsInsight{display:flex;flex:1;flex-direction:column;margin:.5rem;min-height:var(--insight-viz-min-height);position:relative}.ExportedInsight .TrendsInsight,.InsightCard .TrendsInsight,.NotebookNode .TrendsInsight,.WebAnalyticsDashboard .TrendsInsight{min-height:auto}.TrendsInsight--ActionsTable,.TrendsInsight--BoldNumber,.TrendsInsight--WorldMap{margin:0;min-height:auto}.TrendsInsight--BoldNumber{align-items:center;display:flex;justify-content:center}.FunnelInsight{display:flex;flex:1;flex-direction:column;width:100%}.FunnelInsight--type-steps-vertical,.FunnelInsight--type-time_to_convert,.FunnelInsight--type-trends{min-height:var(--insight-viz-min-height)}.ExportedInsight .FunnelInsight--type-steps-vertical,.ExportedInsight .FunnelInsight--type-time_to_convert,.ExportedInsight .FunnelInsight--type-trends,.InsightCard .FunnelInsight--type-steps-vertical,.InsightCard .FunnelInsight--type-time_to_convert,.InsightCard .FunnelInsight--type-trends,.NotebookNode .FunnelInsight--type-steps-vertical,.NotebookNode .FunnelInsight--type-time_to_convert,.NotebookNode .FunnelInsight--type-trends,.WebAnalyticsDashboard .FunnelInsight--type-steps-vertical,.WebAnalyticsDashboard .FunnelInsight--type-time_to_convert,.WebAnalyticsDashboard .FunnelInsight--type-trends{min-height:auto}.funnel-significance-highlight{background:var(--primary);color:var(--bg-light);display:inline-flex}.funnel-significance-highlight .LemonIcon{color:var(--bg-light)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/queries/nodes/InsightViz/PropertyGroupFilters/PropertyGroupFilters.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,'.PropertyGroupFilters .property-group{background-color:var(--bg-3000);border-radius:var(--radius);border-width:1px;padding:.5rem}.PropertyGroupFilters .property-group-and-or-separator{color:var(--primary-alt);font-size:12px;font-weight:600;padding:.5rem 0;position:relative}.PropertyGroupFilters .property-group-and-or-separator:before{background-color:var(--border-light);content:" ";height:100%;left:17px;position:absolute;top:0;width:2px}.PropertyGroupFilters .property-group-and-or-separator>span{background-color:var(--bg-light);display:inline-block;padding:.25rem;position:relative;text-align:center;width:35px;z-index:1}',""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/queries/nodes/InsightViz/ResultCustomizationsModal.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".ResultCustomizationsModal__ColorGlyphButton .LemonButton__chrome{gap:4px;padding-left:6px!important;padding-right:6px!important}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/activity/explore/EventDetails.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".LemonTabs[data-attr=event-details] ul{padding:0 .75rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/authentication/Setup2FA.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".Setup2FA__image{margin:0 auto;min-height:215px;min-width:215px}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/billing/Billing.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".BillingPlan{flex-grow:1;max-width:500px}.BillingPlan .BillingPlan__description ol,.BillingPlan .BillingPlan__description ul{list-style:none;margin-top:1rem;padding-left:0;text-align:center}.BillingPlan .BillingPlan__description ol li,.BillingPlan .BillingPlan__description ul li{line-height:1.2rem;margin-bottom:1rem}.BillingPlan .BillingPlan__description ol .disclaimer,.BillingPlan .BillingPlan__description ul .disclaimer{font-size:10px;font-weight:700;padding-left:1px;vertical-align:top}.BillingPlan .BillingPlan__description .disclaimer-details{color:var(--muted);font-size:.75rem;margin-top:1rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/billing/BillingGauge.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".BillingGaugeItem{animation:BillingGaugeItem__expand .8s cubic-bezier(.15,.15,.2,1) forwards}.BillingGaugeItem .BillingGaugeItem__info{background:var(--bg-light);border-left:1px solid var(--border);bottom:100%;font-size:.8rem;left:100%;line-height:1rem;margin-left:-1px;padding:0 .25rem .5rem;position:absolute;white-space:nowrap}.BillingGaugeItem .BillingGaugeItem__info--bottom{bottom:auto;padding:.5rem .25rem 0;top:100%}.BillingGaugeItem .BillingGaugeItem__info:hover{z-index:100}.BillingGaugeItem.BillingGaugeItem--billing_limit,.BillingGaugeItem.BillingGaugeItem--free_tier{background-color:var(--border-light-opaque)}.BillingGaugeItem.BillingGaugeItem--current_usage{background:var(--danger)}.BillingGaugeItem.BillingGaugeItem--current_usage.BillingGaugeItem--within-usage-limit{background:var(--brand-blue)}.BillingGaugeItem.BillingGaugeItem--projected_usage{background:repeating-linear-gradient(-45deg,var(--danger-3000-button-border-dark),var(--danger-3000-button-border-dark) .5rem,var(--danger-3000-button-border-hover-dark) .5rem,var(--danger-3000-button-border-hover-dark) 1rem);opacity:.5}.BillingGaugeItem.BillingGaugeItem--projected_usage.BillingGaugeItem--within-usage-limit{background:repeating-linear-gradient(-45deg,var(--data-color-1),var(--data-color-1) .5rem,var(--data-color-1-hover) .5rem,var(--data-color-1-hover) 1rem)}@keyframes BillingGaugeItem__expand{0%{width:0}to{width:var(--billing-gauge-item-width)}}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/billing/PlanComparison.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".PlanComparisonModal{max-width:900px}table.PlanComparison{table-layout:fixed}table.PlanComparison td{padding:.75rem 1rem;vertical-align:top}table.PlanComparison td.PlanTable__td__upgradeButton{padding-bottom:1rem;padding-top:1rem}table.PlanComparison th{font-weight:600;padding:.75rem 1rem;text-align:left;vertical-align:top}table.PlanComparison th.PlanTable__th__section{font-weight:500;padding:.25rem 1rem}table.PlanComparison th.PlanTable__th__feature{font-weight:600;padding:.75rem 1rem .75rem 3.25rem}table.PlanComparison th.PlanTable__th__feature.PlanTable__th__feature--reduced_padding{padding:.75rem 1rem}table.PlanComparison th.PlanTable__th__last-feature{padding-bottom:2rem}table.PlanComparison th p{font-weight:400}.PlanTable__tr__border{border-bottom:3px dotted rgba(0,0,0,.07)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/billing/UnsubscribeSurveyModal.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".UnsubscribeSurveyCostControl .LemonCollapsePanel__header{background:var(--bg-3000);padding:0!important}.UnsubscribeSurveyCostControl .LemonButton__chrome{padding:0!important}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/cohorts/CohortFilters/CohortCriteriaRowBuilder.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".CohortCriteriaRow{padding:0 .5rem}.CohortCriteriaRow .CohortCriteriaRow__Criteria{border:1px solid transparent;border-radius:var(--radius);padding:.25rem .5rem}.CohortCriteriaRow .CohortCriteriaRow__Criteria.CohortCriteriaRow__Criteria--error{border:1px solid var(--danger)}.CohortCriteriaRow .CohortCriteriaRow__Criteria .CohortCriteriaRow__Criteria__error-row{margin:.25rem 0}.CohortCriteriaRow .CohortCriteriaRow__Criteria .CohortCriteriaRow__Criteria__Field{margin:.25rem 0;min-width:0}.CohortCriteriaRow .CohortCriteriaRow__Criteria .CohortCriteriaRow__Criteria__Field.CohortCriteriaRow__Criteria__Field--error .CohortField{border:1px solid var(--danger)}.CohortCriteriaRow .CohortCriteriaRow__Criteria .CohortCriteriaRow__Criteria__Field:not(:last-child){margin-right:.5rem}.CohortCriteriaRow .logical-row-divider{color:var(--primary-alt);font-size:12px;font-weight:600;text-transform:uppercase}.CohortCriteriaRow .logical-row-divider:after,.CohortCriteriaRow .logical-row-divider:before{border-top:1px solid var(--border)}.CohortCriteriaRow .logical-row-divider:before{width:1.5%}.CohortCriteriaRow .logical-row-divider:after{width:95%}.CohortCriteriaRow .CohortCriteriaRow__inline-divider{background-color:var(--border);flex:1;height:1px;margin:0 .5rem}.CohortCriteriaRow .CohortCriteriaRow__Criteria__arrow{color:var(--muted);flex-shrink:0;font-size:18px;font-weight:700;padding-left:6px;padding-right:8px;position:relative;top:6px;-webkit-user-select:none;-moz-user-select:none;user-select:none}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/cohorts/CohortFilters/CohortField.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".Popover__CohortField .Popover__box{max-height:30rem}.CohortField__dropdown{max-width:calc(100vw - 14rem);min-width:14rem}.CohortField__CohortTextField{font-weight:500}.CohortField__CohortNumberField{max-width:4rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/dashboard/DashboardItems.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".dashboard-items-wrapper{margin-top:1rem;width:100%}.react-grid-layout{margin-bottom:2rem;position:relative;transition:height .1s ease}.react-grid-layout.dashboard-view-mode .react-grid-item{transition:border-color .1s ease}.react-grid-item.cssTransforms{transition-property:transform}.react-grid-item.resizing{will-change:width,height;z-index:1}.react-grid-item.react-draggable .CardMeta,.react-grid-item.react-draggable .TextCard__body{cursor:move;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-grid-item.react-draggable-dragging{transition:none;will-change:transform;z-index:105}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{border:1px solid var(--primary-3000);border-radius:var(--radius);max-width:100%;outline:1px solid var(--primary-3000);position:relative;transition:.1s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:2}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item{transition:all .1s ease;transition-property:left,top}.react-grid-item>.react-resizable-handle{bottom:-.5rem;cursor:se-resize;height:2rem;position:absolute;right:-.5rem;width:2rem;z-index:10}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{bottom:2rem;cursor:ew-resize;height:auto;top:0}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{cursor:ns-resize;left:0;right:2rem;width:auto}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/dashboard/DashboardTemplateChooser.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".DashboardTemplateChooser{display:grid;gap:.5em .5em;grid-template-columns:repeat(3,1fr);max-width:780px}.DashboardTemplateChooser .TemplateItem{height:210px;width:240px}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/dashboard/EmptyDashboardComponent.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,'.EmptyDashboard .EmptyDashboard__fade:after{background:linear-gradient(to top,var(--bg-light),transparent);bottom:0;content:"";height:3rem;pointer-events:none;position:absolute}.EmptyDashboard{margin-top:1rem;position:relative}.EmptyDashboard .EmptyDashboard__fade{height:150px;margin-top:1rem;overflow:hidden;position:relative}.EmptyDashboard .EmptyDashboard__fade:after{--bg-light:var(--bg-3000);height:150px;width:100%}.EmptyDashboard .EmptyDashboard__cta{background:var(--bg-light);border-radius:var(--radius);border-width:1px;box-shadow:var(--shadow-elevation-3000);left:50%;max-width:calc(100% - 32px);padding:1.5rem;position:absolute;top:16px;transform:translateX(-50%);width:360px;z-index:var(--z-content-overlay)}',""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/data-management/properties/PropertyDefinitionsTable.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".event-properties-definition-table .LemonTable__content>table>tbody td.definition-column-icon{padding-right:.5rem;width:36px}.event-properties-definition-table .LemonTable__content>table>tbody td.definition-column-icon .definition-column-name-icon{align-items:center;display:flex;font-size:1.2rem;justify-content:center;width:30px}.event-properties-definition-table .LemonTable__content>table>tbody td.definition-column-icon .definition-column-name-icon svg.taxonomy-icon{flex-shrink:0}.event-properties-definition-table .LemonTable__content>table>tbody td.definition-column-icon .definition-column-name-icon svg.taxonomy-icon.taxonomy-icon-muted{color:var(--muted-alt)}.event-properties-definition-table .LemonTable__content>table>tbody td.definition-column-icon .definition-column-name-icon svg.taxonomy-icon.taxonomy-icon-verified{color:var(--success)}.event-properties-definition-table .LemonTable__content>table>tbody td.definition-column-name .definition-column-name-content{display:flex;flex-direction:column;justify-content:center;min-height:32px;position:relative}.event-properties-definition-table .LemonTable__content>table>tbody td.definition-column-name .definition-column-name-content .definition-column-name-content-title{align-items:center;cursor:pointer;display:flex;font-weight:600;gap:.25rem}.event-properties-definition-table .LemonTable__content>table>tbody td.definition-column-name .definition-column-name-content .definition-column-name-content-title svg{color:var(--success)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/data-warehouse/ViewLinkModal.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".form-error{color:var(--danger)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/feature-flags/FeatureFlag.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".VariantFormList{border:1px solid var(--border);border-radius:var(--radius);font-size:13px;margin-top:16px;padding:16px}.VariantFormList .label-row{font-weight:700}.VariantFormList .VariantFormList__row{grid-template-columns:repeat(24,minmax(0,1fr))}.feature-flag-property-display{align-items:center;display:flex;flex-flow:row wrap;gap:.5rem;margin-top:.5rem}.feature-flag-property-display .arrow-right{margin-right:-8px;margin-top:.25rem}.feature-flag-property-display .display-value{word-break:break-all}.condition-set-separator{color:var(--primary-alt);font-size:12px;font-weight:var(--font-semibold);margin-bottom:.5rem;margin-left:.5rem}.feature-flag-form-row{align-items:center;display:flex;flex-wrap:wrap;width:100%}.feature-flag-form-row .centered{align-items:center;display:flex;white-space:pre-wrap}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/feature-flags/FeatureFlagInstructions.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".FeatureFlagInstructionsHeader{flex-wrap:nowrap}.FeatureFlagInstructionsHeader .FeatureFlagInstructionsHeader__header-title{display:flex;justify-items:center}.FeatureFlagInstructionsHeader .FeatureFlagInstructionsHeader__header-title .FeatureFlagInstructionsHeader__header-title__icon{color:var(--text-muted-alt);font-size:1.6em;margin-right:12px}.FeatureFlagInstructionsHeader__option{display:flex;justify-items:center}.FeatureFlagInstructionsHeader__option .FeatureFlagInstructionsHeader__option__icon{margin-right:8px;margin-top:2px}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/funnels/Funnel.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".funnel-bin-filter-dropdown .funnel-bins-custom-picker{margin:5px 0 5px 13px;width:43px}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/funnels/FunnelBarHorizontal/FunnelBarHorizontal.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".FunnelBarHorizontal .funnel-step header .funnel-step-title{max-width:calc(100% - 8px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.FunnelBarHorizontal{min-height:100%;padding:1rem}.InsightCard .FunnelBarHorizontal{padding-left:1rem;padding-right:1rem}.FunnelBarHorizontal .funnel-step{padding-left:2rem;position:relative}.FunnelBarHorizontal .funnel-step:not(:first-child),.FunnelBarHorizontal .funnel-step:not(:first-child) .funnel-series-container{padding-top:.75rem}.FunnelBarHorizontal .funnel-step .graph-series-glyph{z-index:2}.FunnelBarHorizontal .funnel-step .funnel-conversion-metadata{align-items:center;display:flex;justify-content:space-between}.FunnelBarHorizontal .funnel-step .funnel-conversion-metadata .funnel-inspect-button{line-height:1.5rem}.FunnelBarHorizontal .funnel-step .funnel-conversion-metadata .funnel-inspect-button .value-inspector-button-icon{font-size:1.5rem;margin-right:.25rem;vertical-align:bottom}.FunnelBarHorizontal .funnel-step .funnel-series-container{align-items:center;display:flex;flex-direction:column;height:100%;left:0;position:absolute;top:0;width:1.5rem}.FunnelBarHorizontal .funnel-step .funnel-series-container .graph-series-glyph{-webkit-user-select:none;-moz-user-select:none;user-select:none}.FunnelBarHorizontal .funnel-step .funnel-series-container .funnel-series-linebox{border-right:2px solid var(--border);box-sizing:border-box;left:0;opacity:.5;position:absolute;width:calc(.75rem + 1px)}.FunnelBarHorizontal .funnel-step .funnel-series-container .funnel-series-linebox.before{height:11.5px;top:0}.FunnelBarHorizontal .funnel-step .funnel-series-container .funnel-series-linebox.after{bottom:0;height:calc(100% - 11.5px);top:11.5px}.FunnelBarHorizontal .funnel-step .funnel-step-metadata{display:flex;flex-wrap:wrap}.FunnelBarHorizontal .funnel-step footer,.FunnelBarHorizontal .funnel-step header{align-items:center;display:flex;line-height:23px}.FunnelBarHorizontal .funnel-step header{display:flex;flex-wrap:wrap;justify-content:space-between;position:relative}.FunnelBarHorizontal .funnel-step header .funnel-step-title{font-weight:700}.FunnelBarHorizontal .funnel-step header button{margin-left:.375rem}.FunnelBarHorizontal .funnel-bar-wrapper{background-color:var(--border-3000);border-radius:var(--radius);display:flex;flex-direction:row;height:32px;margin:4px 0}.FunnelBarHorizontal .funnel-bar-wrapper .funnel-bar{background:var(--primary-3000);height:100%;position:relative;transition:width .2s ease,height .2s ease}.FunnelBarHorizontal .funnel-bar-wrapper .funnel-bar.first{border-radius:var(--radius) 0 0 4px}.FunnelBarHorizontal .funnel-bar-wrapper .funnel-bar.last{border-radius:0 4px 4px 0}.FunnelBarHorizontal .funnel-bar-wrapper .funnel-bar.only{border-radius:var(--radius)}.FunnelBarHorizontal .funnel-bar-wrapper .funnel-bar .funnel-bar-percentage{color:#fff;font-weight:700;line-height:16px;position:absolute;top:8px}.FunnelBarHorizontal .funnel-bar-wrapper .funnel-bar .funnel-bar-percentage.inside{right:8px}.FunnelBarHorizontal .funnel-bar-wrapper .funnel-bar .funnel-bar-percentage.outside{color:var(--text-3000);left:calc(100% + 8px)}.storybook-test-runner .InsightCard .funnel-bar{display:none}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/funnels/FunnelBarVertical/FunnelBarVertical.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".FunnelBarVertical{flex:1;height:100%;overflow:hidden;position:relative;width:100%}.FunnelBarVertical table{--bar-width:0.5rem;--bar-row-height:18rem;--bar-padding-top:1rem;--bar-padding-bottom:1.5rem;height:100%;width:100%}.FunnelBarVertical table>tbody>tr:first-child{border-bottom:1px solid var(--border)}.FunnelBarVertical table>tbody>tr:first-child>td{padding-bottom:var(--bar-padding-bottom);padding-top:var(--bar-padding-top)}.FunnelBarVertical table>tbody>tr>td{padding:.75rem 0}.StepBars{align-items:flex-end;border-bottom:1px solid var(--border);display:flex;gap:.125rem;height:calc(var(--bar-row-height) - var(--bar-padding-top) - var(--bar-padding-bottom));padding:0 1rem;position:relative}.StepBars:not(.StepBars--first){border-left:1px dashed var(--border)}.StepBars__grid{align-items:stretch;bottom:0;display:flex;flex-direction:column;height:100%;left:0;position:absolute;width:100%}.StepBars__gridline{flex-grow:1}.StepBars__gridline.StepBars__gridline--horizontal{border-top:1px dashed var(--border)}.StepBar{--series-color:#000;--conversion-rate:100%;border-radius:var(--radius);flex-shrink:0;height:100%;position:relative;width:calc(var(--bar-width)/2)}.InsightCard .StepBar{width:calc(var(--bar-width)/2)!important}@media screen and (min-width:992px){.StepBar{width:var(--bar-width)}}.StepBar__backdrop,.StepBar__fill{border-radius:var(--radius);bottom:0;cursor:pointer;left:0;position:absolute;width:100%}.InsightCard .StepBar__backdrop,.InsightCard .StepBar__fill,.StepBar__unclickable .StepBar__backdrop,.StepBar__unclickable .StepBar__fill{cursor:default}.StepBar__backdrop{background:repeating-linear-gradient(-22.5deg,transparent,transparent .5rem,hsla(0,0%,100%,.5) .5rem,hsla(0,0%,100%,.5) 1rem),var(--series-color);height:100%;opacity:.125;transition:opacity .2s ease}.StepBar__backdrop:hover{opacity:.2}.StepBar__backdrop:active{opacity:.25}.StepBar__fill{background:var(--series-color);height:var(--conversion-rate);transition:filter .2s ease}.StepBar__fill:hover{filter:brightness(.9)}.StepBar__fill:active{filter:brightness(.85)}.StepBarLabels{align-items:flex-end;display:flex;flex-direction:column-reverse;height:calc(var(--bar-row-height) - var(--bar-padding-top) - var(--bar-padding-bottom))}.StepBarLabels__segment{flex-grow:1;padding:0 .5rem}.StepBarLabels__segment:first-child{flex-grow:0;height:0}.StepBarLabels__label{font-size:.75rem;font-weight:500;transform:translateY(-50%)}.StepLegend{border-left:1px solid var(--border);height:100%;white-space:nowrap}.StepLegend>.LemonRow{font-weight:500;margin-top:.25rem;min-height:1.5rem;padding:0 .5rem}.StepLegend>.LemonRow:first-child{font-weight:600;margin-top:0;width:-moz-fit-content;width:fit-content}.StepLegend .funnel-inspect-button{font-weight:inherit;line-height:1.5rem}.FunnelTooltip{width:20rem}.FunnelTooltip table{border-collapse:collapse;border-spacing:0;width:100%}.FunnelTooltip tr{height:1.75rem}.FunnelTooltip td:first-child{font-weight:500;padding:0 .5rem}.FunnelTooltip td:last-child{font-weight:600;padding-right:.5rem;text-align:right}.FunnelTooltip .table-subtext{padding-bottom:.25rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/funnels/FunnelHistogram.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".FunnelHistogram{flex:1}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/insights/EmptyStates/EmptyStates.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".insight-empty-state{align-items:center;color:var(--muted);display:flex;flex-direction:column;flex-grow:1;font-size:1.1em;justify-content:center;padding:1rem}.insight-empty-state.error h2{color:var(--danger)}.insight-empty-state.warning h2{color:var(--warning)}.insight-empty-state h2{color:var(--primary-alt);font-size:1.5rem;font-weight:600;line-height:1.6rem}.insight-empty-state .empty-state-inner{align-items:center;display:flex;flex-direction:column;max-width:600px}.insight-empty-state .empty-state-inner .illustration-main{font-size:2.5rem}.insight-empty-state .empty-state-inner h2{text-align:center;width:100%;word-wrap:break-word}.insight-empty-state .empty-state-inner ol{margin:.5rem 0}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/insights/InsightTooltip/InsightTooltip.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".InsightTooltipWrapper{pointer-events:none;position:absolute;transition:all .4s;z-index:var(--z-graph-tooltip)}.InsightTooltip{background:var(--bg-light);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-elevation-3000);font-size:.8125rem;max-width:30rem;overflow:hidden;pointer-events:none}.InsightTooltip--embedded{border:none;border-radius:0;box-shadow:none}.InsightTooltip .LemonRow{font-size:.8125rem}.InsightTooltip .LemonTable{border:none;border-bottom-left-radius:0;border-bottom-right-radius:0;font-size:.75rem}.InsightTooltip .LemonTable:not(:last-child){border-bottom:1px solid var(--border)}.InsightTooltip .LemonTable .insights-label{margin:0}.InsightTooltip .LemonTable .datum-column{overflow-wrap:anywhere;padding-left:.5rem}.InsightTooltip .LemonTable .LemonTable__content>table>thead{letter-spacing:0}.InsightTooltip .LemonTable .LemonTable__content>table>thead .datum-column .LemonTable__header-content{white-space:nowrap}.InsightTooltip .LemonTable .LemonTable__content>table .datum-label-column{align-items:center;display:flex;font-weight:600}.InsightTooltip .LemonTable .LemonTable__content>table .series-data-cell{font-weight:600}.InsightTooltip .LemonTable .LemonTable__content>table .tag-pill{background-color:var(--border-3000);border:0;color:var(--primary-alt);margin-right:0;overflow:hidden;vertical-align:middle}.InsightTooltip .table-subtext{background-color:var(--bg-light);color:var(--muted);font-size:.75rem;padding:.5rem 1rem;text-align:center}.InsightTooltip .table-subtext .table-subtext-truncated{margin-bottom:4px}.InsightTooltip .table-subtext .table-subtext-click-to-inspect{align-items:center;color:var(--text-3000);display:flex;font-weight:600;justify-content:center;white-space:nowrap}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/insights/filters/ActionFilter/ActionFilter.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".ActionFilter ul>li+li,.ActionFilter>*+*{margin-top:.5rem}.ActionFilter .ActionFilterRow-filters{padding:.5rem 0}.ActionFilter.ActionFilter--bordered{border:1px solid var(--border);border-radius:var(--radius)}.ActionFilter.ActionFilter--bordered .ActionFilterRow{margin-top:0}.ActionFilter.ActionFilter--bordered .ActionFilterRow .ActionFilterRow-content{border-bottom:1px solid var(--border);margin-bottom:0;padding:1rem}.ActionFilter.ActionFilter--bordered .ActionFilter-footer{margin-top:0;padding:.5rem}.ActionFilter.ActionFilter--bordered .ActionFilterRow-filters{background-color:var(--bg-3000);border-bottom:1px solid var(--border);padding:.5rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/insights/filters/ActionFilter/ActionFilterRow/ActionFilterRow.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".ActionFilterRow .ActionFilterRow-content{align-items:flex-start;display:flex}.ActionFilterRow .ActionFilterRow-content>*+*{margin-left:.5rem}.ActionFilterRow .ActionFilterRow__center,.ActionFilterRow .ActionFilterRow__end,.ActionFilterRow .ActionFilterRow__start{align-items:center;display:flex}.ActionFilterRow .ActionFilterRow__end,.ActionFilterRow .ActionFilterRow__start{align-items:center;display:flex;flex:0;gap:.25rem;height:40px}.ActionFilterRow .ActionFilterRow__center{flex:1;flex-wrap:wrap;gap:.5rem;overflow:hidden}.ActionFilterRowDragHandle{color:var(--text-3000);cursor:move;font-size:1.2em;transform:rotate(90deg)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/insights/filters/BreakdownFilter/BreakdownTagMenu.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".histogram-bin-input{background-color:var(--bg-light);margin:0 .5rem;padding:.25rem;width:60px}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/insights/views/BoldNumber/BoldNumber.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".BoldNumber{align-items:center;display:flex;flex:1;flex-direction:column;justify-content:center;padding:2rem 3rem 3rem;width:100%}.InsightCard .BoldNumber{padding:1rem}.BoldNumber.HogQL{padding:5rem}.BoldNumber .BoldNumber__value{font-weight:700;letter-spacing:-.025em;width:100%}@media screen and (min-width:768px){.BoldNumber{padding:3rem 5rem 5rem}.InsightCard .BoldNumber{padding:2rem}}.BoldNumber__comparison{color:var(--muted-alt);cursor:default;font-weight:500;margin-bottom:-1.5rem;margin-top:.5rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/insights/views/Funnels/CorrelationMatrix.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".correlation-table-wrapper table{border:1px solid var(--border);border-collapse:initial;border-radius:var(--radius);border-spacing:0;margin:0 auto}.correlation-table-wrapper table td{border-left:1px solid var(--border);border-top:1px solid var(--border);padding:.5rem 1rem;text-align:center}.correlation-table-wrapper table td .percentage{font-weight:700;padding-bottom:.25rem}.correlation-table-wrapper table td:first-child{border-left:none}.correlation-table-wrapper table .table-title{color:var(--muted-alt)}.correlation-table-wrapper table .table-title td{border-top:none}.correlation-table-wrapper table .horizontal-header,.correlation-table-wrapper table thead{background-color:var(--bg-3000);color:var(--muted);font-weight:700;text-transform:uppercase}.correlation-table-wrapper table tbody td:not(.horizontal-header){text-align:right}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/insights/views/Funnels/FunnelCorrelation.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".funnel-correlation{margin-bottom:3rem}.funnel-correlation .skew-warning{background-color:var(--bg-light);border:1px solid var(--warning);border-radius:var(--radius);line-height:2em;margin-top:1rem}.funnel-correlation .skew-warning h4{align-items:center;border-bottom:1px solid var(--border);display:flex;font-size:1.1em;justify-content:space-between;padding:.5rem;position:relative}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/insights/views/Funnels/FunnelCorrelationTable.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".FunnelCorrelationTable .table-options .LemonCheckbox:not(:last-child) label{border-radius:var(--radius) 0 0 var(--radius);border-right:none}.FunnelCorrelationTable .table-options .LemonCheckbox:last-child label{border-radius:0 var(--radius) var(--radius) 0}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/insights/views/Histogram/Histogram.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".dashboard-wrapper{height:calc(100% - 2rem);width:100%}.histogram-container{display:flex}.histogram-container svg{margin-left:1rem;margin-right:1rem}.histogram-container svg g#x-axis .domain,.histogram-container svg g#y-axis .domain{stroke:var(--funnel-axis)}.histogram-container svg g#x-axis .tick{color:var(--funnel-axis)}.histogram-container svg g#x-axis text,.histogram-container svg g#y-axis text{font-family:var(--font-sans);font-size:.75rem;font-weight:500;fill:var(--text-3000)}.histogram-container svg g#y-gridlines{stroke-dasharray:4,2}.histogram-container svg g#y-gridlines g.tick:not(:first-child){color:var(--funnel-grid)}.histogram-container svg g#y-gridlines .domain,.histogram-container svg g#y-gridlines g.tick:first-of-type{display:none}.histogram-container svg g#bars{fill:var(--primary-3000)}.histogram-container svg g#labels text.bar-label{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;fill:var(--white)}.histogram-container svg g#labels text.bar-label.outside{fill:#0f0f0f}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/insights/views/InsightsTable/InsightsTable.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".series-name-wrapper-col{align-items:center;display:flex}.series-name-wrapper-col .edit-icon{color:var(--primary-3000);cursor:pointer;font-size:1rem}.series-name-wrapper-col .insights-label.editable{cursor:pointer}.series-name-wrapper-col .insights-label.editable .EntityFilterInfo:not(.text-muted){color:var(--primary-3000);font-weight:500}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/insights/views/InsightsTable/columns/AggregationColumn.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".AggregationColumn__title{color:var(--text-secondary-3000)}.AggregationColumn__title:hover{color:var(--text-3000)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/insights/views/WorldMap/WorldMap.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".WorldMap{color:var(--border);padding:1rem 0;width:100%}.WorldMap .landxx{fill:currentColor;fill-rule:evenodd;stroke:var(--bg-light);stroke-width:.125rem}.WorldMap .landxx:hover{color:var(--data-color-1-hover)!important}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/notebooks/AddToNotebook/DraggableToNotebook.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".DraggableToNotebook{position:relative}.DraggableToNotebook--dragging{background-color:var(--bg-light);outline:1px solid var(--primary-3000);transform:translateZ(0)}.DraggableToNotebook[draggable=true]{cursor:grab}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/notebooks/Nodes/NodeWrapper.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".NotebookNode{--notebook-node-meta-height:2.5rem;--notebook-node-meta-padding:0.25rem;--border-color:var(--border);transform:translateZ(0)}.NotebookNode .NotebookNode__box{background-color:var(--bg-light);border:1px solid var(--border-color);border-radius:var(--radius);overflow:hidden;transform:translateZ(0);transition:border .15s linear,margin-bottom .15s linear}.NotebookNode .NotebookNode__box .NotebookNode__meta{align-items:center;border-bottom:1px solid var(--border);color:var(--primary-alt);display:flex;font-size:.875rem;font-weight:500;height:var(--notebook-node-meta-height);justify-content:space-between;overflow:hidden;padding:var(--notebook-node-meta-padding)}.NotebookNode .NotebookNode__box .NotebookNode__settings{border-bottom:1px solid var(--border)}.NotebookNode .NotebookNode__box .NotebookNode__content{transition:box-shadow .15s ease-out;z-index:1}.NotebookNode .NotebookNode__gap{align-items:center;display:flex;gap:.2rem;height:1.375rem;opacity:0;overflow:hidden;transition:all .15s linear 1s}.NotebookNode--editable:hover .NotebookNode__gap,.NotebookNode--selected .NotebookNode__gap{height:1.875rem;opacity:1;transition:all .15s linear}.NotebookNode--selected{--border-color:var(--border-bold)}.NotebookNode--auto-hide-metadata{--border-color:transparent}.NotebookNode--auto-hide-metadata .NotebookNode__meta{background-color:var(--bg-light);left:0;pointer-events:none;position:absolute;right:0;top:0;visibility:hidden;z-index:var(--z-popover)}.Notebook--editable .NotebookNode--auto-hide-metadata.NotebookNode--selected,.Notebook--editable .NotebookNode--auto-hide-metadata:hover{border-color:var(--border-color)}.Notebook--editable .NotebookNode--auto-hide-metadata.NotebookNode--selected .NotebookNode__meta,.Notebook--editable .NotebookNode--auto-hide-metadata:hover .NotebookNode__meta{pointer-events:all;visibility:visible}.NotebookNode--auto-hide-metadata:hover{--border-color:var(--border)}.NotebookNode.ph-image img{flex:1;height:100%;object-fit:contain;width:100%}.NotebookNodeTitle{overflow:hidden;padding:.25rem;text-overflow:ellipsis;white-space:nowrap}.NotebookNodeTitle--editable{border-radius:var(--radius);transition:background-color .15s linear}.NotebookNodeTitle--editable:hover{background-color:var(--border)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/notebooks/Notebook/Notebook.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,'.Notebook{display:flex;flex:1;flex-direction:column;width:100%}.Notebook .NotebookEditor{flex:1;overflow:hidden;position:relative;width:100%}.Notebook .NotebookEditor .ProseMirror-focused{outline:none}.Notebook .NotebookEditor .ProseMirror>h1,.Notebook .NotebookEditor .ProseMirror>h2,.Notebook .NotebookEditor .ProseMirror>h3,.Notebook .NotebookEditor .ProseMirror>h4,.Notebook .NotebookEditor .ProseMirror>h5{margin-top:.5rem}.Notebook .NotebookEditor .ProseMirror>p{margin-bottom:.2rem}.Notebook .NotebookEditor .ProseMirror>.is-empty:before{color:rgba(0,0,0,.2);content:attr(data-placeholder);float:left;height:0;pointer-events:none}[theme=dark] .Notebook .NotebookEditor .ProseMirror>.is-empty:before{color:hsla(0,0%,100%,.2)}.Notebook .NotebookEditor .ProseMirror>ol{list-style-type:decimal}.Notebook .NotebookEditor .ProseMirror>ol ol{list-style-type:lower-alpha}.Notebook .NotebookEditor .ProseMirror>ul{list-style-type:disc}.Notebook .NotebookEditor .ProseMirror>ul ul{list-style-type:circle}.Notebook .NotebookEditor .ProseMirror>ul[data-type=taskList]{list-style-type:none;padding-left:0}.Notebook .NotebookEditor .ProseMirror>ul[data-type=taskList] li{display:flex}.Notebook .NotebookEditor .ProseMirror>ul[data-type=taskList] li>label{flex:0 0 auto;margin-right:.5rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.Notebook .NotebookEditor .ProseMirror>ul[data-type=taskList] li>div{flex:1 1 auto}.Notebook .NotebookEditor .ProseMirror>ul[data-type=taskList] li ol li,.Notebook .NotebookEditor .ProseMirror>ul[data-type=taskList] li ul li{display:list-item}.Notebook .NotebookEditor .ProseMirror>ul[data-type=taskList] li ul[data-type=taskList]>li{display:flex}.Notebook .NotebookEditor .ProseMirror>ol,.Notebook .NotebookEditor .ProseMirror>ol ol,.Notebook .NotebookEditor .ProseMirror>ol ul,.Notebook .NotebookEditor .ProseMirror>ul,.Notebook .NotebookEditor .ProseMirror>ul ol,.Notebook .NotebookEditor .ProseMirror>ul ul{padding-left:2rem}.Notebook .NotebookEditor .ProseMirror>ol li p,.Notebook .NotebookEditor .ProseMirror>ul li p{margin-bottom:.2rem}.Notebook .NotebookEditor .ProseMirror>pre{background-color:rgba(0,0,0,.05);border-radius:var(--radius);margin-bottom:.5rem;overflow-x:auto;padding:.5rem}.Notebook .NotebookEditor .ProseMirror>code,.Notebook .NotebookEditor .ProseMirror>p code{background-color:rgba(0,0,0,.05);border-radius:var(--radius);padding:.2rem}.Notebook .NotebookEditor .Backlink{background-color:var(--bg-light);border:1px solid var(--border);border-radius:var(--radius);padding:.125rem .25rem}.Notebook .NotebookEditor .Backlink:hover{background-color:var(--bg-3000)}.Notebook .NotebookEditor .Backlink svg{color:var(--text-3000)}.Notebook .NotebookEditor .Backlink.Backlink--selected{border-color:var(--primary-3000)}.Notebook .NotebookEditor .Backlink.Backlink--active{background:var(--primary-3000);border:1px solid var(--primary-3000);color:var(--white)}.Notebook .NotebookEditor .Backlink.Backlink--active .Backlink__label,.Notebook .NotebookEditor .Backlink.Backlink--active svg{color:var(--white)}.Notebook .NotebookEditor .Backlink.Backlink--active span::-moz-selection{color:var(--white)}.Notebook .NotebookEditor .Backlink.Backlink--active span::selection{color:var(--white)}.Notebook .NotebookEditor[contenteditable=true] a{cursor:text}.Notebook--compact:not(.Notebook--canvas) .NotebookEditor{max-width:800px}.Notebook .NotebookColumn{--notebook-sidebar-height:calc(100vh - 9rem);position:relative;transition:width var(--notebook-popover-transition-properties);width:0}.Notebook .NotebookColumn .NotebookColumn__content{align-self:flex-start;position:sticky;top:0;transform:translateX(-100%);transition:transform var(--notebook-popover-transition-properties)}.NotebookScene .Notebook .NotebookColumn{--notebook-sidebar-height:calc(100vh - 11rem)}.NotebookScene .Notebook .NotebookColumn .NotebookColumn__padding{height:4rem}.NotebookScene .Notebook .NotebookColumn .NotebookColumn__content{top:4rem}.Notebook .NotebookColumn--left .NotebookColumn__content{transform:translateX(-100%);width:var(--notebook-column-left-width)}.Notebook .NotebookColumn--left .NotebookColumn__content>.LemonWidget .LemonWidget__content{max-height:var(--notebook-sidebar-height);overflow:auto}.Notebook .NotebookColumn--right .NotebookColumn__content{transform:translateX(100%);width:var(--notebook-column-right-width)}.Notebook .NotebookColumn--showing.NotebookColumn--left{margin-right:1rem;width:var(--notebook-column-left-width)}.Notebook .NotebookColumn--showing.NotebookColumn--right{margin-left:1rem;width:var(--notebook-column-right-width)}.Notebook .NotebookColumn--showing .NotebookColumn__content{transform:translateX(0)}.Notebook--editable .NotebookEditor .ProseMirror{flex:1;padding-bottom:10rem}.Notebook--editable .NotebookColumn--left.NotebookColumn--showing+.NotebookEditor .ProseMirror{padding-bottom:100vh}.Notebook .NotebookHistory{display:flex;flex:1;flex-direction:column}.Notebook .NotebookInlineMenu{box-shadow:0 4px 10px 0 rgba(0,0,0,.1);margin-bottom:-.2rem}.Notebook .NotebookInlineMenu .LemonInput{border:0;min-height:0}.Notebook .LemonTable__content>table>thead{position:sticky;top:0;z-index:1}.Notebook .NotebookMention,.Notebook .NotebookRecordingTimestamp{display:inline-flex;max-height:22px}.Notebook .NotebookComment{--notebook-comment-background-opacity:0.25;position:relative;transform-style:preserve-3d}.Notebook .NotebookComment:hover{--notebook-comment-background-opacity:0.5}.Notebook .NotebookComment:after{background:var(--primary-3000);content:"";inset:0;opacity:var(--notebook-comment-background-opacity);position:absolute;z-index:-1}.Notebook .InsightVizDisplay .InsightDisplayConfig{border-bottom-width:0;padding:0}',""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/notebooks/NotebookPanel/NotebookPanel.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".NotebookPanel{background-color:var(--accent-3000);display:flex;flex:1;flex-direction:column;overflow:hidden}.NotebookPanel .NotebookPanelDropzone{border:2px dashed var(--border-3000);border-radius:var(--radius);display:flex;height:4rem;margin:.5rem;transition:all .15s}.NotebookPanel .NotebookPanelDropzone .NotebookPanelDropzone__message{align-items:center;background-color:var(--bg-light);color:var(--muted-alt);display:flex;flex:1;flex-direction:column;font-size:1rem;font-weight:700;justify-content:center;opacity:.75;padding:1rem;pointer-events:none;text-align:center;transition:all .15s}.NotebookPanel .NotebookPanelDropzone .NotebookPanelDropzone__dropped{display:flex;flex:1;flex-direction:column;overflow:hidden}.NotebookPanel .NotebookPanelDropzone--active{border-color:var(--primary-3000);height:8rem}.NotebookPanel .NotebookPanelDropzone--active .NotebookPanelDropzone__message{opacity:1}.NotebookPanel .NotebookPanelDropzone--dropped{align-items:normal;border:none;height:100%;justify-content:flex-start;margin:1rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/notebooks/NotebookScene.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".Navigation3000 .NotebookScene{inset:0;overflow-y:auto;padding:0 1rem;position:absolute}.NotebookScene .ProseMirror>.react-renderer{scroll-margin-top:65px}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/notebooks/Suggestions/FloatingSuggestions.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".FloatingSuggestion{height:1.375rem;position:absolute}.NotebookFloatingButton{left:0;position:absolute;z-index:var(--z-popover)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/paths/Paths.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".Paths{height:720px;max-height:100%;overflow-y:hidden;position:relative;width:100%}.Paths .Paths__canvas{height:100%!important;width:100%}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/persons/PersonDisplay.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".PersonDisplay{display:inline}.PersonDisplay .ProfilePicture{margin-right:.5rem;transition:opacity .2s ease}.PersonDisplay a:hover .ProfilePicture{opacity:.75}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/retention/RetentionTable.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".RetentionTable{--retention-table-color:var(--primary-3000);font-weight:500;width:100%}.RetentionTable th{border-bottom:10px solid transparent;border-left:1px solid var(--border);border-top:10px solid transparent;font-weight:500;padding:0 .5rem;text-align:left;white-space:nowrap}.RetentionTable th:first-of-type{border-left:none}.RetentionTable tr{border-left:.25rem solid transparent}.RetentionTable tr:not(:nth-of-type(-n+2)){cursor:pointer}.RetentionTable tr:not(:nth-of-type(-n+2)):hover{border-left-color:var(--retention-table-color)}.RetentionTable .RetentionTable__TextTab{padding:0 1rem 0 .5rem;white-space:nowrap}.RetentionTable .RetentionTable__Tab{background-color:var(--retention-table-color);border-radius:var(--radius);margin:2px;min-height:2rem;padding:.5rem;text-align:right}.RetentionTable .RetentionTable__Tab.RetentionTable__Tab--clickable{transition:transform .2s ease-out}.RetentionTable .RetentionTable__Tab.RetentionTable__Tab--clickable:hover{transform:scale(1.05)}.RetentionTable .RetentionTable__Tab.RetentionTable__Tab--period{background-color:var(--bg-light);border-style:solid;border:1px dashed var(--border);color:var(--muted)}.RetentionTable.RetentionTable--non-interactive tr:hover{border-left-color:transparent}.RetentionTable.RetentionTable--non-interactive .RetentionTable__Tab{cursor:auto}.RetentionTable.RetentionTable--non-interactive .RetentionTable__Tab:hover{transform:none}.RetentionTable.RetentionTable--small-layout{font-size:.75rem;line-height:1rem}.RetentionTable.RetentionTable--small-layout .RetentionTable__TextTab,.RetentionTable.RetentionTable--small-layout th{padding-left:.25rem;padding-right:.25rem}.RetentionTable.RetentionTable--small-layout .RetentionTable__Tab{margin:0;padding:.5rem .25rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/saved-insights/SavedInsights.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".saved-insights .new-insight-dropdown-btn{background-color:var(--primary-3000);border:1px solid var(--border);border-radius:var(--radius);color:#fff;cursor:pointer;height:40px;padding:8px 12px 8px 16px}.saved-insights .saved-insight-empty-state{align-items:center;display:flex;justify-content:center;text-align:center}.saved-insights .saved-insight-empty-state .insight-empty-state__wrapper{margin-bottom:17rem;margin-top:5rem;max-width:600px}.saved-insights .saved-insight-empty-state .insight-empty-state__wrapper .illustration-main{color:var(--border);font-size:5rem;line-height:1em;margin-bottom:1rem;text-align:center}.saved-insights .saved-insight-empty-state .insight-empty-state__wrapper .empty-state__title{font-size:1.5rem;font-weight:600;line-height:1.6rem}.saved-insights .saved-insight-empty-state .insight-empty-state__wrapper .empty-state__description{color:var(--muted);font-size:1rem;font-weight:500;line-height:1.7rem}.new-insight-overlay{width:21rem}.insight-type-icon-wrapper{align-items:center;display:flex}.insight-type-icon-wrapper .icon-container{height:22px;margin-right:8px;position:relative;width:22px}.insight-type-icon-wrapper .icon-container .icon-container-inner{font-size:22px;margin-left:-2px}.saved-insights-grid{display:grid;position:relative;grid-gap:1rem}@media screen and (min-width:1200px){.saved-insights-grid{grid-template-columns:repeat(2,1fr)}}@media screen and (min-width:1600px){.saved-insights-grid{grid-template-columns:repeat(3,1fr)}}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/session-recordings/apm/NetworkView.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".NetworkView .NetworkView__table table{table-layout:fixed}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/session-recordings/player/PlayerFrame.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,'.PlayerFrame{align-items:center;background-color:var(--bg-3000-dark);display:flex;height:100%;justify-content:center;overflow:hidden;position:relative;width:100%}.PlayerFrame .PlayerFrame__content{position:absolute}.PlayerFrame .PlayerFrame__content iframe{background-color:#fff;border:0}.PlayerFrame .PlayerFrame__content .replayer-wrapper{position:relative}.PlayerFrame .PlayerFrame__content .replayer-mouse{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMDAiIGhlaWdodD0iMzAwIiBkYXRhLW5hbWU9IkxheWVyIDEiIHZpZXdCb3g9IjAgMCA1MCA1MCI+PHBhdGggZD0iTTQ4LjcxIDQyLjkxIDM0LjA4IDI4LjI5IDQ0LjMzIDE4YTEgMSAwIDAgMC0uMzMtMS42MUwyLjM1IDEuMDZhMSAxIDAgMCAwLTEuMjkgMS4yOUwxNi4zOSA0NGExIDEgMCAwIDAgMS42NS4zNmwxMC4yNS0xMC4yOCAxNC42MiAxNC42M2ExIDEgMCAwIDAgMS40MSAwbDQuMzgtNC4zOGExIDEgMCAwIDAgLjAxLTEuNDJtLTUuMDkgMy42N0wyOSAzMmExIDEgMCAwIDAtMS40MSAwbC05Ljg1IDkuODVMMy42OSAzLjY5bDM4LjEyIDE0TDMyIDI3LjU4QTEgMSAwIDAgMCAzMiAyOWwxNC41OSAxNC42MloiLz48L3N2Zz4=");background-position:50%;background-repeat:no-repeat;background-size:contain;border-color:transparent;height:20px;position:absolute;transition:left .05s linear,top .05s linear;width:20px}.PlayerFrame .PlayerFrame__content .replayer-mouse:after{background:#4950f6;border-radius:100%;content:"";display:inline-block;height:20px;opacity:.3;transform:translate(-50%,-50%);width:20px}.PlayerFrame .PlayerFrame__content .replayer-mouse.active:after{animation:PlayerFrame__click .2s ease-in-out 1}.PlayerFrame .PlayerFrame__content .replayer-mouse.touch-device{background-image:none;border:4px solid rgba(73,80,246,0);border-radius:100%;height:70px;margin-left:-37px;margin-top:-37px;transition:left 0s linear,top 0s linear,border-color .2s ease-in-out;width:70px}.PlayerFrame .PlayerFrame__content .replayer-mouse.touch-device.touch-active{border-color:#4950f6;transition:left .25s linear,top .25s linear,border-color .2s ease-in-out}.PlayerFrame .PlayerFrame__content .replayer-mouse.touch-device:after{opacity:0}.PlayerFrame .PlayerFrame__content .replayer-mouse.touch-device.active:after{animation:PlayerFrame__touch-click .2s ease-in-out 1}.PlayerFrame .PlayerFrame__content .replayer-mouse-tail{pointer-events:none;position:absolute}@keyframes PlayerFrame__click{0%{height:20px;opacity:.3;width:20px}50%{height:10px;opacity:.5;width:10px}}@keyframes PlayerFrame__touch-click{0%{height:20px;opacity:0;width:20px}50%{height:10px;opacity:.5;width:10px}}',""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/session-recordings/player/PlayerFrameOverlay.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".PlayerFrameOverlay{inset:0;position:absolute;z-index:10}.PlayerFrameOverlay .PlayerFrameOverlay__content{align-items:center;background-color:rgba(0,0,0,.15);display:flex;inset:0;justify-content:center;opacity:.8;position:absolute;transition:opacity .1s;z-index:1}.PlayerFrameOverlay .PlayerFrameOverlay__content:hover{opacity:1}.PlayerFrameOverlay .PlayerFrameOverlay__content--only-hover{opacity:0}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/session-recordings/player/PlayerMeta.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".PlayerMeta{display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;position:relative}.PlayerMeta .PlayerMetaPersonProperties{background:var(--bg-3000);border-bottom:1px solid transparent;overflow:auto;padding:.5rem}.PlayerMeta:not(.PlayerMeta--fullscreen) .PlayerMetaPersonProperties{transition:height .2s ease-out,border-bottom-color .2s ease-out}.PlayerMeta:not(.PlayerMeta--fullscreen) .PlayerMetaPersonProperties--enter{height:0}.PlayerMeta:not(.PlayerMeta--fullscreen) .PlayerMetaPersonProperties--enter-active,.PlayerMeta:not(.PlayerMeta--fullscreen) .PlayerMetaPersonProperties--enter-done,.PlayerMeta:not(.PlayerMeta--fullscreen) .PlayerMetaPersonProperties--exit{border-bottom-color:var(--border);height:14rem}.PlayerMeta:not(.PlayerMeta--fullscreen) .PlayerMetaPersonProperties--exit-active{height:0}.LemonModal .PlayerMeta:not(.PlayerMeta--fullscreen) .PlayerMeta__top{padding-right:3.5rem!important}.PlayerMeta--fullscreen{align-items:center;flex-direction:row;justify-content:space-between}.PlayerMeta--fullscreen .PlayerMetaPersonProperties{border-right:1px solid var(--border);bottom:97px;left:0;max-width:40rem;position:fixed;top:48px;transition:transform .2s ease-out;width:100%;z-index:1}.PlayerMeta--fullscreen .PlayerMetaPersonProperties--enter{transform:translateX(-100%)}.PlayerMeta--fullscreen .PlayerMetaPersonProperties--enter-active,.PlayerMeta--fullscreen .PlayerMetaPersonProperties--enter-done,.PlayerMeta--fullscreen .PlayerMetaPersonProperties--exit{transform:translateX(0)}.PlayerMeta--fullscreen .PlayerMetaPersonProperties--exit-active{transform:translateX(-100%)}.PlayerMeta .Link{color:var(--text-3000)}.PlayerMeta .Link:hover{color:var(--primary-3000)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/session-recordings/player/PlayerUpNext.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".PlayerUpNext{transition:transform .25s ease-out;z-index:11}.PlayerUpNextButton{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);cursor:pointer;display:flex;overflow:hidden}.PlayerUpNextButton .PlayerUpNextButtonBackground{background-color:var(--border-3000);bottom:0;color:var(--primary-alt);left:0;position:absolute;top:0;width:0}.PlayerUpNextButton.PlayerUpNextButton--animating .PlayerUpNextButtonBackground{animation:PlayerUpNextButtonBackground__expand 3s linear forwards}.PlayerUpNextButton:hover .PlayerUpNextButtonBackground{animation:none;width:100%}@keyframes PlayerUpNextButtonBackground__expand{0%{width:0}to{width:100%}}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/session-recordings/player/SessionRecordingPlayer.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".SessionRecordingPlayer{background-color:var(--bg-light);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:row;height:100%;overflow:hidden;position:relative;width:100%}.SessionRecordingPlayer--no-border{border:none;border-radius:0}.SessionRecordingPlayer .SessionRecordingPlayer__body{background-color:var(--bg-light);height:100%;min-width:1px;overflow:hidden;position:relative;z-index:0}.SessionRecordingPlayer .SessionRecordingPlayer__main{flex:1}.SessionRecordingPlayer--fullscreen{background-color:var(--bg-light);border:none;border-radius:0;inset:0;overflow-y:auto;position:fixed;z-index:var(--z-modal)}.SessionRecordingPlayer--fullscreen .SessionRecordingPlayer__body{border-radius:0;height:100%;margin:0}.SessionRecordingPlayer .SessionRecordingPlayer__main,.SessionRecordingPlayer .SessionRecordingPlayer__sidebar{display:flex;flex-direction:column;overflow:hidden}.LemonModal .SessionRecordingPlayer .SessionRecordingPlayer__body{height:calc(90vh - 15rem)}.SessionRecordingPlayer .SessionRecordingPlayer__sidebar{flex-shrink:0;max-width:50%;min-width:20rem;position:relative}.SessionRecordingPlayer .SessionRecordingPlayer__sidebar--collapsed{min-width:0}.SessionRecordingPlayer .SessionRecordingPlayer__sidebar__tabs .LemonTabs__tab-content{padding:10px 0}.SessionRecordingPlayer--stacked-vertically{flex-direction:column}.SessionRecordingPlayer--stacked-vertically .SessionRecordingPlayer__sidebar{max-height:60%;max-width:100%;min-width:100%}.PlayerControlSeekIcon{display:flex;position:relative}.PlayerControlSeekIcon .PlayerControlSeekIcon__seconds{align-items:center;display:flex;font-size:6px;font-weight:700;inset:0;justify-content:center;position:absolute;text-align:center}.PlayerControlSeekIcon .PlayerControlSeekIcon__icon{font-size:1.3rem}.PlayerControlSeekIcon .PlayerControlSeekIcon__icon--forward{transform:rotateY(180deg)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/session-recordings/player/controller/Seekbar.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".PlayerSeekbar{--bar-height:4px;--slider-height:20px;--thumb-size:15px;display:flex;height:var(--slider-height);position:relative;width:100%}.PlayerSeekbar--scrubbing,.PlayerSeekbar:hover{--bar-height:8px}.PlayerSeekbar--scrubbing .PlayerSeekBarPreview,.PlayerSeekbar:hover .PlayerSeekBarPreview{opacity:1}.PlayerSeekbar .PlayerSeekbar__slider{background-color:var(--border-light);border-radius:var(--bar-height);cursor:pointer;height:var(--bar-height);left:0;position:absolute;right:0;top:calc((var(--slider-height) - var(--bar-height))/2);transition:height .15s ease-in-out,top .15s ease-in-out;z-index:2}.PlayerSeekbar .PlayerSeekbar__slider .PlayerSeekbar__bufferbar,.PlayerSeekbar .PlayerSeekbar__slider .PlayerSeekbar__currentbar,.PlayerSeekbar .PlayerSeekbar__slider .PlayerSeekbar__segments{height:100%;left:0;position:absolute;top:0;width:0}.PlayerSeekbar .PlayerSeekbar__slider .PlayerSeekbar__bufferbar{background-color:var(--border);border-radius:var(--bar-height);z-index:2}.PlayerSeekbar .PlayerSeekbar__slider .PlayerSeekbar__currentbar{background-color:var(--primary-3000);border-radius:var(--bar-height) 0 0 var(--bar-height);z-index:3}.PlayerSeekbar .PlayerSeekbar__slider .PlayerSeekbar__segments{height:100%;white-space:nowrap;width:100%;z-index:4}.PlayerSeekbar .PlayerSeekbar__slider .PlayerSeekbar__segments .PlayerSeekbar__segments__item{background-color:var(--bg-light);float:left;height:100%;opacity:.5}.PlayerSeekbar .PlayerSeekbar__slider .PlayerSeekbar__segments .PlayerSeekbar__segments__item--active{opacity:0}.PlayerSeekbar .PlayerSeekbar__slider .PlayerSeekbar__thumb{backface-visibility:hidden;background-color:var(--primary-3000);border:2px solid var(--bg-light);border-radius:50%;height:var(--thumb-size);margin-top:calc(var(--thumb-size)/2*-1);position:absolute;top:calc(var(--bar-height)/2);transition:top .15s ease-in-out;width:var(--thumb-size);z-index:5}.PlayerSeekbar .PlayerSeekBarPreview{bottom:100%;opacity:0;pointer-events:none;position:absolute;transition:opacity .15s ease-in-out;width:100%;z-index:6}.PlayerSeekbar .PlayerSeekBarPreview .PlayerSeekBarPreview__tooltip{width:100%}.PlayerSeekbar .PlayerSeekBarPreview .PlayerSeekBarPreview__tooltip .PlayerSeekBarPreview__tooltip__content{background-color:var(--tooltip-bg);border-radius:var(--radius);color:#fff;display:inline-block;font-size:.8rem;font-weight:600;margin-bottom:.5rem;padding:.1rem;transform:translateX(-50%)}.PlayerSeekbarTicks{height:.75rem;position:relative;width:100%;z-index:1}.PlayerSeekbarTicks .PlayerSeekbarTick{--tick-color:var(--muted-alt);--tick-width:3px;cursor:pointer;height:100%;position:absolute;top:0;transition:transform .15s ease-in-out}.PlayerSeekbarTicks .PlayerSeekbarTick--warning{--tick-color:var(--warning)}.PlayerSeekbarTicks .PlayerSeekbarTick--danger{--tick-color:var(--danger)}.PlayerSeekbarTicks .PlayerSeekbarTick--primary{--tick-color:var(--primary-3000)}.PlayerSeekbarTicks .PlayerSeekbarTick .PlayerSeekbarTick__line{background-color:var(--tick-color);border-radius:2px;height:100%;margin-left:calc(var(--tick-width)/2*-1);opacity:.5;position:absolute;width:var(--tick-width)}.PlayerSeekbarTicks .PlayerSeekbarTick .PlayerSeekbarTick__info{background-color:var(--tick-color);border-radius:var(--radius);bottom:100%;color:#fff;font-size:.8rem;margin-bottom:.25rem;max-width:20rem;opacity:0;padding:.25rem .5rem;position:absolute;transform:translateX(-50%);transition:opacity .15s ease-in-out;visibility:hidden;white-space:nowrap}.PlayerSeekbarTicks .PlayerSeekbarTick:hover{--tick-width:5px}.PlayerSeekbarTicks .PlayerSeekbarTick:hover .PlayerSeekbarTick__info{opacity:1;visibility:visible}.PlayerSeekbarTicks .PlayerSeekbarTick:hover .PlayerSeekbarTick__line{opacity:1}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/session-recordings/player/inspector/PlayerInspectorList.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,"#PlayerInspectorListMarker{background-color:var(--primary-3000);border-radius:0 var(--radius) var(--radius) 0;height:.5rem;left:0;margin-top:.25rem;pointer-events:none;position:absolute;top:0;transition:transform .2s linear;width:1rem;will-change:transform;z-index:1}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/session-recordings/player/inspector/components/ImagePreview.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,'.ImagePreview__background{background:#eee url(\'data:image/svg+xml;charset=utf-8,\');background-size:30px 30px}',""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/settings/Settings.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".Settings{align-items:start;display:flex;gap:2rem;margin-top:0}.Settings .Settings__sections{flex-shrink:0;max-width:20rem;min-width:14rem;position:sticky;top:4rem;width:20%}.SidePanel3000 .Settings .Settings__sections{top:0}.Settings--compact{flex-direction:column;gap:0}.Settings--compact .Settings__sections{max-width:100%;min-width:100%;position:relative;width:100%}.LemonModal .Settings{margin-top:0}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/settings/organization/InviteModal.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".InviteModal__share_link{display:flex;overflow:scroll;white-space:nowrap;width:175px;-ms-overflow-style:none;scrollbar-width:none}.InviteModal__share_link::-webkit-scrollbar{display:none}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/surveys/EditSurvey.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".presentation-preview .CodeSnippet__actions{display:none}.SurveyForm .LemonCollapsePanel__header{background:var(--border-light)}.question-choice-open-ended-footer{background-color:var(--bg-3000);bottom:-5px;font-size:10px;left:6px;padding:0 5px;position:absolute}.SurveyQuestionDragHandle{color:var(--text-3000);cursor:move;font-size:1.2em;transform:rotate(90deg)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/surveys/SurveyView.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".masonry-container{-moz-column-count:4;column-count:4;-moz-column-gap:10px;column-gap:10px}@media screen and (max-width:1024px){.masonry-container{-moz-column-count:2;column-count:2}}.masonry-item{box-sizing:border-box;display:grid;grid-template-rows:1fr auto;margin:0 0 10px;page-break-inside:avoid;-moz-column-break-inside:avoid;break-inside:avoid}.survey-view .survey-form{z-index:0!important}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/trends/persons-modal/PersonsModal.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".PersonsModal__tabs [role=tablist]{margin-bottom:0;padding:0 1rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/trends/viz/ActionsPie.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".ActionsPie{display:flex;flex:1;flex-direction:row;gap:.5rem;height:100%;width:100%}.ActionsPie .ActionsPie__component{flex:1;min-width:33%;padding:1rem}.ActionsPie .ActionsPie__component .ActionsPie__chart{height:calc(100% - 4.5rem);position:relative;transition:height .5s;width:100%}.ActionsPie .ActionsPie__component h3{letter-spacing:-.025em}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/styles/global.scss":(module,exports,__webpack_require__)=>{var ___CSS_LOADER_API_IMPORT___=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js"),___CSS_LOADER_GET_URL_IMPORT___=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/getUrl.js"),___CSS_LOADER_URL_IMPORT_0___=__webpack_require__("./frontend/public/Inter.woff2"),___CSS_LOADER_URL_IMPORT_1___=__webpack_require__("./frontend/public/Inter.woff");exports=___CSS_LOADER_API_IMPORT___(!1);var ___CSS_LOADER_URL_REPLACEMENT_0___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___),___CSS_LOADER_URL_REPLACEMENT_1___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);exports.push([module.id,":root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74c3c;--toastify-color-transparent:hsla(0,0%,100%,.7);--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-toast-width:320px;--toastify-toast-background:#fff;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);--toastify-color-progress-dark:#bb86fc}.Toastify__toast-container{box-sizing:border-box;color:#fff;padding:4px;position:fixed;-webkit-transform:translate3d(0,0,var(--toastify-z-index) px);width:var(--toastify-toast-width);z-index:var(--toastify-z-index)}.Toastify__toast-container--top-left{left:1em;top:1em}.Toastify__toast-container--top-center{left:50%;top:1em;transform:translateX(-50%)}.Toastify__toast-container--top-right{right:1em;top:1em}.Toastify__toast-container--bottom-left{bottom:1em;left:1em}.Toastify__toast-container--bottom-center{bottom:1em;left:50%;transform:translateX(-50%)}.Toastify__toast-container--bottom-right{bottom:1em;right:1em}@media only screen and (max-width:480px){.Toastify__toast-container{left:0;margin:0;padding:0;width:100vw}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:0;transform:translateX(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:0;transform:translateX(0)}.Toastify__toast-container--rtl{left:auto;right:0}}.Toastify__toast{border-radius:4px;box-shadow:0 1px 10px 0 rgba(0,0,0,.1),0 2px 15px 0 rgba(0,0,0,.05);box-sizing:border-box;cursor:pointer;direction:ltr;display:flex;font-family:var(--toastify-font-family);justify-content:space-between;margin-bottom:1rem;max-height:var(--toastify-toast-max-height);min-height:var(--toastify-toast-min-height);overflow:hidden;padding:8px;position:relative}.Toastify__toast--rtl{direction:rtl}.Toastify__toast-body{align-items:center;display:flex;flex:1 1 auto;margin:auto 0;padding:6px}.Toastify__toast-body>div:last-child{flex:1}.Toastify__toast-icon{display:flex;flex-shrink:0;margin-inline-end:10px;width:20px}.Toastify--animate{animation-duration:.7s;animation-fill-mode:both}.Toastify--animate-icon{animation-duration:.3s;animation-fill-mode:both}@media only screen and (max-width:480px){.Toastify__toast{border-radius:0;margin-bottom:0}}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--colored.Toastify__toast--default,.Toastify__toast-theme--light{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{background:var(--toastify-color-info);color:var(--toastify-text-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{background:var(--toastify-color-success);color:var(--toastify-text-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{background:var(--toastify-color-warning);color:var(--toastify-text-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{background:var(--toastify-color-error);color:var(--toastify-text-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning{background:var(--toastify-color-transparent)}.Toastify__close-button{align-self:flex-start;background:transparent;border:none;color:#fff;cursor:pointer;opacity:.7;outline:none;padding:0;transition:.3s ease}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{bottom:0;height:5px;left:0;opacity:.7;position:absolute;transform-origin:left;width:100%;z-index:var(--toastify-z-index)}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{left:auto;right:0;transform-origin:right}.Toastify__spinner{animation:Toastify__spin .65s linear infinite;border:2px solid;border-color:var(--toastify-spinner-color-empty-area);border-radius:100%;border-right-color:var(--toastify-spinner-color);box-sizing:border-box;height:20px;width:20px}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(2000px,0,0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--top-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--bottom-left,.Toastify__bounce-exit--top-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{opacity:1;transform:perspective(400px) rotateX(10deg)}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:perspective(400px)}30%{opacity:1;transform:perspective(400px) rotateX(-20deg)}to{opacity:0;transform:perspective(400px) rotateX(90deg)}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideOutRight{0%{transform:translateZ(0)}to{transform:translate3d(110%,0,0);visibility:hidden}}@keyframes Toastify__slideOutLeft{0%{transform:translateZ(0)}to{transform:translate3d(-110%,0,0);visibility:hidden}}@keyframes Toastify__slideOutDown{0%{transform:translateZ(0)}to{transform:translate3d(0,500px,0);visibility:hidden}}@keyframes Toastify__slideOutUp{0%{transform:translateZ(0)}to{transform:translate3d(0,-500px,0);visibility:hidden}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--bottom-left,.Toastify__slide-exit--top-left{animation-name:Toastify__slideOutLeft}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{animation-name:Toastify__slideOutRight}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown}@keyframes Toastify__spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url("+___CSS_LOADER_URL_REPLACEMENT_0___+') format("woff2"),url('+___CSS_LOADER_URL_REPLACEMENT_1___+') format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url('+___CSS_LOADER_URL_REPLACEMENT_0___+') format("woff2"),url('+___CSS_LOADER_URL_REPLACEMENT_1___+') format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url('+___CSS_LOADER_URL_REPLACEMENT_0___+') format("woff2"),url('+___CSS_LOADER_URL_REPLACEMENT_1___+') format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:MatterSQ;font-style:normal;font-weight:800;src:url(https://d1sdjtjk6xzm7.cloudfront.net/MatterSQ-Bold.woff2) format("woff2"),url(https://d1sdjtjk6xzm7.cloudfront.net/MatterSQ-Bold.woff) format("woff")}@font-face{font-display:swap;font-family:MatterSQ;font-style:normal;font-weight:700;src:url(https://d1sdjtjk6xzm7.cloudfront.net/MatterSQ-SemiBold.woff2) format("woff2"),url(https://d1sdjtjk6xzm7.cloudfront.net/MatterSQ-SemiBold.woff) format("woff")}@font-face{font-display:swap;font-family:MatterSQ;font-style:normal;font-weight:500;src:url(https://d1sdjtjk6xzm7.cloudfront.net/MatterSQ-Medium.woff2) format("woff2"),url(https://d1sdjtjk6xzm7.cloudfront.net/MatterSQ-Medium.woff) format("woff")}.\\!container{width:100%!important}.container{width:100%}@media (min-width:576px){.\\!container{max-width:576px!important}.container{max-width:576px}}@media (min-width:768px){.\\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:992px){.\\!container{max-width:992px!important}.container{max-width:992px}}@media (min-width:1200px){.\\!container{max-width:1200px!important}.container{max-width:1200px}}@media (min-width:1600px){.\\!container{max-width:1600px!important}.container{max-width:1600px}}/*! tailwindcss v3.4.0 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,Helvetica Neue,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.pointer-events-none{pointer-events:none!important}.pointer-events-auto{pointer-events:auto!important}.\\!visible,.visible{visibility:visible!important}.invisible{visibility:hidden!important}.collapse{visibility:collapse!important}.static{position:static!important}.fixed{position:fixed!important}.absolute{position:absolute!important}.relative{position:relative!important}.sticky{position:sticky!important}.-inset-2{inset:-.5rem!important}.inset-0{inset:0!important}.-bottom-px{bottom:-1px!important}.-left-4{left:-1rem!important}.-left-5{left:-1.25rem!important}.-top-10{top:-2.5rem!important}.-top-4{top:-1rem!important}.-top-px{top:-1px!important}.bottom-0{bottom:0!important}.bottom-0\\.5{bottom:.125rem!important}.bottom-3{bottom:.75rem!important}.left-0{left:0!important}.left-1\\/2{left:50%!important}.left-2{left:.5rem!important}.left-4{left:1rem!important}.right-0{right:0!important}.right-2{right:.5rem!important}.right-3{right:.75rem!important}.right-4{right:1rem!important}.top-0{top:0!important}.top-0\\.5{top:.125rem!important}.top-1\\/2{top:50%!important}.top-16{top:4rem!important}.top-2{top:.5rem!important}.top-4{top:1rem!important}.top-\\[var\\(--breadcrumbs-height-compact\\)\\]{top:var(--breadcrumbs-height-compact)!important}.top-\\[var\\(--breadcrumbs-height-full\\)\\]{top:var(--breadcrumbs-height-full)!important}.isolate{isolation:isolate!important}.z-0{z-index:0!important}.z-10{z-index:10!important}.z-20{z-index:20!important}.z-50{z-index:50!important}.z-\\[1000\\]{z-index:1000!important}.z-\\[1\\]{z-index:1!important}.z-\\[2147483010\\]{z-index:2147483010!important}.z-\\[2147483021\\]{z-index:2147483021!important}.z-\\[7\\]{z-index:7!important}.z-\\[var\\(--z-popover\\)\\]{z-index:var(--z-popover)!important}.col-span-1{grid-column:span 1/span 1!important}.col-span-2{grid-column:span 2/span 2!important}.col-span-3{grid-column:span 3/span 3!important}.col-span-4{grid-column:span 4/span 4!important}.col-span-6{grid-column:span 6/span 6!important}.col-span-8{grid-column:span 8/span 8!important}.col-span-full{grid-column:1/-1!important}.col-start-2{grid-column-start:2!important}.row-span-1{grid-row:span 1/span 1!important}.row-start-2{grid-row-start:2!important}.float-right{float:right!important}.-m-1{margin:-.25rem!important}.-m-1\\.5{margin:-.375rem!important}.-m-4{margin:-1rem!important}.-m-scene-padding{margin:calc(var(--scene-padding)*-1)!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-1\\.5{margin:.375rem!important}.m-10{margin:2.5rem!important}.m-2{margin:.5rem!important}.m-3{margin:.75rem!important}.m-4{margin:1rem!important}.m-5{margin:1.25rem!important}.m-6{margin:1.5rem!important}.m-\\[-2px\\]{margin:-2px!important}.m-auto{margin:auto!important}.-mx-1{margin-left:-.25rem!important;margin-right:-.25rem!important}.-mx-2{margin-left:-.5rem!important;margin-right:-.5rem!important}.-my-1{margin-bottom:-.25rem!important;margin-top:-.25rem!important}.-my-5{margin-bottom:-1.25rem!important;margin-top:-1.25rem!important}.mx-0{margin-left:0!important;margin-right:0!important}.mx-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-1\\.5{margin-left:.375rem!important;margin-right:.375rem!important}.mx-10{margin-left:2.5rem!important;margin-right:2.5rem!important}.mx-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-3{margin-left:.75rem!important;margin-right:.75rem!important}.mx-4{margin-left:1rem!important;margin-right:1rem!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.my-0{margin-bottom:0!important;margin-top:0!important}.my-0\\.5{margin-bottom:.125rem!important;margin-top:.125rem!important}.my-1{margin-bottom:.25rem!important;margin-top:.25rem!important}.my-10{margin-bottom:2.5rem!important;margin-top:2.5rem!important}.my-16{margin-bottom:4rem!important;margin-top:4rem!important}.my-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.my-2\\.5{margin-bottom:.625rem!important;margin-top:.625rem!important}.my-20{margin-bottom:5rem!important;margin-top:5rem!important}.my-3{margin-bottom:.75rem!important;margin-top:.75rem!important}.my-4{margin-bottom:1rem!important;margin-top:1rem!important}.my-6{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.my-8{margin-bottom:2rem!important;margin-top:2rem!important}.my-auto{margin-bottom:auto!important;margin-top:auto!important}.-mb-12{margin-bottom:-3rem!important}.-mb-14{margin-bottom:-3.5rem!important}.-mb-6{margin-bottom:-1.5rem!important}.-mr-0{margin-right:0!important}.-mr-0\\.5{margin-right:-.125rem!important}.-mr-1{margin-right:-.25rem!important}.-mr-2{margin-right:-.5rem!important}.-mt-1{margin-top:-.25rem!important}.-mt-2{margin-top:-.5rem!important}.-mt-3{margin-top:-.75rem!important}.-mt-8{margin-top:-2rem!important}.mb-0{margin-bottom:0!important}.mb-0\\.5{margin-bottom:.125rem!important}.mb-1{margin-bottom:.25rem!important}.mb-1\\.5{margin-bottom:.375rem!important}.mb-10{margin-bottom:2.5rem!important}.mb-12{margin-bottom:3rem!important}.mb-16{margin-bottom:4rem!important}.mb-2{margin-bottom:.5rem!important}.mb-2\\.5{margin-bottom:.625rem!important}.mb-3{margin-bottom:.75rem!important}.mb-4{margin-bottom:1rem!important}.mb-5{margin-bottom:1.25rem!important}.mb-6{margin-bottom:1.5rem!important}.mb-8{margin-bottom:2rem!important}.ml-0{margin-left:0!important}.ml-0\\.5{margin-left:.125rem!important}.ml-1{margin-left:.25rem!important}.ml-1\\.5{margin-left:.375rem!important}.ml-10{margin-left:2.5rem!important}.ml-11{margin-left:2.75rem!important}.ml-12{margin-left:3rem!important}.ml-16{margin-left:4rem!important}.ml-2{margin-left:.5rem!important}.ml-3{margin-left:.75rem!important}.ml-4{margin-left:1rem!important}.ml-5{margin-left:1.25rem!important}.ml-8{margin-left:2rem!important}.ml-9{margin-left:2.25rem!important}.ml-auto{margin-left:auto!important}.mr-0{margin-right:0!important}.mr-1{margin-right:.25rem!important}.mr-1\\.5{margin-right:.375rem!important}.mr-10{margin-right:2.5rem!important}.mr-2{margin-right:.5rem!important}.mr-20{margin-right:5rem!important}.mr-3{margin-right:.75rem!important}.mr-4{margin-right:1rem!important}.mr-5{margin-right:1.25rem!important}.mr-6{margin-right:1.5rem!important}.mr-8{margin-right:2rem!important}.mr-auto{margin-right:auto!important}.mt-0{margin-top:0!important}.mt-0\\.5{margin-top:.125rem!important}.mt-1{margin-top:.25rem!important}.mt-1\\.5{margin-top:.375rem!important}.mt-10{margin-top:2.5rem!important}.mt-12{margin-top:3rem!important}.mt-16{margin-top:4rem!important}.mt-2{margin-top:.5rem!important}.mt-2\\.5{margin-top:.625rem!important}.mt-20{margin-top:5rem!important}.mt-3{margin-top:.75rem!important}.mt-4{margin-top:1rem!important}.mt-5{margin-top:1.25rem!important}.mt-6{margin-top:1.5rem!important}.mt-8{margin-top:2rem!important}.mt-auto{margin-top:auto!important}.box-content{box-sizing:initial!important}.line-clamp-1{-webkit-line-clamp:1!important}.line-clamp-1,.line-clamp-2{display:-webkit-box!important;overflow:hidden!important;-webkit-box-orient:vertical!important}.line-clamp-2{-webkit-line-clamp:2!important}.line-clamp-3{display:-webkit-box!important;overflow:hidden!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important}.block{display:block!important}.inline-block{display:inline-block!important}.inline{display:inline!important}.flex{display:flex!important}.inline-flex{display:inline-flex!important}.\\!table,.table{display:table!important}.grid{display:grid!important}.inline-grid{display:inline-grid!important}.\\!contents,.contents{display:contents!important}.hidden{display:none!important}.size-16{height:4rem!important;width:4rem!important}.size-3{height:.75rem!important;width:.75rem!important}.size-4{height:1rem!important;width:1rem!important}.size-5{height:1.25rem!important;width:1.25rem!important}.size-6{height:1.5rem!important;width:1.5rem!important}.size-\\[18px\\]{height:18px!important;width:18px!important}.size-\\[400\\%\\]{height:400%!important;width:400%!important}.size-full{height:100%!important;width:100%!important}.h-0{height:0!important}.h-1{height:.25rem!important}.h-1\\.5{height:.375rem!important}.h-10{height:2.5rem!important}.h-100{height:25rem!important}.h-12{height:3rem!important}.h-120{height:30rem!important}.h-14{height:3.5rem!important}.h-15{height:3.75rem!important}.h-16{height:4rem!important}.h-18{height:4.5rem!important}.h-2{height:.5rem!important}.h-2\\.5{height:.625rem!important}.h-20{height:5rem!important}.h-24{height:6rem!important}.h-3{height:.75rem!important}.h-3\\.5{height:.875rem!important}.h-30{height:7.5rem!important}.h-32{height:8rem!important}.h-4{height:1rem!important}.h-40{height:10rem!important}.h-5{height:1.25rem!important}.h-50{height:12.5rem!important}.h-52{height:13rem!important}.h-6{height:1.5rem!important}.h-60{height:15rem!important}.h-7{height:1.75rem!important}.h-8{height:2rem!important}.h-80{height:20rem!important}.h-9{height:2.25rem!important}.h-96{height:24rem!important}.h-\\[180px\\]{height:180px!important}.h-\\[1em\\]{height:1em!important}.h-\\[200px\\]{height:200px!important}.h-\\[222px\\]{height:222px!important}.h-\\[300px\\]{height:300px!important}.h-\\[30rem\\]{height:30rem!important}.h-\\[33px\\]{height:33px!important}.h-\\[360px\\]{height:360px!important}.h-\\[50vh\\]{height:50vh!important}.h-\\[55px\\]{height:55px!important}.h-\\[80\\%\\]{height:80%!important}.h-\\[80vh\\]{height:80vh!important}.h-\\[90vh\\]{height:90vh!important}.h-auto{height:auto!important}.h-fit{height:-moz-fit-content!important;height:fit-content!important}.h-full{height:100%!important}.h-screen{height:100vh!important}.max-h-10{max-height:2.5rem!important}.max-h-100{max-height:25rem!important}.max-h-140{max-height:35rem!important}.max-h-16{max-height:4rem!important}.max-h-200{max-height:50rem!important}.max-h-60{max-height:15rem!important}.max-h-64{max-height:16rem!important}.max-h-80{max-height:20rem!important}.max-h-\\[100vh\\]{max-height:100vh!important}.max-h-\\[16rem\\]{max-height:16rem!important}.max-h-\\[80vh\\]{max-height:80vh!important}.max-h-full{max-height:100%!important}.min-h-10{min-height:2.5rem!important}.min-h-100{min-height:25rem!important}.min-h-120{min-height:30rem!important}.min-h-16{min-height:4rem!important}.min-h-20{min-height:5rem!important}.min-h-24{min-height:6rem!important}.min-h-30{min-height:7.5rem!important}.min-h-4{min-height:1rem!important}.min-h-50{min-height:12.5rem!important}.min-h-56{min-height:14rem!important}.min-h-6{min-height:1.5rem!important}.min-h-60{min-height:15rem!important}.min-h-8{min-height:2rem!important}.min-h-80{min-height:20rem!important}.min-h-\\[30rem\\]{min-height:30rem!important}.min-h-\\[32rem\\]{min-height:32rem!important}.min-h-\\[420px\\]{min-height:420px!important}.min-h-\\[80vh\\]{min-height:80vh!important}.w-0{width:0!important}.w-1\\/2{width:50%!important}.w-1\\/3{width:33.333333%!important}.w-1\\/4{width:25%!important}.w-1\\/5{width:20%!important}.w-1\\/6{width:16.666667%!important}.w-10{width:2.5rem!important}.w-100{width:25rem!important}.w-12{width:3rem!important}.w-120{width:30rem!important}.w-14{width:3.5rem!important}.w-140{width:35rem!important}.w-15{width:3.75rem!important}.w-16{width:4rem!important}.w-160{width:40rem!important}.w-18{width:4.5rem!important}.w-192{width:48rem!important}.w-2{width:.5rem!important}.w-2\\.5{width:.625rem!important}.w-2\\/3{width:66.666667%!important}.w-2\\/5{width:40%!important}.w-20{width:5rem!important}.w-200{width:50rem!important}.w-24{width:6rem!important}.w-28{width:7rem!important}.w-3{width:.75rem!important}.w-3\\.5{width:.875rem!important}.w-3\\/4{width:75%!important}.w-3\\/5{width:60%!important}.w-30{width:7.5rem!important}.w-32{width:8rem!important}.w-4{width:1rem!important}.w-40{width:10rem!important}.w-44{width:11rem!important}.w-48{width:12rem!important}.w-5{width:1.25rem!important}.w-5\\/6{width:83.333333%!important}.w-50{width:12.5rem!important}.w-52{width:13rem!important}.w-6{width:1.5rem!important}.w-60{width:15rem!important}.w-64{width:16rem!important}.w-7{width:1.75rem!important}.w-8{width:2rem!important}.w-80{width:20rem!important}.w-\\[12\\.5\\%\\]{width:12.5%!important}.w-\\[12rem\\]{width:12rem!important}.w-\\[15\\%\\]{width:15%!important}.w-\\[1em\\]{width:1em!important}.w-\\[200px\\]{width:200px!important}.w-\\[20px\\]{width:20px!important}.w-\\[24rem\\]{width:24rem!important}.w-\\[350px\\]{width:350px!important}.w-\\[50vw\\]{width:50vw!important}.w-\\[min\\(44rem\\2c 100\\%\\)\\]{width:min(44rem,100%)!important}.w-\\[min\\(48rem\\2c 100\\%\\)\\]{width:min(48rem,100%)!important}.w-auto{width:auto!important}.w-fit{width:-moz-fit-content!important;width:fit-content!important}.w-full{width:100%!important}.w-max{width:-moz-max-content!important;width:max-content!important}.w-px{width:1px!important}.min-w-0{min-width:0!important}.min-w-1{min-width:.25rem!important}.min-w-1\\.5{min-width:.375rem!important}.min-w-1\\/3{min-width:33.333333%!important}.min-w-100{min-width:25rem!important}.min-w-120{min-width:30rem!important}.min-w-16{min-width:4rem!important}.min-w-18{min-width:4.5rem!important}.min-w-30{min-width:7.5rem!important}.min-w-32{min-width:8rem!important}.min-w-4{min-width:1rem!important}.min-w-40{min-width:10rem!important}.min-w-44{min-width:11rem!important}.min-w-5{min-width:1.25rem!important}.min-w-50{min-width:12.5rem!important}.min-w-56{min-width:14rem!important}.min-w-6{min-width:1.5rem!important}.min-w-60{min-width:15rem!important}.min-w-64{min-width:16rem!important}.min-w-80{min-width:20rem!important}.min-w-96{min-width:24rem!important}.min-w-\\[0\\.5rem\\]{min-width:.5rem!important}.min-w-\\[1000px\\]{min-width:1000px!important}.min-w-\\[10rem\\]{min-width:10rem!important}.min-w-\\[12\\.5rem\\]{min-width:12.5rem!important}.min-w-\\[15rem\\]{min-width:15rem!important}.min-w-\\[16rem\\]{min-width:16rem!important}.min-w-\\[1rem\\]{min-width:1rem!important}.min-w-\\[200px\\]{min-width:200px!important}.min-w-\\[20rem\\]{min-width:20rem!important}.min-w-\\[25rem\\]{min-width:25rem!important}.min-w-\\[2rem\\]{min-width:2rem!important}.min-w-\\[300px\\]{min-width:300px!important}.min-w-\\[34rem\\]{min-width:34rem!important}.min-w-\\[40rem\\]{min-width:40rem!important}.min-w-\\[50rem\\]{min-width:50rem!important}.min-w-\\[5rem\\]{min-width:5rem!important}.min-w-\\[7\\.5rem\\]{min-width:7.5rem!important}.min-w-full{min-width:100%!important}.max-w-1\\/2{max-width:50%!important}.max-w-100{max-width:25rem!important}.max-w-120{max-width:30rem!important}.max-w-140{max-width:35rem!important}.max-w-160{max-width:40rem!important}.max-w-192{max-width:48rem!important}.max-w-20{max-width:5rem!important}.max-w-200{max-width:50rem!important}.max-w-24{max-width:6rem!important}.max-w-248{max-width:62rem!important}.max-w-28{max-width:7rem!important}.max-w-2xl{max-width:42rem!important}.max-w-30{max-width:7.5rem!important}.max-w-300{max-width:75rem!important}.max-w-40{max-width:10rem!important}.max-w-44{max-width:11rem!important}.max-w-48{max-width:12rem!important}.max-w-4xl{max-width:56rem!important}.max-w-52{max-width:13rem!important}.max-w-56{max-width:14rem!important}.max-w-60{max-width:15rem!important}.max-w-64{max-width:16rem!important}.max-w-6xl{max-width:72rem!important}.max-w-72{max-width:18rem!important}.max-w-80{max-width:20rem!important}.max-w-96{max-width:24rem!important}.max-w-\\[30rem\\]{max-width:30rem!important}.max-w-\\[43rem\\]{max-width:43rem!important}.max-w-\\[50rem\\]{max-width:50rem!important}.max-w-\\[60vw\\]{max-width:60vw!important}.max-w-\\[800px\\]{max-width:800px!important}.max-w-\\[90\\%\\]{max-width:90%!important}.max-w-\\[920px\\]{max-width:920px!important}.max-w-full{max-width:100%!important}.max-w-lg{max-width:32rem!important}.max-w-max{max-width:-moz-max-content!important;max-width:max-content!important}.max-w-md{max-width:28rem!important}.max-w-none{max-width:none!important}.max-w-screen-md{max-width:768px!important}.max-w-screen-xl{max-width:1200px!important}.max-w-sm{max-width:24rem!important}.max-w-xl{max-width:36rem!important}.max-w-xs{max-width:20rem!important}.flex-1{flex:1 1 0%!important}.flex-2{flex:2 2 0%!important}.flex-auto{flex:1 1 auto!important}.flex-none{flex:none!important}.flex-shrink{flex-shrink:1!important}.flex-shrink-0{flex-shrink:0!important}.shrink{flex-shrink:1!important}.shrink-0{flex-shrink:0!important}.flex-grow,.grow{flex-grow:1!important}.grow-0{flex-grow:0!important}.grow-\\[1000\\]{flex-grow:1000!important}.basis-full{flex-basis:100%!important}.table-auto{table-layout:auto!important}.table-fixed{table-layout:fixed!important}.border-collapse{border-collapse:collapse!important}.border-spacing-2{--tw-border-spacing-x:0.5rem!important;--tw-border-spacing-y:0.5rem!important;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y)!important}.origin-top-left{transform-origin:top left!important}.-translate-x-1\\/2{--tw-translate-x:-50%!important}.-translate-x-1\\/2,.-translate-y-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.-translate-y-1\\/2{--tw-translate-y:-50%!important}.-translate-y-2{--tw-translate-y:-0.5rem!important}.-translate-y-2,.translate-x-\\[-3\\%\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.translate-x-\\[-3\\%\\]{--tw-translate-x:-3%!important}.translate-y-10{--tw-translate-y:2.5rem!important}.translate-y-10,.translate-y-2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.translate-y-2{--tw-translate-y:0.5rem!important}.translate-y-\\[10\\%\\]{--tw-translate-y:10%!important}.-rotate-90,.translate-y-\\[10\\%\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.-rotate-90{--tw-rotate:-90deg!important}.rotate-270{--tw-rotate:270deg!important}.rotate-270,.rotate-90{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.rotate-90{--tw-rotate:90deg!important}.scale-90{--tw-scale-x:.9!important;--tw-scale-y:.9!important}.scale-90,.scale-\\[0\\.8\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.scale-\\[0\\.8\\]{--tw-scale-x:0.8!important;--tw-scale-y:0.8!important}.scale-\\[1\\.8\\]{--tw-scale-x:1.8!important;--tw-scale-y:1.8!important}.scale-\\[1\\.8\\],.scale-x-\\[-1\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.scale-x-\\[-1\\]{--tw-scale-x:-1!important}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}@keyframes pulse{50%{opacity:.5}}.animate-\\[pulse_1s_ease-out_infinite\\]{animation:pulse 1s ease-out infinite!important}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite!important}.animate-spin{animation:spin 1s linear infinite!important}.cursor-auto{cursor:auto!important}.cursor-default{cursor:default!important}.cursor-grab{cursor:grab!important}.cursor-grabbing{cursor:grabbing!important}.cursor-help{cursor:help!important}.cursor-move{cursor:move!important}.cursor-not-allowed{cursor:not-allowed!important}.cursor-pointer{cursor:pointer!important}.cursor-s-resize{cursor:s-resize!important}.cursor-text{cursor:text!important}.cursor-zoom-in{cursor:zoom-in!important}.select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.select-text{-webkit-user-select:text!important;-moz-user-select:text!important;user-select:text!important}.resize-none{resize:none!important}.resize-y{resize:vertical!important}.resize{resize:both!important}.list-inside{list-style-position:inside!important}.list-disc{list-style-type:disc!important}.list-none{list-style-type:none!important}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}.grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))!important}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))!important}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))!important}.grid-cols-\\[8\\.5rem_1fr\\]{grid-template-columns:8.5rem 1fr!important}.grid-cols-\\[auto_1fr\\]{grid-template-columns:auto 1fr!important}.grid-cols-\\[min-content_auto\\]{grid-template-columns:min-content auto!important}.grid-cols-\\[repeat\\(2\\2c _minmax\\(min-content\\2c _160px\\)\\)\\]{grid-template-columns:repeat(2,minmax(min-content,160px))!important}.grid-rows-\\[160px\\]{grid-template-rows:160px!important}.grid-rows-\\[49px_calc\\(40rem-49px\\)\\]{grid-template-rows:49px calc(40rem - 49px)!important}.grid-rows-\\[repeat\\(2\\2c _48px\\)\\]{grid-template-rows:repeat(2,48px)!important}.flex-row{flex-direction:row!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-col{flex-direction:column!important}.flex-wrap{flex-wrap:wrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-nowrap{flex-wrap:nowrap!important}.place-items-center{place-items:center!important}.items-start{align-items:flex-start!important}.items-end{align-items:flex-end!important}.items-center{align-items:center!important}.items-baseline{align-items:baseline!important}.items-stretch{align-items:stretch!important}.justify-start{justify-content:flex-start!important}.justify-end{justify-content:flex-end!important}.justify-center{justify-content:center!important}.justify-between{justify-content:space-between!important}.justify-around{justify-content:space-around!important}.justify-items-center{justify-items:center!important}.gap-0{gap:0!important}.gap-0\\.5{gap:.125rem!important}.gap-1{gap:.25rem!important}.gap-1\\.5{gap:.375rem!important}.gap-10{gap:2.5rem!important}.gap-16{gap:4rem!important}.gap-2{gap:.5rem!important}.gap-2\\.5{gap:.625rem!important}.gap-3{gap:.75rem!important}.gap-3\\.5{gap:.875rem!important}.gap-4{gap:1rem!important}.gap-5{gap:1.25rem!important}.gap-6{gap:1.5rem!important}.gap-8{gap:2rem!important}.gap-\\[10\\%\\]{gap:10%!important}.gap-x-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.gap-x-12{-moz-column-gap:3rem!important;column-gap:3rem!important}.gap-x-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.gap-x-3{-moz-column-gap:.75rem!important;column-gap:.75rem!important}.gap-x-4{-moz-column-gap:1rem!important;column-gap:1rem!important}.gap-x-8{-moz-column-gap:2rem!important;column-gap:2rem!important}.gap-y-1{row-gap:.25rem!important}.gap-y-1\\.5{row-gap:.375rem!important}.gap-y-12{row-gap:3rem!important}.gap-y-2{row-gap:.5rem!important}.gap-y-4{row-gap:1rem!important}.gap-y-px{row-gap:1px!important}.space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(0px*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(0px*var(--tw-space-x-reverse))!important}.space-x-0\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(.125rem*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(.125rem*var(--tw-space-x-reverse))!important}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(.25rem*var(--tw-space-x-reverse))!important}.space-x-1\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(.375rem*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(.375rem*var(--tw-space-x-reverse))!important}.space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(3rem*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(3rem*var(--tw-space-x-reverse))!important}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(.5rem*var(--tw-space-x-reverse))!important}.space-x-2\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(.625rem*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(.625rem*var(--tw-space-x-reverse))!important}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(.75rem*var(--tw-space-x-reverse))!important}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(1rem*var(--tw-space-x-reverse))!important}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(1.5rem*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(1.5rem*var(--tw-space-x-reverse))!important}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(2rem*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(2rem*var(--tw-space-x-reverse))!important}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(0px*var(--tw-space-y-reverse))!important;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))!important}.space-y-0\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(.125rem*var(--tw-space-y-reverse))!important;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)))!important}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(.25rem*var(--tw-space-y-reverse))!important;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))!important}.space-y-1\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(.375rem*var(--tw-space-y-reverse))!important;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)))!important}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(3rem*var(--tw-space-y-reverse))!important;margin-top:calc(3rem*(1 - var(--tw-space-y-reverse)))!important}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(.5rem*var(--tw-space-y-reverse))!important;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))!important}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(.75rem*var(--tw-space-y-reverse))!important;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))!important}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(1rem*var(--tw-space-y-reverse))!important;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))!important}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(1.25rem*var(--tw-space-y-reverse))!important;margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)))!important}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))!important;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))!important}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(2rem*var(--tw-space-y-reverse))!important;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))!important}.space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(1px*var(--tw-space-y-reverse))!important;margin-top:calc(1px*(1 - var(--tw-space-y-reverse)))!important}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0!important;border-left-width:calc(1px*(1 - var(--tw-divide-x-reverse)))!important;border-right-width:calc(1px*var(--tw-divide-x-reverse))!important}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0!important;border-bottom-width:calc(1px*var(--tw-divide-y-reverse))!important;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))!important}.self-start{align-self:flex-start!important}.self-center{align-self:center!important}.self-stretch{align-self:stretch!important}.justify-self-center{justify-self:center!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-clip{overflow:clip!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-scroll{overflow-y:scroll!important}.overscroll-contain{overscroll-behavior:contain!important}.overscroll-none{overscroll-behavior:none!important}.truncate{overflow:hidden!important;white-space:nowrap!important}.overflow-ellipsis,.text-ellipsis,.truncate{text-overflow:ellipsis!important}.whitespace-nowrap{white-space:nowrap!important}.whitespace-pre{white-space:pre!important}.whitespace-pre-wrap{white-space:pre-wrap!important}.text-wrap{text-wrap:wrap!important}.text-nowrap{text-wrap:nowrap!important}.text-balance{text-wrap:balance!important}.text-pretty{text-wrap:pretty!important}.break-words{overflow-wrap:break-word!important}.break-all{word-break:break-all!important}.break-keep{word-break:keep-all!important}.rounded{border-radius:var(--radius)!important}.rounded-\\[0px\\]{border-radius:0!important}.rounded-\\[var\\(--radius\\)\\]{border-radius:var(--radius)!important}.rounded-full{border-radius:9999px!important}.rounded-lg{border-radius:var(--radius-lg)!important}.rounded-none{border-radius:0!important}.rounded-sm{border-radius:var(--radius-sm)!important}.rounded-b{border-bottom-right-radius:var(--radius)!important}.rounded-b,.rounded-l{border-bottom-left-radius:var(--radius)!important}.rounded-l{border-top-left-radius:var(--radius)!important}.rounded-l-none{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-r{border-bottom-right-radius:var(--radius)!important;border-top-right-radius:var(--radius)!important}.rounded-r-none{border-bottom-right-radius:0!important;border-top-right-radius:0!important}.rounded-t{border-top-left-radius:var(--radius)!important;border-top-right-radius:var(--radius)!important}.rounded-t-none{border-top-left-radius:0!important;border-top-right-radius:0!important}.border{border-width:1px!important}.border-0{border-width:0!important}.border-2{border-width:2px!important}.border-y{border-top-width:1px!important}.border-b,.border-y{border-bottom-width:1px!important}.border-b-2{border-bottom-width:2px!important}.border-l{border-left-width:1px!important}.border-l-2{border-left-width:2px!important}.border-l-4{border-left-width:4px!important}.border-l-\\[5px\\]{border-left-width:5px!important}.border-r{border-right-width:1px!important}.border-t{border-top-width:1px!important}.border-t-0{border-top-width:0!important}.border-dashed{border-style:dashed!important}.border-dotted{border-style:dotted!important}.border-none{border-style:none!important}.border-\\[var\\(--glass-border-3000\\)\\]{border-color:var(--glass-border-3000)!important}.border-l-\\[\\#8F98FF\\]{--tw-border-opacity:1!important;border-left-color:rgb(143 152 255/var(--tw-border-opacity))!important}.border-l-\\[\\#94D674\\]{--tw-border-opacity:1!important;border-left-color:rgb(148 214 116/var(--tw-border-opacity))!important}.border-l-\\[\\#FF9870\\]{--tw-border-opacity:1!important;border-left-color:rgb(255 152 112/var(--tw-border-opacity))!important}.bg-\\[\\#000\\]{--tw-bg-opacity:1!important;background-color:rgb(0 0 0/var(--tw-bg-opacity))!important}.bg-\\[hsla\\(100\\2c 74\\%\\2c 98\\%\\2c 1\\)\\]{background-color:#f9fef6!important}.bg-\\[hsla\\(19\\2c 99\\%\\2c 99\\%\\2c 1\\)\\]{background-color:#fffcfa!important}.bg-\\[hsla\\(235\\2c 100\\%\\2c 99\\%\\2c 1\\)\\]{background-color:#fafaff!important}.bg-\\[var\\(--bg-light\\)\\]{background-color:var(--bg-light)!important}.bg-\\[var\\(--bg-table\\)\\]{background-color:var(--bg-table)!important}.bg-\\[var\\(--glass-bg-3000\\)\\]{background-color:var(--glass-bg-3000)!important}.bg-\\[var\\(--tooltip-bg\\)\\]{background-color:var(--tooltip-bg)!important}.bg-\\[white\\]{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important}.bg-contain{background-size:contain!important}.bg-cover{background-size:cover!important}.bg-no-repeat{background-repeat:no-repeat!important}.object-contain{object-fit:contain!important}.object-cover{object-fit:cover!important}.p-0{padding:0!important}.p-0\\.5{padding:.125rem!important}.p-1{padding:.25rem!important}.p-1\\.5{padding:.375rem!important}.p-10{padding:2.5rem!important}.p-16{padding:4rem!important}.p-2{padding:.5rem!important}.p-20{padding:5rem!important}.p-3{padding:.75rem!important}.p-4{padding:1rem!important}.p-5{padding:1.25rem!important}.p-6{padding:1.5rem!important}.p-8{padding:2rem!important}.p-\\[calc\\(0\\.5rem-1px\\)\\]{padding:calc(.5rem - 1px)!important}.px-0{padding-left:0!important;padding-right:0!important}.px-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-1\\.5{padding-left:.375rem!important;padding-right:.375rem!important}.px-12{padding-left:3rem!important;padding-right:3rem!important}.px-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-3{padding-left:.75rem!important;padding-right:.75rem!important}.px-4{padding-left:1rem!important;padding-right:1rem!important}.px-5{padding-left:1.25rem!important;padding-right:1.25rem!important}.px-6{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-8{padding-left:2rem!important;padding-right:2rem!important}.px-\\[calc\\(1\\.5rem\\+1px\\)\\]{padding-left:calc(1.5rem + 1px)!important;padding-right:calc(1.5rem + 1px)!important}.px-px{padding-left:1px!important;padding-right:1px!important}.py-0{padding-bottom:0!important;padding-top:0!important}.py-0\\.5{padding-bottom:.125rem!important;padding-top:.125rem!important}.py-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.py-1\\.5{padding-bottom:.375rem!important;padding-top:.375rem!important}.py-10{padding-bottom:2.5rem!important;padding-top:2.5rem!important}.py-12{padding-bottom:3rem!important;padding-top:3rem!important}.py-15{padding-bottom:3.75rem!important;padding-top:3.75rem!important}.py-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.py-20{padding-bottom:5rem!important;padding-top:5rem!important}.py-3{padding-bottom:.75rem!important;padding-top:.75rem!important}.py-4{padding-bottom:1rem!important;padding-top:1rem!important}.py-5{padding-bottom:1.25rem!important;padding-top:1.25rem!important}.py-6{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.py-8{padding-bottom:2rem!important;padding-top:2rem!important}.py-px{padding-bottom:1px!important;padding-top:1px!important}.pb-1{padding-bottom:.25rem!important}.pb-1\\.5{padding-bottom:.375rem!important}.pb-2{padding-bottom:.5rem!important}.pb-2\\.5{padding-bottom:.625rem!important}.pb-3{padding-bottom:.75rem!important}.pb-4{padding-bottom:1rem!important}.pb-6{padding-bottom:1.5rem!important}.pb-8{padding-bottom:2rem!important}.pb-\\[30rem\\]{padding-bottom:30rem!important}.pl-0{padding-left:0!important}.pl-0\\.5{padding-left:.125rem!important}.pl-1{padding-left:.25rem!important}.pl-1\\.5{padding-left:.375rem!important}.pl-10{padding-left:2.5rem!important}.pl-16{padding-left:4rem!important}.pl-2{padding-left:.5rem!important}.pl-3{padding-left:.75rem!important}.pl-4{padding-left:1rem!important}.pl-6{padding-left:1.5rem!important}.pl-7{padding-left:1.75rem!important}.pl-8{padding-left:2rem!important}.pr-1{padding-right:.25rem!important}.pr-1\\.5{padding-right:.375rem!important}.pr-10{padding-right:2.5rem!important}.pr-14{padding-right:3.5rem!important}.pr-2{padding-right:.5rem!important}.pr-3{padding-right:.75rem!important}.pr-4{padding-right:1rem!important}.pr-5{padding-right:1.25rem!important}.pr-7{padding-right:1.75rem!important}.pr-9{padding-right:2.25rem!important}.pt-1{padding-top:.25rem!important}.pt-1\\.5{padding-top:.375rem!important}.pt-12{padding-top:3rem!important}.pt-16{padding-top:4rem!important}.pt-2{padding-top:.5rem!important}.pt-4{padding-top:1rem!important}.pt-5{padding-top:1.25rem!important}.pt-6{padding-top:1.5rem!important}.pt-8{padding-top:2rem!important}.pt-px{padding-top:1px!important}.text-left{text-align:left!important}.text-center{text-align:center!important}.text-right{text-align:right!important}.text-start{text-align:start!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-\\[-0\\.25em\\]{vertical-align:-.25em!important}.font-mono{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace!important}.font-sans{font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,Helvetica Neue,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol!important}.font-title{font-family:MatterSQ,-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,Helvetica Neue,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol!important}.text-2xl{font-size:1.5rem!important;line-height:2rem!important}.text-3xl{font-size:1.875rem!important;line-height:2.25rem!important}.text-4xl{font-size:2.25rem!important;line-height:2.5rem!important}.text-5xl{font-size:3rem!important;line-height:1!important}.text-6xl{font-size:3.75rem!important;line-height:1!important}.text-7xl{font-size:4.5rem!important;line-height:1!important}.text-\\[0\\.6875rem\\]{font-size:.6875rem!important}.text-\\[0\\.8125rem\\]{font-size:.8125rem!important}.text-\\[11px\\]{font-size:11px!important}.text-\\[13px\\]{font-size:13px!important}.text-\\[15px\\]{font-size:15px!important}.text-\\[17px\\]{font-size:17px!important}.text-base{font-size:1rem!important;line-height:1.5rem!important}.text-lg{font-size:1.125rem!important;line-height:1.75rem!important}.text-sm{font-size:.875rem!important;line-height:1.25rem!important}.text-xl{font-size:1.25rem!important;line-height:1.75rem!important}.text-xs{font-size:.75rem!important;line-height:1rem!important}.text-xxs{font-size:.625rem!important;line-height:.75rem!important}.font-bold{font-weight:700!important}.font-light{font-weight:300!important}.font-medium{font-weight:500!important}.font-normal{font-weight:400!important}.font-semibold{font-weight:600!important}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.capitalize{text-transform:capitalize!important}.italic{font-style:italic!important}.not-italic{font-style:normal!important}.tabular-nums{--tw-numeric-spacing:tabular-nums!important;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)!important;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)!important}.leading-10{line-height:2.5rem!important}.leading-4{line-height:1rem!important}.leading-5{line-height:1.25rem!important}.leading-6{line-height:1.5rem!important}.leading-7{line-height:1.75rem!important}.leading-8{line-height:2rem!important}.leading-\\[0px\\]{line-height:0px!important}.leading-\\[normal\\]{line-height:normal!important}.leading-none{line-height:1!important}.leading-relaxed{line-height:1.625!important}.leading-tight{line-height:1.25!important}.tracking-normal{letter-spacing:0!important}.tracking-tight{letter-spacing:-.025em!important}.tracking-wide{letter-spacing:.025em!important}.tracking-wider{letter-spacing:.05em!important}.text-\\[\\#2EA2D3\\]{--tw-text-opacity:1!important;color:rgb(46 162 211/var(--tw-text-opacity))!important}.text-\\[\\#2F80FA\\]{--tw-text-opacity:1!important;color:rgb(47 128 250/var(--tw-text-opacity))!important}.text-\\[\\#30ABC6\\]{--tw-text-opacity:1!important;color:rgb(48 171 198/var(--tw-text-opacity))!important}.text-\\[\\#36C46F\\]{--tw-text-opacity:1!important;color:rgb(54 196 111/var(--tw-text-opacity))!important}.text-\\[\\#681291\\]{--tw-text-opacity:1!important;color:rgb(104 18 145/var(--tw-text-opacity))!important}.text-\\[\\#8567FF\\]{--tw-text-opacity:1!important;color:rgb(133 103 255/var(--tw-text-opacity))!important}.text-\\[\\#B62AD9\\]{--tw-text-opacity:1!important;color:rgb(182 42 217/var(--tw-text-opacity))!important}.text-\\[var\\(--text-secondary-3000\\)\\]{color:var(--text-secondary-3000)!important}.text-\\[var\\(--trace-3000\\)\\]{color:var(--trace-3000)!important}.underline{text-decoration-line:underline!important}.line-through{text-decoration-line:line-through!important}.opacity-0{opacity:0!important}.opacity-100{opacity:1!important}.opacity-20{opacity:.2!important}.opacity-25{opacity:.25!important}.opacity-40{opacity:.4!important}.opacity-50{opacity:.5!important}.opacity-60{opacity:.6!important}.opacity-75{opacity:.75!important}.opacity-80{opacity:.8!important}.opacity-\\[var\\(--opacity-disabled\\)\\]{opacity:var(--opacity-disabled)!important}.bg-blend-overlay{background-blend-mode:overlay!important}.shadow{--tw-shadow:var(--shadow-elevation-3000)!important;--tw-shadow-colored:var(--shadow-elevation-3000)!important}.shadow,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)!important;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)!important}.shadow-none{--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important}.shadow-none,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)!important;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)!important}.outline{outline-style:solid!important}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)!important}.ring-0,.ring-2{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important}.blur{--tw-blur:blur(8px)!important}.blur,.drop-shadow-xl{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.drop-shadow-xl{--tw-drop-shadow:drop-shadow(0 20px 13px rgba(0,0,0,.03)) drop-shadow(0 8px 5px rgba(0,0,0,.08))!important}.invert{--tw-invert:invert(100%)!important}.invert,.sepia{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.sepia{--tw-sepia:sepia(100%)!important}.\\!filter,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.backdrop-blur{--tw-backdrop-blur:blur(8px)!important}.backdrop-blur,.backdrop-blur-md{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)!important;backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)!important}.backdrop-blur-md{--tw-backdrop-blur:blur(12px)!important}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)!important;backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)!important}.transition{transition-duration:.15s!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.transition-all{transition-duration:.15s!important;transition-property:all!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.transition-colors{transition-duration:.15s!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.transition-opacity{transition-duration:.15s!important;transition-property:opacity!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.transition-shadow{transition-duration:.15s!important;transition-property:box-shadow!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.duration-100{transition-duration:.1s!important}.duration-200{transition-duration:.2s!important}.duration-300{transition-duration:.3s!important}.duration-75{transition-duration:75ms!important}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.\\@container,.\\@container\\/og{container-type:inline-size!important}.\\@container\\/og{container-name:og!important}.rendering-pixelated{image-rendering:pixelated!important}.\\[abi\\:v15000\\]{abi:v15000}.\\[localhost\\:9000\\]{localhost:9000}.text-primary{color:var(--primary)!important}.bg-primary{background-color:var(--primary)!important}.border-primary{border-color:var(--primary)!important}.border-l-primary{border-left-color:var(--primary)!important}.border-r-primary{border-right-color:var(--primary)!important}.border-t-primary{border-top-color:var(--primary)!important}.border-b-primary{border-bottom-color:var(--primary)!important}.border-x-primary{border-left-color:var(--primary)!important;border-right-color:var(--primary)!important}.border-y-primary{border-bottom-color:var(--primary)!important;border-top-color:var(--primary)!important}.decoration-primary{text-decoration-color:var(--primary)!important}.text-danger-highlight{color:var(--danger-highlight)!important}.bg-danger-highlight{background-color:var(--danger-highlight)!important}.border-danger-highlight{border-color:var(--danger-highlight)!important}.border-l-danger-highlight{border-left-color:var(--danger-highlight)!important}.border-r-danger-highlight{border-right-color:var(--danger-highlight)!important}.border-t-danger-highlight{border-top-color:var(--danger-highlight)!important}.border-b-danger-highlight{border-bottom-color:var(--danger-highlight)!important}.border-x-danger-highlight{border-left-color:var(--danger-highlight)!important;border-right-color:var(--danger-highlight)!important}.border-y-danger-highlight{border-bottom-color:var(--danger-highlight)!important;border-top-color:var(--danger-highlight)!important}.decoration-danger-highlight{text-decoration-color:var(--danger-highlight)!important}.text-danger-lighter{color:var(--danger-lighter)!important}.bg-danger-lighter{background-color:var(--danger-lighter)!important}.border-danger-lighter{border-color:var(--danger-lighter)!important}.border-l-danger-lighter{border-left-color:var(--danger-lighter)!important}.border-r-danger-lighter{border-right-color:var(--danger-lighter)!important}.border-t-danger-lighter{border-top-color:var(--danger-lighter)!important}.border-b-danger-lighter{border-bottom-color:var(--danger-lighter)!important}.border-x-danger-lighter{border-left-color:var(--danger-lighter)!important;border-right-color:var(--danger-lighter)!important}.border-y-danger-lighter{border-bottom-color:var(--danger-lighter)!important;border-top-color:var(--danger-lighter)!important}.decoration-danger-lighter{text-decoration-color:var(--danger-lighter)!important}.text-danger-light{color:var(--danger-light)!important}.bg-danger-light{background-color:var(--danger-light)!important}.border-danger-light{border-color:var(--danger-light)!important}.border-l-danger-light{border-left-color:var(--danger-light)!important}.border-r-danger-light{border-right-color:var(--danger-light)!important}.border-t-danger-light{border-top-color:var(--danger-light)!important}.border-b-danger-light{border-bottom-color:var(--danger-light)!important}.border-x-danger-light{border-left-color:var(--danger-light)!important;border-right-color:var(--danger-light)!important}.border-y-danger-light{border-bottom-color:var(--danger-light)!important;border-top-color:var(--danger-light)!important}.decoration-danger-light{text-decoration-color:var(--danger-light)!important}.text-danger{color:var(--danger)!important}.bg-danger{background-color:var(--danger)!important}.border-danger{border-color:var(--danger)!important}.border-l-danger{border-left-color:var(--danger)!important}.border-r-danger{border-right-color:var(--danger)!important}.border-t-danger{border-top-color:var(--danger)!important}.border-b-danger{border-bottom-color:var(--danger)!important}.border-x-danger{border-left-color:var(--danger)!important;border-right-color:var(--danger)!important}.border-y-danger{border-bottom-color:var(--danger)!important;border-top-color:var(--danger)!important}.decoration-danger{text-decoration-color:var(--danger)!important}.text-danger-dark{color:var(--danger-dark)!important}.bg-danger-dark{background-color:var(--danger-dark)!important}.border-danger-dark{border-color:var(--danger-dark)!important}.border-l-danger-dark{border-left-color:var(--danger-dark)!important}.border-r-danger-dark{border-right-color:var(--danger-dark)!important}.border-t-danger-dark{border-top-color:var(--danger-dark)!important}.border-b-danger-dark{border-bottom-color:var(--danger-dark)!important}.border-x-danger-dark{border-left-color:var(--danger-dark)!important;border-right-color:var(--danger-dark)!important}.border-y-danger-dark{border-bottom-color:var(--danger-dark)!important;border-top-color:var(--danger-dark)!important}.decoration-danger-dark{text-decoration-color:var(--danger-dark)!important}.text-warning-highlight{color:var(--warning-highlight)!important}.bg-warning-highlight{background-color:var(--warning-highlight)!important}.border-warning-highlight{border-color:var(--warning-highlight)!important}.border-l-warning-highlight{border-left-color:var(--warning-highlight)!important}.border-r-warning-highlight{border-right-color:var(--warning-highlight)!important}.border-t-warning-highlight{border-top-color:var(--warning-highlight)!important}.border-b-warning-highlight{border-bottom-color:var(--warning-highlight)!important}.border-x-warning-highlight{border-left-color:var(--warning-highlight)!important;border-right-color:var(--warning-highlight)!important}.border-y-warning-highlight{border-bottom-color:var(--warning-highlight)!important;border-top-color:var(--warning-highlight)!important}.decoration-warning-highlight{text-decoration-color:var(--warning-highlight)!important}.text-warning{color:var(--warning)!important}.bg-warning{background-color:var(--warning)!important}.border-warning{border-color:var(--warning)!important}.border-l-warning{border-left-color:var(--warning)!important}.border-r-warning{border-right-color:var(--warning)!important}.border-t-warning{border-top-color:var(--warning)!important}.border-b-warning{border-bottom-color:var(--warning)!important}.border-x-warning{border-left-color:var(--warning)!important;border-right-color:var(--warning)!important}.border-y-warning{border-bottom-color:var(--warning)!important;border-top-color:var(--warning)!important}.decoration-warning{text-decoration-color:var(--warning)!important}.text-warning-dark{color:var(--warning-dark)!important}.bg-warning-dark{background-color:var(--warning-dark)!important}.border-warning-dark{border-color:var(--warning-dark)!important}.border-l-warning-dark{border-left-color:var(--warning-dark)!important}.border-r-warning-dark{border-right-color:var(--warning-dark)!important}.border-t-warning-dark{border-top-color:var(--warning-dark)!important}.border-b-warning-dark{border-bottom-color:var(--warning-dark)!important}.border-x-warning-dark{border-left-color:var(--warning-dark)!important;border-right-color:var(--warning-dark)!important}.border-y-warning-dark{border-bottom-color:var(--warning-dark)!important;border-top-color:var(--warning-dark)!important}.decoration-warning-dark{text-decoration-color:var(--warning-dark)!important}.text-highlight{color:var(--highlight)!important}.bg-highlight{background-color:var(--highlight)!important}.border-highlight{border-color:var(--highlight)!important}.border-l-highlight{border-left-color:var(--highlight)!important}.border-r-highlight{border-right-color:var(--highlight)!important}.border-t-highlight{border-top-color:var(--highlight)!important}.border-b-highlight{border-bottom-color:var(--highlight)!important}.border-x-highlight{border-left-color:var(--highlight)!important;border-right-color:var(--highlight)!important}.border-y-highlight{border-bottom-color:var(--highlight)!important;border-top-color:var(--highlight)!important}.decoration-highlight{text-decoration-color:var(--highlight)!important}.text-success-highlight{color:var(--success-highlight)!important}.bg-success-highlight{background-color:var(--success-highlight)!important}.border-success-highlight{border-color:var(--success-highlight)!important}.border-l-success-highlight{border-left-color:var(--success-highlight)!important}.border-r-success-highlight{border-right-color:var(--success-highlight)!important}.border-t-success-highlight{border-top-color:var(--success-highlight)!important}.border-b-success-highlight{border-bottom-color:var(--success-highlight)!important}.border-x-success-highlight{border-left-color:var(--success-highlight)!important;border-right-color:var(--success-highlight)!important}.border-y-success-highlight{border-bottom-color:var(--success-highlight)!important;border-top-color:var(--success-highlight)!important}.decoration-success-highlight{text-decoration-color:var(--success-highlight)!important}.text-success-light{color:var(--success-light)!important}.bg-success-light{background-color:var(--success-light)!important}.border-success-light{border-color:var(--success-light)!important}.border-l-success-light{border-left-color:var(--success-light)!important}.border-r-success-light{border-right-color:var(--success-light)!important}.border-t-success-light{border-top-color:var(--success-light)!important}.border-b-success-light{border-bottom-color:var(--success-light)!important}.border-x-success-light{border-left-color:var(--success-light)!important;border-right-color:var(--success-light)!important}.border-y-success-light{border-bottom-color:var(--success-light)!important;border-top-color:var(--success-light)!important}.decoration-success-light{text-decoration-color:var(--success-light)!important}.text-success{color:var(--success)!important}.bg-success{background-color:var(--success)!important}.border-success{border-color:var(--success)!important}.border-l-success{border-left-color:var(--success)!important}.border-r-success{border-right-color:var(--success)!important}.border-t-success{border-top-color:var(--success)!important}.border-b-success{border-bottom-color:var(--success)!important}.border-x-success{border-left-color:var(--success)!important;border-right-color:var(--success)!important}.border-y-success{border-bottom-color:var(--success)!important;border-top-color:var(--success)!important}.decoration-success{text-decoration-color:var(--success)!important}.text-success-dark{color:var(--success-dark)!important}.bg-success-dark{background-color:var(--success-dark)!important}.border-success-dark{border-color:var(--success-dark)!important}.border-l-success-dark{border-left-color:var(--success-dark)!important}.border-r-success-dark{border-right-color:var(--success-dark)!important}.border-t-success-dark{border-top-color:var(--success-dark)!important}.border-b-success-dark{border-bottom-color:var(--success-dark)!important}.border-x-success-dark{border-left-color:var(--success-dark)!important;border-right-color:var(--success-dark)!important}.border-y-success-dark{border-bottom-color:var(--success-dark)!important;border-top-color:var(--success-dark)!important}.decoration-success-dark{text-decoration-color:var(--success-dark)!important}.text-muted{color:var(--muted)!important}.bg-muted{background-color:var(--muted)!important}.border-muted{border-color:var(--muted)!important}.border-l-muted{border-left-color:var(--muted)!important}.border-r-muted{border-right-color:var(--muted)!important}.border-t-muted{border-top-color:var(--muted)!important}.border-b-muted{border-bottom-color:var(--muted)!important}.border-x-muted{border-left-color:var(--muted)!important;border-right-color:var(--muted)!important}.border-y-muted{border-bottom-color:var(--muted)!important;border-top-color:var(--muted)!important}.decoration-muted{text-decoration-color:var(--muted)!important}.text-muted-alt{color:var(--muted-alt)!important}.bg-muted-alt{background-color:var(--muted-alt)!important}.border-muted-alt{border-color:var(--muted-alt)!important}.border-l-muted-alt{border-left-color:var(--muted-alt)!important}.border-r-muted-alt{border-right-color:var(--muted-alt)!important}.border-t-muted-alt{border-top-color:var(--muted-alt)!important}.border-b-muted-alt{border-bottom-color:var(--muted-alt)!important}.border-x-muted-alt{border-left-color:var(--muted-alt)!important;border-right-color:var(--muted-alt)!important}.border-y-muted-alt{border-bottom-color:var(--muted-alt)!important;border-top-color:var(--muted-alt)!important}.decoration-muted-alt{text-decoration-color:var(--muted-alt)!important}.text-mark{color:var(--mark)!important}.bg-mark{background-color:var(--mark)!important}.border-mark{border-color:var(--mark)!important}.border-l-mark{border-left-color:var(--mark)!important}.border-r-mark{border-right-color:var(--mark)!important}.border-t-mark{border-top-color:var(--mark)!important}.border-b-mark{border-bottom-color:var(--mark)!important}.border-x-mark{border-left-color:var(--mark)!important;border-right-color:var(--mark)!important}.border-y-mark{border-bottom-color:var(--mark)!important;border-top-color:var(--mark)!important}.decoration-mark{text-decoration-color:var(--mark)!important}.text-white{color:var(--white)!important}.bg-white{background-color:var(--white)!important}.border-white{border-color:var(--white)!important}.border-l-white{border-left-color:var(--white)!important}.border-r-white{border-right-color:var(--white)!important}.border-t-white{border-top-color:var(--white)!important}.border-b-white{border-bottom-color:var(--white)!important}.border-x-white{border-left-color:var(--white)!important;border-right-color:var(--white)!important}.border-y-white{border-bottom-color:var(--white)!important;border-top-color:var(--white)!important}.decoration-white{text-decoration-color:var(--white)!important}.text-bg-light{color:var(--bg-light)!important}.bg-bg-light{background-color:var(--bg-light)!important}.border-bg-light{border-color:var(--bg-light)!important}.border-l-bg-light{border-left-color:var(--bg-light)!important}.border-r-bg-light{border-right-color:var(--bg-light)!important}.border-t-bg-light{border-top-color:var(--bg-light)!important}.border-b-bg-light{border-bottom-color:var(--bg-light)!important}.border-x-bg-light{border-left-color:var(--bg-light)!important;border-right-color:var(--bg-light)!important}.border-y-bg-light{border-bottom-color:var(--bg-light)!important;border-top-color:var(--bg-light)!important}.decoration-bg-light{text-decoration-color:var(--bg-light)!important}.text-side{color:var(--side)!important}.bg-side{background-color:var(--side)!important}.border-side{border-color:var(--side)!important}.border-l-side{border-left-color:var(--side)!important}.border-r-side{border-right-color:var(--side)!important}.border-t-side{border-top-color:var(--side)!important}.border-b-side{border-bottom-color:var(--side)!important}.border-x-side{border-left-color:var(--side)!important;border-right-color:var(--side)!important}.border-y-side{border-bottom-color:var(--side)!important;border-top-color:var(--side)!important}.decoration-side{text-decoration-color:var(--side)!important}.text-mid{color:var(--mid)!important}.bg-mid{background-color:var(--mid)!important}.border-mid{border-color:var(--mid)!important}.border-l-mid{border-left-color:var(--mid)!important}.border-r-mid{border-right-color:var(--mid)!important}.border-t-mid{border-top-color:var(--mid)!important}.border-b-mid{border-bottom-color:var(--mid)!important}.border-x-mid{border-left-color:var(--mid)!important;border-right-color:var(--mid)!important}.border-y-mid{border-bottom-color:var(--mid)!important;border-top-color:var(--mid)!important}.decoration-mid{text-decoration-color:var(--mid)!important}.text-border{color:var(--border)!important}.bg-border{background-color:var(--border)!important}.border-border{border-color:var(--border)!important}.border-l-border{border-left-color:var(--border)!important}.border-r-border{border-right-color:var(--border)!important}.border-t-border{border-top-color:var(--border)!important}.border-b-border{border-bottom-color:var(--border)!important}.border-x-border{border-left-color:var(--border)!important;border-right-color:var(--border)!important}.border-y-border{border-bottom-color:var(--border)!important;border-top-color:var(--border)!important}.decoration-border{text-decoration-color:var(--border)!important}.text-border-light{color:var(--border-light)!important}.bg-border-light{background-color:var(--border-light)!important}.border-border-light{border-color:var(--border-light)!important}.border-l-border-light{border-left-color:var(--border-light)!important}.border-r-border-light{border-right-color:var(--border-light)!important}.border-t-border-light{border-top-color:var(--border-light)!important}.border-b-border-light{border-bottom-color:var(--border-light)!important}.border-x-border-light{border-left-color:var(--border-light)!important;border-right-color:var(--border-light)!important}.border-y-border-light{border-bottom-color:var(--border-light)!important;border-top-color:var(--border-light)!important}.decoration-border-light{text-decoration-color:var(--border-light)!important}.text-border-bold{color:var(--border-bold)!important}.bg-border-bold{background-color:var(--border-bold)!important}.border-border-bold{border-color:var(--border-bold)!important}.border-l-border-bold{border-left-color:var(--border-bold)!important}.border-r-border-bold{border-right-color:var(--border-bold)!important}.border-t-border-bold{border-top-color:var(--border-bold)!important}.border-b-border-bold{border-bottom-color:var(--border-bold)!important}.border-x-border-bold{border-left-color:var(--border-bold)!important;border-right-color:var(--border-bold)!important}.border-y-border-bold{border-bottom-color:var(--border-bold)!important;border-top-color:var(--border-bold)!important}.decoration-border-bold{text-decoration-color:var(--border-bold)!important}.text-transparent{color:var(--transparent)!important}.bg-transparent{background-color:var(--transparent)!important}.border-transparent{border-color:var(--transparent)!important}.border-l-transparent{border-left-color:var(--transparent)!important}.border-r-transparent{border-right-color:var(--transparent)!important}.border-t-transparent{border-top-color:var(--transparent)!important}.border-b-transparent{border-bottom-color:var(--transparent)!important}.border-x-transparent{border-left-color:var(--transparent)!important;border-right-color:var(--transparent)!important}.border-y-transparent{border-bottom-color:var(--transparent)!important;border-top-color:var(--transparent)!important}.decoration-transparent{text-decoration-color:var(--transparent)!important}.text-link{color:var(--link)!important}.bg-link{background-color:var(--link)!important}.border-link{border-color:var(--link)!important}.border-l-link{border-left-color:var(--link)!important}.border-r-link{border-right-color:var(--link)!important}.border-t-link{border-top-color:var(--link)!important}.border-b-link{border-bottom-color:var(--link)!important}.border-x-link{border-left-color:var(--link)!important;border-right-color:var(--link)!important}.border-y-link{border-bottom-color:var(--link)!important;border-top-color:var(--link)!important}.decoration-link{text-decoration-color:var(--link)!important}.text-brand-blue{color:var(--brand-blue)!important}.bg-brand-blue{background-color:var(--brand-blue)!important}.border-brand-blue{border-color:var(--brand-blue)!important}.border-l-brand-blue{border-left-color:var(--brand-blue)!important}.border-r-brand-blue{border-right-color:var(--brand-blue)!important}.border-t-brand-blue{border-top-color:var(--brand-blue)!important}.border-b-brand-blue{border-bottom-color:var(--brand-blue)!important}.border-x-brand-blue{border-left-color:var(--brand-blue)!important;border-right-color:var(--brand-blue)!important}.border-y-brand-blue{border-bottom-color:var(--brand-blue)!important;border-top-color:var(--brand-blue)!important}.decoration-brand-blue{text-decoration-color:var(--brand-blue)!important}.text-brand-red{color:var(--brand-red)!important}.bg-brand-red{background-color:var(--brand-red)!important}.border-brand-red{border-color:var(--brand-red)!important}.border-l-brand-red{border-left-color:var(--brand-red)!important}.border-r-brand-red{border-right-color:var(--brand-red)!important}.border-t-brand-red{border-top-color:var(--brand-red)!important}.border-b-brand-red{border-bottom-color:var(--brand-red)!important}.border-x-brand-red{border-left-color:var(--brand-red)!important;border-right-color:var(--brand-red)!important}.border-y-brand-red{border-bottom-color:var(--brand-red)!important;border-top-color:var(--brand-red)!important}.decoration-brand-red{text-decoration-color:var(--brand-red)!important}.text-brand-yellow{color:var(--brand-yellow)!important}.bg-brand-yellow{background-color:var(--brand-yellow)!important}.border-brand-yellow{border-color:var(--brand-yellow)!important}.border-l-brand-yellow{border-left-color:var(--brand-yellow)!important}.border-r-brand-yellow{border-right-color:var(--brand-yellow)!important}.border-t-brand-yellow{border-top-color:var(--brand-yellow)!important}.border-b-brand-yellow{border-bottom-color:var(--brand-yellow)!important}.border-x-brand-yellow{border-left-color:var(--brand-yellow)!important;border-right-color:var(--brand-yellow)!important}.border-y-brand-yellow{border-bottom-color:var(--brand-yellow)!important;border-top-color:var(--brand-yellow)!important}.decoration-brand-yellow{text-decoration-color:var(--brand-yellow)!important}.text-brand-key{color:var(--brand-key)!important}.bg-brand-key{background-color:var(--brand-key)!important}.border-brand-key{border-color:var(--brand-key)!important}.border-l-brand-key{border-left-color:var(--brand-key)!important}.border-r-brand-key{border-right-color:var(--brand-key)!important}.border-t-brand-key{border-top-color:var(--brand-key)!important}.border-b-brand-key{border-bottom-color:var(--brand-key)!important}.border-x-brand-key{border-left-color:var(--brand-key)!important;border-right-color:var(--brand-key)!important}.border-y-brand-key{border-bottom-color:var(--brand-key)!important;border-top-color:var(--brand-key)!important}.decoration-brand-key{text-decoration-color:var(--brand-key)!important}.text-text-3000-light{color:var(--text-3000-light)!important}.bg-text-3000-light{background-color:var(--text-3000-light)!important}.border-text-3000-light{border-color:var(--text-3000-light)!important}.border-l-text-3000-light{border-left-color:var(--text-3000-light)!important}.border-r-text-3000-light{border-right-color:var(--text-3000-light)!important}.border-t-text-3000-light{border-top-color:var(--text-3000-light)!important}.border-b-text-3000-light{border-bottom-color:var(--text-3000-light)!important}.border-x-text-3000-light{border-left-color:var(--text-3000-light)!important;border-right-color:var(--text-3000-light)!important}.border-y-text-3000-light{border-bottom-color:var(--text-3000-light)!important;border-top-color:var(--text-3000-light)!important}.decoration-text-3000-light{text-decoration-color:var(--text-3000-light)!important}.text-text-secondary-3000-light{color:var(--text-secondary-3000-light)!important}.bg-text-secondary-3000-light{background-color:var(--text-secondary-3000-light)!important}.border-text-secondary-3000-light{border-color:var(--text-secondary-3000-light)!important}.border-l-text-secondary-3000-light{border-left-color:var(--text-secondary-3000-light)!important}.border-r-text-secondary-3000-light{border-right-color:var(--text-secondary-3000-light)!important}.border-t-text-secondary-3000-light{border-top-color:var(--text-secondary-3000-light)!important}.border-b-text-secondary-3000-light{border-bottom-color:var(--text-secondary-3000-light)!important}.border-x-text-secondary-3000-light{border-left-color:var(--text-secondary-3000-light)!important;border-right-color:var(--text-secondary-3000-light)!important}.border-y-text-secondary-3000-light{border-bottom-color:var(--text-secondary-3000-light)!important;border-top-color:var(--text-secondary-3000-light)!important}.decoration-text-secondary-3000-light{text-decoration-color:var(--text-secondary-3000-light)!important}.text-muted-3000-light{color:var(--muted-3000-light)!important}.bg-muted-3000-light{background-color:var(--muted-3000-light)!important}.border-muted-3000-light{border-color:var(--muted-3000-light)!important}.border-l-muted-3000-light{border-left-color:var(--muted-3000-light)!important}.border-r-muted-3000-light{border-right-color:var(--muted-3000-light)!important}.border-t-muted-3000-light{border-top-color:var(--muted-3000-light)!important}.border-b-muted-3000-light{border-bottom-color:var(--muted-3000-light)!important}.border-x-muted-3000-light{border-left-color:var(--muted-3000-light)!important;border-right-color:var(--muted-3000-light)!important}.border-y-muted-3000-light{border-bottom-color:var(--muted-3000-light)!important;border-top-color:var(--muted-3000-light)!important}.decoration-muted-3000-light{text-decoration-color:var(--muted-3000-light)!important}.text-trace-3000-light{color:var(--trace-3000-light)!important}.bg-trace-3000-light{background-color:var(--trace-3000-light)!important}.border-trace-3000-light{border-color:var(--trace-3000-light)!important}.border-l-trace-3000-light{border-left-color:var(--trace-3000-light)!important}.border-r-trace-3000-light{border-right-color:var(--trace-3000-light)!important}.border-t-trace-3000-light{border-top-color:var(--trace-3000-light)!important}.border-b-trace-3000-light{border-bottom-color:var(--trace-3000-light)!important}.border-x-trace-3000-light{border-left-color:var(--trace-3000-light)!important;border-right-color:var(--trace-3000-light)!important}.border-y-trace-3000-light{border-bottom-color:var(--trace-3000-light)!important;border-top-color:var(--trace-3000-light)!important}.decoration-trace-3000-light{text-decoration-color:var(--trace-3000-light)!important}.text-primary-3000-light{color:var(--primary-3000-light)!important}.bg-primary-3000-light{background-color:var(--primary-3000-light)!important}.border-primary-3000-light{border-color:var(--primary-3000-light)!important}.border-l-primary-3000-light{border-left-color:var(--primary-3000-light)!important}.border-r-primary-3000-light{border-right-color:var(--primary-3000-light)!important}.border-t-primary-3000-light{border-top-color:var(--primary-3000-light)!important}.border-b-primary-3000-light{border-bottom-color:var(--primary-3000-light)!important}.border-x-primary-3000-light{border-left-color:var(--primary-3000-light)!important;border-right-color:var(--primary-3000-light)!important}.border-y-primary-3000-light{border-bottom-color:var(--primary-3000-light)!important;border-top-color:var(--primary-3000-light)!important}.decoration-primary-3000-light{text-decoration-color:var(--primary-3000-light)!important}.text-primary-highlight-light{color:var(--primary-highlight-light)!important}.bg-primary-highlight-light{background-color:var(--primary-highlight-light)!important}.border-primary-highlight-light{border-color:var(--primary-highlight-light)!important}.border-l-primary-highlight-light{border-left-color:var(--primary-highlight-light)!important}.border-r-primary-highlight-light{border-right-color:var(--primary-highlight-light)!important}.border-t-primary-highlight-light{border-top-color:var(--primary-highlight-light)!important}.border-b-primary-highlight-light{border-bottom-color:var(--primary-highlight-light)!important}.border-x-primary-highlight-light{border-left-color:var(--primary-highlight-light)!important;border-right-color:var(--primary-highlight-light)!important}.border-y-primary-highlight-light{border-bottom-color:var(--primary-highlight-light)!important;border-top-color:var(--primary-highlight-light)!important}.decoration-primary-highlight-light{text-decoration-color:var(--primary-highlight-light)!important}.text-primary-3000-hover-light{color:var(--primary-3000-hover-light)!important}.bg-primary-3000-hover-light{background-color:var(--primary-3000-hover-light)!important}.border-primary-3000-hover-light{border-color:var(--primary-3000-hover-light)!important}.border-l-primary-3000-hover-light{border-left-color:var(--primary-3000-hover-light)!important}.border-r-primary-3000-hover-light{border-right-color:var(--primary-3000-hover-light)!important}.border-t-primary-3000-hover-light{border-top-color:var(--primary-3000-hover-light)!important}.border-b-primary-3000-hover-light{border-bottom-color:var(--primary-3000-hover-light)!important}.border-x-primary-3000-hover-light{border-left-color:var(--primary-3000-hover-light)!important;border-right-color:var(--primary-3000-hover-light)!important}.border-y-primary-3000-hover-light{border-bottom-color:var(--primary-3000-hover-light)!important;border-top-color:var(--primary-3000-hover-light)!important}.decoration-primary-3000-hover-light{text-decoration-color:var(--primary-3000-hover-light)!important}.text-primary-3000-active-light{color:var(--primary-3000-active-light)!important}.bg-primary-3000-active-light{background-color:var(--primary-3000-active-light)!important}.border-primary-3000-active-light{border-color:var(--primary-3000-active-light)!important}.border-l-primary-3000-active-light{border-left-color:var(--primary-3000-active-light)!important}.border-r-primary-3000-active-light{border-right-color:var(--primary-3000-active-light)!important}.border-t-primary-3000-active-light{border-top-color:var(--primary-3000-active-light)!important}.border-b-primary-3000-active-light{border-bottom-color:var(--primary-3000-active-light)!important}.border-x-primary-3000-active-light{border-left-color:var(--primary-3000-active-light)!important;border-right-color:var(--primary-3000-active-light)!important}.border-y-primary-3000-active-light{border-bottom-color:var(--primary-3000-active-light)!important;border-top-color:var(--primary-3000-active-light)!important}.decoration-primary-3000-active-light{text-decoration-color:var(--primary-3000-active-light)!important}.text-secondary-3000-light{color:var(--secondary-3000-light)!important}.bg-secondary-3000-light{background-color:var(--secondary-3000-light)!important}.border-secondary-3000-light{border-color:var(--secondary-3000-light)!important}.border-l-secondary-3000-light{border-left-color:var(--secondary-3000-light)!important}.border-r-secondary-3000-light{border-right-color:var(--secondary-3000-light)!important}.border-t-secondary-3000-light{border-top-color:var(--secondary-3000-light)!important}.border-b-secondary-3000-light{border-bottom-color:var(--secondary-3000-light)!important}.border-x-secondary-3000-light{border-left-color:var(--secondary-3000-light)!important;border-right-color:var(--secondary-3000-light)!important}.border-y-secondary-3000-light{border-bottom-color:var(--secondary-3000-light)!important;border-top-color:var(--secondary-3000-light)!important}.decoration-secondary-3000-light{text-decoration-color:var(--secondary-3000-light)!important}.text-secondary-3000-hover-light{color:var(--secondary-3000-hover-light)!important}.bg-secondary-3000-hover-light{background-color:var(--secondary-3000-hover-light)!important}.border-secondary-3000-hover-light{border-color:var(--secondary-3000-hover-light)!important}.border-l-secondary-3000-hover-light{border-left-color:var(--secondary-3000-hover-light)!important}.border-r-secondary-3000-hover-light{border-right-color:var(--secondary-3000-hover-light)!important}.border-t-secondary-3000-hover-light{border-top-color:var(--secondary-3000-hover-light)!important}.border-b-secondary-3000-hover-light{border-bottom-color:var(--secondary-3000-hover-light)!important}.border-x-secondary-3000-hover-light{border-left-color:var(--secondary-3000-hover-light)!important;border-right-color:var(--secondary-3000-hover-light)!important}.border-y-secondary-3000-hover-light{border-bottom-color:var(--secondary-3000-hover-light)!important;border-top-color:var(--secondary-3000-hover-light)!important}.decoration-secondary-3000-hover-light{text-decoration-color:var(--secondary-3000-hover-light)!important}.text-accent-3000-light{color:var(--accent-3000-light)!important}.bg-accent-3000-light{background-color:var(--accent-3000-light)!important}.border-accent-3000-light{border-color:var(--accent-3000-light)!important}.border-l-accent-3000-light{border-left-color:var(--accent-3000-light)!important}.border-r-accent-3000-light{border-right-color:var(--accent-3000-light)!important}.border-t-accent-3000-light{border-top-color:var(--accent-3000-light)!important}.border-b-accent-3000-light{border-bottom-color:var(--accent-3000-light)!important}.border-x-accent-3000-light{border-left-color:var(--accent-3000-light)!important;border-right-color:var(--accent-3000-light)!important}.border-y-accent-3000-light{border-bottom-color:var(--accent-3000-light)!important;border-top-color:var(--accent-3000-light)!important}.decoration-accent-3000-light{text-decoration-color:var(--accent-3000-light)!important}.text-bg-3000-light{color:var(--bg-3000-light)!important}.bg-bg-3000-light{background-color:var(--bg-3000-light)!important}.border-bg-3000-light{border-color:var(--bg-3000-light)!important}.border-l-bg-3000-light{border-left-color:var(--bg-3000-light)!important}.border-r-bg-3000-light{border-right-color:var(--bg-3000-light)!important}.border-t-bg-3000-light{border-top-color:var(--bg-3000-light)!important}.border-b-bg-3000-light{border-bottom-color:var(--bg-3000-light)!important}.border-x-bg-3000-light{border-left-color:var(--bg-3000-light)!important;border-right-color:var(--bg-3000-light)!important}.border-y-bg-3000-light{border-bottom-color:var(--bg-3000-light)!important;border-top-color:var(--bg-3000-light)!important}.decoration-bg-3000-light{text-decoration-color:var(--bg-3000-light)!important}.text-border-3000-light{color:var(--border-3000-light)!important}.bg-border-3000-light{background-color:var(--border-3000-light)!important}.border-border-3000-light{border-color:var(--border-3000-light)!important}.border-l-border-3000-light{border-left-color:var(--border-3000-light)!important}.border-r-border-3000-light{border-right-color:var(--border-3000-light)!important}.border-t-border-3000-light{border-top-color:var(--border-3000-light)!important}.border-b-border-3000-light{border-bottom-color:var(--border-3000-light)!important}.border-x-border-3000-light{border-left-color:var(--border-3000-light)!important;border-right-color:var(--border-3000-light)!important}.border-y-border-3000-light{border-bottom-color:var(--border-3000-light)!important;border-top-color:var(--border-3000-light)!important}.decoration-border-3000-light{text-decoration-color:var(--border-3000-light)!important}.text-border-bold-3000-light{color:var(--border-bold-3000-light)!important}.bg-border-bold-3000-light{background-color:var(--border-bold-3000-light)!important}.border-border-bold-3000-light{border-color:var(--border-bold-3000-light)!important}.border-l-border-bold-3000-light{border-left-color:var(--border-bold-3000-light)!important}.border-r-border-bold-3000-light{border-right-color:var(--border-bold-3000-light)!important}.border-t-border-bold-3000-light{border-top-color:var(--border-bold-3000-light)!important}.border-b-border-bold-3000-light{border-bottom-color:var(--border-bold-3000-light)!important}.border-x-border-bold-3000-light{border-left-color:var(--border-bold-3000-light)!important;border-right-color:var(--border-bold-3000-light)!important}.border-y-border-bold-3000-light{border-bottom-color:var(--border-bold-3000-light)!important;border-top-color:var(--border-bold-3000-light)!important}.decoration-border-bold-3000-light{text-decoration-color:var(--border-bold-3000-light)!important}.text-glass-bg-3000-light{color:var(--glass-bg-3000-light)!important}.bg-glass-bg-3000-light{background-color:var(--glass-bg-3000-light)!important}.border-glass-bg-3000-light{border-color:var(--glass-bg-3000-light)!important}.border-l-glass-bg-3000-light{border-left-color:var(--glass-bg-3000-light)!important}.border-r-glass-bg-3000-light{border-right-color:var(--glass-bg-3000-light)!important}.border-t-glass-bg-3000-light{border-top-color:var(--glass-bg-3000-light)!important}.border-b-glass-bg-3000-light{border-bottom-color:var(--glass-bg-3000-light)!important}.border-x-glass-bg-3000-light{border-left-color:var(--glass-bg-3000-light)!important;border-right-color:var(--glass-bg-3000-light)!important}.border-y-glass-bg-3000-light{border-bottom-color:var(--glass-bg-3000-light)!important;border-top-color:var(--glass-bg-3000-light)!important}.decoration-glass-bg-3000-light{text-decoration-color:var(--glass-bg-3000-light)!important}.text-glass-border-3000-light{color:var(--glass-border-3000-light)!important}.bg-glass-border-3000-light{background-color:var(--glass-border-3000-light)!important}.border-glass-border-3000-light{border-color:var(--glass-border-3000-light)!important}.border-l-glass-border-3000-light{border-left-color:var(--glass-border-3000-light)!important}.border-r-glass-border-3000-light{border-right-color:var(--glass-border-3000-light)!important}.border-t-glass-border-3000-light{border-top-color:var(--glass-border-3000-light)!important}.border-b-glass-border-3000-light{border-bottom-color:var(--glass-border-3000-light)!important}.border-x-glass-border-3000-light{border-left-color:var(--glass-border-3000-light)!important;border-right-color:var(--glass-border-3000-light)!important}.border-y-glass-border-3000-light{border-bottom-color:var(--glass-border-3000-light)!important;border-top-color:var(--glass-border-3000-light)!important}.decoration-glass-border-3000-light{text-decoration-color:var(--glass-border-3000-light)!important}.text-link-3000-light{color:var(--link-3000-light)!important}.bg-link-3000-light{background-color:var(--link-3000-light)!important}.border-link-3000-light{border-color:var(--link-3000-light)!important}.border-l-link-3000-light{border-left-color:var(--link-3000-light)!important}.border-r-link-3000-light{border-right-color:var(--link-3000-light)!important}.border-t-link-3000-light{border-top-color:var(--link-3000-light)!important}.border-b-link-3000-light{border-bottom-color:var(--link-3000-light)!important}.border-x-link-3000-light{border-left-color:var(--link-3000-light)!important;border-right-color:var(--link-3000-light)!important}.border-y-link-3000-light{border-bottom-color:var(--link-3000-light)!important;border-top-color:var(--link-3000-light)!important}.decoration-link-3000-light{text-decoration-color:var(--link-3000-light)!important}.text-primary-3000-frame-bg-light{color:var(--primary-3000-frame-bg-light)!important}.bg-primary-3000-frame-bg-light{background-color:var(--primary-3000-frame-bg-light)!important}.border-primary-3000-frame-bg-light{border-color:var(--primary-3000-frame-bg-light)!important}.border-l-primary-3000-frame-bg-light{border-left-color:var(--primary-3000-frame-bg-light)!important}.border-r-primary-3000-frame-bg-light{border-right-color:var(--primary-3000-frame-bg-light)!important}.border-t-primary-3000-frame-bg-light{border-top-color:var(--primary-3000-frame-bg-light)!important}.border-b-primary-3000-frame-bg-light{border-bottom-color:var(--primary-3000-frame-bg-light)!important}.border-x-primary-3000-frame-bg-light{border-left-color:var(--primary-3000-frame-bg-light)!important;border-right-color:var(--primary-3000-frame-bg-light)!important}.border-y-primary-3000-frame-bg-light{border-bottom-color:var(--primary-3000-frame-bg-light)!important;border-top-color:var(--primary-3000-frame-bg-light)!important}.decoration-primary-3000-frame-bg-light{text-decoration-color:var(--primary-3000-frame-bg-light)!important}.text-primary-3000-button-bg-light{color:var(--primary-3000-button-bg-light)!important}.bg-primary-3000-button-bg-light{background-color:var(--primary-3000-button-bg-light)!important}.border-primary-3000-button-bg-light{border-color:var(--primary-3000-button-bg-light)!important}.border-l-primary-3000-button-bg-light{border-left-color:var(--primary-3000-button-bg-light)!important}.border-r-primary-3000-button-bg-light{border-right-color:var(--primary-3000-button-bg-light)!important}.border-t-primary-3000-button-bg-light{border-top-color:var(--primary-3000-button-bg-light)!important}.border-b-primary-3000-button-bg-light{border-bottom-color:var(--primary-3000-button-bg-light)!important}.border-x-primary-3000-button-bg-light{border-left-color:var(--primary-3000-button-bg-light)!important;border-right-color:var(--primary-3000-button-bg-light)!important}.border-y-primary-3000-button-bg-light{border-bottom-color:var(--primary-3000-button-bg-light)!important;border-top-color:var(--primary-3000-button-bg-light)!important}.decoration-primary-3000-button-bg-light{text-decoration-color:var(--primary-3000-button-bg-light)!important}.text-primary-3000-button-border-light{color:var(--primary-3000-button-border-light)!important}.bg-primary-3000-button-border-light{background-color:var(--primary-3000-button-border-light)!important}.border-primary-3000-button-border-light{border-color:var(--primary-3000-button-border-light)!important}.border-l-primary-3000-button-border-light{border-left-color:var(--primary-3000-button-border-light)!important}.border-r-primary-3000-button-border-light{border-right-color:var(--primary-3000-button-border-light)!important}.border-t-primary-3000-button-border-light{border-top-color:var(--primary-3000-button-border-light)!important}.border-b-primary-3000-button-border-light{border-bottom-color:var(--primary-3000-button-border-light)!important}.border-x-primary-3000-button-border-light{border-left-color:var(--primary-3000-button-border-light)!important;border-right-color:var(--primary-3000-button-border-light)!important}.border-y-primary-3000-button-border-light{border-bottom-color:var(--primary-3000-button-border-light)!important;border-top-color:var(--primary-3000-button-border-light)!important}.decoration-primary-3000-button-border-light{text-decoration-color:var(--primary-3000-button-border-light)!important}.text-primary-3000-button-border-hover-light{color:var(--primary-3000-button-border-hover-light)!important}.bg-primary-3000-button-border-hover-light{background-color:var(--primary-3000-button-border-hover-light)!important}.border-primary-3000-button-border-hover-light{border-color:var(--primary-3000-button-border-hover-light)!important}.border-l-primary-3000-button-border-hover-light{border-left-color:var(--primary-3000-button-border-hover-light)!important}.border-r-primary-3000-button-border-hover-light{border-right-color:var(--primary-3000-button-border-hover-light)!important}.border-t-primary-3000-button-border-hover-light{border-top-color:var(--primary-3000-button-border-hover-light)!important}.border-b-primary-3000-button-border-hover-light{border-bottom-color:var(--primary-3000-button-border-hover-light)!important}.border-x-primary-3000-button-border-hover-light{border-left-color:var(--primary-3000-button-border-hover-light)!important;border-right-color:var(--primary-3000-button-border-hover-light)!important}.border-y-primary-3000-button-border-hover-light{border-bottom-color:var(--primary-3000-button-border-hover-light)!important;border-top-color:var(--primary-3000-button-border-hover-light)!important}.decoration-primary-3000-button-border-hover-light{text-decoration-color:var(--primary-3000-button-border-hover-light)!important}.text-secondary-3000-frame-bg-light{color:var(--secondary-3000-frame-bg-light)!important}.bg-secondary-3000-frame-bg-light{background-color:var(--secondary-3000-frame-bg-light)!important}.border-secondary-3000-frame-bg-light{border-color:var(--secondary-3000-frame-bg-light)!important}.border-l-secondary-3000-frame-bg-light{border-left-color:var(--secondary-3000-frame-bg-light)!important}.border-r-secondary-3000-frame-bg-light{border-right-color:var(--secondary-3000-frame-bg-light)!important}.border-t-secondary-3000-frame-bg-light{border-top-color:var(--secondary-3000-frame-bg-light)!important}.border-b-secondary-3000-frame-bg-light{border-bottom-color:var(--secondary-3000-frame-bg-light)!important}.border-x-secondary-3000-frame-bg-light{border-left-color:var(--secondary-3000-frame-bg-light)!important;border-right-color:var(--secondary-3000-frame-bg-light)!important}.border-y-secondary-3000-frame-bg-light{border-bottom-color:var(--secondary-3000-frame-bg-light)!important;border-top-color:var(--secondary-3000-frame-bg-light)!important}.decoration-secondary-3000-frame-bg-light{text-decoration-color:var(--secondary-3000-frame-bg-light)!important}.text-secondary-3000-button-bg-light{color:var(--secondary-3000-button-bg-light)!important}.bg-secondary-3000-button-bg-light{background-color:var(--secondary-3000-button-bg-light)!important}.border-secondary-3000-button-bg-light{border-color:var(--secondary-3000-button-bg-light)!important}.border-l-secondary-3000-button-bg-light{border-left-color:var(--secondary-3000-button-bg-light)!important}.border-r-secondary-3000-button-bg-light{border-right-color:var(--secondary-3000-button-bg-light)!important}.border-t-secondary-3000-button-bg-light{border-top-color:var(--secondary-3000-button-bg-light)!important}.border-b-secondary-3000-button-bg-light{border-bottom-color:var(--secondary-3000-button-bg-light)!important}.border-x-secondary-3000-button-bg-light{border-left-color:var(--secondary-3000-button-bg-light)!important;border-right-color:var(--secondary-3000-button-bg-light)!important}.border-y-secondary-3000-button-bg-light{border-bottom-color:var(--secondary-3000-button-bg-light)!important;border-top-color:var(--secondary-3000-button-bg-light)!important}.decoration-secondary-3000-button-bg-light{text-decoration-color:var(--secondary-3000-button-bg-light)!important}.text-secondary-3000-button-border-light{color:var(--secondary-3000-button-border-light)!important}.bg-secondary-3000-button-border-light{background-color:var(--secondary-3000-button-border-light)!important}.border-secondary-3000-button-border-light{border-color:var(--secondary-3000-button-border-light)!important}.border-l-secondary-3000-button-border-light{border-left-color:var(--secondary-3000-button-border-light)!important}.border-r-secondary-3000-button-border-light{border-right-color:var(--secondary-3000-button-border-light)!important}.border-t-secondary-3000-button-border-light{border-top-color:var(--secondary-3000-button-border-light)!important}.border-b-secondary-3000-button-border-light{border-bottom-color:var(--secondary-3000-button-border-light)!important}.border-x-secondary-3000-button-border-light{border-left-color:var(--secondary-3000-button-border-light)!important;border-right-color:var(--secondary-3000-button-border-light)!important}.border-y-secondary-3000-button-border-light{border-bottom-color:var(--secondary-3000-button-border-light)!important;border-top-color:var(--secondary-3000-button-border-light)!important}.decoration-secondary-3000-button-border-light{text-decoration-color:var(--secondary-3000-button-border-light)!important}.text-secondary-3000-button-border-hover-light{color:var(--secondary-3000-button-border-hover-light)!important}.bg-secondary-3000-button-border-hover-light{background-color:var(--secondary-3000-button-border-hover-light)!important}.border-secondary-3000-button-border-hover-light{border-color:var(--secondary-3000-button-border-hover-light)!important}.border-l-secondary-3000-button-border-hover-light{border-left-color:var(--secondary-3000-button-border-hover-light)!important}.border-r-secondary-3000-button-border-hover-light{border-right-color:var(--secondary-3000-button-border-hover-light)!important}.border-t-secondary-3000-button-border-hover-light{border-top-color:var(--secondary-3000-button-border-hover-light)!important}.border-b-secondary-3000-button-border-hover-light{border-bottom-color:var(--secondary-3000-button-border-hover-light)!important}.border-x-secondary-3000-button-border-hover-light{border-left-color:var(--secondary-3000-button-border-hover-light)!important;border-right-color:var(--secondary-3000-button-border-hover-light)!important}.border-y-secondary-3000-button-border-hover-light{border-bottom-color:var(--secondary-3000-button-border-hover-light)!important;border-top-color:var(--secondary-3000-button-border-hover-light)!important}.decoration-secondary-3000-button-border-hover-light{text-decoration-color:var(--secondary-3000-button-border-hover-light)!important}.text-danger-3000-frame-bg-light{color:var(--danger-3000-frame-bg-light)!important}.bg-danger-3000-frame-bg-light{background-color:var(--danger-3000-frame-bg-light)!important}.border-danger-3000-frame-bg-light{border-color:var(--danger-3000-frame-bg-light)!important}.border-l-danger-3000-frame-bg-light{border-left-color:var(--danger-3000-frame-bg-light)!important}.border-r-danger-3000-frame-bg-light{border-right-color:var(--danger-3000-frame-bg-light)!important}.border-t-danger-3000-frame-bg-light{border-top-color:var(--danger-3000-frame-bg-light)!important}.border-b-danger-3000-frame-bg-light{border-bottom-color:var(--danger-3000-frame-bg-light)!important}.border-x-danger-3000-frame-bg-light{border-left-color:var(--danger-3000-frame-bg-light)!important;border-right-color:var(--danger-3000-frame-bg-light)!important}.border-y-danger-3000-frame-bg-light{border-bottom-color:var(--danger-3000-frame-bg-light)!important;border-top-color:var(--danger-3000-frame-bg-light)!important}.decoration-danger-3000-frame-bg-light{text-decoration-color:var(--danger-3000-frame-bg-light)!important}.text-danger-3000-button-border-light{color:var(--danger-3000-button-border-light)!important}.bg-danger-3000-button-border-light{background-color:var(--danger-3000-button-border-light)!important}.border-danger-3000-button-border-light{border-color:var(--danger-3000-button-border-light)!important}.border-l-danger-3000-button-border-light{border-left-color:var(--danger-3000-button-border-light)!important}.border-r-danger-3000-button-border-light{border-right-color:var(--danger-3000-button-border-light)!important}.border-t-danger-3000-button-border-light{border-top-color:var(--danger-3000-button-border-light)!important}.border-b-danger-3000-button-border-light{border-bottom-color:var(--danger-3000-button-border-light)!important}.border-x-danger-3000-button-border-light{border-left-color:var(--danger-3000-button-border-light)!important;border-right-color:var(--danger-3000-button-border-light)!important}.border-y-danger-3000-button-border-light{border-bottom-color:var(--danger-3000-button-border-light)!important;border-top-color:var(--danger-3000-button-border-light)!important}.decoration-danger-3000-button-border-light{text-decoration-color:var(--danger-3000-button-border-light)!important}.text-danger-3000-button-border-hover-light{color:var(--danger-3000-button-border-hover-light)!important}.bg-danger-3000-button-border-hover-light{background-color:var(--danger-3000-button-border-hover-light)!important}.border-danger-3000-button-border-hover-light{border-color:var(--danger-3000-button-border-hover-light)!important}.border-l-danger-3000-button-border-hover-light{border-left-color:var(--danger-3000-button-border-hover-light)!important}.border-r-danger-3000-button-border-hover-light{border-right-color:var(--danger-3000-button-border-hover-light)!important}.border-t-danger-3000-button-border-hover-light{border-top-color:var(--danger-3000-button-border-hover-light)!important}.border-b-danger-3000-button-border-hover-light{border-bottom-color:var(--danger-3000-button-border-hover-light)!important}.border-x-danger-3000-button-border-hover-light{border-left-color:var(--danger-3000-button-border-hover-light)!important;border-right-color:var(--danger-3000-button-border-hover-light)!important}.border-y-danger-3000-button-border-hover-light{border-bottom-color:var(--danger-3000-button-border-hover-light)!important;border-top-color:var(--danger-3000-button-border-hover-light)!important}.decoration-danger-3000-button-border-hover-light{text-decoration-color:var(--danger-3000-button-border-hover-light)!important}.text-shadow-elevation-3000-light{color:var(--shadow-elevation-3000-light)!important}.bg-shadow-elevation-3000-light{background-color:var(--shadow-elevation-3000-light)!important}.border-shadow-elevation-3000-light{border-color:var(--shadow-elevation-3000-light)!important}.border-l-shadow-elevation-3000-light{border-left-color:var(--shadow-elevation-3000-light)!important}.border-r-shadow-elevation-3000-light{border-right-color:var(--shadow-elevation-3000-light)!important}.border-t-shadow-elevation-3000-light{border-top-color:var(--shadow-elevation-3000-light)!important}.border-b-shadow-elevation-3000-light{border-bottom-color:var(--shadow-elevation-3000-light)!important}.border-x-shadow-elevation-3000-light{border-left-color:var(--shadow-elevation-3000-light)!important;border-right-color:var(--shadow-elevation-3000-light)!important}.border-y-shadow-elevation-3000-light{border-bottom-color:var(--shadow-elevation-3000-light)!important;border-top-color:var(--shadow-elevation-3000-light)!important}.decoration-shadow-elevation-3000-light{text-decoration-color:var(--shadow-elevation-3000-light)!important}.text-shadow-elevation-3000-dark{color:var(--shadow-elevation-3000-dark)!important}.bg-shadow-elevation-3000-dark{background-color:var(--shadow-elevation-3000-dark)!important}.border-shadow-elevation-3000-dark{border-color:var(--shadow-elevation-3000-dark)!important}.border-l-shadow-elevation-3000-dark{border-left-color:var(--shadow-elevation-3000-dark)!important}.border-r-shadow-elevation-3000-dark{border-right-color:var(--shadow-elevation-3000-dark)!important}.border-t-shadow-elevation-3000-dark{border-top-color:var(--shadow-elevation-3000-dark)!important}.border-b-shadow-elevation-3000-dark{border-bottom-color:var(--shadow-elevation-3000-dark)!important}.border-x-shadow-elevation-3000-dark{border-left-color:var(--shadow-elevation-3000-dark)!important;border-right-color:var(--shadow-elevation-3000-dark)!important}.border-y-shadow-elevation-3000-dark{border-bottom-color:var(--shadow-elevation-3000-dark)!important;border-top-color:var(--shadow-elevation-3000-dark)!important}.decoration-shadow-elevation-3000-dark{text-decoration-color:var(--shadow-elevation-3000-dark)!important}.text-text-3000-dark{color:var(--text-3000-dark)!important}.bg-text-3000-dark{background-color:var(--text-3000-dark)!important}.border-text-3000-dark{border-color:var(--text-3000-dark)!important}.border-l-text-3000-dark{border-left-color:var(--text-3000-dark)!important}.border-r-text-3000-dark{border-right-color:var(--text-3000-dark)!important}.border-t-text-3000-dark{border-top-color:var(--text-3000-dark)!important}.border-b-text-3000-dark{border-bottom-color:var(--text-3000-dark)!important}.border-x-text-3000-dark{border-left-color:var(--text-3000-dark)!important;border-right-color:var(--text-3000-dark)!important}.border-y-text-3000-dark{border-bottom-color:var(--text-3000-dark)!important;border-top-color:var(--text-3000-dark)!important}.decoration-text-3000-dark{text-decoration-color:var(--text-3000-dark)!important}.text-text-secondary-3000-dark{color:var(--text-secondary-3000-dark)!important}.bg-text-secondary-3000-dark{background-color:var(--text-secondary-3000-dark)!important}.border-text-secondary-3000-dark{border-color:var(--text-secondary-3000-dark)!important}.border-l-text-secondary-3000-dark{border-left-color:var(--text-secondary-3000-dark)!important}.border-r-text-secondary-3000-dark{border-right-color:var(--text-secondary-3000-dark)!important}.border-t-text-secondary-3000-dark{border-top-color:var(--text-secondary-3000-dark)!important}.border-b-text-secondary-3000-dark{border-bottom-color:var(--text-secondary-3000-dark)!important}.border-x-text-secondary-3000-dark{border-left-color:var(--text-secondary-3000-dark)!important;border-right-color:var(--text-secondary-3000-dark)!important}.border-y-text-secondary-3000-dark{border-bottom-color:var(--text-secondary-3000-dark)!important;border-top-color:var(--text-secondary-3000-dark)!important}.decoration-text-secondary-3000-dark{text-decoration-color:var(--text-secondary-3000-dark)!important}.text-muted-3000-dark{color:var(--muted-3000-dark)!important}.bg-muted-3000-dark{background-color:var(--muted-3000-dark)!important}.border-muted-3000-dark{border-color:var(--muted-3000-dark)!important}.border-l-muted-3000-dark{border-left-color:var(--muted-3000-dark)!important}.border-r-muted-3000-dark{border-right-color:var(--muted-3000-dark)!important}.border-t-muted-3000-dark{border-top-color:var(--muted-3000-dark)!important}.border-b-muted-3000-dark{border-bottom-color:var(--muted-3000-dark)!important}.border-x-muted-3000-dark{border-left-color:var(--muted-3000-dark)!important;border-right-color:var(--muted-3000-dark)!important}.border-y-muted-3000-dark{border-bottom-color:var(--muted-3000-dark)!important;border-top-color:var(--muted-3000-dark)!important}.decoration-muted-3000-dark{text-decoration-color:var(--muted-3000-dark)!important}.text-trace-3000-dark{color:var(--trace-3000-dark)!important}.bg-trace-3000-dark{background-color:var(--trace-3000-dark)!important}.border-trace-3000-dark{border-color:var(--trace-3000-dark)!important}.border-l-trace-3000-dark{border-left-color:var(--trace-3000-dark)!important}.border-r-trace-3000-dark{border-right-color:var(--trace-3000-dark)!important}.border-t-trace-3000-dark{border-top-color:var(--trace-3000-dark)!important}.border-b-trace-3000-dark{border-bottom-color:var(--trace-3000-dark)!important}.border-x-trace-3000-dark{border-left-color:var(--trace-3000-dark)!important;border-right-color:var(--trace-3000-dark)!important}.border-y-trace-3000-dark{border-bottom-color:var(--trace-3000-dark)!important;border-top-color:var(--trace-3000-dark)!important}.decoration-trace-3000-dark{text-decoration-color:var(--trace-3000-dark)!important}.text-primary-3000-dark{color:var(--primary-3000-dark)!important}.bg-primary-3000-dark{background-color:var(--primary-3000-dark)!important}.border-primary-3000-dark{border-color:var(--primary-3000-dark)!important}.border-l-primary-3000-dark{border-left-color:var(--primary-3000-dark)!important}.border-r-primary-3000-dark{border-right-color:var(--primary-3000-dark)!important}.border-t-primary-3000-dark{border-top-color:var(--primary-3000-dark)!important}.border-b-primary-3000-dark{border-bottom-color:var(--primary-3000-dark)!important}.border-x-primary-3000-dark{border-left-color:var(--primary-3000-dark)!important;border-right-color:var(--primary-3000-dark)!important}.border-y-primary-3000-dark{border-bottom-color:var(--primary-3000-dark)!important;border-top-color:var(--primary-3000-dark)!important}.decoration-primary-3000-dark{text-decoration-color:var(--primary-3000-dark)!important}.text-primary-highlight-dark{color:var(--primary-highlight-dark)!important}.bg-primary-highlight-dark{background-color:var(--primary-highlight-dark)!important}.border-primary-highlight-dark{border-color:var(--primary-highlight-dark)!important}.border-l-primary-highlight-dark{border-left-color:var(--primary-highlight-dark)!important}.border-r-primary-highlight-dark{border-right-color:var(--primary-highlight-dark)!important}.border-t-primary-highlight-dark{border-top-color:var(--primary-highlight-dark)!important}.border-b-primary-highlight-dark{border-bottom-color:var(--primary-highlight-dark)!important}.border-x-primary-highlight-dark{border-left-color:var(--primary-highlight-dark)!important;border-right-color:var(--primary-highlight-dark)!important}.border-y-primary-highlight-dark{border-bottom-color:var(--primary-highlight-dark)!important;border-top-color:var(--primary-highlight-dark)!important}.decoration-primary-highlight-dark{text-decoration-color:var(--primary-highlight-dark)!important}.text-primary-3000-hover-dark{color:var(--primary-3000-hover-dark)!important}.bg-primary-3000-hover-dark{background-color:var(--primary-3000-hover-dark)!important}.border-primary-3000-hover-dark{border-color:var(--primary-3000-hover-dark)!important}.border-l-primary-3000-hover-dark{border-left-color:var(--primary-3000-hover-dark)!important}.border-r-primary-3000-hover-dark{border-right-color:var(--primary-3000-hover-dark)!important}.border-t-primary-3000-hover-dark{border-top-color:var(--primary-3000-hover-dark)!important}.border-b-primary-3000-hover-dark{border-bottom-color:var(--primary-3000-hover-dark)!important}.border-x-primary-3000-hover-dark{border-left-color:var(--primary-3000-hover-dark)!important;border-right-color:var(--primary-3000-hover-dark)!important}.border-y-primary-3000-hover-dark{border-bottom-color:var(--primary-3000-hover-dark)!important;border-top-color:var(--primary-3000-hover-dark)!important}.decoration-primary-3000-hover-dark{text-decoration-color:var(--primary-3000-hover-dark)!important}.text-primary-3000-active-dark{color:var(--primary-3000-active-dark)!important}.bg-primary-3000-active-dark{background-color:var(--primary-3000-active-dark)!important}.border-primary-3000-active-dark{border-color:var(--primary-3000-active-dark)!important}.border-l-primary-3000-active-dark{border-left-color:var(--primary-3000-active-dark)!important}.border-r-primary-3000-active-dark{border-right-color:var(--primary-3000-active-dark)!important}.border-t-primary-3000-active-dark{border-top-color:var(--primary-3000-active-dark)!important}.border-b-primary-3000-active-dark{border-bottom-color:var(--primary-3000-active-dark)!important}.border-x-primary-3000-active-dark{border-left-color:var(--primary-3000-active-dark)!important;border-right-color:var(--primary-3000-active-dark)!important}.border-y-primary-3000-active-dark{border-bottom-color:var(--primary-3000-active-dark)!important;border-top-color:var(--primary-3000-active-dark)!important}.decoration-primary-3000-active-dark{text-decoration-color:var(--primary-3000-active-dark)!important}.text-primary-alt-highlight-light{color:var(--primary-alt-highlight-light)!important}.bg-primary-alt-highlight-light{background-color:var(--primary-alt-highlight-light)!important}.border-primary-alt-highlight-light{border-color:var(--primary-alt-highlight-light)!important}.border-l-primary-alt-highlight-light{border-left-color:var(--primary-alt-highlight-light)!important}.border-r-primary-alt-highlight-light{border-right-color:var(--primary-alt-highlight-light)!important}.border-t-primary-alt-highlight-light{border-top-color:var(--primary-alt-highlight-light)!important}.border-b-primary-alt-highlight-light{border-bottom-color:var(--primary-alt-highlight-light)!important}.border-x-primary-alt-highlight-light{border-left-color:var(--primary-alt-highlight-light)!important;border-right-color:var(--primary-alt-highlight-light)!important}.border-y-primary-alt-highlight-light{border-bottom-color:var(--primary-alt-highlight-light)!important;border-top-color:var(--primary-alt-highlight-light)!important}.decoration-primary-alt-highlight-light{text-decoration-color:var(--primary-alt-highlight-light)!important}.text-secondary-3000-dark{color:var(--secondary-3000-dark)!important}.bg-secondary-3000-dark{background-color:var(--secondary-3000-dark)!important}.border-secondary-3000-dark{border-color:var(--secondary-3000-dark)!important}.border-l-secondary-3000-dark{border-left-color:var(--secondary-3000-dark)!important}.border-r-secondary-3000-dark{border-right-color:var(--secondary-3000-dark)!important}.border-t-secondary-3000-dark{border-top-color:var(--secondary-3000-dark)!important}.border-b-secondary-3000-dark{border-bottom-color:var(--secondary-3000-dark)!important}.border-x-secondary-3000-dark{border-left-color:var(--secondary-3000-dark)!important;border-right-color:var(--secondary-3000-dark)!important}.border-y-secondary-3000-dark{border-bottom-color:var(--secondary-3000-dark)!important;border-top-color:var(--secondary-3000-dark)!important}.decoration-secondary-3000-dark{text-decoration-color:var(--secondary-3000-dark)!important}.text-secondary-3000-hover-dark{color:var(--secondary-3000-hover-dark)!important}.bg-secondary-3000-hover-dark{background-color:var(--secondary-3000-hover-dark)!important}.border-secondary-3000-hover-dark{border-color:var(--secondary-3000-hover-dark)!important}.border-l-secondary-3000-hover-dark{border-left-color:var(--secondary-3000-hover-dark)!important}.border-r-secondary-3000-hover-dark{border-right-color:var(--secondary-3000-hover-dark)!important}.border-t-secondary-3000-hover-dark{border-top-color:var(--secondary-3000-hover-dark)!important}.border-b-secondary-3000-hover-dark{border-bottom-color:var(--secondary-3000-hover-dark)!important}.border-x-secondary-3000-hover-dark{border-left-color:var(--secondary-3000-hover-dark)!important;border-right-color:var(--secondary-3000-hover-dark)!important}.border-y-secondary-3000-hover-dark{border-bottom-color:var(--secondary-3000-hover-dark)!important;border-top-color:var(--secondary-3000-hover-dark)!important}.decoration-secondary-3000-hover-dark{text-decoration-color:var(--secondary-3000-hover-dark)!important}.text-accent-3000-dark{color:var(--accent-3000-dark)!important}.bg-accent-3000-dark{background-color:var(--accent-3000-dark)!important}.border-accent-3000-dark{border-color:var(--accent-3000-dark)!important}.border-l-accent-3000-dark{border-left-color:var(--accent-3000-dark)!important}.border-r-accent-3000-dark{border-right-color:var(--accent-3000-dark)!important}.border-t-accent-3000-dark{border-top-color:var(--accent-3000-dark)!important}.border-b-accent-3000-dark{border-bottom-color:var(--accent-3000-dark)!important}.border-x-accent-3000-dark{border-left-color:var(--accent-3000-dark)!important;border-right-color:var(--accent-3000-dark)!important}.border-y-accent-3000-dark{border-bottom-color:var(--accent-3000-dark)!important;border-top-color:var(--accent-3000-dark)!important}.decoration-accent-3000-dark{text-decoration-color:var(--accent-3000-dark)!important}.text-bg-3000-dark{color:var(--bg-3000-dark)!important}.bg-bg-3000-dark{background-color:var(--bg-3000-dark)!important}.border-bg-3000-dark{border-color:var(--bg-3000-dark)!important}.border-l-bg-3000-dark{border-left-color:var(--bg-3000-dark)!important}.border-r-bg-3000-dark{border-right-color:var(--bg-3000-dark)!important}.border-t-bg-3000-dark{border-top-color:var(--bg-3000-dark)!important}.border-b-bg-3000-dark{border-bottom-color:var(--bg-3000-dark)!important}.border-x-bg-3000-dark{border-left-color:var(--bg-3000-dark)!important;border-right-color:var(--bg-3000-dark)!important}.border-y-bg-3000-dark{border-bottom-color:var(--bg-3000-dark)!important;border-top-color:var(--bg-3000-dark)!important}.decoration-bg-3000-dark{text-decoration-color:var(--bg-3000-dark)!important}.text-border-3000-dark{color:var(--border-3000-dark)!important}.bg-border-3000-dark{background-color:var(--border-3000-dark)!important}.border-border-3000-dark{border-color:var(--border-3000-dark)!important}.border-l-border-3000-dark{border-left-color:var(--border-3000-dark)!important}.border-r-border-3000-dark{border-right-color:var(--border-3000-dark)!important}.border-t-border-3000-dark{border-top-color:var(--border-3000-dark)!important}.border-b-border-3000-dark{border-bottom-color:var(--border-3000-dark)!important}.border-x-border-3000-dark{border-left-color:var(--border-3000-dark)!important;border-right-color:var(--border-3000-dark)!important}.border-y-border-3000-dark{border-bottom-color:var(--border-3000-dark)!important;border-top-color:var(--border-3000-dark)!important}.decoration-border-3000-dark{text-decoration-color:var(--border-3000-dark)!important}.text-border-bold-3000-dark{color:var(--border-bold-3000-dark)!important}.bg-border-bold-3000-dark{background-color:var(--border-bold-3000-dark)!important}.border-border-bold-3000-dark{border-color:var(--border-bold-3000-dark)!important}.border-l-border-bold-3000-dark{border-left-color:var(--border-bold-3000-dark)!important}.border-r-border-bold-3000-dark{border-right-color:var(--border-bold-3000-dark)!important}.border-t-border-bold-3000-dark{border-top-color:var(--border-bold-3000-dark)!important}.border-b-border-bold-3000-dark{border-bottom-color:var(--border-bold-3000-dark)!important}.border-x-border-bold-3000-dark{border-left-color:var(--border-bold-3000-dark)!important;border-right-color:var(--border-bold-3000-dark)!important}.border-y-border-bold-3000-dark{border-bottom-color:var(--border-bold-3000-dark)!important;border-top-color:var(--border-bold-3000-dark)!important}.decoration-border-bold-3000-dark{text-decoration-color:var(--border-bold-3000-dark)!important}.text-glass-bg-3000-dark{color:var(--glass-bg-3000-dark)!important}.bg-glass-bg-3000-dark{background-color:var(--glass-bg-3000-dark)!important}.border-glass-bg-3000-dark{border-color:var(--glass-bg-3000-dark)!important}.border-l-glass-bg-3000-dark{border-left-color:var(--glass-bg-3000-dark)!important}.border-r-glass-bg-3000-dark{border-right-color:var(--glass-bg-3000-dark)!important}.border-t-glass-bg-3000-dark{border-top-color:var(--glass-bg-3000-dark)!important}.border-b-glass-bg-3000-dark{border-bottom-color:var(--glass-bg-3000-dark)!important}.border-x-glass-bg-3000-dark{border-left-color:var(--glass-bg-3000-dark)!important;border-right-color:var(--glass-bg-3000-dark)!important}.border-y-glass-bg-3000-dark{border-bottom-color:var(--glass-bg-3000-dark)!important;border-top-color:var(--glass-bg-3000-dark)!important}.decoration-glass-bg-3000-dark{text-decoration-color:var(--glass-bg-3000-dark)!important}.text-glass-border-3000-dark{color:var(--glass-border-3000-dark)!important}.bg-glass-border-3000-dark{background-color:var(--glass-border-3000-dark)!important}.border-glass-border-3000-dark{border-color:var(--glass-border-3000-dark)!important}.border-l-glass-border-3000-dark{border-left-color:var(--glass-border-3000-dark)!important}.border-r-glass-border-3000-dark{border-right-color:var(--glass-border-3000-dark)!important}.border-t-glass-border-3000-dark{border-top-color:var(--glass-border-3000-dark)!important}.border-b-glass-border-3000-dark{border-bottom-color:var(--glass-border-3000-dark)!important}.border-x-glass-border-3000-dark{border-left-color:var(--glass-border-3000-dark)!important;border-right-color:var(--glass-border-3000-dark)!important}.border-y-glass-border-3000-dark{border-bottom-color:var(--glass-border-3000-dark)!important;border-top-color:var(--glass-border-3000-dark)!important}.decoration-glass-border-3000-dark{text-decoration-color:var(--glass-border-3000-dark)!important}.text-link-3000-dark{color:var(--link-3000-dark)!important}.bg-link-3000-dark{background-color:var(--link-3000-dark)!important}.border-link-3000-dark{border-color:var(--link-3000-dark)!important}.border-l-link-3000-dark{border-left-color:var(--link-3000-dark)!important}.border-r-link-3000-dark{border-right-color:var(--link-3000-dark)!important}.border-t-link-3000-dark{border-top-color:var(--link-3000-dark)!important}.border-b-link-3000-dark{border-bottom-color:var(--link-3000-dark)!important}.border-x-link-3000-dark{border-left-color:var(--link-3000-dark)!important;border-right-color:var(--link-3000-dark)!important}.border-y-link-3000-dark{border-bottom-color:var(--link-3000-dark)!important;border-top-color:var(--link-3000-dark)!important}.decoration-link-3000-dark{text-decoration-color:var(--link-3000-dark)!important}.text-primary-3000-frame-bg-dark{color:var(--primary-3000-frame-bg-dark)!important}.bg-primary-3000-frame-bg-dark{background-color:var(--primary-3000-frame-bg-dark)!important}.border-primary-3000-frame-bg-dark{border-color:var(--primary-3000-frame-bg-dark)!important}.border-l-primary-3000-frame-bg-dark{border-left-color:var(--primary-3000-frame-bg-dark)!important}.border-r-primary-3000-frame-bg-dark{border-right-color:var(--primary-3000-frame-bg-dark)!important}.border-t-primary-3000-frame-bg-dark{border-top-color:var(--primary-3000-frame-bg-dark)!important}.border-b-primary-3000-frame-bg-dark{border-bottom-color:var(--primary-3000-frame-bg-dark)!important}.border-x-primary-3000-frame-bg-dark{border-left-color:var(--primary-3000-frame-bg-dark)!important;border-right-color:var(--primary-3000-frame-bg-dark)!important}.border-y-primary-3000-frame-bg-dark{border-bottom-color:var(--primary-3000-frame-bg-dark)!important;border-top-color:var(--primary-3000-frame-bg-dark)!important}.decoration-primary-3000-frame-bg-dark{text-decoration-color:var(--primary-3000-frame-bg-dark)!important}.text-primary-3000-button-bg-dark{color:var(--primary-3000-button-bg-dark)!important}.bg-primary-3000-button-bg-dark{background-color:var(--primary-3000-button-bg-dark)!important}.border-primary-3000-button-bg-dark{border-color:var(--primary-3000-button-bg-dark)!important}.border-l-primary-3000-button-bg-dark{border-left-color:var(--primary-3000-button-bg-dark)!important}.border-r-primary-3000-button-bg-dark{border-right-color:var(--primary-3000-button-bg-dark)!important}.border-t-primary-3000-button-bg-dark{border-top-color:var(--primary-3000-button-bg-dark)!important}.border-b-primary-3000-button-bg-dark{border-bottom-color:var(--primary-3000-button-bg-dark)!important}.border-x-primary-3000-button-bg-dark{border-left-color:var(--primary-3000-button-bg-dark)!important;border-right-color:var(--primary-3000-button-bg-dark)!important}.border-y-primary-3000-button-bg-dark{border-bottom-color:var(--primary-3000-button-bg-dark)!important;border-top-color:var(--primary-3000-button-bg-dark)!important}.decoration-primary-3000-button-bg-dark{text-decoration-color:var(--primary-3000-button-bg-dark)!important}.text-primary-3000-button-border-dark{color:var(--primary-3000-button-border-dark)!important}.bg-primary-3000-button-border-dark{background-color:var(--primary-3000-button-border-dark)!important}.border-primary-3000-button-border-dark{border-color:var(--primary-3000-button-border-dark)!important}.border-l-primary-3000-button-border-dark{border-left-color:var(--primary-3000-button-border-dark)!important}.border-r-primary-3000-button-border-dark{border-right-color:var(--primary-3000-button-border-dark)!important}.border-t-primary-3000-button-border-dark{border-top-color:var(--primary-3000-button-border-dark)!important}.border-b-primary-3000-button-border-dark{border-bottom-color:var(--primary-3000-button-border-dark)!important}.border-x-primary-3000-button-border-dark{border-left-color:var(--primary-3000-button-border-dark)!important;border-right-color:var(--primary-3000-button-border-dark)!important}.border-y-primary-3000-button-border-dark{border-bottom-color:var(--primary-3000-button-border-dark)!important;border-top-color:var(--primary-3000-button-border-dark)!important}.decoration-primary-3000-button-border-dark{text-decoration-color:var(--primary-3000-button-border-dark)!important}.text-primary-3000-button-border-hover-dark{color:var(--primary-3000-button-border-hover-dark)!important}.bg-primary-3000-button-border-hover-dark{background-color:var(--primary-3000-button-border-hover-dark)!important}.border-primary-3000-button-border-hover-dark{border-color:var(--primary-3000-button-border-hover-dark)!important}.border-l-primary-3000-button-border-hover-dark{border-left-color:var(--primary-3000-button-border-hover-dark)!important}.border-r-primary-3000-button-border-hover-dark{border-right-color:var(--primary-3000-button-border-hover-dark)!important}.border-t-primary-3000-button-border-hover-dark{border-top-color:var(--primary-3000-button-border-hover-dark)!important}.border-b-primary-3000-button-border-hover-dark{border-bottom-color:var(--primary-3000-button-border-hover-dark)!important}.border-x-primary-3000-button-border-hover-dark{border-left-color:var(--primary-3000-button-border-hover-dark)!important;border-right-color:var(--primary-3000-button-border-hover-dark)!important}.border-y-primary-3000-button-border-hover-dark{border-bottom-color:var(--primary-3000-button-border-hover-dark)!important;border-top-color:var(--primary-3000-button-border-hover-dark)!important}.decoration-primary-3000-button-border-hover-dark{text-decoration-color:var(--primary-3000-button-border-hover-dark)!important}.text-primary-alt-highlight-dark{color:var(--primary-alt-highlight-dark)!important}.bg-primary-alt-highlight-dark{background-color:var(--primary-alt-highlight-dark)!important}.border-primary-alt-highlight-dark{border-color:var(--primary-alt-highlight-dark)!important}.border-l-primary-alt-highlight-dark{border-left-color:var(--primary-alt-highlight-dark)!important}.border-r-primary-alt-highlight-dark{border-right-color:var(--primary-alt-highlight-dark)!important}.border-t-primary-alt-highlight-dark{border-top-color:var(--primary-alt-highlight-dark)!important}.border-b-primary-alt-highlight-dark{border-bottom-color:var(--primary-alt-highlight-dark)!important}.border-x-primary-alt-highlight-dark{border-left-color:var(--primary-alt-highlight-dark)!important;border-right-color:var(--primary-alt-highlight-dark)!important}.border-y-primary-alt-highlight-dark{border-bottom-color:var(--primary-alt-highlight-dark)!important;border-top-color:var(--primary-alt-highlight-dark)!important}.decoration-primary-alt-highlight-dark{text-decoration-color:var(--primary-alt-highlight-dark)!important}.text-secondary-3000-frame-bg-dark{color:var(--secondary-3000-frame-bg-dark)!important}.bg-secondary-3000-frame-bg-dark{background-color:var(--secondary-3000-frame-bg-dark)!important}.border-secondary-3000-frame-bg-dark{border-color:var(--secondary-3000-frame-bg-dark)!important}.border-l-secondary-3000-frame-bg-dark{border-left-color:var(--secondary-3000-frame-bg-dark)!important}.border-r-secondary-3000-frame-bg-dark{border-right-color:var(--secondary-3000-frame-bg-dark)!important}.border-t-secondary-3000-frame-bg-dark{border-top-color:var(--secondary-3000-frame-bg-dark)!important}.border-b-secondary-3000-frame-bg-dark{border-bottom-color:var(--secondary-3000-frame-bg-dark)!important}.border-x-secondary-3000-frame-bg-dark{border-left-color:var(--secondary-3000-frame-bg-dark)!important;border-right-color:var(--secondary-3000-frame-bg-dark)!important}.border-y-secondary-3000-frame-bg-dark{border-bottom-color:var(--secondary-3000-frame-bg-dark)!important;border-top-color:var(--secondary-3000-frame-bg-dark)!important}.decoration-secondary-3000-frame-bg-dark{text-decoration-color:var(--secondary-3000-frame-bg-dark)!important}.text-secondary-3000-button-bg-dark{color:var(--secondary-3000-button-bg-dark)!important}.bg-secondary-3000-button-bg-dark{background-color:var(--secondary-3000-button-bg-dark)!important}.border-secondary-3000-button-bg-dark{border-color:var(--secondary-3000-button-bg-dark)!important}.border-l-secondary-3000-button-bg-dark{border-left-color:var(--secondary-3000-button-bg-dark)!important}.border-r-secondary-3000-button-bg-dark{border-right-color:var(--secondary-3000-button-bg-dark)!important}.border-t-secondary-3000-button-bg-dark{border-top-color:var(--secondary-3000-button-bg-dark)!important}.border-b-secondary-3000-button-bg-dark{border-bottom-color:var(--secondary-3000-button-bg-dark)!important}.border-x-secondary-3000-button-bg-dark{border-left-color:var(--secondary-3000-button-bg-dark)!important;border-right-color:var(--secondary-3000-button-bg-dark)!important}.border-y-secondary-3000-button-bg-dark{border-bottom-color:var(--secondary-3000-button-bg-dark)!important;border-top-color:var(--secondary-3000-button-bg-dark)!important}.decoration-secondary-3000-button-bg-dark{text-decoration-color:var(--secondary-3000-button-bg-dark)!important}.text-secondary-3000-button-border-dark{color:var(--secondary-3000-button-border-dark)!important}.bg-secondary-3000-button-border-dark{background-color:var(--secondary-3000-button-border-dark)!important}.border-secondary-3000-button-border-dark{border-color:var(--secondary-3000-button-border-dark)!important}.border-l-secondary-3000-button-border-dark{border-left-color:var(--secondary-3000-button-border-dark)!important}.border-r-secondary-3000-button-border-dark{border-right-color:var(--secondary-3000-button-border-dark)!important}.border-t-secondary-3000-button-border-dark{border-top-color:var(--secondary-3000-button-border-dark)!important}.border-b-secondary-3000-button-border-dark{border-bottom-color:var(--secondary-3000-button-border-dark)!important}.border-x-secondary-3000-button-border-dark{border-left-color:var(--secondary-3000-button-border-dark)!important;border-right-color:var(--secondary-3000-button-border-dark)!important}.border-y-secondary-3000-button-border-dark{border-bottom-color:var(--secondary-3000-button-border-dark)!important;border-top-color:var(--secondary-3000-button-border-dark)!important}.decoration-secondary-3000-button-border-dark{text-decoration-color:var(--secondary-3000-button-border-dark)!important}.text-secondary-3000-button-border-hover-dark{color:var(--secondary-3000-button-border-hover-dark)!important}.bg-secondary-3000-button-border-hover-dark{background-color:var(--secondary-3000-button-border-hover-dark)!important}.border-secondary-3000-button-border-hover-dark{border-color:var(--secondary-3000-button-border-hover-dark)!important}.border-l-secondary-3000-button-border-hover-dark{border-left-color:var(--secondary-3000-button-border-hover-dark)!important}.border-r-secondary-3000-button-border-hover-dark{border-right-color:var(--secondary-3000-button-border-hover-dark)!important}.border-t-secondary-3000-button-border-hover-dark{border-top-color:var(--secondary-3000-button-border-hover-dark)!important}.border-b-secondary-3000-button-border-hover-dark{border-bottom-color:var(--secondary-3000-button-border-hover-dark)!important}.border-x-secondary-3000-button-border-hover-dark{border-left-color:var(--secondary-3000-button-border-hover-dark)!important;border-right-color:var(--secondary-3000-button-border-hover-dark)!important}.border-y-secondary-3000-button-border-hover-dark{border-bottom-color:var(--secondary-3000-button-border-hover-dark)!important;border-top-color:var(--secondary-3000-button-border-hover-dark)!important}.decoration-secondary-3000-button-border-hover-dark{text-decoration-color:var(--secondary-3000-button-border-hover-dark)!important}.text-danger-3000-frame-bg-dark{color:var(--danger-3000-frame-bg-dark)!important}.bg-danger-3000-frame-bg-dark{background-color:var(--danger-3000-frame-bg-dark)!important}.border-danger-3000-frame-bg-dark{border-color:var(--danger-3000-frame-bg-dark)!important}.border-l-danger-3000-frame-bg-dark{border-left-color:var(--danger-3000-frame-bg-dark)!important}.border-r-danger-3000-frame-bg-dark{border-right-color:var(--danger-3000-frame-bg-dark)!important}.border-t-danger-3000-frame-bg-dark{border-top-color:var(--danger-3000-frame-bg-dark)!important}.border-b-danger-3000-frame-bg-dark{border-bottom-color:var(--danger-3000-frame-bg-dark)!important}.border-x-danger-3000-frame-bg-dark{border-left-color:var(--danger-3000-frame-bg-dark)!important;border-right-color:var(--danger-3000-frame-bg-dark)!important}.border-y-danger-3000-frame-bg-dark{border-bottom-color:var(--danger-3000-frame-bg-dark)!important;border-top-color:var(--danger-3000-frame-bg-dark)!important}.decoration-danger-3000-frame-bg-dark{text-decoration-color:var(--danger-3000-frame-bg-dark)!important}.text-danger-3000-button-border-dark{color:var(--danger-3000-button-border-dark)!important}.bg-danger-3000-button-border-dark{background-color:var(--danger-3000-button-border-dark)!important}.border-danger-3000-button-border-dark{border-color:var(--danger-3000-button-border-dark)!important}.border-l-danger-3000-button-border-dark{border-left-color:var(--danger-3000-button-border-dark)!important}.border-r-danger-3000-button-border-dark{border-right-color:var(--danger-3000-button-border-dark)!important}.border-t-danger-3000-button-border-dark{border-top-color:var(--danger-3000-button-border-dark)!important}.border-b-danger-3000-button-border-dark{border-bottom-color:var(--danger-3000-button-border-dark)!important}.border-x-danger-3000-button-border-dark{border-left-color:var(--danger-3000-button-border-dark)!important;border-right-color:var(--danger-3000-button-border-dark)!important}.border-y-danger-3000-button-border-dark{border-bottom-color:var(--danger-3000-button-border-dark)!important;border-top-color:var(--danger-3000-button-border-dark)!important}.decoration-danger-3000-button-border-dark{text-decoration-color:var(--danger-3000-button-border-dark)!important}.text-danger-3000-button-border-hover-dark{color:var(--danger-3000-button-border-hover-dark)!important}.bg-danger-3000-button-border-hover-dark{background-color:var(--danger-3000-button-border-hover-dark)!important}.border-danger-3000-button-border-hover-dark{border-color:var(--danger-3000-button-border-hover-dark)!important}.border-l-danger-3000-button-border-hover-dark{border-left-color:var(--danger-3000-button-border-hover-dark)!important}.border-r-danger-3000-button-border-hover-dark{border-right-color:var(--danger-3000-button-border-hover-dark)!important}.border-t-danger-3000-button-border-hover-dark{border-top-color:var(--danger-3000-button-border-hover-dark)!important}.border-b-danger-3000-button-border-hover-dark{border-bottom-color:var(--danger-3000-button-border-hover-dark)!important}.border-x-danger-3000-button-border-hover-dark{border-left-color:var(--danger-3000-button-border-hover-dark)!important;border-right-color:var(--danger-3000-button-border-hover-dark)!important}.border-y-danger-3000-button-border-hover-dark{border-bottom-color:var(--danger-3000-button-border-hover-dark)!important;border-top-color:var(--danger-3000-button-border-hover-dark)!important}.decoration-danger-3000-button-border-hover-dark{text-decoration-color:var(--danger-3000-button-border-hover-dark)!important}.text-default{color:var(--default)!important}.bg-default{background-color:var(--default)!important}.border-default{border-color:var(--default)!important}.border-l-default{border-left-color:var(--default)!important}.border-r-default{border-right-color:var(--default)!important}.border-t-default{border-top-color:var(--default)!important}.border-b-default{border-bottom-color:var(--default)!important}.border-x-default{border-left-color:var(--default)!important;border-right-color:var(--default)!important}.border-y-default{border-bottom-color:var(--default)!important;border-top-color:var(--default)!important}.decoration-default{text-decoration-color:var(--default)!important}.text-text-3000{color:var(--text-3000)!important}.bg-text-3000{background-color:var(--text-3000)!important}.border-text-3000{border-color:var(--text-3000)!important}.border-l-text-3000{border-left-color:var(--text-3000)!important}.border-r-text-3000{border-right-color:var(--text-3000)!important}.border-t-text-3000{border-top-color:var(--text-3000)!important}.border-b-text-3000{border-bottom-color:var(--text-3000)!important}.border-x-text-3000{border-left-color:var(--text-3000)!important;border-right-color:var(--text-3000)!important}.border-y-text-3000{border-bottom-color:var(--text-3000)!important;border-top-color:var(--text-3000)!important}.decoration-text-3000{text-decoration-color:var(--text-3000)!important}.text-text-secondary-3000{color:var(--text-secondary-3000)!important}.bg-text-secondary-3000{background-color:var(--text-secondary-3000)!important}.border-text-secondary-3000{border-color:var(--text-secondary-3000)!important}.border-l-text-secondary-3000{border-left-color:var(--text-secondary-3000)!important}.border-r-text-secondary-3000{border-right-color:var(--text-secondary-3000)!important}.border-t-text-secondary-3000{border-top-color:var(--text-secondary-3000)!important}.border-b-text-secondary-3000{border-bottom-color:var(--text-secondary-3000)!important}.border-x-text-secondary-3000{border-left-color:var(--text-secondary-3000)!important;border-right-color:var(--text-secondary-3000)!important}.border-y-text-secondary-3000{border-bottom-color:var(--text-secondary-3000)!important;border-top-color:var(--text-secondary-3000)!important}.decoration-text-secondary-3000{text-decoration-color:var(--text-secondary-3000)!important}.text-muted-3000{color:var(--muted-3000)!important}.bg-muted-3000{background-color:var(--muted-3000)!important}.border-muted-3000{border-color:var(--muted-3000)!important}.border-l-muted-3000{border-left-color:var(--muted-3000)!important}.border-r-muted-3000{border-right-color:var(--muted-3000)!important}.border-t-muted-3000{border-top-color:var(--muted-3000)!important}.border-b-muted-3000{border-bottom-color:var(--muted-3000)!important}.border-x-muted-3000{border-left-color:var(--muted-3000)!important;border-right-color:var(--muted-3000)!important}.border-y-muted-3000{border-bottom-color:var(--muted-3000)!important;border-top-color:var(--muted-3000)!important}.decoration-muted-3000{text-decoration-color:var(--muted-3000)!important}.text-primary-3000{color:var(--primary-3000)!important}.bg-primary-3000{background-color:var(--primary-3000)!important}.border-primary-3000{border-color:var(--primary-3000)!important}.border-l-primary-3000{border-left-color:var(--primary-3000)!important}.border-r-primary-3000{border-right-color:var(--primary-3000)!important}.border-t-primary-3000{border-top-color:var(--primary-3000)!important}.border-b-primary-3000{border-bottom-color:var(--primary-3000)!important}.border-x-primary-3000{border-left-color:var(--primary-3000)!important;border-right-color:var(--primary-3000)!important}.border-y-primary-3000{border-bottom-color:var(--primary-3000)!important;border-top-color:var(--primary-3000)!important}.decoration-primary-3000{text-decoration-color:var(--primary-3000)!important}.text-secondary-3000{color:var(--secondary-3000)!important}.bg-secondary-3000{background-color:var(--secondary-3000)!important}.border-secondary-3000{border-color:var(--secondary-3000)!important}.border-l-secondary-3000{border-left-color:var(--secondary-3000)!important}.border-r-secondary-3000{border-right-color:var(--secondary-3000)!important}.border-t-secondary-3000{border-top-color:var(--secondary-3000)!important}.border-b-secondary-3000{border-bottom-color:var(--secondary-3000)!important}.border-x-secondary-3000{border-left-color:var(--secondary-3000)!important;border-right-color:var(--secondary-3000)!important}.border-y-secondary-3000{border-bottom-color:var(--secondary-3000)!important;border-top-color:var(--secondary-3000)!important}.decoration-secondary-3000{text-decoration-color:var(--secondary-3000)!important}.text-secondary-3000-hover{color:var(--secondary-3000-hover)!important}.bg-secondary-3000-hover{background-color:var(--secondary-3000-hover)!important}.border-secondary-3000-hover{border-color:var(--secondary-3000-hover)!important}.border-l-secondary-3000-hover{border-left-color:var(--secondary-3000-hover)!important}.border-r-secondary-3000-hover{border-right-color:var(--secondary-3000-hover)!important}.border-t-secondary-3000-hover{border-top-color:var(--secondary-3000-hover)!important}.border-b-secondary-3000-hover{border-bottom-color:var(--secondary-3000-hover)!important}.border-x-secondary-3000-hover{border-left-color:var(--secondary-3000-hover)!important;border-right-color:var(--secondary-3000-hover)!important}.border-y-secondary-3000-hover{border-bottom-color:var(--secondary-3000-hover)!important;border-top-color:var(--secondary-3000-hover)!important}.decoration-secondary-3000-hover{text-decoration-color:var(--secondary-3000-hover)!important}.text-accent-3000{color:var(--accent-3000)!important}.bg-accent-3000{background-color:var(--accent-3000)!important}.border-accent-3000{border-color:var(--accent-3000)!important}.border-l-accent-3000{border-left-color:var(--accent-3000)!important}.border-r-accent-3000{border-right-color:var(--accent-3000)!important}.border-t-accent-3000{border-top-color:var(--accent-3000)!important}.border-b-accent-3000{border-bottom-color:var(--accent-3000)!important}.border-x-accent-3000{border-left-color:var(--accent-3000)!important;border-right-color:var(--accent-3000)!important}.border-y-accent-3000{border-bottom-color:var(--accent-3000)!important;border-top-color:var(--accent-3000)!important}.decoration-accent-3000{text-decoration-color:var(--accent-3000)!important}.text-bg-3000{color:var(--bg-3000)!important}.bg-bg-3000{background-color:var(--bg-3000)!important}.border-bg-3000{border-color:var(--bg-3000)!important}.border-l-bg-3000{border-left-color:var(--bg-3000)!important}.border-r-bg-3000{border-right-color:var(--bg-3000)!important}.border-t-bg-3000{border-top-color:var(--bg-3000)!important}.border-b-bg-3000{border-bottom-color:var(--bg-3000)!important}.border-x-bg-3000{border-left-color:var(--bg-3000)!important;border-right-color:var(--bg-3000)!important}.border-y-bg-3000{border-bottom-color:var(--bg-3000)!important;border-top-color:var(--bg-3000)!important}.decoration-bg-3000{text-decoration-color:var(--bg-3000)!important}.text-primary-highlight{color:var(--primary-highlight)!important}.bg-primary-highlight{background-color:var(--primary-highlight)!important}.border-primary-highlight{border-color:var(--primary-highlight)!important}.border-l-primary-highlight{border-left-color:var(--primary-highlight)!important}.border-r-primary-highlight{border-right-color:var(--primary-highlight)!important}.border-t-primary-highlight{border-top-color:var(--primary-highlight)!important}.border-b-primary-highlight{border-bottom-color:var(--primary-highlight)!important}.border-x-primary-highlight{border-left-color:var(--primary-highlight)!important;border-right-color:var(--primary-highlight)!important}.border-y-primary-highlight{border-bottom-color:var(--primary-highlight)!important;border-top-color:var(--primary-highlight)!important}.decoration-primary-highlight{text-decoration-color:var(--primary-highlight)!important}.text-primary-alt-highlight{color:var(--primary-alt-highlight)!important}.bg-primary-alt-highlight{background-color:var(--primary-alt-highlight)!important}.border-primary-alt-highlight{border-color:var(--primary-alt-highlight)!important}.border-l-primary-alt-highlight{border-left-color:var(--primary-alt-highlight)!important}.border-r-primary-alt-highlight{border-right-color:var(--primary-alt-highlight)!important}.border-t-primary-alt-highlight{border-top-color:var(--primary-alt-highlight)!important}.border-b-primary-alt-highlight{border-bottom-color:var(--primary-alt-highlight)!important}.border-x-primary-alt-highlight{border-left-color:var(--primary-alt-highlight)!important;border-right-color:var(--primary-alt-highlight)!important}.border-y-primary-alt-highlight{border-bottom-color:var(--primary-alt-highlight)!important;border-top-color:var(--primary-alt-highlight)!important}.decoration-primary-alt-highlight{text-decoration-color:var(--primary-alt-highlight)!important}.text-primary-alt{color:var(--primary-alt)!important}.bg-primary-alt{background-color:var(--primary-alt)!important}.border-primary-alt{border-color:var(--primary-alt)!important}.border-l-primary-alt{border-left-color:var(--primary-alt)!important}.border-r-primary-alt{border-right-color:var(--primary-alt)!important}.border-t-primary-alt{border-top-color:var(--primary-alt)!important}.border-b-primary-alt{border-bottom-color:var(--primary-alt)!important}.border-x-primary-alt{border-left-color:var(--primary-alt)!important;border-right-color:var(--primary-alt)!important}.border-y-primary-alt{border-bottom-color:var(--primary-alt)!important;border-top-color:var(--primary-alt)!important}.decoration-primary-alt{text-decoration-color:var(--primary-alt)!important}.hover\\:text-primary:hover{color:#1d4aff!important}.hover\\:bg-primary:hover{background-color:#1d4aff!important}.hover\\:border-primary:hover{border-color:#1d4aff!important}.hover\\:text-danger-highlight:hover{color:rgba(219,55,7,.1)!important}.hover\\:bg-danger-highlight:hover{background-color:rgba(219,55,7,.1)!important}.hover\\:border-danger-highlight:hover{border-color:rgba(219,55,7,.1)!important}.hover\\:text-danger-lighter:hover{color:#ffa599!important}.hover\\:bg-danger-lighter:hover{background-color:#ffa599!important}.hover\\:border-danger-lighter:hover{border-color:#ffa599!important}.hover\\:text-danger-light:hover{color:#df4b20!important}.hover\\:bg-danger-light:hover{background-color:#df4b20!important}.hover\\:border-danger-light:hover{border-color:#df4b20!important}.hover\\:text-danger:hover{color:#db3707!important}.hover\\:bg-danger:hover{background-color:#db3707!important}.hover\\:border-danger:hover{border-color:#db3707!important}.hover\\:text-danger-dark:hover{color:#992705!important}.hover\\:bg-danger-dark:hover{background-color:#992705!important}.hover\\:border-danger-dark:hover{border-color:#992705!important}.hover\\:text-warning-highlight:hover{color:rgba(247,165,1,.1)!important}.hover\\:bg-warning-highlight:hover{background-color:rgba(247,165,1,.1)!important}.hover\\:border-warning-highlight:hover{border-color:rgba(247,165,1,.1)!important}.hover\\:text-warning:hover{color:#f7a501!important}.hover\\:bg-warning:hover{background-color:#f7a501!important}.hover\\:border-warning:hover{border-color:#f7a501!important}.hover\\:text-warning-dark:hover{color:#e09423!important}.hover\\:bg-warning-dark:hover{background-color:#e09423!important}.hover\\:border-warning-dark:hover{border-color:#e09423!important}.hover\\:text-highlight:hover{color:#e49f2c!important}.hover\\:bg-highlight:hover{background-color:#e49f2c!important}.hover\\:border-highlight:hover{border-color:#e49f2c!important}.hover\\:text-success-highlight:hover{color:rgba(56,134,0,.1)!important}.hover\\:bg-success-highlight:hover{background-color:rgba(56,134,0,.1)!important}.hover\\:border-success-highlight:hover{border-color:rgba(56,134,0,.1)!important}.hover\\:text-success-light:hover{color:#5f9d32!important}.hover\\:bg-success-light:hover{background-color:#5f9d32!important}.hover\\:border-success-light:hover{border-color:#5f9d32!important}.hover\\:text-success:hover{color:#388600!important}.hover\\:bg-success:hover{background-color:#388600!important}.hover\\:border-success:hover{border-color:#388600!important}.hover\\:text-success-dark:hover{color:#245700!important}.hover\\:bg-success-dark:hover{background-color:#245700!important}.hover\\:border-success-dark:hover{border-color:#245700!important}.hover\\:text-muted:hover{color:#5f5f5f!important}.hover\\:bg-muted:hover{background-color:#5f5f5f!important}.hover\\:border-muted:hover{border-color:#5f5f5f!important}.hover\\:text-muted-alt:hover{color:#747ea1!important}.hover\\:bg-muted-alt:hover{background-color:#747ea1!important}.hover\\:border-muted-alt:hover{border-color:#747ea1!important}.hover\\:text-mark:hover{color:hsla(42,94%,86%,.8)!important}.hover\\:bg-mark:hover{background-color:hsla(42,94%,86%,.8)!important}.hover\\:border-mark:hover{border-color:hsla(42,94%,86%,.8)!important}.hover\\:text-white:hover{color:#fff!important}.hover\\:bg-white:hover{background-color:#fff!important}.hover\\:border-white:hover{border-color:#fff!important}.hover\\:text-bg-light:hover{color:#fff!important}.hover\\:bg-bg-light:hover{background-color:#fff!important}.hover\\:border-bg-light:hover{border-color:#fff!important}.hover\\:text-side:hover{color:#fafaf9!important}.hover\\:bg-side:hover{background-color:#fafaf9!important}.hover\\:border-side:hover{border-color:#fafaf9!important}.hover\\:text-mid:hover{color:#f2f2f2!important}.hover\\:bg-mid:hover{background-color:#f2f2f2!important}.hover\\:border-mid:hover{border-color:#f2f2f2!important}.hover\\:text-border:hover{color:rgba(0,0,0,.15)!important}.hover\\:bg-border:hover{background-color:rgba(0,0,0,.15)!important}.hover\\:border-border:hover{border-color:rgba(0,0,0,.15)!important}.hover\\:text-border-light:hover{color:rgba(0,0,0,.08)!important}.hover\\:bg-border-light:hover{background-color:rgba(0,0,0,.08)!important}.hover\\:border-border-light:hover{border-color:rgba(0,0,0,.08)!important}.hover\\:text-border-bold:hover{color:rgba(0,0,0,.24)!important}.hover\\:bg-border-bold:hover{background-color:rgba(0,0,0,.24)!important}.hover\\:border-border-bold:hover{border-color:rgba(0,0,0,.24)!important}.hover\\:text-transparent:hover{color:transparent!important}.hover\\:bg-transparent:hover{background-color:transparent!important}.hover\\:border-transparent:hover{border-color:transparent!important}.hover\\:text-link:hover{color:var(--primary-3000)!important}.hover\\:bg-link:hover{background-color:var(--primary-3000)!important}.hover\\:border-link:hover{border-color:var(--primary-3000)!important}.hover\\:text-brand-blue:hover{color:#1d4aff!important}.hover\\:bg-brand-blue:hover{background-color:#1d4aff!important}.hover\\:border-brand-blue:hover{border-color:#1d4aff!important}.hover\\:text-brand-red:hover{color:#f54e00!important}.hover\\:bg-brand-red:hover{background-color:#f54e00!important}.hover\\:border-brand-red:hover{border-color:#f54e00!important}.hover\\:text-brand-yellow:hover{color:#f9bd2b!important}.hover\\:bg-brand-yellow:hover{background-color:#f9bd2b!important}.hover\\:border-brand-yellow:hover{border-color:#f9bd2b!important}.hover\\:text-brand-key:hover{color:#000!important}.hover\\:bg-brand-key:hover{background-color:#000!important}.hover\\:border-brand-key:hover{border-color:#000!important}.hover\\:text-text-3000-light:hover{color:#111!important}.hover\\:bg-text-3000-light:hover{background-color:#111!important}.hover\\:border-text-3000-light:hover{border-color:#111!important}.hover\\:text-text-secondary-3000-light:hover{color:hsla(0,0%,7%,.7)!important}.hover\\:bg-text-secondary-3000-light:hover{background-color:hsla(0,0%,7%,.7)!important}.hover\\:border-text-secondary-3000-light:hover{border-color:hsla(0,0%,7%,.7)!important}.hover\\:text-muted-3000-light:hover{color:hsla(0,0%,7%,.6)!important}.hover\\:bg-muted-3000-light:hover{background-color:hsla(0,0%,7%,.6)!important}.hover\\:border-muted-3000-light:hover{border-color:hsla(0,0%,7%,.6)!important}.hover\\:text-trace-3000-light:hover{color:hsla(0,0%,7%,.25)!important}.hover\\:bg-trace-3000-light:hover{background-color:hsla(0,0%,7%,.25)!important}.hover\\:border-trace-3000-light:hover{border-color:hsla(0,0%,7%,.25)!important}.hover\\:text-primary-3000-light:hover{color:#f54e01!important}.hover\\:bg-primary-3000-light:hover{background-color:#f54e01!important}.hover\\:border-primary-3000-light:hover{border-color:#f54e01!important}.hover\\:text-primary-highlight-light:hover{color:rgba(245,78,1,.1)!important}.hover\\:bg-primary-highlight-light:hover{background-color:rgba(245,78,1,.1)!important}.hover\\:border-primary-highlight-light:hover{border-color:rgba(245,78,1,.1)!important}.hover\\:text-primary-3000-hover-light:hover{color:#f54e01!important}.hover\\:bg-primary-3000-hover-light:hover{background-color:#f54e01!important}.hover\\:border-primary-3000-hover-light:hover{border-color:#f54e01!important}.hover\\:text-primary-3000-active-light:hover{color:#f54e01!important}.hover\\:bg-primary-3000-active-light:hover{background-color:#f54e01!important}.hover\\:border-primary-3000-active-light:hover{border-color:#f54e01!important}.hover\\:text-secondary-3000-light:hover{color:hsla(68,14%,79%,.6)!important}.hover\\:bg-secondary-3000-light:hover{background-color:hsla(68,14%,79%,.6)!important}.hover\\:border-secondary-3000-light:hover{border-color:hsla(68,14%,79%,.6)!important}.hover\\:text-secondary-3000-hover-light:hover{color:#cfd1c2!important}.hover\\:bg-secondary-3000-hover-light:hover{background-color:#cfd1c2!important}.hover\\:border-secondary-3000-hover-light:hover{border-color:#cfd1c2!important}.hover\\:text-accent-3000-light:hover{color:#eeefe9!important}.hover\\:bg-accent-3000-light:hover{background-color:#eeefe9!important}.hover\\:border-accent-3000-light:hover{border-color:#eeefe9!important}.hover\\:text-bg-3000-light:hover{color:#f3f4ef!important}.hover\\:bg-bg-3000-light:hover{background-color:#f3f4ef!important}.hover\\:border-bg-3000-light:hover{border-color:#f3f4ef!important}.hover\\:text-border-3000-light:hover{color:#dadbd2!important}.hover\\:bg-border-3000-light:hover{background-color:#dadbd2!important}.hover\\:border-border-3000-light:hover{border-color:#dadbd2!important}.hover\\:text-border-bold-3000-light:hover{color:#c1c2b9!important}.hover\\:bg-border-bold-3000-light:hover{background-color:#c1c2b9!important}.hover\\:border-border-bold-3000-light:hover{border-color:#c1c2b9!important}.hover\\:text-glass-bg-3000-light:hover{color:hsla(69,12%,88%,.702)!important}.hover\\:bg-glass-bg-3000-light:hover{background-color:hsla(69,12%,88%,.702)!important}.hover\\:border-glass-bg-3000-light:hover{border-color:hsla(69,12%,88%,.702)!important}.hover\\:text-glass-border-3000-light:hover{color:#e4e5de!important}.hover\\:bg-glass-border-3000-light:hover{background-color:#e4e5de!important}.hover\\:border-glass-border-3000-light:hover{border-color:#e4e5de!important}.hover\\:text-link-3000-light:hover{color:#f54e00!important}.hover\\:bg-link-3000-light:hover{background-color:#f54e00!important}.hover\\:border-link-3000-light:hover{border-color:#f54e00!important}.hover\\:text-primary-3000-frame-bg-light:hover{color:#eb9d2a!important}.hover\\:bg-primary-3000-frame-bg-light:hover{background-color:#eb9d2a!important}.hover\\:border-primary-3000-frame-bg-light:hover{border-color:#eb9d2a!important}.hover\\:text-primary-3000-button-bg-light:hover{color:#fff!important}.hover\\:bg-primary-3000-button-bg-light:hover{background-color:#fff!important}.hover\\:border-primary-3000-button-bg-light:hover{border-color:#fff!important}.hover\\:text-primary-3000-button-border-light:hover{color:#b17816!important}.hover\\:bg-primary-3000-button-border-light:hover{background-color:#b17816!important}.hover\\:border-primary-3000-button-border-light:hover{border-color:#b17816!important}.hover\\:text-primary-3000-button-border-hover-light:hover{color:#8e5b03!important}.hover\\:bg-primary-3000-button-border-hover-light:hover{background-color:#8e5b03!important}.hover\\:border-primary-3000-button-border-hover-light:hover{border-color:#8e5b03!important}.hover\\:text-secondary-3000-frame-bg-light:hover{color:#e1dddd!important}.hover\\:bg-secondary-3000-frame-bg-light:hover{background-color:#e1dddd!important}.hover\\:border-secondary-3000-frame-bg-light:hover{border-color:#e1dddd!important}.hover\\:text-secondary-3000-button-bg-light:hover{color:#f3f4ef!important}.hover\\:bg-secondary-3000-button-bg-light:hover{background-color:#f3f4ef!important}.hover\\:border-secondary-3000-button-bg-light:hover{border-color:#f3f4ef!important}.hover\\:text-secondary-3000-button-border-light:hover{color:#ccc!important}.hover\\:bg-secondary-3000-button-border-light:hover{background-color:#ccc!important}.hover\\:border-secondary-3000-button-border-light:hover{border-color:#ccc!important}.hover\\:text-secondary-3000-button-border-hover-light:hover{color:#aaa!important}.hover\\:bg-secondary-3000-button-border-hover-light:hover{background-color:#aaa!important}.hover\\:border-secondary-3000-button-border-hover-light:hover{border-color:#aaa!important}.hover\\:text-danger-3000-frame-bg-light:hover{color:rgba(245,78,0,.502)!important}.hover\\:bg-danger-3000-frame-bg-light:hover{background-color:rgba(245,78,0,.502)!important}.hover\\:border-danger-3000-frame-bg-light:hover{border-color:rgba(245,78,0,.502)!important}.hover\\:text-danger-3000-button-border-light:hover{color:#e96b30!important}.hover\\:bg-danger-3000-button-border-light:hover{background-color:#e96b30!important}.hover\\:border-danger-3000-button-border-light:hover{border-color:#e96b30!important}.hover\\:text-danger-3000-button-border-hover-light:hover{color:#f54e00!important}.hover\\:bg-danger-3000-button-border-hover-light:hover{background-color:#f54e00!important}.hover\\:border-danger-3000-button-border-hover-light:hover{border-color:#f54e00!important}.hover\\:text-shadow-elevation-3000-light:hover{color:0 3px 0 var(--border-3000-light)!important}.hover\\:bg-shadow-elevation-3000-light:hover{background-color:0 3px 0 var(--border-3000-light)!important}.hover\\:border-shadow-elevation-3000-light:hover{border-color:0 3px 0 var(--border-3000-light)!important}.hover\\:text-shadow-elevation-3000-dark:hover{color:0 3px 0 var(--border-3000-dark)!important}.hover\\:bg-shadow-elevation-3000-dark:hover{background-color:0 3px 0 var(--border-3000-dark)!important}.hover\\:border-shadow-elevation-3000-dark:hover{border-color:0 3px 0 var(--border-3000-dark)!important}.hover\\:text-text-3000-dark:hover{color:#fff!important}.hover\\:bg-text-3000-dark:hover{background-color:#fff!important}.hover\\:border-text-3000-dark:hover{border-color:#fff!important}.hover\\:text-text-secondary-3000-dark:hover{color:hsla(0,0%,100%,.7)!important}.hover\\:bg-text-secondary-3000-dark:hover{background-color:hsla(0,0%,100%,.7)!important}.hover\\:border-text-secondary-3000-dark:hover{border-color:hsla(0,0%,100%,.7)!important}.hover\\:text-muted-3000-dark:hover{color:hsla(0,0%,100%,.5)!important}.hover\\:bg-muted-3000-dark:hover{background-color:hsla(0,0%,100%,.5)!important}.hover\\:border-muted-3000-dark:hover{border-color:hsla(0,0%,100%,.5)!important}.hover\\:text-trace-3000-dark:hover{color:hsla(0,0%,100%,.25)!important}.hover\\:bg-trace-3000-dark:hover{background-color:hsla(0,0%,100%,.25)!important}.hover\\:border-trace-3000-dark:hover{border-color:hsla(0,0%,100%,.25)!important}.hover\\:text-primary-3000-dark:hover{color:#f7a503!important}.hover\\:bg-primary-3000-dark:hover{background-color:#f7a503!important}.hover\\:border-primary-3000-dark:hover{border-color:#f7a503!important}.hover\\:text-primary-highlight-dark:hover{color:rgba(247,165,3,.1)!important}.hover\\:bg-primary-highlight-dark:hover{background-color:rgba(247,165,3,.1)!important}.hover\\:border-primary-highlight-dark:hover{border-color:rgba(247,165,3,.1)!important}.hover\\:text-primary-3000-hover-dark:hover{color:#f7a503!important}.hover\\:bg-primary-3000-hover-dark:hover{background-color:#f7a503!important}.hover\\:border-primary-3000-hover-dark:hover{border-color:#f7a503!important}.hover\\:text-primary-3000-active-dark:hover{color:#f7a503!important}.hover\\:bg-primary-3000-active-dark:hover{background-color:#f7a503!important}.hover\\:border-primary-3000-active-dark:hover{border-color:#f7a503!important}.hover\\:text-primary-alt-highlight-light:hover{color:#e5e7e0!important}.hover\\:bg-primary-alt-highlight-light:hover{background-color:#e5e7e0!important}.hover\\:border-primary-alt-highlight-light:hover{border-color:#e5e7e0!important}.hover\\:text-secondary-3000-dark:hover{color:#1d1f27!important}.hover\\:bg-secondary-3000-dark:hover{background-color:#1d1f27!important}.hover\\:border-secondary-3000-dark:hover{border-color:#1d1f27!important}.hover\\:text-secondary-3000-hover-dark:hover{color:#575d77!important}.hover\\:bg-secondary-3000-hover-dark:hover{background-color:#575d77!important}.hover\\:border-secondary-3000-hover-dark:hover{border-color:#575d77!important}.hover\\:text-accent-3000-dark:hover{color:#21242b!important}.hover\\:bg-accent-3000-dark:hover{background-color:#21242b!important}.hover\\:border-accent-3000-dark:hover{border-color:#21242b!important}.hover\\:text-bg-3000-dark:hover{color:#1d1f27!important}.hover\\:bg-bg-3000-dark:hover{background-color:#1d1f27!important}.hover\\:border-bg-3000-dark:hover{border-color:#1d1f27!important}.hover\\:text-border-3000-dark:hover{color:#35373e!important}.hover\\:bg-border-3000-dark:hover{background-color:#35373e!important}.hover\\:border-border-3000-dark:hover{border-color:#35373e!important}.hover\\:text-border-bold-3000-dark:hover{color:#3f4046!important}.hover\\:bg-border-bold-3000-dark:hover{background-color:#3f4046!important}.hover\\:border-border-bold-3000-dark:hover{border-color:#3f4046!important}.hover\\:text-glass-bg-3000-dark:hover{color:rgba(36,38,42,.6)!important}.hover\\:bg-glass-bg-3000-dark:hover{background-color:rgba(36,38,42,.6)!important}.hover\\:border-glass-bg-3000-dark:hover{border-color:rgba(36,38,42,.6)!important}.hover\\:text-glass-border-3000-dark:hover{color:var(--border-3000-dark)!important}.hover\\:bg-glass-border-3000-dark:hover{background-color:var(--border-3000-dark)!important}.hover\\:border-glass-border-3000-dark:hover{border-color:var(--border-3000-dark)!important}.hover\\:text-link-3000-dark:hover{color:#f1a82c!important}.hover\\:bg-link-3000-dark:hover{background-color:#f1a82c!important}.hover\\:border-link-3000-dark:hover{border-color:#f1a82c!important}.hover\\:text-primary-3000-frame-bg-dark:hover{color:#926826!important}.hover\\:bg-primary-3000-frame-bg-dark:hover{background-color:#926826!important}.hover\\:border-primary-3000-frame-bg-dark:hover{border-color:#926826!important}.hover\\:text-primary-3000-button-bg-dark:hover{color:#e0a045!important}.hover\\:bg-primary-3000-button-bg-dark:hover{background-color:#e0a045!important}.hover\\:border-primary-3000-button-bg-dark:hover{border-color:#e0a045!important}.hover\\:text-primary-3000-button-border-dark:hover{color:#b17816!important}.hover\\:bg-primary-3000-button-border-dark:hover{background-color:#b17816!important}.hover\\:border-primary-3000-button-border-dark:hover{border-color:#b17816!important}.hover\\:text-primary-3000-button-border-hover-dark:hover{color:#8e5b03!important}.hover\\:bg-primary-3000-button-border-hover-dark:hover{background-color:#8e5b03!important}.hover\\:border-primary-3000-button-border-hover-dark:hover{border-color:#8e5b03!important}.hover\\:text-primary-alt-highlight-dark:hover{color:#232429!important}.hover\\:bg-primary-alt-highlight-dark:hover{background-color:#232429!important}.hover\\:border-primary-alt-highlight-dark:hover{border-color:#232429!important}.hover\\:text-secondary-3000-frame-bg-dark:hover{color:#323232!important}.hover\\:bg-secondary-3000-frame-bg-dark:hover{background-color:#323232!important}.hover\\:border-secondary-3000-frame-bg-dark:hover{border-color:#323232!important}.hover\\:text-secondary-3000-button-bg-dark:hover{color:#1d1f27!important}.hover\\:bg-secondary-3000-button-bg-dark:hover{background-color:#1d1f27!important}.hover\\:border-secondary-3000-button-bg-dark:hover{border-color:#1d1f27!important}.hover\\:text-secondary-3000-button-border-dark:hover{color:#4a4c52!important}.hover\\:bg-secondary-3000-button-border-dark:hover{background-color:#4a4c52!important}.hover\\:border-secondary-3000-button-border-dark:hover{border-color:#4a4c52!important}.hover\\:text-secondary-3000-button-border-hover-dark:hover{color:#5e6064!important}.hover\\:bg-secondary-3000-button-border-hover-dark:hover{background-color:#5e6064!important}.hover\\:border-secondary-3000-button-border-hover-dark:hover{border-color:#5e6064!important}.hover\\:text-danger-3000-frame-bg-dark:hover{color:rgba(245,78,0,.502)!important}.hover\\:bg-danger-3000-frame-bg-dark:hover{background-color:rgba(245,78,0,.502)!important}.hover\\:border-danger-3000-frame-bg-dark:hover{border-color:rgba(245,78,0,.502)!important}.hover\\:text-danger-3000-button-border-dark:hover{color:#c44003!important}.hover\\:bg-danger-3000-button-border-dark:hover{background-color:#c44003!important}.hover\\:border-danger-3000-button-border-dark:hover{border-color:#c44003!important}.hover\\:text-danger-3000-button-border-hover-dark:hover{color:#f54e00!important}.hover\\:bg-danger-3000-button-border-hover-dark:hover{background-color:#f54e00!important}.hover\\:border-danger-3000-button-border-hover-dark:hover{border-color:#f54e00!important}.hover\\:text-default:hover{color:var(--default)!important}.hover\\:bg-default:hover{background-color:var(--default)!important}.hover\\:border-default:hover{border-color:var(--default)!important}.hover\\:text-text-3000:hover{color:var(--text-3000)!important}.hover\\:bg-text-3000:hover{background-color:var(--text-3000)!important}.hover\\:border-text-3000:hover{border-color:var(--text-3000)!important}.hover\\:text-text-secondary-3000:hover{color:var(--text-secondary-3000)!important}.hover\\:bg-text-secondary-3000:hover{background-color:var(--text-secondary-3000)!important}.hover\\:border-text-secondary-3000:hover{border-color:var(--text-secondary-3000)!important}.hover\\:text-muted-3000:hover{color:var(--muted-3000)!important}.hover\\:bg-muted-3000:hover{background-color:var(--muted-3000)!important}.hover\\:border-muted-3000:hover{border-color:var(--muted-3000)!important}.hover\\:text-primary-3000:hover{color:var(--primary-3000)!important}.hover\\:bg-primary-3000:hover{background-color:var(--primary-3000)!important}.hover\\:border-primary-3000:hover{border-color:var(--primary-3000)!important}.hover\\:text-secondary-3000:hover{color:var(--secondary-3000)!important}.hover\\:bg-secondary-3000:hover{background-color:var(--secondary-3000)!important}.hover\\:border-secondary-3000:hover{border-color:var(--secondary-3000)!important}.hover\\:text-secondary-3000-hover:hover{color:var(--secondary-3000-hover)!important}.hover\\:bg-secondary-3000-hover:hover{background-color:var(--secondary-3000-hover)!important}.hover\\:border-secondary-3000-hover:hover{border-color:var(--secondary-3000-hover)!important}.hover\\:text-accent-3000:hover{color:var(--accent-3000)!important}.hover\\:bg-accent-3000:hover{background-color:var(--accent-3000)!important}.hover\\:border-accent-3000:hover{border-color:var(--accent-3000)!important}.hover\\:text-bg-3000:hover{color:var(--bg-3000)!important}.hover\\:bg-bg-3000:hover{background-color:var(--bg-3000)!important}.hover\\:border-bg-3000:hover{border-color:var(--bg-3000)!important}.hover\\:text-primary-highlight:hover{color:var(--primary-highlight)!important}.hover\\:bg-primary-highlight:hover{background-color:var(--primary-highlight)!important}.hover\\:border-primary-highlight:hover{border-color:var(--primary-highlight)!important}.hover\\:text-primary-alt-highlight:hover{color:var(--primary-alt-highlight)!important}.hover\\:bg-primary-alt-highlight:hover{background-color:var(--primary-alt-highlight)!important}.hover\\:border-primary-alt-highlight:hover{border-color:var(--primary-alt-highlight)!important}.hover\\:text-primary-alt:hover{color:var(--primary-alt)!important}.hover\\:bg-primary-alt:hover{background-color:var(--primary-alt)!important}.hover\\:border-primary-alt:hover{border-color:var(--primary-alt)!important}.placeholder\\:\\*\\:\\*\\:text-default>*>::-moz-placeholder{color:var(--default)}.placeholder\\:\\*\\:\\*\\:text-default>*>::placeholder{color:var(--default)}.subtitle{align-items:center;display:flex;font-size:22px;font-weight:700;line-height:26px;margin-top:12px}.subtitle.highlighted{padding:1rem 1rem 1rem .5rem}.l3{font-size:16px;font-weight:600;line-height:19px}.l4{font-size:14px;font-weight:700}.col{max-width:100%;min-height:1px;position:relative}.highlighted{animation:highlight 2s ease-out;border-radius:var(--radius);scroll-margin-top:var(--breadcrumbs-height-full)}:root{--neutral-50:#fafafa;--neutral-100:#f5f5f5;--neutral-150:#ebebeb;--neutral-200:#e0e0e0;--neutral-250:#d6d6d6;--neutral-300:#ccc;--neutral-350:#bfbfbf;--neutral-400:#b3b3b3;--neutral-450:#a6a6a6;--neutral-550:#8c8c8c;--neutral-700:#666;--neutral-800:#4d4d4d;--neutral-900:#333;--neutral-950:#262626;--neutral-warm-50:#f3f4f0;--neutral-warm-100:#e8eae0;--neutral-warm-150:#dde0d2;--neutral-warm-200:#d2d6c2;--neutral-warm-250:#c6cbb3;--neutral-warm-300:#bbc1a3;--neutral-warm-350:#b0b795;--neutral-warm-400:#a5ac86;--neutral-warm-450:#99a276;--neutral-warm-500:#8e9867;--neutral-warm-550:#80895d;--neutral-warm-600:#727953;--neutral-warm-650:#636a48;--neutral-warm-700:#565c3e;--neutral-warm-750:#474c34;--neutral-warm-800:#393d29;--neutral-warm-850:#2a2d1f;--neutral-warm-900:#1d1f15;--neutral-warm-950:#0e0f0b;--neutral-cool-50:#f1f2f3;--neutral-cool-100:#e3e5e8;--neutral-cool-150:#d6d8dc;--neutral-cool-200:#c8cbd0;--neutral-cool-250:#babec4;--neutral-cool-300:#adb2b9;--neutral-cool-350:#9fa5ad;--neutral-cool-400:#9197a1;--neutral-cool-450:#838a95;--neutral-cool-500:#767e8a;--neutral-cool-550:#6a717c;--neutral-cool-600:#5e646e;--neutral-cool-650:#525860;--neutral-cool-700:#474c53;--neutral-cool-750:#3b3f45;--neutral-cool-800:#2f3237;--neutral-cool-850:#232529;--neutral-cool-900:#1b1c18;--neutral-cool-950:#0e0e0c;--orange-850:#4c3201;--content-warning:var(--orange-400);--content-danger-bold-disabled:var(--red-800);--content-success-bold-disabled:var(--green-700);--background-secondary:var(--neutral-warm-50);--background-tertiary:var(--neutral-warm-100);--background-hover:var(--neutral-warm-50);--background-pressed:var(--neutral-warm-100);--background-disabled:var(--neutral-warm-50);--background-inverse:var(--neutral-warm-900);--border-primary:var(--neutral-warm-600);--border-secondary:var(--neutral-warm-400);--border-tertiary:var(--neutral-warm-200);--border-disabled:var(--neutral-warm-200);--blue-100:#d2dcfd;--blue-200:#a5b9fb;--blue-300:#7995fa;--blue-400:#4c72f8;--blue-500:#1f4ff6;--blue-600:#193fc5;--blue-700:#132f94;--blue-800:#0c2062;--blue-900:#061031;--brand-100:#fddccc;--brand-200:#fbb899;--brand-300:#f99567;--brand-400:#f77134;--brand-500:#f54e01;--brand-600:#c43e01;--brand-700:#932f01;--brand-800:#621f00;--brand-900:#311000;--green-50:#ebf3e5;--green-100:#d7e7cc;--green-200:#afcf99;--green-300:#88b666;--green-400:#609e33;--green-500:#388600;--green-600:#2d6b00;--green-700:#225000;--green-800:#163600;--green-900:#0b1b00;--neutral-100:#e5e5e5;--neutral-150:#d9d9d9;--neutral-200:#ccc;--neutral-250:#bfbfbf;--neutral-300:#b2b2b2;--neutral-350:#a6a6a6;--neutral-400:#999;--neutral-450:#8c8c8c;--neutral-50:#f2f2f2;--neutral-500:grey;--neutral-550:#737373;--neutral-600:#666;--neutral-650:#595959;--neutral-700:#4d4d4d;--neutral-750:#404040;--neutral-800:#333;--neutral-850:#262626;--neutral-900:#1a1a1a;--neutral-950:#0d0d0d;--orange-50:#fff3e5;--orange-100:#ffe6cc;--orange-200:#fc9;--orange-300:#ffb366;--orange-400:#f93;--orange-500:#ff8000;--orange-600:#c60;--orange-700:#994d00;--orange-800:#630;--orange-900:#331a00;--pink-100:#ffedeb;--pink-200:#ffdbd6;--pink-300:#ffc9c2;--pink-400:#ffb7ad;--pink-500:#ffa599;--pink-600:#cc847a;--pink-700:#99635c;--pink-800:#66423d;--pink-900:#33211f;--primary-black:#000;--primary-black-50:#00000080;--primary-white:#fff;--primary-white-50:#ffffff80;--purple-100:#e0ceff;--purple-200:#c29cff;--purple-300:#a36bff;--purple-400:#8539ff;--purple-500:#6608ff;--purple-600:#5206cc;--purple-700:#3d0599;--purple-800:#290366;--purple-900:#140233;--red-50:#f9ebe6;--red-100:#f8d7cd;--red-200:#f1af9c;--red-300:#e9876a;--red-400:#e25f39;--red-500:#db3707;--red-600:#af2c06;--red-700:#832104;--red-800:#581603;--red-900:#2c0b01;--teal-100:#d9f5f3;--teal-200:#b3eae7;--teal-300:#8de0dc;--teal-400:#67d5d0;--teal-500:#41cbc4;--teal-600:#34a29d;--teal-700:#277a76;--teal-800:#1a514e;--teal-900:#0d2927;--violet-100:#f1d6ff;--violet-200:#e4adff;--violet-300:#d685ff;--violet-400:#c95cff;--violet-500:#b3f;--violet-600:#9629cc;--violet-700:#701f99;--violet-800:#4b1466;--violet-900:#250a33;--yellow-100:#fdedcd;--yellow-200:#fcdb9a;--yellow-300:#fac968;--yellow-400:#f9b735;--yellow-500:#f7a503;--yellow-600:#c68402;--yellow-700:#946302;--yellow-800:#634201;--yellow-900:#312101;--content-primary:var(--neutral-950);--content-secondary:var(--neutral-800);--content-tertiary:var(--neutral-700);--content-primary-inverse:var(--primary-white);--content-secondary-inverse:var(--neutral-100);--content-tertiary-inverse:var(--neutral-300);--content-disabled:var(--neutral-300);--content-brand:var(--brand-500);--content-link:var(--brand-500);--content-link-hover:var(--brand-400);--content-link-pressed:var(--brand-600);--content-warning-bold:var(--orange-700);--content-danger:var(--red-500);--content-danger-bold:var(--red-600);--content-success:var(--green-500);--content-success-bold:var(--green-600);--background-primary:var(--primary-white);--background-secondary:var(--neutral-50);--background-tertiary:var(--neutral-100);--background-hover:var(--neutral-50);--background-pressed:var(--neutral-100);--background-selected:var(--orange-100);--background-disabled:var(--neutral-50);--background-inverse:var(--neutral-900);--background-brand:var(--brand-500);--background-brand-hover:var(--brand-600);--background-brand-pressed:var(--brand-700);--background-warning:var(--orange-500);--background-warning-subtle:var(--orange-50);--background-danger:var(--red-500);--background-danger-subtle:var(--red-50);--background-success:var(--green-500);--background-success-subtle:var(--green-50);--border-primary:var(--neutral-600);--border-secondary:var(--neutral-400);--border-tertiary:var(--neutral-200);--border-disabled:var(--neutral-200);--border-brand:var(--brand-500);--border-inverse:var(--primary-white);--border-focus:var(--blue-500);--border-warning:var(--orange-500);--border-danger:var(--red-500);--border-success:var(--green-500);--overlay-50:var(--primary-black-50);--overlay-50-inverse:var(--primary-white-50);--bg-bridge:#ebece8;--radius:0.375rem;--radius-sm:0.25rem;--radius-lg:0.625rem;--modal-shadow-elevation:0px 16px 16px -16px rgba(0,0,0,.35);--opacity-disabled:0.65;--font-medium:500;--font-semibold:600;--font-sans:-apple-system,BlinkMacSystemFont,"Inter","Segoe UI","Roboto","Helvetica Neue",helvetica,arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-title:"MatterSQ",-apple-system,BlinkMacSystemFont,"Inter","Segoe UI","Roboto","Helvetica Neue",helvetica,arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-mono:ui-monospace,"SFMono-Regular","SF Mono","Menlo","Consolas","Liberation Mono",monospace;--blue:#597dce;--purple:#c278cf;--green:var(--success);--black:var(--text-3000);--data-color-1:#1d4aff;--data-color-2:#621da6;--data-color-3:#42827e;--data-color-4:#ce0e74;--data-color-5:#f14f58;--data-color-6:#7c440e;--data-color-7:#529a0a;--data-color-8:#0476fb;--data-color-9:#fe729e;--data-color-10:#35416b;--data-color-11:#41cbc4;--data-color-12:#b64b02;--data-color-13:#e4a604;--data-color-14:#a56eff;--data-color-15:#30d5c8;--lifecycle-new:#1d4aff;--lifecycle-returning:#388600;--lifecycle-resurrecting:#a56eff;--lifecycle-dormant:#db3707;--lifecycle-new-hover:#0024b6;--lifecycle-returning-hover:#0d2000;--lifecycle-resurrecting-hover:#6608ff;--lifecycle-dormant-hover:#781e04;--funnel-axis:var(--border);--funnel-grid:#ddd;--z-bottom-notice:5100;--z-command-palette:1875;--z-force-modal-above-popovers:1850;--z-tooltip:1070;--z-definition-popover:1065;--z-popover:1064;--z-graph-tooltip:1063;--z-modal:1060;--z-hedgehog-buddy:1059;--z-annotation-popover:1049;--z-drawer:950;--z-notifications-popover:949;--z-main-nav:948;--z-lemon-sidebar:940;--z-lemon-activation-sidebar:939;--z-mobile-nav-overlay:931;--z-top-navigation:800;--z-content-overlay:488;--z-raised:5;--toastify-color-dark:var(--accent-3000-dark);--toastify-color-light:var(--bg-light);--toastify-color-info:var(--primary);--toastify-color-success:var(--success);--toastify-color-warning:var(--warning);--toastify-color-error:var(--danger);--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error);--toastify-toast-background:var(--bg-light);--toastify-toast-width:26rem;--toastify-toast-min-height:3.5rem;--toastify-toast-max-height:16rem;--toastify-text-color-light:#757575;--in-app-prompts-width:26rem;--lettermark-1-bg:#dcb1e3;--lettermark-1-text:#572e5e;--lettermark-2-bg:#ffc4b2;--lettermark-2-text:#3e5891;--lettermark-3-bg:#fdedc9;--lettermark-3-text:#3e5891;--lettermark-4-bg:#3e5891;--lettermark-4-text:#ffc4b2;--lettermark-5-bg:#8da9e7;--lettermark-5-text:#572e5e;--lettermark-6-bg:#572e5e;--lettermark-6-text:#dcb1e3;--lettermark-7-bg:#ffc035;--lettermark-7-text:#35416b;--lettermark-8-bg:#ff906e;--lettermark-8-text:#2a3d65;--modal-backdrop-blur:5px;--modal-backdrop-color:rgba(0,0,0,.2);--modal-transition-time:200ms;--tooltip-bg-light:#2d2d2d;--tooltip-bg-dark:#656d81;--notebook-popover-transition-properties:150ms cubic-bezier(0,0.5,0.5,1);--notebook-column-left-width:27rem;--notebook-column-right-width:20rem;--primary:#1d4aff;--danger-highlight:rgba(219,55,7,.1);--danger-lighter:#ffa599;--danger-light:#df4b20;--danger:#db3707;--danger-dark:#992705;--warning-highlight:rgba(247,165,1,.1);--warning:#f7a501;--warning-dark:#e09423;--highlight:#e49f2c;--success-highlight:rgba(56,134,0,.1);--success-light:#5f9d32;--success:#388600;--success-dark:#245700;--muted:#5f5f5f;--muted-alt:#747ea1;--mark:hsla(42,93%,86%,.8);--white:#fff;--bg-light:#fff;--side:#fafaf9;--mid:#f2f2f2;--border:rgba(0,0,0,.15);--border-light:rgba(0,0,0,.08);--border-bold:rgba(0,0,0,.24);--transparent:transparent;--link:var(--primary-3000);--brand-blue:#1d4aff;--brand-red:#f54e00;--brand-yellow:#f9bd2b;--brand-key:#000;--text-3000-light:#111;--text-secondary-3000-light:hsla(0,0%,7%,.7);--muted-3000-light:hsla(0,0%,7%,.6);--trace-3000-light:hsla(0,0%,7%,.25);--primary-3000-light:#f54e01;--primary-highlight-light:rgba(245,78,1,.1);--primary-3000-hover-light:#f54e01;--primary-3000-active-light:#f54e01;--secondary-3000-light:hsla(68,14%,79%,.6);--secondary-3000-hover-light:#cfd1c2;--accent-3000-light:#eeefe9;--bg-3000-light:#f3f4ef;--border-3000-light:#dadbd2;--border-bold-3000-light:#c1c2b9;--glass-bg-3000-light:hsla(69,12%,88%,.702);--glass-border-3000-light:#e4e5de;--link-3000-light:#f54e00;--primary-3000-frame-bg-light:#eb9d2a;--primary-3000-button-bg-light:#fff;--primary-3000-button-border-light:#b17816;--primary-3000-button-border-hover-light:#8e5b03;--secondary-3000-frame-bg-light:#e1dddd;--secondary-3000-button-bg-light:#f3f4ef;--secondary-3000-button-border-light:#ccc;--secondary-3000-button-border-hover-light:#aaa;--danger-3000-frame-bg-light:rgba(245,78,0,.502);--danger-3000-button-border-light:#e96b30;--danger-3000-button-border-hover-light:#f54e00;--shadow-elevation-3000-light:0 3px 0 var(--border-3000-light);--shadow-elevation-3000-dark:0 3px 0 var(--border-3000-dark);--text-3000-dark:#fff;--text-secondary-3000-dark:hsla(0,0%,100%,.7);--muted-3000-dark:hsla(0,0%,100%,.5);--trace-3000-dark:hsla(0,0%,100%,.25);--primary-3000-dark:#f7a503;--primary-highlight-dark:rgba(247,165,3,.1);--primary-3000-hover-dark:#f7a503;--primary-3000-active-dark:#f7a503;--primary-alt-highlight-light:#e5e7e0;--secondary-3000-dark:#1d1f27;--secondary-3000-hover-dark:#575d77;--accent-3000-dark:#21242b;--bg-3000-dark:#1d1f27;--border-3000-dark:#35373e;--border-bold-3000-dark:#3f4046;--glass-bg-3000-dark:rgba(36,38,42,.6);--glass-border-3000-dark:var(--border-3000-dark);--link-3000-dark:#f1a82c;--primary-3000-frame-bg-dark:#926826;--primary-3000-button-bg-dark:#e0a045;--primary-3000-button-border-dark:#b17816;--primary-3000-button-border-hover-dark:#8e5b03;--primary-alt-highlight-dark:#232429;--secondary-3000-frame-bg-dark:#323232;--secondary-3000-button-bg-dark:#1d1f27;--secondary-3000-button-border-dark:#4a4c52;--secondary-3000-button-border-hover-dark:#5e6064;--danger-3000-frame-bg-dark:rgba(245,78,0,.502);--danger-3000-button-border-dark:#c44003;--danger-3000-button-border-hover-dark:#f54e00;--default:var(--default);--text-3000:var(--text-3000);--text-secondary-3000:var(--text-secondary-3000);--muted-3000:var(--muted-3000);--primary-3000:var(--primary-3000);--secondary-3000:var(--secondary-3000);--secondary-3000-hover:var(--secondary-3000-hover);--accent-3000:var(--accent-3000);--bg-3000:var(--bg-3000);--primary-highlight:var(--primary-highlight);--primary-alt-highlight:var(--primary-alt-highlight);--primary-alt:var(--primary-alt)}*,:after,:before{border-color:var(--border)}input[type=radio]{accent-color:var(--primary-3000)}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration{display:none}.page-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin:1rem 0 .25rem;min-height:2.5rem}@media screen and (min-width:768px){.page-title-row{flex-wrap:nowrap}}.page-title{font-size:28px;font-weight:600;line-height:34px;margin:0;min-width:0}.page-caption{font-size:.875rem;line-height:1.25rem;margin-bottom:1rem;max-width:48rem}.page-caption.tabbed{margin-bottom:.5rem}.secondary{background:none;border:0;color:var(--primary-alt);font-size:.9em;font-weight:var(--font-medium);letter-spacing:1px;text-transform:uppercase}.card-secondary{color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}mark{background-color:var(--mark)!important;border-radius:var(--radius)}hr{border-top:1px solid var(--border);margin:1em 0}input::-ms-clear{display:none}@keyframes highlight{0%{background-color:var(--mark)}to{background-color:initial}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.Toastify__toast{align-items:center;border:1px solid var(--secondary-3000-button-border);border-radius:var(--radius);box-shadow:var(--shadow-elevation-3000);cursor:unset;font-family:var(--font-sans);font-size:1rem;margin-bottom:.5rem;opacity:1!important;padding:.75rem}.Toastify__toast-container{padding:0}.Toastify__toast-body{color:var(--text-3000);font-size:.875rem;font-weight:500;line-height:1.25rem;padding:0}.Toastify__toast-body b,.Toastify__toast-body strong{font-weight:700}.Toastify__toast-body button{margin:0 .75rem}.Toastify__toast-icon{color:var(--muted-alt);font-size:1.5rem;height:1.5rem;margin-right:.75rem;width:1.5rem}.Toastify__toast--success .Toastify__toast-icon{color:var(--toastify-color-success)}.Toastify__toast--warning .Toastify__toast-icon{color:var(--toastify-color-warning)}.Toastify__toast--error .Toastify__toast-icon{color:var(--toastify-color-error)}.Toastify__progress-bar{height:var(--radius)}.error-on-blur.errored:not(:focus){border-color:var(--danger)!important}.info-indicator{color:var(--primary-alt)!important;cursor:pointer;margin-left:4px}.info-indicator.left{margin-left:0;margin-right:4px}.graph-series-glyph{align-items:center;border:2px solid var(--text-3000);border-radius:50%;display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:22px;justify-content:center;pointer-events:none;width:22px}.graph-series-glyph.funnel-step-glyph{background-color:var(--bg-light);border-color:var(--border);color:var(--primary-alt);font-size:unset;height:23px;width:23px}#bottom-notice{background:#000;bottom:0;color:#fff;display:flex!important;flex-direction:row;font-size:.75rem;left:0;line-height:1.5rem;position:fixed;width:100%;z-index:var(--z-bottom-notice)}#bottom-notice code{color:inherit;font-size:inherit}#bottom-notice.warning div{background:var(--danger);height:auto}#bottom-notice.tricolor{cursor:pointer}#bottom-notice.tricolor div:first-child{background:var(--brand-blue)}#bottom-notice.tricolor div:nth-child(2){background:var(--brand-red)}#bottom-notice.tricolor div:nth-child(3){background:var(--brand-yellow)}#bottom-notice.tricolor span{cursor:text}#bottom-notice div{flex-basis:0;flex-grow:1;height:1.5rem;text-align:center}#bottom-notice span{display:none}#bottom-notice button{background:transparent;border:none;color:inherit;cursor:pointer;font-size:1rem;font-weight:700;height:1.5rem;padding:0;width:1.5rem}@media screen and (min-width:750px){#bottom-notice{font-size:1rem;line-height:2rem}#bottom-notice div{height:2rem}#bottom-notice span{display:inline}#bottom-notice button{font-size:1.25rem;height:2rem;width:2rem}}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--muted)}input::placeholder,textarea::placeholder{color:var(--muted)}body{background:var(--bg-3000);color:var(--text-3000);font-size:14px;line-height:1.5715;touch-action:manipulation;--primary:var(--primary-3000);--muted:var(--muted-3000);--default:var(--text-3000);--muted-alt:var(--muted-3000);--primary-alt:var(--text-3000);--border:var(--border-3000);--border-bold:var(--border-bold-3000);--data-color-1:#1d4aff;--data-color-1-hover:#1a3cf6;--data-color-10:#35416b}body[theme=light]{--text-3000:var(--text-3000-light);--text-secondary-3000:var(--text-secondary-3000-light);--muted-3000:var(--muted-3000-light);--trace-3000:var(--trace-3000-light);--primary-3000:var(--primary-3000-light);--primary-highlight:var(--primary-highlight-light);--primary-3000-hover:var(--primary-3000-hover-light);--primary-3000-active:var(--primary-3000-active-light);--secondary-3000:var(--secondary-3000-light);--secondary-3000-hover:var(--secondary-3000-hover-light);--accent-3000:var(--accent-3000-light);--bg-3000:var(--bg-3000-light);--border-3000:var(--border-3000-light);--border-light-opaque:#eee;--border-bold-3000:var(--border-bold-3000-light);--glass-bg-3000:var(--glass-bg-3000-light);--glass-border-3000:var(--glass-border-3000-light);--bg-light:#fff;--bg-table:#f9faf7;--link:var(--link-3000-light);--shadow-elevation-3000:var(--shadow-elevation-3000-light);--primary-3000-frame-bg:var(--primary-3000-frame-bg-light);--primary-3000-button-bg:var(--primary-3000-button-bg-light);--primary-3000-button-border:var(--primary-3000-button-border-light);--primary-3000-button-border-hover:var(--primary-3000-button-border-hover-light);--primary-alt-highlight:var(--primary-alt-highlight-light);--secondary-3000-frame-bg:var(--secondary-3000-frame-bg-light);--secondary-3000-button-bg:var(--secondary-3000-button-bg-light);--secondary-3000-button-border:var(--secondary-3000-button-border-light);--secondary-3000-button-border-hover:var(--secondary-3000-button-border-hover-light);--danger-3000-frame-bg:var(--danger-3000-frame-bg-light);--danger-3000-button-border:var(--danger-3000-button-border-light);--danger-3000-button-border-hover:var(--danger-3000-button-border-hover-light);--tooltip-bg:var(--tooltip-bg-light)}body[theme=dark]{--content-primary:var(--neutral-cool-100);--content-warning:var(--orange-300);--content-warning-bold:var(--orange-100);--content-danger-bold:var(--red-100);--content-success-bold:var(--green-100);--background-primary:var(--neutral-cool-900);--background-secondary:var(--neutral-cool-850);--background-tertiary:var(--neutral-cool-800);--background-warning-subtle:var(--orange-850);--background-danger-subtle:var(--red-800);--background-success-subtle:var(--green-800);--border-tertiary:var(--neutral-cool-750);--text-3000:var(--text-3000-dark);--text-secondary-3000:var(--text-secondary-3000-dark);--muted-3000:var(--muted-3000-dark);--trace-3000:var(--trace-3000-dark);--primary-3000:var(--primary-3000-dark);--primary-highlight:var(--primary-highlight-dark);--primary-3000-hover:var(--primary-3000-hover-dark);--primary-3000-active:var(--primary-3000-active-dark);--secondary-3000:var(--secondary-3000-dark);--secondary-3000-hover:var(--secondary-3000-hover-dark);--accent-3000:var(--accent-3000-dark);--bg-3000:var(--bg-3000-dark);--border-3000:var(--border-3000-dark);--border-light-opaque:#1e2028;--border-bold-3000:var(--border-bold-3000-dark);--glass-bg-3000:var(--glass-bg-3000-dark);--glass-border-3000:var(--glass-border-3000-dark);--bg-light:var(--accent-3000);--bg-table:#232429;--brand-key:#fff;--link:var(--link-3000-dark);--shadow-elevation-3000:var(--shadow-elevation-3000-dark);--primary-3000-frame-bg:var(--primary-3000-frame-bg-dark);--primary-3000-button-bg:var(--primary-3000-button-bg-dark);--primary-3000-button-border:var(--primary-3000-button-border-dark);--primary-3000-button-border-hover:var(--primary-3000-button-border-hover-dark);--primary-alt-highlight:var(--primary-alt-highlight-dark);--secondary-3000-frame-bg:var(--secondary-3000-frame-bg-dark);--secondary-3000-button-bg:var(--secondary-3000-button-bg-dark);--secondary-3000-button-border:var(--secondary-3000-button-border-dark);--secondary-3000-button-border-hover:var(--secondary-3000-button-border-hover-dark);--danger-3000-frame-bg:var(--danger-3000-frame-bg-dark);--danger-3000-button-border:var(--danger-3000-button-border-dark);--danger-3000-button-border-hover:var(--danger-3000-button-border-hover-dark);--tooltip-bg:var(--tooltip-bg-dark);--data-color-2:#7f26d9;--data-color-3:#3e7a76;--data-color-4:#bf0d6c;--data-color-5:#f0474f;--data-color-6:#b36114;--data-color-10:#6576b3}body *>::-webkit-scrollbar{height:.5rem;width:.5rem}body *>::-webkit-scrollbar-track{background:var(--accent-3000)}body *>::-webkit-scrollbar-thumb{background:var(--trace-3000);border-radius:var(--radius)}body *>::-webkit-scrollbar-thumb:hover{background:var(--muted-3000)}body b,body strong{font-weight:600}body h1,body h2,body h3,body h4,body h5{font-family:var(--font-title);font-weight:500;margin-bottom:.5em;margin-top:0}body h1,body h2,body h3,body h4{color:var(--text-3000)}body h1{font-size:1.75rem}body h2{font-size:1.3125rem}body h3{font-size:1rem}body h5{color:var(--muted-alt);font-size:.6875rem;font-weight:600;letter-spacing:.075em;line-height:1.5rem;margin-bottom:.25rem;text-transform:uppercase}body pre{margin-bottom:1em;margin-top:0;overflow:auto}body dialog{background-color:var(--bg-3000)}body .LemonButton .text-link,body .Link .text-link{color:var(--text-3000)!important}body .LemonButton:hover .text-link,body .Link:hover .text-link{color:var(--primary-3000)!important}a{color:var(--link);-webkit-text-decoration:none;text-decoration:none}p{margin-bottom:1em;margin-top:0}img{border-style:none;vertical-align:middle}[tabindex="-1"]:focus{outline:none!important}.storybook-test-runner.storybook-test-runner--fullscreen{height:-moz-fit-content;height:fit-content}.storybook-test-runner.storybook-test-runner--padded #storybook-root{display:inline-block}.storybook-test-runner *,.storybook-test-runner :after,.storybook-test-runner :before{animation-duration:0ms!important;animation-fill-mode:forwards!important;animation-iteration-count:1!important;transition-duration:0ms!important}.storybook-test-runner *>::-webkit-scrollbar,.storybook-test-runner .LemonTabs__bar:after,.storybook-test-runner .scrollable:after,.storybook-test-runner .scrollable:before,.storybook-test-runner ::-webkit-scrollbar{display:none}.storybook-test-runner #storybook-root:empty~.ReactModalPortal>.ReactModal__Overlay,.storybook-test-runner #storybook-root>.fixed:only-child{position:static!important}.ligatures-none{font-feature-settings:none;font-variant-ligatures:none}.hide-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.hide-scrollbar::-webkit-scrollbar{display:none}.\\*\\:w-80>*{width:20rem!important}.\\*\\:grow>*{flex-grow:1!important}.\\*\\:p-1>*{padding:.25rem!important}.\\*\\:\\*\\:font-medium>*>*{font-weight:500!important}.placeholder\\:\\*\\:\\*\\:font-medium>*>::-moz-placeholder{font-weight:500!important}.placeholder\\:\\*\\:\\*\\:font-medium>*>::placeholder{font-weight:500!important}.before\\:absolute:before{content:var(--tw-content)!important;position:absolute!important}.before\\:inset-0:before{content:var(--tw-content)!important;inset:0!important}.before\\:rounded:before{border-radius:var(--radius)!important;content:var(--tw-content)!important}.before\\:border:before{border-width:1px!important;content:var(--tw-content)!important}.first\\:mt-0:first-child{margin-top:0!important}.first\\:border-t-0:first-child{border-top-width:0!important}.last\\:border-b-0:last-child{border-bottom-width:0!important}.odd\\:last\\:\\*\\:col-span-2>:last-child:nth-child(odd){grid-column:span 2/span 2!important}.hover\\:border-\\[var\\(--primary\\)\\]:hover{border-color:var(--primary)!important}.hover\\:bg-\\[var\\(--bg-light\\)\\]:hover{background-color:var(--bg-light)!important}.hover\\:underline:hover{text-decoration-line:underline!important}.hover\\:opacity-100:hover{opacity:1!important}.hover\\:ring-2:hover{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}.focus\\:outline-none:focus{outline:2px solid transparent!important;outline-offset:2px!important}.group:hover .group-hover\\:visible{visibility:visible!important}.group:hover .group-hover\\:flex{display:flex!important}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}.group:hover .group-hover\\:animate-bounce{animation:bounce 1s infinite!important}.group:hover .group-hover\\:opacity-100{opacity:1!important}.group:hover .group-hover\\:opacity-90{opacity:.9!important}@container og (min-width: 20rem){.\\@xs\\/og\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@container og (min-width: 28rem){.\\@md\\/og\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}}@container (min-width: 28rem){.\\@md\\:block{display:block!important}.\\@md\\:flex{display:flex!important}.\\@md\\:hidden{display:none!important}.\\@md\\:px-1{padding-left:.25rem!important;padding-right:.25rem!important}}@container (min-width: 56rem){.\\@4xl\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media not all and (min-width:576px){.max-sm\\:hidden{display:none!important}}@media (min-width:576px){.sm\\:mb-0{margin-bottom:0!important}.sm\\:block{display:block!important}.sm\\:flex{display:flex!important}.sm\\:min-w-0{min-width:0!important}.sm\\:grow-0{flex-grow:0!important}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.sm\\:flex-row{flex-direction:row!important}.sm\\:items-start{align-items:flex-start!important}.sm\\:justify-center{justify-content:center!important}.sm\\:p-6{padding:1.5rem!important}.sm\\:pb-0{padding-bottom:0!important}.sm\\:pb-8{padding-bottom:2rem!important}}@media (min-width:768px){.md\\:col-span-1{grid-column:span 1/span 1!important}.md\\:col-span-2{grid-column:span 2/span 2!important}.md\\:col-span-6{grid-column:span 6/span 6!important}.md\\:col-span-full{grid-column:1/-1!important}.md\\:col-start-2{grid-column-start:2!important}.md\\:row-span-1{grid-row:span 1/span 1!important}.md\\:block{display:block!important}.md\\:inline{display:inline!important}.md\\:flex{display:flex!important}.md\\:grid{display:grid!important}.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.md\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.md\\:grid-cols-\\[320px_1fr\\]{grid-template-columns:320px 1fr!important}.md\\:grid-cols-\\[repeat\\(3\\2c _minmax\\(min-content\\2c _160px\\)\\)\\]{grid-template-columns:repeat(3,minmax(min-content,160px))!important}.md\\:border-b-0{border-bottom-width:0!important}.md\\:p-6{padding:1.5rem!important}}@media (min-width:992px){.lg\\:grid-cols-\\[12\\.5rem_1fr\\]{grid-template-columns:12.5rem 1fr!important}}@media (min-width:1200px){.xl\\:mt-0{margin-top:0!important}.xl\\:flex{display:flex!important}.xl\\:pl-2{padding-left:.5rem!important}}@media (prefers-color-scheme:dark){.dark\\:text-\\[\\#C170E8\\]{--tw-text-opacity:1!important;color:rgb(193 112 232/var(--tw-text-opacity))!important}}.\\[\\&\\>\\*\\]\\:grow>*{flex-grow:1!important}@media (min-width:768px){.md\\:\\[\\&\\>\\*\\]\\:grow-0>*{flex-grow:0!important}}.\\[\\&\\>input\\:\\:-webkit-inner-spin-button\\]\\:appearance-none>input::-webkit-inner-spin-button{-webkit-appearance:none!important;appearance:none!important}.\\[\\&_\\>\\*\\]\\:px-2>*{padding-left:.5rem!important;padding-right:.5rem!important}.\\[\\&_\\>\\*\\]\\:py-0\\.5>*{padding-bottom:.125rem!important;padding-top:.125rem!important}.\\[\\&_\\>span\\>span\\]\\:flex-col>span>span{flex-direction:column!important}.\\[\\&_\\>span\\>span\\]\\:items-start>span>span{align-items:flex-start!important}.\\[\\&_\\>span\\>span\\]\\:space-y-1>span>span>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(.25rem*var(--tw-space-y-reverse))!important;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))!important}.SidePanel3000 .\\[\\.SidePanel3000_\\&\\]\\:top-0{top:0!important}',""]),module.exports=exports},"./frontend/public/hedgehog/running-hog.png":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});let __WEBPACK_DEFAULT_EXPORT__=__webpack_require__.p+"images/running-hog.d286878cf0d59615f60a05cc434e29a0.png"},"./frontend/public/langfuse-icon.svg":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{default:()=>__WEBPACK_DEFAULT_EXPORT__});let __WEBPACK_DEFAULT_EXPORT__=__webpack_require__.p+"images/langfuse-icon.7106297f8ddfacfd23f2e0a5a16846e1.svg"},"./frontend/public/not-found-astrohog.png":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{default:()=>__WEBPACK_DEFAULT_EXPORT__});let __WEBPACK_DEFAULT_EXPORT__=__webpack_require__.p+"images/not-found-astrohog.a4e3a59b90ccd886ab4231c270e5d92f.png"},"./frontend/public/posthog-icon.svg":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{default:()=>__WEBPACK_DEFAULT_EXPORT__});let __WEBPACK_DEFAULT_EXPORT__=__webpack_require__.p+"images/posthog-icon.14d048148d45b6fe9c0a5d829469b0e5.svg"},"./frontend/public/services/aws-s3.png":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});let __WEBPACK_DEFAULT_EXPORT__=__webpack_require__.p+"images/aws-s3.ec2332979c65a4e9a2fa28ddc65f0468.png"},"./frontend/public/services/bigquery.png":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});let __WEBPACK_DEFAULT_EXPORT__=__webpack_require__.p+"images/bigquery.1bd7c5187189fe1c78abeab849f5e0ec.png"},"./frontend/public/services/google-cloud-storage.png":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});let __WEBPACK_DEFAULT_EXPORT__=__webpack_require__.p+"images/google-cloud-storage.e1bd2d5efb0bf56cf48e9e90cd2c6c3a.png"},"./frontend/public/services/hubspot.png":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});let __WEBPACK_DEFAULT_EXPORT__=__webpack_require__.p+"images/hubspot.aa61b2aaad7e9eeeb43f46d98988323d.png"},"./frontend/public/services/postgres.png":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});let __WEBPACK_DEFAULT_EXPORT__=__webpack_require__.p+"images/postgres.dc5b1b72f73b1a6c2c9d6d354a204e17.png"},"./frontend/public/services/salesforce.png":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});let __WEBPACK_DEFAULT_EXPORT__=__webpack_require__.p+"images/salesforce.3b4908e6f4a90fc0607f295de7908a58.png"},"./frontend/public/services/snowflake.png":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});let __WEBPACK_DEFAULT_EXPORT__=__webpack_require__.p+"images/snowflake.e08a91548c74ea3172ae2f0c9d22b0f8.png"},"./frontend/public/Inter.woff":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{default:()=>__WEBPACK_DEFAULT_EXPORT__});let __WEBPACK_DEFAULT_EXPORT__=__webpack_require__.p+"fonts/Inter.10f84849b8a69b4844b2925080f81a97.woff"},"./frontend/public/Inter.woff2":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{default:()=>__WEBPACK_DEFAULT_EXPORT__});let __WEBPACK_DEFAULT_EXPORT__=__webpack_require__.p+"fonts/Inter.7cb807e6006c622d46c52bf1fdf0ece1.woff2"},"./node_modules/.pnpm/memoizerific@1.11.3/node_modules/memoizerific sync recursive":module=>{function webpackEmptyContext(req){var e=Error("Cannot find module '"+req+"'");throw e.code="MODULE_NOT_FOUND",e}webpackEmptyContext.keys=()=>[],webpackEmptyContext.resolve=webpackEmptyContext,webpackEmptyContext.id="./node_modules/.pnpm/memoizerific@1.11.3/node_modules/memoizerific sync recursive",module.exports=webpackEmptyContext},"./frontend/src/lib/components/Cards/InsightCard/InsightCard.scss":(__unused_webpack_module,__unused_webpack___webpack_exports__,__webpack_require__)=>{"use strict";var _node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_InsightCard_scss__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/Cards/InsightCard/InsightCard.scss"),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_InsightCard_scss__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_InsightCard_scss__WEBPACK_IMPORTED_MODULE_1__),options={};options.insert="head",options.singleton=!1,_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_InsightCard_scss__WEBPACK_IMPORTED_MODULE_1___default(),options),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_InsightCard_scss__WEBPACK_IMPORTED_MODULE_1___default().locals},"./frontend/src/lib/components/HedgehogBuddy/HedgehogBuddy.scss":(__unused_webpack_module,__unused_webpack___webpack_exports__,__webpack_require__)=>{"use strict";var _node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_HedgehogBuddy_scss__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/HedgehogBuddy/HedgehogBuddy.scss"),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_HedgehogBuddy_scss__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_HedgehogBuddy_scss__WEBPACK_IMPORTED_MODULE_1__),options={};options.insert="head",options.singleton=!1,_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_HedgehogBuddy_scss__WEBPACK_IMPORTED_MODULE_1___default(),options),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_HedgehogBuddy_scss__WEBPACK_IMPORTED_MODULE_1___default().locals},"./frontend/src/lib/lemon-ui/Popover/Popover.scss":(__unused_webpack_module,__unused_webpack___webpack_exports__,__webpack_require__)=>{"use strict";var _node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_Popover_scss__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/Popover/Popover.scss"),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_Popover_scss__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_Popover_scss__WEBPACK_IMPORTED_MODULE_1__),options={};options.insert="head",options.singleton=!1,_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_Popover_scss__WEBPACK_IMPORTED_MODULE_1___default(),options),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_Popover_scss__WEBPACK_IMPORTED_MODULE_1___default().locals},"./frontend/src/scenes/billing/Billing.scss":(__unused_webpack_module,__unused_webpack___webpack_exports__,__webpack_require__)=>{"use strict";var _node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_Billing_scss__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/billing/Billing.scss"),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_Billing_scss__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_Billing_scss__WEBPACK_IMPORTED_MODULE_1__),options={};options.insert="head",options.singleton=!1,_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_Billing_scss__WEBPACK_IMPORTED_MODULE_1___default(),options),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_Billing_scss__WEBPACK_IMPORTED_MODULE_1___default().locals},"./frontend/src/scenes/feature-flags/FeatureFlag.scss":(__unused_webpack_module,__unused_webpack___webpack_exports__,__webpack_require__)=>{"use strict";var _node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_FeatureFlag_scss__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/feature-flags/FeatureFlag.scss"),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_FeatureFlag_scss__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_FeatureFlag_scss__WEBPACK_IMPORTED_MODULE_1__),options={};options.insert="head",options.singleton=!1,_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_FeatureFlag_scss__WEBPACK_IMPORTED_MODULE_1___default(),options),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_FeatureFlag_scss__WEBPACK_IMPORTED_MODULE_1___default().locals},"./frontend/src/scenes/insights/InsightTooltip/InsightTooltip.scss":(__unused_webpack_module,__unused_webpack___webpack_exports__,__webpack_require__)=>{"use strict";var _node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_InsightTooltip_scss__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/insights/InsightTooltip/InsightTooltip.scss"),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_InsightTooltip_scss__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_InsightTooltip_scss__WEBPACK_IMPORTED_MODULE_1__),options={};options.insert="head",options.singleton=!1,_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_InsightTooltip_scss__WEBPACK_IMPORTED_MODULE_1___default(),options),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_InsightTooltip_scss__WEBPACK_IMPORTED_MODULE_1___default().locals},"./frontend/src/scenes/insights/filters/BreakdownFilter/BreakdownTagMenu.scss":(__unused_webpack_module,__unused_webpack___webpack_exports__,__webpack_require__)=>{"use strict";var _node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_BreakdownTagMenu_scss__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/insights/filters/BreakdownFilter/BreakdownTagMenu.scss"),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_BreakdownTagMenu_scss__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_BreakdownTagMenu_scss__WEBPACK_IMPORTED_MODULE_1__),options={};options.insert="head",options.singleton=!1,_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_BreakdownTagMenu_scss__WEBPACK_IMPORTED_MODULE_1___default(),options),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_BreakdownTagMenu_scss__WEBPACK_IMPORTED_MODULE_1___default().locals},"./frontend/src/scenes/insights/views/Funnels/FunnelCorrelationTable.scss":(__unused_webpack_module,__unused_webpack___webpack_exports__,__webpack_require__)=>{"use strict";var _node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_FunnelCorrelationTable_scss__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/insights/views/Funnels/FunnelCorrelationTable.scss"),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_FunnelCorrelationTable_scss__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_FunnelCorrelationTable_scss__WEBPACK_IMPORTED_MODULE_1__),options={};options.insert="head",options.singleton=!1,_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_FunnelCorrelationTable_scss__WEBPACK_IMPORTED_MODULE_1___default(),options),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_FunnelCorrelationTable_scss__WEBPACK_IMPORTED_MODULE_1___default().locals},"./frontend/src/scenes/notebooks/NotebookScene.scss":(__unused_webpack_module,__unused_webpack___webpack_exports__,__webpack_require__)=>{"use strict";var _node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_NotebookScene_scss__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/notebooks/NotebookScene.scss"),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_NotebookScene_scss__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_NotebookScene_scss__WEBPACK_IMPORTED_MODULE_1__),options={};options.insert="head",options.singleton=!1,_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_NotebookScene_scss__WEBPACK_IMPORTED_MODULE_1___default(),options),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_NotebookScene_scss__WEBPACK_IMPORTED_MODULE_1___default().locals},"./frontend/src/scenes/persons/PersonDisplay.scss":(__unused_webpack_module,__unused_webpack___webpack_exports__,__webpack_require__)=>{"use strict";var _node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_PersonDisplay_scss__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/persons/PersonDisplay.scss"),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_PersonDisplay_scss__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_PersonDisplay_scss__WEBPACK_IMPORTED_MODULE_1__),options={};options.insert="head",options.singleton=!1,_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_PersonDisplay_scss__WEBPACK_IMPORTED_MODULE_1___default(),options),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_PersonDisplay_scss__WEBPACK_IMPORTED_MODULE_1___default().locals},"./frontend/src/scenes/saved-insights/SavedInsights.scss":(__unused_webpack_module,__unused_webpack___webpack_exports__,__webpack_require__)=>{"use strict";var _node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_SavedInsights_scss__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/saved-insights/SavedInsights.scss"),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_SavedInsights_scss__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_SavedInsights_scss__WEBPACK_IMPORTED_MODULE_1__),options={};options.insert="head",options.singleton=!1,_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_SavedInsights_scss__WEBPACK_IMPORTED_MODULE_1___default(),options),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_SavedInsights_scss__WEBPACK_IMPORTED_MODULE_1___default().locals},"./frontend/src/scenes/session-recordings/player/PlayerMeta.scss":(__unused_webpack_module,__unused_webpack___webpack_exports__,__webpack_require__)=>{"use strict";var _node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_PlayerMeta_scss__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/session-recordings/player/PlayerMeta.scss"),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_PlayerMeta_scss__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_PlayerMeta_scss__WEBPACK_IMPORTED_MODULE_1__),options={};options.insert="head",options.singleton=!1,_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_PlayerMeta_scss__WEBPACK_IMPORTED_MODULE_1___default(),options),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_PlayerMeta_scss__WEBPACK_IMPORTED_MODULE_1___default().locals},"./frontend/src/styles/global.scss":(__unused_webpack_module,__unused_webpack___webpack_exports__,__webpack_require__)=>{"use strict";var _node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_global_scss__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/styles/global.scss"),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_global_scss__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_global_scss__WEBPACK_IMPORTED_MODULE_1__),options={};options.insert="head",options.singleton=!1,_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_global_scss__WEBPACK_IMPORTED_MODULE_1___default(),options),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_global_scss__WEBPACK_IMPORTED_MODULE_1___default().locals},"@storybook/channels":module=>{"use strict";module.exports=__STORYBOOK_MODULE_CHANNELS__},"@storybook/client-logger":module=>{"use strict";module.exports=__STORYBOOK_MODULE_CLIENT_LOGGER__},"@storybook/core-events":module=>{"use strict";module.exports=__STORYBOOK_MODULE_CORE_EVENTS__},"@storybook/global":module=>{"use strict";module.exports=__STORYBOOK_MODULE_GLOBAL__},"@storybook/preview-api":module=>{"use strict";module.exports=__STORYBOOK_MODULE_PREVIEW_API__},"?cafa":()=>{},"?4c41":()=>{},"?0634":()=>{},"?8b23":()=>{},"?4d21":()=>{},"?46f2":()=>{},"./frontend/src/mocks/fixtures/_instance_status.json":module=>{"use strict";module.exports=JSON.parse('{"results":{"overview":[{"key":"posthog_git_sha","metric":"PostHog Git SHA","value":"Undefined"},{"key":"analytics_database","metric":"Analytics database in use","value":"ClickHouse"},{"key":"plugin_sever_alive","metric":"Plugin server alive","value":true},{"key":"plugin_sever_version","metric":"Plugin server version","value":"1.10.5"},{"key":"plugin_sever_job_queues","metric":"Job queues enabled in plugin server","value":"Graphile"},{"key":"db_alive","metric":"Postgres database alive","value":true},{"key":"pg_version","metric":"Postgres version","value":"12.0.9"},{"key":"async_migrations_ok","metric":"Async migrations up-to-date","value":true},{"key":"clickhouse_alive","metric":"Clickhouse database alive","value":true},{"key":"clickhouse_event_count","metric":"Events in ClickHouse","value":175843},{"key":"clickhouse_event_count_last_month","metric":"Events recorded last month","value":904},{"key":"clickhouse_event_count_month_to_date","metric":"Events recorded month to date","value":173420},{"key":"clickhouse_disk_0_free_space","metric":"Clickhouse disk free space","value":"28.79 GiB"},{"key":"clickhouse_disk_0_total_space","metric":"Clickhouse disk total space","value":"58.42 GiB"},{"key":"clickhouse_table_sizes","metric":"Clickhouse table sizes","value":"","subrows":{"columns":["Table","Size","Rows"],"rows":[["asynchronous_metric_log","161.20 MiB",137266041],["text_log","584.87 MiB",29580188],["metric_log","25.78 MiB",297922],["query_thread_log","18.04 MiB",219137],["events","34.39 MiB",176855],["events_dead_letter_queue","40.32 MiB",114794],["query_log","9.62 MiB",78456],["person","1.94 MiB",42393],["person_distinct_id2","1.63 MiB",40542],["person_distinct_id","1.55 MiB",40539],["plugin_log_entries","7.64 KiB",94],["session_recording_events","9.91 KiB",62],["infi_clickhouse_orm_migrations","1.58 KiB",46],["groups","5.25 KiB",22]]}},{"key":"clickhouse_system_metrics","metric":"Clickhouse system metrics","value":"","subrows":{"columns":["Metric","Value","Description"],"rows":[["ActiveAsyncDrainedConnections",0,"Number of active connections drained asynchronously."],["ActiveSyncDrainedConnections",0,"Number of active connections drained synchronously."],["AsyncDrainedConnections",0,"Number of connections drained asynchronously."],["AsynchronousMetricsCalculationTimeSpent",0.002780791],["BackgroundBufferFlushSchedulePoolTask",0,"Number of active tasks in BackgroundBufferFlushSchedulePool. This pool is used for periodic Buffer flushes"],["BackgroundDistributedSchedulePoolTask",0,"Number of active tasks in BackgroundDistributedSchedulePool. This pool is used for distributed sends that is done in background."],["BackgroundFetchesPoolTask",0,"Number of active tasks in BackgroundFetchesPool"],["BackgroundMessageBrokerSchedulePoolTask",15,"Number of active tasks in BackgroundProcessingPool for message streaming"],["BackgroundMovePoolTask",0,"Number of active tasks in BackgroundProcessingPool for moves"],["BackgroundPoolTask",0,"Number of active tasks in BackgroundProcessingPool (merges, mutations, or replication queue bookkeeping)"],["BackgroundSchedulePoolTask",0,"Number of active tasks in BackgroundSchedulePool. This pool is used for periodic ReplicatedMergeTree tasks, like cleaning old data parts, altering data parts, replica re-initialization, etc."],["BlockActiveTime_nbd0",0],["BlockActiveTime_nbd1",0],["BlockActiveTime_nbd10",0],["BlockActiveTime_nbd11",0],["BlockActiveTime_nbd12",0],["BlockActiveTime_nbd13",0],["BlockActiveTime_nbd14",0],["BlockActiveTime_nbd15",0],["BlockActiveTime_nbd2",0],["BlockActiveTime_nbd3",0],["BlockActiveTime_nbd4",0],["BlockActiveTime_nbd5",0],["BlockActiveTime_nbd6",0],["BlockActiveTime_nbd7",0],["BlockActiveTime_nbd8",0],["BlockActiveTime_nbd9",0],["BlockActiveTime_vda",0.000011],["BlockDiscardBytes_nbd0",0],["BlockDiscardBytes_nbd1",0],["BlockDiscardBytes_nbd10",0],["BlockDiscardBytes_nbd11",0],["BlockDiscardBytes_nbd12",0],["BlockDiscardBytes_nbd13",0],["BlockDiscardBytes_nbd14",0],["BlockDiscardBytes_nbd15",0],["BlockDiscardBytes_nbd2",0],["BlockDiscardBytes_nbd3",0],["BlockDiscardBytes_nbd4",0],["BlockDiscardBytes_nbd5",0],["BlockDiscardBytes_nbd6",0],["BlockDiscardBytes_nbd7",0],["BlockDiscardBytes_nbd8",0],["BlockDiscardBytes_nbd9",0],["BlockDiscardBytes_vda",0],["BlockDiscardMerges_nbd0",0],["BlockDiscardMerges_nbd1",0],["BlockDiscardMerges_nbd10",0],["BlockDiscardMerges_nbd11",0],["BlockDiscardMerges_nbd12",0],["BlockDiscardMerges_nbd13",0],["BlockDiscardMerges_nbd14",0],["BlockDiscardMerges_nbd15",0],["BlockDiscardMerges_nbd2",0],["BlockDiscardMerges_nbd3",0],["BlockDiscardMerges_nbd4",0],["BlockDiscardMerges_nbd5",0],["BlockDiscardMerges_nbd6",0],["BlockDiscardMerges_nbd7",0],["BlockDiscardMerges_nbd8",0],["BlockDiscardMerges_nbd9",0],["BlockDiscardMerges_vda",0],["BlockDiscardOps_nbd0",0],["BlockDiscardOps_nbd1",0],["BlockDiscardOps_nbd10",0],["BlockDiscardOps_nbd11",0],["BlockDiscardOps_nbd12",0],["BlockDiscardOps_nbd13",0],["BlockDiscardOps_nbd14",0],["BlockDiscardOps_nbd15",0],["BlockDiscardOps_nbd2",0],["BlockDiscardOps_nbd3",0],["BlockDiscardOps_nbd4",0],["BlockDiscardOps_nbd5",0],["BlockDiscardOps_nbd6",0],["BlockDiscardOps_nbd7",0],["BlockDiscardOps_nbd8",0],["BlockDiscardOps_nbd9",0],["BlockDiscardOps_vda",0],["BlockDiscardTime_nbd0",0],["BlockDiscardTime_nbd1",0],["BlockDiscardTime_nbd10",0],["BlockDiscardTime_nbd11",0],["BlockDiscardTime_nbd12",0],["BlockDiscardTime_nbd13",0],["BlockDiscardTime_nbd14",0],["BlockDiscardTime_nbd15",0],["BlockDiscardTime_nbd2",0],["BlockDiscardTime_nbd3",0],["BlockDiscardTime_nbd4",0],["BlockDiscardTime_nbd5",0],["BlockDiscardTime_nbd6",0],["BlockDiscardTime_nbd7",0],["BlockDiscardTime_nbd8",0],["BlockDiscardTime_nbd9",0],["BlockDiscardTime_vda",0],["BlockInFlightOps_nbd0",0],["BlockInFlightOps_nbd1",0],["BlockInFlightOps_nbd10",0],["BlockInFlightOps_nbd11",0],["BlockInFlightOps_nbd12",0],["BlockInFlightOps_nbd13",0],["BlockInFlightOps_nbd14",0],["BlockInFlightOps_nbd15",0],["BlockInFlightOps_nbd2",0],["BlockInFlightOps_nbd3",0],["BlockInFlightOps_nbd4",0],["BlockInFlightOps_nbd5",0],["BlockInFlightOps_nbd6",0],["BlockInFlightOps_nbd7",0],["BlockInFlightOps_nbd8",0],["BlockInFlightOps_nbd9",0],["BlockInFlightOps_vda",0],["BlockQueueTime_nbd0",0],["BlockQueueTime_nbd1",0],["BlockQueueTime_nbd10",0],["BlockQueueTime_nbd11",0],["BlockQueueTime_nbd12",0],["BlockQueueTime_nbd13",0],["BlockQueueTime_nbd14",0],["BlockQueueTime_nbd15",0],["BlockQueueTime_nbd2",0],["BlockQueueTime_nbd3",0],["BlockQueueTime_nbd4",0],["BlockQueueTime_nbd5",0],["BlockQueueTime_nbd6",0],["BlockQueueTime_nbd7",0],["BlockQueueTime_nbd8",0],["BlockQueueTime_nbd9",0],["BlockQueueTime_vda",0.000009999999999999999],["BlockReadBytes_nbd0",0],["BlockReadBytes_nbd1",0],["BlockReadBytes_nbd10",0],["BlockReadBytes_nbd11",0],["BlockReadBytes_nbd12",0],["BlockReadBytes_nbd13",0],["BlockReadBytes_nbd14",0],["BlockReadBytes_nbd15",0],["BlockReadBytes_nbd2",0],["BlockReadBytes_nbd3",0],["BlockReadBytes_nbd4",0],["BlockReadBytes_nbd5",0],["BlockReadBytes_nbd6",0],["BlockReadBytes_nbd7",0],["BlockReadBytes_nbd8",0],["BlockReadBytes_nbd9",0],["BlockReadBytes_vda",0],["BlockReadMerges_nbd0",0],["BlockReadMerges_nbd1",0],["BlockReadMerges_nbd10",0],["BlockReadMerges_nbd11",0],["BlockReadMerges_nbd12",0],["BlockReadMerges_nbd13",0],["BlockReadMerges_nbd14",0],["BlockReadMerges_nbd15",0],["BlockReadMerges_nbd2",0],["BlockReadMerges_nbd3",0],["BlockReadMerges_nbd4",0],["BlockReadMerges_nbd5",0],["BlockReadMerges_nbd6",0],["BlockReadMerges_nbd7",0],["BlockReadMerges_nbd8",0],["BlockReadMerges_nbd9",0],["BlockReadMerges_vda",0],["BlockReadOps_nbd0",0],["BlockReadOps_nbd1",0],["BlockReadOps_nbd10",0],["BlockReadOps_nbd11",0],["BlockReadOps_nbd12",0],["BlockReadOps_nbd13",0],["BlockReadOps_nbd14",0],["BlockReadOps_nbd15",0],["BlockReadOps_nbd2",0],["BlockReadOps_nbd3",0],["BlockReadOps_nbd4",0],["BlockReadOps_nbd5",0],["BlockReadOps_nbd6",0],["BlockReadOps_nbd7",0],["BlockReadOps_nbd8",0],["BlockReadOps_nbd9",0],["BlockReadOps_vda",0],["BlockReadTime_nbd0",0],["BlockReadTime_nbd1",0],["BlockReadTime_nbd10",0],["BlockReadTime_nbd11",0],["BlockReadTime_nbd12",0],["BlockReadTime_nbd13",0],["BlockReadTime_nbd14",0],["BlockReadTime_nbd15",0],["BlockReadTime_nbd2",0],["BlockReadTime_nbd3",0],["BlockReadTime_nbd4",0],["BlockReadTime_nbd5",0],["BlockReadTime_nbd6",0],["BlockReadTime_nbd7",0],["BlockReadTime_nbd8",0],["BlockReadTime_nbd9",0],["BlockReadTime_vda",0],["BlockWriteBytes_nbd0",0],["BlockWriteBytes_nbd1",0],["BlockWriteBytes_nbd10",0],["BlockWriteBytes_nbd11",0],["BlockWriteBytes_nbd12",0],["BlockWriteBytes_nbd13",0],["BlockWriteBytes_nbd14",0],["BlockWriteBytes_nbd15",0],["BlockWriteBytes_nbd2",0],["BlockWriteBytes_nbd3",0],["BlockWriteBytes_nbd4",0],["BlockWriteBytes_nbd5",0],["BlockWriteBytes_nbd6",0],["BlockWriteBytes_nbd7",0],["BlockWriteBytes_nbd8",0],["BlockWriteBytes_nbd9",0],["BlockWriteBytes_vda",253952],["BlockWriteMerges_nbd0",0],["BlockWriteMerges_nbd1",0],["BlockWriteMerges_nbd10",0],["BlockWriteMerges_nbd11",0],["BlockWriteMerges_nbd12",0],["BlockWriteMerges_nbd13",0],["BlockWriteMerges_nbd14",0],["BlockWriteMerges_nbd15",0],["BlockWriteMerges_nbd2",0],["BlockWriteMerges_nbd3",0],["BlockWriteMerges_nbd4",0],["BlockWriteMerges_nbd5",0],["BlockWriteMerges_nbd6",0],["BlockWriteMerges_nbd7",0],["BlockWriteMerges_nbd8",0],["BlockWriteMerges_nbd9",0],["BlockWriteMerges_vda",0],["BlockWriteOps_nbd0",0],["BlockWriteOps_nbd1",0],["BlockWriteOps_nbd10",0],["BlockWriteOps_nbd11",0],["BlockWriteOps_nbd12",0],["BlockWriteOps_nbd13",0],["BlockWriteOps_nbd14",0],["BlockWriteOps_nbd15",0],["BlockWriteOps_nbd2",0],["BlockWriteOps_nbd3",0],["BlockWriteOps_nbd4",0],["BlockWriteOps_nbd5",0],["BlockWriteOps_nbd6",0],["BlockWriteOps_nbd7",0],["BlockWriteOps_nbd8",0],["BlockWriteOps_nbd9",0],["BlockWriteOps_vda",12],["BlockWriteTime_nbd0",0],["BlockWriteTime_nbd1",0],["BlockWriteTime_nbd10",0],["BlockWriteTime_nbd11",0],["BlockWriteTime_nbd12",0],["BlockWriteTime_nbd13",0],["BlockWriteTime_nbd14",0],["BlockWriteTime_nbd15",0],["BlockWriteTime_nbd2",0],["BlockWriteTime_nbd3",0],["BlockWriteTime_nbd4",0],["BlockWriteTime_nbd5",0],["BlockWriteTime_nbd6",0],["BlockWriteTime_nbd7",0],["BlockWriteTime_nbd8",0],["BlockWriteTime_nbd9",0],["BlockWriteTime_vda",0.000008],["BrokenDistributedFilesToInsert",0,"Number of files for asynchronous insertion into Distributed tables that has been marked as broken. This metric will starts from 0 on start. Number of files for every shard is summed."],["CacheDictionaryUpdateQueueBatches",0,"Number of \'batches\' (a set of keys) in update queue in CacheDictionaries."],["CacheDictionaryUpdateQueueKeys",0,"Exact number of keys in update queue in CacheDictionaries."],["ContextLockWait",0,"Number of threads waiting for lock in Context. This is global lock."],["DelayedInserts",0,"Number of INSERT queries that are throttled due to high number of active data parts for partition in a MergeTree table."],["DictCacheRequests",0,"Number of requests in fly to data sources of dictionaries of cache type."],["DiskAvailable_default",30909685760],["DiskSpaceReservedForMerge",0,"Disk space reserved for currently running background merges. It is slightly more than the total size of currently merging parts."],["DiskTotal_default",62725623808],["DiskUnreserved_default",30909685760],["DiskUsed_default",31815938048],["DistributedFilesToInsert",0,"Number of pending files to process for asynchronous insertion into Distributed tables. Number of files for every shard is summed."],["DistributedSend",0,"Number of connections to remote servers sending data that was INSERTed into Distributed tables. Both synchronous and asynchronous mode."],["EphemeralNode",0,"Number of ephemeral nodes hold in ZooKeeper."],["FilesystemLogsPathAvailableBytes",30909685760],["FilesystemLogsPathAvailableINodes",3024789],["FilesystemLogsPathTotalBytes",62725623808],["FilesystemLogsPathTotalINodes",3907584],["FilesystemLogsPathUsedBytes",31815938048],["FilesystemLogsPathUsedINodes",882795],["FilesystemMainPathAvailableBytes",30909685760],["FilesystemMainPathAvailableINodes",3024789],["FilesystemMainPathTotalBytes",62725623808],["FilesystemMainPathTotalINodes",3907584],["FilesystemMainPathUsedBytes",31815938048],["FilesystemMainPathUsedINodes",882795],["GlobalThread",208,"Number of threads in global thread pool."],["GlobalThreadActive",164,"Number of threads in global thread pool running a task."],["HTTPConnection",0,"Number of connections to HTTP server"],["HTTPThreads",1],["InterserverConnection",0,"Number of connections from other replicas to fetch parts"],["InterserverThreads",0],["Jitter",0.000253],["LoadAverage1",0.56],["LoadAverage15",0.25],["LoadAverage5",0.34],["LocalThread",0,"Number of threads in local thread pools. The threads in local thread pools are taken from the global thread pool."],["LocalThreadActive",0,"Number of threads in local thread pools running a task."],["MMapCacheCells",0],["MMappedFileBytes",1958451168,"Sum size of mmapped file regions."],["MMappedFiles",7,"Total number of mmapped files."],["MarkCacheBytes",3995568],["MarkCacheFiles",6657],["MaxDDLEntryID",442,"Max processed DDL entry of DDLWorker."],["MaxPartCountForPartition",8],["MaxPushedDDLEntryID",442,"Max DDL entry of DDLWorker that pushed to zookeeper."],["MemoryCode",265568256],["MemoryDataAndStack",22894653440],["MemoryResident",757252096],["MemoryShared",270368768],["MemoryTracking",757483984,"Total amount of memory (bytes) allocated by the server."],["MemoryVirtual",25127219200],["Merge",0,"Number of executing background merges"],["MySQLConnection",0,"Number of client connections using MySQL protocol"],["MySQLThreads",0],["NetworkReceive",0,"Number of threads receiving data from network. Only ClickHouse-related network interaction is included, not by 3rd party libraries."],["NetworkReceiveBytes_eth0",20222],["NetworkReceiveBytes_ip6tnl0",0],["NetworkReceiveBytes_tunl0",0],["NetworkReceiveDrop_eth0",0],["NetworkReceiveDrop_ip6tnl0",0],["NetworkReceiveDrop_tunl0",0],["NetworkReceiveErrors_eth0",0],["NetworkReceiveErrors_ip6tnl0",0],["NetworkReceiveErrors_tunl0",0],["NetworkReceivePackets_eth0",59],["NetworkReceivePackets_ip6tnl0",0],["NetworkReceivePackets_tunl0",0],["NetworkSend",0,"Number of threads sending data to network. Only ClickHouse-related network interaction is included, not by 3rd party libraries."],["NetworkSendBytes_eth0",6902],["NetworkSendBytes_ip6tnl0",0],["NetworkSendBytes_tunl0",0],["NetworkSendDrop_eth0",0],["NetworkSendDrop_ip6tnl0",0],["NetworkSendDrop_tunl0",0],["NetworkSendErrors_eth0",0],["NetworkSendErrors_ip6tnl0",0],["NetworkSendErrors_tunl0",0],["NetworkSendPackets_eth0",32],["NetworkSendPackets_ip6tnl0",0],["NetworkSendPackets_tunl0",0],["NumberOfDatabases",4],["NumberOfTables",128],["OSContextSwitches",6175],["OSGuestNiceTime",0],["OSGuestNiceTimeCPU0",0],["OSGuestNiceTimeCPU1",0],["OSGuestNiceTimeCPU2",0],["OSGuestNiceTimeCPU3",0],["OSGuestNiceTimeCPU4",0],["OSGuestNiceTimeCPU5",0],["OSGuestNiceTimeCPU6",0],["OSGuestNiceTimeCPU7",0],["OSGuestNiceTimeNormalized",0],["OSGuestTime",0],["OSGuestTimeCPU0",0],["OSGuestTimeCPU1",0],["OSGuestTimeCPU2",0],["OSGuestTimeCPU3",0],["OSGuestTimeCPU4",0],["OSGuestTimeCPU5",0],["OSGuestTimeCPU6",0],["OSGuestTimeCPU7",0],["OSGuestTimeNormalized",0],["OSIOWaitTime",0],["OSIOWaitTimeCPU0",0],["OSIOWaitTimeCPU1",0],["OSIOWaitTimeCPU2",0],["OSIOWaitTimeCPU3",0],["OSIOWaitTimeCPU4",0],["OSIOWaitTimeCPU5",0],["OSIOWaitTimeCPU6",0],["OSIOWaitTimeCPU7",0],["OSIOWaitTimeNormalized",0],["OSIdleTime",6.238421679315133],["OSIdleTimeCPU0",0.7698052392744635],["OSIdleTimeCPU1",0.7997976511942478],["OSIdleTimeCPU2",0.719817886074823],["OSIdleTimeCPU3",0.7997976511942478],["OSIdleTimeCPU4",0.6698305328751826],["OSIdleTimeCPU5",0.8097951218341759],["OSIdleTimeCPU6",0.8197925924741041],["OSIdleTimeCPU7",0.8497850043938884],["OSIdleTimeNormalized",0.7798027099143916],["OSInterrupts",4856],["OSIrqTime",0],["OSIrqTimeCPU0",0],["OSIrqTimeCPU1",0],["OSIrqTimeCPU2",0],["OSIrqTimeCPU3",0],["OSIrqTimeCPU4",0],["OSIrqTimeCPU5",0],["OSIrqTimeCPU6",0],["OSIrqTimeCPU7",0],["OSIrqTimeNormalized",0],["OSMemoryAvailable",3400728576],["OSMemoryBuffers",424554496],["OSMemoryCached",2488438784],["OSMemoryFreePlusCached",3341795328],["OSMemoryFreeWithoutCached",853356544],["OSMemorySwapCached",1839104],["OSMemoryTotal",6227279872],["OSNiceTime",0],["OSNiceTimeCPU0",0],["OSNiceTimeCPU1",0],["OSNiceTimeCPU2",0],["OSNiceTimeCPU3",0],["OSNiceTimeCPU4",0],["OSNiceTimeCPU5",0],["OSNiceTimeCPU6",0],["OSNiceTimeCPU7",0],["OSNiceTimeNormalized",0],["OSOpenFiles",5248],["OSProcessesBlocked",0],["OSProcessesCreated",3],["OSProcessesRunning",4],["OSSoftIrqTime",0.06998229447949669],["OSSoftIrqTimeCPU0",0.029992411919784294],["OSSoftIrqTimeCPU1",0],["OSSoftIrqTimeCPU2",0.009997470639928098],["OSSoftIrqTimeCPU3",0.009997470639928098],["OSSoftIrqTimeCPU4",0],["OSSoftIrqTimeCPU5",0],["OSSoftIrqTimeCPU6",0.009997470639928098],["OSSoftIrqTimeCPU7",0.009997470639928098],["OSSoftIrqTimeNormalized",0.008747786809937087],["OSStealTime",0],["OSStealTimeCPU0",0],["OSStealTimeCPU1",0],["OSStealTimeCPU2",0],["OSStealTimeCPU3",0],["OSStealTimeCPU4",0],["OSStealTimeCPU5",0],["OSStealTimeCPU6",0],["OSStealTimeCPU7",0],["OSStealTimeNormalized",0],["OSSystemTime",0.28992664855791483],["OSSystemTimeCPU0",0.029992411919784294],["OSSystemTimeCPU1",0.03998988255971239],["OSSystemTimeCPU2",0.029992411919784294],["OSSystemTimeCPU3",0.03998988255971239],["OSSystemTimeCPU4",0.05998482383956859],["OSSystemTimeCPU5",0.029992411919784294],["OSSystemTimeCPU6",0.03998988255971239],["OSSystemTimeCPU7",0.029992411919784294],["OSSystemTimeNormalized",0.036240831069739354],["OSThreadsRunnable",4],["OSThreadsTotal",1084],["OSUptime",298274.46],["OSUserTime",0.309921589837771],["OSUserTimeCPU0",0.029992411919784294],["OSUserTimeCPU1",0.029992411919784294],["OSUserTimeCPU2",0.029992411919784294],["OSUserTimeCPU3",0.029992411919784294],["OSUserTimeCPU4",0.08997723575935287],["OSUserTimeCPU5",0.029992411919784294],["OSUserTimeCPU6",0.019994941279856196],["OSUserTimeCPU7",0.029992411919784294],["OSUserTimeNormalized",0.03874019872972138],["OpenFileForRead",31,"Number of files open for reading"],["OpenFileForWrite",0,"Number of files open for writing"],["PartMutation",0,"Number of mutations (ALTER DELETE/UPDATE)"],["PartsCommitted",95,"Active data part, used by current and upcoming SELECTs."],["PartsCompact",152,"Compact parts."],["PartsDeleteOnDestroy",0,"Part was moved to another disk and should be deleted in own destructor."],["PartsDeleting",0,"Not active data part with identity refcounter, it is deleting right now by a cleaner."],["PartsInMemory",0,"In-memory parts."],["PartsOutdated",93,"Not active data part, but could be used by only current SELECTs, could be deleted after SELECTs finishes."],["PartsPreCommitted",0,"The part is in data_parts, but not used for SELECTs."],["PartsTemporary",0,"The part is generating now, it is not in data_parts list."],["PartsWide",36,"Wide parts."],["PostgreSQLConnection",0,"Number of client connections using PostgreSQL protocol"],["Query",1,"Number of executing queries"],["QueryPreempted",0,"Number of queries that are stopped and waiting due to \'priority\' setting."],["QueryThread",0,"Number of query processing threads"],["RWLockActiveReaders",46,"Number of threads holding read lock in a table RWLock."],["RWLockActiveWriters",0,"Number of threads holding write lock in a table RWLock."],["RWLockWaitingReaders",0,"Number of threads waiting for read on a table RWLock."],["RWLockWaitingWriters",0,"Number of threads waiting for write on a table RWLock."],["Read",1,"Number of read (read, pread, io_getevents, etc.) syscalls in fly"],["ReadonlyReplica",0,"Number of Replicated tables that are currently in readonly state due to re-initialization after ZooKeeper session loss or due to startup without ZooKeeper configured."],["ReplicasMaxAbsoluteDelay",0],["ReplicasMaxInsertsInQueue",0],["ReplicasMaxMergesInQueue",0],["ReplicasMaxQueueSize",0],["ReplicasMaxRelativeDelay",0],["ReplicasSumInsertsInQueue",0],["ReplicasSumMergesInQueue",0],["ReplicasSumQueueSize",0],["ReplicatedChecks",0,"Number of data parts checking for consistency"],["ReplicatedFetch",0,"Number of data parts being fetched from replica"],["ReplicatedSend",0,"Number of data parts being sent to replicas"],["Revision",54454,"Revision of the server. It is a number incremented for every release or release candidate except patch releases."],["SendExternalTables",0,"Number of connections that are sending data for external tables to remote servers. External tables are used to implement GLOBAL IN and GLOBAL JOIN operators with distributed subqueries."],["SendScalars",0,"Number of connections that are sending data for scalars to remote servers."],["StorageBufferBytes",0,"Number of bytes in buffers of Buffer tables"],["StorageBufferRows",0,"Number of rows in buffers of Buffer tables"],["SyncDrainedConnections",0,"Number of connections drained synchronously."],["TCPConnection",2,"Number of connections to TCP server (clients with native interface), also included server-server distributed query connections"],["TCPThreads",2],["TablesToDropQueueSize",0,"Number of dropped tables, that are waiting for background data removal."],["TotalBytesOfMergeTreeTables",922069414],["TotalPartsOfMergeTreeTables",95],["TotalRowsOfMergeTreeTables",167857091],["UncompressedCacheBytes",0],["UncompressedCacheCells",0],["Uptime",297631],["VersionInteger",21009002,"Version of the server in a single integer number in base-1000. For example, version 11.22.33 is translated to 11022033."],["Write",0,"Number of write (write, pwrite, io_getevents, etc.) syscalls in fly"],["ZooKeeperRequest",0,"Number of requests to ZooKeeper in fly."],["ZooKeeperSession",1,"Number of sessions (connections) to ZooKeeper. Should be no more than one, because using more than one connection to ZooKeeper may lead to bugs due to lack of linearizability (stale reads) that ZooKeeper consistency model allows."],["ZooKeeperWatch",1,"Number of watches (event subscriptions) in ZooKeeper."],["jemalloc.active",415367168],["jemalloc.allocated",259537136],["jemalloc.arenas.all.dirty_purged",144941416],["jemalloc.arenas.all.muzzy_purged",138378738],["jemalloc.arenas.all.pactive",6338],["jemalloc.arenas.all.pdirty",14251],["jemalloc.arenas.all.pmuzzy",50],["jemalloc.background_thread.num_runs",0],["jemalloc.background_thread.num_threads",0],["jemalloc.background_thread.run_intervals",0],["jemalloc.epoch",297926],["jemalloc.mapped",5647564800],["jemalloc.metadata",45092944],["jemalloc.metadata_thp",0],["jemalloc.resident",1381040128],["jemalloc.retained",14753529856]]}},{"key":"last_event_ingested_timestamp","metric":"Last event ingested","value":"2022-03-16T10:16:44"},{"key":"dead_letter_queue_size","metric":"Dead letter queue size","value":114794},{"key":"dead_letter_queue_events_last_day","metric":"Events sent to dead letter queue in the last 24h","value":4682},{"key":"dead_letter_queue_ratio_ok","metric":"Dead letter queue ratio healthy","value":true},{"key":"redis_alive","metric":"Redis alive","value":true},{"metric":"Redis version","value":"6.2.6"},{"metric":"Redis current queue depth","value":"0"},{"metric":"Redis connected client count","value":"28"},{"metric":"Redis memory used","value":"3.04MB"},{"metric":"Redis memory peak","value":"4.04MB"},{"metric":"Redis total memory available","value":"5.80GB"}],"internal_metrics":{}}}')},"./frontend/src/mocks/fixtures/_preflight.json":module=>{"use strict";module.exports=JSON.parse('{"django":true,"redis":true,"plugins":false,"celery":false,"db":true,"clickhouse":true,"kafka":true,"initiated":true,"cloud":false,"demo":false,"object_storage":true,"realm":"hosted-clickhouse","region":"US","available_social_auth_providers":{"github":false,"gitlab":false,"google-oauth2":false,"saml":false},"can_create_org":false,"email_service_available":false,"db_backend":"clickhouse","available_timezones":{"Africa/Abidjan":0,"Africa/Accra":0,"Africa/Addis_Ababa":3,"Africa/Algiers":1,"Africa/Asmara":3,"Africa/Bamako":0,"Africa/Bangui":1,"Africa/Banjul":0,"Africa/Bissau":0,"Africa/Blantyre":2,"Africa/Brazzaville":1,"Africa/Bujumbura":2,"Africa/Cairo":2,"Africa/Casablanca":1,"Africa/Ceuta":1,"Africa/Conakry":0,"Africa/Dakar":0,"Africa/Dar_es_Salaam":3,"Africa/Djibouti":3,"Africa/Douala":1,"Africa/El_Aaiun":1,"Africa/Freetown":0,"Africa/Gaborone":2,"Africa/Harare":2,"Africa/Johannesburg":2,"Africa/Juba":2,"Africa/Kampala":3,"Africa/Khartoum":2,"Africa/Kigali":2,"Africa/Kinshasa":1,"Africa/Lagos":1,"Africa/Libreville":1,"Africa/Lome":0,"Africa/Luanda":1,"Africa/Lubumbashi":2,"Africa/Lusaka":2,"Africa/Malabo":1,"Africa/Maputo":2,"Africa/Maseru":2,"Africa/Mbabane":2,"Africa/Mogadishu":3,"Africa/Monrovia":0,"Africa/Nairobi":3,"Africa/Ndjamena":1,"Africa/Niamey":1,"Africa/Nouakchott":0,"Africa/Ouagadougou":0,"Africa/Porto-Novo":1,"Africa/Sao_Tome":0,"Africa/Tripoli":2,"Africa/Tunis":1,"Africa/Windhoek":2,"America/Adak":-9,"America/Anchorage":-8,"America/Anguilla":-4,"America/Antigua":-4,"America/Araguaina":-3,"America/Argentina/Buenos_Aires":-3,"America/Argentina/Catamarca":-3,"America/Argentina/Cordoba":-3,"America/Argentina/Jujuy":-3,"America/Argentina/La_Rioja":-3,"America/Argentina/Mendoza":-3,"America/Argentina/Rio_Gallegos":-3,"America/Argentina/Salta":-3,"America/Argentina/San_Juan":-3,"America/Argentina/San_Luis":-3,"America/Argentina/Tucuman":-3,"America/Argentina/Ushuaia":-3,"America/Aruba":-4,"America/Asuncion":-3,"America/Atikokan":-5,"America/Bahia":-3,"America/Bahia_Banderas":-6,"America/Barbados":-4,"America/Belem":-3,"America/Belize":-6,"America/Blanc-Sablon":-4,"America/Boa_Vista":-4,"America/Bogota":-5,"America/Boise":-6,"America/Cambridge_Bay":-6,"America/Campo_Grande":-4,"America/Cancun":-5,"America/Caracas":-4,"America/Cayenne":-3,"America/Cayman":-5,"America/Chicago":-5,"America/Chihuahua":-7,"America/Costa_Rica":-6,"America/Creston":-7,"America/Cuiaba":-4,"America/Curacao":-4,"America/Danmarkshavn":0,"America/Dawson":-7,"America/Dawson_Creek":-7,"America/Denver":-6,"America/Detroit":-4,"America/Dominica":-4,"America/Edmonton":-6,"America/Eirunepe":-5,"America/El_Salvador":-6,"America/Fort_Nelson":-7,"America/Fortaleza":-3,"America/Glace_Bay":-3,"America/Goose_Bay":-3,"America/Grand_Turk":-4,"America/Grenada":-4,"America/Guadeloupe":-4,"America/Guatemala":-6,"America/Guayaquil":-5,"America/Guyana":-4,"America/Halifax":-3,"America/Havana":-4,"America/Hermosillo":-7,"America/Indiana/Indianapolis":-4,"America/Indiana/Knox":-5,"America/Indiana/Marengo":-4,"America/Indiana/Petersburg":-4,"America/Indiana/Tell_City":-5,"America/Indiana/Vevay":-4,"America/Indiana/Vincennes":-4,"America/Indiana/Winamac":-4,"America/Inuvik":-6,"America/Iqaluit":-4,"America/Jamaica":-5,"America/Juneau":-8,"America/Kentucky/Louisville":-4,"America/Kentucky/Monticello":-4,"America/Kralendijk":-4,"America/La_Paz":-4,"America/Lima":-5,"America/Los_Angeles":-7,"America/Lower_Princes":-4,"America/Maceio":-3,"America/Managua":-6,"America/Manaus":-4,"America/Marigot":-4,"America/Martinique":-4,"America/Matamoros":-5,"America/Mazatlan":-7,"America/Menominee":-5,"America/Merida":-6,"America/Metlakatla":-8,"America/Mexico_City":-6,"America/Miquelon":-2,"America/Moncton":-3,"America/Monterrey":-6,"America/Montevideo":-3,"America/Montserrat":-4,"America/Nassau":-4,"America/New_York":-4,"America/Nipigon":-4,"America/Nome":-8,"America/Noronha":-2,"America/North_Dakota/Beulah":-5,"America/North_Dakota/Center":-5,"America/North_Dakota/New_Salem":-5,"America/Nuuk":-3,"America/Ojinaga":-6,"America/Panama":-5,"America/Pangnirtung":-4,"America/Paramaribo":-3,"America/Phoenix":-7,"America/Port-au-Prince":-4,"America/Port_of_Spain":-4,"America/Porto_Velho":-4,"America/Puerto_Rico":-4,"America/Punta_Arenas":-3,"America/Rainy_River":-5,"America/Rankin_Inlet":-5,"America/Recife":-3,"America/Regina":-6,"America/Resolute":-5,"America/Rio_Branco":-5,"America/Santarem":-3,"America/Santiago":-3,"America/Santo_Domingo":-4,"America/Sao_Paulo":-3,"America/Scoresbysund":-1,"America/Sitka":-8,"America/St_Barthelemy":-4,"America/St_Johns":-2.5,"America/St_Kitts":-4,"America/St_Lucia":-4,"America/St_Thomas":-4,"America/St_Vincent":-4,"America/Swift_Current":-6,"America/Tegucigalpa":-6,"America/Thule":-3,"America/Thunder_Bay":-4,"America/Tijuana":-7,"America/Toronto":-4,"America/Tortola":-4,"America/Vancouver":-7,"America/Whitehorse":-7,"America/Winnipeg":-5,"America/Yakutat":-8,"America/Yellowknife":-6,"Antarctica/Casey":11,"Antarctica/Davis":7,"Antarctica/DumontDUrville":10,"Antarctica/Macquarie":11,"Antarctica/Mawson":5,"Antarctica/McMurdo":13,"Antarctica/Palmer":-3,"Antarctica/Rothera":-3,"Antarctica/Syowa":3,"Antarctica/Troll":0,"Antarctica/Vostok":6,"Arctic/Longyearbyen":1,"Asia/Aden":3,"Asia/Almaty":6,"Asia/Amman":2,"Asia/Anadyr":12,"Asia/Aqtau":5,"Asia/Aqtobe":5,"Asia/Ashgabat":5,"Asia/Atyrau":5,"Asia/Baghdad":3,"Asia/Bahrain":3,"Asia/Baku":4,"Asia/Bangkok":7,"Asia/Barnaul":7,"Asia/Beirut":2,"Asia/Bishkek":6,"Asia/Brunei":8,"Asia/Chita":9,"Asia/Choibalsan":8,"Asia/Colombo":5.5,"Asia/Damascus":2,"Asia/Dhaka":6,"Asia/Dili":9,"Asia/Dubai":4,"Asia/Dushanbe":5,"Asia/Famagusta":2,"Asia/Gaza":2,"Asia/Hebron":2,"Asia/Ho_Chi_Minh":7,"Asia/Hong_Kong":8,"Asia/Hovd":7,"Asia/Irkutsk":8,"Asia/Jakarta":7,"Asia/Jayapura":9,"Asia/Jerusalem":2,"Asia/Kabul":4.5,"Asia/Kamchatka":12,"Asia/Karachi":5,"Asia/Kathmandu":5.75,"Asia/Khandyga":9,"Asia/Kolkata":5.5,"Asia/Krasnoyarsk":7,"Asia/Kuala_Lumpur":8,"Asia/Kuching":8,"Asia/Kuwait":3,"Asia/Macau":8,"Asia/Magadan":11,"Asia/Makassar":8,"Asia/Manila":8,"Asia/Muscat":4,"Asia/Nicosia":2,"Asia/Novokuznetsk":7,"Asia/Novosibirsk":7,"Asia/Omsk":6,"Asia/Oral":5,"Asia/Phnom_Penh":7,"Asia/Pontianak":7,"Asia/Pyongyang":9,"Asia/Qatar":3,"Asia/Qostanay":6,"Asia/Qyzylorda":5,"Asia/Riyadh":3,"Asia/Sakhalin":11,"Asia/Samarkand":5,"Asia/Seoul":9,"Asia/Shanghai":8,"Asia/Singapore":8,"Asia/Srednekolymsk":11,"Asia/Taipei":8,"Asia/Tashkent":5,"Asia/Tbilisi":4,"Asia/Tehran":3.5,"Asia/Thimphu":6,"Asia/Tokyo":9,"Asia/Tomsk":7,"Asia/Ulaanbaatar":8,"Asia/Urumqi":6,"Asia/Ust-Nera":10,"Asia/Vientiane":7,"Asia/Vladivostok":10,"Asia/Yakutsk":9,"Asia/Yangon":6.5,"Asia/Yekaterinburg":5,"Asia/Yerevan":4,"Atlantic/Azores":-1,"Atlantic/Bermuda":-3,"Atlantic/Canary":0,"Atlantic/Cape_Verde":-1,"Atlantic/Faroe":0,"Atlantic/Madeira":0,"Atlantic/Reykjavik":0,"Atlantic/South_Georgia":-2,"Atlantic/St_Helena":0,"Atlantic/Stanley":-3,"Australia/Adelaide":10.5,"Australia/Brisbane":10,"Australia/Broken_Hill":10.5,"Australia/Darwin":9.5,"Australia/Eucla":8.75,"Australia/Hobart":11,"Australia/Lindeman":10,"Australia/Lord_Howe":11,"Australia/Melbourne":11,"Australia/Perth":8,"Australia/Sydney":11,"Canada/Atlantic":-3,"Canada/Central":-5,"Canada/Eastern":-4,"Canada/Mountain":-6,"Canada/Newfoundland":-2.5,"Canada/Pacific":-7,"Europe/Amsterdam":1,"Europe/Andorra":1,"Europe/Astrakhan":4,"Europe/Athens":2,"Europe/Belgrade":1,"Europe/Berlin":1,"Europe/Bratislava":1,"Europe/Brussels":1,"Europe/Bucharest":2,"Europe/Budapest":1,"Europe/Busingen":1,"Europe/Chisinau":2,"Europe/Copenhagen":1,"Europe/Dublin":0,"Europe/Gibraltar":1,"Europe/Guernsey":0,"Europe/Helsinki":2,"Europe/Isle_of_Man":0,"Europe/Istanbul":3,"Europe/Jersey":0,"Europe/Kaliningrad":2,"Europe/Kiev":2,"Europe/Kirov":3,"Europe/Lisbon":0,"Europe/Ljubljana":1,"Europe/London":0,"Europe/Luxembourg":1,"Europe/Madrid":1,"Europe/Malta":1,"Europe/Mariehamn":2,"Europe/Minsk":3,"Europe/Monaco":1,"Europe/Moscow":3,"Europe/Oslo":1,"Europe/Paris":1,"Europe/Podgorica":1,"Europe/Prague":1,"Europe/Riga":2,"Europe/Rome":1,"Europe/Samara":4,"Europe/San_Marino":1,"Europe/Sarajevo":1,"Europe/Saratov":4,"Europe/Simferopol":3,"Europe/Skopje":1,"Europe/Sofia":2,"Europe/Stockholm":1,"Europe/Tallinn":2,"Europe/Tirane":1,"Europe/Ulyanovsk":4,"Europe/Uzhgorod":2,"Europe/Vaduz":1,"Europe/Vatican":1,"Europe/Vienna":1,"Europe/Vilnius":2,"Europe/Volgograd":3,"Europe/Warsaw":1,"Europe/Zagreb":1,"Europe/Zaporozhye":2,"Europe/Zurich":1,"GMT":0,"Indian/Antananarivo":3,"Indian/Chagos":6,"Indian/Christmas":7,"Indian/Cocos":6.5,"Indian/Comoro":3,"Indian/Kerguelen":5,"Indian/Mahe":4,"Indian/Maldives":5,"Indian/Mauritius":4,"Indian/Mayotte":3,"Indian/Reunion":4,"Pacific/Apia":14,"Pacific/Auckland":13,"Pacific/Bougainville":11,"Pacific/Chatham":13.75,"Pacific/Chuuk":10,"Pacific/Easter":-5,"Pacific/Efate":11,"Pacific/Enderbury":13,"Pacific/Fakaofo":13,"Pacific/Fiji":12,"Pacific/Funafuti":12,"Pacific/Galapagos":-6,"Pacific/Gambier":-9,"Pacific/Guadalcanal":11,"Pacific/Guam":10,"Pacific/Honolulu":-10,"Pacific/Kiritimati":14,"Pacific/Kosrae":11,"Pacific/Kwajalein":12,"Pacific/Majuro":12,"Pacific/Marquesas":-9.5,"Pacific/Midway":-11,"Pacific/Nauru":12,"Pacific/Niue":-11,"Pacific/Norfolk":12,"Pacific/Noumea":11,"Pacific/Pago_Pago":-11,"Pacific/Palau":9,"Pacific/Pitcairn":-8,"Pacific/Pohnpei":11,"Pacific/Port_Moresby":10,"Pacific/Rarotonga":-10,"Pacific/Saipan":10,"Pacific/Tahiti":-10,"Pacific/Tarawa":12,"Pacific/Tongatapu":13,"Pacific/Wake":12,"Pacific/Wallis":12,"US/Alaska":-8,"US/Arizona":-7,"US/Central":-5,"US/Eastern":-4,"US/Hawaii":-10,"US/Mountain":-6,"US/Pacific":-7,"UTC":0},"opt_out_capture":false,"is_debug":true,"licensed_users_available":21311,"site_url":"http://localhost:6006","instance_preferences":{"debug_queries":false,"disable_paid_fs":false}}')},"./frontend/src/mocks/fixtures/_system_status.json":module=>{"use strict";module.exports=JSON.parse('{"results":[{"key":"ingestion_server","metric":"Event ingestion via","value":"Plugin Server"},{"key":"plugin_sever_alive","metric":"Plugin server alive","value":true},{"key":"plugin_sever_version","metric":"Plugin server version","value":"0.15.5"},{"key":"db_alive","metric":"Postgres database alive","value":true},{"key":"pg_version","metric":"Postgres version","value":"13.0.1"},{"metric":"Postgres elements table size","value":"~3508 rows (~840 kB)"},{"metric":"Postgres events table size","value":"~5003 rows (~7032 kB)"},{"metric":"Postgres session recording table size","value":"~536 rows (~4608 kB)"},{"key":"redis_alive","metric":"Redis alive","value":true},{"metric":"Redis version","value":"6.0.10"},{"metric":"Redis current queue depth","value":"0"},{"metric":"Redis connected client count","value":"37"},{"metric":"Redis memory used","value":"2.10MB"},{"metric":"Redis memory peak","value":"12.00MB"},{"metric":"Redis total memory available","value":"64.00GB"}]}')},"./frontend/src/queries/schema.json":module=>{"use strict";module.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","definitions":{"ActionConversionGoal":{"additionalProperties":false,"properties":{"actionId":{"type":"integer"}},"required":["actionId"],"type":"object"},"ActionsNode":{"additionalProperties":false,"properties":{"custom_name":{"type":"string"},"fixedProperties":{"description":"Fixed properties in the query, can\'t be edited in the interface (e.g. scoping down by person)","items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},"id":{"type":"integer"},"kind":{"const":"ActionsNode","type":"string"},"math":{"$ref":"#/definitions/MathType"},"math_group_type_index":{"enum":[0,1,2,3,4],"type":"number"},"math_hogql":{"type":"string"},"math_property":{"type":"string"},"math_property_type":{"type":"string"},"name":{"type":"string"},"properties":{"description":"Properties configurable in the interface","items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},"response":{"type":"object"}},"required":["id","kind"],"type":"object"},"ActorsPropertyTaxonomyQuery":{"additionalProperties":false,"properties":{"group_type_index":{"type":"integer"},"kind":{"const":"ActorsPropertyTaxonomyQuery","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"property":{"type":"string"},"response":{"$ref":"#/definitions/ActorsPropertyTaxonomyQueryResponse"}},"required":["kind","property"],"type":"object"},"ActorsPropertyTaxonomyQueryResponse":{"additionalProperties":false,"description":"All analytics query responses must inherit from this.","properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"$ref":"#/definitions/ActorsPropertyTaxonomyResponse"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},"ActorsPropertyTaxonomyResponse":{"additionalProperties":false,"properties":{"sample_count":{"type":"integer"},"sample_values":{"items":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"integer"}]},"type":"array"}},"required":["sample_values","sample_count"],"type":"object"},"ActorsQuery":{"additionalProperties":false,"properties":{"fixedProperties":{"description":"Currently only person filters supported. No filters for querying groups. See `filter_conditions()` in actor_strategies.py.","items":{"$ref":"#/definitions/AnyPersonScopeFilter"},"type":"array"},"kind":{"const":"ActorsQuery","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"orderBy":{"items":{"type":"string"},"type":"array"},"properties":{"description":"Currently only person filters supported. No filters for querying groups. See `filter_conditions()` in actor_strategies.py.","items":{"$ref":"#/definitions/AnyPersonScopeFilter"},"type":"array"},"response":{"$ref":"#/definitions/ActorsQueryResponse"},"search":{"type":"string"},"select":{"items":{"$ref":"#/definitions/HogQLExpression"},"type":"array"},"source":{"anyOf":[{"$ref":"#/definitions/InsightActorsQuery"},{"$ref":"#/definitions/FunnelsActorsQuery"},{"$ref":"#/definitions/FunnelCorrelationActorsQuery"},{"$ref":"#/definitions/HogQLQuery"}]}},"required":["kind"],"type":"object"},"ActorsQueryResponse":{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"missing_actors_count":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"items":{},"type":"array"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{"type":"string"},"type":"array"}},"required":["columns","hogql","limit","offset","results","types"],"type":"object"},"AggregationAxisFormat":{"enum":["numeric","duration","duration_ms","percentage","percentage_scaled"],"type":"string"},"AlertCalculationInterval":{"enum":["hourly","daily","weekly","monthly"],"type":"string"},"AlertCondition":{"additionalProperties":false,"properties":{"type":{"$ref":"#/definitions/AlertConditionType"}},"required":["type"],"type":"object"},"AlertConditionType":{"enum":["absolute_value","relative_increase","relative_decrease"],"type":"string"},"AlertState":{"enum":["Firing","Not firing","Errored","Snoozed"],"type":"string"},"AnyDataNode":{"anyOf":[{"$ref":"#/definitions/EventsNode"},{"$ref":"#/definitions/ActionsNode"},{"$ref":"#/definitions/PersonsNode"},{"$ref":"#/definitions/EventsQuery"},{"$ref":"#/definitions/ActorsQuery"},{"$ref":"#/definitions/InsightActorsQuery"},{"$ref":"#/definitions/InsightActorsQueryOptions"},{"$ref":"#/definitions/SessionsTimelineQuery"},{"$ref":"#/definitions/HogQuery"},{"$ref":"#/definitions/HogQLQuery"},{"$ref":"#/definitions/HogQLMetadata"},{"$ref":"#/definitions/HogQLAutocomplete"},{"$ref":"#/definitions/WebOverviewQuery"},{"$ref":"#/definitions/WebStatsTableQuery"},{"$ref":"#/definitions/WebExternalClicksTableQuery"},{"$ref":"#/definitions/WebGoalsQuery"},{"$ref":"#/definitions/SessionAttributionExplorerQuery"},{"$ref":"#/definitions/ErrorTrackingQuery"},{"$ref":"#/definitions/ExperimentFunnelsQuery"},{"$ref":"#/definitions/ExperimentTrendsQuery"},{"$ref":"#/definitions/RecordingsQuery"}]},"AnyEntityNode":{"anyOf":[{"$ref":"#/definitions/EventsNode"},{"$ref":"#/definitions/ActionsNode"},{"$ref":"#/definitions/DataWarehouseNode"}]},"AnyFilterLike":{"anyOf":[{"$ref":"#/definitions/AnyPropertyFilter"},{"$ref":"#/definitions/PropertyGroupFilter"},{"$ref":"#/definitions/PropertyGroupFilterValue"}]},"AnyPersonScopeFilter":{"anyOf":[{"$ref":"#/definitions/PersonPropertyFilter"},{"$ref":"#/definitions/CohortPropertyFilter"},{"$ref":"#/definitions/HogQLPropertyFilter"},{"$ref":"#/definitions/EmptyPropertyFilter"}],"description":"Any filter type supported by `property_to_expr(scope=\\"person\\", ...)`."},"AnyPropertyFilter":{"anyOf":[{"$ref":"#/definitions/EventPropertyFilter"},{"$ref":"#/definitions/PersonPropertyFilter"},{"$ref":"#/definitions/ElementPropertyFilter"},{"$ref":"#/definitions/SessionPropertyFilter"},{"$ref":"#/definitions/CohortPropertyFilter"},{"$ref":"#/definitions/RecordingPropertyFilter"},{"$ref":"#/definitions/LogEntryPropertyFilter"},{"$ref":"#/definitions/GroupPropertyFilter"},{"$ref":"#/definitions/FeaturePropertyFilter"},{"$ref":"#/definitions/HogQLPropertyFilter"},{"$ref":"#/definitions/EmptyPropertyFilter"},{"$ref":"#/definitions/DataWarehousePropertyFilter"},{"$ref":"#/definitions/DataWarehousePersonPropertyFilter"}]},"AnyResponseType":{"anyOf":[{"type":"object"},{"$ref":"#/definitions/HogQueryResponse"},{"$ref":"#/definitions/HogQLQueryResponse"},{"$ref":"#/definitions/HogQLMetadataResponse"},{"$ref":"#/definitions/HogQLAutocompleteResponse"},{"type":"object"},{"not":{}},{"$ref":"#/definitions/EventsQueryResponse"},{"$ref":"#/definitions/ErrorTrackingQueryResponse"}]},"AssistantArrayPropertyFilter":{"additionalProperties":false,"properties":{"operator":{"$ref":"#/definitions/AssistantArrayPropertyFilterOperator","description":"`exact` - exact match of any of the values. `is_not` - does not match any of the values."},"value":{"description":"Only use property values from the plan. Always use strings as values. If you have a number, convert it to a string first. If you have a boolean, convert it to a string \\"true\\" or \\"false\\".","items":{"type":"string"},"type":"array"}},"required":["operator","value"],"type":"object"},"AssistantArrayPropertyFilterOperator":{"enum":["exact","is_not"],"type":"string"},"AssistantBaseMultipleBreakdownFilter":{"additionalProperties":false,"properties":{"property":{"description":"Property name from the plan to break down by.","type":"string"}},"required":["property"],"type":"object"},"AssistantBasePropertyFilter":{"anyOf":[{"$ref":"#/definitions/AssistantStringNumberOrBooleanPropertyFilter"},{"$ref":"#/definitions/AssistantDateTimePropertyFilter"},{"$ref":"#/definitions/AssistantSetPropertyFilter"}]},"AssistantBreakdownFilter":{"additionalProperties":false,"properties":{"breakdown_limit":{"default":25,"description":"How many distinct values to show.","type":"integer"}},"type":"object"},"AssistantDateTimePropertyFilter":{"additionalProperties":false,"properties":{"operator":{"$ref":"#/definitions/AssistantDateTimePropertyFilterOperator"},"value":{"description":"Value must be a date in ISO 8601 format.","type":"string"}},"required":["operator","value"],"type":"object"},"AssistantDateTimePropertyFilterOperator":{"enum":["is_date_exact","is_date_before","is_date_after"],"type":"string"},"AssistantEventMultipleBreakdownFilterType":{"enum":["person","event","session","hogql"],"type":"string"},"AssistantEventType":{"enum":["status","message","conversation"],"type":"string"},"AssistantFunnelsBreakdownFilter":{"additionalProperties":false,"properties":{"breakdown":{"description":"The entity property to break down by.","type":"string"},"breakdown_group_type_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"If `breakdown_type` is `group`, this is the index of the group. Use the index from the group mapping."},"breakdown_limit":{"default":25,"description":"How many distinct values to show.","type":"integer"},"breakdown_type":{"$ref":"#/definitions/AssistantFunnelsBreakdownType","default":"event","description":"Type of the entity to break down by. If `group` is used, you must also provide `breakdown_group_type_index` from the group mapping."}},"required":["breakdown_type","breakdown"],"type":"object"},"AssistantFunnelsBreakdownType":{"enum":["person","event","group","session"],"type":"string"},"AssistantFunnelsEventsNode":{"additionalProperties":false,"properties":{"custom_name":{"description":"Optional custom name for the event if it is needed to be renamed.","type":"string"},"event":{"description":"Name of the event.","type":"string"},"kind":{"const":"EventsNode","type":"string"},"math":{"$ref":"#/definitions/AssistantTrendsMath","description":"Optional math aggregation type for the series. Only specify this math type if the user wants one of these. `first_time_for_user` - counts the number of users who have completed the event for the first time ever. `first_time_for_user_with_filters` - counts the number of users who have completed the event with specified filters for the first time."},"properties":{"items":{"$ref":"#/definitions/AssistantPropertyFilter"},"type":"array"},"response":{"type":"object"}},"required":["event","kind"],"type":"object"},"AssistantFunnelsExclusionEventsNode":{"additionalProperties":false,"description":"Exclustion steps for funnels. The \\"from\\" and \\"to\\" steps must not exceed the funnel\'s series length.","properties":{"event":{"type":"string"},"funnelFromStep":{"type":"integer"},"funnelToStep":{"type":"integer"},"kind":{"const":"EventsNode","type":"string"}},"required":["event","funnelFromStep","funnelToStep","kind"],"type":"object"},"AssistantFunnelsFilter":{"additionalProperties":false,"properties":{"binCount":{"description":"Use this setting only when `funnelVizType` is `time_to_convert`: number of bins to show in histogram.","type":"integer"},"exclusions":{"default":[],"description":"Users may want to use exclusion events to filter out conversions in which a particular event occurred between specific steps. These events must not be included in the main sequence. You must include start and end indexes for each exclusion where the minimum index is one and the maximum index is the number of steps in the funnel. For example, there is a sequence with three steps: sign up, finish onboarding, purchase. If the user wants to exclude all conversions in which users left the page before finishing the onboarding, the exclusion step would be the event `$pageleave` with start index 2 and end index 3.","items":{"$ref":"#/definitions/AssistantFunnelsExclusionEventsNode"},"type":"array"},"funnelAggregateByHogQL":{"const":"properties.$session_id","description":"Use this field only if the user explicitly asks to aggregate the funnel by unique sessions.","type":"string"},"funnelOrderType":{"$ref":"#/definitions/StepOrderValue","default":"ordered","description":"Defines the behavior of event matching between steps. Prefer the `strict` option unless explicitly told to use a different one. `ordered` - defines a sequential funnel. Step B must happen after Step A, but any number of events can happen between A and B. `strict` - defines a funnel where all events must happen in order. Step B must happen directly after Step A without any events in between. `any` - order doesn\'t matter. Steps can be completed in any sequence."},"funnelStepReference":{"$ref":"#/definitions/FunnelStepReference","default":"total","description":"Whether conversion shown in the graph should be across all steps or just relative to the previous step."},"funnelVizType":{"$ref":"#/definitions/FunnelVizType","default":"steps","description":"Defines the type of visualization to use. The `steps` option is recommended. `steps` - shows a step-by-step funnel. Perfect to show a conversion rate of a sequence of events (default). `time_to_convert` - shows a histogram of the time it took to complete the funnel. Use this if the user asks about the average time it takes to complete the funnel. `trends` - shows a trend of the whole sequence\'s conversion rate over time. Use this if the user wants to see how the conversion rate changes over time."},"funnelWindowInterval":{"default":14,"description":"Controls a time frame value for a conversion to be considered. Select a reasonable value based on the user\'s query. Use in combination with `funnelWindowIntervalUnit`. The default value is 14 days.","type":"integer"},"funnelWindowIntervalUnit":{"$ref":"#/definitions/FunnelConversionWindowTimeUnit","default":"day","description":"Controls a time frame interval for a conversion to be considered. Select a reasonable value based on the user\'s query. Use in combination with `funnelWindowInterval`. The default value is 14 days."},"layout":{"$ref":"#/definitions/FunnelLayout","default":"vertical","description":"Controls how the funnel chart is displayed: vertically (preferred) or horizontally."}},"type":"object"},"AssistantFunnelsQuery":{"additionalProperties":false,"properties":{"aggregation_group_type_index":{"description":"Use this field to define the aggregation by a specific group from the group mapping that the user has provided.","type":"integer"},"breakdownFilter":{"$ref":"#/definitions/AssistantFunnelsBreakdownFilter","description":"Breakdown the chart by a property"},"dateRange":{"$ref":"#/definitions/DateRange","description":"Date range for the query"},"filterTestAccounts":{"default":false,"description":"Exclude internal and test users by applying the respective filters","type":"boolean"},"funnelsFilter":{"$ref":"#/definitions/AssistantFunnelsFilter","description":"Properties specific to the funnels insight"},"interval":{"$ref":"#/definitions/IntervalType","description":"Granularity of the response. Can be one of `hour`, `day`, `week` or `month`"},"kind":{"const":"FunnelsQuery","type":"string"},"properties":{"default":[],"description":"Property filters for all series","items":{"$ref":"#/definitions/AssistantPropertyFilter"},"type":"array"},"samplingFactor":{"description":"Sampling rate from 0 to 1 where 1 is 100% of the data.","type":["number","null"]},"series":{"description":"Events to include","items":{"$ref":"#/definitions/AssistantFunnelsEventsNode"},"type":"array"}},"required":["kind","series"],"type":"object"},"AssistantGenerationStatusEvent":{"additionalProperties":false,"properties":{"type":{"$ref":"#/definitions/AssistantGenerationStatusType"}},"required":["type"],"type":"object"},"AssistantGenerationStatusType":{"enum":["ack","generation_error"],"type":"string"},"AssistantGenericMultipleBreakdownFilter":{"additionalProperties":false,"properties":{"property":{"description":"Property name from the plan to break down by.","type":"string"},"type":{"$ref":"#/definitions/AssistantEventMultipleBreakdownFilterType"}},"required":["property","type"],"type":"object"},"AssistantGenericPropertyFilter":{"anyOf":[{"additionalProperties":false,"properties":{"key":{"description":"Use one of the properties the user has provided in the plan.","type":"string"},"operator":{"$ref":"#/definitions/AssistantSingleValuePropertyFilterOperator","description":"`icontains` - case insensitive contains. `not_icontains` - case insensitive does not contain. `regex` - matches the regex pattern. `not_regex` - does not match the regex pattern."},"type":{"enum":["event","person","session","feature"],"type":"string"},"value":{"description":"Only use property values from the plan. If the operator is `regex` or `not_regex`, the value must be a valid ClickHouse regex pattern to match against. Otherwise, the value must be a substring that will be matched against the property value.","type":"string"}},"required":["key","operator","type","value"],"type":"object"},{"additionalProperties":false,"properties":{"key":{"description":"Use one of the properties the user has provided in the plan.","type":"string"},"operator":{"$ref":"#/definitions/AssistantArrayPropertyFilterOperator","description":"`exact` - exact match of any of the values. `is_not` - does not match any of the values."},"type":{"enum":["event","person","session","feature"],"type":"string"},"value":{"description":"Only use property values from the plan. Always use strings as values. If you have a number, convert it to a string first. If you have a boolean, convert it to a string \\"true\\" or \\"false\\".","items":{"type":"string"},"type":"array"}},"required":["key","operator","type","value"],"type":"object"},{"additionalProperties":false,"properties":{"key":{"description":"Use one of the properties the user has provided in the plan.","type":"string"},"operator":{"$ref":"#/definitions/AssistantDateTimePropertyFilterOperator"},"type":{"enum":["event","person","session","feature"],"type":"string"},"value":{"description":"Value must be a date in ISO 8601 format.","type":"string"}},"required":["key","operator","type","value"],"type":"object"},{"additionalProperties":false,"properties":{"key":{"description":"Use one of the properties the user has provided in the plan.","type":"string"},"operator":{"$ref":"#/definitions/AssistantSetPropertyFilterOperator","description":"`is_set` - the property has any value. `is_not_set` - the property doesn\'t have a value or wasn\'t collected."},"type":{"enum":["event","person","session","feature"],"type":"string"}},"required":["key","operator","type"],"type":"object"}]},"AssistantGroupMultipleBreakdownFilter":{"additionalProperties":false,"properties":{"group_type_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Index of the group type from the group mapping."},"property":{"description":"Property name from the plan to break down by.","type":"string"},"type":{"const":"group","type":"string"}},"required":["property","type"],"type":"object"},"AssistantGroupPropertyFilter":{"anyOf":[{"additionalProperties":false,"properties":{"group_type_index":{"description":"Index of the group type from the group mapping.","type":"integer"},"key":{"description":"Use one of the properties the user has provided in the plan.","type":"string"},"operator":{"$ref":"#/definitions/AssistantSingleValuePropertyFilterOperator","description":"`icontains` - case insensitive contains. `not_icontains` - case insensitive does not contain. `regex` - matches the regex pattern. `not_regex` - does not match the regex pattern."},"type":{"const":"group","type":"string"},"value":{"description":"Only use property values from the plan. If the operator is `regex` or `not_regex`, the value must be a valid ClickHouse regex pattern to match against. Otherwise, the value must be a substring that will be matched against the property value.","type":"string"}},"required":["group_type_index","key","operator","type","value"],"type":"object"},{"additionalProperties":false,"properties":{"group_type_index":{"description":"Index of the group type from the group mapping.","type":"integer"},"key":{"description":"Use one of the properties the user has provided in the plan.","type":"string"},"operator":{"$ref":"#/definitions/AssistantArrayPropertyFilterOperator","description":"`exact` - exact match of any of the values. `is_not` - does not match any of the values."},"type":{"const":"group","type":"string"},"value":{"description":"Only use property values from the plan. Always use strings as values. If you have a number, convert it to a string first. If you have a boolean, convert it to a string \\"true\\" or \\"false\\".","items":{"type":"string"},"type":"array"}},"required":["group_type_index","key","operator","type","value"],"type":"object"},{"additionalProperties":false,"properties":{"group_type_index":{"description":"Index of the group type from the group mapping.","type":"integer"},"key":{"description":"Use one of the properties the user has provided in the plan.","type":"string"},"operator":{"$ref":"#/definitions/AssistantDateTimePropertyFilterOperator"},"type":{"const":"group","type":"string"},"value":{"description":"Value must be a date in ISO 8601 format.","type":"string"}},"required":["group_type_index","key","operator","type","value"],"type":"object"},{"additionalProperties":false,"properties":{"group_type_index":{"description":"Index of the group type from the group mapping.","type":"integer"},"key":{"description":"Use one of the properties the user has provided in the plan.","type":"string"},"operator":{"$ref":"#/definitions/AssistantSetPropertyFilterOperator","description":"`is_set` - the property has any value. `is_not_set` - the property doesn\'t have a value or wasn\'t collected."},"type":{"const":"group","type":"string"}},"required":["group_type_index","key","operator","type"],"type":"object"}]},"AssistantInsightsQueryBase":{"additionalProperties":false,"properties":{"dateRange":{"$ref":"#/definitions/DateRange","description":"Date range for the query"},"filterTestAccounts":{"default":false,"description":"Exclude internal and test users by applying the respective filters","type":"boolean"},"properties":{"default":[],"description":"Property filters for all series","items":{"$ref":"#/definitions/AssistantPropertyFilter"},"type":"array"},"samplingFactor":{"description":"Sampling rate from 0 to 1 where 1 is 100% of the data.","type":["number","null"]}},"type":"object"},"AssistantMessage":{"additionalProperties":false,"properties":{"content":{"type":"string"},"id":{"type":"string"},"type":{"const":"ai","type":"string"}},"required":["type","content"],"type":"object"},"AssistantMessageType":{"enum":["human","ai","ai/reasoning","ai/viz","ai/failure","ai/router"],"type":"string"},"AssistantMultipleBreakdownFilter":{"anyOf":[{"$ref":"#/definitions/AssistantGroupMultipleBreakdownFilter"},{"$ref":"#/definitions/AssistantGenericMultipleBreakdownFilter"}]},"AssistantPropertyFilter":{"anyOf":[{"$ref":"#/definitions/AssistantGenericPropertyFilter"},{"$ref":"#/definitions/AssistantGroupPropertyFilter"}]},"AssistantRetentionFilter":{"additionalProperties":false,"properties":{"cumulative":{"description":"Whether retention should be rolling (aka unbounded, cumulative). Rolling retention means that a user coming back in period 5 makes them count towards all the previous periods.","type":"boolean"},"period":{"$ref":"#/definitions/RetentionPeriod","default":"Day","description":"Retention period, the interval to track cohorts by."},"retentionReference":{"description":"Whether retention is with regard to initial cohort size, or that of the previous period.","enum":["total","previous"],"type":"string"},"retentionType":{"$ref":"#/definitions/RetentionType","description":"Retention type: recurring or first time. Recurring retention counts a user as part of a cohort if they performed the cohort event during that time period, irrespective of it was their first time or not. First time retention only counts a user as part of the cohort if it was their first time performing the cohort event."},"returningEntity":{"$ref":"#/definitions/RetentionEntity","description":"Retention event (event marking the user coming back)."},"showMean":{"description":"Whether an additional series should be shown, showing the mean conversion for each period across cohorts.","type":"boolean"},"targetEntity":{"$ref":"#/definitions/RetentionEntity","description":"Activation event (event putting the actor into the initial cohort)."},"totalIntervals":{"default":11,"description":"How many intervals to show in the chart. The default value is 11 (meaning 10 periods after initial cohort).","type":"integer"}},"type":"object"},"AssistantRetentionQuery":{"additionalProperties":false,"properties":{"dateRange":{"$ref":"#/definitions/DateRange","description":"Date range for the query"},"filterTestAccounts":{"default":false,"description":"Exclude internal and test users by applying the respective filters","type":"boolean"},"kind":{"const":"RetentionQuery","type":"string"},"properties":{"default":[],"description":"Property filters for all series","items":{"$ref":"#/definitions/AssistantPropertyFilter"},"type":"array"},"retentionFilter":{"$ref":"#/definitions/AssistantRetentionFilter","description":"Properties specific to the retention insight"},"samplingFactor":{"description":"Sampling rate from 0 to 1 where 1 is 100% of the data.","type":["number","null"]}},"required":["kind","retentionFilter"],"type":"object"},"AssistantSetPropertyFilter":{"additionalProperties":false,"properties":{"operator":{"$ref":"#/definitions/AssistantSetPropertyFilterOperator","description":"`is_set` - the property has any value. `is_not_set` - the property doesn\'t have a value or wasn\'t collected."}},"required":["operator"],"type":"object"},"AssistantSetPropertyFilterOperator":{"enum":["is_set","is_not_set"],"type":"string"},"AssistantSingleValuePropertyFilter":{"additionalProperties":false,"properties":{"operator":{"$ref":"#/definitions/AssistantSingleValuePropertyFilterOperator","description":"`icontains` - case insensitive contains. `not_icontains` - case insensitive does not contain. `regex` - matches the regex pattern. `not_regex` - does not match the regex pattern."},"value":{"description":"Only use property values from the plan. If the operator is `regex` or `not_regex`, the value must be a valid ClickHouse regex pattern to match against. Otherwise, the value must be a substring that will be matched against the property value.","type":"string"}},"required":["operator","value"],"type":"object"},"AssistantSingleValuePropertyFilterOperator":{"enum":["exact","is_not","icontains","not_icontains","regex","not_regex"],"type":"string"},"AssistantStringNumberOrBooleanPropertyFilter":{"anyOf":[{"$ref":"#/definitions/AssistantSingleValuePropertyFilter"},{"$ref":"#/definitions/AssistantArrayPropertyFilter"}]},"AssistantTrendsBreakdownFilter":{"additionalProperties":false,"properties":{"breakdown_limit":{"default":25,"description":"How many distinct values to show.","type":"integer"},"breakdowns":{"description":"Use this field to define breakdowns.","items":{"$ref":"#/definitions/AssistantMultipleBreakdownFilter"},"maxLength":3,"type":"array"}},"required":["breakdowns"],"type":"object"},"AssistantTrendsDisplayType":{"anyOf":[{"const":"ActionsLineGraph","type":"string"},{"const":"ActionsBar","type":"string"},{"const":"ActionsAreaGraph","type":"string"},{"const":"ActionsLineGraphCumulative","type":"string"},{"const":"BoldNumber","type":"string"},{"const":"ActionsPie","type":"string"},{"const":"ActionsBarValue","type":"string"},{"const":"ActionsTable","type":"string"},{"const":"WorldMap","type":"string"},{"not":{}}]},"AssistantTrendsEventsNode":{"additionalProperties":false,"properties":{"custom_name":{"type":"string"},"event":{"description":"The event or `null` for all events.","type":["string","null"]},"kind":{"const":"EventsNode","type":"string"},"math":{"$ref":"#/definitions/MathType"},"math_group_type_index":{"enum":[0,1,2,3,4],"type":"number"},"math_property":{"type":"string"},"math_property_type":{"type":"string"},"name":{"type":"string"},"orderBy":{"description":"Columns to order by","items":{"type":"string"},"type":"array"},"properties":{"items":{"$ref":"#/definitions/AssistantPropertyFilter"},"type":"array"},"response":{"type":"object"}},"required":["kind"],"type":"object"},"AssistantTrendsFilter":{"additionalProperties":false,"properties":{"aggregationAxisFormat":{"$ref":"#/definitions/AggregationAxisFormat","default":"numeric","description":"Formats the trends value axis. Do not use the formatting unless you are absolutely sure that formatting will match the data. `numeric` - no formatting. Prefer this option by default. `duration` - formats the value in seconds to a human-readable duration, e.g., `132` becomes `2 minutes 12 seconds`. Use this option only if you are sure that the values are in seconds. `duration_ms` - formats the value in miliseconds to a human-readable duration, e.g., `1050` becomes `1 second 50 milliseconds`. Use this option only if you are sure that the values are in miliseconds. `percentage` - adds a percentage sign to the value, e.g., `50` becomes `50%`. `percentage_scaled` - formats the value as a percentage scaled to 0-100, e.g., `0.5` becomes `50%`."},"aggregationAxisPostfix":{"description":"Custom postfix to add to the aggregation axis, e.g., ` clicks` to format 5 as `5 clicks`. You may need to add a space before postfix.","type":"string"},"aggregationAxisPrefix":{"description":"Custom prefix to add to the aggregation axis, e.g., `$` for USD dollars. You may need to add a space after prefix.","type":"string"},"decimalPlaces":{"description":"Number of decimal places to show. Do not add this unless you are sure that values will have a decimal point.","type":"number"},"display":{"default":"ActionsLineGraph","description":"Visualization type. Available values: `ActionsLineGraph` - time-series line chart; most common option, as it shows change over time. `ActionsBar` - time-series bar chart. `ActionsAreaGraph` - time-series area chart. `ActionsLineGraphCumulative` - cumulative time-series line chart; good for cumulative metrics. `BoldNumber` - total value single large number. You can\'t use this with breakdown; use when user explicitly asks for a single output number. `ActionsBarValue` - total value (NOT time-series) bar chart; good for categorical data. `ActionsPie` - total value pie chart; good for visualizing proportions. `ActionsTable` - total value table; good when using breakdown to list users or other entities. `WorldMap` - total value world map; use when breaking down by country name using property `$geoip_country_name`, and only then.","enum":["ActionsLineGraph","ActionsBar","ActionsAreaGraph","ActionsLineGraphCumulative","BoldNumber","ActionsPie","ActionsBarValue","ActionsTable","WorldMap"],"type":"string"},"formula":{"description":"If the formula is provided, apply it here.","type":"string"},"showLegend":{"default":false,"description":"Whether to show the legend describing series and breakdowns.","type":"boolean"},"showPercentStackView":{"default":false,"description":"Whether to show a percentage of each series. Use only with","type":"boolean"},"showValuesOnSeries":{"default":false,"description":"Whether to show a value on each data point.","type":"boolean"},"yAxisScaleType":{"default":"linear","description":"Whether to scale the y-axis.","enum":["log10","linear"],"type":"string"}},"type":"object"},"AssistantTrendsMath":{"enum":["first_time_for_user","first_time_for_user_with_filters"],"type":"string"},"AssistantTrendsQuery":{"additionalProperties":false,"properties":{"breakdownFilter":{"$ref":"#/definitions/AssistantTrendsBreakdownFilter","description":"Breakdown of the events"},"compareFilter":{"$ref":"#/definitions/CompareFilter","description":"Compare to date range"},"dateRange":{"$ref":"#/definitions/DateRange","description":"Date range for the query"},"filterTestAccounts":{"default":false,"description":"Exclude internal and test users by applying the respective filters","type":"boolean"},"interval":{"$ref":"#/definitions/IntervalType","default":"day","description":"Granularity of the response. Can be one of `hour`, `day`, `week` or `month`"},"kind":{"const":"TrendsQuery","type":"string"},"properties":{"default":[],"description":"Property filters for all series","items":{"$ref":"#/definitions/AssistantPropertyFilter"},"type":"array"},"samplingFactor":{"description":"Sampling rate from 0 to 1 where 1 is 100% of the data.","type":["number","null"]},"series":{"description":"Events to include","items":{"$ref":"#/definitions/AssistantTrendsEventsNode"},"type":"array"},"trendsFilter":{"$ref":"#/definitions/AssistantTrendsFilter","description":"Properties specific to the trends insight"}},"required":["kind","series"],"type":"object"},"AutocompleteCompletionItem":{"additionalProperties":false,"properties":{"detail":{"description":"A human-readable string with additional information about this item, like type or symbol information.","type":"string"},"documentation":{"description":"A human-readable string that represents a doc-comment.","type":"string"},"insertText":{"description":"A string or snippet that should be inserted in a document when selecting this completion.","type":"string"},"kind":{"$ref":"#/definitions/AutocompleteCompletionItemKind","description":"The kind of this completion item. Based on the kind an icon is chosen by the editor."},"label":{"description":"The label of this completion item. By default this is also the text that is inserted when selecting this completion.","type":"string"}},"required":["label","insertText","kind"],"type":"object"},"AutocompleteCompletionItemKind":{"enum":["Method","Function","Constructor","Field","Variable","Class","Struct","Interface","Module","Property","Event","Operator","Unit","Value","Constant","Enum","EnumMember","Keyword","Text","Color","File","Reference","Customcolor","Folder","TypeParameter","User","Issue","Snippet"],"type":"string"},"BaseAssistantMessage":{"additionalProperties":false,"properties":{"id":{"type":"string"}},"type":"object"},"BaseMathType":{"enum":["total","dau","weekly_active","monthly_active","unique_session","first_time_for_user","first_matching_event_for_user"],"type":"string"},"BinCountValue":{"anyOf":[{"type":"number"},{"const":"auto","type":"string"}]},"Breakdown":{"additionalProperties":false,"properties":{"group_type_index":{"anyOf":[{"type":"integer"},{"type":"null"}]},"histogram_bin_count":{"type":"integer"},"normalize_url":{"type":"boolean"},"property":{"type":"string"},"type":{"anyOf":[{"$ref":"#/definitions/MultipleBreakdownType"},{"type":"null"}]}},"required":["property"],"type":"object"},"BreakdownAttributionType":{"enum":["first_touch","last_touch","all_events","step"],"type":"string"},"BreakdownFilter":{"additionalProperties":false,"properties":{"breakdown":{"anyOf":[{"type":"string"},{"type":"integer"},{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array"},{"type":"null"}]},"breakdown_group_type_index":{"anyOf":[{"type":"integer"},{"type":"null"}]},"breakdown_hide_other_aggregation":{"type":["boolean","null"]},"breakdown_histogram_bin_count":{"type":"integer"},"breakdown_limit":{"type":"integer"},"breakdown_normalize_url":{"type":"boolean"},"breakdown_type":{"anyOf":[{"$ref":"#/definitions/BreakdownType"},{"type":"null"}],"default":"event"},"breakdowns":{"items":{"$ref":"#/definitions/Breakdown"},"maxLength":3,"type":"array"}},"type":"object"},"BreakdownItem":{"additionalProperties":false,"properties":{"label":{"type":"string"},"value":{"anyOf":[{"type":"string"},{"$ref":"#/definitions/BreakdownValueInt"}]}},"required":["label","value"],"type":"object"},"BreakdownKeyType":{"anyOf":[{"type":"integer"},{"type":"string"},{"type":"number"},{"items":{"anyOf":[{"type":"integer"},{"type":"string"},{"type":"number"}]},"type":"array"},{"type":"null"}]},"BreakdownType":{"enum":["cohort","person","event","group","session","hogql","data_warehouse","data_warehouse_person_property"],"type":"string"},"BreakdownValueInt":{"type":"integer"},"CacheMissResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":["string","null"]},"query_status":{"$ref":"#/definitions/QueryStatus"}},"required":["cache_key"],"type":"object"},"CachedActorsPropertyTaxonomyQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"$ref":"#/definitions/ActorsPropertyTaxonomyResponse"},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","results","timezone"],"type":"object"},"CachedActorsQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"limit":{"type":"integer"},"missing_actors_count":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"items":{},"type":"array"},"type":"array"},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{"type":"string"},"type":"array"}},"required":["cache_key","columns","hogql","is_cached","last_refresh","limit","next_allowed_client_refresh","offset","results","timezone","types"],"type":"object"},"CachedErrorTrackingQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"columns":{"items":{"type":"string"},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"$ref":"#/definitions/ErrorTrackingIssue"},"type":"array"},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","results","timezone"],"type":"object"},"CachedEventTaxonomyQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"$ref":"#/definitions/EventTaxonomyResponse"},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","results","timezone"],"type":"object"},"CachedEventsQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"items":{},"type":"array"},"type":"array"},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{"type":"string"},"type":"array"}},"required":["cache_key","columns","hogql","is_cached","last_refresh","next_allowed_client_refresh","results","timezone","types"],"type":"object"},"CachedExperimentFunnelsQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"credible_intervals":{"additionalProperties":{"items":{"type":"number"},"maxItems":2,"minItems":2,"type":"array"},"type":"object"},"expected_loss":{"type":"number"},"funnels_query":{"$ref":"#/definitions/FunnelsQuery"},"insight":{"items":{"items":{"type":"object"},"type":"array"},"type":"array"},"is_cached":{"type":"boolean"},"kind":{"const":"ExperimentFunnelsQuery","type":"string"},"last_refresh":{"format":"date-time","type":"string"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"probability":{"additionalProperties":{"type":"number"},"type":"object"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"significance_code":{"$ref":"#/definitions/ExperimentSignificanceCode"},"significant":{"type":"boolean"},"stats_version":{"type":"integer"},"timezone":{"type":"string"},"variants":{"items":{"$ref":"#/definitions/ExperimentVariantFunnelsBaseStats"},"type":"array"}},"required":["cache_key","credible_intervals","expected_loss","insight","is_cached","kind","last_refresh","next_allowed_client_refresh","probability","significance_code","significant","timezone","variants"],"type":"object"},"CachedExperimentTrendsQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"count_query":{"$ref":"#/definitions/TrendsQuery"},"credible_intervals":{"additionalProperties":{"items":{"type":"number"},"maxItems":2,"minItems":2,"type":"array"},"type":"object"},"exposure_query":{"$ref":"#/definitions/TrendsQuery"},"insight":{"items":{"type":"object"},"type":"array"},"is_cached":{"type":"boolean"},"kind":{"const":"ExperimentTrendsQuery","type":"string"},"last_refresh":{"format":"date-time","type":"string"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"p_value":{"type":"number"},"probability":{"additionalProperties":{"type":"number"},"type":"object"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"significance_code":{"$ref":"#/definitions/ExperimentSignificanceCode"},"significant":{"type":"boolean"},"stats_version":{"type":"integer"},"timezone":{"type":"string"},"variants":{"items":{"$ref":"#/definitions/ExperimentVariantTrendsBaseStats"},"type":"array"}},"required":["cache_key","credible_intervals","insight","is_cached","kind","last_refresh","next_allowed_client_refresh","p_value","probability","significance_code","significant","timezone","variants"],"type":"object"},"CachedFunnelCorrelationResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"$ref":"#/definitions/FunnelCorrelationResult"},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","results","timezone"],"type":"object"},"CachedFunnelsQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"isUdf":{"type":"boolean"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"anyOf":[{"$ref":"#/definitions/FunnelStepsResults"},{"$ref":"#/definitions/FunnelStepsBreakdownResults"},{"$ref":"#/definitions/FunnelTimeToConvertResults"},{"$ref":"#/definitions/FunnelTrendsResults"}]},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","results","timezone"],"type":"object"},"CachedHogQLQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"clickhouse":{"description":"Executed ClickHouse query","type":"string"},"columns":{"description":"Returned columns","items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"explain":{"description":"Query explanation output","items":{"type":"string"},"type":"array"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"limit":{"type":"integer"},"metadata":{"$ref":"#/definitions/HogQLMetadataResponse","description":"Query metadata output"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"offset":{"type":"integer"},"query":{"description":"Input query string","type":"string"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"description":"Types of returned columns","items":{},"type":"array"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","results","timezone"],"type":"object"},"CachedInsightActorsQueryOptionsResponse":{"additionalProperties":false,"properties":{"breakdown":{"items":{"$ref":"#/definitions/BreakdownItem"},"type":"array"},"breakdowns":{"items":{"$ref":"#/definitions/MultipleBreakdownOptions"},"type":"array"},"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"compare":{"items":{"additionalProperties":false,"properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"type":"object"},"type":"array"},"day":{"items":{"additionalProperties":false,"properties":{"label":{"type":"string"},"value":{"anyOf":[{"type":"string"},{"$ref":"#/definitions/DatetimeDay"},{"$ref":"#/definitions/Day"}]}},"required":["label","value"],"type":"object"},"type":"array"},"interval":{"items":{"additionalProperties":false,"properties":{"label":{"type":"string"},"value":{"description":"An interval selected out of available intervals in source query","type":"integer"}},"required":["label","value"],"type":"object"},"type":"array"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"series":{"items":{"additionalProperties":false,"properties":{"label":{"type":"string"},"value":{"type":"integer"}},"required":["label","value"],"type":"object"},"type":"array"},"status":{"items":{"additionalProperties":false,"properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"type":"object"},"type":"array"},"timezone":{"type":"string"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","timezone"],"type":"object"},"CachedLifecycleQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"type":"object"},"type":"array"},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","results","timezone"],"type":"object"},"CachedPathsQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"type":"object"},"type":"array"},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","results","timezone"],"type":"object"},"CachedRetentionQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"$ref":"#/definitions/RetentionResult"},"type":"array"},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","results","timezone"],"type":"object"},"CachedSessionAttributionExplorerQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","results","timezone"],"type":"object"},"CachedSessionsTimelineQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"$ref":"#/definitions/TimelineEntry"},"type":"array"},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","results","timezone"],"type":"object"},"CachedStickinessQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"type":"object"},"type":"array"},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","results","timezone"],"type":"object"},"CachedSuggestedQuestionsQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"questions":{"items":{"type":"string"},"type":"array"},"timezone":{"type":"string"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","questions","timezone"],"type":"object"},"CachedTeamTaxonomyQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"$ref":"#/definitions/TeamTaxonomyResponse"},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","results","timezone"],"type":"object"},"CachedTrendsQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"description":"Wether more breakdown values are available.","type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"type":"object"},"type":"array"},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","results","timezone"],"type":"object"},"CachedWebExternalClicksTableQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"samplingRate":{"$ref":"#/definitions/SamplingRate"},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","results","timezone"],"type":"object"},"CachedWebGoalsQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"samplingRate":{"$ref":"#/definitions/SamplingRate"},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","results","timezone"],"type":"object"},"CachedWebOverviewQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"dateFrom":{"type":"string"},"dateTo":{"type":"string"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"$ref":"#/definitions/WebOverviewItem"},"type":"array"},"samplingRate":{"$ref":"#/definitions/SamplingRate"},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","results","timezone"],"type":"object"},"CachedWebStatsTableQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"samplingRate":{"$ref":"#/definitions/SamplingRate"},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","results","timezone"],"type":"object"},"ChartAxis":{"additionalProperties":false,"properties":{"column":{"type":"string"},"settings":{"additionalProperties":false,"properties":{"display":{"$ref":"#/definitions/ChartSettingsDisplay"},"formatting":{"$ref":"#/definitions/ChartSettingsFormatting"}},"type":"object"}},"required":["column"],"type":"object"},"ChartDisplayType":{"enum":["ActionsLineGraph","ActionsBar","ActionsStackedBar","ActionsAreaGraph","ActionsLineGraphCumulative","BoldNumber","ActionsPie","ActionsBarValue","ActionsTable","WorldMap"],"type":"string"},"ChartSettings":{"additionalProperties":false,"properties":{"goalLines":{"items":{"$ref":"#/definitions/GoalLine"},"type":"array"},"leftYAxisSettings":{"$ref":"#/definitions/YAxisSettings"},"rightYAxisSettings":{"$ref":"#/definitions/YAxisSettings"},"seriesBreakdownColumn":{"type":["string","null"]},"stackBars100":{"description":"Whether we fill the bars to 100% in stacked mode","type":"boolean"},"xAxis":{"$ref":"#/definitions/ChartAxis"},"yAxis":{"items":{"$ref":"#/definitions/ChartAxis"},"type":"array"},"yAxisAtZero":{"description":"Deprecated: use `[left|right]YAxisSettings`. Whether the Y axis should start at zero","type":"boolean"}},"type":"object"},"ChartSettingsDisplay":{"additionalProperties":false,"properties":{"color":{"type":"string"},"displayType":{"enum":["auto","line","bar"],"type":"string"},"label":{"type":"string"},"trendLine":{"type":"boolean"},"yAxisPosition":{"enum":["left","right"],"type":"string"}},"type":"object"},"ChartSettingsFormatting":{"additionalProperties":false,"properties":{"decimalPlaces":{"type":"number"},"prefix":{"type":"string"},"style":{"enum":["none","number","percent"],"type":"string"},"suffix":{"type":"string"}},"type":"object"},"ClickhouseQueryProgress":{"additionalProperties":false,"properties":{"active_cpu_time":{"type":"integer"},"bytes_read":{"type":"integer"},"estimated_rows_total":{"type":"integer"},"rows_read":{"type":"integer"},"time_elapsed":{"type":"integer"}},"required":["bytes_read","rows_read","estimated_rows_total","time_elapsed","active_cpu_time"],"type":"object"},"CohortPropertyFilter":{"additionalProperties":false,"description":"Sync with plugin-server/src/types.ts","properties":{"key":{"const":"id","type":"string"},"label":{"type":"string"},"operator":{"$ref":"#/definitions/PropertyOperator","default":"in"},"type":{"const":"cohort","type":"string"},"value":{"type":"integer"}},"required":["key","operator","type","value"],"type":"object"},"CompareFilter":{"additionalProperties":false,"properties":{"compare":{"default":false,"description":"Whether to compare the current date range to a previous date range.","type":"boolean"},"compare_to":{"description":"The date range to compare to. The value is a relative date. Examples of relative dates are: `-1y` for 1 year ago, `-14m` for 14 months ago, `-100w` for 100 weeks ago, `-14d` for 14 days ago, `-30h` for 30 hours ago.","type":"string"}},"type":"object"},"ConditionalFormattingRule":{"additionalProperties":false,"properties":{"bytecode":{"items":{},"type":"array"},"color":{"type":"string"},"colorMode":{"enum":["light","dark"],"type":"string"},"columnName":{"type":"string"},"id":{"type":"string"},"input":{"type":"string"},"templateId":{"type":"string"}},"required":["id","templateId","columnName","bytecode","input","color"],"type":"object"},"CountPerActorMathType":{"enum":["avg_count_per_actor","min_count_per_actor","max_count_per_actor","median_count_per_actor","p90_count_per_actor","p95_count_per_actor","p99_count_per_actor"],"type":"string"},"CustomChannelCondition":{"additionalProperties":false,"properties":{"id":{"type":"string"},"key":{"$ref":"#/definitions/CustomChannelField"},"op":{"$ref":"#/definitions/CustomChannelOperator"},"value":{"anyOf":[{"type":"string"},{"items":{"type":"string"},"type":"array"}]}},"required":["key","op","id"],"type":"object"},"CustomChannelField":{"enum":["utm_source","utm_medium","utm_campaign","referring_domain","url","pathname","hostname"],"type":"string"},"CustomChannelOperator":{"enum":["exact","is_not","is_set","is_not_set","icontains","not_icontains","regex","not_regex"],"type":"string"},"CustomChannelRule":{"additionalProperties":false,"properties":{"channel_type":{"type":"string"},"combiner":{"$ref":"#/definitions/FilterLogicalOperator"},"id":{"type":"string"},"items":{"items":{"$ref":"#/definitions/CustomChannelCondition"},"type":"array"}},"required":["items","combiner","channel_type","id"],"type":"object"},"CustomEventConversionGoal":{"additionalProperties":false,"properties":{"customEventName":{"type":"string"}},"required":["customEventName"],"type":"object"},"DashboardFilter":{"additionalProperties":false,"properties":{"date_from":{"type":["string","null"]},"date_to":{"type":["string","null"]},"properties":{"anyOf":[{"items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},{"type":"null"}]}},"type":"object"},"DataColorToken":{"enum":["preset-1","preset-2","preset-3","preset-4","preset-5","preset-6","preset-7","preset-8","preset-9","preset-10","preset-11","preset-12","preset-13","preset-14","preset-15"],"type":"string"},"DataTableNode":{"additionalProperties":false,"properties":{"allowSorting":{"description":"Can the user click on column headers to sort the table? (default: true)","type":"boolean"},"columns":{"description":"Columns shown in the table, unless the `source` provides them.","items":{"$ref":"#/definitions/HogQLExpression"},"type":"array"},"embedded":{"description":"Uses the embedded version of LemonTable","type":"boolean"},"expandable":{"description":"Can expand row to show raw event data (default: true)","type":"boolean"},"full":{"description":"Show with most visual options enabled. Used in scenes.","type":"boolean"},"hiddenColumns":{"description":"Columns that aren\'t shown in the table, even if in columns or returned data","items":{"$ref":"#/definitions/HogQLExpression"},"type":"array"},"kind":{"const":"DataTableNode","type":"string"},"propertiesViaUrl":{"description":"Link properties via the URL (default: false)","type":"boolean"},"response":{"anyOf":[{"properties":{},"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"items":{},"type":"array"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{"type":"string"},"type":"array"}},"required":["columns","hogql","results","types"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"missing_actors_count":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"items":{},"type":"array"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{"type":"string"},"type":"array"}},"required":["columns","hogql","limit","offset","results","types"],"type":"object"},{"additionalProperties":false,"properties":{"clickhouse":{"description":"Executed ClickHouse query","type":"string"},"columns":{"description":"Returned columns","items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"explain":{"description":"Query explanation output","items":{"type":"string"},"type":"array"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"metadata":{"$ref":"#/definitions/HogQLMetadataResponse","description":"Query metadata output"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query":{"description":"Input query string","type":"string"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"description":"Types of returned columns","items":{},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"dateFrom":{"type":"string"},"dateTo":{"type":"string"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"$ref":"#/definitions/WebOverviewItem"},"type":"array"},"samplingRate":{"$ref":"#/definitions/SamplingRate"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"samplingRate":{"$ref":"#/definitions/SamplingRate"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"samplingRate":{"$ref":"#/definitions/SamplingRate"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"samplingRate":{"$ref":"#/definitions/SamplingRate"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{"type":"string"},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"$ref":"#/definitions/ErrorTrackingIssue"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"credible_intervals":{"additionalProperties":{"items":{"type":"number"},"maxItems":2,"minItems":2,"type":"array"},"type":"object"},"expected_loss":{"type":"number"},"funnels_query":{"$ref":"#/definitions/FunnelsQuery"},"insight":{"items":{"items":{"type":"object"},"type":"array"},"type":"array"},"kind":{"const":"ExperimentFunnelsQuery","type":"string"},"probability":{"additionalProperties":{"type":"number"},"type":"object"},"significance_code":{"$ref":"#/definitions/ExperimentSignificanceCode"},"significant":{"type":"boolean"},"stats_version":{"type":"integer"},"variants":{"items":{"$ref":"#/definitions/ExperimentVariantFunnelsBaseStats"},"type":"array"}},"required":["credible_intervals","expected_loss","insight","kind","probability","significance_code","significant","variants"],"type":"object"},{"additionalProperties":false,"properties":{"count_query":{"$ref":"#/definitions/TrendsQuery"},"credible_intervals":{"additionalProperties":{"items":{"type":"number"},"maxItems":2,"minItems":2,"type":"array"},"type":"object"},"exposure_query":{"$ref":"#/definitions/TrendsQuery"},"insight":{"items":{"type":"object"},"type":"array"},"kind":{"const":"ExperimentTrendsQuery","type":"string"},"p_value":{"type":"number"},"probability":{"additionalProperties":{"type":"number"},"type":"object"},"significance_code":{"$ref":"#/definitions/ExperimentSignificanceCode"},"significant":{"type":"boolean"},"stats_version":{"type":"integer"},"variants":{"items":{"$ref":"#/definitions/ExperimentVariantTrendsBaseStats"},"type":"array"}},"required":["credible_intervals","insight","kind","p_value","probability","significance_code","significant","variants"],"type":"object"}]},"showActions":{"description":"Show the kebab menu at the end of the row","type":"boolean"},"showColumnConfigurator":{"description":"Show a button to configure the table\'s columns if possible","type":"boolean"},"showDateRange":{"description":"Show date range selector","type":"boolean"},"showElapsedTime":{"description":"Show the time it takes to run a query","type":"boolean"},"showEventFilter":{"description":"Include an event filter above the table (EventsNode only)","type":"boolean"},"showExport":{"description":"Show the export button","type":"boolean"},"showHogQLEditor":{"description":"Include a HogQL query editor above HogQL tables","type":"boolean"},"showOpenEditorButton":{"description":"Show a button to open the current query as a new insight. (default: true)","type":"boolean"},"showPersistentColumnConfigurator":{"description":"Show a button to configure and persist the table\'s default columns if possible","type":"boolean"},"showPropertyFilter":{"anyOf":[{"type":"boolean"},{"items":{"$ref":"#/definitions/TaxonomicFilterGroupType"},"type":"array"}],"description":"Include a property filter above the table"},"showReload":{"description":"Show a reload button","type":"boolean"},"showResultsTable":{"description":"Show a results table","type":"boolean"},"showSavedQueries":{"description":"Shows a list of saved queries","type":"boolean"},"showSearch":{"description":"Include a free text search field (PersonsNode only)","type":"boolean"},"showTestAccountFilters":{"description":"Show filter to exclude test accounts","type":"boolean"},"showTimings":{"description":"Show a detailed query timing breakdown","type":"boolean"},"source":{"anyOf":[{"$ref":"#/definitions/EventsNode"},{"$ref":"#/definitions/EventsQuery"},{"$ref":"#/definitions/PersonsNode"},{"$ref":"#/definitions/ActorsQuery"},{"$ref":"#/definitions/HogQLQuery"},{"$ref":"#/definitions/WebOverviewQuery"},{"$ref":"#/definitions/WebStatsTableQuery"},{"$ref":"#/definitions/WebExternalClicksTableQuery"},{"$ref":"#/definitions/WebGoalsQuery"},{"$ref":"#/definitions/SessionAttributionExplorerQuery"},{"$ref":"#/definitions/ErrorTrackingQuery"},{"$ref":"#/definitions/ExperimentFunnelsQuery"},{"$ref":"#/definitions/ExperimentTrendsQuery"}],"description":"Source of the events"}},"required":["kind","source"],"type":"object"},"DataVisualizationNode":{"additionalProperties":false,"properties":{"chartSettings":{"$ref":"#/definitions/ChartSettings"},"display":{"$ref":"#/definitions/ChartDisplayType"},"kind":{"const":"DataVisualizationNode","type":"string"},"source":{"$ref":"#/definitions/HogQLQuery"},"tableSettings":{"$ref":"#/definitions/TableSettings"}},"required":["kind","source"],"type":"object"},"DataWarehouseEventsModifier":{"additionalProperties":false,"properties":{"distinct_id_field":{"type":"string"},"id_field":{"type":"string"},"table_name":{"type":"string"},"timestamp_field":{"type":"string"}},"required":["table_name","timestamp_field","distinct_id_field","id_field"],"type":"object"},"DataWarehouseNode":{"additionalProperties":false,"properties":{"custom_name":{"type":"string"},"distinct_id_field":{"type":"string"},"fixedProperties":{"description":"Fixed properties in the query, can\'t be edited in the interface (e.g. scoping down by person)","items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},"id":{"type":"string"},"id_field":{"type":"string"},"kind":{"const":"DataWarehouseNode","type":"string"},"math":{"$ref":"#/definitions/MathType"},"math_group_type_index":{"enum":[0,1,2,3,4],"type":"number"},"math_hogql":{"type":"string"},"math_property":{"type":"string"},"math_property_type":{"type":"string"},"name":{"type":"string"},"properties":{"description":"Properties configurable in the interface","items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},"response":{"type":"object"},"table_name":{"type":"string"},"timestamp_field":{"type":"string"}},"required":["distinct_id_field","id","id_field","kind","table_name","timestamp_field"],"type":"object"},"DataWarehousePersonPropertyFilter":{"additionalProperties":false,"properties":{"key":{"type":"string"},"label":{"type":"string"},"operator":{"$ref":"#/definitions/PropertyOperator"},"type":{"const":"data_warehouse_person_property","type":"string"},"value":{"$ref":"#/definitions/PropertyFilterValue"}},"required":["key","operator","type"],"type":"object"},"DataWarehousePropertyFilter":{"additionalProperties":false,"properties":{"key":{"type":"string"},"label":{"type":"string"},"operator":{"$ref":"#/definitions/PropertyOperator"},"type":{"const":"data_warehouse","type":"string"},"value":{"$ref":"#/definitions/PropertyFilterValue"}},"required":["key","operator","type"],"type":"object"},"DatabaseSchemaBatchExportTable":{"additionalProperties":false,"properties":{"fields":{"additionalProperties":{"$ref":"#/definitions/DatabaseSchemaField"},"type":"object"},"id":{"type":"string"},"name":{"type":"string"},"type":{"const":"batch_export","type":"string"}},"required":["fields","id","name","type"],"type":"object"},"DatabaseSchemaDataWarehouseTable":{"additionalProperties":false,"properties":{"fields":{"additionalProperties":{"$ref":"#/definitions/DatabaseSchemaField"},"type":"object"},"format":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"schema":{"$ref":"#/definitions/DatabaseSchemaSchema"},"source":{"$ref":"#/definitions/DatabaseSchemaSource"},"type":{"const":"data_warehouse","type":"string"},"url_pattern":{"type":"string"}},"required":["fields","format","id","name","type","url_pattern"],"type":"object"},"DatabaseSchemaField":{"additionalProperties":false,"properties":{"chain":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array"},"fields":{"items":{"type":"string"},"type":"array"},"hogql_value":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"schema_valid":{"type":"boolean"},"table":{"type":"string"},"type":{"$ref":"#/definitions/DatabaseSerializedFieldType"}},"required":["name","hogql_value","type","schema_valid"],"type":"object"},"DatabaseSchemaMaterializedViewTable":{"additionalProperties":false,"properties":{"fields":{"additionalProperties":{"$ref":"#/definitions/DatabaseSchemaField"},"type":"object"},"id":{"type":"string"},"last_run_at":{"type":"string"},"name":{"type":"string"},"query":{"$ref":"#/definitions/HogQLQuery"},"status":{"type":"string"},"type":{"const":"materialized_view","type":"string"}},"required":["fields","id","name","query","type"],"type":"object"},"DatabaseSchemaPostHogTable":{"additionalProperties":false,"properties":{"fields":{"additionalProperties":{"$ref":"#/definitions/DatabaseSchemaField"},"type":"object"},"id":{"type":"string"},"name":{"type":"string"},"type":{"const":"posthog","type":"string"}},"required":["fields","id","name","type"],"type":"object"},"DatabaseSchemaQuery":{"additionalProperties":false,"properties":{"kind":{"const":"DatabaseSchemaQuery","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"response":{"$ref":"#/definitions/DatabaseSchemaQueryResponse"}},"required":["kind"],"type":"object"},"DatabaseSchemaQueryResponse":{"additionalProperties":false,"properties":{"tables":{"additionalProperties":{"$ref":"#/definitions/DatabaseSchemaTable"},"type":"object"}},"required":["tables"],"type":"object"},"DatabaseSchemaSchema":{"additionalProperties":false,"properties":{"id":{"type":"string"},"incremental":{"type":"boolean"},"last_synced_at":{"type":"string"},"name":{"type":"string"},"should_sync":{"type":"boolean"},"status":{"type":"string"}},"required":["id","name","should_sync","incremental"],"type":"object"},"DatabaseSchemaSource":{"additionalProperties":false,"properties":{"id":{"type":"string"},"last_synced_at":{"type":"string"},"prefix":{"type":"string"},"source_type":{"type":"string"},"status":{"type":"string"}},"required":["id","status","source_type","prefix"],"type":"object"},"DatabaseSchemaTable":{"anyOf":[{"$ref":"#/definitions/DatabaseSchemaPostHogTable"},{"$ref":"#/definitions/DatabaseSchemaDataWarehouseTable"},{"$ref":"#/definitions/DatabaseSchemaViewTable"},{"$ref":"#/definitions/DatabaseSchemaBatchExportTable"},{"$ref":"#/definitions/DatabaseSchemaMaterializedViewTable"}]},"DatabaseSchemaTableCommon":{"additionalProperties":false,"properties":{"fields":{"additionalProperties":{"$ref":"#/definitions/DatabaseSchemaField"},"type":"object"},"id":{"type":"string"},"name":{"type":"string"},"type":{"enum":["posthog","data_warehouse","view","batch_export","materialized_view"],"type":"string"}},"required":["type","id","name","fields"],"type":"object"},"DatabaseSchemaViewTable":{"additionalProperties":false,"properties":{"fields":{"additionalProperties":{"$ref":"#/definitions/DatabaseSchemaField"},"type":"object"},"id":{"type":"string"},"name":{"type":"string"},"query":{"$ref":"#/definitions/HogQLQuery"},"type":{"const":"view","type":"string"}},"required":["fields","id","name","query","type"],"type":"object"},"DatabaseSerializedFieldType":{"enum":["integer","float","string","datetime","date","boolean","array","json","lazy_table","virtual_table","field_traverser","expression","view","materialized_view"],"type":"string"},"DateRange":{"additionalProperties":false,"properties":{"date_from":{"type":["string","null"]},"date_to":{"type":["string","null"]},"explicitDate":{"default":false,"description":"Whether the date_from and date_to should be used verbatim. Disables rounding to the start and end of period.","type":["boolean","null"]}},"type":"object"},"DatetimeDay":{"format":"date-time","type":"string"},"Day":{"type":"integer"},"DefaultChannelTypes":{"enum":["Cross Network","Paid Search","Paid Social","Paid Video","Paid Shopping","Paid Unknown","Direct","Organic Search","Organic Social","Organic Video","Organic Shopping","Push","SMS","Audio","Email","Referral","Affiliate","Unknown"],"type":"string"},"DurationType":{"enum":["duration","active_seconds","inactive_seconds"],"type":"string"},"ElementPropertyFilter":{"additionalProperties":false,"description":"Sync with plugin-server/src/types.ts","properties":{"key":{"enum":["tag_name","text","href","selector"],"type":"string"},"label":{"type":"string"},"operator":{"$ref":"#/definitions/PropertyOperator"},"type":{"const":"element","type":"string"},"value":{"$ref":"#/definitions/PropertyFilterValue"}},"required":["key","operator","type"],"type":"object"},"ElementType":{"additionalProperties":false,"properties":{"attr_class":{"items":{"type":"string"},"type":"array"},"attr_id":{"type":"string"},"attributes":{"additionalProperties":{"type":"string"},"type":"object"},"href":{"type":"string"},"nth_child":{"type":"number"},"nth_of_type":{"type":"number"},"order":{"type":"number"},"tag_name":{"type":"string"},"text":{"type":"string"}},"required":["attributes","tag_name"],"type":"object"},"EmptyPropertyFilter":{"additionalProperties":false,"type":"object"},"EntityNode":{"additionalProperties":false,"properties":{"custom_name":{"type":"string"},"fixedProperties":{"description":"Fixed properties in the query, can\'t be edited in the interface (e.g. scoping down by person)","items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},"kind":{"$ref":"#/definitions/NodeKind"},"math":{"$ref":"#/definitions/MathType"},"math_group_type_index":{"enum":[0,1,2,3,4],"type":"number"},"math_hogql":{"type":"string"},"math_property":{"type":"string"},"math_property_type":{"type":"string"},"name":{"type":"string"},"properties":{"description":"Properties configurable in the interface","items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},"response":{"type":"object"}},"required":["kind"],"type":"object"},"EntityType":{"enum":["actions","events","data_warehouse","new_entity"],"type":"string"},"ErrorTrackingIssue":{"additionalProperties":false,"properties":{"assignee":{"type":["number","null"]},"description":{"type":["string","null"]},"earliest":{"type":"string"},"first_seen":{"format":"date-time","type":"string"},"id":{"type":"string"},"last_seen":{"format":"date-time","type":"string"},"name":{"type":["string","null"]},"occurrences":{"type":"number"},"sessions":{"type":"number"},"status":{"enum":["archived","active","resolved","pending_release"],"type":"string"},"users":{"type":"number"},"volume":{}},"required":["id","name","description","occurrences","sessions","users","first_seen","last_seen","earliest","assignee","status"],"type":"object"},"ErrorTrackingQuery":{"additionalProperties":false,"properties":{"assignee":{"anyOf":[{"type":"integer"},{"type":"null"}]},"dateRange":{"$ref":"#/definitions/DateRange"},"filterGroup":{"$ref":"#/definitions/PropertyGroupFilter"},"filterTestAccounts":{"type":"boolean"},"issueId":{"type":"string"},"kind":{"const":"ErrorTrackingQuery","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"orderBy":{"enum":["last_seen","first_seen","occurrences","users","sessions"],"type":"string"},"response":{"$ref":"#/definitions/ErrorTrackingQueryResponse"},"searchQuery":{"type":"string"},"select":{"items":{"$ref":"#/definitions/HogQLExpression"},"type":"array"}},"required":["dateRange","kind"],"type":"object"},"ErrorTrackingQueryResponse":{"additionalProperties":false,"properties":{"columns":{"items":{"type":"string"},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"$ref":"#/definitions/ErrorTrackingIssue"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},"EventDefinition":{"additionalProperties":false,"properties":{"elements":{"items":{},"type":"array"},"event":{"type":"string"},"properties":{"type":"object"}},"required":["event","properties","elements"],"type":"object"},"EventOddsRatioSerialized":{"additionalProperties":false,"properties":{"correlation_type":{"enum":["success","failure"],"type":"string"},"event":{"$ref":"#/definitions/EventDefinition"},"failure_count":{"type":"integer"},"odds_ratio":{"type":"number"},"success_count":{"type":"integer"}},"required":["event","success_count","failure_count","odds_ratio","correlation_type"],"type":"object"},"EventPropertyFilter":{"additionalProperties":false,"description":"Sync with plugin-server/src/types.ts","properties":{"key":{"type":"string"},"label":{"type":"string"},"operator":{"$ref":"#/definitions/PropertyOperator","default":"exact"},"type":{"const":"event","description":"Event properties","type":"string"},"value":{"$ref":"#/definitions/PropertyFilterValue"}},"required":["key","operator","type"],"type":"object"},"EventTaxonomyItem":{"additionalProperties":false,"properties":{"property":{"type":"string"},"sample_count":{"type":"integer"},"sample_values":{"items":{"type":"string"},"type":"array"}},"required":["property","sample_values","sample_count"],"type":"object"},"EventTaxonomyQuery":{"additionalProperties":false,"properties":{"event":{"type":"string"},"kind":{"const":"EventTaxonomyQuery","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"properties":{"items":{"type":"string"},"type":"array"},"response":{"$ref":"#/definitions/EventTaxonomyQueryResponse"}},"required":["event","kind"],"type":"object"},"EventTaxonomyQueryResponse":{"additionalProperties":false,"description":"All analytics query responses must inherit from this.","properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"$ref":"#/definitions/EventTaxonomyResponse"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},"EventTaxonomyResponse":{"items":{"$ref":"#/definitions/EventTaxonomyItem"},"type":"array"},"EventType":{"additionalProperties":false,"properties":{"distinct_id":{"type":"string"},"elements":{"items":{"$ref":"#/definitions/ElementType"},"type":"array"},"elements_chain":{"type":["string","null"]},"event":{"type":"string"},"id":{"type":"string"},"person":{"additionalProperties":false,"properties":{"distinct_ids":{"items":{"type":"string"},"type":"array"},"is_identified":{"type":"boolean"},"properties":{"type":"object"}},"required":["distinct_ids","properties"],"type":"object"},"properties":{"type":"object"},"timestamp":{"type":"string"},"uuid":{"type":"string"}},"required":["id","distinct_id","properties","event","timestamp","elements"],"type":"object"},"EventsNode":{"additionalProperties":false,"properties":{"custom_name":{"type":"string"},"event":{"description":"The event or `null` for all events.","type":["string","null"]},"fixedProperties":{"description":"Fixed properties in the query, can\'t be edited in the interface (e.g. scoping down by person)","items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},"kind":{"const":"EventsNode","type":"string"},"limit":{"type":"integer"},"math":{"$ref":"#/definitions/MathType"},"math_group_type_index":{"enum":[0,1,2,3,4],"type":"number"},"math_hogql":{"type":"string"},"math_property":{"type":"string"},"math_property_type":{"type":"string"},"name":{"type":"string"},"orderBy":{"description":"Columns to order by","items":{"type":"string"},"type":"array"},"properties":{"description":"Properties configurable in the interface","items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},"response":{"type":"object"}},"required":["kind"],"type":"object"},"EventsQuery":{"additionalProperties":false,"properties":{"actionId":{"description":"Show events matching a given action","type":"integer"},"after":{"description":"Only fetch events that happened after this timestamp","type":"string"},"before":{"description":"Only fetch events that happened before this timestamp","type":"string"},"event":{"description":"Limit to events matching this string","type":["string","null"]},"filterTestAccounts":{"description":"Filter test accounts","type":"boolean"},"fixedProperties":{"description":"Fixed properties in the query, can\'t be edited in the interface (e.g. scoping down by person)","items":{"$ref":"#/definitions/AnyFilterLike"},"type":"array"},"kind":{"const":"EventsQuery","type":"string"},"limit":{"description":"Number of rows to return","type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"description":"Number of rows to skip before returning rows","type":"integer"},"orderBy":{"description":"Columns to order by","items":{"type":"string"},"type":"array"},"personId":{"description":"Show events for a given person","type":"string"},"properties":{"description":"Properties configurable in the interface","items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},"response":{"$ref":"#/definitions/EventsQueryResponse"},"select":{"description":"Return a limited set of data. Required.","items":{"$ref":"#/definitions/HogQLExpression"},"type":"array"},"where":{"description":"HogQL filters to apply on returned data","items":{"$ref":"#/definitions/HogQLExpression"},"type":"array"}},"required":["kind","select"],"type":"object"},"EventsQueryPersonColumn":{"additionalProperties":false,"properties":{"created_at":{"type":"string"},"distinct_id":{"type":"string"},"properties":{"additionalProperties":false,"properties":{"email":{"type":"string"},"name":{"type":"string"}},"type":"object"},"uuid":{"type":"string"}},"required":["uuid","created_at","properties","distinct_id"],"type":"object"},"EventsQueryResponse":{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"items":{},"type":"array"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{"type":"string"},"type":"array"}},"required":["columns","hogql","results","types"],"type":"object"},"ExperimentFunnelsQuery":{"additionalProperties":false,"properties":{"experiment_id":{"type":"integer"},"funnels_query":{"$ref":"#/definitions/FunnelsQuery"},"kind":{"const":"ExperimentFunnelsQuery","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"name":{"type":"string"},"response":{"$ref":"#/definitions/ExperimentFunnelsQueryResponse"}},"required":["funnels_query","kind"],"type":"object"},"ExperimentFunnelsQueryResponse":{"additionalProperties":false,"properties":{"credible_intervals":{"additionalProperties":{"items":{"type":"number"},"maxItems":2,"minItems":2,"type":"array"},"type":"object"},"expected_loss":{"type":"number"},"funnels_query":{"$ref":"#/definitions/FunnelsQuery"},"insight":{"items":{"items":{"type":"object"},"type":"array"},"type":"array"},"kind":{"const":"ExperimentFunnelsQuery","type":"string"},"probability":{"additionalProperties":{"type":"number"},"type":"object"},"significance_code":{"$ref":"#/definitions/ExperimentSignificanceCode"},"significant":{"type":"boolean"},"stats_version":{"type":"integer"},"variants":{"items":{"$ref":"#/definitions/ExperimentVariantFunnelsBaseStats"},"type":"array"}},"required":["kind","insight","variants","probability","significant","significance_code","expected_loss","credible_intervals"],"type":"object"},"ExperimentSignificanceCode":{"enum":["significant","not_enough_exposure","low_win_probability","high_loss","high_p_value"],"type":"string"},"ExperimentTrendsQuery":{"additionalProperties":false,"properties":{"count_query":{"$ref":"#/definitions/TrendsQuery"},"experiment_id":{"type":"integer"},"exposure_query":{"$ref":"#/definitions/TrendsQuery"},"kind":{"const":"ExperimentTrendsQuery","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"name":{"type":"string"},"response":{"$ref":"#/definitions/ExperimentTrendsQueryResponse"}},"required":["count_query","kind"],"type":"object"},"ExperimentTrendsQueryResponse":{"additionalProperties":false,"properties":{"count_query":{"$ref":"#/definitions/TrendsQuery"},"credible_intervals":{"additionalProperties":{"items":{"type":"number"},"maxItems":2,"minItems":2,"type":"array"},"type":"object"},"exposure_query":{"$ref":"#/definitions/TrendsQuery"},"insight":{"items":{"type":"object"},"type":"array"},"kind":{"const":"ExperimentTrendsQuery","type":"string"},"p_value":{"type":"number"},"probability":{"additionalProperties":{"type":"number"},"type":"object"},"significance_code":{"$ref":"#/definitions/ExperimentSignificanceCode"},"significant":{"type":"boolean"},"stats_version":{"type":"integer"},"variants":{"items":{"$ref":"#/definitions/ExperimentVariantTrendsBaseStats"},"type":"array"}},"required":["kind","insight","variants","probability","significant","significance_code","p_value","credible_intervals"],"type":"object"},"ExperimentVariantFunnelsBaseStats":{"additionalProperties":false,"properties":{"failure_count":{"type":"number"},"key":{"type":"string"},"success_count":{"type":"number"}},"required":["key","success_count","failure_count"],"type":"object"},"ExperimentVariantTrendsBaseStats":{"additionalProperties":false,"properties":{"absolute_exposure":{"type":"number"},"count":{"type":"number"},"exposure":{"type":"number"},"key":{"type":"string"}},"required":["key","count","exposure","absolute_exposure"],"type":"object"},"FailureMessage":{"additionalProperties":false,"properties":{"content":{"type":"string"},"id":{"type":"string"},"type":{"const":"ai/failure","type":"string"}},"required":["type"],"type":"object"},"FeaturePropertyFilter":{"additionalProperties":false,"properties":{"key":{"type":"string"},"label":{"type":"string"},"operator":{"$ref":"#/definitions/PropertyOperator"},"type":{"const":"feature","description":"Event property with \\"$feature/\\" prepended","type":"string"},"value":{"$ref":"#/definitions/PropertyFilterValue"}},"required":["key","operator","type"],"type":"object"},"FilterLogicalOperator":{"enum":["AND","OR"],"type":"string"},"FunnelConversionWindowTimeUnit":{"enum":["second","minute","hour","day","week","month"],"type":"string"},"FunnelCorrelationActorsQuery":{"additionalProperties":false,"properties":{"funnelCorrelationPersonConverted":{"type":"boolean"},"funnelCorrelationPersonEntity":{"$ref":"#/definitions/AnyEntityNode"},"funnelCorrelationPropertyValues":{"items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},"includeRecordings":{"type":"boolean"},"kind":{"const":"FunnelCorrelationActorsQuery","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"response":{"$ref":"#/definitions/ActorsQueryResponse"},"source":{"$ref":"#/definitions/FunnelCorrelationQuery"}},"required":["kind","source"],"type":"object"},"FunnelCorrelationQuery":{"additionalProperties":false,"properties":{"funnelCorrelationEventExcludePropertyNames":{"items":{"type":"string"},"type":"array"},"funnelCorrelationEventNames":{"items":{"type":"string"},"type":"array"},"funnelCorrelationExcludeEventNames":{"items":{"type":"string"},"type":"array"},"funnelCorrelationExcludeNames":{"items":{"type":"string"},"type":"array"},"funnelCorrelationNames":{"items":{"type":"string"},"type":"array"},"funnelCorrelationType":{"$ref":"#/definitions/FunnelCorrelationResultsType"},"kind":{"const":"FunnelCorrelationQuery","type":"string"},"response":{"$ref":"#/definitions/FunnelCorrelationResponse"},"source":{"$ref":"#/definitions/FunnelsActorsQuery"}},"required":["funnelCorrelationType","kind","source"],"type":"object"},"FunnelCorrelationResponse":{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"$ref":"#/definitions/FunnelCorrelationResult"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["results"],"type":"object"},"FunnelCorrelationResult":{"additionalProperties":false,"properties":{"events":{"items":{"$ref":"#/definitions/EventOddsRatioSerialized"},"type":"array"},"skewed":{"type":"boolean"}},"required":["events","skewed"],"type":"object"},"FunnelCorrelationResultsType":{"enum":["events","properties","event_with_properties"],"type":"string"},"FunnelExclusion":{"anyOf":[{"$ref":"#/definitions/FunnelExclusionEventsNode"},{"$ref":"#/definitions/FunnelExclusionActionsNode"}]},"FunnelExclusionActionsNode":{"additionalProperties":false,"properties":{"custom_name":{"type":"string"},"fixedProperties":{"description":"Fixed properties in the query, can\'t be edited in the interface (e.g. scoping down by person)","items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},"funnelFromStep":{"type":"integer"},"funnelToStep":{"type":"integer"},"id":{"type":"integer"},"kind":{"const":"ActionsNode","type":"string"},"math":{"$ref":"#/definitions/MathType"},"math_group_type_index":{"enum":[0,1,2,3,4],"type":"number"},"math_hogql":{"type":"string"},"math_property":{"type":"string"},"math_property_type":{"type":"string"},"name":{"type":"string"},"properties":{"description":"Properties configurable in the interface","items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},"response":{"type":"object"}},"required":["funnelFromStep","funnelToStep","id","kind"],"type":"object"},"FunnelExclusionEventsNode":{"additionalProperties":false,"properties":{"custom_name":{"type":"string"},"event":{"description":"The event or `null` for all events.","type":["string","null"]},"fixedProperties":{"description":"Fixed properties in the query, can\'t be edited in the interface (e.g. scoping down by person)","items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},"funnelFromStep":{"type":"integer"},"funnelToStep":{"type":"integer"},"kind":{"const":"EventsNode","type":"string"},"limit":{"type":"integer"},"math":{"$ref":"#/definitions/MathType"},"math_group_type_index":{"enum":[0,1,2,3,4],"type":"number"},"math_hogql":{"type":"string"},"math_property":{"type":"string"},"math_property_type":{"type":"string"},"name":{"type":"string"},"orderBy":{"description":"Columns to order by","items":{"type":"string"},"type":"array"},"properties":{"description":"Properties configurable in the interface","items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},"response":{"type":"object"}},"required":["funnelFromStep","funnelToStep","kind"],"type":"object"},"FunnelExclusionLegacy":{"additionalProperties":false,"properties":{"custom_name":{"type":["string","null"]},"funnel_from_step":{"type":"number"},"funnel_to_step":{"type":"number"},"id":{"type":["string","number","null"]},"index":{"type":"number"},"name":{"type":["string","null"]},"order":{"type":"number"},"type":{"$ref":"#/definitions/EntityType"}},"required":["funnel_from_step","funnel_to_step"],"type":"object"},"FunnelExclusionSteps":{"additionalProperties":false,"properties":{"funnelFromStep":{"type":"integer"},"funnelToStep":{"type":"integer"}},"required":["funnelFromStep","funnelToStep"],"type":"object"},"FunnelLayout":{"enum":["horizontal","vertical"],"type":"string"},"FunnelMathType":{"enum":["total","first_time_for_user","first_time_for_user_with_filters"],"type":"string"},"FunnelPathType":{"enum":["funnel_path_before_step","funnel_path_between_steps","funnel_path_after_step"],"type":"string"},"FunnelPathsFilter":{"additionalProperties":false,"properties":{"funnelPathType":{"$ref":"#/definitions/FunnelPathType"},"funnelSource":{"$ref":"#/definitions/FunnelsQuery"},"funnelStep":{"type":"integer"}},"required":["funnelSource"],"type":"object"},"FunnelStepReference":{"enum":["total","previous"],"type":"string"},"FunnelStepsBreakdownResults":{"items":{"items":{"type":"object"},"type":"array"},"type":"array"},"FunnelStepsResults":{"items":{"type":"object"},"type":"array"},"FunnelTimeToConvertResults":{"additionalProperties":false,"properties":{"average_conversion_time":{"type":["number","null"]},"bins":{"items":{"items":{"type":"integer"},"maxItems":2,"minItems":2,"type":"array"},"type":"array"}},"required":["average_conversion_time","bins"],"type":"object"},"FunnelTrendsResults":{"items":{"type":"object"},"type":"array"},"FunnelVizType":{"enum":["steps","time_to_convert","trends"],"type":"string"},"FunnelsActorsQuery":{"additionalProperties":false,"properties":{"funnelCustomSteps":{"description":"Custom step numbers to get persons for. This overrides `funnelStep`. Primarily for correlation use.","items":{"type":"integer"},"type":"array"},"funnelStep":{"description":"Index of the step for which we want to get the timestamp for, per person. Positive for converted persons, negative for dropped of persons.","type":"integer"},"funnelStepBreakdown":{"$ref":"#/definitions/BreakdownKeyType","description":"The breakdown value for which to get persons for. This is an array for person and event properties, a string for groups and an integer for cohorts."},"funnelTrendsDropOff":{"type":"boolean"},"funnelTrendsEntrancePeriodStart":{"description":"Used together with `funnelTrendsDropOff` for funnels time conversion date for the persons modal.","type":"string"},"includeRecordings":{"type":"boolean"},"kind":{"const":"FunnelsActorsQuery","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"response":{"$ref":"#/definitions/ActorsQueryResponse"},"source":{"$ref":"#/definitions/FunnelsQuery"}},"required":["kind","source"],"type":"object"},"FunnelsFilter":{"additionalProperties":false,"properties":{"binCount":{"type":"integer"},"breakdownAttributionType":{"$ref":"#/definitions/BreakdownAttributionType","default":"first_touch"},"breakdownAttributionValue":{"type":"integer"},"exclusions":{"default":[],"items":{"$ref":"#/definitions/FunnelExclusion"},"type":"array"},"funnelAggregateByHogQL":{"type":"string"},"funnelFromStep":{"type":"integer"},"funnelOrderType":{"$ref":"#/definitions/StepOrderValue","default":"ordered"},"funnelStepReference":{"$ref":"#/definitions/FunnelStepReference","default":"total"},"funnelToStep":{"type":"integer"},"funnelVizType":{"$ref":"#/definitions/FunnelVizType","default":"steps"},"funnelWindowInterval":{"default":14,"type":"integer"},"funnelWindowIntervalUnit":{"$ref":"#/definitions/FunnelConversionWindowTimeUnit","default":"day"},"hiddenLegendBreakdowns":{"items":{"type":"string"},"type":"array"},"layout":{"$ref":"#/definitions/FunnelLayout","default":"vertical"},"resultCustomizations":{"additionalProperties":{"$ref":"#/definitions/ResultCustomizationByValue"},"description":"Customizations for the appearance of result datasets.","type":"object"},"useUdf":{"type":"boolean"}},"type":"object"},"FunnelsFilterLegacy":{"additionalProperties":false,"description":"`FunnelsFilterType` minus everything inherited from `FilterType` and persons modal related params","properties":{"bin_count":{"$ref":"#/definitions/BinCountValue"},"breakdown_attribution_type":{"$ref":"#/definitions/BreakdownAttributionType"},"breakdown_attribution_value":{"type":"number"},"exclusions":{"items":{"$ref":"#/definitions/FunnelExclusionLegacy"},"type":"array"},"funnel_aggregate_by_hogql":{"type":"string"},"funnel_from_step":{"type":"number"},"funnel_order_type":{"$ref":"#/definitions/StepOrderValue"},"funnel_step_reference":{"$ref":"#/definitions/FunnelStepReference"},"funnel_to_step":{"type":"number"},"funnel_viz_type":{"$ref":"#/definitions/FunnelVizType"},"funnel_window_interval":{"type":"number"},"funnel_window_interval_unit":{"$ref":"#/definitions/FunnelConversionWindowTimeUnit"},"hidden_legend_keys":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"not":{}}]},"type":"object"},"layout":{"$ref":"#/definitions/FunnelLayout"}},"type":"object"},"FunnelsQuery":{"additionalProperties":false,"properties":{"aggregation_group_type_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Groups aggregation"},"breakdownFilter":{"$ref":"#/definitions/BreakdownFilter","description":"Breakdown of the events and actions"},"dataColorTheme":{"description":"Colors used in the insight\'s visualization","type":["number","null"]},"dateRange":{"$ref":"#/definitions/DateRange","description":"Date range for the query"},"filterTestAccounts":{"default":false,"description":"Exclude internal and test users by applying the respective filters","type":"boolean"},"funnelsFilter":{"$ref":"#/definitions/FunnelsFilter","description":"Properties specific to the funnels insight"},"interval":{"$ref":"#/definitions/IntervalType","description":"Granularity of the response. Can be one of `hour`, `day`, `week` or `month`"},"kind":{"const":"FunnelsQuery","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"properties":{"anyOf":[{"items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},{"$ref":"#/definitions/PropertyGroupFilter"}],"default":[],"description":"Property filters for all series"},"response":{"$ref":"#/definitions/FunnelsQueryResponse"},"samplingFactor":{"description":"Sampling rate","type":["number","null"]},"series":{"description":"Events and actions to include","items":{"$ref":"#/definitions/AnyEntityNode"},"type":"array"}},"required":["kind","series"],"type":"object"},"FunnelsQueryResponse":{"additionalProperties":false,"properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"isUdf":{"type":"boolean"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"anyOf":[{"$ref":"#/definitions/FunnelStepsResults"},{"$ref":"#/definitions/FunnelStepsBreakdownResults"},{"$ref":"#/definitions/FunnelTimeToConvertResults"},{"$ref":"#/definitions/FunnelTrendsResults"}]},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},"GenericCachedQueryResponse":{"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"timezone":{"type":"string"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","timezone"],"type":"object"},"GoalLine":{"additionalProperties":false,"properties":{"label":{"type":"string"},"value":{"type":"number"}},"required":["label","value"],"type":"object"},"GroupMathType":{"const":"unique_group","type":"string"},"GroupPropertyFilter":{"additionalProperties":false,"properties":{"group_type_index":{"anyOf":[{"type":"integer"},{"type":"null"}]},"key":{"type":"string"},"label":{"type":"string"},"operator":{"$ref":"#/definitions/PropertyOperator"},"type":{"const":"group","type":"string"},"value":{"$ref":"#/definitions/PropertyFilterValue"}},"required":["key","operator","type"],"type":"object"},"HasPropertiesNode":{"anyOf":[{"$ref":"#/definitions/EventsNode"},{"$ref":"#/definitions/EventsQuery"},{"$ref":"#/definitions/PersonsNode"}]},"HogCompileResponse":{"additionalProperties":false,"properties":{"bytecode":{"items":{},"type":"array"},"locals":{"items":{},"type":"array"}},"required":["bytecode","locals"],"type":"object"},"HogLanguage":{"enum":["hog","hogJson","hogQL","hogQLExpr","hogTemplate"],"type":"string"},"HogQLAutocomplete":{"additionalProperties":false,"properties":{"endPosition":{"description":"End position of the editor word","type":"integer"},"filters":{"$ref":"#/definitions/HogQLFilters","description":"Table to validate the expression against"},"globals":{"description":"Global values in scope","type":"object"},"kind":{"const":"HogQLAutocomplete","type":"string"},"language":{"$ref":"#/definitions/HogLanguage","description":"Language to validate"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query":{"description":"Query to validate","type":"string"},"response":{"$ref":"#/definitions/HogQLAutocompleteResponse"},"sourceQuery":{"$ref":"#/definitions/AnyDataNode","description":"Query in whose context to validate."},"startPosition":{"description":"Start position of the editor word","type":"integer"}},"required":["endPosition","kind","language","query","startPosition"],"type":"object"},"HogQLAutocompleteResponse":{"additionalProperties":false,"properties":{"incomplete_list":{"description":"Whether or not the suggestions returned are complete","type":"boolean"},"suggestions":{"items":{"$ref":"#/definitions/AutocompleteCompletionItem"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["suggestions","incomplete_list"],"type":"object"},"HogQLExpression":{"type":"string"},"HogQLFilters":{"additionalProperties":false,"description":"Filters object that will be converted to a HogQL {filters} placeholder","properties":{"dateRange":{"$ref":"#/definitions/DateRange"},"filterTestAccounts":{"type":"boolean"},"properties":{"items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"}},"type":"object"},"HogQLMathType":{"const":"hogql","type":"string"},"HogQLMetadata":{"additionalProperties":false,"properties":{"debug":{"description":"Enable more verbose output, usually run from the /debug page","type":"boolean"},"filters":{"$ref":"#/definitions/HogQLFilters","description":"Extra filters applied to query via {filters}"},"globals":{"description":"Extra globals for the query","type":"object"},"kind":{"const":"HogQLMetadata","type":"string"},"language":{"$ref":"#/definitions/HogLanguage","description":"Language to validate"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query":{"description":"Query to validate","type":"string"},"response":{"$ref":"#/definitions/HogQLMetadataResponse"},"sourceQuery":{"$ref":"#/definitions/AnyDataNode","description":"Query within which \\"expr\\" and \\"template\\" are validated. Defaults to \\"select * from events\\""},"variables":{"additionalProperties":{"$ref":"#/definitions/HogQLVariable"},"description":"Variables to be subsituted into the query","type":"object"}},"required":["kind","language","query"],"type":"object"},"HogQLMetadataResponse":{"additionalProperties":false,"properties":{"errors":{"items":{"$ref":"#/definitions/HogQLNotice"},"type":"array"},"isValid":{"type":"boolean"},"isValidView":{"type":"boolean"},"notices":{"items":{"$ref":"#/definitions/HogQLNotice"},"type":"array"},"query":{"type":"string"},"table_names":{"items":{"type":"string"},"type":"array"},"warnings":{"items":{"$ref":"#/definitions/HogQLNotice"},"type":"array"}},"required":["errors","warnings","notices"],"type":"object"},"HogQLNotice":{"additionalProperties":false,"properties":{"end":{"type":"integer"},"fix":{"type":"string"},"message":{"type":"string"},"start":{"type":"integer"}},"required":["message"],"type":"object"},"HogQLPropertyFilter":{"additionalProperties":false,"properties":{"key":{"type":"string"},"label":{"type":"string"},"type":{"const":"hogql","type":"string"},"value":{"$ref":"#/definitions/PropertyFilterValue"}},"required":["key","type"],"type":"object"},"HogQLQuery":{"additionalProperties":false,"properties":{"explain":{"deprecated":"use modifiers.debug instead","type":"boolean"},"filters":{"$ref":"#/definitions/HogQLFilters"},"kind":{"const":"HogQLQuery","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query":{"type":"string"},"response":{"$ref":"#/definitions/HogQLQueryResponse"},"values":{"description":"Constant values that can be referenced with the {placeholder} syntax in the query","type":"object"},"variables":{"additionalProperties":{"$ref":"#/definitions/HogQLVariable"},"description":"Variables to be subsituted into the query","type":"object"}},"required":["kind","query"],"type":"object"},"HogQLQueryModifiers":{"additionalProperties":false,"description":"HogQL Query Options are automatically set per team. However, they can be overridden in the query.","properties":{"bounceRateDurationSeconds":{"type":"number"},"bounceRatePageViewMode":{"enum":["count_pageviews","uniq_urls","uniq_page_screen_autocaptures"],"type":"string"},"customChannelTypeRules":{"items":{"$ref":"#/definitions/CustomChannelRule"},"type":"array"},"dataWarehouseEventsModifiers":{"items":{"$ref":"#/definitions/DataWarehouseEventsModifier"},"type":"array"},"debug":{"type":"boolean"},"inCohortVia":{"enum":["auto","leftjoin","subquery","leftjoin_conjoined"],"type":"string"},"materializationMode":{"enum":["auto","legacy_null_as_string","legacy_null_as_null","disabled"],"type":"string"},"optimizeJoinedFilters":{"type":"boolean"},"personsArgMaxVersion":{"enum":["auto","v1","v2"],"type":"string"},"personsJoinMode":{"enum":["inner","left"],"type":"string"},"personsOnEventsMode":{"enum":["disabled","person_id_no_override_properties_on_events","person_id_override_properties_on_events","person_id_override_properties_joined"],"type":"string"},"propertyGroupsMode":{"enum":["enabled","disabled","optimized"],"type":"string"},"s3TableUseInvalidColumns":{"type":"boolean"},"sessionTableVersion":{"enum":["auto","v1","v2"],"type":"string"},"useMaterializedViews":{"type":"boolean"}},"type":"object"},"HogQLQueryResponse":{"additionalProperties":false,"properties":{"clickhouse":{"description":"Executed ClickHouse query","type":"string"},"columns":{"description":"Returned columns","items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"explain":{"description":"Query explanation output","items":{"type":"string"},"type":"array"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"metadata":{"$ref":"#/definitions/HogQLMetadataResponse","description":"Query metadata output"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query":{"description":"Input query string","type":"string"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"description":"Types of returned columns","items":{},"type":"array"}},"required":["results"],"type":"object"},"HogQLVariable":{"additionalProperties":false,"properties":{"code_name":{"type":"string"},"value":{},"variableId":{"type":"string"}},"required":["variableId","code_name"],"type":"object"},"HogQuery":{"additionalProperties":false,"properties":{"code":{"type":"string"},"kind":{"const":"HogQuery","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"response":{"$ref":"#/definitions/HogQueryResponse"}},"required":["kind"],"type":"object"},"HogQueryResponse":{"additionalProperties":false,"properties":{"bytecode":{"items":{},"type":"array"},"coloredBytecode":{"items":{},"type":"array"},"results":{},"stdout":{"type":"string"}},"required":["results"],"type":"object"},"HumanMessage":{"additionalProperties":false,"properties":{"content":{"type":"string"},"id":{"type":"string"},"type":{"const":"human","type":"string"}},"required":["type","content"],"type":"object"},"InsightActorsQuery":{"additionalProperties":false,"properties":{"breakdown":{"anyOf":[{"type":"string"},{"$ref":"#/definitions/BreakdownValueInt"},{"items":{"type":"string"},"type":"array"}]},"compare":{"enum":["current","previous"],"type":"string"},"day":{"anyOf":[{"type":"string"},{"$ref":"#/definitions/Day"}]},"includeRecordings":{"type":"boolean"},"interval":{"description":"An interval selected out of available intervals in source query.","type":"integer"},"kind":{"const":"InsightActorsQuery","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"response":{"$ref":"#/definitions/ActorsQueryResponse"},"series":{"type":"integer"},"source":{"$ref":"#/definitions/InsightQuerySource"},"status":{"type":"string"}},"required":["kind","source"],"type":"object"},"InsightActorsQueryBase":{"additionalProperties":false,"properties":{"includeRecordings":{"type":"boolean"},"kind":{"$ref":"#/definitions/NodeKind"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"response":{"$ref":"#/definitions/ActorsQueryResponse"}},"required":["kind"],"type":"object"},"InsightActorsQueryOptions":{"additionalProperties":false,"properties":{"kind":{"const":"InsightActorsQueryOptions","type":"string"},"response":{"$ref":"#/definitions/InsightActorsQueryOptionsResponse"},"source":{"anyOf":[{"$ref":"#/definitions/InsightActorsQuery"},{"$ref":"#/definitions/FunnelsActorsQuery"},{"$ref":"#/definitions/FunnelCorrelationActorsQuery"}]}},"required":["kind","source"],"type":"object"},"InsightActorsQueryOptionsResponse":{"additionalProperties":false,"properties":{"breakdown":{"items":{"$ref":"#/definitions/BreakdownItem"},"type":"array"},"breakdowns":{"items":{"$ref":"#/definitions/MultipleBreakdownOptions"},"type":"array"},"compare":{"items":{"additionalProperties":false,"properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"type":"object"},"type":"array"},"day":{"items":{"additionalProperties":false,"properties":{"label":{"type":"string"},"value":{"anyOf":[{"type":"string"},{"$ref":"#/definitions/DatetimeDay"},{"$ref":"#/definitions/Day"}]}},"required":["label","value"],"type":"object"},"type":"array"},"interval":{"items":{"additionalProperties":false,"properties":{"label":{"type":"string"},"value":{"description":"An interval selected out of available intervals in source query","type":"integer"}},"required":["label","value"],"type":"object"},"type":"array"},"series":{"items":{"additionalProperties":false,"properties":{"label":{"type":"string"},"value":{"type":"integer"}},"required":["label","value"],"type":"object"},"type":"array"},"status":{"items":{"additionalProperties":false,"properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"type":"object"},"type":"array"}},"type":"object"},"InsightFilter":{"anyOf":[{"$ref":"#/definitions/TrendsFilter"},{"$ref":"#/definitions/FunnelsFilter"},{"$ref":"#/definitions/RetentionFilter"},{"$ref":"#/definitions/PathsFilter"},{"$ref":"#/definitions/StickinessFilter"},{"$ref":"#/definitions/LifecycleFilter"}]},"InsightFilterProperty":{"enum":["trendsFilter","funnelsFilter","retentionFilter","pathsFilter","stickinessFilter","lifecycleFilter"],"type":"string"},"InsightNodeKind":{"enum":["TrendsQuery","FunnelsQuery","RetentionQuery","PathsQuery","StickinessQuery","LifecycleQuery"],"type":"string"},"InsightQueryNode":{"discriminator":{"propertyName":"kind"},"oneOf":[{"$ref":"#/definitions/TrendsQuery"},{"$ref":"#/definitions/FunnelsQuery"},{"$ref":"#/definitions/RetentionQuery"},{"$ref":"#/definitions/PathsQuery"},{"$ref":"#/definitions/StickinessQuery"},{"$ref":"#/definitions/LifecycleQuery"}],"required":["kind"],"type":"object"},"InsightQuerySource":{"$ref":"#/definitions/InsightQueryNode"},"InsightShortId":{"type":"string"},"InsightThreshold":{"additionalProperties":false,"properties":{"bounds":{"$ref":"#/definitions/InsightsThresholdBounds"},"type":{"$ref":"#/definitions/InsightThresholdType"}},"required":["type"],"type":"object"},"InsightThresholdType":{"enum":["absolute","percentage"],"type":"string"},"InsightVizNode":{"additionalProperties":false,"properties":{"embedded":{"description":"Query is embedded inside another bordered component","type":"boolean"},"full":{"description":"Show with most visual options enabled. Used in insight scene.","type":"boolean"},"hidePersonsModal":{"type":"boolean"},"kind":{"const":"InsightVizNode","type":"string"},"showCorrelationTable":{"type":"boolean"},"showFilters":{"type":"boolean"},"showHeader":{"type":"boolean"},"showLastComputation":{"type":"boolean"},"showLastComputationRefresh":{"type":"boolean"},"showResults":{"type":"boolean"},"showTable":{"type":"boolean"},"source":{"$ref":"#/definitions/InsightQueryNode"},"suppressSessionAnalysisWarning":{"type":"boolean"},"vizSpecificOptions":{"$ref":"#/definitions/VizSpecificOptions"}},"required":["kind","source"],"type":"object"},"InsightsQueryBase":{"additionalProperties":false,"description":"Base class for insight query nodes. Should not be used directly.","properties":{"aggregation_group_type_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Groups aggregation"},"dataColorTheme":{"description":"Colors used in the insight\'s visualization","type":["number","null"]},"dateRange":{"$ref":"#/definitions/DateRange","description":"Date range for the query"},"filterTestAccounts":{"default":false,"description":"Exclude internal and test users by applying the respective filters","type":"boolean"},"kind":{"$ref":"#/definitions/NodeKind"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"properties":{"anyOf":[{"items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},{"$ref":"#/definitions/PropertyGroupFilter"}],"default":[],"description":"Property filters for all series"},"response":{"$ref":"#/definitions/FunnelsQueryResponse"},"samplingFactor":{"description":"Sampling rate","type":["number","null"]}},"required":["kind"],"type":"object"},"InsightsQueryBase":{"additionalProperties":false,"description":"Base class for insight query nodes. Should not be used directly.","properties":{"aggregation_group_type_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Groups aggregation"},"dataColorTheme":{"description":"Colors used in the insight\'s visualization","type":["number","null"]},"dateRange":{"$ref":"#/definitions/DateRange","description":"Date range for the query"},"filterTestAccounts":{"default":false,"description":"Exclude internal and test users by applying the respective filters","type":"boolean"},"kind":{"$ref":"#/definitions/NodeKind"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"properties":{"anyOf":[{"items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},{"$ref":"#/definitions/PropertyGroupFilter"}],"default":[],"description":"Property filters for all series"},"response":{"$ref":"#/definitions/LifecycleQueryResponse"},"samplingFactor":{"description":"Sampling rate","type":["number","null"]}},"required":["kind"],"type":"object"},"InsightsQueryBase":{"additionalProperties":false,"description":"Base class for insight query nodes. Should not be used directly.","properties":{"aggregation_group_type_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Groups aggregation"},"dataColorTheme":{"description":"Colors used in the insight\'s visualization","type":["number","null"]},"dateRange":{"$ref":"#/definitions/DateRange","description":"Date range for the query"},"filterTestAccounts":{"default":false,"description":"Exclude internal and test users by applying the respective filters","type":"boolean"},"kind":{"$ref":"#/definitions/NodeKind"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"properties":{"anyOf":[{"items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},{"$ref":"#/definitions/PropertyGroupFilter"}],"default":[],"description":"Property filters for all series"},"response":{"$ref":"#/definitions/PathsQueryResponse"},"samplingFactor":{"description":"Sampling rate","type":["number","null"]}},"required":["kind"],"type":"object"},"InsightsQueryBase":{"additionalProperties":false,"description":"Base class for insight query nodes. Should not be used directly.","properties":{"aggregation_group_type_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Groups aggregation"},"dataColorTheme":{"description":"Colors used in the insight\'s visualization","type":["number","null"]},"dateRange":{"$ref":"#/definitions/DateRange","description":"Date range for the query"},"filterTestAccounts":{"default":false,"description":"Exclude internal and test users by applying the respective filters","type":"boolean"},"kind":{"$ref":"#/definitions/NodeKind"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"properties":{"anyOf":[{"items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},{"$ref":"#/definitions/PropertyGroupFilter"}],"default":[],"description":"Property filters for all series"},"response":{"$ref":"#/definitions/RetentionQueryResponse"},"samplingFactor":{"description":"Sampling rate","type":["number","null"]}},"required":["kind"],"type":"object"},"InsightsQueryBase":{"additionalProperties":false,"description":"Base class for insight query nodes. Should not be used directly.","properties":{"aggregation_group_type_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Groups aggregation"},"dataColorTheme":{"description":"Colors used in the insight\'s visualization","type":["number","null"]},"dateRange":{"$ref":"#/definitions/DateRange","description":"Date range for the query"},"filterTestAccounts":{"default":false,"description":"Exclude internal and test users by applying the respective filters","type":"boolean"},"kind":{"$ref":"#/definitions/NodeKind"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"properties":{"anyOf":[{"items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},{"$ref":"#/definitions/PropertyGroupFilter"}],"default":[],"description":"Property filters for all series"},"response":{"$ref":"#/definitions/TrendsQueryResponse"},"samplingFactor":{"description":"Sampling rate","type":["number","null"]}},"required":["kind"],"type":"object"},"InsightsThresholdBounds":{"additionalProperties":false,"properties":{"lower":{"type":"number"},"upper":{"type":"number"}},"type":"object"},"IntervalType":{"enum":["minute","hour","day","week","month"],"type":"string"},"LifecycleFilter":{"additionalProperties":false,"properties":{"showLegend":{"default":false,"type":"boolean"},"showValuesOnSeries":{"type":"boolean"},"toggledLifecycles":{"items":{"$ref":"#/definitions/LifecycleToggle"},"type":"array"}},"type":"object"},"LifecycleFilterLegacy":{"additionalProperties":false,"description":"`LifecycleFilterType` minus everything inherited from `FilterType`","properties":{"show_legend":{"type":"boolean"},"show_values_on_series":{"type":"boolean"},"toggledLifecycles":{"items":{"$ref":"#/definitions/LifecycleToggle"},"type":"array"}},"type":"object"},"LifecycleQuery":{"additionalProperties":false,"properties":{"aggregation_group_type_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Groups aggregation"},"dataColorTheme":{"description":"Colors used in the insight\'s visualization","type":["number","null"]},"dateRange":{"$ref":"#/definitions/DateRange","description":"Date range for the query"},"filterTestAccounts":{"default":false,"description":"Exclude internal and test users by applying the respective filters","type":"boolean"},"interval":{"$ref":"#/definitions/IntervalType","default":"day","description":"Granularity of the response. Can be one of `hour`, `day`, `week` or `month`"},"kind":{"const":"LifecycleQuery","type":"string"},"lifecycleFilter":{"$ref":"#/definitions/LifecycleFilter","description":"Properties specific to the lifecycle insight"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"properties":{"anyOf":[{"items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},{"$ref":"#/definitions/PropertyGroupFilter"}],"default":[],"description":"Property filters for all series"},"response":{"$ref":"#/definitions/LifecycleQueryResponse"},"samplingFactor":{"description":"Sampling rate","type":["number","null"]},"series":{"description":"Events and actions to include","items":{"$ref":"#/definitions/AnyEntityNode"},"type":"array"}},"required":["kind","series"],"type":"object"},"LifecycleQueryResponse":{"additionalProperties":false,"properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"type":"object"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},"LifecycleToggle":{"enum":["new","resurrecting","returning","dormant"],"type":"string"},"LogEntryPropertyFilter":{"additionalProperties":false,"properties":{"key":{"type":"string"},"label":{"type":"string"},"operator":{"$ref":"#/definitions/PropertyOperator"},"type":{"const":"log_entry","type":"string"},"value":{"$ref":"#/definitions/PropertyFilterValue"}},"required":["key","operator","type"],"type":"object"},"MatchedRecording":{"additionalProperties":false,"properties":{"events":{"items":{"$ref":"#/definitions/MatchedRecordingEvent"},"type":"array"},"session_id":{"type":"string"}},"required":["events"],"type":"object"},"MatchedRecordingEvent":{"additionalProperties":false,"properties":{"uuid":{"type":"string"}},"required":["uuid"],"type":"object"},"MathType":{"anyOf":[{"$ref":"#/definitions/BaseMathType"},{"$ref":"#/definitions/FunnelMathType"},{"$ref":"#/definitions/PropertyMathType"},{"$ref":"#/definitions/CountPerActorMathType"},{"$ref":"#/definitions/GroupMathType"},{"$ref":"#/definitions/HogQLMathType"}]},"MultipleBreakdownOptions":{"additionalProperties":false,"properties":{"values":{"items":{"$ref":"#/definitions/BreakdownItem"},"type":"array"}},"required":["values"],"type":"object"},"MultipleBreakdownType":{"enum":["person","event","group","session","hogql"],"type":"string"},"NodeKind":{"description":"PostHog Query Schema definition.\\n\\nThis file acts as the source of truth for:\\n\\n- frontend/src/queries/schema.json - generated from typescript via \\"pnpm run schema:build:json\\"\\n\\n- posthog/schema.py - generated from json the above json via \\"pnpm run schema:build:python\\"","enum":["EventsNode","ActionsNode","DataWarehouseNode","EventsQuery","PersonsNode","HogQuery","HogQLQuery","HogQLMetadata","HogQLAutocomplete","ActorsQuery","FunnelsActorsQuery","FunnelCorrelationActorsQuery","SessionsTimelineQuery","RecordingsQuery","SessionAttributionExplorerQuery","ErrorTrackingQuery","DataTableNode","DataVisualizationNode","SavedInsightNode","InsightVizNode","TrendsQuery","FunnelsQuery","RetentionQuery","PathsQuery","StickinessQuery","LifecycleQuery","InsightActorsQuery","InsightActorsQueryOptions","FunnelCorrelationQuery","WebOverviewQuery","WebStatsTableQuery","WebExternalClicksTableQuery","WebGoalsQuery","ExperimentFunnelsQuery","ExperimentTrendsQuery","DatabaseSchemaQuery","SuggestedQuestionsQuery","TeamTaxonomyQuery","EventTaxonomyQuery","ActorsPropertyTaxonomyQuery"],"type":"string"},"PathCleaningFilter":{"additionalProperties":false,"properties":{"alias":{"type":"string"},"regex":{"type":"string"}},"type":"object"},"PathType":{"enum":["$pageview","$screen","custom_event","hogql"],"type":"string"},"PathsFilter":{"additionalProperties":false,"properties":{"edgeLimit":{"default":50,"type":"integer"},"endPoint":{"type":"string"},"excludeEvents":{"items":{"type":"string"},"type":"array"},"includeEventTypes":{"items":{"$ref":"#/definitions/PathType"},"type":"array"},"localPathCleaningFilters":{"anyOf":[{"items":{"$ref":"#/definitions/PathCleaningFilter"},"type":"array"},{"type":"null"}]},"maxEdgeWeight":{"type":"integer"},"minEdgeWeight":{"type":"integer"},"pathDropoffKey":{"description":"Relevant only within actors query","type":"string"},"pathEndKey":{"description":"Relevant only within actors query","type":"string"},"pathGroupings":{"items":{"type":"string"},"type":"array"},"pathReplacements":{"type":"boolean"},"pathStartKey":{"description":"Relevant only within actors query","type":"string"},"pathsHogQLExpression":{"type":"string"},"startPoint":{"type":"string"},"stepLimit":{"default":5,"type":"integer"}},"type":"object"},"PathsFilterLegacy":{"additionalProperties":false,"description":"`PathsFilterType` minus everything inherited from `FilterType` and persons modal related params","properties":{"edge_limit":{"type":"integer"},"end_point":{"type":"string"},"exclude_events":{"items":{"type":"string"},"type":"array"},"funnel_filter":{"type":"object"},"funnel_paths":{"$ref":"#/definitions/FunnelPathType"},"include_event_types":{"items":{"$ref":"#/definitions/PathType"},"type":"array"},"local_path_cleaning_filters":{"anyOf":[{"items":{"$ref":"#/definitions/PathCleaningFilter"},"type":"array"},{"type":"null"}]},"max_edge_weight":{"type":"integer"},"min_edge_weight":{"type":"integer"},"path_groupings":{"items":{"type":"string"},"type":"array"},"path_replacements":{"type":"boolean"},"path_type":{"$ref":"#/definitions/PathType"},"paths_hogql_expression":{"type":"string"},"start_point":{"type":"string"},"step_limit":{"type":"integer"}},"type":"object"},"PathsQuery":{"additionalProperties":false,"properties":{"aggregation_group_type_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Groups aggregation"},"dataColorTheme":{"description":"Colors used in the insight\'s visualization","type":["number","null"]},"dateRange":{"$ref":"#/definitions/DateRange","description":"Date range for the query"},"filterTestAccounts":{"default":false,"description":"Exclude internal and test users by applying the respective filters","type":"boolean"},"funnelPathsFilter":{"$ref":"#/definitions/FunnelPathsFilter","description":"Used for displaying paths in relation to funnel steps."},"kind":{"const":"PathsQuery","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"pathsFilter":{"$ref":"#/definitions/PathsFilter","description":"Properties specific to the paths insight"},"properties":{"anyOf":[{"items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},{"$ref":"#/definitions/PropertyGroupFilter"}],"default":[],"description":"Property filters for all series"},"response":{"$ref":"#/definitions/PathsQueryResponse"},"samplingFactor":{"description":"Sampling rate","type":["number","null"]}},"required":["kind","pathsFilter"],"type":"object"},"PathsQueryResponse":{"additionalProperties":false,"properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"type":"object"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},"PersonPropertyFilter":{"additionalProperties":false,"description":"Sync with plugin-server/src/types.ts","properties":{"key":{"type":"string"},"label":{"type":"string"},"operator":{"$ref":"#/definitions/PropertyOperator"},"type":{"const":"person","description":"Person properties","type":"string"},"value":{"$ref":"#/definitions/PropertyFilterValue"}},"required":["key","operator","type"],"type":"object"},"PersonType":{"additionalProperties":false,"properties":{"created_at":{"type":"string"},"distinct_ids":{"items":{"type":"string"},"type":"array"},"id":{"type":"string"},"is_identified":{"type":"boolean"},"name":{"type":"string"},"properties":{"type":"object"},"uuid":{"type":"string"}},"required":["distinct_ids","properties"],"type":"object"},"PersonsNode":{"additionalProperties":false,"deprecated":"Use `ActorsQuery` instead.","properties":{"cohort":{"type":"integer"},"distinctId":{"type":"string"},"fixedProperties":{"description":"Fixed properties in the query, can\'t be edited in the interface (e.g. scoping down by person)","items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},"kind":{"const":"PersonsNode","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"properties":{"description":"Properties configurable in the interface","items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},"response":{"type":"object"},"search":{"type":"string"}},"required":["kind"],"type":"object"},"PropertyFilterType":{"enum":["meta","event","person","element","feature","session","cohort","recording","log_entry","group","hogql","data_warehouse","data_warehouse_person_property"],"type":"string"},"PropertyFilterValue":{"anyOf":[{"type":"string"},{"type":"number"},{"items":{"type":["string","number"]},"type":"array"},{"type":"null"}]},"PropertyGroupFilter":{"additionalProperties":false,"properties":{"type":{"$ref":"#/definitions/FilterLogicalOperator"},"values":{"items":{"$ref":"#/definitions/PropertyGroupFilterValue"},"type":"array"}},"required":["type","values"],"type":"object"},"PropertyGroupFilterValue":{"additionalProperties":false,"properties":{"type":{"$ref":"#/definitions/FilterLogicalOperator"},"values":{"items":{"anyOf":[{"$ref":"#/definitions/AnyPropertyFilter"},{"$ref":"#/definitions/PropertyGroupFilterValue"}]},"type":"array"}},"required":["type","values"],"type":"object"},"PropertyMathType":{"enum":["avg","sum","min","max","median","p90","p95","p99"],"type":"string"},"PropertyOperator":{"description":"Sync with plugin-server/src/types.ts","enum":["exact","is_not","icontains","not_icontains","regex","not_regex","gt","gte","lt","lte","is_set","is_not_set","is_date_exact","is_date_before","is_date_after","between","not_between","min","max","in","not_in"],"type":"string"},"QueryRequest":{"additionalProperties":false,"properties":{"async":{"deprecated":"Use `refresh` instead.","type":"boolean"},"client_query_id":{"description":"Client provided query ID. Can be used to retrieve the status or cancel the query.","type":"string"},"filters_override":{"$ref":"#/definitions/DashboardFilter"},"query":{"$ref":"#/definitions/QuerySchema","description":"Submit a JSON string representing a query for PostHog data analysis, for example a HogQL query.\\n\\nExample payload:\\n\\n```\\n\\n{\\"query\\": {\\"kind\\": \\"HogQLQuery\\", \\"query\\": \\"select * from events limit 100\\"}}\\n\\n```\\n\\nFor more details on HogQL queries, see the [PostHog HogQL documentation](/docs/hogql#api-access)."},"refresh":{"$ref":"#/definitions/RefreshType","default":"blocking","description":"Whether results should be calculated sync or async, and how much to rely on the cache:\\n- `\'blocking\'` - calculate synchronously (returning only when the query is done), UNLESS there are very fresh results in the cache\\n- `\'async\'` - kick off background calculation (returning immediately with a query status), UNLESS there are very fresh results in the cache\\n- `\'lazy_async\'` - kick off background calculation, UNLESS there are somewhat fresh results in the cache\\n- `\'force_blocking\'` - calculate synchronously, even if fresh results are already cached\\n- `\'force_async\'` - kick off background calculation, even if fresh results are already cached\\n- `\'force_cache\'` - return cached data or a cache miss; always completes immediately as it never calculates Background calculation can be tracked using the `query_status` response field."},"variables_override":{"additionalProperties":{"type":"object"},"type":"object"}},"required":["query"],"type":"object"},"QueryResponseAlternative":{"anyOf":[{"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"items":{},"type":"array"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{"type":"string"},"type":"array"}},"required":["columns","hogql","results","types"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"missing_actors_count":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"items":{},"type":"array"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{"type":"string"},"type":"array"}},"required":["columns","hogql","limit","offset","results","types"],"type":"object"},{"additionalProperties":false,"properties":{"breakdown":{"items":{"$ref":"#/definitions/BreakdownItem"},"type":"array"},"breakdowns":{"items":{"$ref":"#/definitions/MultipleBreakdownOptions"},"type":"array"},"compare":{"items":{"additionalProperties":false,"properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"type":"object"},"type":"array"},"day":{"items":{"additionalProperties":false,"properties":{"label":{"type":"string"},"value":{"anyOf":[{"type":"string"},{"$ref":"#/definitions/DatetimeDay"},{"$ref":"#/definitions/Day"}]}},"required":["label","value"],"type":"object"},"type":"array"},"interval":{"items":{"additionalProperties":false,"properties":{"label":{"type":"string"},"value":{"description":"An interval selected out of available intervals in source query","type":"integer"}},"required":["label","value"],"type":"object"},"type":"array"},"series":{"items":{"additionalProperties":false,"properties":{"label":{"type":"string"},"value":{"type":"integer"}},"required":["label","value"],"type":"object"},"type":"array"},"status":{"items":{"additionalProperties":false,"properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"type":"object"},"type":"array"}},"type":"object"},{"additionalProperties":false,"properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"$ref":"#/definitions/TimelineEntry"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"bytecode":{"items":{},"type":"array"},"coloredBytecode":{"items":{},"type":"array"},"results":{},"stdout":{"type":"string"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"clickhouse":{"description":"Executed ClickHouse query","type":"string"},"columns":{"description":"Returned columns","items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"explain":{"description":"Query explanation output","items":{"type":"string"},"type":"array"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"metadata":{"$ref":"#/definitions/HogQLMetadataResponse","description":"Query metadata output"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query":{"description":"Input query string","type":"string"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"description":"Types of returned columns","items":{},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"errors":{"items":{"$ref":"#/definitions/HogQLNotice"},"type":"array"},"isValid":{"type":"boolean"},"isValidView":{"type":"boolean"},"notices":{"items":{"$ref":"#/definitions/HogQLNotice"},"type":"array"},"query":{"type":"string"},"table_names":{"items":{"type":"string"},"type":"array"},"warnings":{"items":{"$ref":"#/definitions/HogQLNotice"},"type":"array"}},"required":["errors","warnings","notices"],"type":"object"},{"additionalProperties":false,"properties":{"incomplete_list":{"description":"Whether or not the suggestions returned are complete","type":"boolean"},"suggestions":{"items":{"$ref":"#/definitions/AutocompleteCompletionItem"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["suggestions","incomplete_list"],"type":"object"},{"additionalProperties":false,"properties":{"dateFrom":{"type":"string"},"dateTo":{"type":"string"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"$ref":"#/definitions/WebOverviewItem"},"type":"array"},"samplingRate":{"$ref":"#/definitions/SamplingRate"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"samplingRate":{"$ref":"#/definitions/SamplingRate"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"samplingRate":{"$ref":"#/definitions/SamplingRate"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"samplingRate":{"$ref":"#/definitions/SamplingRate"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{"type":"string"},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"$ref":"#/definitions/ErrorTrackingIssue"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"credible_intervals":{"additionalProperties":{"items":{"type":"number"},"maxItems":2,"minItems":2,"type":"array"},"type":"object"},"expected_loss":{"type":"number"},"funnels_query":{"$ref":"#/definitions/FunnelsQuery"},"insight":{"items":{"items":{"type":"object"},"type":"array"},"type":"array"},"kind":{"const":"ExperimentFunnelsQuery","type":"string"},"probability":{"additionalProperties":{"type":"number"},"type":"object"},"significance_code":{"$ref":"#/definitions/ExperimentSignificanceCode"},"significant":{"type":"boolean"},"stats_version":{"type":"integer"},"variants":{"items":{"$ref":"#/definitions/ExperimentVariantFunnelsBaseStats"},"type":"array"}},"required":["kind","insight","variants","probability","significant","significance_code","expected_loss","credible_intervals"],"type":"object"},{"additionalProperties":false,"properties":{"count_query":{"$ref":"#/definitions/TrendsQuery"},"credible_intervals":{"additionalProperties":{"items":{"type":"number"},"maxItems":2,"minItems":2,"type":"array"},"type":"object"},"exposure_query":{"$ref":"#/definitions/TrendsQuery"},"insight":{"items":{"type":"object"},"type":"array"},"kind":{"const":"ExperimentTrendsQuery","type":"string"},"p_value":{"type":"number"},"probability":{"additionalProperties":{"type":"number"},"type":"object"},"significance_code":{"$ref":"#/definitions/ExperimentSignificanceCode"},"significant":{"type":"boolean"},"stats_version":{"type":"integer"},"variants":{"items":{"$ref":"#/definitions/ExperimentVariantTrendsBaseStats"},"type":"array"}},"required":["kind","insight","variants","probability","significant","significance_code","p_value","credible_intervals"],"type":"object"},{"properties":{},"type":"object"},{"not":{}},{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"items":{},"type":"array"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{"type":"string"},"type":"array"}},"required":["columns","hogql","results","types"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"missing_actors_count":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"items":{},"type":"array"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{"type":"string"},"type":"array"}},"required":["columns","hogql","limit","offset","results","types"],"type":"object"},{"additionalProperties":false,"properties":{"clickhouse":{"description":"Executed ClickHouse query","type":"string"},"columns":{"description":"Returned columns","items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"explain":{"description":"Query explanation output","items":{"type":"string"},"type":"array"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"metadata":{"$ref":"#/definitions/HogQLMetadataResponse","description":"Query metadata output"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query":{"description":"Input query string","type":"string"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"description":"Types of returned columns","items":{},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"dateFrom":{"type":"string"},"dateTo":{"type":"string"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"$ref":"#/definitions/WebOverviewItem"},"type":"array"},"samplingRate":{"$ref":"#/definitions/SamplingRate"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"samplingRate":{"$ref":"#/definitions/SamplingRate"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"samplingRate":{"$ref":"#/definitions/SamplingRate"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"samplingRate":{"$ref":"#/definitions/SamplingRate"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{"type":"string"},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"$ref":"#/definitions/ErrorTrackingIssue"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"credible_intervals":{"additionalProperties":{"items":{"type":"number"},"maxItems":2,"minItems":2,"type":"array"},"type":"object"},"expected_loss":{"type":"number"},"funnels_query":{"$ref":"#/definitions/FunnelsQuery"},"insight":{"items":{"items":{"type":"object"},"type":"array"},"type":"array"},"kind":{"const":"ExperimentFunnelsQuery","type":"string"},"probability":{"additionalProperties":{"type":"number"},"type":"object"},"significance_code":{"$ref":"#/definitions/ExperimentSignificanceCode"},"significant":{"type":"boolean"},"stats_version":{"type":"integer"},"variants":{"items":{"$ref":"#/definitions/ExperimentVariantFunnelsBaseStats"},"type":"array"}},"required":["credible_intervals","expected_loss","insight","kind","probability","significance_code","significant","variants"],"type":"object"},{"additionalProperties":false,"properties":{"count_query":{"$ref":"#/definitions/TrendsQuery"},"credible_intervals":{"additionalProperties":{"items":{"type":"number"},"maxItems":2,"minItems":2,"type":"array"},"type":"object"},"exposure_query":{"$ref":"#/definitions/TrendsQuery"},"insight":{"items":{"type":"object"},"type":"array"},"kind":{"const":"ExperimentTrendsQuery","type":"string"},"p_value":{"type":"number"},"probability":{"additionalProperties":{"type":"number"},"type":"object"},"significance_code":{"$ref":"#/definitions/ExperimentSignificanceCode"},"significant":{"type":"boolean"},"stats_version":{"type":"integer"},"variants":{"items":{"$ref":"#/definitions/ExperimentVariantTrendsBaseStats"},"type":"array"}},"required":["credible_intervals","insight","kind","p_value","probability","significance_code","significant","variants"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"description":"Wether more breakdown values are available.","type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"type":"object"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"isUdf":{"type":"boolean"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"anyOf":[{"$ref":"#/definitions/FunnelStepsResults"},{"$ref":"#/definitions/FunnelStepsBreakdownResults"},{"$ref":"#/definitions/FunnelTimeToConvertResults"},{"$ref":"#/definitions/FunnelTrendsResults"}]},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"$ref":"#/definitions/RetentionResult"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"type":"object"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"type":"object"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"type":"object"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"$ref":"#/definitions/FunnelCorrelationResult"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"tables":{"additionalProperties":{"$ref":"#/definitions/DatabaseSchemaTable"},"type":"object"}},"required":["tables"],"type":"object"},{"additionalProperties":false,"properties":{"questions":{"items":{"type":"string"},"type":"array"}},"required":["questions"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"$ref":"#/definitions/TeamTaxonomyResponse"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"$ref":"#/definitions/EventTaxonomyResponse"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"$ref":"#/definitions/ActorsPropertyTaxonomyResponse"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"}]},"QuerySchema":{"discriminator":{"propertyName":"kind"},"oneOf":[{"$ref":"#/definitions/EventsNode"},{"$ref":"#/definitions/ActionsNode"},{"$ref":"#/definitions/PersonsNode"},{"$ref":"#/definitions/DataWarehouseNode"},{"$ref":"#/definitions/EventsQuery"},{"$ref":"#/definitions/ActorsQuery"},{"$ref":"#/definitions/InsightActorsQuery"},{"$ref":"#/definitions/InsightActorsQueryOptions"},{"$ref":"#/definitions/SessionsTimelineQuery"},{"$ref":"#/definitions/HogQuery"},{"$ref":"#/definitions/HogQLQuery"},{"$ref":"#/definitions/HogQLMetadata"},{"$ref":"#/definitions/HogQLAutocomplete"},{"$ref":"#/definitions/WebOverviewQuery"},{"$ref":"#/definitions/WebStatsTableQuery"},{"$ref":"#/definitions/WebExternalClicksTableQuery"},{"$ref":"#/definitions/WebGoalsQuery"},{"$ref":"#/definitions/SessionAttributionExplorerQuery"},{"$ref":"#/definitions/ErrorTrackingQuery"},{"$ref":"#/definitions/ExperimentFunnelsQuery"},{"$ref":"#/definitions/ExperimentTrendsQuery"},{"$ref":"#/definitions/DataVisualizationNode"},{"$ref":"#/definitions/DataTableNode"},{"$ref":"#/definitions/SavedInsightNode"},{"$ref":"#/definitions/InsightVizNode"},{"$ref":"#/definitions/TrendsQuery"},{"$ref":"#/definitions/FunnelsQuery"},{"$ref":"#/definitions/RetentionQuery"},{"$ref":"#/definitions/PathsQuery"},{"$ref":"#/definitions/StickinessQuery"},{"$ref":"#/definitions/LifecycleQuery"},{"$ref":"#/definitions/FunnelCorrelationQuery"},{"$ref":"#/definitions/DatabaseSchemaQuery"},{"$ref":"#/definitions/SuggestedQuestionsQuery"},{"$ref":"#/definitions/TeamTaxonomyQuery"},{"$ref":"#/definitions/EventTaxonomyQuery"},{"$ref":"#/definitions/ActorsPropertyTaxonomyQuery"}],"required":["kind"],"type":"object"},"QuerySchemaRoot":{"$ref":"#/definitions/QuerySchema"},"QueryStatus":{"additionalProperties":false,"properties":{"complete":{"default":false,"description":"Whether the query is still running. Will be true if the query is complete, even if it errored. Either result or error will be set.","type":"boolean"},"dashboard_id":{"type":"integer"},"end_time":{"description":"When did the query execution task finish (whether successfully or not).","format":"date-time","type":"string"},"error":{"default":false,"description":"If the query failed, this will be set to true. More information can be found in the error_message field.","type":"boolean"},"error_message":{"default":null,"type":["string","null"]},"expiration_time":{"format":"date-time","type":"string"},"id":{"type":"string"},"insight_id":{"type":"integer"},"labels":{"items":{"type":"string"},"type":"array"},"pickup_time":{"description":"When was the query execution task picked up by a worker.","format":"date-time","type":"string"},"query_async":{"const":true,"default":true,"description":"ONLY async queries use QueryStatus.","type":"boolean"},"query_progress":{"$ref":"#/definitions/ClickhouseQueryProgress"},"results":{},"start_time":{"description":"When was query execution task enqueued.","format":"date-time","type":"string"},"task_id":{"type":"string"},"team_id":{"type":"integer"}},"required":["id","query_async","team_id","error","complete","error_message"],"type":"object"},"QueryStatusResponse":{"additionalProperties":false,"properties":{"query_status":{"$ref":"#/definitions/QueryStatus"}},"required":["query_status"],"type":"object"},"QueryTiming":{"additionalProperties":false,"properties":{"k":{"description":"Key. Shortened to \'k\' to save on data.","type":"string"},"t":{"description":"Time in seconds. Shortened to \'t\' to save on data.","type":"number"}},"required":["k","t"],"type":"object"},"ReasoningMessage":{"additionalProperties":false,"properties":{"content":{"type":"string"},"id":{"type":"string"},"substeps":{"items":{"type":"string"},"type":"array"},"type":{"const":"ai/reasoning","type":"string"}},"required":["type","content"],"type":"object"},"RecordingOrder":{"enum":["duration","recording_duration","inactive_seconds","active_seconds","start_time","console_error_count","click_count","keypress_count","mouse_activity_count","activity_score"],"type":"string"},"RecordingPropertyFilter":{"additionalProperties":false,"properties":{"key":{"anyOf":[{"$ref":"#/definitions/DurationType"},{"const":"snapshot_source","type":"string"},{"const":"visited_page","type":"string"}]},"label":{"type":"string"},"operator":{"$ref":"#/definitions/PropertyOperator"},"type":{"const":"recording","type":"string"},"value":{"$ref":"#/definitions/PropertyFilterValue"}},"required":["key","operator","type"],"type":"object"},"RecordingsQuery":{"additionalProperties":false,"properties":{"actions":{"items":{"type":"object"},"type":"array"},"console_log_filters":{"items":{"$ref":"#/definitions/LogEntryPropertyFilter"},"type":"array"},"date_from":{"default":"-3d","type":["string","null"]},"date_to":{"type":["string","null"]},"events":{"items":{"type":"object"},"type":"array"},"filter_test_accounts":{"type":"boolean"},"having_predicates":{"items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},"kind":{"const":"RecordingsQuery","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"operand":{"$ref":"#/definitions/FilterLogicalOperator","default":"AND"},"order":{"$ref":"#/definitions/RecordingOrder","default":"start_time"},"person_uuid":{"type":"string"},"properties":{"items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},"response":{"$ref":"#/definitions/RecordingsQueryResponse"},"session_ids":{"items":{"type":"string"},"type":"array"},"user_modified_filters":{"type":"object"}},"required":["kind"],"type":"object"},"RecordingsQueryResponse":{"additionalProperties":false,"properties":{"has_next":{"type":"boolean"},"results":{"items":{"$ref":"#/definitions/SessionRecordingType"},"type":"array"}},"required":["results","has_next"],"type":"object"},"RefreshType":{"anyOf":[{"type":"boolean"},{"const":"async","type":"string"},{"const":"async_except_on_cache_miss","type":"string"},{"const":"blocking","type":"string"},{"const":"force_async","type":"string"},{"const":"force_blocking","type":"string"},{"const":"force_cache","type":"string"},{"const":"lazy_async","type":"string"}]},"ResultCustomization":{"anyOf":[{"$ref":"#/definitions/ResultCustomizationByValue"},{"$ref":"#/definitions/ResultCustomizationByPosition"}]},"ResultCustomizationBase":{"additionalProperties":false,"properties":{"color":{"$ref":"#/definitions/DataColorToken"}},"required":["color"],"type":"object"},"ResultCustomizationBy":{"enum":["value","position"],"type":"string"},"ResultCustomizationByPosition":{"additionalProperties":false,"properties":{"assignmentBy":{"const":"position","type":"string"},"color":{"$ref":"#/definitions/DataColorToken"}},"required":["assignmentBy","color"],"type":"object"},"ResultCustomizationByValue":{"additionalProperties":false,"properties":{"assignmentBy":{"const":"value","type":"string"},"color":{"$ref":"#/definitions/DataColorToken"}},"required":["assignmentBy","color"],"type":"object"},"RetentionEntity":{"additionalProperties":false,"properties":{"custom_name":{"type":"string"},"id":{"type":["string","number"]},"kind":{"$ref":"#/definitions/RetentionEntityKind"},"name":{"type":"string"},"order":{"type":"integer"},"type":{"$ref":"#/definitions/EntityType"},"uuid":{"type":"string"}},"type":"object"},"RetentionEntityKind":{"enum":["ActionsNode","EventsNode"],"type":"string"},"RetentionFilter":{"additionalProperties":false,"properties":{"cumulative":{"type":"boolean"},"period":{"$ref":"#/definitions/RetentionPeriod","default":"Day"},"retentionReference":{"description":"Whether retention is with regard to initial cohort size, or that of the previous period.","enum":["total","previous"],"type":"string"},"retentionType":{"$ref":"#/definitions/RetentionType"},"returningEntity":{"$ref":"#/definitions/RetentionEntity"},"showMean":{"type":"boolean"},"targetEntity":{"$ref":"#/definitions/RetentionEntity"},"totalIntervals":{"default":11,"type":"integer"}},"type":"object"},"RetentionFilterLegacy":{"additionalProperties":false,"description":"`RetentionFilterType` minus everything inherited from `FilterType`","properties":{"cumulative":{"type":"boolean"},"period":{"$ref":"#/definitions/RetentionPeriod"},"retention_reference":{"description":"Whether retention is with regard to initial cohort size, or that of the previous period.","enum":["total","previous"],"type":"string"},"retention_type":{"$ref":"#/definitions/RetentionType"},"returning_entity":{"$ref":"#/definitions/RetentionEntity"},"show_mean":{"type":"boolean"},"target_entity":{"$ref":"#/definitions/RetentionEntity"},"total_intervals":{"type":"integer"}},"type":"object"},"RetentionPeriod":{"enum":["Hour","Day","Week","Month"],"type":"string"},"RetentionQuery":{"additionalProperties":false,"properties":{"aggregation_group_type_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Groups aggregation"},"dataColorTheme":{"description":"Colors used in the insight\'s visualization","type":["number","null"]},"dateRange":{"$ref":"#/definitions/DateRange","description":"Date range for the query"},"filterTestAccounts":{"default":false,"description":"Exclude internal and test users by applying the respective filters","type":"boolean"},"kind":{"const":"RetentionQuery","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"properties":{"anyOf":[{"items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},{"$ref":"#/definitions/PropertyGroupFilter"}],"default":[],"description":"Property filters for all series"},"response":{"$ref":"#/definitions/RetentionQueryResponse"},"retentionFilter":{"$ref":"#/definitions/RetentionFilter","description":"Properties specific to the retention insight"},"samplingFactor":{"description":"Sampling rate","type":["number","null"]}},"required":["kind","retentionFilter"],"type":"object"},"RetentionQueryResponse":{"additionalProperties":false,"properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"$ref":"#/definitions/RetentionResult"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},"RetentionResult":{"additionalProperties":false,"properties":{"date":{"format":"date-time","type":"string"},"label":{"type":"string"},"values":{"items":{"$ref":"#/definitions/RetentionValue"},"type":"array"}},"required":["values","label","date"],"type":"object"},"RetentionType":{"enum":["retention_recurring","retention_first_time"],"type":"string"},"RetentionValue":{"additionalProperties":false,"properties":{"count":{"type":"integer"}},"required":["count"],"type":"object"},"RootAssistantMessage":{"anyOf":[{"$ref":"#/definitions/VisualizationMessage"},{"$ref":"#/definitions/ReasoningMessage"},{"$ref":"#/definitions/AssistantMessage"},{"$ref":"#/definitions/HumanMessage"},{"$ref":"#/definitions/FailureMessage"},{"$ref":"#/definitions/RouterMessage"}]},"RouterMessage":{"additionalProperties":false,"properties":{"content":{"type":"string"},"id":{"type":"string"},"type":{"const":"ai/router","type":"string"}},"required":["type","content"],"type":"object"},"SamplingRate":{"additionalProperties":false,"properties":{"denominator":{"type":"number"},"numerator":{"type":"number"}},"required":["numerator"],"type":"object"},"SavedInsightNode":{"additionalProperties":false,"properties":{"allowSorting":{"description":"Can the user click on column headers to sort the table? (default: true)","type":"boolean"},"embedded":{"description":"Query is embedded inside another bordered component","type":"boolean"},"expandable":{"description":"Can expand row to show raw event data (default: true)","type":"boolean"},"full":{"description":"Show with most visual options enabled. Used in insight scene.","type":"boolean"},"hidePersonsModal":{"type":"boolean"},"kind":{"const":"SavedInsightNode","type":"string"},"propertiesViaUrl":{"description":"Link properties via the URL (default: false)","type":"boolean"},"shortId":{"$ref":"#/definitions/InsightShortId"},"showActions":{"description":"Show the kebab menu at the end of the row","type":"boolean"},"showColumnConfigurator":{"description":"Show a button to configure the table\'s columns if possible","type":"boolean"},"showCorrelationTable":{"type":"boolean"},"showDateRange":{"description":"Show date range selector","type":"boolean"},"showElapsedTime":{"description":"Show the time it takes to run a query","type":"boolean"},"showEventFilter":{"description":"Include an event filter above the table (EventsNode only)","type":"boolean"},"showExport":{"description":"Show the export button","type":"boolean"},"showFilters":{"type":"boolean"},"showHeader":{"type":"boolean"},"showHogQLEditor":{"description":"Include a HogQL query editor above HogQL tables","type":"boolean"},"showLastComputation":{"type":"boolean"},"showLastComputationRefresh":{"type":"boolean"},"showOpenEditorButton":{"description":"Show a button to open the current query as a new insight. (default: true)","type":"boolean"},"showPersistentColumnConfigurator":{"description":"Show a button to configure and persist the table\'s default columns if possible","type":"boolean"},"showPropertyFilter":{"anyOf":[{"type":"boolean"},{"items":{"$ref":"#/definitions/TaxonomicFilterGroupType"},"type":"array"}],"description":"Include a property filter above the table"},"showReload":{"description":"Show a reload button","type":"boolean"},"showResults":{"type":"boolean"},"showResultsTable":{"description":"Show a results table","type":"boolean"},"showSavedQueries":{"description":"Shows a list of saved queries","type":"boolean"},"showSearch":{"description":"Include a free text search field (PersonsNode only)","type":"boolean"},"showTable":{"type":"boolean"},"showTestAccountFilters":{"description":"Show filter to exclude test accounts","type":"boolean"},"showTimings":{"description":"Show a detailed query timing breakdown","type":"boolean"},"suppressSessionAnalysisWarning":{"type":"boolean"},"vizSpecificOptions":{"$ref":"#/definitions/VizSpecificOptions"}},"required":["kind","shortId"],"type":"object"},"SessionAttributionExplorerQuery":{"additionalProperties":false,"properties":{"filters":{"additionalProperties":false,"properties":{"dateRange":{"$ref":"#/definitions/DateRange"},"properties":{"items":{"$ref":"#/definitions/SessionPropertyFilter"},"type":"array"}},"type":"object"},"groupBy":{"items":{"$ref":"#/definitions/SessionAttributionGroupBy"},"type":"array"},"kind":{"const":"SessionAttributionExplorerQuery","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"response":{"$ref":"#/definitions/SessionAttributionExplorerQueryResponse"}},"required":["groupBy","kind"],"type":"object"},"SessionAttributionExplorerQueryResponse":{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["results"],"type":"object"},"SessionAttributionGroupBy":{"enum":["ChannelType","Medium","Source","Campaign","AdIds","ReferringDomain","InitialURL"],"type":"string"},"SessionPropertyFilter":{"additionalProperties":false,"properties":{"key":{"type":"string"},"label":{"type":"string"},"operator":{"$ref":"#/definitions/PropertyOperator"},"type":{"const":"session","type":"string"},"value":{"$ref":"#/definitions/PropertyFilterValue"}},"required":["key","operator","type"],"type":"object"},"SessionRecordingType":{"additionalProperties":false,"properties":{"active_seconds":{"type":"number"},"activity_score":{"description":"calculated on the backend so that we can sort by it, definition may change over time","type":"number"},"click_count":{"type":"number"},"console_error_count":{"type":"number"},"console_log_count":{"type":"number"},"console_warn_count":{"type":"number"},"distinct_id":{"type":"string"},"email":{"type":"string"},"end_time":{"description":"When the recording ends in ISO format.","type":"string"},"id":{"type":"string"},"inactive_seconds":{"type":"number"},"keypress_count":{"type":"number"},"matching_events":{"description":"List of matching events. *","items":{"$ref":"#/definitions/MatchedRecording"},"type":"array"},"mouse_activity_count":{"description":"count of all mouse activity in the recording, not just clicks","type":"number"},"ongoing":{"description":"whether we have received data for this recording in the last 5 minutes (assumes the recording was loaded from ClickHouse)\\n*","type":"boolean"},"person":{"$ref":"#/definitions/PersonType"},"recording_duration":{"description":"Length of recording in seconds.","type":"number"},"snapshot_source":{"enum":["web","mobile","unknown"],"type":"string"},"start_time":{"description":"When the recording starts in ISO format.","type":"string"},"start_url":{"type":"string"},"storage":{"description":"Where this recording information was loaded from","enum":["object_storage_lts","object_storage"],"type":"string"},"summary":{"type":"string"},"viewed":{"description":"Whether this recording has been viewed already.","type":"boolean"}},"required":["id","viewed","recording_duration","start_time","end_time","snapshot_source"],"type":"object"},"SessionsTimelineQuery":{"additionalProperties":false,"properties":{"after":{"description":"Only fetch sessions that started after this timestamp (default: \'-24h\')","type":"string"},"before":{"description":"Only fetch sessions that started before this timestamp (default: \'+5s\')","type":"string"},"kind":{"const":"SessionsTimelineQuery","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"personId":{"description":"Fetch sessions only for a given person","type":"string"},"response":{"$ref":"#/definitions/SessionsTimelineQueryResponse"}},"required":["kind"],"type":"object"},"SessionsTimelineQueryResponse":{"additionalProperties":false,"properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"$ref":"#/definitions/TimelineEntry"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},"StepOrderValue":{"enum":["strict","unordered","ordered"],"type":"string"},"StickinessFilter":{"additionalProperties":false,"properties":{"display":{"$ref":"#/definitions/ChartDisplayType"},"hiddenLegendIndexes":{"items":{"type":"integer"},"type":"array"},"showLegend":{"type":"boolean"},"showValuesOnSeries":{"type":"boolean"},"stickinessCriteria":{"additionalProperties":false,"properties":{"operator":{"$ref":"#/definitions/StickinessOperator"},"value":{"type":"integer"}},"required":["operator","value"],"type":"object"}},"type":"object"},"StickinessFilterLegacy":{"additionalProperties":false,"description":"`StickinessFilterType` minus everything inherited from `FilterType` and persons modal related params","properties":{"compare":{"type":"boolean"},"compare_to":{"type":"string"},"display":{"$ref":"#/definitions/ChartDisplayType"},"hidden_legend_keys":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"not":{}}]},"type":"object"},"show_legend":{"type":"boolean"},"show_values_on_series":{"type":"boolean"}},"type":"object"},"StickinessOperator":{"enum":["gte","lte","exact"],"type":"string"},"StickinessQuery":{"additionalProperties":false,"properties":{"compareFilter":{"$ref":"#/definitions/CompareFilter","description":"Compare to date range"},"dataColorTheme":{"description":"Colors used in the insight\'s visualization","type":["number","null"]},"dateRange":{"$ref":"#/definitions/DateRange","description":"Date range for the query"},"filterTestAccounts":{"default":false,"description":"Exclude internal and test users by applying the respective filters","type":"boolean"},"interval":{"$ref":"#/definitions/IntervalType","default":"day","description":"Granularity of the response. Can be one of `hour`, `day`, `week` or `month`"},"kind":{"const":"StickinessQuery","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"properties":{"anyOf":[{"items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},{"$ref":"#/definitions/PropertyGroupFilter"}],"default":[],"description":"Property filters for all series"},"response":{"$ref":"#/definitions/StickinessQueryResponse"},"samplingFactor":{"description":"Sampling rate","type":["number","null"]},"series":{"description":"Events and actions to include","items":{"$ref":"#/definitions/AnyEntityNode"},"type":"array"},"stickinessFilter":{"$ref":"#/definitions/StickinessFilter","description":"Properties specific to the stickiness insight"}},"required":["kind","series"],"type":"object"},"StickinessQueryResponse":{"additionalProperties":false,"properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"type":"object"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},"SuggestedQuestionsQuery":{"additionalProperties":false,"properties":{"kind":{"const":"SuggestedQuestionsQuery","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"response":{"$ref":"#/definitions/SuggestedQuestionsQueryResponse"}},"required":["kind"],"type":"object"},"SuggestedQuestionsQueryResponse":{"additionalProperties":false,"properties":{"questions":{"items":{"type":"string"},"type":"array"}},"required":["questions"],"type":"object"},"TableSettings":{"additionalProperties":false,"properties":{"columns":{"items":{"$ref":"#/definitions/ChartAxis"},"type":"array"},"conditionalFormatting":{"items":{"$ref":"#/definitions/ConditionalFormattingRule"},"type":"array"}},"type":"object"},"TaxonomicFilterGroupType":{"enum":["metadata","actions","cohorts","cohorts_with_all","data_warehouse","data_warehouse_properties","data_warehouse_person_properties","elements","events","event_properties","event_feature_flags","numerical_event_properties","person_properties","pageview_urls","screens","custom_events","wildcard","groups","persons","feature_flags","insights","experiments","plugins","dashboards","name_groups","session_properties","hogql_expression","notebooks","log_entries","replay"],"type":"string"},"TeamTaxonomyItem":{"additionalProperties":false,"properties":{"count":{"type":"integer"},"event":{"type":"string"}},"required":["event","count"],"type":"object"},"TeamTaxonomyQuery":{"additionalProperties":false,"properties":{"kind":{"const":"TeamTaxonomyQuery","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"response":{"$ref":"#/definitions/TeamTaxonomyQueryResponse"}},"required":["kind"],"type":"object"},"TeamTaxonomyQueryResponse":{"additionalProperties":false,"description":"All analytics query responses must inherit from this.","properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"$ref":"#/definitions/TeamTaxonomyResponse"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},"TeamTaxonomyResponse":{"items":{"$ref":"#/definitions/TeamTaxonomyItem"},"type":"array"},"TestBasicQueryResponse":{"additionalProperties":false,"deprecated":"Only exported for use in test_query_runner.py! Don\'t use anywhere else.","properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},"TestCachedBasicQueryResponse":{"additionalProperties":false,"deprecated":"Only exported for use in test_query_runner.py! Don\'t use anywhere else.","properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","results","timezone"],"type":"object"},"TimelineEntry":{"additionalProperties":false,"properties":{"events":{"items":{"$ref":"#/definitions/EventType"},"type":"array"},"recording_duration_s":{"description":"Duration of the recording in seconds.","type":"number"},"sessionId":{"description":"Session ID. None means out-of-session events","type":"string"}},"required":["events"],"type":"object"},"TrendsAlertConfig":{"additionalProperties":false,"properties":{"check_ongoing_interval":{"type":"boolean"},"series_index":{"type":"integer"},"type":{"const":"TrendsAlertConfig","type":"string"}},"required":["type","series_index"],"type":"object"},"TrendsFilter":{"additionalProperties":false,"properties":{"aggregationAxisFormat":{"$ref":"#/definitions/AggregationAxisFormat","default":"numeric"},"aggregationAxisPostfix":{"type":"string"},"aggregationAxisPrefix":{"type":"string"},"breakdown_histogram_bin_count":{"type":"number"},"decimalPlaces":{"type":"number"},"display":{"$ref":"#/definitions/ChartDisplayType","default":"ActionsLineGraph"},"formula":{"type":"string"},"hiddenLegendIndexes":{"items":{"type":"integer"},"type":"array"},"resultCustomizationBy":{"$ref":"#/definitions/ResultCustomizationBy","default":"value","description":"Wether result datasets are associated by their values or by their order."},"resultCustomizations":{"anyOf":[{"additionalProperties":{"$ref":"#/definitions/ResultCustomizationByValue"},"type":"object"},{"additionalProperties":{"$ref":"#/definitions/ResultCustomizationByPosition"},"propertyNames":{"type":"string"},"type":"object"}],"description":"Customizations for the appearance of result datasets."},"showAlertThresholdLines":{"default":false,"type":"boolean"},"showLabelsOnSeries":{"type":"boolean"},"showLegend":{"default":false,"type":"boolean"},"showPercentStackView":{"default":false,"type":"boolean"},"showValuesOnSeries":{"default":false,"type":"boolean"},"smoothingIntervals":{"default":1,"type":"integer"},"yAxisScaleType":{"enum":["log10","linear"],"type":"string"}},"type":"object"},"TrendsFilterLegacy":{"additionalProperties":false,"description":"`TrendsFilterType` minus everything inherited from `FilterType` and `shown_as`","properties":{"aggregation_axis_format":{"$ref":"#/definitions/AggregationAxisFormat"},"aggregation_axis_postfix":{"type":"string"},"aggregation_axis_prefix":{"type":"string"},"breakdown_histogram_bin_count":{"type":"number"},"compare":{"type":"boolean"},"compare_to":{"type":"string"},"decimal_places":{"type":"number"},"display":{"$ref":"#/definitions/ChartDisplayType"},"formula":{"type":"string"},"hidden_legend_keys":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"not":{}}]},"type":"object"},"show_alert_threshold_lines":{"type":"boolean"},"show_labels_on_series":{"type":"boolean"},"show_legend":{"type":"boolean"},"show_percent_stack_view":{"type":"boolean"},"show_values_on_series":{"type":"boolean"},"smoothing_intervals":{"type":"number"},"y_axis_scale_type":{"enum":["log10","linear"],"type":"string"}},"type":"object"},"TrendsQuery":{"additionalProperties":false,"properties":{"aggregation_group_type_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Groups aggregation"},"breakdownFilter":{"$ref":"#/definitions/BreakdownFilter","description":"Breakdown of the events and actions"},"compareFilter":{"$ref":"#/definitions/CompareFilter","description":"Compare to date range"},"conversionGoal":{"anyOf":[{"$ref":"#/definitions/WebAnalyticsConversionGoal"},{"type":"null"}],"description":"Whether we should be comparing against a specific conversion goal"},"dataColorTheme":{"description":"Colors used in the insight\'s visualization","type":["number","null"]},"dateRange":{"$ref":"#/definitions/DateRange","description":"Date range for the query"},"filterTestAccounts":{"default":false,"description":"Exclude internal and test users by applying the respective filters","type":"boolean"},"interval":{"$ref":"#/definitions/IntervalType","default":"day","description":"Granularity of the response. Can be one of `hour`, `day`, `week` or `month`"},"kind":{"const":"TrendsQuery","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"properties":{"anyOf":[{"items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},{"$ref":"#/definitions/PropertyGroupFilter"}],"default":[],"description":"Property filters for all series"},"response":{"$ref":"#/definitions/TrendsQueryResponse"},"samplingFactor":{"description":"Sampling rate","type":["number","null"]},"series":{"description":"Events and actions to include","items":{"$ref":"#/definitions/AnyEntityNode"},"type":"array"},"trendsFilter":{"$ref":"#/definitions/TrendsFilter","description":"Properties specific to the trends insight"}},"required":["kind","series"],"type":"object"},"TrendsQueryResponse":{"additionalProperties":false,"properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"description":"Wether more breakdown values are available.","type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"type":"object"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},"VisualizationMessage":{"additionalProperties":false,"properties":{"answer":{"anyOf":[{"$ref":"#/definitions/AssistantTrendsQuery"},{"$ref":"#/definitions/AssistantFunnelsQuery"},{"$ref":"#/definitions/AssistantRetentionQuery"}]},"id":{"type":"string"},"initiator":{"type":"string"},"plan":{"type":"string"},"type":{"const":"ai/viz","type":"string"}},"required":["type"],"type":"object"},"VizSpecificOptions":{"additionalProperties":false,"description":"Chart specific rendering options. Use ChartRenderingMetadata for non-serializable values, e.g. onClick handlers","properties":{"ActionsPie":{"additionalProperties":false,"properties":{"disableHoverOffset":{"type":"boolean"},"hideAggregation":{"type":"boolean"}},"type":"object"},"RETENTION":{"additionalProperties":false,"properties":{"hideLineGraph":{"type":"boolean"},"hideSizeColumn":{"type":"boolean"},"useSmallLayout":{"type":"boolean"}},"type":"object"}},"type":"object"},"WebAnalyticsConversionGoal":{"anyOf":[{"$ref":"#/definitions/ActionConversionGoal"},{"$ref":"#/definitions/CustomEventConversionGoal"}]},"WebAnalyticsPropertyFilter":{"anyOf":[{"$ref":"#/definitions/EventPropertyFilter"},{"$ref":"#/definitions/PersonPropertyFilter"},{"$ref":"#/definitions/SessionPropertyFilter"}]},"WebAnalyticsPropertyFilters":{"items":{"$ref":"#/definitions/WebAnalyticsPropertyFilter"},"type":"array"},"WebExternalClicksTableQuery":{"additionalProperties":false,"properties":{"compareFilter":{"$ref":"#/definitions/CompareFilter"},"conversionGoal":{"anyOf":[{"$ref":"#/definitions/WebAnalyticsConversionGoal"},{"type":"null"}]},"dateRange":{"$ref":"#/definitions/DateRange"},"filterTestAccounts":{"type":"boolean"},"kind":{"const":"WebExternalClicksTableQuery","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"properties":{"$ref":"#/definitions/WebAnalyticsPropertyFilters"},"response":{"$ref":"#/definitions/WebExternalClicksTableQueryResponse"},"sampling":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"},"forceSamplingRate":{"$ref":"#/definitions/SamplingRate"}},"type":"object"},"stripQueryParams":{"type":"boolean"},"useSessionsTable":{"deprecated":"ignored, always treated as enabled *","type":"boolean"}},"required":["kind","properties"],"type":"object"},"WebExternalClicksTableQueryResponse":{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"samplingRate":{"$ref":"#/definitions/SamplingRate"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["results"],"type":"object"},"WebGoalsQuery":{"additionalProperties":false,"properties":{"compareFilter":{"$ref":"#/definitions/CompareFilter"},"conversionGoal":{"anyOf":[{"$ref":"#/definitions/WebAnalyticsConversionGoal"},{"type":"null"}]},"dateRange":{"$ref":"#/definitions/DateRange"},"filterTestAccounts":{"type":"boolean"},"kind":{"const":"WebGoalsQuery","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"properties":{"$ref":"#/definitions/WebAnalyticsPropertyFilters"},"response":{"$ref":"#/definitions/WebGoalsQueryResponse"},"sampling":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"},"forceSamplingRate":{"$ref":"#/definitions/SamplingRate"}},"type":"object"},"useSessionsTable":{"deprecated":"ignored, always treated as enabled *","type":"boolean"}},"required":["kind","properties"],"type":"object"},"WebGoalsQueryResponse":{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"samplingRate":{"$ref":"#/definitions/SamplingRate"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["results"],"type":"object"},"WebOverviewItem":{"additionalProperties":false,"properties":{"changeFromPreviousPct":{"type":"number"},"isIncreaseBad":{"type":"boolean"},"key":{"type":"string"},"kind":{"$ref":"#/definitions/WebOverviewItemKind"},"previous":{"type":"number"},"value":{"type":"number"}},"required":["key","kind"],"type":"object"},"WebOverviewItemKind":{"enum":["unit","duration_s","percentage"],"type":"string"},"WebOverviewQuery":{"additionalProperties":false,"properties":{"compareFilter":{"$ref":"#/definitions/CompareFilter"},"conversionGoal":{"anyOf":[{"$ref":"#/definitions/WebAnalyticsConversionGoal"},{"type":"null"}]},"dateRange":{"$ref":"#/definitions/DateRange"},"filterTestAccounts":{"type":"boolean"},"includeLCPScore":{"type":"boolean"},"kind":{"const":"WebOverviewQuery","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"properties":{"$ref":"#/definitions/WebAnalyticsPropertyFilters"},"response":{"$ref":"#/definitions/WebOverviewQueryResponse"},"sampling":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"},"forceSamplingRate":{"$ref":"#/definitions/SamplingRate"}},"type":"object"},"useSessionsTable":{"deprecated":"ignored, always treated as enabled *","type":"boolean"}},"required":["kind","properties"],"type":"object"},"WebOverviewQueryResponse":{"additionalProperties":false,"properties":{"dateFrom":{"type":"string"},"dateTo":{"type":"string"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"$ref":"#/definitions/WebOverviewItem"},"type":"array"},"samplingRate":{"$ref":"#/definitions/SamplingRate"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},"WebStatsBreakdown":{"enum":["Page","InitialPage","ExitPage","ExitClick","ScreenName","InitialChannelType","InitialReferringDomain","InitialUTMSource","InitialUTMCampaign","InitialUTMMedium","InitialUTMTerm","InitialUTMContent","InitialUTMSourceMediumCampaign","Browser","OS","Viewport","DeviceType","Country","Region","City","Timezone","Language"],"type":"string"},"WebStatsTableQuery":{"additionalProperties":false,"properties":{"breakdownBy":{"$ref":"#/definitions/WebStatsBreakdown"},"compareFilter":{"$ref":"#/definitions/CompareFilter"},"conversionGoal":{"anyOf":[{"$ref":"#/definitions/WebAnalyticsConversionGoal"},{"type":"null"}]},"dateRange":{"$ref":"#/definitions/DateRange"},"doPathCleaning":{"type":"boolean"},"filterTestAccounts":{"type":"boolean"},"includeBounceRate":{"type":"boolean"},"includeScrollDepth":{"type":"boolean"},"kind":{"const":"WebStatsTableQuery","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"properties":{"$ref":"#/definitions/WebAnalyticsPropertyFilters"},"response":{"$ref":"#/definitions/WebStatsTableQueryResponse"},"sampling":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"},"forceSamplingRate":{"$ref":"#/definitions/SamplingRate"}},"type":"object"},"useSessionsTable":{"deprecated":"ignored, always treated as enabled *","type":"boolean"}},"required":["breakdownBy","kind","properties"],"type":"object"},"WebStatsTableQueryResponse":{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"samplingRate":{"$ref":"#/definitions/SamplingRate"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["results"],"type":"object"},"YAxisSettings":{"additionalProperties":false,"properties":{"scale":{"enum":["linear","logarithmic"],"type":"string"},"startAtZero":{"description":"Whether the Y axis should start at zero","type":"boolean"}},"type":"object"},"numerical_key":{"type":"string"}}}')}},__webpack_require__=>{var __webpack_exec__=moduleId=>__webpack_require__(__webpack_require__.s=moduleId);__webpack_require__.O(0,[97192],()=>__webpack_exec__("./storybook-config-entry.js")),__webpack_require__.O()}]); -//# sourceMappingURL=main.8757ec66.iframe.bundle.js.map \ No newline at end of file + `},responseJSON=await api.ZP.query(query),{results}=responseJSON,events=results?.map(r=>{let distinct_id=r[0],properties=JSON.parse(r[1]),personProperties=JSON.parse(r[2]);return{distinct_id,properties,personProperties}})||[];return{...values.surveyOpenTextResults,[questionIndex]:{events}}}}}}),(0,index_esm.listeners)(_ref11=>{let{actions,values}=_ref11;return{createSurveySuccess:_ref12=>{let{survey}=_ref12;src.UJ.success((0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["Survey ",survey.name," created"]})),actions.loadSurveys(),kea_router_lib.router.actions.replace(urls.j.survey(survey.id)),actions.reportSurveyCreated(survey)},updateSurveySuccess:_ref13=>{let{survey}=_ref13;src.UJ.success((0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["Survey ",survey.name," updated"]})),actions.editingSurvey(!1),actions.reportSurveyEdited(survey),actions.loadSurveys()},duplicateSurveySuccess:()=>{actions.loadSurveys()},launchSurveySuccess:_ref14=>{let{survey}=_ref14;src.UJ.success((0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["Survey ",survey.name," launched"]})),actions.loadSurveys()},stopSurveySuccess:()=>{actions.loadSurveys()},resumeSurveySuccess:()=>{actions.loadSurveys()},archiveSurvey:()=>{actions.updateSurvey({archived:!0})},loadSurveySuccess:()=>{actions.loadSurveyUserStats()},resetSurveyResponseLimits:()=>{actions.setSurveyValue("responses_limit",null)},resetSurveyAdaptiveSampling:()=>{actions.setSurveyValues({response_sampling_interval:null,response_sampling_interval_type:null,response_sampling_limit:null,response_sampling_start_date:null,response_sampling_daily_limits:null})},resetTargeting:()=>{actions.setSurveyValue("linked_flag_id",constants.Uo.linked_flag_id),actions.setSurveyValue("targeting_flag_filters",constants.Uo.targeting_flag_filters),actions.setSurveyValue("linked_flag",constants.Uo.linked_flag),actions.setSurveyValue("targeting_flag",constants.Uo.targeting_flag),actions.setSurveyValue("conditions",constants.Uo.conditions),actions.setSurveyValue("remove_targeting_flag",!0),actions.setSurveyValue("responses_limit",constants.Uo.responses_limit),actions.setSurveyValues({iteration_count:constants.Uo.iteration_count,iteration_frequency_days:constants.Uo.iteration_frequency_days})},submitSurveyFailure:async()=>{(0,utils.bv)(values.flagPropertyErrors)||values.urlMatchTypeValidationError?actions.setSelectedSection(SurveyEditSection.DisplayConditions):actions.setSelectedSection(SurveyEditSection.Steps),setTimeout(()=>document.querySelector(".Field--error")?.scrollIntoView({block:"center",behavior:"smooth"}),5)}}}),(0,index_esm.reducers)({isEditingSurvey:[!1,{editingSurvey:(_,_ref15)=>{let{editing}=_ref15;return editing}}],surveyMissing:[!1,{setSurveyMissing:()=>!0}],dataCollectionType:["until_stopped",{setDataCollectionType:(_,_ref16)=>{let{dataCollectionType}=_ref16;return dataCollectionType}}],survey:[{...constants.Uo},{setDefaultForQuestionType:(state,_ref17)=>{let{idx,type,isEditingQuestion,isEditingDescription,isEditingThankYouMessage}=_ref17,question=isEditingQuestion?state.questions[idx].question:constants.Tc[type].questions[0].question,description=isEditingDescription?state.questions[idx].description:constants.Tc[type].questions[0].description,thankYouMessageHeader=isEditingThankYouMessage?state.appearance?.thankYouMessageHeader:constants.Tc[type].appearance.thankYouMessageHeader,newQuestions=[...state.questions];return newQuestions[idx]={...state.questions[idx],...constants.Tc[type].questions[0],question,description},{...state,questions:newQuestions,appearance:{...state.appearance,...constants.Tc[type].appearance,thankYouMessageHeader}}},setSurveyTemplateValues:(_,_ref18)=>{let{template}=_ref18,newTemplateSurvey={...constants.Uo,...template};return newTemplateSurvey},setQuestionBranchingType:(state,_ref19)=>{let{questionIndex,type,specificQuestionIndex}=_ref19,newQuestions=[...state.questions],question=newQuestions[questionIndex];if(type===types.kv.NextQuestion)delete question.branching;else if(type===types.kv.End)question.branching={type:types.kv.End};else if(type===types.kv.ResponseBased){if(question.type!==types.I9.Rating&&question.type!==types.I9.SingleChoice)throw Error(`Survey question type must be ${types.I9.Rating} or ${types.I9.SingleChoice}`);question.branching={type:types.kv.ResponseBased,responseValues:{}}}else type===types.kv.SpecificQuestion&&(question.branching={type:types.kv.SpecificQuestion,index:specificQuestionIndex});return newQuestions[questionIndex]=question,{...state,questions:newQuestions}},setResponseBasedBranchingForQuestion:(state,_ref20)=>{let{questionIndex,responseValue,nextStep,specificQuestionIndex}=_ref20,newQuestions=[...state.questions],question=newQuestions[questionIndex];if(question.type!==types.I9.Rating&&question.type!==types.I9.SingleChoice)throw Error(`Survey question type must be ${types.I9.Rating} or ${types.I9.SingleChoice}`);if(question.branching?.type!==types.kv.ResponseBased)throw Error(`Survey question branching type must be ${types.kv.ResponseBased}`);return"responseValues"in question.branching&&(nextStep===types.kv.NextQuestion?delete question.branching.responseValues[responseValue]:nextStep===types.kv.End?question.branching.responseValues[responseValue]=types.kv.End:nextStep===types.kv.SpecificQuestion&&(question.branching.responseValues[responseValue]=specificQuestionIndex)),newQuestions[questionIndex]=question,{...state,questions:newQuestions}},resetBranchingForQuestion:(state,_ref21)=>{let{questionIndex}=_ref21,newQuestions=[...state.questions],question=newQuestions[questionIndex];return delete question.branching,newQuestions[questionIndex]=question,{...state,questions:newQuestions}},deleteBranchingLogic:state=>{let newQuestions=[...state.questions];return newQuestions.forEach(question=>{delete question.branching}),{...state,questions:newQuestions}}}],selectedPageIndex:[0,{setSelectedPageIndex:(_,_ref22)=>{let{idx}=_ref22;return idx}}],selectedSection:[SurveyEditSection.Steps,{setSelectedSection:(_,_ref23)=>{let{section}=_ref23;return section}}],surveyRatingResultsReady:[{},{loadSurveyRatingResultsSuccess:(state,_ref24)=>{let{payload}=_ref24;return payload&&payload.hasOwnProperty("questionIndex")?{...state,[payload.questionIndex]:!0}:{...state}}}],surveyRecurringNPSResultsReady:[{},{loadSurveyRecurringNPSResultsSuccess:(state,_ref25)=>{let{payload}=_ref25;return payload&&payload.hasOwnProperty("questionIndex")?{...state,[payload.questionIndex]:!0}:{...state}}}],surveySingleChoiceResultsReady:[{},{loadSurveySingleChoiceResultsSuccess:(state,_ref26)=>{let{payload}=_ref26;return payload&&payload.hasOwnProperty("questionIndex")?{...state,[payload.questionIndex]:!0}:{...state}}}],surveyMultipleChoiceResultsReady:[{},{loadSurveyMultipleChoiceResultsSuccess:(state,_ref27)=>{let{payload}=_ref27;return payload&&payload.hasOwnProperty("questionIndex")?{...state,[payload.questionIndex]:!0}:{...state}}}],surveyOpenTextResultsReady:[{},{loadSurveyOpenTextResultsSuccess:(state,_ref28)=>{let{payload}=_ref28;return payload&&payload.hasOwnProperty("questionIndex")?{...state,[payload.questionIndex]:!0}:{...state}}}],writingHTMLDescription:[!1,{setWritingHTMLDescription:(_,_ref29)=>{let{writingHTML}=_ref29;return writingHTML}}],schedule:["once",{setSchedule:(_,_ref30)=>{let{schedule}=_ref30;return schedule}}],flagPropertyErrors:[null,{setFlagPropertyErrors:(_,_ref31)=>{let{errors}=_ref31;return errors}}]}),(0,index_esm.selectors)({isSurveyRunning:[s=>[s.survey],survey=>!!(survey.start_date&&!survey.end_date)],surveyUsesLimit:[s=>[s.survey],survey=>!!(survey.responses_limit&&survey.responses_limit>0)],surveyUsesAdaptiveLimit:[s=>[s.survey],survey=>!!(survey.response_sampling_interval&&survey.response_sampling_interval>0&&""!==survey.response_sampling_interval_type&&survey.response_sampling_limit&&survey.response_sampling_limit>0)],surveyShufflingQuestionsAvailable:[s=>[s.survey],survey=>survey.questions.length>1],showSurveyRepeatSchedule:[s=>[s.schedule],schedule=>"recurring"==schedule],descriptionContentType:[s=>[s.survey],survey=>questionIndex=>survey.questions[questionIndex].descriptionContentType],surveyRepeatedActivationAvailable:[s=>[s.survey],survey=>survey.conditions?.events?.values!=void 0&&survey.conditions?.events?.values?.length>0],hasTargetingSet:[s=>[s.survey],survey=>{let hasLinkedFlag=!!survey.linked_flag_id||survey.linked_flag&&Object.keys(survey.linked_flag).length>0,hasTargetingFlag=survey.targeting_flag&&Object.keys(survey.targeting_flag).length>0||survey.targeting_flag_filters&&Object.keys(survey.targeting_flag_filters).length>0,hasOtherConditions=survey.conditions&&Object.keys(survey.conditions).length>0;return!!hasLinkedFlag||!!hasTargetingFlag||!!hasOtherConditions}],breadcrumbs:[s=>[s.survey],survey=>[{key:sceneTypes.x.Surveys,name:"Surveys",path:urls.j.surveys()},{key:[sceneTypes.x.Survey,survey?.id||"new"],name:survey.name}]],dataTableQuery:[s=>[s.survey],survey=>{if("new"===survey.id)return null;let startDate=survey.start_date||survey.created_at;return{kind:schema.OH.DataTableNode,source:{kind:schema.OH.EventsQuery,select:["*",...survey.questions.map((q,i)=>q.type===types.I9.MultipleChoice?`coalesce(arrayStringConcat(JSONExtractArrayRaw(properties, '${getResponseField(i)}'), ', ')) -- ${q.question}`:`coalesce(JSONExtractString(properties, '${getResponseField(i)}')) -- ${q.question}`),"timestamp","person","coalesce(JSONExtractString(properties, '$lib_version')) -- Library Version","coalesce(JSONExtractString(properties, '$lib')) -- Library","coalesce(JSONExtractString(properties, '$current_url')) -- URL"],orderBy:["timestamp DESC"],where:["event == 'survey sent'"],after:startDate,properties:[{type:types.FT.Event,key:"$survey_id",operator:types.WV.Exact,value:survey.id}]},propertiesViaUrl:!0,showExport:!0,showReload:!0,showEventFilter:!1,showPropertyFilter:!0,showTimings:!1}}],targetingFlagFilters:[s=>[s.survey],survey=>survey.targeting_flag_filters?{...survey.targeting_flag_filters,groups:survey.targeting_flag_filters.groups,multivariate:null,payloads:{},super_groups:void 0}:survey.targeting_flag?.filters||void 0],urlMatchTypeValidationError:[s=>[s.survey],survey=>{if(survey.conditions?.urlMatchType===types.HI.Regex&&survey.conditions.url)try{new RegExp(survey.conditions.url)}catch(e){return e.message}return null}],surveyNPSScore:[s=>[s.surveyRatingResults],surveyRatingResults=>{if(surveyRatingResults){let questionIdx=Object.keys(surveyRatingResults)[0],questionResults=surveyRatingResults[questionIdx];if(0===questionResults.total)return"No data available";let data=questionResults.data;if(11===data.length){let promoters=data.slice(9,11).reduce((a,b)=>a+b,0),passives=data.slice(7,9).reduce((a,b)=>a+b,0),detractors=data.slice(0,7).reduce((a,b)=>a+b,0);return((promoters-detractors)/(promoters+passives+detractors)*100).toFixed(1)}}}],getBranchingDropdownValue:[s=>[s.survey],survey=>(questionIndex,question)=>{if(question.branching?.type){let{type}=question.branching;if(type===types.kv.SpecificQuestion){let nextQuestionIndex=question.branching.index;return`${types.kv.SpecificQuestion}:${nextQuestionIndex}`}return type}return questionIndex[s.survey],survey=>(questionIndex,question,response)=>{if(!question.branching||!("responseValues"in question.branching))return types.kv.NextQuestion;if(Number.isInteger(question.branching.responseValues[response])){let nextQuestionIndex=question.branching.responseValues[response];return`${types.kv.SpecificQuestion}:${nextQuestionIndex}`}return question.branching?.responseValues?.[response]?question.branching.responseValues[response]:questionIndex[s.survey],survey=>{let graph=new Map;survey.questions.forEach((question,fromIndex)=>{if(graph.has(fromIndex)||graph.set(fromIndex,new Set),question.branching?.type!==types.kv.End){if(question.branching?.type===types.kv.SpecificQuestion&&Number.isInteger(question.branching.index)){let toIndex=question.branching.index;graph.get(fromIndex).add(toIndex);return}if(question.branching?.type===types.kv.ResponseBased&&(0,utils.Kn)(question.branching?.responseValues))for(let[_,toIndex]of Object.entries(question.branching?.responseValues))Number.isInteger(toIndex)&&graph.get(fromIndex).add(toIndex);if(fromIndex[s.survey],survey=>survey.questions.some(question=>question.branching&&Object.keys(question.branching).length>0)],surveyAsInsightURL:[s=>[s.survey],survey=>{let query={kind:schema.OH.InsightVizNode,source:{kind:schema.OH.TrendsQuery,properties:[{key:"$survey_id",value:survey.id,operator:types.WV.Exact,type:types.FT.Event}],series:[{kind:schema.OH.EventsNode,event:"survey sent",name:"survey sent",math:types.vN.TotalCount},{kind:schema.OH.EventsNode,event:"survey shown",name:"survey shown",math:types.vN.TotalCount},{kind:schema.OH.EventsNode,event:"survey dismissed",name:"survey dismissed",math:types.vN.TotalCount}]}};return urls.j.insightNew(void 0,void 0,query)}]}),(0,lib.forms)(_ref32=>{let{actions,props,values}=_ref32;return{survey:{defaults:{...constants.Uo},errors:_ref33=>{let{name,questions}=_ref33;return{name:!name&&"Please enter a name.",questions:questions.map(question=>{let questionErrors={question:!question.question&&"Please enter a question label."};return question.type===types.I9.Rating?{...questionErrors,display:!question.display&&"Please choose a display type.",scale:!question.scale&&"Please choose a scale.",lowerBoundLabel:!question.lowerBoundLabel&&"Please enter a lower bound label.",upperBoundLabel:!question.upperBoundLabel&&"Please enter an upper bound label."}:question.type===types.I9.SingleChoice||question.type===types.I9.MultipleChoice?{...questionErrors,choices:question.choices.some(choice=>!choice.trim())?"Please ensure all choices are non-empty.":void 0}:questionErrors}),targeting_flag_filters:values.flagPropertyErrors,urlMatchType:values.urlMatchTypeValidationError}},submit:surveyPayload=>{if(values.hasCycle)return actions.reportSurveyCycleDetected(values.survey),src.UJ.error("Your survey contains an endless cycle. Please revisit your branching rules.");actions.editingSurvey(!1),props.id&&"new"!==props.id?actions.updateSurvey(surveyPayload):actions.createSurvey(surveyPayload)}}}}),(0,kea_router_lib.urlToAction)(_ref34=>{var _props$id;let{actions,props}=_ref34;return{[urls.j.survey(null!==(_props$id=props.id)&&void 0!==_props$id?_props$id:"new")]:(_,_ref35,__,_ref36)=>{let{edit}=_ref35,{method}=_ref36;"new"===props.id&&actions.editingSurvey(!0),"PUSH"===method&&(props.id?actions.loadSurvey():actions.resetSurvey()),edit&&actions.editingSurvey(!0)}}}),(0,kea_router_lib.actionToUrl)(_ref37=>{let{values}=_ref37;return{setSurveyTemplateValues:()=>{let hashParams=kea_router_lib.router.values.hashParams;return hashParams.fromTemplate=!0,[urls.j.survey(values.survey.id),kea_router_lib.router.values.searchParams,hashParams]},editingSurvey:_ref38=>{let{editing}=_ref38,searchParams=kea_router_lib.router.values.searchParams;return editing?searchParams.edit=!0:delete searchParams.edit,[kea_router_lib.router.values.location.pathname,kea_router_lib.router.values.searchParams,kea_router_lib.router.values.hashParams]}}}),(0,index_esm.afterMount)(_ref39=>{let{props,actions}=_ref39;"new"!==props.id&&actions.loadSurvey(),"new"===props.id&&actions.resetSurvey()})]);function sanitizeQuestions(surveyPayload){if(!surveyPayload.questions)return surveyPayload;let sanitizedThankYouHeader=sanitizeHTML(surveyPayload.appearance?.thankYouMessageHeader||""),sanitizedThankYouDescription=sanitizeHTML(surveyPayload.appearance?.thankYouMessageDescription||"");return{...surveyPayload,questions:surveyPayload.questions?.map(rawQuestion=>({...rawQuestion,description:sanitizeHTML(rawQuestion.description||""),question:sanitizeHTML(rawQuestion.question||"")})),appearance:{...surveyPayload.appearance,...sanitizedThankYouHeader&&{thankYouMessageHeader:sanitizedThankYouHeader},...sanitizedThankYouDescription&&{thankYouMessageDescription:sanitizedThankYouDescription}}}}},"./frontend/src/scenes/surveys/surveysLogic.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Iq:()=>SurveysTabs,kT:()=>surveysLogic,zs:()=>getSurveyStatus});var _posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),fuse_js__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__("./node_modules/.pnpm/fuse.js@6.6.2/node_modules/fuse.js/dist/fuse.esm.js"),kea__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_loaders__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-loaders@3.0.0_kea@3.1.5/node_modules/kea-loaders/lib/index.js"),kea_router__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),lib_api__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/api.ts"),scenes_sceneTypes__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/scenes/sceneTypes.ts"),scenes_teamLogic__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/scenes/teamLogic.tsx"),scenes_urls__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/scenes/urls.ts"),scenes_userLogic__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./frontend/src/scenes/userLogic.ts"),_types__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./frontend/src/types.ts");let SurveysTabs=function(SurveysTabs){return SurveysTabs.Active="active",SurveysTabs.Yours="yours",SurveysTabs.Archived="archived",SurveysTabs.Notifications="notifications",SurveysTabs.History="history",SurveysTabs.Settings="settings",SurveysTabs}({});function getSurveyStatus(survey){return survey.start_date?survey.end_date?_types__WEBPACK_IMPORTED_MODULE_9__.mN.Complete:_types__WEBPACK_IMPORTED_MODULE_9__.mN.Running:_types__WEBPACK_IMPORTED_MODULE_9__.mN.Draft}let surveysLogic=(0,kea__WEBPACK_IMPORTED_MODULE_1__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_1__.path)(["scenes","surveys","surveysLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_1__.connect)(()=>({values:[scenes_userLogic__WEBPACK_IMPORTED_MODULE_8__.userLogic,["hasAvailableFeature"],scenes_teamLogic__WEBPACK_IMPORTED_MODULE_6__.H,["currentTeam","currentTeamLoading"]],actions:[scenes_teamLogic__WEBPACK_IMPORTED_MODULE_6__.H,["loadCurrentTeam"]]})),(0,kea__WEBPACK_IMPORTED_MODULE_1__.actions)({setSearchTerm:searchTerm=>({searchTerm}),setSurveysFilters:(filters,replace)=>({filters,replace}),setTab:tab=>({tab})}),(0,kea_loaders__WEBPACK_IMPORTED_MODULE_2__.loaders)(_ref=>{let{values}=_ref;return{surveys:{__default:[],loadSurveys:async()=>{let responseSurveys=await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.surveys.list();return responseSurveys.results},deleteSurvey:async id=>(await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.surveys.delete(id),values.surveys.filter(survey=>survey.id!==id)),updateSurvey:async _ref2=>{let{id,updatePayload}=_ref2,updatedSurvey=await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.surveys.update(id,{...updatePayload});return values.surveys.map(survey=>survey.id===id?updatedSurvey:survey)}},surveysResponsesCount:{__default:{},loadResponsesCount:async()=>{let surveysResponsesCount=await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.surveys.getResponsesCount();return surveysResponsesCount}}}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.reducers)({tab:[SurveysTabs.Active,{setTab:(_,_ref3)=>{let{tab}=_ref3;return tab}}],searchTerm:{setSearchTerm:(_,_ref4)=>{let{searchTerm}=_ref4;return searchTerm}},filters:[{archived:!1,status:"any",created_by:null},{setSurveysFilters:(state,_ref5)=>{let{filters}=_ref5;return{...state,...filters}}}]}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.listeners)(_ref6=>{let{actions,values}=_ref6;return{deleteSurveySuccess:()=>{_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.success("Survey deleted"),kea_router__WEBPACK_IMPORTED_MODULE_3__.router.actions.push(scenes_urls__WEBPACK_IMPORTED_MODULE_7__.j.surveys())},updateSurveySuccess:()=>{_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.success("Survey updated"),actions.loadCurrentTeam()},setSurveysFilters:()=>{actions.loadSurveys(),actions.loadResponsesCount()},loadSurveysSuccess:()=>{actions.loadCurrentTeam()},setTab:_ref7=>{let{tab}=_ref7;actions.setSurveysFilters({...values.filters,archived:tab===SurveysTabs.Archived})}}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.selectors)({searchedSurveys:[selectors=>[selectors.surveys,selectors.searchTerm,selectors.filters],(surveys,searchTerm,filters)=>{let searchedSurveys=surveys;if(!searchTerm&&0===Object.keys(filters).length)return searchedSurveys;searchTerm&&(searchedSurveys=new fuse_js__WEBPACK_IMPORTED_MODULE_10__.Z(searchedSurveys,{keys:["key","name"],threshold:.3}).search(searchTerm).map(result=>result.item));let{status,created_by,archived}=filters;return"any"!==status&&(searchedSurveys=searchedSurveys.filter(survey=>getSurveyStatus(survey)===status)),created_by&&(searchedSurveys=searchedSurveys.filter(survey=>survey.created_by?.id===created_by)),searchedSurveys=archived?searchedSurveys.filter(survey=>survey.archived):searchedSurveys.filter(survey=>!survey.archived)}],breadcrumbs:[()=>[],()=>[{key:scenes_sceneTypes__WEBPACK_IMPORTED_MODULE_5__.x.Surveys,name:"Surveys",path:scenes_urls__WEBPACK_IMPORTED_MODULE_7__.j.surveys()}]],surveysStylingAvailable:[s=>[s.hasAvailableFeature],hasAvailableFeature=>hasAvailableFeature(_types__WEBPACK_IMPORTED_MODULE_9__.P$.SURVEYS_STYLING)],globalSurveyAppearanceConfigAvailable:[s=>[s.hasAvailableFeature],hasAvailableFeature=>hasAvailableFeature(_types__WEBPACK_IMPORTED_MODULE_9__.P$.SURVEYS_STYLING)],surveysHTMLAvailable:[s=>[s.hasAvailableFeature],hasAvailableFeature=>hasAvailableFeature(_types__WEBPACK_IMPORTED_MODULE_9__.P$.SURVEYS_TEXT_HTML)],surveysMultipleQuestionsAvailable:[s=>[s.hasAvailableFeature],hasAvailableFeature=>hasAvailableFeature(_types__WEBPACK_IMPORTED_MODULE_9__.P$.SURVEYS_MULTIPLE_QUESTIONS)],surveysRecurringScheduleAvailable:[s=>[s.hasAvailableFeature],hasAvailableFeature=>hasAvailableFeature(_types__WEBPACK_IMPORTED_MODULE_9__.P$.SURVEYS_RECURRING)],surveysEventsAvailable:[s=>[s.hasAvailableFeature],hasAvailableFeature=>hasAvailableFeature(_types__WEBPACK_IMPORTED_MODULE_9__.P$.SURVEYS_EVENTS)],surveysActionsAvailable:[s=>[s.hasAvailableFeature],hasAvailableFeature=>hasAvailableFeature(_types__WEBPACK_IMPORTED_MODULE_9__.P$.SURVEYS_ACTIONS)],showSurveysDisabledBanner:[s=>[s.currentTeam,s.currentTeamLoading,s.surveys],(currentTeam,currentTeamLoading,surveys)=>!currentTeamLoading&¤tTeam&&!currentTeam.surveys_opt_in&&surveys.some(s=>s.start_date&&!s.end_date&&s.type!==_types__WEBPACK_IMPORTED_MODULE_9__.d_.API)]}),(0,kea_router__WEBPACK_IMPORTED_MODULE_3__.actionToUrl)(_ref8=>{let{values}=_ref8;return{setTab:()=>[kea_router__WEBPACK_IMPORTED_MODULE_3__.router.values.location.pathname,{...kea_router__WEBPACK_IMPORTED_MODULE_3__.router.values.searchParams,tab:values.tab}]}}),(0,kea_router__WEBPACK_IMPORTED_MODULE_3__.urlToAction)(_ref9=>{let{actions}=_ref9;return{[scenes_urls__WEBPACK_IMPORTED_MODULE_7__.j.surveys()]:(_,_ref10)=>{let{tab}=_ref10;tab&&actions.setTab(tab)}}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.afterMount)(_ref11=>{let{actions}=_ref11;actions.loadSurveys(),actions.loadResponsesCount()})])},"./frontend/src/scenes/teamLogic.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{H:()=>teamLogic,R:()=>isAuthenticatedTeam});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_loaders__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea-loaders@3.0.0_kea@3.1.5/node_modules/kea-loaders/lib/index.js"),lib_api__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/api.ts"),lib_constants__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/constants.tsx"),lib_lemon_ui_icons__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/lemon-ui/icons/index.ts"),lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonToast/LemonToast.tsx"),lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),lib_utils__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/lib/utils.tsx"),lib_utils_eventUsageLogic__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./frontend/src/lib/utils/eventUsageLogic.ts"),lib_utils_getAppContext__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./frontend/src/lib/utils/getAppContext.ts"),_organizationLogic__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__("./frontend/src/scenes/organizationLogic.tsx"),_projectLogic__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__("./frontend/src/scenes/projectLogic.ts"),_userLogic__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__("./frontend/src/scenes/userLogic.ts"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let parseUpdatedAttributeName=attr=>"slack_incoming_webhook"===attr?"Webhook":"app_urls"===attr?"Authorized URLs":attr?(0,lib_utils__WEBPACK_IMPORTED_MODULE_7__.UV)(attr):"Project";function isAuthenticatedTeam(team){return!!team&&"api_token"in team}let teamLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(["scenes","teamLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.connect)(()=>({actions:[_userLogic__WEBPACK_IMPORTED_MODULE_12__.userLogic,["loadUser","switchTeam"],_organizationLogic__WEBPACK_IMPORTED_MODULE_10__.p,["loadCurrentOrganization"]],values:[_projectLogic__WEBPACK_IMPORTED_MODULE_11__.K,["currentProject"],lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_6__.h,["featureFlags"]]})),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)({deleteTeam:team=>({team}),deleteTeamSuccess:!0,deleteTeamFailure:!0}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)({teamBeingDeleted:[null,{deleteTeam:(_,_ref)=>{let{team}=_ref;return team},deleteTeamSuccess:()=>null,deleteTeamFailure:()=>null}]}),(0,kea_loaders__WEBPACK_IMPORTED_MODULE_1__.loaders)(_ref2=>{let{values,actions}=_ref2;return{currentTeam:[null,{loadCurrentTeam:async()=>{if(!(0,lib_utils__WEBPACK_IMPORTED_MODULE_7__.Pc)())return null;try{return await lib_api__WEBPACK_IMPORTED_MODULE_2__.ZP.get("api/environments/@current")}catch{return values.currentTeam}},updateCurrentTeam:async(payload,breakpoint)=>{let message;if(!values.currentTeam)throw Error("Current team has not been loaded yet, so it cannot be updated!");payload.session_replay_config&&(payload.session_replay_config={...values.currentTeam.session_replay_config,...payload.session_replay_config});let promises=[lib_api__WEBPACK_IMPORTED_MODULE_2__.ZP.update(`api/environments/${values.currentTeam.id}`,payload),void 0];1===Object.keys(payload).length&&payload.name&&values.currentProject&&!values.featureFlags[lib_constants__WEBPACK_IMPORTED_MODULE_3__.y8.ENVIRONMENTS]&&(promises[0]=lib_api__WEBPACK_IMPORTED_MODULE_2__.ZP.update(`api/projects/${values.currentProject.id}`,{name:payload.name}));let[patchedTeam]=await Promise.all(promises);breakpoint(),actions.loadCurrentOrganization(),actions.loadUser();let updatedAttribute=1===Object.keys(payload).length?Object.keys(payload)[0]:null;return message="slack_incoming_webhook"===updatedAttribute?payload.slack_incoming_webhook?`Webhook integration enabled – you should be seeing a message on ${(0,lib_utils__WEBPACK_IMPORTED_MODULE_7__.rt)(payload.slack_incoming_webhook)}`:"Webhook integration disabled":"completed_snippet_onboarding"===updatedAttribute||"has_completed_onboarding_for"===updatedAttribute?"Congrats! You're now ready to use PostHog.":`${parseUpdatedAttributeName(updatedAttribute)} updated successfully!`,Object.keys(payload).map(property=>{lib_utils_eventUsageLogic__WEBPACK_IMPORTED_MODULE_8__.vx.findMounted()?.actions?.reportTeamSettingChange(property,payload[property])}),window.location.pathname.match(/\/(onboarding|products)/)||lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_5__.UJ.success(message),patchedTeam},createTeam:async _ref3=>{let{name,is_demo}=_ref3;if(!values.currentProject)throw Error("Environment could not be created, because the parent project has not been loaded yet!");return await lib_api__WEBPACK_IMPORTED_MODULE_2__.ZP.create(`api/projects/${values.currentProject.id}/environments/`,{name,is_demo})},resetToken:async()=>await lib_api__WEBPACK_IMPORTED_MODULE_2__.ZP.update(`api/environments/${values.currentTeamId}/reset_token`,{}),addProductIntent:async _ref4=>{let{product_type,intent_context}=_ref4;return await lib_api__WEBPACK_IMPORTED_MODULE_2__.ZP.update(`api/environments/${values.currentTeamId}/add_product_intent`,{product_type,intent_context:null!=intent_context?intent_context:void 0})},recordProductIntentOnboardingComplete:async _ref5=>{let{product_type}=_ref5;return await lib_api__WEBPACK_IMPORTED_MODULE_2__.ZP.update(`api/environments/${values.currentTeamId}/complete_product_onboarding`,{product_type})}}]}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.selectors)(()=>({hasOnboardedAnyProduct:[selectors=>[selectors.currentTeam],currentTeam=>!currentTeam||!!currentTeam.completed_snippet_onboarding||!!Object.keys(currentTeam.has_completed_onboarding_for||{}).length],currentTeamId:[selectors=>[selectors.currentTeam],currentTeam=>currentTeam?currentTeam.id:null],isCurrentTeamUnavailable:[selectors=>[selectors.currentTeam,selectors.currentTeamLoading],(currentTeam,currentTeamLoading)=>(!currentTeam?.effective_membership_level||"none"===currentTeam.user_access_level)&&!currentTeamLoading],demoOnlyProject:[selectors=>[selectors.currentTeam,_organizationLogic__WEBPACK_IMPORTED_MODULE_10__.p.selectors.currentOrganization],(currentTeam,currentOrganization)=>currentTeam?.is_demo&¤tOrganization?.teams&&1==currentOrganization.teams.length||!1],funnelCorrelationConfig:[selectors=>[selectors.currentTeam],currentTeam=>currentTeam?.correlation_config||{}],timezone:[selectors=>[selectors.currentTeam],currentTeam=>currentTeam?.timezone||"UTC"],weekStartDay:[selectors=>[selectors.currentTeam],currentTeam=>currentTeam?.week_start_day||0],isTeamTokenResetAvailable:[selectors=>[selectors.currentTeam],currentTeam=>!!currentTeam?.effective_membership_level&¤tTeam.effective_membership_level>=lib_constants__WEBPACK_IMPORTED_MODULE_3__.Dk.Admin||currentTeam?.user_access_level==="admin"],testAccountFilterFrequentMistakes:[selectors=>[selectors.currentTeam],currentTeam=>{if(!currentTeam)return[];let frequentMistakes=[];for(let filter of currentTeam.test_account_filters||[])"email"===filter.key&&"event"===filter.type&&frequentMistakes.push({key:"email",type:"event",fix:"it is more common to filter email by person properties, not event properties"});return frequentMistakes}]})),(0,kea__WEBPACK_IMPORTED_MODULE_0__.listeners)(_ref6=>{let{actions}=_ref6;return{loadCurrentTeamSuccess:_ref7=>{let{currentTeam}=_ref7;currentTeam&&lib_api__WEBPACK_IMPORTED_MODULE_2__.x7.setCurrentTeamId(currentTeam.id)},createTeamSuccess:_ref8=>{let{currentTeam}=_ref8;currentTeam&&actions.switchTeam(currentTeam.id)},deleteTeam:async _ref9=>{let{team}=_ref9;try{await lib_api__WEBPACK_IMPORTED_MODULE_2__.ZP.delete(`api/environments/${team.id}`),location.reload(),actions.deleteTeamSuccess()}catch{actions.deleteTeamFailure()}},deleteTeamSuccess:()=>{lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_5__.UJ.success("Project has been deleted")}}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.afterMount)(_ref10=>{let{actions,values}=_ref10,appContext=(0,lib_utils_getAppContext__WEBPACK_IMPORTED_MODULE_9__.Fj)(),currentTeam=appContext?.current_team,currentProject=appContext?.current_project,switchedTeam=appContext?.switched_team;switchedTeam&&lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_5__.UJ.info((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.Fragment,{children:["You've switched to\xa0project"," ",values.featureFlags[lib_constants__WEBPACK_IMPORTED_MODULE_3__.y8.ENVIRONMENTS]?`${currentProject?.name}, environment ${currentTeam?.name}`:currentTeam?.name]}),{button:{label:"Switch back",action:()=>actions.switchTeam(switchedTeam)},icon:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(lib_lemon_ui_icons__WEBPACK_IMPORTED_MODULE_4__._S,{})}),currentTeam?actions.loadCurrentTeamSuccess(currentTeam):actions.loadCurrentTeam()})])},"./frontend/src/scenes/trends/mathsLogic.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{J$:()=>apiValueToMathType,X1:()=>PROPERTY_MATH_DEFINITIONS,YG:()=>BASE_MATH_DEFINITIONS,Yw:()=>mathTypeToApiValues,Z$:()=>MathCategory,fx:()=>mathsLogic,xo:()=>COUNT_PER_ACTOR_MATH_DEFINITIONS});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),lib_constants__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/lib/constants.tsx"),lib_introductions_groupsAccessLogic__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/introductions/groupsAccessLogic.ts"),lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/logic/featureFlagLogic.ts"),_models_groupsModel__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/models/groupsModel.ts"),_types__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/types.ts"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let MathCategory=function(MathCategory){return MathCategory[MathCategory.EventCount=0]="EventCount",MathCategory[MathCategory.SessionCount=1]="SessionCount",MathCategory[MathCategory.ActorCount=2]="ActorCount",MathCategory[MathCategory.EventCountPerActor=3]="EventCountPerActor",MathCategory[MathCategory.PropertyValue=4]="PropertyValue",MathCategory[MathCategory.HogQLExpression=5]="HogQLExpression",MathCategory}({}),FUNNEL_MATH_DEFINITIONS={[_types__WEBPACK_IMPORTED_MODULE_5__.S7.AnyMatch]:{name:"Any events match",shortName:"any event",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:"Any event of this type that matches the filter will count towards the funnel"}),category:MathCategory.EventCount},[_types__WEBPACK_IMPORTED_MODULE_5__.S7.FirstTimeForUser]:{name:"First event for user",shortName:"first event",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:["Only the first time the user performed this event will count towards the funnel, and only if it matches the event filters.",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("i",{children:"Example: If the we are looking for pageview events to posthog.com/about, but the user's first pageview was on posthog.com, it will not match, even if they went to posthog.com/about afterwards."})]}),category:MathCategory.EventCount},[_types__WEBPACK_IMPORTED_MODULE_5__.S7.FirstTimeForUserWithFilters]:{name:"First matching event for user",shortName:"first matching event",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:["The first time the user performed this event that matches the event filters will count towards the funnel.",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("i",{children:"Example: If the we are looking for pageview events to posthog.com/about, and the user's first pageview was on posthog.com but then they navigated to posthog.com/about, it will match the pageview event from posthog.com/about"})]}),category:MathCategory.EventCount}},BASE_MATH_DEFINITIONS={[_types__WEBPACK_IMPORTED_MODULE_5__.vN.TotalCount]:{name:"Total count",shortName:"count",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:["Total event count. Total number of times the event was performed by any user.",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("i",{children:"Example: If a user performs an event 3 times in the given period, it counts as 3."})]}),category:MathCategory.EventCount},[_types__WEBPACK_IMPORTED_MODULE_5__.vN.UniqueUsers]:{name:"Unique users",shortName:"unique users",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:["Number of unique users who performed the event in the specified period.",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("i",{children:"Example: If a single user performs an event 3 times in a given day/week/month, it counts only as 1."})]}),category:MathCategory.ActorCount},[_types__WEBPACK_IMPORTED_MODULE_5__.vN.WeeklyActiveUsers]:{name:"Weekly active users",shortName:"WAUs",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:["Users active in the past week (7 days).",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),"This is a trailing count that aggregates distinct users in the past 7 days for each day in the time series"]}),category:MathCategory.ActorCount},[_types__WEBPACK_IMPORTED_MODULE_5__.vN.MonthlyActiveUsers]:{name:"Monthly active users",shortName:"MAUs",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:["Users active in the past month (30 days).",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),"This is a trailing count that aggregates distinct users in the past 30 days for each day in the time series"]}),category:MathCategory.ActorCount},[_types__WEBPACK_IMPORTED_MODULE_5__.vN.UniqueSessions]:{name:"Unique sessions",shortName:"unique sessions",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:["Number of unique sessions where the event was performed in the specified period.",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("i",{children:"Example: If a single user performs an event 3 times in two separate sessions, it counts as two sessions."})]}),category:MathCategory.SessionCount},[_types__WEBPACK_IMPORTED_MODULE_5__.vN.FirstTimeForUser]:{name:"First time for user",shortName:"first time",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:["Only the first time the user performed this event will count, and only if it matches the event filters.",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("i",{children:"Example: If the we are looking for pageview events to posthog.com/about, but the user's first pageview was on posthog.com, it will not match, even if they went to posthog.com/about afterwards."})]}),category:MathCategory.EventCount},[_types__WEBPACK_IMPORTED_MODULE_5__.vN.FirstMatchingEventForUser]:{name:"First matching event for user",shortName:"first matching event",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:["The first time the user performed this event that matches the event filters will count.",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("i",{children:"Example: If the we are looking for pageview events to posthog.com/about, and the user's first pageview was on posthog.com but then they navigated to posthog.com/about, it will match the pageview event from posthog.com/about"})]}),category:MathCategory.EventCount}},PROPERTY_MATH_DEFINITIONS={[_types__WEBPACK_IMPORTED_MODULE_5__.O4.Average]:{name:"Average",shortName:"average",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:["Average of a property value within an event or action.",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),"For example 3 events captured with property ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("code",{children:"amount"})," equal to 10, 12 and 20, result in 14."]}),category:MathCategory.PropertyValue},[_types__WEBPACK_IMPORTED_MODULE_5__.O4.Sum]:{name:"Sum",shortName:"sum",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:["Sum of property values within an event or action.",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),"For example 3 events captured with property ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("code",{children:"amount"})," equal to 10, 12 and 20, result in 42."]}),category:MathCategory.PropertyValue},[_types__WEBPACK_IMPORTED_MODULE_5__.O4.Minimum]:{name:"Minimum",shortName:"minimum",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:["Event property minimum.",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),"For example 3 events captured with property ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("code",{children:"amount"})," equal to 10, 12 and 20, result in 10."]}),category:MathCategory.PropertyValue},[_types__WEBPACK_IMPORTED_MODULE_5__.O4.Maximum]:{name:"Maximum",shortName:"maximum",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:["Event property maximum.",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),"For example 3 events captured with property ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("code",{children:"amount"})," equal to 10, 12 and 20, result in 20."]}),category:MathCategory.PropertyValue},[_types__WEBPACK_IMPORTED_MODULE_5__.O4.Median]:{name:"Median",shortName:"median",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:["Event property median (50th percentile).",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),"For example 100 events captured with property ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("code",{children:"amount"})," equal to 101..200, result in 150."]}),category:MathCategory.PropertyValue},[_types__WEBPACK_IMPORTED_MODULE_5__.O4.P90]:{name:"90th percentile",shortName:"90th percentile",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:["Event property 90th percentile.",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),"For example 100 events captured with property ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("code",{children:"amount"})," equal to 101..200, result in 190."]}),category:MathCategory.PropertyValue},[_types__WEBPACK_IMPORTED_MODULE_5__.O4.P95]:{name:"95th percentile",shortName:"95th percentile",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:["Event property 95th percentile.",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),"For example 100 events captured with property ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("code",{children:"amount"})," equal to 101..200, result in 195."]}),category:MathCategory.PropertyValue},[_types__WEBPACK_IMPORTED_MODULE_5__.O4.P99]:{name:"99th percentile",shortName:"99th percentile",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:["Event property 99th percentile.",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),"For example 100 events captured with property ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("code",{children:"amount"})," equal to 101..200, result in 199."]}),category:MathCategory.PropertyValue}},HOGQL_MATH_DEFINITIONS={[_types__WEBPACK_IMPORTED_MODULE_5__.mY.HogQL]:{name:"HogQL expression",shortName:"HogQL expression",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:"Aggregate with a custom HogQL expression."}),category:MathCategory.HogQLExpression}},COUNT_PER_ACTOR_MATH_DEFINITIONS={[_types__WEBPACK_IMPORTED_MODULE_5__.D7.Average]:{name:"Average",shortName:"average",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:"Event count per actor average."}),category:MathCategory.EventCountPerActor},[_types__WEBPACK_IMPORTED_MODULE_5__.D7.Minimum]:{name:"Minimum",shortName:"minimum",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:"Event count per actor minimum."}),category:MathCategory.EventCountPerActor},[_types__WEBPACK_IMPORTED_MODULE_5__.D7.Maximum]:{name:"Maximum",shortName:"maximum",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:"Event count per actor maximum."}),category:MathCategory.EventCountPerActor},[_types__WEBPACK_IMPORTED_MODULE_5__.D7.Median]:{name:"Median",shortName:"median",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:"Event count per actor 50th percentile."}),category:MathCategory.EventCountPerActor},[_types__WEBPACK_IMPORTED_MODULE_5__.D7.P90]:{name:"90th percentile",shortName:"90th percentile",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:"Event count per actor 90th percentile."}),category:MathCategory.EventCountPerActor},[_types__WEBPACK_IMPORTED_MODULE_5__.D7.P95]:{name:"95th percentile",shortName:"95th percentile",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:"Event count per actor 95th percentile."}),category:MathCategory.EventCountPerActor},[_types__WEBPACK_IMPORTED_MODULE_5__.D7.P99]:{name:"99th percentile",shortName:"99th percentile",description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:"Event count per actor 99th percentile."}),category:MathCategory.EventCountPerActor}};function mathTypeToApiValues(mathType){let[math,mathGroupTypeIndexRaw]=mathType.split("::"),mathGroupTypeIndex=void 0!==mathGroupTypeIndexRaw?parseInt(mathGroupTypeIndexRaw):NaN;return isNaN(mathGroupTypeIndex)?{math}:{math,math_group_type_index:mathGroupTypeIndex}}function apiValueToMathType(math,groupTypeIndex){let assembledMath=math||_types__WEBPACK_IMPORTED_MODULE_5__.vN.TotalCount;return"unique_group"===math&&(assembledMath+=`::${groupTypeIndex}`),assembledMath}let mathsLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(["scenes","trends","mathsLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.connect)({values:[_models_groupsModel__WEBPACK_IMPORTED_MODULE_4__.$,["groupTypes","aggregationLabel"],lib_introductions_groupsAccessLogic__WEBPACK_IMPORTED_MODULE_2__.e,["needsUpgradeForGroups","canStartUsingGroups"],lib_logic_featureFlagLogic__WEBPACK_IMPORTED_MODULE_3__.h,["featureFlags"]]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.selectors)({mathDefinitions:[s=>[s.groupsMathDefinitions,s.featureFlags],(groupsMathDefinitions,featureFlags)=>{let allMathDefinitions={...BASE_MATH_DEFINITIONS,...groupsMathDefinitions,...PROPERTY_MATH_DEFINITIONS,...COUNT_PER_ACTOR_MATH_DEFINITIONS,...HOGQL_MATH_DEFINITIONS};return filterMathTypesUnderFeatureFlags(allMathDefinitions,featureFlags)}],funnelMathDefinitions:[s=>[s.featureFlags],featureFlags=>{let funnelMathDefinitions={...FUNNEL_MATH_DEFINITIONS};return filterMathTypesUnderFeatureFlags(funnelMathDefinitions,featureFlags)}],staticMathDefinitions:[s=>[s.groupsMathDefinitions,s.needsUpgradeForGroups,s.featureFlags],(groupsMathDefinitions,needsUpgradeForGroups,featureFlags)=>{let staticMathDefinitions={...BASE_MATH_DEFINITIONS,...needsUpgradeForGroups?{}:groupsMathDefinitions};return filterMathTypesUnderFeatureFlags(staticMathDefinitions,featureFlags)}],staticActorsOnlyMathDefinitions:[s=>[s.staticMathDefinitions],staticMathDefinitions=>Object.fromEntries(Object.entries(staticMathDefinitions).filter(_ref=>{let[,mathDefinition]=_ref;return mathDefinition.category===MathCategory.ActorCount}))],groupsMathDefinitions:[s=>[s.groupTypes,s.aggregationLabel],(groupTypes,aggregationLabel)=>Object.fromEntries(Array.from(groupTypes.values()).map(groupType=>[apiValueToMathType("unique_group",groupType.group_type_index),{name:`Unique ${aggregationLabel(groupType.group_type_index).plural}`,shortName:`unique ${aggregationLabel(groupType.group_type_index).plural}`,description:(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:["Number of unique ",aggregationLabel(groupType.group_type_index).plural," who performed the event in the specified period.",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("br",{}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)("i",{children:["Example: If 7 users in a single $",aggregationLabel(groupType.group_type_index).singular," perform an event 9 times in the given period, it counts only as 1."]})]}),category:MathCategory.ActorCount}]).filter(Boolean))]})]);function filterMathTypesUnderFeatureFlags(mathDefinitions,featureFlags){let copy={...mathDefinitions};return featureFlags[lib_constants__WEBPACK_IMPORTED_MODULE_1__.y8.FIRST_TIME_FOR_USER_MATH]||delete copy[_types__WEBPACK_IMPORTED_MODULE_5__.vN.FirstTimeForUser],copy}},"./frontend/src/scenes/trends/persons-modal/PersonsModal.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{JY:()=>MissingPersonsAlert,AP:()=>PersonsModal_PersonsModal,Yp:()=>openPersonsModal});var injectStylesIntoStyleTag=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),injectStylesIntoStyleTag_default=__webpack_require__.n(injectStylesIntoStyleTag),PersonsModal=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/trends/persons-modal/PersonsModal.scss"),PersonsModal_default=__webpack_require__.n(PersonsModal),options={};options.insert="head",options.singleton=!1,injectStylesIntoStyleTag_default()(PersonsModal_default(),options),PersonsModal_default().locals;var posthog_icons_es=__webpack_require__("./node_modules/.pnpm/@posthog+icons@0.9.2_react-dom@18.2.0_react@18.2.0/node_modules/@posthog/icons/dist/posthog-icons.es.js"),src=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),index_esm=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),CopyToClipboard=__webpack_require__("./frontend/src/lib/components/CopyToClipboard.tsx"),exportsLogic=__webpack_require__("./frontend/src/lib/components/ExportButton/exportsLogic.ts"),PropertiesTable=__webpack_require__("./frontend/src/lib/components/PropertiesTable/index.ts"),PropertiesTimeline=__webpack_require__("./frontend/src/lib/components/PropertiesTimeline/index.ts"),icons=__webpack_require__("./frontend/src/lib/lemon-ui/icons/index.ts"),LemonTabs=__webpack_require__("./frontend/src/lib/lemon-ui/LemonTabs/index.ts"),ProfilePicture=__webpack_require__("./frontend/src/lib/lemon-ui/ProfilePicture/index.ts"),Spinner=__webpack_require__("./frontend/src/lib/lemon-ui/Spinner/Spinner.tsx"),Tooltip=__webpack_require__("./frontend/src/lib/lemon-ui/Tooltip/index.ts"),utils=__webpack_require__("./frontend/src/lib/utils.tsx"),react=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/index.js"),client=__webpack_require__("./node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/client.js"),EmptyStates=__webpack_require__("./frontend/src/scenes/insights/EmptyStates/index.ts"),insights_utils=__webpack_require__("./frontend/src/scenes/insights/utils.tsx"),GroupActorDisplay=__webpack_require__("./frontend/src/scenes/persons/GroupActorDisplay.tsx"),person_utils=__webpack_require__("./frontend/src/scenes/persons/person-utils.ts"),PersonDisplay=__webpack_require__("./frontend/src/scenes/persons/PersonDisplay.tsx"),sessionPlayerModalLogic=__webpack_require__("./frontend/src/scenes/session-recordings/player/modal/sessionPlayerModalLogic.ts"),teamLogic=__webpack_require__("./frontend/src/scenes/teamLogic.tsx"),DataTableExport=__webpack_require__("./frontend/src/queries/nodes/DataTable/DataTableExport.tsx"),types=__webpack_require__("./frontend/src/types.ts"),persons_modal_utils=__webpack_require__("./frontend/src/scenes/trends/persons-modal/persons-modal-utils.tsx"),personsModalLogic=__webpack_require__("./frontend/src/scenes/trends/persons-modal/personsModalLogic.ts"),jsx_runtime=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function SaveCohortModal(_ref){let{onSave,onCancel,isOpen}=_ref,[cohortTitle,setCohortTitle]=(0,react.useState)("");return(0,jsx_runtime.jsx)(src.fQ,{title:"New cohort",footer:(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(src.Jp,{type:"secondary",onClick:onCancel,children:"Cancel"}),(0,jsx_runtime.jsx)(src.Jp,{type:"primary",disabledReason:!cohortTitle&&"Please add a title to your cohort",onClick:()=>{onSave(cohortTitle),setCohortTitle("")},children:"Save"})]}),onClose:onCancel,isOpen:isOpen,children:(0,jsx_runtime.jsx)("div",{className:"mb-4",children:(0,jsx_runtime.jsx)(src.DF,{autoFocus:!0,placeholder:"Cohort name...",value:cohortTitle,"data-attr":"cohort-name",onChange:setCohortTitle})})})}function PersonsModal_PersonsModal(_ref){let{url:_url,urlsIndex,urls,query:_query,title,onAfterClose,inline,additionalSelect,orderBy}=_ref,[selectedUrlIndex,setSelectedUrlIndex]=(0,react.useState)(urlsIndex||0),originalUrl=(urls||[])[selectedUrlIndex]?.value||_url||"",logic=(0,personsModalLogic.D)({url:originalUrl,query:_query,additionalSelect,orderBy}),{query,actors,actorsResponseLoading,actorsResponse,errorObject,validationError,insightActorsQueryOptions,searchTerm,actorLabel,isCohortModalOpen,isModalOpen,missingActorsCount,propertiesTimelineFilterFromUrl,exploreUrl,actorsQuery}=(0,index_esm.useValues)(logic),{updateActorsQuery,setSearchTerm,saveAsCohort,setIsCohortModalOpen,closeModal,loadNextActors}=(0,index_esm.useActions)(logic),{openSessionPlayer}=(0,index_esm.useActions)(sessionPlayerModalLogic.A),{currentTeam}=(0,index_esm.useValues)(teamLogic.H),{startExport}=(0,index_esm.useActions)(exportsLogic.exportsLogic),totalActorsCount=missingActorsCount+actors.length,getTitle=(0,react.useCallback)(()=>"function"==typeof title?title((0,utils.fm)(actorLabel.plural)):(0,insights_utils.sc)(title)?"Other":title,[title,actorLabel.plural]);return(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsxs)(src.fQ,{title:null,isOpen:isModalOpen,onClose:closeModal,onAfterClose:onAfterClose,simple:!0,width:560,inline:inline,children:[(0,jsx_runtime.jsx)(src.fQ.Header,{children:(0,jsx_runtime.jsx)("h3",{children:getTitle()})}),(0,jsx_runtime.jsxs)("div",{className:"px-4 py-2",children:[actorsResponse&&!!missingActorsCount&&(0,jsx_runtime.jsx)(MissingPersonsAlert,{actorLabel:actorLabel,missingActorsCount:missingActorsCount}),(0,jsx_runtime.jsx)(src.DF,{type:"search",placeholder:"Search for persons by email, name, or ID",fullWidth:!0,value:searchTerm,onChange:setSearchTerm,className:"my-2"}),urls?(0,jsx_runtime.jsx)(src.Yv,{fullWidth:!0,className:"mb-2",value:selectedUrlIndex,onChange:v=>{null!==v&&v>=0&&setSelectedUrlIndex(v)},options:(urls||[]).map((url,index)=>({value:index,label:url.label}))}):null,query&&(0,persons_modal_utils.Nc)(insightActorsQueryOptions,query).map(_ref2=>{var _query$key;let[key,options]=_ref2;return"breakdowns"===key?options.map((_ref3,index)=>{var _query$breakdown$inde;let{values}=_ref3;return(0,jsx_runtime.jsx)("div",{children:(0,jsx_runtime.jsx)(src.Yv,{fullWidth:!0,className:"mb-2",value:null!==(_query$breakdown$inde=query?.breakdown?.[index])&&void 0!==_query$breakdown$inde?_query$breakdown$inde:null,onChange:v=>{let breakdown=Array.isArray(query.breakdown)?[...query.breakdown]:[];breakdown[index]=v,updateActorsQuery({breakdown})},options:values})},`${key}_${index}`)}):(0,jsx_runtime.jsx)("div",{children:(0,jsx_runtime.jsx)(src.Yv,{fullWidth:!0,className:"mb-2",value:null!==(_query$key=query?.[key])&&void 0!==_query$key?_query$key:null,onChange:v=>updateActorsQuery({[key]:v}),options:options})},key)}),(0,jsx_runtime.jsx)("div",{className:"flex items-center gap-2 text-muted",children:actorsResponseLoading?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)(Spinner.$,{}),(0,jsx_runtime.jsxs)("span",{children:["Loading ",actorLabel.plural,"..."]})]}):(0,jsx_runtime.jsxs)("span",{children:[actorsResponse?.next||actorsResponse?.offset?"More than ":"",(0,jsx_runtime.jsxs)("b",{children:[totalActorsCount||"No"," unique"," ",(0,utils.Zi)(totalActorsCount,actorLabel.singular,actorLabel.plural,!1)]})]})})]}),(0,jsx_runtime.jsx)("div",{className:"px-4 overflow-hidden flex flex-col",children:(0,jsx_runtime.jsxs)("div",{className:"relative min-h-20 p-2 space-y-2 rounded bg-border-light overflow-y-auto mb-2",children:[errorObject?validationError?(0,jsx_runtime.jsx)(EmptyStates._f,{query:query,detail:validationError}):(0,jsx_runtime.jsx)(EmptyStates.jC,{query:query}):actors&&actors.length>0?(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:actors.map(actor=>(0,jsx_runtime.jsx)(ActorRow,{actor:actor,onOpenRecording:sessionRecording=>{openSessionPlayer(sessionRecording)},propertiesTimelineFilter:"person"==actor.type&¤tTeam?.person_on_events_querying_enabled?propertiesTimelineFilterFromUrl:void 0},actor.id))}):actorsResponseLoading?(0,jsx_runtime.jsxs)("div",{className:"space-y-3",children:[(0,jsx_runtime.jsx)(src.yW,{active:!1,className:"h-4 w-full"}),(0,jsx_runtime.jsx)(src.yW,{active:!1,className:"h-4 w-3/5"})]}):(0,jsx_runtime.jsxs)("div",{className:"text-center p-5",children:["We couldn't find any matching ",actorLabel.plural," for this data point."]}),(actorsResponse?.next||actorsResponse?.offset)&&(0,jsx_runtime.jsx)("div",{className:"m-4 flex justify-center",children:(0,jsx_runtime.jsxs)(src.Jp,{type:"primary",onClick:loadNextActors,loading:actorsResponseLoading,children:["Load more ",actorLabel.plural]})})]})}),(0,jsx_runtime.jsx)(src.fQ.Footer,{children:(0,jsx_runtime.jsxs)("div",{className:"flex justify-between gap-2 w-full",children:[(0,jsx_runtime.jsxs)("div",{className:"flex gap-2",children:[actors.length>0&&(0,jsx_runtime.jsx)(src.Jp,{type:"secondary",onClick:()=>{startExport({export_format:types.P5.CSV,export_context:query?{source:{...actorsQuery,select:actorsQuery.select?.filter(c=>"matched_recordings"!==c),source:{...actorsQuery.source,includeRecordings:!1}}}:{path:originalUrl}})},tooltip:`Up to ${DataTableExport.yP} persons will be exported`,"data-attr":"person-modal-download-csv",children:"Download CSV"}),actors.length>0&&!(0,utils.tK)(actors[0])&&(0,jsx_runtime.jsx)(src.Jp,{onClick:()=>setIsCohortModalOpen(!0),type:"secondary","data-attr":"person-modal-save-as-cohort",disabled:!actors.length,children:"Save as cohort"})]}),exploreUrl&&(0,jsx_runtime.jsx)(src.Jp,{type:"primary",to:exploreUrl,"data-attr":"person-modal-new-insight",onClick:()=>{closeModal()},children:"Explore"})]})})]}),(0,jsx_runtime.jsx)(SaveCohortModal,{onSave:title=>saveAsCohort(title),onCancel:()=>setIsCohortModalOpen(!1),isOpen:isCohortModalOpen})]})}function ActorRow(_ref4){let{actor,onOpenRecording,propertiesTimelineFilter}=_ref4,[expanded,setExpanded]=(0,react.useState)(!1),[tab,setTab]=(0,react.useState)("properties"),name=(0,utils.tK)(actor)?(0,GroupActorDisplay.O)(actor.group_key,actor.properties):(0,person_utils.y)(actor),matchedRecordings=actor.matched_recordings||[];return(0,jsx_runtime.jsxs)("div",{className:"relative border rounded bg-bg-light",children:[(0,jsx_runtime.jsxs)("div",{className:"flex items-center gap-2 p-2",children:[(0,jsx_runtime.jsx)(src.Jp,{noPadding:!0,active:expanded,onClick:()=>setExpanded(!expanded),icon:expanded?(0,jsx_runtime.jsx)(posthog_icons_es.IconCollapse,{}):(0,jsx_runtime.jsx)(posthog_icons_es.IconExpand,{}),title:expanded?"Show less":"Show more","data-attr":`persons-modal-expand-${actor.id}`}),(0,jsx_runtime.jsx)(ProfilePicture.Y,{name:name,size:"md"}),(0,jsx_runtime.jsx)("div",{className:"flex-1 overflow-hidden",children:(0,utils.tK)(actor)?(0,jsx_runtime.jsx)("div",{className:"font-bold",children:(0,jsx_runtime.jsx)(GroupActorDisplay.k,{actor:actor})}):(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)("div",{className:"font-bold flex items-start",children:(0,jsx_runtime.jsx)(PersonDisplay.I,{person:actor,withIcon:!1})}),actor.distinct_ids?.[0]&&(0,jsx_runtime.jsx)(CopyToClipboard.D,{explicitValue:actor.distinct_ids[0],iconStyle:{color:"var(--primary)"},iconPosition:"end",className:"text-xs text-muted-alt",children:(0,utils.mq)(actor.distinct_ids[0],32)})]})}),matchedRecordings.length&&matchedRecordings.length>0?(0,jsx_runtime.jsx)("div",{className:"shrink-0",children:(0,jsx_runtime.jsx)(src.Jp,{onClick:()=>{actor.matched_recordings&&(actor.matched_recordings?.length>1?(setExpanded(!0),setTab("recordings")):actor.matched_recordings[0].session_id&&onOpenRecording({id:actor.matched_recordings[0].session_id,matching_events:actor.matched_recordings}))},sideIcon:1===matchedRecordings.length?(0,jsx_runtime.jsx)(icons.Ud,{}):null,type:"secondary",status:matchedRecordings.length>1?"alt":void 0,size:"small",children:matchedRecordings.length>1?`${matchedRecordings.length} recordings`:"View recording"})}):null]}),expanded?(0,jsx_runtime.jsx)("div",{className:"PersonsModal__tabs bg-bg-3000 border-t rounded-b",children:(0,jsx_runtime.jsx)(LemonTabs.T,{activeKey:tab,onChange:setTab,tabs:[{key:"properties",label:"Properties",content:propertiesTimelineFilter?(0,jsx_runtime.jsx)(PropertiesTimeline.v,{actor:actor,filter:propertiesTimelineFilter}):(0,jsx_runtime.jsx)(PropertiesTable.V,{type:actor.type,properties:actor.properties})},{key:"recordings",label:"Recordings",content:(0,jsx_runtime.jsxs)("div",{className:"p-2 space-y-2 font-medium mt-1",children:[(0,jsx_runtime.jsx)("div",{className:"flex justify-between items-center px-2",children:(0,jsx_runtime.jsx)("span",{children:(0,utils.Zi)(matchedRecordings.length,"matched recording")})}),(0,jsx_runtime.jsx)("ul",{className:"space-y-px",children:matchedRecordings?.length?matchedRecordings.map((recording,i)=>(0,jsx_runtime.jsxs)(react.Fragment,{children:[(0,jsx_runtime.jsx)(src.p2,{className:"my-0"}),(0,jsx_runtime.jsx)("li",{children:(0,jsx_runtime.jsx)(src.Jp,{fullWidth:!0,onClick:()=>{recording.session_id&&onOpenRecording({id:recording.session_id,matching_events:[{events:recording.events,session_id:recording.session_id}]})},children:(0,jsx_runtime.jsxs)("div",{className:"flex flex-1 justify-between gap-2 items-center",children:[(0,jsx_runtime.jsxs)("span",{children:["View recording ",i+1]}),(0,jsx_runtime.jsx)(icons.Ud,{className:"text-xl text-muted"})]})})})]},i)):null})]})}]})}):null,null!==actor.value_at_data_point&&(0,jsx_runtime.jsx)(Tooltip.u,{title:`${name}'s value for this data point.`,children:(0,jsx_runtime.jsx)(src.Mo.Number,{count:actor.value_at_data_point,maxDigits:1/0,position:"top-right",style:{pointerEvents:"auto"}})})]})}function MissingPersonsAlert(_ref5){let{actorLabel,missingActorsCount}=_ref5;return(0,jsx_runtime.jsxs)(src.Vp,{type:"info",className:"mb-2",children:[missingActorsCount," ",missingActorsCount>1?`${actorLabel.plural} are`:`${actorLabel.singular} is`," not shown because they've been merged with those listed, or\xa0deleted."," ",(0,jsx_runtime.jsx)(src.rU,{to:"https://posthog.com/docs/how-posthog-works/queries#insights-counting-unique-persons",children:"Learn more."})]})}let openPersonsModal=props=>{let div=document.createElement("div"),root=(0,client.createRoot)(div);document.body.appendChild(div),root.render((0,jsx_runtime.jsx)(PersonsModal_PersonsModal,{...props,onAfterClose:function(){root.unmount(),div.parentNode&&div.parentNode.removeChild(div)}}))}},"./frontend/src/scenes/trends/persons-modal/persons-modal-utils.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Nc:()=>cleanedInsightActorsQueryOptions,Vx:()=>pathsTitle,un:()=>funnelTitle});var lib_components_PropertyKeyInfo__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/src/lib/components/PropertyKeyInfo.tsx"),lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/lib/components/TaxonomicFilter/types.ts"),lib_taxonomy__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/taxonomy.tsx"),lib_utils__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/lib/utils.tsx"),_queries_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/queries/utils.ts"),_types__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/types.ts"),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");let funnelTitle=props=>(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:[props.order_type===_types__WEBPACK_IMPORTED_MODULE_5__.kO.UNORDERED?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:props.converted?(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:["Completed ",(0,lib_utils__WEBPACK_IMPORTED_MODULE_3__.Zi)(props.step,"step","steps")," "]}):(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:["Completed ",(0,lib_utils__WEBPACK_IMPORTED_MODULE_3__.Zi)(props.step-1,"step","steps"),", did not complete"," ",(0,lib_utils__WEBPACK_IMPORTED_MODULE_3__.Zi)(props.step,"step","steps")," "]})}):(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:[props.converted?"Completed":"Dropped off at"," step ",props.step," •"," ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(lib_components_PropertyKeyInfo__WEBPACK_IMPORTED_MODULE_0__.T,{value:props.label||"",disablePopover:!0,type:lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_1__.t.Events})," "]}),props?.breakdown_value?`• ${props.breakdown_value}`:""]}),pathsTitle=props=>(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.Fragment,{children:[{completion:"Completed",dropOff:"Dropped off after",continue:"Continued after"}[props.mode]," step"," ",(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(lib_components_PropertyKeyInfo__WEBPACK_IMPORTED_MODULE_0__.T,{value:props.label.replace(/(^[0-9]+_)/,"")||"",disablePopover:!0})]}),cleanedInsightActorsQueryOptions=(insightActorsQueryOptions,query)=>{let cleanedOptions=Object.entries(null!=insightActorsQueryOptions?insightActorsQueryOptions:{}).filter(_ref=>{let[,value]=_ref;return Array.isArray(value)&&!!value.length}),source=query?.source,seriesNames=(0,_queries_utils__WEBPACK_IMPORTED_MODULE_4__.kX)(source)?source.series.map(s=>s.custom_name):[],cleanedOptionsWithAdjustedSeriesNames=cleanedOptions.map(_ref2=>{let[key,value]=_ref2;return"series"===key?[key,value.map((v,index)=>{var _ref3,_seriesNames$index;return{...v,label:null!==(_ref3=null!==(_seriesNames$index=seriesNames[index])&&void 0!==_seriesNames$index?_seriesNames$index:lib_taxonomy__WEBPACK_IMPORTED_MODULE_2__.NV(v.label,lib_components_TaxonomicFilter_types__WEBPACK_IMPORTED_MODULE_1__.t.Events)?.label)&&void 0!==_ref3?_ref3:v.label}})]:[key,value]});return cleanedOptionsWithAdjustedSeriesNames}},"./frontend/src/scenes/trends/persons-modal/personsModalLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{D:()=>personsModalLogic});var _posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/@posthog/lemon-ui/src/index.ts"),kea__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_loaders__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-loaders@3.0.0_kea@3.1.5/node_modules/kea-loaders/lib/index.js"),kea_router__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),lib_api__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/api.ts"),lib_utils__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/lib/utils.tsx"),lib_utils_eventUsageLogic__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/lib/utils/eventUsageLogic.ts"),scenes_insights_utils_cleanFilters__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./frontend/src/scenes/insights/utils/cleanFilters.ts"),scenes_urls__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./frontend/src/scenes/urls.ts"),_models_cohortsModel__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./frontend/src/models/cohortsModel.ts"),_models_groupsModel__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__("./frontend/src/models/groupsModel.ts"),_queries_query__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__("./frontend/src/queries/query.ts"),_queries_schema__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__("./frontend/src/queries/schema.ts");let personsModalLogic=(0,kea__WEBPACK_IMPORTED_MODULE_1__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_1__.path)(["scenes","trends","personsModalLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_1__.props)({}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.actions)({setSearchTerm:search=>({search}),saveAsCohort:cohortName=>({cohortName}),resetActors:()=>!0,closeModal:()=>!0,setIsCohortModalOpen:isOpen=>({isOpen}),loadActors:_ref=>{let{url,clear,offset}=_ref;return{url,clear,offset}},loadNextActors:!0,updateQuery:query=>({query}),updateActorsQuery:query=>({query}),loadActorsQueryOptions:query=>({query})}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.connect)({values:[_models_groupsModel__WEBPACK_IMPORTED_MODULE_10__.$,["groupTypes","aggregationLabel"]],actions:[lib_utils_eventUsageLogic__WEBPACK_IMPORTED_MODULE_6__.vx,["reportPersonsModalViewed"]]}),(0,kea_loaders__WEBPACK_IMPORTED_MODULE_2__.loaders)(_ref2=>{let{values,actions,props}=_ref2;return{actorsResponse:[null,{loadActors:async(_ref3,breakpoint)=>{let{url,clear,offset}=_ref3;if(url&&(url+="&include_recordings=true",values.searchTerm&&(url+=`&search=${values.searchTerm}`)),url&&!values.actorsQuery){let res=await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.get(url);return breakpoint(),clear&&actions.resetActors(),res}if(values.actorsQuery){let response=await (0,_queries_query__WEBPACK_IMPORTED_MODULE_11__.jr)({...values.actorsQuery,limit:offset?2*offset:100,offset});breakpoint();let assembledSelectFields=values.selectFields,additionalFieldIndices=Object.values(props.additionalSelect||{}).map(field=>assembledSelectFields.indexOf(field)),newResponse={results:[{count:response.results.length,people:response.results.map(result=>{if(void 0!==result[0].group_type_index){let group={type:"group",id:result[0].id,group_key:result[0].group_key,group_type_index:result[0].group_type_index,properties:result[0].group_properties,created_at:result[0].created_at,matched_recordings:[],value_at_data_point:null};return Object.keys(props.additionalSelect||{}).forEach((field,index)=>{group[field]=result[additionalFieldIndices[index]]}),group}let person={type:"person",id:result[0].id,uuid:result[0].id,distinct_ids:result[0].distinct_ids,is_identified:result[0].is_identified,properties:result[0].properties,created_at:result[0].created_at,matched_recordings:[],value_at_data_point:null};return Object.keys(props.additionalSelect||{}).forEach((field,index)=>{person[field]=result[additionalFieldIndices[index]]}),person})}]};return newResponse.offset=response.hasMore?response.offset+response.limit:void 0,newResponse.missing_persons=response.missing_actors_count,clear&&actions.resetActors(),newResponse}return null}}],insightActorsQueryOptions:[null,{loadActorsQueryOptions:async _ref4=>{let{query}=_ref4;if(!query)return values.insightActorsQueryOptions||null;let optionsQuery={kind:_queries_schema__WEBPACK_IMPORTED_MODULE_12__.OH.InsightActorsQueryOptions,source:query},response=await (0,_queries_query__WEBPACK_IMPORTED_MODULE_11__.jr)(optionsQuery,{async:!1});return Object.fromEntries(Object.entries(response).filter(_ref5=>{let[key,_]=_ref5;return _queries_schema__WEBPACK_IMPORTED_MODULE_12__.$V.includes(key)}))}}]}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.reducers)(_ref6=>{let{props}=_ref6;return{query:[props.query,{updateQuery:(_,_ref7)=>{let{query}=_ref7;return query}}],actors:[[],{loadActorsSuccess:(state,_ref8)=>{let{actorsResponse}=_ref8;return[...state,...actorsResponse?.results?.[0]?.people||[]]},resetActors:()=>[]}],errorObject:[null,{loadActors:()=>null,loadActorsFailure:(_,_ref9)=>{let{errorObject}=_ref9;return errorObject},loadActorsSuccess:()=>null}],missingActorsCount:[0,{loadActorsSuccess:(state,_ref10)=>{let{actorsResponse}=_ref10;return state+(actorsResponse?.missing_persons||0)},resetActors:()=>0}],searchTerm:["",{setSearchTerm:(_,_ref11)=>{let{search}=_ref11;return search}}],isModalOpen:[!0,{closeModal:()=>!1}],isCohortModalOpen:[!1,{setIsCohortModalOpen:(_,_ref12)=>{let{isOpen}=_ref12;return isOpen},closeModal:()=>!1}]}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.listeners)(_ref13=>{let{actions,values,props}=_ref13;return{setSearchTerm:async(_,breakpoint)=>{await breakpoint(500),actions.loadActors({url:props.url,clear:!0})},saveAsCohort:async _ref14=>{let{cohortName}=_ref14,cohort=await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.create("api/cohort",{is_static:!0,name:cohortName,query:values.actorsQuery});_models_cohortsModel__WEBPACK_IMPORTED_MODULE_9__.Q.actions.cohortCreated(cohort),_posthog_lemon_ui__WEBPACK_IMPORTED_MODULE_0__.UJ.success("Cohort saved",{toastId:`cohort-saved-${cohort.id}`,button:{label:"View cohort",action:()=>kea_router__WEBPACK_IMPORTED_MODULE_3__.router.actions.push(scenes_urls__WEBPACK_IMPORTED_MODULE_8__.j.cohort(cohort.id))}}),actions.setIsCohortModalOpen(!1)},loadNextActors:()=>{values.actorsResponse?.next&&actions.loadActors({url:values.actorsResponse.next}),values.actorsResponse?.offset&&actions.loadActors({offset:values.actorsResponse.offset})},loadActors:()=>{values.query&&!values.insightActorsQueryOptions&&actions.loadActorsQueryOptions(values.query)},updateActorsQuery:_ref15=>{let{query:q}=_ref15;q&&values.query&&(actions.updateQuery({...values.query,...q}),actions.loadActors({offset:0,clear:!0}))}}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.selectors)({actorLabel:[s=>[s.actors,s.aggregationLabel],(actors,aggregationLabel)=>{let firstResult=actors[0];return firstResult?aggregationLabel((0,lib_utils__WEBPACK_IMPORTED_MODULE_5__.tK)(firstResult)?firstResult.group_type_index:void 0):{singular:"result",plural:"results"}}],validationError:[s=>[s.errorObject],errorObject=>errorObject?.status===400||errorObject?.status===512?errorObject.detail:null],propertiesTimelineFilterFromUrl:[()=>[(_,p)=>p.url],url=>{let params=new URLSearchParams(url.split("?")[1]),eventsString=params.get("events"),actionsString=params.get("actions"),propertiesString=params.get("properties"),aggregationGroupTypeIndexString=params.get("aggregation_group_type_index"),filter={date_from:params.get("date_from")||void 0,date_to:params.get("date_to")||void 0,interval:params.get("interval")||void 0,events:eventsString?JSON.parse(eventsString):void 0,actions:actionsString?JSON.parse(actionsString):void 0,properties:propertiesString?JSON.parse(propertiesString):void 0,aggregation_group_type_index:aggregationGroupTypeIndexString?parseInt(aggregationGroupTypeIndexString):void 0,display:params.get("display")||void 0,breakdown:params.get("breakdown")||void 0,breakdown_type:params.get("breakdown_type")||void 0};return(0,scenes_insights_utils_cleanFilters__WEBPACK_IMPORTED_MODULE_7__.Ow)(filter)}],selectFields:[()=>[(_,p)=>p.additionalSelect],additionalSelect=>{let extra=Object.values(additionalSelect||{});return["actor",...extra]}],actorsQuery:[s=>[(_,p)=>p.orderBy,s.query,s.searchTerm,s.selectFields],(orderBy,query,searchTerm,selectFields)=>query?{kind:_queries_schema__WEBPACK_IMPORTED_MODULE_12__.OH.ActorsQuery,source:query,select:selectFields,orderBy:orderBy||[],search:searchTerm}:null],exploreUrl:[s=>[s.actorsQuery],actorsQuery=>{if(!actorsQuery)return null;let{select:_select,...source}=actorsQuery,query={kind:_queries_schema__WEBPACK_IMPORTED_MODULE_12__.OH.DataTableNode,source,full:!0};return scenes_urls__WEBPACK_IMPORTED_MODULE_8__.j.insightNew(void 0,void 0,query)}]}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.afterMount)(_ref16=>{let{actions,props}=_ref16;actions.loadActors({url:props.url}),actions.reportPersonsModalViewed({url:props.url,query:props.query})}),(0,kea_router__WEBPACK_IMPORTED_MODULE_3__.urlToAction)(_ref17=>{let{cache,actions}=_ref17;return{"*":(_a,_b,_c,_ref18)=>{let{pathname}=_ref18;if(!cache.lastPathname){cache.lastPathname=pathname;return}cache.lastPathname!==pathname&&actions.closeModal()}}}),(0,kea__WEBPACK_IMPORTED_MODULE_1__.propsChanged)((_ref19,oldProps)=>{let{props,actions}=_ref19;props.url!==oldProps.url&&actions.loadActors({url:props.url,clear:!0})})])},"./frontend/src/scenes/trends/trendsDataLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{i:()=>trendsDataLogic});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),lib_dayjs__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/lib/dayjs.ts"),scenes_insights_insightVizDataLogic__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/scenes/insights/insightVizDataLogic.ts"),scenes_insights_sharedUtils__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/scenes/insights/sharedUtils.ts"),scenes_insights_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/scenes/insights/utils.tsx"),_queries_utils__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/queries/utils.ts"),_types__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/types.ts");let POSSIBLY_FRACTIONAL_MATH_TYPES=new Set([_types__WEBPACK_IMPORTED_MODULE_6__.D7.Average].concat(Object.values(_types__WEBPACK_IMPORTED_MODULE_6__.mY)).concat(Object.values(_types__WEBPACK_IMPORTED_MODULE_6__.O4))),trendsDataLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.props)({}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.key)((0,scenes_insights_sharedUtils__WEBPACK_IMPORTED_MODULE_3__.bk)("all_trends")),(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(key=>["scenes","trends","trendsDataLogic",key]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.connect)(props=>({values:[(0,scenes_insights_insightVizDataLogic__WEBPACK_IMPORTED_MODULE_2__.Z)(props),["querySource","insightData","insightDataLoading","series","formula","display","compareFilter","interval","enabledIntervals","breakdownFilter","showValuesOnSeries","showLabelOnSeries","showPercentStackView","supportsPercentStackView","insightFilter","trendsFilter","lifecycleFilter","stickinessFilter","isTrends","isDataWarehouseSeries","isLifecycle","isStickiness","isNonTimeSeriesDisplay","isSingleSeries","hasLegend","showLegend","vizSpecificOptions","yAxisScaleType","resultCustomizationBy","theme"]],actions:[(0,scenes_insights_insightVizDataLogic__WEBPACK_IMPORTED_MODULE_2__.Z)(props),["setInsightData","updateInsightFilter","updateBreakdownFilter","updateHiddenLegendIndexes"]]})),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)({loadMoreBreakdownValues:!0,setBreakdownValuesLoading:loading=>({loading}),toggleHiddenLegendIndex:index=>({index})}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)({breakdownValuesLoading:[!1,{setBreakdownValuesLoading:(_,_ref)=>{let{loading}=_ref;return loading}}]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.selectors)(_ref2=>{let{values}=_ref2;return{alertSeries:[s=>[s.querySource],queryNode=>null===queryNode?[]:queryNode.series],results:[s=>[s.insightData],insightData=>insightData?.result&&Array.isArray(insightData.result)?insightData.result:[]],hasBreakdownMore:[s=>[s.insightData,s.isTrends],(insightData,isTrends)=>!!isTrends&&!!insightData.hasMore],isBreakdownValid:[s=>[s.breakdownFilter],breakdownFilter=>(0,_queries_utils__WEBPACK_IMPORTED_MODULE_5__.AV)(breakdownFilter)],indexedResults:[s=>[s.results,s.display,s.lifecycleFilter],(results,display,lifecycleFilter)=>{let defaultLifecyclesOrder=["new","resurrecting","returning","dormant"],indexedResults=results.map((result,index)=>({...result,seriesIndex:index}));display&&(display===_types__WEBPACK_IMPORTED_MODULE_6__.Qb.ActionsBarValue||display===_types__WEBPACK_IMPORTED_MODULE_6__.Qb.ActionsPie)?indexedResults.sort((a,b)=>{let aValue=a.breakdown_value===scenes_insights_utils__WEBPACK_IMPORTED_MODULE_4__.T8?-scenes_insights_utils__WEBPACK_IMPORTED_MODULE_4__.Oq:a.breakdown_value===scenes_insights_utils__WEBPACK_IMPORTED_MODULE_4__.ZA?-scenes_insights_utils__WEBPACK_IMPORTED_MODULE_4__.Tu:a.aggregated_value,bValue=b.breakdown_value===scenes_insights_utils__WEBPACK_IMPORTED_MODULE_4__.T8?-scenes_insights_utils__WEBPACK_IMPORTED_MODULE_4__.Oq:b.breakdown_value===scenes_insights_utils__WEBPACK_IMPORTED_MODULE_4__.ZA?-scenes_insights_utils__WEBPACK_IMPORTED_MODULE_4__.Tu:b.aggregated_value;return bValue-aValue}):lifecycleFilter&&(lifecycleFilter.toggledLifecycles&&(indexedResults=indexedResults.filter(result=>lifecycleFilter.toggledLifecycles.includes(String(result.status)))),indexedResults=indexedResults.sort((a,b)=>defaultLifecyclesOrder.indexOf(String(b.status))-defaultLifecyclesOrder.indexOf(String(a.status))));let uniqSeries=Array.from(new Set(indexedResults.map(item=>`${item.label}_${item.action?.order}_${item?.breakdown_value}`)));return indexedResults.map((item,index)=>{let colorIndex=uniqSeries.findIndex(identifier=>identifier===`${item.label}_${item.action?.order}_${item?.breakdown_value}`);return{...item,colorIndex:colorIndex,id:index}})}],labelGroupType:[s=>[s.series,s.querySource,s.isLifecycle],(series,querySource,isLifecycle)=>{var _firstAggregationGrou;let firstAggregationGroupTypeIndex;if(isLifecycle)firstAggregationGroupTypeIndex=querySource?.aggregation_group_type_index;else if(firstAggregationGroupTypeIndex=series?.[0]?.math_group_type_index,!series?.every(eOrA=>eOrA?.math_group_type_index===firstAggregationGroupTypeIndex))return"none";return null!==(_firstAggregationGrou=firstAggregationGroupTypeIndex)&&void 0!==_firstAggregationGrou?_firstAggregationGrou:"people"}],incompletenessOffsetFromEnd:[s=>[s.results,s.interval],(results,interval)=>{if(results[0]?.days===void 0)return 0;let startDate=(0,lib_dayjs__WEBPACK_IMPORTED_MODULE_1__.Bv)().tz("utc",!0).startOf(null!=interval?interval:"d"),startIndex=results[0].days.findIndex(day=>(0,lib_dayjs__WEBPACK_IMPORTED_MODULE_1__.Bv)(day).tz("utc",!0)>=startDate);return void 0!==startIndex&&-1!==startIndex?startIndex-results[0].days.length:0}],pieChartVizOptions:[()=>[()=>values.vizSpecificOptions],vizSpecificOptions=>vizSpecificOptions?.[_types__WEBPACK_IMPORTED_MODULE_6__.Qb.ActionsPie]],mightContainFractionalNumbers:[s=>[s.formula,s.series],(formula,series)=>!!formula||!!series&&series.some(s=>s.math&&POSSIBLY_FRACTIONAL_MATH_TYPES.has(s.math))],hiddenLegendIndexes:[s=>[s.trendsFilter,s.stickinessFilter],(trendsFilter,stickinessFilter)=>trendsFilter?.hiddenLegendIndexes||stickinessFilter?.hiddenLegendIndexes||[]],resultCustomizations:[s=>[s.trendsFilter],trendsFilter=>trendsFilter?.resultCustomizations],getTrendsColorToken:[s=>[s.resultCustomizationBy,s.resultCustomizations,s.theme],(resultCustomizationBy,resultCustomizations,theme)=>dataset=>null==theme?null:(0,scenes_insights_utils__WEBPACK_IMPORTED_MODULE_4__.BD)(resultCustomizationBy,resultCustomizations,theme,dataset)],getTrendsColor:[s=>[s.theme,s.getTrendsColorToken],(theme,getTrendsColorToken)=>dataset=>null==theme?"#000000":theme[getTrendsColorToken(dataset)]]}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.listeners)(_ref3=>{let{actions,values}=_ref3;return{toggleHiddenLegendIndex:_ref4=>{let{index}=_ref4;values.insightFilter?.hiddenLegendIndexes?.includes(index)?actions.updateHiddenLegendIndexes(values.insightFilter.hiddenLegendIndexes?.filter(idx=>idx!==index)):actions.updateHiddenLegendIndexes([...values.insightFilter?.hiddenLegendIndexes||[],index])}}})])},"./frontend/src/scenes/urls.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{j:()=>urls});var kea_router__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),lib_utils_getAppContext__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/lib/utils/getAppContext.ts"),_types__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/types.ts");let urls={absolute:function(){let path=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return window.location.origin+path},default:()=>"/",project:function(id){let path=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return`/project/${id}`+path},currentProject:function(){let path=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return urls.project((0,lib_utils_getAppContext__WEBPACK_IMPORTED_MODULE_1__.ev)(),path)},dashboards:()=>"/dashboard",dashboard:(id,highlightInsightId)=>(0,kea_router__WEBPACK_IMPORTED_MODULE_0__.combineUrl)(`/dashboard/${id}`,highlightInsightId?{highlightInsightId}:{}).url,dashboardTextTile:(id,textTileId)=>`${urls.dashboard(id)}/text-tiles/${textTileId}`,dashboardSharing:id=>`/dashboard/${id}/sharing`,dashboardSubcriptions:id=>`/dashboard/${id}/subscriptions`,dashboardSubcription:(id,subscriptionId)=>`/dashboard/${id}/subscriptions/${subscriptionId}`,sharedDashboard:shareToken=>`/shared_dashboard/${shareToken}`,createAction:()=>"/data-management/actions/new",duplicateAction:action=>{let queryParams=action?`?copy=${encodeURIComponent(JSON.stringify(action))}`:"";return`/data-management/actions/new/${queryParams}`},action:id=>`/data-management/actions/${id}`,actions:()=>"/data-management/actions",eventDefinitions:()=>"/data-management/events",eventDefinition:id=>`/data-management/events/${id}`,eventDefinitionEdit:id=>`/data-management/events/${id}/edit`,propertyDefinitions:type=>(0,kea_router__WEBPACK_IMPORTED_MODULE_0__.combineUrl)("/data-management/properties",type?{type}:{}).url,propertyDefinition:id=>`/data-management/properties/${id}`,propertyDefinitionEdit:id=>`/data-management/properties/${id}/edit`,dataManagementHistory:()=>"/data-management/history",database:()=>"/data-management/database",activity:function(){let tab=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_types__WEBPACK_IMPORTED_MODULE_2__.ZO.ExploreEvents;return`/activity/${tab}`},event:(id,timestamp)=>`/events/${encodeURIComponent(id)}/${encodeURIComponent(timestamp)}`,ingestionWarnings:()=>"/data-management/ingestion-warnings",insights:()=>"/insights",insightNew:(type,dashboardId,query)=>(0,kea_router__WEBPACK_IMPORTED_MODULE_0__.combineUrl)("/insights/new",dashboardId?{dashboard:dashboardId}:{},{...type?{insight:type}:{},...query?{q:"string"==typeof query?query:JSON.stringify(query)}:{}}).url,insightNewHogQL:(query,filters)=>(0,kea_router__WEBPACK_IMPORTED_MODULE_0__.combineUrl)("/data-warehouse",{},{q:JSON.stringify({kind:"DataTableNode",full:!0,source:{kind:"HogQLQuery",query,filters}})}).url,insightEdit:id=>`/insights/${id}/edit`,insightView:(id,dashboardId,variablesOverride)=>{let params=[{param:"dashboard",value:dashboardId},{param:"variables_override",value:variablesOverride}].filter(n=>!!n.value).map(n=>`${n.param}=${encodeURIComponent(JSON.stringify(n.value))}`).join("&");return`/insights/${id}${params.length?`?${params}`:""}`},insightSubcriptions:id=>`/insights/${id}/subscriptions`,insightSubcription:(id,subscriptionId)=>`/insights/${id}/subscriptions/${subscriptionId}`,insightSharing:id=>`/insights/${id}/sharing`,savedInsights:tab=>`/insights${tab?`?tab=${tab}`:""}`,webAnalytics:()=>"/web",webAnalyticsCoreWebVitals:()=>"/web/core-web-vitals",replay:(tab,filters,sessionRecordingId,order)=>(0,kea_router__WEBPACK_IMPORTED_MODULE_0__.combineUrl)(tab?`/replay/${tab}`:"/replay/home",{...filters?{filters}:{},...sessionRecordingId?{sessionRecordingId}:{},...order?{order}:{}}).url,replayPlaylist:id=>`/replay/playlists/${id}`,replaySingle:id=>`/replay/${id}`,replayFilePlayback:()=>"/replay/file-playback",personByDistinctId:function(id){let encode=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return encode?`/person/${encodeURIComponent(id)}`:`/person/${id}`},personByUUID:function(uuid){let encode=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return encode?`/persons/${encodeURIComponent(uuid)}`:`/persons/${uuid}`},persons:()=>"/persons",pipelineNodeNew:(stage,id)=>`/pipeline/new/${stage}${id?`/${id}`:""}`,pipeline:tab=>`/pipeline/${tab||_types__WEBPACK_IMPORTED_MODULE_2__.J9.Overview}`,pipelineNode:(stage,id,nodeTab)=>`/pipeline/${stage.startsWith(":")||stage?.endsWith("s")?stage:`${stage}s`}/${id}${nodeTab?`/${nodeTab}`:""}`,messagingBroadcasts:()=>"/messaging/broadcasts",messagingBroadcast:id=>`/messaging/broadcasts/${id}`,messagingBroadcastNew:()=>"/messaging/broadcasts/new",messagingProviders:()=>"/messaging/providers",messagingProvider:id=>`/messaging/providers/${id}`,messagingProviderNew:template=>"/messaging/providers/new"+(template?`/${template}`:""),groups:groupTypeIndex=>`/groups/${groupTypeIndex}`,group:function(groupTypeIndex,groupKey){let encode=!(arguments.length>2)||void 0===arguments[2]||arguments[2],tab=arguments.length>3?arguments[3]:void 0;return`/groups/${groupTypeIndex}/${encode?encodeURIComponent(groupKey):groupKey}${tab?`/${tab}`:""}`},cohort:id=>`/cohorts/${id}`,cohorts:()=>"/cohorts",experiment:id=>`/experiments/${id}`,experiments:()=>"/experiments",experimentsSharedMetrics:()=>"/experiments/shared-metrics",experimentsSharedMetric:id=>`/experiments/shared-metrics/${id}`,featureFlags:tab=>`/feature_flags${tab?`?tab=${tab}`:""}`,featureFlag:id=>`/feature_flags/${id}`,featureManagement:id=>`/features${id?`/${id}`:""}`,earlyAccessFeatures:()=>"/early_access_features",earlyAccessFeature:id=>`/early_access_features/${id}`,errorTracking:()=>"/error_tracking",errorTrackingConfiguration:()=>"/error_tracking/configuration",errorTrackingIssue:id=>`/error_tracking/${id}`,surveys:tab=>`/surveys${tab?`?tab=${tab}`:""}`,survey:id=>`/surveys/${id}`,surveyTemplates:()=>"/survey_templates",customCss:()=>"/themes/custom-css",dataWarehouse:query=>(0,kea_router__WEBPACK_IMPORTED_MODULE_0__.combineUrl)("/data-warehouse",{},query?{q:"string"==typeof query?query:JSON.stringify(query)}:{}).url,sqlEditor:()=>"/sql",dataWarehouseView:id=>(0,kea_router__WEBPACK_IMPORTED_MODULE_0__.combineUrl)(`/data-warehouse/view/${id}`).url,dataWarehouseTable:()=>"/data-warehouse/new",dataWarehouseRedirect:kind=>`/data-warehouse/${kind}/redirect`,annotations:()=>"/data-management/annotations",annotation:id=>`/data-management/annotations/${id}`,organizationCreateFirst:()=>"/create-organization",projectCreateFirst:()=>"/organization/create-project",projectHomepage:()=>"/",max:()=>"/max",settings:function(){let section=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"project",setting=arguments.length>1?arguments[1]:void 0;return(0,kea_router__WEBPACK_IMPORTED_MODULE_0__.combineUrl)(`/settings/${section}`,void 0,setting).url},organizationCreationConfirm:()=>"/organization/confirm-creation",toolbarLaunch:()=>"/toolbar",site:url=>`/site/${":url"===url?url:encodeURIComponent(url)}`,login:()=>"/login",login2FA:()=>"/login/2fa",login2FASetup:()=>"/login/2fa_setup",passwordReset:()=>"/reset",passwordResetComplete:(userUuid,token)=>`/reset/${userUuid}/${token}`,preflight:()=>"/preflight",signup:()=>"/signup",verifyEmail:function(){let userUuid=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",token=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return`/verify_email${userUuid?`/${userUuid}`:""}${token?`/${token}`:""}`},inviteSignup:id=>`/signup/${id}`,products:()=>"/products",onboarding:(productKey,stepKey,sdk)=>`/onboarding/${productKey}${stepKey?"?step="+stepKey:""}${sdk&&stepKey?"&sdk="+sdk:sdk?"?sdk="+sdk:""}`,organizationBilling:products=>`/organization/billing${products&&products.length?`?products=${products.join(",")}`:""}`,organizationBillingSection:function(){let section=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"overview";return(0,kea_router__WEBPACK_IMPORTED_MODULE_0__.combineUrl)(`/organization/billing/${section}`).url},billingAuthorizationStatus:()=>"/billing/authorization_status",instanceStatus:()=>"/instance/status",instanceStaffUsers:()=>"/instance/staff_users",instanceKafkaInspector:()=>"/instance/kafka_inspector",instanceSettings:()=>"/instance/settings",instanceMetrics:()=>"/instance/metrics",asyncMigrations:()=>"/instance/async_migrations",asyncMigrationsFuture:()=>"/instance/async_migrations/future",asyncMigrationsSettings:()=>"/instance/async_migrations/settings",deadLetterQueue:()=>"/instance/dead_letter_queue",unsubscribe:()=>"/unsubscribe",integrationsRedirect:kind=>`/integrations/${kind}/callback`,shared:function(token){let exportOptions=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,kea_router__WEBPACK_IMPORTED_MODULE_0__.combineUrl)(`/shared/${token}`,Object.entries(exportOptions).filter(x=>x[1]).reduce((acc,_ref)=>{let[key,val]=_ref;return{...acc,[key]:!0===val?null:val}},{})).url},embedded:(token,exportOptions)=>urls.shared(token,exportOptions).replace("/shared/","/embedded/"),debugQuery:query=>(0,kea_router__WEBPACK_IMPORTED_MODULE_0__.combineUrl)("/debug",{},query?{q:"string"==typeof query?query:JSON.stringify(query)}:{}).url,debugHog:()=>"/debug/hog",feedback:()=>"/feedback",issues:()=>"/issues",notebooks:()=>"/notebooks",notebook:shortId=>`/notebooks/${shortId}`,canvas:()=>"/canvas",moveToPostHogCloud:()=>"/move-to-cloud",heatmaps:params=>`/heatmaps${params?`?${params.startsWith("?")?params.slice(1):params}`:""}`,alert:alertId=>`/insights?tab=alerts&alert_id=${alertId}`,alerts:()=>"/insights?tab=alerts",insightAlerts:insightShortId=>`/insights/${insightShortId}/alerts`,insightAlert:(insightShortId,alertId)=>`/insights/${insightShortId}/alerts?alert_id=${alertId}`,sessionAttributionExplorer:()=>"/web/session-attribution-explorer"}},"./frontend/src/scenes/userLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{userLogic:()=>userLogic});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_forms__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea-forms@3.2.0_kea@3.1.5/node_modules/kea-forms/lib/index.js"),kea_loaders__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/kea-loaders@3.0.0_kea@3.1.5/node_modules/kea-loaders/lib/index.js"),kea_router__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),lib_api__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/lib/api.ts"),lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonToast/LemonToast.tsx"),lib_utils_getAppContext__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./frontend/src/lib/utils/getAppContext.ts"),posthog_js__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./node_modules/.pnpm/posthog-js@1.205.0/node_modules/posthog-js/dist/module.js"),_urls__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./frontend/src/scenes/urls.ts");let userLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(["scenes","userLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)(()=>({loadUser:resetOnFailure=>({resetOnFailure}),updateCurrentOrganization:(organizationId,destination)=>({organizationId,destination}),logout:!0,updateUser:(user,successCallback)=>({user,successCallback}),setUserScenePersonalisation:(scene,dashboard)=>({scene,dashboard}),updateHasSeenProductIntroFor:(productKey,value)=>({productKey,value}),switchTeam:teamId=>({teamId})})),(0,kea_forms__WEBPACK_IMPORTED_MODULE_1__.forms)(_ref=>{let{actions}=_ref;return{userDetails:{errors:_ref2=>{let{first_name,email}=_ref2;return{first_name:first_name?first_name.length>150?"This name is too long. Please keep it under 151 characters.":null:"You need to have a name.",email:email?email.length>254?"This email is too long. Please keep it under 255 characters.":null:"You need to have an email."}},submit:user=>{actions.updateUser(user)}}}}),(0,kea_loaders__WEBPACK_IMPORTED_MODULE_2__.loaders)(_ref3=>{let{values,actions}=_ref3;return{user:[null,{loadUser:async()=>{try{return await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.get("api/users/@me/")}catch(error){console.error(error),actions.loadUserFailure(error.message)}return null},updateUser:async _ref4=>{let{user,successCallback}=_ref4;if(!values.user)throw Error("Current user has not been loaded yet, so it cannot be updated!");try{let response=await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.update("api/users/@me/",user);return successCallback&&successCallback(),response}catch(error){return console.error(error),actions.updateUserFailure(error.message),values.user}},setUserScenePersonalisation:async _ref5=>{let{scene,dashboard}=_ref5;if(!values.user)throw Error("Current user has not been loaded yet, so it cannot be updated!");try{return await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.create("api/users/@me/scene_personalisation",{scene,dashboard})}catch(error){return console.error(error),actions.updateUserFailure(error.message),values.user}}}]}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)({userDetails:[{},{loadUserSuccess:(_,_ref6)=>{let{user}=_ref6;return{first_name:user?.first_name||"",last_name:user?.last_name||"",email:user?.email||""}},updateUserSuccess:(_,_ref7)=>{let{user}=_ref7;return{first_name:user?.first_name||"",last_name:user?.last_name||"",email:user?.email||""}}}]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.listeners)(_ref8=>{let{actions,values}=_ref8;return{logout:()=>{posthog_js__WEBPACK_IMPORTED_MODULE_7__.ZP.reset(),window.location.href="/logout"},loadUserSuccess:_ref9=>{let{user}=_ref9;if(user&&user.uuid){let Sentry=window.Sentry;Sentry?.setUser({email:user.email,id:user.uuid}),posthog_js__WEBPACK_IMPORTED_MODULE_7__.ZP&&(posthog_js__WEBPACK_IMPORTED_MODULE_7__.ZP.identify(user.distinct_id),posthog_js__WEBPACK_IMPORTED_MODULE_7__.ZP.people.set({email:user.anonymize_data?null:user.email,realm:user.realm}),posthog_js__WEBPACK_IMPORTED_MODULE_7__.ZP.register({is_demo_project:user.team?.is_demo}),user.team&&posthog_js__WEBPACK_IMPORTED_MODULE_7__.ZP.group("project",user.team.uuid,{id:user.team.id,uuid:user.team.uuid,name:user.team.name,ingested_event:user.team.ingested_event,is_demo:user.team.is_demo,timezone:user.team.timezone,instance_tag:user.organization?.metadata?.instance_tag}),user.organization&&(posthog_js__WEBPACK_IMPORTED_MODULE_7__.ZP.group("organization",user.organization.id,{id:user.organization.id,name:user.organization.name,slug:user.organization.slug,created_at:user.organization.created_at,available_product_features:user.organization.available_product_features,...user.organization.metadata}),user.organization.customer_id&&posthog_js__WEBPACK_IMPORTED_MODULE_7__.ZP.group("customer",user.organization.customer_id)))}},updateUserSuccess:()=>{lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_5__.UJ.dismiss("updateUser"),lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_5__.UJ.success("Preferences saved",{toastId:"updateUser"})},updateUserFailure:()=>{lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_5__.UJ.error("Error saving preferences",{toastId:"updateUser"})},updateCurrentOrganization:async(_ref10,breakpoint)=>{let{organizationId,destination}=_ref10;values.user?.organization?.id!==organizationId&&(await breakpoint(10),await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.update("api/users/@me/",{set_current_organization:organizationId}),window.location.href=destination||"/")},updateHasSeenProductIntroFor:async(_ref11,breakpoint)=>{let{productKey,value}=_ref11;await breakpoint(10),await lib_api__WEBPACK_IMPORTED_MODULE_4__.ZP.update("api/users/@me/",{has_seen_product_intro_for:{...values.user?.has_seen_product_intro_for,[productKey]:value}}).then(()=>{actions.loadUser()})},switchTeam:_ref12=>{let{teamId}=_ref12;window.location.href=_urls__WEBPACK_IMPORTED_MODULE_8__.j.project(teamId)}}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.selectors)({hasAvailableFeature:[s=>[s.user],user=>(feature,currentUsage)=>{let availableProductFeatures=user?.organization?.available_product_features;if(availableProductFeatures&&availableProductFeatures.length>0){let availableFeature=availableProductFeatures.find(obj=>obj.key===feature);return!!availableFeature&&(!currentUsage||!availableFeature?.limit||availableFeature?.limit>currentUsage)}return!1}],availableFeature:[s=>[s.user],user=>feature=>{let availableProductFeatures=user?.organization?.available_product_features;return availableProductFeatures&&availableProductFeatures.length>0?availableProductFeatures.find(obj=>obj.key===feature):null}],otherOrganizations:[s=>[s.user],user=>user&&user.organizations?.filter(organization=>organization.id!==user.organization?.id).sort((orgA,orgB)=>orgA.id===user?.organization?.id?-2:orgA.name.localeCompare(orgB.name))||[]],themeMode:[s=>[s.user],user=>user?.theme_mode||"light"]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.afterMount)(_ref13=>{let{actions}=_ref13,preloadedUser=lib_utils_getAppContext__WEBPACK_IMPORTED_MODULE_6__.Fj()?.current_user;preloadedUser?actions.loadUserSuccess(preloadedUser):null===preloadedUser?actions.loadUserFailure("Logged out"):actions.loadUser()}),(0,kea_router__WEBPACK_IMPORTED_MODULE_3__.urlToAction)(_ref14=>{let{values}=_ref14;return{"/year_in_posthog/2023":()=>{window.POSTHOG_APP_CONTEXT?.year_in_hog_url&&(window.location.href=`${window.location.origin}${window.POSTHOG_APP_CONTEXT.year_in_hog_url}`),values.user?.uuid&&(window.location.href=`${window.location.origin}/year_in_posthog/2023/${values.user?.uuid}`)}}})])},"./frontend/src/styles/index.tsx":(__unused_webpack_module,__unused_webpack___webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__("./frontend/src/styles/global.scss")},"./frontend/src/toolbar/assets/Logo.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{T:()=>Logo});var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js");function Logo(_ref){let{style}=_ref;return(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("svg",{style:style,fill:"none",width:"8.125em",height:"2em",viewBox:"0 0 130 32",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("g",{children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("path",{d:"m12.3708 17.2868c-.2868.5737-1.1056.5737-1.3925 0l-.6861-1.3722c-.1095-.2192-.1095-.4771 0-.6963l.6861-1.3722c.2869-.5737 1.1057-.5737 1.3925 0l.6861 1.3722c.1096.2192.1096.4771 0 .6963z",fill:"var(--brand-blue)"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("path",{d:"m12.3708 25.069c-.2868.5737-1.1056.5737-1.3925 0l-.6861-1.3722c-.1095-.2191-.1095-.4771 0-.6963l.6861-1.3721c.2869-.5738 1.1057-.5738 1.3925 0l.6861 1.3721c.1096.2192.1096.4772 0 .6963z",fill:"var(--brand-blue)"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("path",{d:"m3.89258 22.1149c0-.6935.83849-1.0408 1.32888-.5504l3.56791 3.5679c.49039.4904.14308 1.3289-.55044 1.3289h-3.56791c-.42992 0-.77844-.3486-.77844-.7785zm0-3.7582c0 .2065.08201.4045.228.5505l7.32612 7.3261c.146.1459.344.228.5504.228h4.0239c.6935 0 1.0409-.8385.5505-1.3289l-11.35004-11.35c-.49039-.4904-1.32888-.1431-1.32888.5504zm0-7.7821c0 .2065.08201.4045.228.5505l15.10822 15.1082c.146.1459.344.228.5504.228h4.0239c.6935 0 1.0409-.8385.5505-1.3289l-19.13214-19.13213c-.49039-.49039-1.32888-.14307-1.32888.55044zm7.78212 0c0 .2065.082.4045.228.5505l14.0073 14.0073c.4904.4904 1.3289.143 1.3289-.5505v-4.0239c0-.2064-.082-.4044-.228-.5504l-14.0073-14.00733c-.4904-.49039-1.3289-.14307-1.3289.55044zm9.111-4.57433c-.4904-.49039-1.3289-.14307-1.3289.55044v4.02389c0 .2065.082.4045.228.5505l6.2252 6.2252c.4904.4904 1.3289.1431 1.3289-.5505v-4.0239c0-.2064-.082-.4044-.228-.5504z",fill:"var(--brand-yellow)"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("path",{d:"m36.9955 22.2104-7.3273-7.3273c-.4904-.4904-1.3288-.1431-1.3288.5504v10.2493c0 .43.3485.7785.7784.7785h11.3502c.4299 0 .7784-.3485.7784-.7785v-.9334c0-.4299-.35-.7732-.7763-.8287-1.3084-.1703-2.5321-.7679-3.4746-1.7103zm-4.9207 1.7606c-.6874 0-1.2452-.5578-1.2452-1.2451s.5578-1.2452 1.2452-1.2452c.6873 0 1.2451.5579 1.2451 1.2452s-.5578 1.2451-1.2451 1.2451z",fill:"var(--brand-key)"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("g",{fill:"var(--brand-blue)",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("path",{d:"m3.89258 25.6831c0 .4299.34852.7784.77844.7784h3.56791c.69352 0 1.04083-.8385.55044-1.3289l-3.56791-3.5679c-.49039-.4904-1.32888-.1431-1.32888.5505z"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("path",{d:"m11.6747 12.4535-6.45324-6.45323c-.49039-.49039-1.32888-.14307-1.32888.55044v4.02389c0 .2065.08201.4045.228.5505l7.55412 7.5541z"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("path",{d:"m5.22146 13.7825c-.49039-.4904-1.32888-.1431-1.32888.5504v4.0239c0 .2065.08201.4045.228.5505l7.55412 7.5541v-6.2257z"})]}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("path",{d:"m19.4569 12.7759c0-.2064-.082-.4044-.228-.5504l-6.2252-6.22523c-.4904-.49039-1.3289-.14307-1.3289.55044v4.02389c0 .2065.082.4045.228.5505l7.5541 7.5541z",fill:"var(--brand-red)"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("path",{d:"m11.6748 26.4615h4.3464c.6935 0 1.0408-.8385.5504-1.3289l-4.8968-4.8968z",fill:"var(--brand-red)"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("path",{d:"m11.6748 12.4536v5.9032c0 .2065.082.4045.228.5505l7.5541 7.5541v-5.9032c0-.2065-.082-.4045-.228-.5505z",fill:"var(--brand-red)"})]}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("g",{fill:"var(--brand-key)",children:[(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("path",{d:"m50.3259 23.3537h3.1979v-5.3028h2.6716c2.9347 0 4.817-1.7406 4.817-4.4324 0-2.6919-1.8823-4.43246-4.817-4.43246h-5.8695zm3.1979-8.0351v-3.4002h2.3478c1.2143 0 1.943.6476 1.943 1.7001 0 1.0524-.7287 1.7001-1.943 1.7001z"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("path",{d:"m66.7977 23.5156c3.1169 0 5.3837-2.2263 5.3837-5.2623 0-3.0359-2.2668-5.2622-5.3837-5.2622-3.1573 0-5.3837 2.2263-5.3837 5.2622 0 3.036 2.2264 5.2623 5.3837 5.2623zm-2.4287-5.2623c0-1.6191.9715-2.7323 2.4287-2.7323 1.437 0 2.4085 1.1132 2.4085 2.7323 0 1.6192-.9715 2.7324-2.4085 2.7324-1.4572 0-2.4287-1.1132-2.4287-2.7324z"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("path",{d:"m77.2989 23.5156c2.3882 0 4.0074-1.4977 4.0074-3.2585 0-4.1289-5.4849-2.7931-5.4849-4.4123 0-.4452.4655-.7286 1.1334-.7286.6882 0 1.518.425 1.7811 1.3561l2.3883-.9918c-.4656-1.4775-2.1859-2.4894-4.2706-2.4894-2.2466 0-3.6431 1.3358-3.6431 2.9347 0 3.8657 5.404 2.7931 5.404 4.392 0 .5667-.5263.9512-1.3156.9512-1.1334 0-1.9228-.7893-2.1656-1.7406l-2.3883.931c.5262 1.5383 2.0644 3.0562 4.5539 3.0562z"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("path",{d:"m88.9994 23.2525-.2024-2.5704c-.3441.1821-.7894.2429-1.1537.2429-.7286 0-1.2143-.5263-1.2143-1.437v-3.8658h2.4692v-2.4692h-2.4692v-2.955h-2.9752v2.955h-1.6192v2.4692h1.6192v4.2503c0 2.4692 1.6798 3.6431 3.8859 3.6431.6072 0 1.1739-.1012 1.6597-.2631z"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("path",{d:"m99.3728 9.18604v5.50516h-5.6266v-5.50516h-3.1979v14.16766h3.1979v-5.9302h5.6266v5.9302h3.2182v-14.16766z"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("path",{d:"m109.689 23.5156c3.117 0 5.384-2.2263 5.384-5.2623 0-3.0359-2.267-5.2622-5.384-5.2622-3.157 0-5.384 2.2263-5.384 5.2622 0 3.036 2.227 5.2623 5.384 5.2623zm-2.429-5.2623c0-1.6191.972-2.7323 2.429-2.7323 1.437 0 2.408 1.1132 2.408 2.7323 0 1.6192-.971 2.7324-2.408 2.7324-1.457 0-2.429-1.1132-2.429-2.7324z"}),(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("path",{d:"m120.815 23.0299c1.113 0 2.105-.3846 2.631-1.0525v.9715c0 1.1334-.911 1.9228-2.307 1.9228-.992 0-1.862-.4858-2.004-1.3156l-2.712.425c.364 1.9228 2.328 3.2181 4.716 3.2181 3.137 0 5.222-1.8418 5.222-4.5741v-9.4721h-2.935v.8703c-.546-.6274-1.477-1.0322-2.672-1.0322-2.833 0-4.614 1.943-4.614 5.0194s1.781 5.0194 4.675 5.0194zm-1.781-5.0194c0-1.518.891-2.4895 2.267-2.4895 1.396 0 2.287.9715 2.287 2.4895 0 1.5179-.891 2.4894-2.287 2.4894-1.376 0-2.267-.9715-2.267-2.4894z"})]})]})}},"./frontend/src/toolbar/toolbarConfigLogic.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{O:()=>toolbarFetch,W:()=>toolbarConfigLogic});var kea__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/kea@3.1.5_react@18.2.0/node_modules/kea/lib/index.esm.js"),kea_router__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/kea-router@3.2.0_kea@3.1.5/node_modules/kea-router/lib/index.js"),lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./frontend/src/lib/lemon-ui/LemonToast/LemonToast.tsx"),_toolbar_toolbarPosthogJS__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./frontend/src/toolbar/toolbarPosthogJS.ts"),_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./frontend/src/toolbar/utils.ts");let toolbarConfigLogic=(0,kea__WEBPACK_IMPORTED_MODULE_0__.kea)([(0,kea__WEBPACK_IMPORTED_MODULE_0__.path)(["toolbar","toolbarConfigLogic"]),(0,kea__WEBPACK_IMPORTED_MODULE_0__.props)({}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.actions)({authenticate:!0,logout:!0,tokenExpired:!0,clearUserIntent:!0,showButton:!0,hideButton:!0,persistConfig:!0}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.reducers)(_ref=>{let{props}=_ref;return{props:[props],temporaryToken:[props.temporaryToken||null,{logout:()=>null,tokenExpired:()=>null,authenticate:()=>null}],actionId:[props.actionId||null,{logout:()=>null,clearUserIntent:()=>null}],experimentId:[props.experimentId||null,{logout:()=>null,clearUserIntent:()=>null}],userIntent:[props.userIntent||null,{logout:()=>null,clearUserIntent:()=>null}],buttonVisible:[!0,{showButton:()=>!0,hideButton:()=>!1,logout:()=>!1}]}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.selectors)({posthog:[s=>[s.props],props=>{var _props$posthog;return null!==(_props$posthog=props.posthog)&&void 0!==_props$posthog?_props$posthog:null}],apiURL:[s=>[s.props],props=>`${props.apiURL?.endsWith("/")?props.apiURL.replace(/\/+$/,""):props.apiURL}`],dataAttributes:[s=>[s.props],props=>{var _props$dataAttributes;return null!==(_props$dataAttributes=props.dataAttributes)&&void 0!==_props$dataAttributes?_props$dataAttributes:[]}],isAuthenticated:[s=>[s.temporaryToken],temporaryToken=>!!temporaryToken]}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.listeners)(_ref2=>{let{values,actions}=_ref2;return{authenticate:()=>{_toolbar_toolbarPosthogJS__WEBPACK_IMPORTED_MODULE_3__.T.capture("toolbar authenticate",{is_authenticated:values.isAuthenticated});let encodedUrl=encodeURIComponent(window.location.href);actions.persistConfig(),window.location.href=`${values.apiURL}/authorize_and_redirect/?redirect=${encodedUrl}`},logout:()=>{_toolbar_toolbarPosthogJS__WEBPACK_IMPORTED_MODULE_3__.T.capture("toolbar logout"),localStorage.removeItem(_utils__WEBPACK_IMPORTED_MODULE_4__.k2)},tokenExpired:()=>{_toolbar_toolbarPosthogJS__WEBPACK_IMPORTED_MODULE_3__.T.capture("toolbar token expired"),console.warn("PostHog Toolbar API token expired. Clearing session."),"localstorage"!==values.props.source&&lib_lemon_ui_LemonToast_LemonToast__WEBPACK_IMPORTED_MODULE_2__.UJ.error("PostHog Toolbar API token expired."),actions.persistConfig()},persistConfig:()=>{var _values$temporaryToke,_values$actionId,_values$experimentId,_values$userIntent;let toolbarParams={...values.props,temporaryToken:null!==(_values$temporaryToke=values.temporaryToken)&&void 0!==_values$temporaryToke?_values$temporaryToke:void 0,actionId:null!==(_values$actionId=values.actionId)&&void 0!==_values$actionId?_values$actionId:void 0,experimentId:null!==(_values$experimentId=values.experimentId)&&void 0!==_values$experimentId?_values$experimentId:void 0,userIntent:null!==(_values$userIntent=values.userIntent)&&void 0!==_values$userIntent?_values$userIntent:void 0,posthog:void 0,featureFlags:void 0};localStorage.setItem(_utils__WEBPACK_IMPORTED_MODULE_4__.k2,JSON.stringify(toolbarParams))}}}),(0,kea__WEBPACK_IMPORTED_MODULE_0__.afterMount)(_ref3=>{let{props,values}=_ref3;if(props.instrument){let distinctId=props.distinctId;_toolbar_toolbarPosthogJS__WEBPACK_IMPORTED_MODULE_3__.T.optIn(),distinctId&&_toolbar_toolbarPosthogJS__WEBPACK_IMPORTED_MODULE_3__.T.identify(distinctId,props.userEmail?{email:props.userEmail}:{})}_toolbar_toolbarPosthogJS__WEBPACK_IMPORTED_MODULE_3__.T.capture("toolbar loaded",{is_authenticated:values.isAuthenticated})})]);async function toolbarFetch(url){let fullUrl,method=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"GET",payload=arguments.length>2?arguments[2]:void 0,urlConstruction=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"full",temporaryToken=toolbarConfigLogic.findMounted()?.values.temporaryToken,apiURL=toolbarConfigLogic.findMounted()?.values.apiURL;if("use-as-provided"===urlConstruction)fullUrl=url;else{let{pathname,searchParams}=(0,kea_router__WEBPACK_IMPORTED_MODULE_1__.combineUrl)(url),params={...searchParams,temporary_token:temporaryToken};fullUrl=`${apiURL}${pathname}${(0,kea_router__WEBPACK_IMPORTED_MODULE_1__.encodeParams)(params,"?")}`}let payloadData=payload?{body:JSON.stringify(payload),headers:{"Content-Type":"application/json"}}:{},response=await fetch(fullUrl,{method,...payloadData});if(403===response.status){let responseData=await response.json();"You don't have access to the project."===responseData.detail&&toolbarConfigLogic.actions.authenticate()}return 401==response.status&&toolbarConfigLogic.actions.tokenExpired(),response}},"./frontend/src/toolbar/toolbarPosthogJS.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{O:()=>useToolbarFeatureFlag,T:()=>toolbarPosthogJS});var posthog_js_lite__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/posthog-js-lite@3.0.0/node_modules/posthog-js-lite/lib/index.esm.js"),react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/react@18.2.0/node_modules/react/index.js");let DEFAULT_API_KEY="sTMFPsFhdP1Ssg",runningOnPosthog=!!window.POSTHOG_APP_CONTEXT,apiKey=runningOnPosthog?window.JS_POSTHOG_API_KEY:DEFAULT_API_KEY,apiHost=runningOnPosthog?window.JS_POSTHOG_HOST:"https://internal-t.posthog.com",toolbarPosthogJS=new posthog_js_lite__WEBPACK_IMPORTED_MODULE_0__.Z(apiKey||DEFAULT_API_KEY,{host:apiHost,defaultOptIn:!1,persistence:"memory",persistence_name:apiKey+"_toolbar",preloadFeatureFlags:!1});runningOnPosthog&&window.JS_POSTHOG_SELF_CAPTURE&&toolbarPosthogJS.debug();let useToolbarFeatureFlag=(flag,match)=>{let[flagValue,setFlagValue]=(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(toolbarPosthogJS.getFeatureFlag(flag));return((0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>toolbarPosthogJS.onFeatureFlag(flag,value=>setFlagValue(value)),[flag,match]),match)?flagValue===match:!!flagValue}},"./frontend/src/toolbar/utils.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{KC:()=>getHeatMapHue,Nb:()=>TOOLBAR_ID,OS:()=>trimElement,R6:()=>function getAllClickTargets(){let startNode=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document,selector=arguments.length>1?arguments[1]:void 0,targetSelector=selector||lib_actionUtils__WEBPACK_IMPORTED_MODULE_0__.cR,elements=startNode.querySelectorAll(targetSelector),allElements=[...startNode.querySelectorAll("*")],pointerElements=allElements.filter(el=>{if(lib_actionUtils__WEBPACK_IMPORTED_MODULE_0__.OK.indexOf(el.tagName.toLowerCase())>=0)return!1;let compStyles=window.getComputedStyle(el);return"pointer"===compStyles.getPropertyValue("cursor")}),shadowElements=allElements.filter(el=>el.shadowRoot&&el.getAttribute("id")!==TOOLBAR_ID).map(el=>el.shadowRoot?getAllClickTargets(el.shadowRoot,targetSelector):[]).reduce((a,b)=>[...a,...b],[]),selectedElements=[...elements,...pointerElements,...shadowElements].map(e=>trimElement(e,targetSelector)).filter(e=>e),uniqueElements=Array.from(new Set(selectedElements));return uniqueElements},bE:()=>elementToActionStep,dZ:()=>elementToQuery,gj:()=>actionStepToActionStepFormItem,k2:()=>LOCALSTORAGE_KEY,lz:()=>getBoxColors,nL:()=>inBounds,o:()=>getElementForStep,sV:()=>stepToDatabaseFormat,vf:()=>getRectForElement,wu:()=>TOOLBAR_CONTAINER_CLASS});var _medv_finder__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/.pnpm/@medv+finder@3.1.0/node_modules/@medv/finder/finder.js"),lib_actionUtils__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./frontend/src/lib/actionUtils.ts"),lib_utils_cssEscape__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./frontend/src/lib/utils/cssEscape.ts"),query_selector_shadow_dom__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/.pnpm/query-selector-shadow-dom@1.0.0/node_modules/query-selector-shadow-dom/src/querySelectorDeep.js");let TOOLBAR_ID="__POSTHOG_TOOLBAR__",TOOLBAR_CONTAINER_CLASS="toolbar-global-fade-container",LOCALSTORAGE_KEY="_postHogToolbarParams";function elementToQuery(element,dataAttributes){if(element){for(let{name,value}of Array.from(element.attributes)){if(!dataAttributes.includes(name))continue;let selector=`[${(0,lib_utils_cssEscape__WEBPACK_IMPORTED_MODULE_1__.Q)(name)}="${(0,lib_utils_cssEscape__WEBPACK_IMPORTED_MODULE_1__.Q)(value)}"]`;if(1==(0,query_selector_shadow_dom__WEBPACK_IMPORTED_MODULE_2__.Jp)(selector).length)return selector}try{return(0,_medv_finder__WEBPACK_IMPORTED_MODULE_3__.w)(element,{tagName:name=>!lib_actionUtils__WEBPACK_IMPORTED_MODULE_0__.Kr.includes(name),seedMinLength:5,attr:name=>name.startsWith("data-")})}catch(error){console.warn("Error while trying to find a selector for element",element,error);return}}}function elementToActionStep(element,dataAttributes){let query=elementToQuery(element,dataAttributes);return{event:"$autocapture",href:element.getAttribute("href")||"",text:function(el){if(!el.childNodes||!el.childNodes.length)return"";let elText="";return el.childNodes.forEach(child=>{3===child.nodeType&&child.textContent&&(elText+=child.textContent.trim().replace(/[\r\n]/g," ").replace(/[ ]+/g," ").substring(0,255))}),elText}(element)||"",selector:query||"",url:window.location.protocol+"//"+window.location.host+window.location.pathname,url_matching:"exact"}}function getParent(element){let parent=element.parentNode;return parent?.nodeType===window.Node.DOCUMENT_FRAGMENT_NODE?parent.host:parent?.nodeType===window.Node.ELEMENT_NODE?parent:null}function trimElement(element,selector){let target_selector=selector||lib_actionUtils__WEBPACK_IMPORTED_MODULE_0__.cR;if(!element)return null;let rootElement=window.document.getElementById(TOOLBAR_ID)||null;if(rootElement&&isParentOf(element,rootElement))return null;let loopElement=element;for(;;)if(1===loopElement.children.length)loopElement=loopElement.children[0];else break;for(;loopElement;){let parent=getParent(loopElement);if(!parent)break;if(loopElement.matches?.(target_selector))return loopElement;let compStyles=window.getComputedStyle(loopElement);if("pointer"===compStyles.getPropertyValue("cursor")){let parentStyles=parent?window.getComputedStyle(parent):null;if(!parentStyles||"pointer"!==parentStyles.getPropertyValue("cursor"))return loopElement}loopElement=parent}return null}function inBounds(min,value,max){return Math.max(min,Math.min(max,value))}function isParentOf(element,possibleParent){let loopElement=element;for(;loopElement;){if(loopElement!==element&&loopElement===possibleParent)return!0;loopElement=getParent(loopElement)}return!1}function getElementForStep(step,allElements){if(!step)return null;let selector="";step.selector&&(step.selector_selected||void 0===step.selector_selected)&&(selector=step.selector),step.href&&(step.href_selected||void 0===step.href_selected)&&(selector+=`[href="${(0,lib_utils_cssEscape__WEBPACK_IMPORTED_MODULE_1__.Q)(step.href)}"]`);let hasText=step.text&&step.text.trim()&&(step.text_selected||void 0===step.text_selected);if(!selector&&!hasText)return null;let elements=[];try{elements=[...(0,query_selector_shadow_dom__WEBPACK_IMPORTED_MODULE_2__.Jp)(selector||"*",document,allElements)]}catch(e){return console.error("Cannot use selector:",selector,". with exception: ",e),null}if(hasText&&step?.text){let textToSearch=step.text.toString().trim();elements=(elements=elements.filter(e=>-1===lib_actionUtils__WEBPACK_IMPORTED_MODULE_0__.Kr.indexOf(e.tagName.toLowerCase())&&e.innerText?.trim()===textToSearch&&(e.matches(lib_actionUtils__WEBPACK_IMPORTED_MODULE_0__.cR)||window.getComputedStyle(e)?.getPropertyValue("cursor")==="pointer"))).filter(e=>!elements.find(e2=>isParentOf(e2,e)))}return 1===elements.length?elements[0]:null}function getBoxColors(color){let hover=arguments.length>1&&void 0!==arguments[1]&&arguments[1],opacity=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.2;return"blue"===color?{backgroundBlendMode:"multiply",background:`hsla(240, 90%, 58%, ${opacity})`,boxShadow:`hsla(240, 90%, 27%, 0.2) 0px 3px 10px ${hover?4:0}px`,outline:"hsla(240, 90%, 58%, 0.5) solid 1px"}:"red"===color?{backgroundBlendMode:"multiply",background:`hsla(4, 90%, 58%, ${opacity})`,boxShadow:`hsla(4, 90%, 27%, 0.2) 0px 3px 10px ${hover?5:0}px`,outline:"hsla(4, 90%, 58%, 0.5) solid 1px"}:void 0}function actionStepToActionStepFormItem(step){let isNew=arguments.length>1&&void 0!==arguments[1]&&arguments[1],includedPropertyKeys=arguments.length>2?arguments[2]:void 0;if(!step)return{};if(void 0!==step.selector_selected)return step;if(isNew){let hasSelector=!!step.selector;return"a"===step.tag_name?{...step,href_selected:!0,selector_selected:hasSelector,text_selected:includedPropertyKeys?.includes("text")||!1,url_selected:includedPropertyKeys?.includes("url")||!1}:"button"===step.tag_name?{...step,text_selected:!0,selector_selected:hasSelector,href_selected:includedPropertyKeys?.includes("href")||!1,url_selected:includedPropertyKeys?.includes("url")||!1}:{...step,selector_selected:hasSelector,text_selected:includedPropertyKeys?.includes("text")||!1,url_selected:includedPropertyKeys?.includes("url")||!1,href_selected:includedPropertyKeys?.includes("href")||!1}}return{...step,url_matching:step.url_matching||"exact",href_selected:void 0!==step.href&&null!==step.href,text_selected:void 0!==step.text&&null!==step.text,selector_selected:void 0!==step.selector&&null!==step.selector,url_selected:void 0!==step.url&&null!==step.url}}function stepToDatabaseFormat(step){let{href_selected,text_selected,selector_selected,url_selected,...rest}=step;return{...rest,href:href_selected&&rest.href||null,text:text_selected&&rest.text||null,selector:selector_selected&&rest.selector||null,url:url_selected&&rest.url||null}}function getRectForElement(element){let elements=[elementToAreaRect(element)],loopElement=element;for(;1===loopElement.children.length;)elements.push(elementToAreaRect(loopElement=loopElement.children[0]));let maxArea=0,maxRect=elements[0].rect;for(let{rect,area}of elements)area>=maxArea&&(maxArea=area,maxRect=rect);return maxRect}let getZoomLevel=el=>{let zooms=[],getZoom=el=>{let zoom=window.getComputedStyle(el).getPropertyValue("zoom"),rzoom=zoom?parseFloat(zoom):1;1!==rzoom&&zooms.push(rzoom),el.parentElement?.parentElement&&getZoom(el.parentElement)};return getZoom(el),zooms.reverse(),zooms},getRect=el=>{if(!el)return{x:0,y:0,width:0,height:0,top:0,right:0,bottom:0,left:0};let rect=el?.getBoundingClientRect(),zooms=getZoomLevel(el),rectWithZoom={bottom:zooms.reduce((a,b)=>a*b,rect.bottom),height:zooms.reduce((a,b)=>a*b,rect.height),left:zooms.reduce((a,b)=>a*b,rect.left),right:zooms.reduce((a,b)=>a*b,rect.right),top:zooms.reduce((a,b)=>a*b,rect.top),width:zooms.reduce((a,b)=>a*b,rect.width),x:zooms.reduce((a,b)=>a*b,rect.x),y:zooms.reduce((a,b)=>a*b,rect.y)};return rectWithZoom};function elementToAreaRect(element){var _rect$width,_rect$height;let rect=getRect(element);return{element,rect,area:(null!==(_rect$width=rect.width)&&void 0!==_rect$width?_rect$width:0)*(null!==(_rect$height=rect.height)&&void 0!==_rect$height?_rect$height:0)}}function getHeatMapHue(count,maxCount){return 0===maxCount?60:60-count/maxCount*40}},"./frontend/src/types.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{B_:()=>Realm,Bs:()=>FeatureFlagStatus,Cz:()=>NotebookNodeType,D7:()=>CountPerActorMathType,DC:()=>EntityTypes,EF:()=>SessionRecordingSidebarStacking,F4:()=>DashboardPlacement,F7:()=>ExperimentsTabs,FB:()=>TemplateAvailabilityContext,FT:()=>PropertyFilterType,G2:()=>BehavioralEventType,H$:()=>SidePanelTab,HI:()=>SurveyUrlMatchType,Hh:()=>SingleFieldDateType,I9:()=>SurveyQuestionType,Iz:()=>ChartDisplayCategory,J2:()=>FilterLogicalOperator,J9:()=>PipelineTab,KU:()=>GraphType,LO:()=>ItemMode,MK:()=>ActorGroupType,ML:()=>EarlyAccessFeatureTabs,MN:()=>DashboardMode,Md:()=>ProductKey,NE:()=>BehavioralLifecycleType,O4:()=>PropertyMathType,OU:()=>GroupMathType,P$:()=>AvailableFeature,P5:()=>ExporterFormat,P6:()=>InsightColor,Qb:()=>ChartDisplayType,Qo:()=>SnapshotSourceType,S7:()=>FunnelMathType,SR:()=>RolloutConditionType,Sm:()=>SessionRecordingUsageType,Ts:()=>LayoutView,U6:()=>isDataWarehouseFilter,Ui:()=>FunnelVizType,VI:()=>FunnelCorrelationType,Vb:()=>BehavioralCohortType,W:()=>CookielessServerHashMode,WV:()=>PropertyOperator,We:()=>PipelineStage,XF:()=>FunnelStepReference,Xy:()=>TimeUnitType,Yy:()=>SessionPlayerState,ZO:()=>ActivityTab,_L:()=>SDKTag,_z:()=>Resource,aI:()=>FeatureFlagReleaseType,ak:()=>PluginInstallationType,bZ:()=>NotebookTarget,cB:()=>PathType,cr:()=>SessionRecordingSidebarTab,d_:()=>SurveyType,dc:()=>AnnotationScope,dw:()=>InsightType,e2:()=>BATCH_EXPORT_SERVICE_NAMES,fL:()=>ScheduledChangeOperationType,fS:()=>FunnelCorrelationResultsType,hP:()=>FunnelPathType,ih:()=>FunnelConversionWindowTimeUnit,il:()=>PipelineNodeTab,j3:()=>PersonsTabType,jc:()=>ActivityScope,kO:()=>StepOrderValue,kR:()=>DateOperatorType,kv:()=>SurveyQuestionBranchingType,l4:()=>SavedInsightsTabs,lh:()=>SDKKey,ll:()=>PropertyDefinitionType,mN:()=>ProgressStatus,mY:()=>HogQLMathType,nE:()=>EarlyAccessFeatureStage,q9:()=>BreakdownAttributionType,si:()=>HogWatcherState,uJ:()=>ValueOptionType,uS:()=>PropertyType,uW:()=>EventDefinitionType,uv:()=>AccessLevel,vN:()=>BaseMathType,w7:()=>FilterableInspectorListItemTypes,wz:()=>PropertyDefinitionState,xW:()=>RetentionPeriod,yd:()=>ReplayTabs,yp:()=>Region,zD:()=>manualLinkSources});let AvailableFeature=function(AvailableFeature){return AvailableFeature.APPS="apps",AvailableFeature.SLACK_INTEGRATION="slack_integration",AvailableFeature.MICROSOFT_TEAMS_INTEGRATION="microsoft_teams_integration",AvailableFeature.DISCORD_INTEGRATION="discord_integration",AvailableFeature.ZAPIER="zapier",AvailableFeature.APP_METRICS="app_metrics",AvailableFeature.DATA_PIPELINES="data_pipelines",AvailableFeature.RECORDINGS_PLAYLISTS="recordings_playlists",AvailableFeature.SESSION_REPLAY_DATA_RETENTION="session_replay_data_retention",AvailableFeature.CONSOLE_LOGS="console_logs",AvailableFeature.RECORDINGS_PERFORMANCE="recordings_performance",AvailableFeature.SESSION_REPLAY_NETWORK_PAYLOADS="session_replay_network_payloads",AvailableFeature.RECORDINGS_FILE_EXPORT="recordings_file_export",AvailableFeature.SESSION_REPLAY_SAMPLING="session_replay_sampling",AvailableFeature.REPLAY_RECORDING_DURATION_MINIMUM="replay_recording_duration_minimum",AvailableFeature.REPLAY_FEATURE_FLAG_BASED_RECORDING="replay_feature_flag_based_recording",AvailableFeature.REPLAY_MASK_SENSITIVE_DATA="replay_mask_sensitive_data",AvailableFeature.REPLAY_SHARING_EMBEDDING="replay_sharing_embedding",AvailableFeature.REPLAY_PRODUCT_ANALYTICS_INTEGRATION="replay_product_analytics_integration",AvailableFeature.REPLAY_FILTER_PERSON_PROPERTIES="replay_filter_person_properties",AvailableFeature.REPLAY_FILTER_EVENTS="replay_filter_events",AvailableFeature.REPLAY_DOM_EXPLORER="replay_dom_explorer",AvailableFeature.WORKS_WITH_POSTHOG_JS="works_with_posthog_js",AvailableFeature.REPLAY_AUTOMATIC_PLAYLISTS="replay_automatic_playlists",AvailableFeature.GROUP_ANALYTICS="group_analytics",AvailableFeature.SURVEYS_UNLIMITED_SURVEYS="surveys_unlimited_surveys",AvailableFeature.SURVEYS_ALL_QUESTION_TYPES="surveys_all_question_types",AvailableFeature.SURVEYS_MULTIPLE_QUESTIONS="surveys_multiple_questions",AvailableFeature.SURVEYS_USER_TARGETING="surveys_user_targeting",AvailableFeature.SURVEYS_USER_SAMPLING="surveys_user_sampling",AvailableFeature.SURVEYS_STYLING="surveys_styling",AvailableFeature.SURVEYS_TEXT_HTML="surveys_text_html",AvailableFeature.SURVEYS_API_MODE="surveys_api_mode",AvailableFeature.SURVEYS_RESULTS_ANALYSIS="surveys_results_analysis",AvailableFeature.SURVEYS_TEMPLATES="surveys_templates",AvailableFeature.SURVEYS_DATA_RETENTION="surveys_data_retention",AvailableFeature.SURVEYS_LINK_QUESTION_TYPE="surveys_link_question_type",AvailableFeature.SURVEYS_SLACK_NOTIFICATIONS="surveys_slack_notifications",AvailableFeature.SURVEYS_WAIT_PERIODS="surveys_wait_periods",AvailableFeature.SURVEYS_RECURRING="surveys_recurring",AvailableFeature.SURVEYS_EVENTS="surveys_events",AvailableFeature.SURVEYS_ACTIONS="surveys_actions",AvailableFeature.TRACKED_USERS="tracked_users",AvailableFeature.TEAM_MEMBERS="team_members",AvailableFeature.API_ACCESS="api_access",AvailableFeature.ORGANIZATIONS_PROJECTS="organizations_projects",AvailableFeature.ROLE_BASED_ACCESS="role_based_access",AvailableFeature.SOCIAL_SSO="social_sso",AvailableFeature.PROJECT_BASED_PERMISSIONING="project_based_permissioning",AvailableFeature.SAML="saml",AvailableFeature.SSO_ENFORCEMENT="sso_enforcement",AvailableFeature.WHITE_LABELLING="white_labelling",AvailableFeature.COMMUNITY_SUPPORT="community_support",AvailableFeature.DEDICATED_SUPPORT="dedicated_support",AvailableFeature.EMAIL_SUPPORT="email_support",AvailableFeature.ACCOUNT_MANAGER="account_manager",AvailableFeature.TRAINING="training",AvailableFeature.CONFIGURATION_SUPPORT="configuration_support",AvailableFeature.TERMS_AND_CONDITIONS="terms_and_conditions",AvailableFeature.SECURITY_ASSESSMENT="security_assessment",AvailableFeature.BESPOKE_PRICING="bespoke_pricing",AvailableFeature.INVOICE_PAYMENTS="invoice_payments",AvailableFeature.BOOLEAN_FLAGS="boolean_flags",AvailableFeature.FEATURE_FLAGS_DATA_RETENTION="feature_flags_data_retention",AvailableFeature.MULTIVARIATE_FLAGS="multivariate_flags",AvailableFeature.PERSIST_FLAGS_CROSS_AUTHENTICATION="persist_flags_cross_authentication",AvailableFeature.FEATURE_FLAG_PAYLOADS="feature_flag_payloads",AvailableFeature.MULTIPLE_RELEASE_CONDITIONS="multiple_release_conditions",AvailableFeature.RELEASE_CONDITION_OVERRIDES="release_condition_overrides",AvailableFeature.TARGETING_BY_GROUP="targeting_by_group",AvailableFeature.LOCAL_EVALUATION_AND_BOOTSTRAPPING="local_evaluation_and_bootstrapping",AvailableFeature.FLAG_USAGE_STATS="flag_usage_stats",AvailableFeature.MULTIPLE_ENVIRONMENTS="multiple_environments",AvailableFeature.USER_OPT_IN="user_opt_in",AvailableFeature.INSTANT_ROLLBACKS="instant_rollbacks",AvailableFeature.EXPERIMENTATION="experimentation",AvailableFeature.GROUP_EXPERIMENTS="group_experiments",AvailableFeature.FUNNEL_EXPERIMENTS="funnel_experiments",AvailableFeature.SECONDARY_METRICS="secondary_metrics",AvailableFeature.STATISTICAL_ANALYSIS="statistical_analysis",AvailableFeature.PRODUCT_ANALYTICS_DATA_RETENTION="product_analytics_data_retention",AvailableFeature.DASHBOARDS="dashboards",AvailableFeature.FUNNELS="funnels",AvailableFeature.GRAPHS_TRENDS="graphs_trends",AvailableFeature.PATHS="paths",AvailableFeature.INSIGHTS="insights",AvailableFeature.SUBSCRIPTIONS="subscriptions",AvailableFeature.ADVANCED_PERMISSIONS="advanced_permissions",AvailableFeature.INGESTION_TAXONOMY="ingestion_taxonomy",AvailableFeature.PATHS_ADVANCED="paths_advanced",AvailableFeature.CORRELATION_ANALYSIS="correlation_analysis",AvailableFeature.TAGGING="tagging",AvailableFeature.BEHAVIORAL_COHORT_FILTERING="behavioral_cohort_filtering",AvailableFeature.PRODUCT_ANALYTICS_RETENTION="product_analytics_retention",AvailableFeature.PRODUCT_ANALYTICS_STICKINESS="product_analytics_stickiness",AvailableFeature.AUTOCAPTURE="autocapture",AvailableFeature.DATA_VISUALIZATION="data_visualization",AvailableFeature.PRODUCT_ANALYTICS_SQL_QUERIES="product_analytics_sql_queries",AvailableFeature.TWOFA_ENFORCEMENT="2fa_enforcement",AvailableFeature.AUDIT_LOGS="audit_logs",AvailableFeature.HIPAA_BAA="hipaa_baa",AvailableFeature.CUSTOM_MSA="custom_msa",AvailableFeature.TWOFA="2fa",AvailableFeature.PRIORITY_SUPPORT="priority_support",AvailableFeature.SUPPORT_RESPONSE_TIME="support_response_time",AvailableFeature.DATA_PIPELINES_TRANSFORMATIONS="data_pipelines_transformations",AvailableFeature.AUTOMATIC_PROVISIONING="automatic_provisioning",AvailableFeature.MANAGED_REVERSE_PROXY="managed_reverse_proxy",AvailableFeature.ALERTS="alerts",AvailableFeature}({}),ProductKey=function(ProductKey){return ProductKey.COHORTS="cohorts",ProductKey.ACTIONS="actions",ProductKey.ALERTS="alerts",ProductKey.EXPERIMENTS="experiments",ProductKey.FEATURE_FLAGS="feature_flags",ProductKey.ANNOTATIONS="annotations",ProductKey.HISTORY="history",ProductKey.HEATMAPS="heatmaps",ProductKey.INGESTION_WARNINGS="ingestion_warnings",ProductKey.PERSONS="persons",ProductKey.SURVEYS="surveys",ProductKey.SESSION_REPLAY="session_replay",ProductKey.DATA_WAREHOUSE="data_warehouse",ProductKey.DATA_WAREHOUSE_SAVED_QUERY="data_warehouse_saved_queries",ProductKey.EARLY_ACCESS_FEATURES="early_access_features",ProductKey.PRODUCT_ANALYTICS="product_analytics",ProductKey.PIPELINE_TRANSFORMATIONS="pipeline_transformations",ProductKey.PIPELINE_DESTINATIONS="pipeline_destinations",ProductKey.SITE_APPS="site_apps",ProductKey.DATA_PIPELINES="data_pipelines",ProductKey.GROUP_ANALYTICS="group_analytics",ProductKey.INTEGRATIONS="integrations",ProductKey.PLATFORM_AND_SUPPORT="platform_and_support",ProductKey.TEAMS="teams",ProductKey.WEB_ANALYTICS="web_analytics",ProductKey.ERROR_TRACKING="error_tracking",ProductKey}({}),Realm=function(Realm){return Realm.Cloud="cloud",Realm.Demo="demo",Realm.SelfHostedPostgres="hosted",Realm.SelfHostedClickHouse="hosted-clickhouse",Realm}({}),Region=function(Region){return Region.US="US",Region.EU="EU",Region}({}),PropertyOperator=function(PropertyOperator){return PropertyOperator.Exact="exact",PropertyOperator.IsNot="is_not",PropertyOperator.IContains="icontains",PropertyOperator.NotIContains="not_icontains",PropertyOperator.Regex="regex",PropertyOperator.NotRegex="not_regex",PropertyOperator.GreaterThan="gt",PropertyOperator.GreaterThanOrEqual="gte",PropertyOperator.LessThan="lt",PropertyOperator.LessThanOrEqual="lte",PropertyOperator.IsSet="is_set",PropertyOperator.IsNotSet="is_not_set",PropertyOperator.IsDateExact="is_date_exact",PropertyOperator.IsDateBefore="is_date_before",PropertyOperator.IsDateAfter="is_date_after",PropertyOperator.Between="between",PropertyOperator.NotBetween="not_between",PropertyOperator.Minimum="min",PropertyOperator.Maximum="max",PropertyOperator.In="in",PropertyOperator.NotIn="not_in",PropertyOperator}({}),SavedInsightsTabs=function(SavedInsightsTabs){return SavedInsightsTabs.All="all",SavedInsightsTabs.Yours="yours",SavedInsightsTabs.Favorites="favorites",SavedInsightsTabs.History="history",SavedInsightsTabs.Alerts="alerts",SavedInsightsTabs}({}),ReplayTabs=function(ReplayTabs){return ReplayTabs.Templates="templates",ReplayTabs.Home="home",ReplayTabs.Playlists="playlists",ReplayTabs}({}),ExperimentsTabs=function(ExperimentsTabs){return ExperimentsTabs.All="all",ExperimentsTabs.Yours="yours",ExperimentsTabs.Archived="archived",ExperimentsTabs.Holdouts="holdouts",ExperimentsTabs.SharedMetrics="shared-metrics",ExperimentsTabs}({}),ActivityTab=function(ActivityTab){return ActivityTab.ExploreEvents="explore",ActivityTab.LiveEvents="live",ActivityTab}({}),PipelineTab=function(PipelineTab){return PipelineTab.Overview="overview",PipelineTab.Transformations="transformations",PipelineTab.Destinations="destinations",PipelineTab.SiteApps="site-apps",PipelineTab.Sources="sources",PipelineTab.ImportApps="legacy-sources",PipelineTab.AppsManagement="apps-management",PipelineTab.History="history",PipelineTab}({}),PipelineStage=function(PipelineStage){return PipelineStage.Transformation="transformation",PipelineStage.Destination="destination",PipelineStage.Source="source",PipelineStage.SiteApp="site-app",PipelineStage.ImportApp="legacy-source",PipelineStage}({}),PipelineNodeTab=function(PipelineNodeTab){return PipelineNodeTab.Configuration="configuration",PipelineNodeTab.Runs="runs",PipelineNodeTab.Logs="logs",PipelineNodeTab.Metrics="metrics",PipelineNodeTab.History="history",PipelineNodeTab.Schemas="schemas",PipelineNodeTab.Syncs="syncs",PipelineNodeTab.SourceConfiguration="source configuration",PipelineNodeTab}({}),ProgressStatus=function(ProgressStatus){return ProgressStatus.Draft="draft",ProgressStatus.Running="running",ProgressStatus.Complete="complete",ProgressStatus}({}),PropertyFilterType=function(PropertyFilterType){return PropertyFilterType.Meta="meta",PropertyFilterType.Event="event",PropertyFilterType.Person="person",PropertyFilterType.Element="element",PropertyFilterType.Feature="feature",PropertyFilterType.Session="session",PropertyFilterType.Cohort="cohort",PropertyFilterType.Recording="recording",PropertyFilterType.LogEntry="log_entry",PropertyFilterType.Group="group",PropertyFilterType.HogQL="hogql",PropertyFilterType.DataWarehouse="data_warehouse",PropertyFilterType.DataWarehousePersonProperty="data_warehouse_person_property",PropertyFilterType}({}),SnapshotSourceType={blob:"blob",realtime:"realtime",file:"file"},SessionRecordingUsageType=function(SessionRecordingUsageType){return SessionRecordingUsageType.VIEWED="viewed",SessionRecordingUsageType.ANALYZED="analyzed",SessionRecordingUsageType.LOADED="loaded",SessionRecordingUsageType}({}),SessionRecordingSidebarTab=function(SessionRecordingSidebarTab){return SessionRecordingSidebarTab.OVERVIEW="overview",SessionRecordingSidebarTab.INSPECTOR="inspector",SessionRecordingSidebarTab.DEBUGGER="debugger",SessionRecordingSidebarTab}({}),SessionRecordingSidebarStacking=function(SessionRecordingSidebarStacking){return SessionRecordingSidebarStacking.Vertical="vertical",SessionRecordingSidebarStacking.Horizontal="horizontal",SessionRecordingSidebarStacking}({}),FilterableInspectorListItemTypes=function(FilterableInspectorListItemTypes){return FilterableInspectorListItemTypes.EVENTS="events",FilterableInspectorListItemTypes.CONSOLE="console",FilterableInspectorListItemTypes.NETWORK="network",FilterableInspectorListItemTypes.DOCTOR="doctor",FilterableInspectorListItemTypes}({}),SessionPlayerState=function(SessionPlayerState){return SessionPlayerState.READY="ready",SessionPlayerState.BUFFER="buffer",SessionPlayerState.PLAY="play",SessionPlayerState.PAUSE="pause",SessionPlayerState.SCRUB="scrub",SessionPlayerState.SKIP="skip",SessionPlayerState.ERROR="error",SessionPlayerState}({}),EntityTypes=function(EntityTypes){return EntityTypes.ACTIONS="actions",EntityTypes.EVENTS="events",EntityTypes.DATA_WAREHOUSE="data_warehouse",EntityTypes}({}),isDataWarehouseFilter=filter=>filter.type===EntityTypes.DATA_WAREHOUSE,StepOrderValue=function(StepOrderValue){return StepOrderValue.STRICT="strict",StepOrderValue.UNORDERED="unordered",StepOrderValue.ORDERED="ordered",StepOrderValue}({}),PersonsTabType=function(PersonsTabType){return PersonsTabType.FEED="feed",PersonsTabType.EVENTS="events",PersonsTabType.SESSION_RECORDINGS="sessionRecordings",PersonsTabType.PROPERTIES="properties",PersonsTabType.COHORTS="cohorts",PersonsTabType.RELATED="related",PersonsTabType.HISTORY="history",PersonsTabType.FEATURE_FLAGS="featureFlags",PersonsTabType.DASHBOARD="dashboard",PersonsTabType}({}),LayoutView=function(LayoutView){return LayoutView.Card="card",LayoutView.List="list",LayoutView}({}),InsightColor=function(InsightColor){return InsightColor.White="white",InsightColor.Black="black",InsightColor.Blue="blue",InsightColor.Green="green",InsightColor.Purple="purple",InsightColor}({}),TemplateAvailabilityContext=function(TemplateAvailabilityContext){return TemplateAvailabilityContext.GENERAL="general",TemplateAvailabilityContext.ONBOARDING="onboarding",TemplateAvailabilityContext}({}),PluginInstallationType=function(PluginInstallationType){return PluginInstallationType.Local="local",PluginInstallationType.Custom="custom",PluginInstallationType.Repository="repository",PluginInstallationType.Source="source",PluginInstallationType.Inline="inline",PluginInstallationType}({}),AnnotationScope=function(AnnotationScope){return AnnotationScope.Insight="dashboard_item",AnnotationScope.Dashboard="dashboard",AnnotationScope.Project="project",AnnotationScope.Organization="organization",AnnotationScope}({}),ChartDisplayType=function(ChartDisplayType){return ChartDisplayType.ActionsLineGraph="ActionsLineGraph",ChartDisplayType.ActionsBar="ActionsBar",ChartDisplayType.ActionsStackedBar="ActionsStackedBar",ChartDisplayType.ActionsAreaGraph="ActionsAreaGraph",ChartDisplayType.ActionsLineGraphCumulative="ActionsLineGraphCumulative",ChartDisplayType.BoldNumber="BoldNumber",ChartDisplayType.ActionsPie="ActionsPie",ChartDisplayType.ActionsBarValue="ActionsBarValue",ChartDisplayType.ActionsTable="ActionsTable",ChartDisplayType.WorldMap="WorldMap",ChartDisplayType}({}),ChartDisplayCategory=function(ChartDisplayCategory){return ChartDisplayCategory.TimeSeries="TimeSeries",ChartDisplayCategory.CumulativeTimeSeries="CumulativeTimeSeries",ChartDisplayCategory.TotalValue="TotalValue",ChartDisplayCategory}({}),InsightType=function(InsightType){return InsightType.TRENDS="TRENDS",InsightType.STICKINESS="STICKINESS",InsightType.LIFECYCLE="LIFECYCLE",InsightType.FUNNELS="FUNNELS",InsightType.RETENTION="RETENTION",InsightType.PATHS="PATHS",InsightType.JSON="JSON",InsightType.SQL="SQL",InsightType.HOG="HOG",InsightType}({}),PathType=function(PathType){return PathType.PageView="$pageview",PathType.Screen="$screen",PathType.CustomEvent="custom_event",PathType.HogQL="hogql",PathType}({}),FunnelPathType=function(FunnelPathType){return FunnelPathType.before="funnel_path_before_step",FunnelPathType.between="funnel_path_between_steps",FunnelPathType.after="funnel_path_after_step",FunnelPathType}({}),FunnelVizType=function(FunnelVizType){return FunnelVizType.Steps="steps",FunnelVizType.TimeToConvert="time_to_convert",FunnelVizType.Trends="trends",FunnelVizType}({}),RetentionPeriod=function(RetentionPeriod){return RetentionPeriod.Hour="Hour",RetentionPeriod.Day="Day",RetentionPeriod.Week="Week",RetentionPeriod.Month="Month",RetentionPeriod}({}),FunnelConversionWindowTimeUnit=function(FunnelConversionWindowTimeUnit){return FunnelConversionWindowTimeUnit.Second="second",FunnelConversionWindowTimeUnit.Minute="minute",FunnelConversionWindowTimeUnit.Hour="hour",FunnelConversionWindowTimeUnit.Day="day",FunnelConversionWindowTimeUnit.Week="week",FunnelConversionWindowTimeUnit.Month="month",FunnelConversionWindowTimeUnit}({}),FunnelStepReference=function(FunnelStepReference){return FunnelStepReference.total="total",FunnelStepReference.previous="previous",FunnelStepReference}({}),FunnelCorrelationType=function(FunnelCorrelationType){return FunnelCorrelationType.Success="success",FunnelCorrelationType.Failure="failure",FunnelCorrelationType}({}),FunnelCorrelationResultsType=function(FunnelCorrelationResultsType){return FunnelCorrelationResultsType.Events="events",FunnelCorrelationResultsType.Properties="properties",FunnelCorrelationResultsType.EventWithProperties="event_with_properties",FunnelCorrelationResultsType}({}),BreakdownAttributionType=function(BreakdownAttributionType){return BreakdownAttributionType.FirstTouch="first_touch",BreakdownAttributionType.LastTouch="last_touch",BreakdownAttributionType.AllSteps="all_events",BreakdownAttributionType.Step="step",BreakdownAttributionType}({}),SurveyUrlMatchType=function(SurveyUrlMatchType){return SurveyUrlMatchType.Exact="exact",SurveyUrlMatchType.IsNot="is_not",SurveyUrlMatchType.Contains="icontains",SurveyUrlMatchType.NotIContains="not_icontains",SurveyUrlMatchType.Regex="regex",SurveyUrlMatchType.NotRegex="not_regex",SurveyUrlMatchType}({}),SurveyType=function(SurveyType){return SurveyType.Popover="popover",SurveyType.Widget="widget",SurveyType.FullScreen="full_screen",SurveyType.Email="email",SurveyType.API="api",SurveyType}({}),SurveyQuestionType=function(SurveyQuestionType){return SurveyQuestionType.Open="open",SurveyQuestionType.MultipleChoice="multiple_choice",SurveyQuestionType.SingleChoice="single_choice",SurveyQuestionType.Rating="rating",SurveyQuestionType.Link="link",SurveyQuestionType}({}),SurveyQuestionBranchingType=function(SurveyQuestionBranchingType){return SurveyQuestionBranchingType.NextQuestion="next_question",SurveyQuestionBranchingType.End="end",SurveyQuestionBranchingType.ResponseBased="response_based",SurveyQuestionBranchingType.SpecificQuestion="specific_question",SurveyQuestionBranchingType}({}),FeatureFlagStatus=function(FeatureFlagStatus){return FeatureFlagStatus.ACTIVE="active",FeatureFlagStatus.INACTIVE="inactive",FeatureFlagStatus.STALE="stale",FeatureFlagStatus.DELETED="deleted",FeatureFlagStatus.UNKNOWN="unknown",FeatureFlagStatus}({}),EarlyAccessFeatureStage=function(EarlyAccessFeatureStage){return EarlyAccessFeatureStage.Draft="draft",EarlyAccessFeatureStage.Concept="concept",EarlyAccessFeatureStage.Alpha="alpha",EarlyAccessFeatureStage.Beta="beta",EarlyAccessFeatureStage.GeneralAvailability="general-availability",EarlyAccessFeatureStage.Archived="archived",EarlyAccessFeatureStage}({}),EarlyAccessFeatureTabs=function(EarlyAccessFeatureTabs){return EarlyAccessFeatureTabs.OptedIn="opted-in",EarlyAccessFeatureTabs.OptedOut="opted-out",EarlyAccessFeatureTabs}({}),ScheduledChangeOperationType=function(ScheduledChangeOperationType){return ScheduledChangeOperationType.UpdateStatus="update_status",ScheduledChangeOperationType.AddReleaseCondition="add_release_condition",ScheduledChangeOperationType}({}),ItemMode=function(ItemMode){return ItemMode.Edit="edit",ItemMode.View="view",ItemMode.Subscriptions="subscriptions",ItemMode.Sharing="sharing",ItemMode.Alerts="alerts",ItemMode}({}),DashboardPlacement=function(DashboardPlacement){return DashboardPlacement.Dashboard="dashboard",DashboardPlacement.ProjectHomepage="project-homepage",DashboardPlacement.FeatureFlag="feature-flag",DashboardPlacement.Public="public",DashboardPlacement.Export="export",DashboardPlacement.Person="person",DashboardPlacement.Group="group",DashboardPlacement}({}),DashboardMode=function(DashboardMode){return DashboardMode.Edit="edit",DashboardMode.Fullscreen="fullscreen",DashboardMode.Sharing="sharing",DashboardMode}({}),PropertyType=function(PropertyType){return PropertyType.DateTime="DateTime",PropertyType.String="String",PropertyType.Numeric="Numeric",PropertyType.Boolean="Boolean",PropertyType.Duration="Duration",PropertyType.Selector="Selector",PropertyType.Cohort="Cohort",PropertyType}({}),PropertyDefinitionType=function(PropertyDefinitionType){return PropertyDefinitionType.Event="event",PropertyDefinitionType.Person="person",PropertyDefinitionType.Group="group",PropertyDefinitionType.Session="session",PropertyDefinitionType.LogEntry="log_entry",PropertyDefinitionType.Meta="meta",PropertyDefinitionType}({}),PropertyDefinitionState=function(PropertyDefinitionState){return PropertyDefinitionState.Pending="pending",PropertyDefinitionState.Loading="loading",PropertyDefinitionState.Missing="missing",PropertyDefinitionState.Error="error",PropertyDefinitionState}({}),FilterLogicalOperator=function(FilterLogicalOperator){return FilterLogicalOperator.And="AND",FilterLogicalOperator.Or="OR",FilterLogicalOperator}({}),GraphType=function(GraphType){return GraphType.Bar="bar",GraphType.HorizontalBar="horizontalBar",GraphType.Line="line",GraphType.Histogram="histogram",GraphType.Pie="doughnut",GraphType}({}),FunnelMathType=function(FunnelMathType){return FunnelMathType.AnyMatch="total",FunnelMathType.FirstTimeForUser="first_time_for_user",FunnelMathType.FirstTimeForUserWithFilters="first_time_for_user_with_filters",FunnelMathType}({}),BaseMathType=function(BaseMathType){return BaseMathType.TotalCount="total",BaseMathType.UniqueUsers="dau",BaseMathType.WeeklyActiveUsers="weekly_active",BaseMathType.MonthlyActiveUsers="monthly_active",BaseMathType.UniqueSessions="unique_session",BaseMathType.FirstTimeForUser="first_time_for_user",BaseMathType.FirstMatchingEventForUser="first_matching_event_for_user",BaseMathType}({}),PropertyMathType=function(PropertyMathType){return PropertyMathType.Average="avg",PropertyMathType.Sum="sum",PropertyMathType.Minimum="min",PropertyMathType.Maximum="max",PropertyMathType.Median="median",PropertyMathType.P90="p90",PropertyMathType.P95="p95",PropertyMathType.P99="p99",PropertyMathType}({}),CountPerActorMathType=function(CountPerActorMathType){return CountPerActorMathType.Average="avg_count_per_actor",CountPerActorMathType.Minimum="min_count_per_actor",CountPerActorMathType.Maximum="max_count_per_actor",CountPerActorMathType.Median="median_count_per_actor",CountPerActorMathType.P90="p90_count_per_actor",CountPerActorMathType.P95="p95_count_per_actor",CountPerActorMathType.P99="p99_count_per_actor",CountPerActorMathType}({}),HogQLMathType=function(HogQLMathType){return HogQLMathType.HogQL="hogql",HogQLMathType}({}),GroupMathType=function(GroupMathType){return GroupMathType.UniqueGroup="unique_group",GroupMathType}({}),ActorGroupType=function(ActorGroupType){return ActorGroupType.Person="person",ActorGroupType.GroupPrefix="group",ActorGroupType}({}),BehavioralEventType=function(BehavioralEventType){return BehavioralEventType.PerformEvent="performed_event",BehavioralEventType.PerformMultipleEvents="performed_event_multiple",BehavioralEventType.PerformSequenceEvents="performed_event_sequence",BehavioralEventType.NotPerformedEvent="not_performed_event",BehavioralEventType.NotPerformSequenceEvents="not_performed_event_sequence",BehavioralEventType.HaveProperty="have_property",BehavioralEventType.NotHaveProperty="not_have_property",BehavioralEventType}({}),BehavioralCohortType=function(BehavioralCohortType){return BehavioralCohortType.InCohort="in_cohort",BehavioralCohortType.NotInCohort="not_in_cohort",BehavioralCohortType}({}),BehavioralLifecycleType=function(BehavioralLifecycleType){return BehavioralLifecycleType.PerformEventFirstTime="performed_event_first_time",BehavioralLifecycleType.PerformEventRegularly="performed_event_regularly",BehavioralLifecycleType.StopPerformEvent="stopped_performing_event",BehavioralLifecycleType.StartPerformEventAgain="restarted_performing_event",BehavioralLifecycleType}({}),TimeUnitType=function(TimeUnitType){return TimeUnitType.Day="day",TimeUnitType.Week="week",TimeUnitType.Month="month",TimeUnitType.Year="year",TimeUnitType}({}),DateOperatorType=function(DateOperatorType){return DateOperatorType.BeforeTheLast="before_the_last",DateOperatorType.Between="between",DateOperatorType.NotBetween="not_between",DateOperatorType.OnTheDate="on_the_date",DateOperatorType.NotOnTheDate="not_on_the_date",DateOperatorType.Since="since",DateOperatorType.Before="before",DateOperatorType.IsSet="is_set",DateOperatorType.IsNotSet="is_not_set",DateOperatorType}({}),SingleFieldDateType=function(SingleFieldDateType){return SingleFieldDateType.IsDateExact="is_date_exact",SingleFieldDateType.IsDateBefore="is_date_before",SingleFieldDateType.IsDateAfter="is_date_after",SingleFieldDateType}({}),ValueOptionType=function(ValueOptionType){return ValueOptionType.MostRecent="most_recent",ValueOptionType.Previous="previous",ValueOptionType.OnDate="on_date",ValueOptionType}({}),EventDefinitionType=function(EventDefinitionType){return EventDefinitionType.Event="event",EventDefinitionType.EventCustom="event_custom",EventDefinitionType.EventPostHog="event_posthog",EventDefinitionType}({}),ExporterFormat=function(ExporterFormat){return ExporterFormat.PNG="image/png",ExporterFormat.CSV="text/csv",ExporterFormat.PDF="application/pdf",ExporterFormat.JSON="application/json",ExporterFormat.XLSX="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",ExporterFormat}({}),FeatureFlagReleaseType=function(FeatureFlagReleaseType){return FeatureFlagReleaseType.ReleaseToggle="Release toggle",FeatureFlagReleaseType.Variants="Multiple variants",FeatureFlagReleaseType}({}),RolloutConditionType=function(RolloutConditionType){return RolloutConditionType.Insight="insight",RolloutConditionType.Sentry="sentry",RolloutConditionType}({}),Resource=function(Resource){return Resource.FEATURE_FLAGS="feature flags",Resource}({}),AccessLevel=function(AccessLevel){return AccessLevel[AccessLevel.READ=21]="READ",AccessLevel[AccessLevel.WRITE=37]="WRITE",AccessLevel}({}),ActivityScope=function(ActivityScope){return ActivityScope.ACTION="Action",ActivityScope.FEATURE_FLAG="FeatureFlag",ActivityScope.PERSON="Person",ActivityScope.INSIGHT="Insight",ActivityScope.PLUGIN="Plugin",ActivityScope.PLUGIN_CONFIG="PluginConfig",ActivityScope.HOG_FUNCTION="HogFunction",ActivityScope.DATA_MANAGEMENT="DataManagement",ActivityScope.EVENT_DEFINITION="EventDefinition",ActivityScope.PROPERTY_DEFINITION="PropertyDefinition",ActivityScope.NOTEBOOK="Notebook",ActivityScope.DASHBOARD="Dashboard",ActivityScope.REPLAY="Replay",ActivityScope.EXPERIMENT="Experiment",ActivityScope.SURVEY="Survey",ActivityScope.EARLY_ACCESS_FEATURE="EarlyAccessFeature",ActivityScope.COMMENT="Comment",ActivityScope.COHORT="Cohort",ActivityScope.TEAM="Team",ActivityScope}({}),NotebookNodeType=function(NotebookNodeType){return NotebookNodeType.Mention="ph-mention",NotebookNodeType.Query="ph-query",NotebookNodeType.Recording="ph-recording",NotebookNodeType.RecordingPlaylist="ph-recording-playlist",NotebookNodeType.FeatureFlag="ph-feature-flag",NotebookNodeType.FeatureFlagCodeExample="ph-feature-flag-code-example",NotebookNodeType.Experiment="ph-experiment",NotebookNodeType.EarlyAccessFeature="ph-early-access-feature",NotebookNodeType.Survey="ph-survey",NotebookNodeType.Person="ph-person",NotebookNodeType.Group="ph-group",NotebookNodeType.Cohort="ph-cohort",NotebookNodeType.Backlink="ph-backlink",NotebookNodeType.ReplayTimestamp="ph-replay-timestamp",NotebookNodeType.Image="ph-image",NotebookNodeType.PersonFeed="ph-person-feed",NotebookNodeType.Properties="ph-properties",NotebookNodeType.Map="ph-map",NotebookNodeType.Embed="ph-embed",NotebookNodeType}({}),NotebookTarget=function(NotebookTarget){return NotebookTarget.Popover="popover",NotebookTarget.Scene="scene",NotebookTarget}({}),manualLinkSources=["aws","google-cloud","cloudflare-r2","azure"],BATCH_EXPORT_SERVICE_NAMES=["S3","Snowflake","Postgres","BigQuery","Redshift","HTTP"],SDKKey=function(SDKKey){return SDKKey.ANDROID="android",SDKKey.ANGULAR="angular",SDKKey.ASTRO="astro",SDKKey.API="api",SDKKey.BUBBLE="bubble",SDKKey.DJANGO="django",SDKKey.DOCUSAURUS="docusaurus",SDKKey.ELIXIR="elixir",SDKKey.FRAMER="framer",SDKKey.FLUTTER="flutter",SDKKey.GATSBY="gatsby",SDKKey.GO="go",SDKKey.GOOGLE_TAG_MANAGER="google_tag_manager",SDKKey.HELICONE="helicone",SDKKey.HTML_SNIPPET="html",SDKKey.IOS="ios",SDKKey.JAVA="java",SDKKey.JS_WEB="javascript_web",SDKKey.LARAVEL="laravel",SDKKey.LANGFUSE="langfuse",SDKKey.NEXT_JS="nextjs",SDKKey.NODE_JS="nodejs",SDKKey.NUXT_JS="nuxtjs",SDKKey.PHP="php",SDKKey.PYTHON="python",SDKKey.REACT="react",SDKKey.REACT_NATIVE="react_native",SDKKey.REMIX="remix",SDKKey.RETOOL="retool",SDKKey.RUBY="ruby",SDKKey.RUDDERSTACK="rudderstack",SDKKey.RUST="rust",SDKKey.SEGMENT="segment",SDKKey.SENTRY="sentry",SDKKey.SHOPIFY="shopify",SDKKey.SVELTE="svelte",SDKKey.TRACELOOP="traceloop",SDKKey.VUE_JS="vuejs",SDKKey.WEBFLOW="webflow",SDKKey.WORDPRESS="wordpress",SDKKey}({}),SDKTag=function(SDKTag){return SDKTag.WEB="Web",SDKTag.MOBILE="Mobile",SDKTag.SERVER="Server",SDKTag.INTEGRATION="Integration",SDKTag.RECOMMENDED="Recommended",SDKTag.LLM="LLM",SDKTag.OTHER="Other",SDKTag}({}),SidePanelTab=function(SidePanelTab){return SidePanelTab.Notebooks="notebook",SidePanelTab.Support="support",SidePanelTab.Docs="docs",SidePanelTab.Activation="activation",SidePanelTab.Settings="settings",SidePanelTab.FeaturePreviews="feature-previews",SidePanelTab.Activity="activity",SidePanelTab.Discussion="discussion",SidePanelTab.Status="status",SidePanelTab.Exports="exports",SidePanelTab.AccessControl="access-control",SidePanelTab}({}),HogWatcherState=function(HogWatcherState){return HogWatcherState[HogWatcherState.healthy=1]="healthy",HogWatcherState[HogWatcherState.overflowed=2]="overflowed",HogWatcherState[HogWatcherState.disabledForPeriod=3]="disabledForPeriod",HogWatcherState[HogWatcherState.disabledIndefinitely=4]="disabledIndefinitely",HogWatcherState}({}),CookielessServerHashMode=function(CookielessServerHashMode){return CookielessServerHashMode[CookielessServerHashMode.Disabled=0]="Disabled",CookielessServerHashMode[CookielessServerHashMode.Stateless=1]="Stateless",CookielessServerHashMode[CookielessServerHashMode.Stateful=2]="Stateful",CookielessServerHashMode}({})},"./storybook-config-entry.js":(__unused_webpack_module,__unused_webpack___webpack_exports__,__webpack_require__)=>{"use strict";var external_STORYBOOK_MODULE_GLOBAL_=__webpack_require__("@storybook/global"),external_STORYBOOK_MODULE_PREVIEW_API_=__webpack_require__("@storybook/preview-api"),external_STORYBOOK_MODULE_CHANNELS_=__webpack_require__("@storybook/channels");let pipeline=x=>x(),importers=[async path=>{if(!/^\.[\\/](?:frontend\/src(?:\/(?!\.)(?:(?:(?!(?:^|\/)\.).)*?)\/|\/|$)(?!\.)(?=.)[^/]*?\.stories\.(js|jsx|ts|tsx|mdx))$/.exec(path))return;let pathRemainder=path.substring(15);return __webpack_require__("./frontend/src lazy recursive ^\\.\\/.*$ include: (?:\\/frontend\\/src(?:\\/(?%21\\.)(?:(?:(?%21(?:^%7C\\/)\\.).)*?)\\/%7C\\/%7C$)(?%21\\.)(?=.)[^/]*?\\.stories\\.(js%7Cjsx%7Cts%7Ctsx%7Cmdx))$")("./"+pathRemainder)}];async function importFn(path){for(let i=0;iimporters[i](path));if(moduleExports)return moduleExports}}let channel=(0,external_STORYBOOK_MODULE_CHANNELS_.createBrowserChannel)({page:"preview"});external_STORYBOOK_MODULE_PREVIEW_API_.addons.setChannel(channel),"DEVELOPMENT"===external_STORYBOOK_MODULE_GLOBAL_.global.CONFIG_TYPE&&(window.__STORYBOOK_SERVER_CHANNEL__=channel);let preview=new external_STORYBOOK_MODULE_PREVIEW_API_.PreviewWeb;window.__STORYBOOK_PREVIEW__=preview,window.__STORYBOOK_STORY_STORE__=preview.storyStore,window.__STORYBOOK_ADDONS_CHANNEL__=channel,window.__STORYBOOK_CLIENT_API__=new external_STORYBOOK_MODULE_PREVIEW_API_.ClientApi({storyStore:preview.storyStore}),preview.initialize({importFn:importFn,getProjectAnnotations:()=>(0,external_STORYBOOK_MODULE_PREVIEW_API_.composeConfigs)([__webpack_require__("./node_modules/.pnpm/@storybook+react@7.6.4_react-dom@18.2.0_react@18.2.0_typescript@4.9.5/node_modules/@storybook/react/dist/entry-preview.mjs"),__webpack_require__("./node_modules/.pnpm/@storybook+react@7.6.4_react-dom@18.2.0_react@18.2.0_typescript@4.9.5/node_modules/@storybook/react/dist/entry-preview-docs.mjs"),__webpack_require__("./node_modules/.pnpm/@storybook+addon-docs@7.6.4_@types+react-dom@18.2.14_@types+react@17.0.52_react-dom@18.2.0_react@18.2.0/node_modules/@storybook/addon-docs/dist/preview.mjs"),__webpack_require__("./node_modules/.pnpm/@storybook+addon-links@7.6.4_react@18.2.0/node_modules/@storybook/addon-links/dist/preview.js"),__webpack_require__("./node_modules/.pnpm/@storybook+addon-essentials@7.6.4_@types+react-dom@18.2.14_@types+react@17.0.52_react-dom@18.2.0_react@18.2.0/node_modules/@storybook/addon-essentials/dist/actions/preview.js"),__webpack_require__("./node_modules/.pnpm/@storybook+addon-essentials@7.6.4_@types+react-dom@18.2.14_@types+react@17.0.52_react-dom@18.2.0_react@18.2.0/node_modules/@storybook/addon-essentials/dist/backgrounds/preview.js"),__webpack_require__("./node_modules/.pnpm/@storybook+addon-essentials@7.6.4_@types+react-dom@18.2.14_@types+react@17.0.52_react-dom@18.2.0_react@18.2.0/node_modules/@storybook/addon-essentials/dist/measure/preview.js"),__webpack_require__("./node_modules/.pnpm/@storybook+addon-essentials@7.6.4_@types+react-dom@18.2.14_@types+react@17.0.52_react-dom@18.2.0_react@18.2.0/node_modules/@storybook/addon-essentials/dist/outline/preview.js"),__webpack_require__("./node_modules/.pnpm/@storybook+addon-essentials@7.6.4_@types+react-dom@18.2.14_@types+react@17.0.52_react-dom@18.2.0_react@18.2.0/node_modules/@storybook/addon-essentials/dist/highlight/preview.js"),__webpack_require__("./node_modules/.pnpm/@storybook+addon-a11y@7.6.4/node_modules/@storybook/addon-a11y/dist/preview.js"),__webpack_require__("./node_modules/.pnpm/storybook-addon-pseudo-states@2.1.2_@storybook+components@7.6.4_@storybook+core-events@7.6.4__ryvooa6ckff6nihvuhqddxt4ke/node_modules/storybook-addon-pseudo-states/dist/preview.mjs"),__webpack_require__("./.storybook/preview.tsx")])})},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/layout/ErrorBoundary/ErrorBoundary.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".ErrorBoundary{background:var(--danger-highlight);border-radius:var(--radius);height:-moz-fit-content;height:fit-content;margin:1.5rem;min-width:0;padding:.75rem 1rem 1rem}.ErrorBoundary h2{color:var(--danger);font-weight:600;margin-bottom:.75rem}.ErrorBoundary pre{background:var(--border-light);border-radius:var(--radius);margin-bottom:.75rem;padding:.75rem 1rem}.ErrorBoundary .help-button{margin-top:.75rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/layout/navigation-3000/Navigation.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,'.Navigation3000{--breadcrumbs-height-full:3.75rem;--breadcrumbs-height-compact:2.75rem;--scene-padding:1rem;--scene-padding-bottom:var(--scene-padding);background:var(--bg-3000);display:flex;height:100vh;overflow:hidden;width:100%}.storybook-test-runner .Navigation3000{height:auto}.Navigation3000>main{flex:1;min-width:0;overflow:auto}.Navigation3000 .BridgePage{background:none;height:100%;overflow:visible}@media screen and (max-width:576px){.Navigation3000{--scene-padding-bottom:calc(var(--scene-padding) + max(env(safe-area-inset-bottom), 80px))}}@media screen and (max-width:992px){.Navigation3000{--scene-padding:0.5rem}}.Navigation3000__scene{margin:var(--scene-padding);margin-bottom:var(--scene-padding-bottom);min-height:calc(100vh - var(--breadcrumbs-height-full) - var(--scene-padding) - var(--scene-padding-bottom));position:relative}.Navigation3000__scene.Navigation3000__scene--raw,.Navigation3000__scene.Navigation3000__scene--raw-no-header{--scene-padding:0px;--scene-padding-bottom:0px;display:flex;flex-direction:column}.Navigation3000__scene.Navigation3000__scene--raw-no-header{height:100vh}.Navigation3000__scene.Navigation3000__scene--canvas{--scene-padding:0px;display:flex;flex-direction:column;overflow:hidden}.Navbar3000{border-right-width:1px;display:flex;flex-direction:column;max-height:100vh;opacity:.99999;position:relative;transition:transform .1s ease-out}.Navigation3000--mobile .Navbar3000{bottom:0;left:0;position:fixed;top:0;z-index:var(--z-lemon-sidebar)}.Navbar3000.Navbar3000--hidden{transform:translateX(-100%)}.Navbar3000 .Navbar3000__content{background:var(--accent-3000);display:flex;flex:1;flex-direction:column;justify-content:space-between;overflow-y:auto;z-index:var(--z-main-nav)}.Navbar3000 .Navbar3000__content .LemonButton__chrome{--lemon-button-padding-horizontal:0.25rem!important}.Navbar3000 .Navbar3000__content .Navbar3000__bottom,.Navbar3000 .Navbar3000__content .Navbar3000__top{padding:0 .375rem}.Navbar3000 .Navbar3000__content ul{padding:.5rem 0}.Navbar3000 .Navbar3000__content ul+ul{border-top-width:1px}.Navbar3000__top{overflow:auto}.Navbar3000__overlay{-webkit-backdrop-filter:blur(var(--modal-backdrop-blur));backdrop-filter:blur(var(--modal-backdrop-blur));background-color:var(--modal-backdrop-color);height:100%;opacity:1;position:fixed;transition:opacity .1s ease-out,-webkit-backdrop-filter .1s ease-out;transition:opacity .1s ease-out,backdrop-filter .1s ease-out;transition:opacity .1s ease-out,backdrop-filter .1s ease-out,-webkit-backdrop-filter .1s ease-out;width:100%;z-index:var(--z-mobile-nav-overlay)}.Navbar3000__overlay.Navbar3000--hidden{-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);opacity:0;pointer-events:none}.NavbarButton{position:relative}.NavbarButton.NavbarButton--here:after{bottom:.25rem;color:var(--text-3000);content:"•";font-size:1.25rem;left:0;line-height:.5625rem;position:absolute;right:0;text-align:center}.NavbarButton.NavbarButton--here .LemonButton__icon{color:var(--text-3000);transform:translateY(-.25rem)}.Sidebar3000{--sidebar-slider-padding:0.125rem;--sidebar-horizontal-padding:0.5rem;--sidebar-row-height:3rem;--sidebar-background:var(--bg-3000);border-right:min(1px,var(--sidebar-width)) solid transparent;box-sizing:initial;flex:0 0 var(--sidebar-width);height:100vh;position:relative}[theme=dark] .Sidebar3000{--sidebar-background:var(--accent-3000)}.Sidebar3000.Sidebar3000--resizing{will-change:flex-basis}.Sidebar3000 h3,.Sidebar3000 h4,.Sidebar3000 h5{color:var(--text-3000);line-height:inherit;margin:0;overflow:hidden;text-overflow:ellipsis}.Sidebar3000 h3{font-size:.75rem;font-weight:600;line-height:2rem}.Sidebar3000 h4{flex-grow:1;font-size:.6875rem;font-weight:600;line-height:1.75rem}.Sidebar3000 h5{font-size:.75rem;font-weight:400;letter-spacing:normal;text-transform:none}.Sidebar3000 b{font-weight:700}.Sidebar3000 .LemonInput--type-search{border-color:transparent;border-radius:0;max-width:none;transition:none}.Sidebar3000__content{align-items:stretch;background:var(--sidebar-background);border-right:min(1px,var(--sidebar-width)) solid var(--border);box-sizing:initial;display:flex;flex-direction:column;font-size:.6875rem;height:100vh;overflow:hidden;white-space:nowrap;width:var(--sidebar-width)}.Sidebar3000--resizing .Sidebar3000__content{will-change:width}.Sidebar3000__content>div:not(:first-child){border-top-width:1px}.Sidebar3000__lists{align-items:stretch;display:flex;flex-direction:column;flex-grow:1;overflow:hidden auto;position:relative}.Sidebar3000__hint{align-items:center;background:var(--bg-3000);border-top-width:1px;display:flex;flex:0 0 var(--sidebar-row-height);font-weight:500;justify-content:space-between;padding:0 var(--sidebar-horizontal-padding);z-index:1}.Sidebar3000__hint,.Sidebar3000__slider{-webkit-user-select:none;-moz-user-select:none;user-select:none}.Sidebar3000__slider{bottom:0;cursor:col-resize;position:absolute;right:calc(var(--sidebar-slider-padding)*-1 - min(1px,var(--sidebar-width)));top:0;width:calc(var(--sidebar-slider-padding)*2 + 1px);z-index:var(--z-notifications-popover)}.Sidebar3000__slider:after,.Sidebar3000__slider:before{bottom:0;content:"";left:var(--sidebar-slider-padding);pointer-events:none;position:absolute;top:0;width:1px}.Sidebar3000__slider:before{background:var(--border);transition:transform .1s ease}.Sidebar3000__slider:after{background:var(--text-3000);opacity:0;transition:transform .1s ease}.Sidebar3000--resizing .Sidebar3000__slider:after,.Sidebar3000__slider:hover:after{opacity:.25}.Sidebar3000--resizing .Sidebar3000__slider:after,.Sidebar3000--resizing .Sidebar3000__slider:before{transform:scaleX(3)}.Sidebar3000[aria-hidden=true] .Sidebar3000__slider{cursor:e-resize}.Sidebar3000__header{align-items:center;display:flex;flex:0 0 var(--sidebar-row-height);gap:.25rem;padding:0 var(--sidebar-horizontal-padding)}.Accordion{--accordion-arrow-size:1rem;--accordion-row-height:32px;--accordion-inset-expandable:1.25rem;--accordion-header-background:var(--accent-3000);--accordion-inset:0rem;display:flex;flex-basis:0;flex-direction:column;flex-shrink:0;min-height:var(--accordion-row-height)}[theme=dark] .Accordion{--accordion-header-background:var(--bg-3000)}.Accordion[aria-expanded]{--accordion-inset:var(--accordion-inset-expandable)}.Accordion:not([aria-expanded=false]){flex-grow:1}.Accordion:not([aria-expanded=false]):not(:last-child){border-bottom-width:1px}.Accordion[aria-disabled=true] .Accordion__header{cursor:default}.Accordion[aria-disabled=true] .Accordion__header:hover{background:var(--accordion-header-background)}.Accordion[aria-disabled=true]:not([aria-busy=true]) .Accordion__header .LemonIcon{visibility:hidden}.Accordion__header{align-items:center;background:var(--accordion-header-background);border-bottom-width:1px;cursor:pointer;display:flex;height:var(--accordion-row-height);padding:0 var(--sidebar-horizontal-padding);-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:1}.Accordion__header:hover{background:var(--border-3000)}.Accordion__header>.LemonIcon{flex-shrink:0;font-size:var(--accordion-arrow-size);margin-right:calc(var(--accordion-inset-expandable) - var(--accordion-arrow-size));transition:transform 50ms ease}.Accordion[aria-expanded=true] .Accordion__header>.LemonIcon{transform:rotate(90deg)}.SidebarListItemAccordion{--accordion-arrow-size:1rem;--accordion-inset-expandable:1.25rem;--accordion-header-background:var(--accent-3000);--accordion-inset:0rem;display:flex;flex-basis:0;flex-direction:column;flex-shrink:0;height:100%}[theme=dark] .SidebarListItemAccordion{--accordion-header-background:var(--bg-3000)}.SidebarListItemAccordion[role=region]{--accordion-inset:var(--accordion-inset-expandable)}.SidebarListItemAccordion:not([aria-expanded=false]){flex-grow:1}.SidebarListItemAccordion:not([aria-expanded=false]):not(:last-child){border-bottom-width:1px}.SidebarListItemAccordion__header{align-items:center;background:var(--accordion-header-background);border-bottom-width:1px;cursor:pointer;display:flex;height:100%;padding:0 var(--sidebar-horizontal-padding) 0 calc(var(--sidebar-horizontal-padding) + 1rem*var(--depth, 0));-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:1}.SidebarListItemAccordion__header:hover{background:var(--border-3000)}.SidebarListItemAccordion__header>.LemonIcon{flex-shrink:0;font-size:var(--accordion-arrow-size);margin-right:calc(var(--accordion-inset-expandable) - var(--accordion-arrow-size));transition:transform 50ms ease}.SidebarListItemAccordion[aria-expanded=true] .SidebarListItemAccordion__header>.LemonIcon{transform:rotate(90deg)}.SidebarListItem{--sidebar-list-item-status-color:var(--muted);--sidebar-list-item-fold-size:0.5rem;--sidebar-list-item-ribbon-width:0.1875rem;--sidebar-list-item-background:var(--sidebar-background);background:var(--sidebar-list-item-background);border-bottom-width:1px;color:var(--muted);line-height:1.125rem;list-style:none;opacity:.9;position:relative}.SidebarListItem.SidebarListItem--is-renaming,.SidebarListItem:hover:not([aria-disabled=true]),.SidebarListItem[aria-current=page]{--sidebar-list-item-background:var(--border-3000);opacity:1}.SidebarListItem.SidebarListItem--is-menu-open .SidebarListItem__actions,.SidebarListItem.SidebarListItem--is-renaming .SidebarListItem__actions,.SidebarListItem:focus-within .SidebarListItem__actions,.SidebarListItem:hover .SidebarListItem__actions,.SidebarListItem[aria-current=page] .SidebarListItem__actions{display:flex}.SidebarListItem.SidebarListItem--is-menu-open.SidebarListItem--has-menu:not(.SidebarListItem--extended) .SidebarListItem__button,.SidebarListItem.SidebarListItem--is-menu-open.SidebarListItem--has-menu:not(.SidebarListItem--extended) .SidebarListItem__link,.SidebarListItem.SidebarListItem--is-renaming.SidebarListItem--has-menu:not(.SidebarListItem--extended) .SidebarListItem__button,.SidebarListItem.SidebarListItem--is-renaming.SidebarListItem--has-menu:not(.SidebarListItem--extended) .SidebarListItem__link,.SidebarListItem:focus-within.SidebarListItem--has-menu:not(.SidebarListItem--extended) .SidebarListItem__button,.SidebarListItem:focus-within.SidebarListItem--has-menu:not(.SidebarListItem--extended) .SidebarListItem__link,.SidebarListItem:hover.SidebarListItem--has-menu:not(.SidebarListItem--extended) .SidebarListItem__button,.SidebarListItem:hover.SidebarListItem--has-menu:not(.SidebarListItem--extended) .SidebarListItem__link,.SidebarListItem[aria-current=page].SidebarListItem--has-menu:not(.SidebarListItem--extended) .SidebarListItem__button,.SidebarListItem[aria-current=page].SidebarListItem--has-menu:not(.SidebarListItem--extended) .SidebarListItem__link{padding-right:calc(var(--sidebar-horizontal-padding) + 1.25rem)}.SidebarListItem.SidebarListItem--is-menu-open.SidebarListItem--has-menu.SidebarListItem--extended:after,.SidebarListItem.SidebarListItem--is-renaming.SidebarListItem--has-menu.SidebarListItem--extended:after,.SidebarListItem:focus-within.SidebarListItem--has-menu.SidebarListItem--extended:after,.SidebarListItem:hover.SidebarListItem--has-menu.SidebarListItem--extended:after,.SidebarListItem[aria-current=page].SidebarListItem--has-menu.SidebarListItem--extended:after{background:linear-gradient(to left,var(--sidebar-list-item-background) 0,var(--sidebar-list-item-background) 50%,transparent 100%);bottom:1px;content:"";position:absolute;right:1px;top:1px;width:3.5rem}.SidebarListItem.SidebarListItem--marker-fold:before,.SidebarListItem.SidebarListItem--marker-ribbon:before{content:"";display:block;left:0;position:absolute;top:0;z-index:1}.SidebarListItem.SidebarListItem--marker-fold:before{border-bottom:var(--sidebar-list-item-fold-size) solid transparent;border-left:var(--sidebar-list-item-fold-size) solid var(--sidebar-list-item-status-color);height:0;width:0}.SidebarListItem.SidebarListItem--marker-ribbon{--sidebar-list-item-marker-offset:var(--sidebar-list-item-ribbon-width)}.SidebarListItem.SidebarListItem--marker-ribbon:before{background:var(--sidebar-list-item-status-color);height:100%;width:var(--sidebar-list-item-ribbon-width)}.SidebarListItem.SidebarListItem--marker-status-success{--sidebar-list-item-status-color:var(--success)}.SidebarListItem.SidebarListItem--marker-status-warning{--sidebar-list-item-status-color:var(--warning)}.SidebarListItem.SidebarListItem--marker-status-danger{--sidebar-list-item-status-color:var(--danger)}.SidebarListItem.SidebarListItem--marker-status-completion{--sidebar-list-item-status-color:var(--purple)}.SidebarListItem__button,.SidebarListItem__link,.SidebarListItem__rename{--sidebar-list-item-inset:calc(var(--accordion-inset, 0px) + var(--sidebar-horizontal-padding) + var(--sidebar-list-item-marker-offset, 0px));color:inherit;display:flex;height:100%;position:relative;width:100%}.SidebarListItem__button:focus-visible:after,.SidebarListItem__link:focus-visible:after,.SidebarListItem__rename:focus-visible:after{border:1px solid var(--border-3000);content:"";inset:0 0 -1px;pointer-events:none;position:absolute}.SidebarListItem__link{color:inherit!important;flex-direction:column;justify-content:center;padding:0 var(--sidebar-horizontal-padding) 0 var(--sidebar-list-item-inset);row-gap:1px}.SidebarListItem[aria-disabled=true] .SidebarListItem__link{cursor:default}.SidebarListItem__button{align-items:center;color:inherit!important;cursor:pointer;flex-direction:row;font-size:1.125rem;gap:.25rem;padding:0 var(--sidebar-horizontal-padding) 0 calc(.25rem + var(--sidebar-horizontal-padding) + 1rem*var(--depth, 0));row-gap:1px}.SidebarListItem__button:hover{background:var(--border-3000)}.SidebarListItem__button .SidebarListItem__icon{flex-shrink:0}.SidebarListItem__button .SidebarListItem__name{overflow:hidden;text-overflow:ellipsis}.SidebarListItem__rename{background:var(--bg-light);flex-direction:column;justify-content:center}.SidebarListItem__rename input{background:none;color:var(--text-3000);font-size:.75rem;height:100%;outline:none;padding:0 calc(var(--sidebar-horizontal-padding) + 2.5rem) 0 var(--sidebar-list-item-inset);width:100%}.SidebarListItem__rename:after{border:1px solid var(--border);content:"";inset:0 0 -1px;pointer-events:none;position:absolute}.SidebarListItem[aria-invalid=true] .SidebarListItem__rename:after{border-color:var(--danger)}.SidebarListItem__error{background:var(--danger);color:#fff;left:0;line-height:1.25rem;padding:0 .25rem;position:absolute;top:2rem;white-space:normal;z-index:1}.SidebarListItem__error:before{border-bottom:.25rem solid transparent;border-bottom-color:var(--danger);border-left:.25rem solid transparent;border-left-color:var(--danger);border-right:.25rem solid transparent;border-top:.25rem solid transparent;content:"";display:block;left:0;position:absolute;top:-.5rem}.SidebarListItem__actions{display:none;position:absolute;right:var(--sidebar-horizontal-padding);top:50%;transform:translateY(-50%);z-index:1}',""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/layout/navigation-3000/components/KeyboardShortcut.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".KeyboardShortcut{align-items:center;background:var(--accent-3000);border-color:var(--secondary-3000-button-border-hover);border-radius:.25rem;border-width:1px 1px 2px;color:var(--text-3000);display:inline-flex;font-size:.75rem;height:1.25rem;justify-content:center;min-width:1.25rem;padding:.125rem .25rem;text-transform:capitalize;-webkit-user-select:none;-moz-user-select:none;user-select:none}.KeyboardShortcut--muted>.KeyboardShortcut{background:none;color:var(--muted)}.KeyboardShortcut+.KeyboardShortcut__key{margin-left:.25rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/layout/navigation-3000/components/TopBar.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,'.TopBar3000{--breadcrumbs-compaction-rate:0;align-items:start;display:flex;height:var(--breadcrumbs-height-full);pointer-events:none;position:sticky;top:0;white-space:nowrap;z-index:var(--z-top-navigation)}.TopBar3000 .EditableField__display{text-overflow:ellipsis;white-space:nowrap}.TopBar3000__content{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:var(--glass-bg-3000);border-bottom:1px solid var(--glass-border-3000);display:flex;font-size:calc(.75rem + .0625rem*var(--breadcrumbs-compaction-rate));font-weight:600;gap:.5rem;height:calc(var(--breadcrumbs-height-full) - (var(--breadcrumbs-height-full) - var(--breadcrumbs-height-compact))*var(--breadcrumbs-compaction-rate));line-height:1rem;padding:0 1rem;pointer-events:auto;width:100%}.TopBar3000__hamburger{margin-left:-.5rem}.TopBar3000__breadcrumbs{flex-grow:1;flex-shrink:1;min-width:0;overflow:hidden}.TopBar3000__trail{align-items:center;display:flex;margin-top:calc(.25rem*(1 - var(--breadcrumbs-compaction-rate)));overflow:visible}.TopBar3000:not(.TopBar3000--compact) .TopBar3000__trail{height:1rem}.TopBar3000__here{box-sizing:initial;font-family:var(--font-sans)!important;font-size:1rem;font-weight:700;height:calc(1.2em*(1 - var(--breadcrumbs-compaction-rate)));line-height:1.2;margin:0;overflow:hidden;padding:calc(.5rem*(1 - var(--breadcrumbs-compaction-rate))) 0 0;position:relative}.TopBar3000--compact .TopBar3000__here{visibility:hidden}.TopBar3000__here>*{bottom:.25rem;height:1.2em;position:absolute}.TopBar3000__breadcrumb{align-items:center;color:var(--muted);cursor:default;display:flex;flex-shrink:0;overflow:hidden;white-space:pre}.TopBar3000__breadcrumb.Link:hover{color:inherit}.TopBar3000__breadcrumb .LemonIcon{font-size:1rem;margin-left:.125rem}.TopBar3000__breadcrumb .LemonTag--default{border-color:var(--muted);font-weight:600;opacity:.5;text-transform:uppercase}.TopBar3000__breadcrumb.TopBar3000__breadcrumb--here{color:var(--text-3000);cursor:default;flex-shrink:1}.TopBar3000--full .TopBar3000__breadcrumb.TopBar3000__breadcrumb--here{visibility:hidden}.TopBar3000__breadcrumb.TopBar3000__breadcrumb--here>*{transform:translateY(calc(100%*(1 - var(--breadcrumbs-compaction-rate))))}.TopBar3000__breadcrumb.TopBar3000__breadcrumb--actionable{cursor:pointer}.TopBar3000__breadcrumb.TopBar3000__breadcrumb--actionable.TopBar3000__breadcrumb--open,.TopBar3000__breadcrumb.TopBar3000__breadcrumb--actionable:hover{color:var(--text-3000)}.TopBar3000__breadcrumb.TopBar3000__breadcrumb--actionable.TopBar3000__breadcrumb--open .LemonTag--default,.TopBar3000__breadcrumb.TopBar3000__breadcrumb--actionable:hover .LemonTag--default{opacity:1}.TopBar3000__separator{flex-shrink:0;margin:0 .5rem;opacity:.5}.TopBar3000__separator:after{content:"/"}.TopBar3000__more{margin-left:.5rem}.TopBar3000__actions{align-items:center;display:flex;gap:.5rem;justify-content:flex-end}',""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/layout/navigation-3000/sidepanel/SidePanel.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".SidePanel3000{--side-panel-bar-width:3rem;background:var(--accent-3000);box-sizing:initial;display:flex;flex-shrink:0;position:relative;width:3rem;z-index:var(--z-main-nav)}.SidePanel3000--open{max-width:60%;min-width:28rem;position:relative;width:min(30%,40rem)}@media(max-width:1200px){.SidePanel3000--open{box-shadow:0 0 30px rgba(0,0,0,.2);max-width:calc(100vw - var(--side-panel-bar-width));position:fixed;right:0;top:0}[theme=dark] .SidePanel3000--open{box-shadow:none}}.SidePanel3000--resizing{pointer-events:none}.SidePanel3000__bar{align-items:center;border-left-width:1px;display:flex;flex-direction:column;height:100vh;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--side-panel-bar-width)}.SidePanel3000__bar .LemonButton__icon{transform:rotate(-90deg)}.SidePanel3000__tabs{flex:1;overflow:hidden auto;width:var(--side-panel-bar-width)}.SidePanel3000__tabs::-webkit-scrollbar{display:none}.SidePanel3000__tabs-content{align-items:center;display:flex;gap:.25rem;height:var(--side-panel-bar-width);margin-top:calc((var(--side-panel-bar-width) - .25rem)*-1);transform:rotate(90deg);transform-origin:bottom left}.SidePanel3000__tabs-content .LemonButton{padding-bottom:0!important;padding-right:1px!important}.SidePanel3000__tabs-content .LemonButton .LemonButton__chrome{padding:.25rem calc(var(--lemon-button-padding-right, var(--lemon-button-padding-horizontal)) + var(--lemon-button-chrome-depth)*.5) .25rem calc(var(--lemon-button-padding-left, var(--lemon-button-padding-horizontal)) - var(--lemon-button-chrome-depth)*.5)!important}.SidePanel3000__tabs-content .LemonButton .LemonButton__chrome:after{box-shadow:var(--lemon-button-chrome-depth) 0 0 -1px var(--lemon-button-frame-bg-color)!important;inset:-1px calc(var(--lemon-button-chrome-depth) - 1px) -1px -1px!important}.SidePanel3000__tabs-content .LemonButton:hover:not([aria-disabled=true]) .LemonButton__chrome,.SidePanel3000__tabs-content .LemonButton:not([aria-disabled=true]):active .LemonButton__chrome{transform:translateX(var(--lemon-button-depth))!important}.SidePanel3000__tabs-content .LemonButton:hover:not([aria-disabled=true]) .LemonButton__chrome:after,.SidePanel3000__tabs-content .LemonButton:not([aria-disabled=true]):active .LemonButton__chrome:after{box-shadow:calc(var(--lemon-button-chrome-depth) - var(--lemon-button-depth)) 0 0 -1px var(--lemon-button-frame-bg-color)!important}.SidePanel3000__tabs-content .LemonButton:hover:not([aria-disabled=true]) .LemonButton__chrome:before,.SidePanel3000__tabs-content .LemonButton:not([aria-disabled=true]):active .LemonButton__chrome:before{bottom:-1px!important;right:calc(var(--lemon-button-depth) - 1px)!important}.SidePanel3000__content{border-left-width:1px;display:flex;flex:1;flex-direction:column;height:100vh;overflow-y:auto}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/layout/navigation/TopBar/AccountPopover.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".AccountPopover{max-width:22rem;min-width:16rem}.AccountPopover__side-link{color:var(--primary-3000);flex-grow:1;font-size:.8125rem;font-weight:600;margin-left:.5rem;text-align:right}.AccountPopover__section{border-bottom:1px solid var(--border);padding:.5rem 0;width:100%}.AccountPopover__section:first-child{padding-top:0}.AccountPopover__section:last-child{border-bottom:none;padding-bottom:0}.AccountInfo{align-items:center;display:flex}.AccountInfo__identification{margin-left:.5rem;overflow:hidden;width:100%}.AccessLevelIndicator{font-size:.625rem;margin-left:.5rem;text-transform:uppercase}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/ActivityLog/ActivityLog.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".ActivityLog.notifications-menu{max-width:25rem}.ActivityLog .ActivityDescription{background:var(--bg-light);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.ActivityLog .ActivityDescription .taxonomic-breakdown-filter.tag-pill{background:none;border:none;border-radius:0;font-size:.8125rem;padding:0;vertical-align:unset}.ActivityLog .ActivityDescription section:not(:last-child){margin-bottom:.5rem}.ActivityLog .page-caption{max-width:50rem}.ActivityLogRow{display:flex;gap:.5rem;line-height:24px;max-width:50rem;overflow-wrap:anywhere;padding:.5rem}.ActivityLogRow--unread{background-color:var(--primary-highlight);border-radius:var(--radius)}.ActivityLogRow .ProfilePicture{flex-grow:0}.ActivityLogRow .ActivityLogRow__details{flex-grow:1}.ActivityLogRow .ActivityLogRow__details .highlighted-activity{background-color:var(--mark);display:inline}.ActivityLogRow .ActivityLogRow__details .highlighted-activity>.PersonDisplay{min-width:5.5rem}.ActivityLogRow .ActivityLogRow__description ul.bullet-list{list-style-type:disc;padding-left:20px}.ActivityLogRow .ActivityLogRow__description ul.bullet-list li{display:list-item}.ActivityLogRow .ActivityLogRow__description__extended{margin-bottom:.5rem;margin-top:.5rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/ActivityLog/SentenceList.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".sentence-list,.sentence-list .sentence-part{display:inline}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/Animation/Animation.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".Animation{align-items:center;aspect-ratio:1/1;display:inline-flex;justify-content:center;max-width:300px;opacity:1;overflow:hidden;transition:opacity .4s ease}.Animation.Animation--hidden{opacity:0}.Animation .Animation__player{display:block;height:100%;width:100%}.Animation .Animation__player svg{display:block}.Animation.Animation--large{width:100%}.Animation.Animation--small{overflow:visible}.Animation.Animation--small svg{height:45px!important;width:45px!important}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/AnnotationsOverlay/AnnotationsOverlay.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".AnnotationsOverlay{left:var(--annotations-overlay-chart-area-left);position:absolute;top:var(--annotations-overlay-chart-area-height)}.AnnotationsBadge{align-items:center;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;background:none;border:none;cursor:pointer;display:flex;height:3rem;justify-content:center;margin-left:calc(var(--annotations-overlay-tick-interval)*var(--annotations-badge-index) - var(--annotations-overlay-chart-area-left) + var(--annotations-overlay-first-tick-left));position:absolute;transform:translate(-50%,-50%);width:var(--annotations-overlay-tick-interval)}.AnnotationsBadge>.LemonBadge{border-color:var(--bg-light);transform:scale(var(--annotations-badge-scale));transform-origin:center;transition:transform .2s ease}.AnnotationsPopover{--annotations-popover-width:30rem;transition:left .2s ease,opacity .1s ease,transform .1s ease;z-index:var(--z-annotation-popover)!important}.AnnotationsPopover .LemonModal{border:none;box-shadow:none;margin:0;max-width:var(--annotations-popover-width);min-height:100%;min-width:var(--annotations-popover-width)}.AnnotationCard .profile-package{vertical-align:bottom}.AnnotationCard h5{margin:0}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/Cards/CardMeta.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".InsightCard .handle,.TextCard .handle{align-items:flex-end;display:flex;height:100%;justify-content:center;pointer-events:none;position:absolute;width:100%;z-index:var(--z-raised)}.InsightCard .handle.horizontal svg,.TextCard .handle.horizontal svg{transform:rotate(90deg) translateX(.75rem)}.InsightCard .handle.vertical,.TextCard .handle.vertical{flex-direction:column}.InsightCard .handle.vertical svg,.TextCard .handle.vertical svg{transform:translateX(.5rem)}.InsightCard .handle.corner,.TextCard .handle.corner{justify-content:flex-end}.InsightCard .handle.corner svg,.TextCard .handle.corner svg{transform:translate(.5rem,.5rem)}.CardMeta{background:var(--bg-light);border-radius:var(--radius);display:flex;flex-direction:column;flex-shrink:0;max-height:calc(100% - 2rem);position:relative;width:100%;z-index:var(--z-raised)}.CardMeta--with-details .CardMeta__top{height:1.5rem}.CardMeta h5{color:var(--muted);line-height:1rem;margin-bottom:0}.CardMeta h4,.CardMeta h5{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.CardMeta h4{font-size:1rem;font-weight:600;height:1.5em;margin-bottom:.125rem}.CardMeta .CardMeta__primary{display:flex;padding:1rem;width:100%}.CardMeta .CardMeta__divider{background:var(--border);height:1px;margin:0 1rem;opacity:0;transition:opacity .2s ease}.CardMeta .CardMeta__details{background:var(--bg-light);border-bottom-width:1px;left:0;margin-top:-1px;max-height:24rem;overflow-y:auto;position:absolute;right:0;top:100%;transition:box-shadow .2s ease,height .2s ease,margin .2s ease}.CardMeta .CardMeta__details .CardMeta__details__content{overflow-y:auto;pointer-events:none}.CardMeta.CardMeta--details-shown .CardMeta__details{box-shadow:var(--shadow-elevation-3000);margin-top:0}.CardMeta.CardMeta--details-shown .CardMeta__details .CardMeta__details__content{opacity:1;pointer-events:all}.CardMeta.CardMeta--details-shown .CardMeta__divider{opacity:1}.CardMeta__ribbon{align-self:stretch;background:var(--muted);border-radius:var(--radius);flex-shrink:0;margin:0 .75rem 0 -.25rem;width:.375rem}.CardMeta__ribbon.blue{background:var(--blue)}.CardMeta__ribbon.purple{background:var(--purple)}.CardMeta__ribbon.green{background:var(--green)}.CardMeta__ribbon.black{background:var(--black)}.CardMeta__main{align-items:flex-start;display:flex;flex-direction:column;height:-moz-fit-content;height:fit-content;min-height:2rem;width:100%}.CardMeta__main>*{max-width:100%}.CardMeta__top{align-items:center;align-self:stretch;display:flex;height:2rem;justify-content:space-between}.CardMeta__top .LemonButton{height:1.75rem}.CardMeta__controls{align-items:center;display:flex;gap:.25rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/Cards/InsightCard/InsightCard.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,'.InsightCard{background:var(--bg-light);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;height:30rem;max-width:100%;min-width:0;position:relative;transition:border .2s ease;z-index:3}.InsightCard--highlighted{border-color:var(--primary-3000);outline:1px solid var(--primary-3000)}.InsightCard .ErrorBoundary{height:100%;margin:auto;width:100%}.InsightCard__viz{border-radius:0 0 var(--radius) var(--radius);display:flex;flex:1;flex-direction:column;overflow:auto;position:relative;width:100%}.InsightCard__viz .AnnotationsOverlay,.InsightCard__viz .LineGraph{padding:.5rem}.InsightCard__viz .insight-empty-state{font-size:.875rem;height:100%;padding-bottom:0;padding-top:0}.InsightCard__viz .LemonTable{background:none;border:none;border-radius:0}.WebAnalyticsDashboard .InsightVizDisplay .InsightCard__viz{min-height:var(--insight-viz-min-height)}.CardMeta .InsightDetails,.InsightDetails{font-size:.8125rem;line-height:1.5rem}.CardMeta .InsightDetails h5,.InsightDetails h5{line-height:1.5rem;margin-bottom:.125rem}.CardMeta .InsightDetails section:not(:last-child),.InsightDetails section:not(:last-child){margin-bottom:.5rem}.CardMeta .InsightDetails .LemonRow,.InsightDetails .LemonRow{font-size:inherit;min-height:2rem}.InsightDetails__query{border-radius:var(--radius);border-width:1px;margin-top:.25rem;padding:.375rem .5rem}.InsightDetails__query .LemonRow{padding-left:0;padding-right:0}.InsightDetails__formula code{font-weight:600;margin-left:.375rem}.InsightDetails__series{margin:-.125rem 0}.InsightDetails__series:not(:first-child){margin-top:.5rem}.InsightDetails__series .LemonDivider{margin-left:1.5rem;width:calc(100% - 1.5rem)}.InsightDetails__footer{display:flex;flex-wrap:wrap;gap:.5rem 2rem}.InsightDetails__footer .profile-package{vertical-align:middle}.InsightDetails__footer .taxonomic-breakdown-filter.tag-pill{background:none;border:none;border-radius:0;font-size:.8125rem;padding:0;vertical-align:unset}.SeriesDisplay{line-height:1.5rem}.SeriesDisplay__raw-name{align-items:center;background:var(--primary-highlight);border-radius:var(--radius);color:var(--text-3000);display:inline-flex;font-size:.6875rem;font-weight:600;line-height:1rem;margin:0 .25rem;padding:.125rem .25rem;vertical-align:middle}.SeriesDisplay__raw-name.SeriesDisplay__raw-name--action,.SeriesDisplay__raw-name.SeriesDisplay__raw-name--event{padding:.25rem}.SeriesDisplay__raw-name.SeriesDisplay__raw-name--action:before,.SeriesDisplay__raw-name.SeriesDisplay__raw-name--event:before{background:var(--primary-3000);border-radius:var(--radius);color:var(--bg-light);display:inline-block;flex-shrink:0;font-size:.625rem;font-weight:700;line-height:1rem;margin-right:.25rem;text-align:center;width:1rem}.SeriesDisplay__raw-name.SeriesDisplay__raw-name--action:before{content:"A"}.SeriesDisplay__raw-name.SeriesDisplay__raw-name--event:before{content:"E"}.SeriesDisplay__condition{display:flex}.SeriesDisplay__arrow{color:var(--border-bold);flex-shrink:0;font-size:1.25rem;margin-right:.25rem}',""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/Cards/TextCard/TextCard.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".TextCard__body{flex:1;overflow-y:auto}.TextCard__body ul{list-style-position:inside;list-style-type:disc}.TextCard__body ol{list-style-position:inside;list-style-type:numeric}.TextCard__body img{max-width:100%}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/CodeSnippet/CodeSnippet.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".CodeSnippet{font-size:.875rem;position:relative}.CodeSnippet.CodeSnippet--compact{font-size:.8125rem}.CodeSnippet.CodeSnippet--compact .CodeSnippet__actions{right:.375rem;top:.375rem}.CodeSnippet.CodeSnippet--compact pre{padding-top:.375rem}.CodeSnippet .CodeSnippet__actions{background:var(--accent-3000)!important;display:flex;gap:.5rem;position:absolute;right:.5rem;top:.75rem}.CodeSnippet pre{background:var(--accent-3000)!important;border:1px solid var(--border-3000)!important;border-radius:var(--radius)!important;padding:.75rem 1rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/CommandBar/index.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".LemonInput.CommandBar__input{border-color:transparent!important;border-radius:0;height:3rem;padding-left:1rem;padding-right:.5rem}.SearchBarTab:hover{border-left:2px solid var(--border-3000)}.SearchBarTab.SearchBarTab__active{border-color:var(--primary-3000)}.CommandBar__overlay{align-items:center;-webkit-backdrop-filter:blur(var(--modal-backdrop-blur));backdrop-filter:blur(var(--modal-backdrop-blur));background-color:var(--modal-backdrop-color);display:flex;flex-direction:column;height:100%;justify-content:center;left:0;padding:.75rem;position:fixed;top:0;width:100%;z-index:var(--z-command-palette)}.CommandBar__overlay-content{height:100%;max-height:40rem;max-width:62rem;overflow:hidden;width:100%}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/DateDisplay/DateDisplay.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".dated-highlight{background-color:var(--bg-light);border:1px solid var(--border-light);border-radius:var(--radius);color:var(--muted);margin-right:4px;padding:.125rem .25rem}.date-display-dates,.dated-highlight{white-space:nowrap}.date-display-dates .secondary-date{color:var(--muted-alt);font-weight:400;margin-left:2px}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/DateFilter/RollingDateRangeFilter.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".RollingDateRangeFilter{align-items:center;color:var(--text-3000);cursor:pointer;display:flex;font-size:.875rem;font-weight:400;height:1.6875rem;line-height:1.375em;min-height:2rem;padding:1.25rem 0;transition:background .3s ease}.RollingDateRangeFilter:hover{background-color:var(--bg-3000)}.RollingDateRangeFilter input::-webkit-inner-spin-button,.RollingDateRangeFilter input::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.RollingDateRangeFilter input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.RollingDateRangeFilter__label{flex-shrink:0;margin:0 auto}.RollingDateRangeFilter__counter{align-items:center;background-color:var(--bg-light);border:1px solid var(--border);border-radius:var(--radius);box-sizing:border-box;display:flex;height:1.6875rem;line-height:1.5rem;margin:0 .25rem}.RollingDateRangeFilter__counter .LemonInput{border:none;height:unset;min-height:0;padding:0;width:3rem}.RollingDateRangeFilter__counter .LemonInput input{text-align:center}.RollingDateRangeFilter__counter .RollingDateRangeFilter__counter__step{border-radius:calc(var(--radius) - 1px);height:100%;margin:0;padding:0;text-align:center;width:1.25rem}.RollingDateRangeFilter__counter .RollingDateRangeFilter__counter__step:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.RollingDateRangeFilter__counter .RollingDateRangeFilter__counter__step:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.RollingDateRangeFilter__counter .RollingDateRangeFilter__counter__step:hover{background-color:var(--accent-3000)}.RollingDateRangeFilter__select{width:6rem}.RollingDateRangeFilter__popover{z-index:9999}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/DefinitionPopover/DefinitionPopover.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".definition-popover{max-width:20rem;min-width:17rem;padding:.5rem .75rem .75rem}.definition-popover .definition-popover-header{display:flex;flex-direction:column}.definition-popover .definition-popover-header .definition-popover-header-row{display:flex;flex-direction:row;justify-content:space-between;line-height:2rem;margin-bottom:.25rem}.definition-popover .definition-popover-header .definition-popover-header-row .definition-popover-header-row-title{color:var(--muted);font-size:.6875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.definition-popover .definition-popover-header .definition-popover-header-row .definition-popover-header-row-buttons{display:flex;flex-direction:row;font-size:.8125rem}.definition-popover .definition-popover-header .definition-popover-header-row .definition-popover-header-row-buttons a{margin-left:1rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.definition-popover .definition-popover-header .definition-popover-header-row .definition-popover-header-row-buttons .definition-popover-disabled-button{color:var(--muted);cursor:not-allowed}.definition-popover .definition-popover-header .definition-popover-title{align-items:center;display:flex;font-size:1.25rem;font-weight:600;line-height:1.2;margin-bottom:.25rem;min-height:1.5rem;white-space:normal}.definition-popover .definition-popover-header .definition-popover-title svg.taxonomy-icon{flex-shrink:0;font-size:1.5rem;margin-right:.75rem}.definition-popover .definition-popover-header .definition-popover-title svg.taxonomy-icon.taxonomy-icon-muted{color:var(--muted-alt)}.definition-popover .definition-popover-header .definition-popover-title svg.taxonomy-icon.taxonomy-icon-verified{color:var(--success)}.definition-popover .definition-popover-header .definition-popover-title svg.taxonomy-icon.taxonomy-icon-built-in{color:var(--primary-3000)}.definition-popover .definition-popover-tags{margin:0!important}.definition-popover .definition-popover-description{font-weight:400;margin:.5rem 0;overflow-wrap:break-word}.definition-popover .definition-popover-description.empty{color:var(--muted);font-style:italic}.definition-popover .definition-popover-examples{font-style:italic;margin-bottom:.25rem}.definition-popover .definition-popover-timemeta{margin:.5rem 0}.definition-popover .definition-popover-timemeta .definition-popover-timemeta-user{display:inline-flex}.definition-popover .definition-popover-timemeta .definition-popover-timemeta-spacer{margin-right:.5rem}.definition-popover .DefinitionPopover{background-color:var(--bg-3000)}.definition-popover .DefinitionPopover .DefinitionPopover__label{align-items:flex-start;font-size:.6875rem;margin-bottom:1rem;margin-top:1rem;text-transform:uppercase}.definition-popover .definition-popover-grid{display:grid;grid-gap:.5rem}.definition-popover .definition-popover-grid .definition-popover-grid-card{display:flex;flex-direction:column}.definition-popover .definition-popover-grid .definition-popover-grid-card .definition-popover-grid-card-title{color:var(--muted);font-size:.6875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.definition-popover .definition-popover-grid .definition-popover-grid-card .definition-popover-grid-card-content{margin-top:.25rem}.definition-popover .definition-popover-edit-form{display:flex;flex-direction:column}.definition-popover .definition-popover-edit-form .label-text{font-weight:600;margin-right:.25rem}.definition-popover .definition-popover-edit-form .definition-popover-edit-form-label{margin-bottom:.5rem}.definition-popover .definition-popover-edit-form .definition-popover-edit-form-value{margin-bottom:1rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/EditableField/EditableField.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".EditableField{align-items:center;display:flex;max-width:100%}.EditableField:not(.EditableField--multiline){line-height:1.15em}.EditableField i{color:var(--muted)}.EditableField .EditableField__notice{color:var(--muted);font-size:1.5rem;margin-left:.5rem}.EditableField .EditableField__highlight{align-items:center;display:flex;flex-direction:row;margin:-.25rem;max-width:calc(100% + .5rem);overflow:auto;padding:.25rem;width:-moz-fit-content;width:fit-content}.EditableField .EditableField__display{overflow:hidden;white-space:pre-wrap}.EditableField.EditableField--editing .EditableField__highlight{align-items:flex-end;border-radius:var(--radius);flex-grow:1;max-width:calc(100% + .5rem);outline:1px solid var(--border);width:auto}.EditableField.EditableField--underlined .EditableField__highlight{margin-bottom:0;margin-top:0;padding-bottom:0;padding-top:0}.EditableField.EditableField--underlined.EditableField--editing .EditableField__highlight{outline:none}.EditableField.EditableField--underlined.EditableField--editing .EditableField__highlight input{border-bottom:1px dashed var(--muted);margin-bottom:-1px}.EditableField .EditableField__actions{align-items:center;display:flex;flex-shrink:0;gap:.5rem;margin-left:.5rem;overflow:hidden}.EditableField input,.EditableField textarea{background:transparent;border:none;color:var(--text-3000);font:inherit;max-width:100%;outline:none;padding:0}.EditableField textarea{align-self:center;width:100%}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/EmptyMessage/EmptyMessage.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".empty-message{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center}.empty-message .description,.empty-message .title{text-align:center}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/Errors/StackTraces.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".StackTrace .LemonCollapse.LemonCollapse--embedded{border-bottom:1px solid var(--border);border-top:1px solid var(--border)}.StackTrace .LemonCollapse .LemonCollapsePanel__header{background-color:var(--accent-3000);min-height:1.875rem!important;padding:0!important}.StackTrace .LemonCollapse .LemonCollapsePanel__header--disabled:hover{background-color:var(--accent-3000)!important}.StackTrace--embedded .StackTrace__type,.StackTrace--embedded .StackTrace__value{margin:0 8px}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/Fade/Fade.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,"@keyframes Fade__fade-in{0%{opacity:0}to{opacity:1}}@keyframes Fade__fade-out{0%{opacity:1}to{opacity:0}}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/HTMLElementsDisplay/SelectableElement.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".SelectableElement{border:1px solid transparent;border-radius:var(--radius);transition:background-color .2s ease,color .2s ease,border .2s ease}.SelectableElement.SelectableElement--selected{background:var(--primary-3000)}.SelectableElement:hover{background:var(--primary-3000-hover)}.SelectableElement:active{background:var(--primary-3000-active)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/HedgehogBuddy/HedgehogBuddy.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".HedgehogBuddy{cursor:pointer;margin:0;z-index:var(--z-hedgehog-buddy)}.HedgehogBuddy:after{content:attr(data-content);height:0;overflow:hidden;position:absolute;width:0;z-index:-1}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/InsightLabel/InsightLabel.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".insights-label{max-width:100%}.insights-label .value{font-size:1.176em;font-weight:700;margin-left:.3rem;padding-right:4px}.insights-label .graph-series-glyph{margin-left:2px;margin-right:4px;padding:0 6px}.insights-label .color-icon{border:2px solid #fff;border-radius:50%;box-sizing:border-box;margin-left:2px;margin-right:6px}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/InsightLegend/InsightLegend.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".InsightLegendMenu{background-color:var(--bg-light);box-shadow:none!important;max-height:100%}.InsightLegendMenu.InsightLegendMenu--in-card-view{max-width:40%}.InsightLegendMenu.InsightLegendMenu--horizontal{max-width:100%}.InsightLegendMenu.InsightLegendMenu--horizontal .InsightLegendMenu-scroll{display:flex;flex-wrap:wrap}.InsightLegendMenu.InsightLegendMenu--horizontal .InsightLegendMenu-scroll .InsightLegendMenu-item{width:auto}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/Map/Maplibre.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px var(--primary-3000)}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{background-color:var(--bg-light);color:var(--muted-3000)}.maplibregl-ctrl-attrib .maplibregl-ctrl-attrib-button{background-color:var(--bg-3000)}[theme=dark] .maplibregl-ctrl-attrib .maplibregl-ctrl-attrib-button{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\")}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:var(--bg-3000)}[theme=dark] .maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\")}.maplibregl-ctrl-attrib a{color:var(--text-3000)}}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/NotFound/NotFound.scss":(module,exports,__webpack_require__)=>{var ___CSS_LOADER_API_IMPORT___=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js"),___CSS_LOADER_GET_URL_IMPORT___=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/getUrl.js"),___CSS_LOADER_URL_IMPORT_0___=__webpack_require__("./frontend/public/not-found-astrohog.png");exports=___CSS_LOADER_API_IMPORT___(!1);var ___CSS_LOADER_URL_REPLACEMENT_0___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);exports.push([module.id,".NotFoundComponent{align-items:center;display:flex;flex-direction:column;margin:6rem auto;max-width:50rem;padding:0 1rem;text-align:center}.NotFoundComponent .NotFoundComponent__graphic{background:url("+___CSS_LOADER_URL_REPLACEMENT_0___+") no-repeat 50%;height:270px;width:100%}.NotebookNode .NotFoundComponent{align-items:center;background-color:var(--danger-highlight);display:flex;flex:1;flex-direction:column;justify-content:center;margin:0;max-width:100%;padding:2rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/Playlist/Playlist.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".Playlist{align-items:flex-start;border:1px solid var(--border);border-radius:var(--radius);flex-direction:row;justify-content:flex-start}.Playlist,.Playlist .Playlist__list{display:flex;height:100%;overflow:hidden}.Playlist .Playlist__list{flex-direction:column;flex-shrink:0;position:relative}.Playlist .Playlist__list:not(.Playlist__list--collapsed){max-width:320px;min-width:285px;width:25%}.Playlist .Playlist__list .text-link{color:var(--text-3000)!important}.Playlist .Playlist__main{flex:1;height:100%;overflow:hidden;width:100%}.Playlist--embedded{border:none}.Playlist--wide .Playlist__main{flex:1;height:100%}.SessionRecordingPlaylistHeightWrapper{height:calc(100vh - 15rem);min-height:25rem}.SessionRecordingPreview{border-left:3px solid transparent}.SessionRecordingPreview--active{border-left-color:var(--primary-3000)}.SessionRecordingPreview:hover{background-color:var(--primary-highlight)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/PropertiesTable/PropertiesTable.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".properties-table-key{display:flex;max-width:24rem;min-width:8rem}.properties-table-value{align-items:center;display:flex;max-width:-moz-fit-content;max-width:fit-content;min-width:12rem}.properties-table-value .value-link>*{vertical-align:middle}.properties-table-value .value-link>svg{font-size:1rem;margin-left:.25rem}.properties-table-value .editable{border:1px solid transparent;border-radius:calc(var(--radius)*.75);cursor:pointer;margin-left:-.25rem;padding:.125rem .25rem}.properties-table-value .editable:hover{background:var(--bg-light);border:1px solid var(--border-light)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/PropertyFilters/PropertyFilters.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".PropertyFilters{display:flex;gap:.5rem}.PropertyFilters .PropertyFilters__content{display:flex;flex:1;flex-wrap:wrap;gap:.5rem}.PropertyFilters .PropertyFilters__prefix{color:var(--border-bold-3000);font-size:18px;padding:0 5px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.PropertyFilters .logical-row-divider{align-items:flex-start;font-size:12px;font-weight:600;margin-bottom:0;margin-top:.5rem;text-transform:uppercase}.PropertyFilters .logical-row-divider:after,.PropertyFilters .logical-row-divider:before{border-top:1px solid var(--border)}.PropertyFilters .logical-row-divider:before{width:1.5%}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/PropertyFilters/components/FilterRow.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".property-filter-row{flex-basis:100%}.property-filter-row.wrap-filters{flex-basis:auto}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/PropertyFilters/components/PropertyFilterButton.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".PropertyFilterButton{align-items:center;background:var(--border);border:1px solid var(--secondary-3000-button-border);border-radius:99rem;color:var(--text-3000);cursor:default;display:inline-flex;gap:.375rem;height:2rem;outline:0;overflow:hidden;padding:.25rem .625rem;white-space:nowrap}.PropertyFilterButton[aria-disabled=true]:not(.LemonButton--loading){cursor:not-allowed;opacity:var(--opacity-disabled)}.PropertyFilterButton:focus,.PropertyFilterButton:hover:not([aria-disabled=true]){border-color:var(--secondary-3000-button-border-hover)}.PropertyFilterButton:not(.PropertyFilterButton--clickable){border-color:transparent}.PropertyFilterButton.PropertyFilterButton--clickable{cursor:pointer;touch-action:manipulation}.PropertyFilterButton.PropertyFilterButton--closable{padding-right:.5rem}.PropertyFilterButton>:not(.PropertyFilterButton-content){flex-shrink:0}.PropertyFilterButton .PropertyFilterButton-content{flex:1;overflow:hidden;text-align:left;text-overflow:ellipsis}.PropertyFilterButton>.LemonIcon{font-size:1rem}.PropertyFilterButton .LemonButton{border-radius:99rem;margin:0 -.375rem 0 -.125rem}.PropertyFilterButton .LemonButton__chrome{min-height:auto;padding:.1875rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/PropertyFilters/components/TaxonomicPropertyFilter.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".TaxonomicPropertyFilter{overflow:hidden;width:100%}.TaxonomicPropertyFilter--in-dropdown{background:var(--bg-light);max-width:100%;min-width:300px;width:900px}.TaxonomicPropertyFilter--in-dropdown .TaxonomicPropertyFilter__row-items>:first-child{width:10rem}.TaxonomicPropertyFilter__row{display:flex;gap:.5rem;overflow:hidden}.TaxonomicPropertyFilter__row-operator{align-items:center;display:flex;flex-shrink:0;height:40px;justify-content:flex-end;width:4.5rem}.TaxonomicPropertyFilter__row--or-filtering .TaxonomicPropertyFilter__row-operator{width:2rem}.TaxonomicPropertyFilter__row-arrow{color:var(--border-bold-3000);font-size:18px;font-weight:700;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.TaxonomicPropertyFilter__row-items{align-items:center;display:flex;flex:1;flex-wrap:wrap;gap:.5rem;overflow:hidden}.TaxonomicPropertyFilter__row-items>*{max-width:100%;overflow:hidden}.TaxonomicPropertyFilter__row--showing-operators .TaxonomicPropertyFilter__row-items>:first-child{flex-grow:1;min-width:10rem;width:30%}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/PropertyKeyInfo.scss":(module,exports,__webpack_require__)=>{var ___CSS_LOADER_API_IMPORT___=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js"),___CSS_LOADER_GET_URL_IMPORT___=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/getUrl.js"),___CSS_LOADER_URL_IMPORT_0___=__webpack_require__("./frontend/public/posthog-icon.svg"),___CSS_LOADER_URL_IMPORT_1___=__webpack_require__("./frontend/public/langfuse-icon.svg");exports=___CSS_LOADER_API_IMPORT___(!1);var ___CSS_LOADER_URL_REPLACEMENT_0___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___),___CSS_LOADER_URL_REPLACEMENT_1___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);exports.push([module.id,".PropertyKeyInfo,.PropertyKeyInfo__header{align-items:center;display:inline-flex;gap:.25rem;max-width:100%;overflow:hidden;vertical-align:bottom}.PropertyKeyInfo__header{font-weight:600}.PropertyKeyInfo__text.PropertyKeyInfo__text--ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.PropertyKeyInfo__logo{background-size:cover;display:inline-block;flex-shrink:0;height:1rem;width:1rem}.PropertyKeyInfo__logo--posthog{background-image:url("+___CSS_LOADER_URL_REPLACEMENT_0___+")}.PropertyKeyInfo__logo--langfuse{background-image:url("+___CSS_LOADER_URL_REPLACEMENT_1___+")}.PropertyKeyInfo__overlay{padding:.25rem}.PropertyKeyInfo__overlay p{margin-bottom:.25rem}.PropertyKeyInfo__overlay p:last-child{margin-bottom:0}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/Resizer/Resizer.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,'.Resizer{--resizer-thickness:8px;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:var(--z-notifications-popover)}.Resizer--left,.Resizer--right{--scale:scaleX(3);bottom:0;cursor:col-resize;top:0;width:var(--resizer-thickness)}.Resizer--left .Resizer__handle,.Resizer--right .Resizer__handle{bottom:0;left:calc(var(--resizer-thickness)/2);top:0;width:1px}.Resizer--left .Resizer__handle:after,.Resizer--left .Resizer__handle:before,.Resizer--right .Resizer__handle:after,.Resizer--right .Resizer__handle:before{bottom:0;top:0;width:1px}.Resizer--bottom,.Resizer--top{--scale:scaleY(3);cursor:row-resize;height:var(--resizer-thickness);left:0;right:0}.Resizer--bottom .Resizer__handle,.Resizer--top .Resizer__handle{height:1px;left:0;right:0;top:calc(var(--resizer-thickness)/2)}.Resizer--bottom .Resizer__handle:after,.Resizer--bottom .Resizer__handle:before,.Resizer--top .Resizer__handle:after,.Resizer--top .Resizer__handle:before{height:1px;left:0;right:0}.Resizer[aria-hidden=true] .Resizer{cursor:e-resize}.Resizer .Resizer__handle{position:absolute}.Resizer .Resizer__handle:after,.Resizer .Resizer__handle:before{box-sizing:initial;content:"";position:absolute}.Resizer .Resizer__handle:before{background:var(--border);transition:transform .1s ease}.Resizer .Resizer__handle:after{background:var(--text-3000);opacity:0;transition:transform .1s ease}.Resizer--left{left:0;transform:translateX(calc(var(--resizer-thickness)/2*-1))}.Resizer--right{right:0;transform:translateX(calc(var(--resizer-thickness)/2*1))}.Resizer--top{top:0;transform:translateY(calc(var(--resizer-thickness)/2*-1))}.Resizer--bottom{bottom:0;transform:translateY(calc(var(--resizer-thickness)/2*1))}.Resizer--resizing .Resizer__handle:after,.Resizer:hover .Resizer__handle:after{opacity:.25}.Resizer--resizing .Resizer__handle:after,.Resizer--resizing .Resizer__handle:before{transform:var(--scale)}',""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/ScrollableShadows/ScrollableShadows.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,'.ScrollableShadows{display:flex;overflow:hidden;position:relative}.ScrollableShadows:after,.ScrollableShadows:before{content:"";height:100%;left:0;opacity:0;pointer-events:none;position:absolute;top:0;transition:opacity .2s ease;width:100%;z-index:1}.ScrollableShadows .ScrollableShadows__inner{flex:1}.ScrollableShadows.ScrollableShadows--horizontal{height:100%}.ScrollableShadows.ScrollableShadows--horizontal .ScrollableShadows__inner{overflow-x:auto}.ScrollableShadows.ScrollableShadows--horizontal:before{box-shadow:inset 16px 0 16px -16px rgba(0,0,0,.25)}.ScrollableShadows.ScrollableShadows--horizontal:after{box-shadow:inset -16px 0 16px -16px rgba(0,0,0,.25)}.ScrollableShadows.ScrollableShadows--vertical{width:100%}.ScrollableShadows.ScrollableShadows--vertical .ScrollableShadows__inner{overflow-y:auto}.ScrollableShadows.ScrollableShadows--vertical:before{box-shadow:inset 0 16px 16px -16px rgba(0,0,0,.25)}.ScrollableShadows.ScrollableShadows--vertical:after{box-shadow:inset 0 -16px 16px -16px rgba(0,0,0,.25)}.ScrollableShadows.ScrollableShadows--bottom:after,.ScrollableShadows.ScrollableShadows--left:before,.ScrollableShadows.ScrollableShadows--right:after,.ScrollableShadows.ScrollableShadows--top:before{opacity:1}',""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/Sharing/SharingModal.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".SharingPreview{background-color:var(--bg-3000);padding:.5rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/TZLabel/index.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".TZLabelPopover .TZLabelPopover__row{display:flex;margin-top:.5rem}.TZLabelPopover .TZLabelPopover__row>:first-child{color:var(--primary-alt);font-weight:700;margin-right:8px}.TZLabelPopover .TZLabelPopover__row>:nth-child(2):not(:empty){color:var(--primary-alt);font-weight:700;margin-right:6px}.TZLabelPopover .TZLabelPopover__row>:nth-child(3){color:var(--muted);flex-grow:1;margin-right:16px}.TZLabelPopover .TZLabelPopover__row>:nth-child(4){min-width:10rem;text-align:right}.TZLabelPopover--seconds .TZLabelPopover .TZLabelPopover__row>:nth-child(4){min-width:12rem}.TZLabelPopover .TZLabelPopover__row--muted,.TZLabelPopover .TZLabelPopover__row--muted>:first-child,.TZLabelPopover .TZLabelPopover__row--muted>:nth-child(2):not(:empty){color:var(--muted)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/TaxonomicFilter/InfiniteList.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".taxonomic-infinite-list{flex-grow:1;min-height:200px}.taxonomic-infinite-list.empty-infinite-list{align-items:center;display:flex;justify-content:center;width:100%}.taxonomic-infinite-list.empty-infinite-list .no-infinite-results{color:#666}.taxonomic-infinite-list .taxonomic-list-row{align-items:center;border:none;color:var(--text-3000);cursor:pointer;display:flex;justify-content:space-between;padding:4px 12px}.taxonomic-infinite-list .taxonomic-list-row .taxonomic-list-row-contents{align-items:center;display:flex;-webkit-user-select:none;-moz-user-select:none;user-select:none}.taxonomic-infinite-list .taxonomic-list-row .taxonomic-list-row-contents .taxonomic-list-row-contents-icon{display:flex;font-size:1.25rem;justify-content:center;margin-left:-4px;margin-right:4px;min-width:30px}.taxonomic-infinite-list .taxonomic-list-row .taxonomic-list-row-contents .taxonomic-list-row-contents-icon svg.taxonomy-icon{flex-shrink:0;vertical-align:middle}.taxonomic-infinite-list .taxonomic-list-row .taxonomic-list-row-contents .taxonomic-list-row-contents-icon svg.taxonomy-icon.taxonomy-icon-muted{color:var(--muted-alt)}.taxonomic-infinite-list .taxonomic-list-row .taxonomic-list-row-contents .taxonomic-list-row-contents-icon svg.taxonomy-icon.taxonomy-icon-verified{color:var(--success)}.taxonomic-infinite-list .taxonomic-list-row .taxonomic-list-row-contents .taxonomic-list-row-contents-icon svg.taxonomy-icon.taxonomy-icon-built-in{color:var(--primary-3000)}.taxonomic-infinite-list .taxonomic-list-row>div{max-width:100%}.taxonomic-infinite-list .taxonomic-list-row>div>span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.taxonomic-infinite-list .taxonomic-list-row.hover{background-color:var(--bg-3000);border-radius:var(--radius)}.taxonomic-infinite-list .taxonomic-list-row.selected{font-weight:700}.taxonomic-infinite-list .taxonomic-list-row.expand-row{color:var(--primary-3000)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/TaxonomicFilter/TaxonomicFilter.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".taxonomic-filter{background:var(--bg-light);display:flex;flex-direction:column;max-width:calc(100vw - 40px);width:550px}.taxonomic-filter.force-minimum-width{min-width:300px}.taxonomic-filter.one-taxonomic-tab .taxonomic-infinite-list{margin-top:10px}.taxonomic-filter .taxonomic-group-title{align-items:stretch;color:var(--muted);display:flex;font-size:12px;font-weight:600;line-height:12px;padding-left:10px;padding-top:10px;text-transform:uppercase;width:100%}.taxonomic-filter .taxonomic-pills{margin-bottom:8px;margin-top:8px;padding-left:10px}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/TimelineSeekbar/TimelineSeekbar.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,'.TimelineSeekbar{--timeline-seekbar-thickness:0.125rem;--timeline-seekbar-arrow-width:0.5rem;--timeline-seekbar-arrow-height:0.75rem;margin:.75rem .5rem}.TimelineSeekbar__meta{display:flex;gap:.5rem;justify-content:space-between}.TimelineSeekbar__note{align-items:center;display:flex;font-size:.8125rem;line-height:1.25rem}.TimelineSeekbar__current{background:var(--primary-3000);border-radius:var(--radius);color:var(--bg-light);font-size:.75rem;font-weight:500;line-height:1.25rem;padding:0 .25rem;width:-moz-fit-content;width:fit-content}.TimelineSeekbar__current::-moz-selection{background:var(--primary-3000-hover)}.TimelineSeekbar__current::selection{background:var(--primary-3000-hover)}.TimelineSeekbar__current .Spinner{margin-right:.25rem}.TimelineSeekbar__seekbar{height:1.25rem;margin-top:.5rem;position:relative}.TimelineSeekbar__points{display:flex;height:100%;left:calc(var(--timeline-seekbar-thickness)*2);position:relative;top:0;width:calc(100% - var(--timeline-seekbar-arrow-width) - var(--timeline-seekbar-thickness)*3 - 1.25rem)}.TimelineSeekbar__points .LemonBadge:not(.LemonBadge--active){background-clip:padding-box;border-right-color:transparent}.TimelineSeekbar__section{border-left:var(--timeline-seekbar-thickness) solid var(--bg-light);cursor:pointer;left:calc(var(--timeline-seekbar-section-progress-current) - var(--timeline-seekbar-thickness));position:absolute;width:var(--timeline-seekbar-section-progress-next)}.TimelineSeekbar__section:last-child{width:calc(var(--timeline-seekbar-section-progress-next) + 1.25rem)}.TimelineSeekbar__line{background:var(--primary-3000);height:var(--timeline-seekbar-thickness);left:0;position:absolute;top:calc(50% - var(--timeline-seekbar-thickness)/2);width:calc(100% - var(--timeline-seekbar-arrow-width))}.TimelineSeekbar__line-end,.TimelineSeekbar__line-start{height:1.25rem;position:absolute;top:calc(var(--timeline-seekbar-thickness)/2 - .625rem)}.TimelineSeekbar__line-end:before,.TimelineSeekbar__line-start:before{background:var(--primary-3000);content:"";display:block;height:var(--timeline-seekbar-arrow-height);margin:calc(var(--timeline-seekbar-thickness) + .125rem) 0}.TimelineSeekbar__line-start{left:0;width:var(--timeline-seekbar-thickness)}.TimelineSeekbar__line-end{cursor:pointer;left:100%;width:var(--timeline-seekbar-arrow-width)}.TimelineSeekbar__line-end:before{clip-path:polygon(0 0,100% 50%,0 100%)}',""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/UniversalFilters/UniversalFilterButton.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".UniversalFilterButton{align-items:center;background:var(--border);border:1px solid var(--secondary-3000-button-border);border-radius:99rem;color:var(--text-3000);cursor:default;display:inline-flex;gap:.375rem;height:2rem;outline:0;overflow:hidden;padding:.25rem .625rem;white-space:nowrap}.UniversalFilterButton[aria-disabled=true]:not(.LemonButton--loading){cursor:not-allowed;opacity:var(--opacity-disabled)}.UniversalFilterButton:focus,.UniversalFilterButton:hover:not([aria-disabled=true]){border-color:var(--secondary-3000-button-border-hover)}.UniversalFilterButton:not(.UniversalFilterButton--clickable){border-color:transparent}.UniversalFilterButton.UniversalFilterButton--clickable{cursor:pointer;touch-action:manipulation}.UniversalFilterButton.UniversalFilterButton--closable{padding-right:.5rem}.UniversalFilterButton>:not(.UniversalFilterButton-content){flex-shrink:0}.UniversalFilterButton .UniversalFilterButton-content{flex:1;overflow:hidden;text-overflow:ellipsis}.UniversalFilterButton>.LemonIcon{font-size:1rem}.UniversalFilterButton .LemonButton{border-radius:99rem;margin:0 -.375rem 0 -.125rem}.UniversalFilterButton .LemonButton__chrome{min-height:auto;padding:.1875rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/UserActivityIndicator/UserActivityIndicator.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".UserActivityIndicator{align-items:center;display:flex;font-size:.8125rem;overflow-x:auto;white-space:nowrap}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonActionableTooltip/LemonActionableTooltip.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".LemonActionableTooltip{max-width:var(--in-app-prompts-width);padding:.5rem}.LemonActionableTooltip>*+*{margin-top:.5rem}.LemonActionableTooltip .LemonActionableTooltip__header{display:flex;justify-content:space-between}.LemonActionableTooltip .LemonActionableTooltip__header>*+*{margin-left:.5rem}.LemonActionableTooltip .LemonActionableTooltip__title{font-size:1.125rem;font-weight:500;line-height:1.75rem}.LemonActionableTooltip .LemonActionableTooltip__icon{align-items:center;color:var(--primary-3000);display:flex;height:1.5rem;width:1.5rem}.LemonActionableTooltip .LemonActionableTooltip__icon>svg{height:100%;width:100%}.LemonActionableTooltip .LemonActionableTooltip__body>*+*{margin-top:.5rem}.LemonActionableTooltip .LemonActionableTooltip__footer{display:flex;justify-content:space-between;margin-top:1rem}.LemonActionableTooltip .LemonActionableTooltip__url-buttons{display:flex;flex-direction:column;width:100%}.LemonActionableTooltip .LemonActionableTooltip__url-buttons>*+*{margin-top:.25rem}.LemonActionableTooltip .LemonActionableTooltip__action-buttons{display:flex;flex-direction:column;width:100%}.LemonActionableTooltip .LemonActionableTooltip__action-buttons>*+*{margin-top:.25rem}.LemonActionableTooltip .LemonActionableTooltip__navigation{align-items:center;color:var(--muted);display:flex}.LemonActionableTooltip .LemonActionableTooltip__navigation>*+*{margin-left:.25rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonBadge/LemonBadge.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".LemonBadge{--lemon-badge-color:var(--primary-3000);--lemon-badge-size:1.5rem;--lemon-badge-font-size:0.75rem;--lemon-badge-position-offset:0.5rem;--lemon-badge-border-width:0.125rem;align-items:center;background:var(--lemon-badge-color);border:var(--lemon-badge-border-width) solid var(--accent-3000);border-radius:calc(var(--lemon-badge-size)/2);color:var(--bg-light);display:flex;flex-shrink:0;font-size:var(--lemon-badge-font-size);font-weight:700;height:var(--lemon-badge-size);justify-content:center;line-height:var(--lemon-badge-size);min-width:var(--lemon-badge-size);padding:calc(var(--lemon-badge-size)/8);pointer-events:none;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:-moz-fit-content;width:fit-content;z-index:1}.LemonBadge>*{height:calc(var(--lemon-badge-size) - var(--lemon-badge-border-width)*2);margin:calc(var(--lemon-badge-size)*-1/8);width:calc(var(--lemon-badge-size) - var(--lemon-badge-border-width)*2)}.LemonBadge.LemonBadge--success{--lemon-badge-color:var(--success)}.LemonBadge.LemonBadge--warning{--lemon-badge-color:var(--warning)}.LemonBadge.LemonBadge--danger{--lemon-badge-color:var(--danger)}.LemonBadge.LemonBadge--muted{--lemon-badge-color:var(--muted)}.LemonBadge.LemonBadge--data{--lemon-badge-color:var(--data-color-1)}.LemonBadge.LemonBadge--position-none{position:relative}.LemonBadge.LemonBadge--position-top-left{left:calc(var(--lemon-badge-position-offset)*-1);top:calc(var(--lemon-badge-position-offset)*-1)}.LemonBadge.LemonBadge--position-top-right{right:calc(var(--lemon-badge-position-offset)*-1);top:calc(var(--lemon-badge-position-offset)*-1)}.LemonBadge.LemonBadge--position-bottom-left{bottom:calc(var(--lemon-badge-position-offset)*-1);left:calc(var(--lemon-badge-position-offset)*-1)}.LemonBadge.LemonBadge--position-bottom-right{bottom:calc(var(--lemon-badge-position-offset)*-1);right:calc(var(--lemon-badge-position-offset)*-1)}.LemonBadge.LemonBadge--small{--lemon-badge-size:1.125rem;--lemon-badge-font-size:0.625rem}.LemonBadge.LemonBadge--large{--lemon-badge-size:1.75rem;--lemon-badge-font-size:0.875rem}.LemonBadge.LemonBadge--dot{height:calc(var(--lemon-badge-size)*.5 + var(--lemon-badge-border-width));min-width:0;width:calc(var(--lemon-badge-size)*.5 + var(--lemon-badge-border-width))}.LemonBadge.LemonBadge--active{outline:calc(var(--lemon-badge-font-size)/5) solid var(--lemon-badge-color);z-index:var(--z-raised)}.LemonBadge.LemonBadge--enter{opacity:0;transform:scale(.5)}.LemonBadge.LemonBadge--enter-active{opacity:1;transform:scale(1);transition:all .2s ease-out}.LemonBadge.LemonBadge--exit{opacity:1;transform:scale(1)}.LemonBadge.LemonBadge--exit-active{opacity:0;transform:scale(.5);transition:all .2s ease-in}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonBanner/LemonBanner.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".LemonBanner{border:1px solid var(--border-tertiary);border-radius:var(--radius);color:var(--content-primary);display:flex;flex-direction:column;font-weight:500;gap:.5rem;min-height:3rem;padding:.5rem;text-align:left}.LemonBanner.LemonBanner--square{border-radius:0}.LemonBanner.LemonBanner--info{background-color:var(--background-secondary)}.LemonBanner.LemonBanner--warning{background-color:var(--background-warning-subtle);color:var(--content-warning-bold)}.LemonBanner.LemonBanner--error{background-color:var(--background-danger-subtle);color:var(--content-danger-bold)}.LemonBanner.LemonBanner--success{background-color:var(--background-success-subtle);color:var(--content-success-bold)}.LemonBanner .LemonBanner__icon{flex-shrink:0;font-size:1.5rem;line-height:0}.LemonBanner p{margin-bottom:.25em}.LemonBanner p:last-child{margin-bottom:0}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonButton/LemonButton.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,'.LemonButton,.Link.LemonButton{--lemon-button-hover-depth:-0.03125rem;--lemon-button-press-depth:0.03125rem;--lemon-button-padding-adjacent-icon:0.375rem;--lemon-button-transition:opacity 200ms ease,transform 200ms ease;--lemon-button-border-width:0;--lemon-button-bg-color:transparent;--button-border-color:none;--lemon-button-border-color-hover:none;--lemon-button-frame-bg-color:none;--lemon-button-font-size:0.875rem;--lemon-button-icon-size:1.5rem;--lemon-button-height:2.3125rem;--lemon-button-gap:0.5rem;--lemon-button-icon-opacity:0.8;--lemon-button-color:var(--text-3000);align-items:center;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;background:none;border-radius:var(--radius);cursor:pointer;display:flex;flex-shrink:0;font-family:var(--font-title);padding:0;position:relative;transition:var(--lemon-button-transition);-webkit-user-select:none;-moz-user-select:none;user-select:none;--lemon-button-chrome-depth:0.1875rem;--lemon-button-padding-horizontal:0.75rem;--lemon-button-side-action-width:2rem}.LemonButton .font-normal,.LemonButton.font-normal,.Link.LemonButton .font-normal,.Link.LemonButton.font-normal{font-family:var(--font-sans)}.LemonButton .LemonButton__chrome,.Link.LemonButton .LemonButton__chrome{align-items:center;background:none;border-color:transparent;border-style:solid;border-width:var(--lemon-button-border-width);color:var(--lemon-button-color);display:flex;flex:1;flex-direction:row;flex-shrink:0;font-size:var(--lemon-button-font-size);font-weight:500;gap:var(--lemon-button-gap);height:100%;justify-content:flex-start;line-height:1.5rem;min-height:var(--lemon-button-height);padding:.25rem var(--lemon-button-padding-horizontal);position:relative;text-align:left;width:100%}.LemonButton .LemonButton__chrome .LemonButton__content,.Link.LemonButton .LemonButton__chrome .LemonButton__content{align-items:center;display:flex;flex:1;line-height:normal;overflow:hidden}.LemonButton .LemonButton__chrome .LemonButton__icon,.Link.LemonButton .LemonButton__chrome .LemonButton__icon{display:flex;flex-shrink:0;font-size:var(--lemon-button-icon-size);place-items:center center;transition:color .2s ease}.LemonButton .LemonButton__chrome .LemonButton__icon .LemonIcon,.Link.LemonButton .LemonButton__chrome .LemonButton__icon .LemonIcon{opacity:var(--lemon-button-icon-opacity)}.LemonButton[aria-disabled=true]:not(.LemonButton--loading),.Link.LemonButton[aria-disabled=true]:not(.LemonButton--loading){cursor:not-allowed;opacity:var(--opacity-disabled)}.LemonButton.LemonButton--active,.LemonButton:hover:not([aria-disabled=true]),.LemonButton:not([aria-disabled=true]):active,.Link.LemonButton.LemonButton--active,.Link.LemonButton:hover:not([aria-disabled=true]),.Link.LemonButton:not([aria-disabled=true]):active{--lemon-button-icon-opacity:0.75}.LemonButton.LemonButton--full-width,.Link.LemonButton.LemonButton--full-width{--lemon-button-padding-horizontal:0.5rem;width:100%}.LemonButton.LemonButton--loading,.Link.LemonButton.LemonButton--loading{cursor:default}.LemonButton.LemonButton--no-padding,.Link.LemonButton.LemonButton--no-padding{height:auto;min-height:0;padding:0;width:auto}.LemonButton.LemonButton--no-padding .LemonButton__chrome,.Link.LemonButton.LemonButton--no-padding .LemonButton__chrome{min-height:0;padding:0}.LemonButton.LemonButton--no-padding.LemonButton--full-width,.Link.LemonButton.LemonButton--no-padding.LemonButton--full-width{width:100%}.LemonButton.LemonButton--truncate,.Link.LemonButton.LemonButton--truncate{flex-shrink:1;min-width:0;white-space:nowrap}.LemonButton.LemonButton--truncate .LemonButton__content,.Link.LemonButton.LemonButton--truncate .LemonButton__content{display:initial;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.LemonButton.LemonButton--centered .LemonButton__chrome,.Link.LemonButton.LemonButton--centered .LemonButton__chrome{justify-content:center!important}.LemonButton.LemonButton--centered .LemonButton__content,.Link.LemonButton.LemonButton--centered .LemonButton__content{flex:initial!important;text-align:center!important}.LemonButton.LemonButton--primary,.Link.LemonButton.LemonButton--primary{--lemon-button-bg-color:var(--primary-3000-button-bg);--lemon-button-bg-color-active:var(--primary-3000-button-bg);--button-border-color:var(--primary-3000-button-border);--lemon-button-border-color-hover:var(--primary-3000-button-border-hover);--lemon-button-frame-bg-color:var(--primary-3000-frame-bg);--lemon-button-color:var(--text-3000-light)}.LemonButton.LemonButton--primary.LemonButton--status-alt,.Link.LemonButton.LemonButton--primary.LemonButton--status-alt{--lemon-button-bg-color:var(--primary-3000-frame-bg-light);--lemon-button-bg-color-active:var(--lemon-button-bg-color);--button-border-color:var(--primary-3000-button-border);--lemon-button-border-color-hover:var(--primary-3000-button-border-hover);--lemon-button-frame-bg-color:var(--primary-3000-button-bg-dark);--lemon-button-color:var(--text-3000-light)}.LemonButton.LemonButton--secondary.LemonButton--status-alt.LemonButton--active,.LemonButton.LemonButton--secondary.LemonButton--status-alt:hover,.LemonButton.LemonButton--secondary:not(.LemonButton--status-alt):not(.LemonButton--status-danger),.Link.LemonButton.LemonButton--secondary.LemonButton--status-alt.LemonButton--active,.Link.LemonButton.LemonButton--secondary.LemonButton--status-alt:hover,.Link.LemonButton.LemonButton--secondary:not(.LemonButton--status-alt):not(.LemonButton--status-danger){--button-border-color:var(--secondary-3000-button-border);--lemon-button-bg-color-active:var(--bg-light);--lemon-button-border-color-hover:var(--secondary-3000-button-border-hover);--lemon-button-frame-bg-color:var(--secondary-3000-frame-bg)}.LemonButton.LemonButton--primary.LemonButton--status-danger,.LemonButton.LemonButton--secondary.LemonButton--status-danger,.LemonButton.LemonButton--status-danger,.Link.LemonButton.LemonButton--primary.LemonButton--status-danger,.Link.LemonButton.LemonButton--secondary.LemonButton--status-danger,.Link.LemonButton.LemonButton--status-danger{--lemon-button-color:var(--danger-3000-button-border-hover);--button-border-color:var(--danger-3000-button-border);--lemon-button-border-color-hover:var(--danger-3000-button-border-hover);--lemon-button-frame-bg-color:var(--danger-3000-frame-bg);--lemon-button-icon-opacity:1}.LemonButton.LemonButton--primary.LemonButton--status-danger,.Link.LemonButton.LemonButton--primary.LemonButton--status-danger{--lemon-button-bg-color:var(--red-100);--lemon-button-color:var(--text-3000)}[theme=dark] .LemonButton.LemonButton--primary.LemonButton--status-danger,[theme=dark] .Link.LemonButton.LemonButton--primary.LemonButton--status-danger{--lemon-button-bg-color:#312101;--lemon-button-color:var(--red-200)}.LemonButton.LemonButton--secondary.LemonButton--status-alt,.Link.LemonButton.LemonButton--secondary.LemonButton--status-alt{--lemon-button-color:var(--muted)}.LemonButton.LemonButton--secondary.LemonButton--status-alt.LemonButton--active,.LemonButton.LemonButton--secondary.LemonButton--status-alt:hover:not([aria-disabled=true]),.Link.LemonButton.LemonButton--secondary.LemonButton--status-alt.LemonButton--active,.Link.LemonButton.LemonButton--secondary.LemonButton--status-alt:hover:not([aria-disabled=true]){--lemon-button-color:var(--text-3000)}.LemonButton.LemonButton--primary,.LemonButton.LemonButton--secondary,.Link.LemonButton.LemonButton--primary,.Link.LemonButton.LemonButton--secondary{--lemon-button-border-width:1px}.LemonButton.LemonButton--primary:not([aria-disabled=true]):hover .LemonButton__chrome:after,.LemonButton.LemonButton--secondary:not([aria-disabled=true]):hover .LemonButton__chrome:after,.Link.LemonButton.LemonButton--primary:not([aria-disabled=true]):hover .LemonButton__chrome:after,.Link.LemonButton.LemonButton--secondary:not([aria-disabled=true]):hover .LemonButton__chrome:after{border-color:var(--lemon-button-border-color-hover)}.LemonButton.LemonButton--primary.LemonButton--has-icon:not(.LemonButton--no-content):not(.LemonButton--no-padding),.LemonButton.LemonButton--secondary.LemonButton--has-icon:not(.LemonButton--no-content):not(.LemonButton--no-padding),.Link.LemonButton.LemonButton--primary.LemonButton--has-icon:not(.LemonButton--no-content):not(.LemonButton--no-padding),.Link.LemonButton.LemonButton--secondary.LemonButton--has-icon:not(.LemonButton--no-content):not(.LemonButton--no-padding){--lemon-button-padding-left:var(--lemon-button-padding-adjacent-icon)}.LemonButton.LemonButton--primary.LemonButton--has-side-icon:not(.LemonButton--no-content):not(.LemonButton--no-padding),.LemonButton.LemonButton--secondary.LemonButton--has-side-icon:not(.LemonButton--no-content):not(.LemonButton--no-padding),.Link.LemonButton.LemonButton--primary.LemonButton--has-side-icon:not(.LemonButton--no-content):not(.LemonButton--no-padding),.Link.LemonButton.LemonButton--secondary.LemonButton--has-side-icon:not(.LemonButton--no-content):not(.LemonButton--no-padding){--lemon-button-padding-right:var(--lemon-button-padding-adjacent-icon)}.LemonButton.LemonButton--primary .LemonButton__chrome,.LemonButton.LemonButton--secondary .LemonButton__chrome,.Link.LemonButton.LemonButton--primary .LemonButton__chrome,.Link.LemonButton.LemonButton--secondary .LemonButton__chrome{background:transparent;padding:calc(.25rem - var(--lemon-button-chrome-depth)*.5) var(--lemon-button-padding-right,var(--lemon-button-padding-horizontal)) calc(.25rem + var(--lemon-button-chrome-depth)*.5) var(--lemon-button-padding-left,var(--lemon-button-padding-horizontal))}.LemonButton.LemonButton--primary .LemonButton__chrome>*,.LemonButton.LemonButton--secondary .LemonButton__chrome>*,.Link.LemonButton.LemonButton--primary .LemonButton__chrome>*,.Link.LemonButton.LemonButton--secondary .LemonButton__chrome>*{z-index:1}.LemonButton.LemonButton--primary .LemonButton__chrome:before,.LemonButton.LemonButton--secondary .LemonButton__chrome:before,.Link.LemonButton.LemonButton--primary .LemonButton__chrome:before,.Link.LemonButton.LemonButton--secondary .LemonButton__chrome:before{border:1px solid var(--button-border-color);border-radius:var(--radius);content:"";inset:-1px;position:absolute;z-index:0}.LemonButton.LemonButton--primary .LemonButton__chrome:after,.LemonButton.LemonButton--secondary .LemonButton__chrome:after,.Link.LemonButton.LemonButton--primary .LemonButton__chrome:after,.Link.LemonButton.LemonButton--secondary .LemonButton__chrome:after{background:var(--lemon-button-bg-color);border:1px solid var(--button-border-color);border-radius:var(--radius);box-shadow:0 var(--lemon-button-chrome-depth) 0 -1px var(--lemon-button-frame-bg-color);content:"";inset:-1px -1px calc(var(--lemon-button-chrome-depth) - 1px) -1px;position:absolute;transition:opacity .2s ease;z-index:0}.LemonButton.LemonButton--primary.LemonButton--active .LemonButton__chrome:after,.LemonButton.LemonButton--primary:not([aria-disabled=true]):active .LemonButton__chrome:after,.LemonButton.LemonButton--secondary.LemonButton--active .LemonButton__chrome:after,.LemonButton.LemonButton--secondary:not([aria-disabled=true]):active .LemonButton__chrome:after,.Link.LemonButton.LemonButton--primary.LemonButton--active .LemonButton__chrome:after,.Link.LemonButton.LemonButton--primary:not([aria-disabled=true]):active .LemonButton__chrome:after,.Link.LemonButton.LemonButton--secondary.LemonButton--active .LemonButton__chrome:after,.Link.LemonButton.LemonButton--secondary:not([aria-disabled=true]):active .LemonButton__chrome:after{border:1px solid var(--lemon-button-border-color-hover)}.LemonButton.LemonButton--primary:hover:not([aria-disabled=true]),.LemonButton.LemonButton--secondary:hover:not([aria-disabled=true]),.Link.LemonButton.LemonButton--primary:hover:not([aria-disabled=true]),.Link.LemonButton.LemonButton--secondary:hover:not([aria-disabled=true]){--lemon-button-depth:var(--lemon-button-hover-depth)}.LemonButton.LemonButton--primary:not([aria-disabled=true]):active,.LemonButton.LemonButton--secondary:not([aria-disabled=true]):active,.Link.LemonButton.LemonButton--primary:not([aria-disabled=true]):active,.Link.LemonButton.LemonButton--secondary:not([aria-disabled=true]):active{--lemon-button-depth:var(--lemon-button-press-depth)}.LemonButton.LemonButton--primary:hover:not([aria-disabled=true]) .LemonButton__chrome,.LemonButton.LemonButton--primary:not([aria-disabled=true]):active .LemonButton__chrome,.LemonButton.LemonButton--secondary:hover:not([aria-disabled=true]) .LemonButton__chrome,.LemonButton.LemonButton--secondary:not([aria-disabled=true]):active .LemonButton__chrome,.Link.LemonButton.LemonButton--primary:hover:not([aria-disabled=true]) .LemonButton__chrome,.Link.LemonButton.LemonButton--primary:not([aria-disabled=true]):active .LemonButton__chrome,.Link.LemonButton.LemonButton--secondary:hover:not([aria-disabled=true]) .LemonButton__chrome,.Link.LemonButton.LemonButton--secondary:not([aria-disabled=true]):active .LemonButton__chrome{transform:translateY(var(--lemon-button-depth))}.LemonButton.LemonButton--primary:hover:not([aria-disabled=true]) .LemonButton__chrome:after,.LemonButton.LemonButton--primary:not([aria-disabled=true]):active .LemonButton__chrome:after,.LemonButton.LemonButton--secondary:hover:not([aria-disabled=true]) .LemonButton__chrome:after,.LemonButton.LemonButton--secondary:not([aria-disabled=true]):active .LemonButton__chrome:after,.Link.LemonButton.LemonButton--primary:hover:not([aria-disabled=true]) .LemonButton__chrome:after,.Link.LemonButton.LemonButton--primary:not([aria-disabled=true]):active .LemonButton__chrome:after,.Link.LemonButton.LemonButton--secondary:hover:not([aria-disabled=true]) .LemonButton__chrome:after,.Link.LemonButton.LemonButton--secondary:not([aria-disabled=true]):active .LemonButton__chrome:after{box-shadow:0 calc(var(--lemon-button-chrome-depth) - var(--lemon-button-depth)) 0 -1px var(--lemon-button-frame-bg-color)}.LemonButton.LemonButton--primary:hover:not([aria-disabled=true]) .LemonButton__chrome:before,.LemonButton.LemonButton--primary:not([aria-disabled=true]):active .LemonButton__chrome:before,.LemonButton.LemonButton--secondary:hover:not([aria-disabled=true]) .LemonButton__chrome:before,.LemonButton.LemonButton--secondary:not([aria-disabled=true]):active .LemonButton__chrome:before,.Link.LemonButton.LemonButton--primary:hover:not([aria-disabled=true]) .LemonButton__chrome:before,.Link.LemonButton.LemonButton--primary:not([aria-disabled=true]):active .LemonButton__chrome:before,.Link.LemonButton.LemonButton--secondary:hover:not([aria-disabled=true]) .LemonButton__chrome:before,.Link.LemonButton.LemonButton--secondary:not([aria-disabled=true]):active .LemonButton__chrome:before{bottom:calc(var(--lemon-button-depth) - 1px)}.LemonButton.LemonButton--primary.LemonButton--active .LemonButton__chrome:after,.LemonButton.LemonButton--secondary.LemonButton--active .LemonButton__chrome:after,.Link.LemonButton.LemonButton--primary.LemonButton--active .LemonButton__chrome:after,.Link.LemonButton.LemonButton--secondary.LemonButton--active .LemonButton__chrome:after{background:var(--lemon-button-bg-color-active)}.LemonButton.LemonButton--tertiary.LemonButton--active,.LemonButton.LemonButton--tertiary:not([aria-disabled=true]):hover,.Link.LemonButton.LemonButton--tertiary.LemonButton--active,.Link.LemonButton.LemonButton--tertiary:not([aria-disabled=true]):hover{background-color:var(--glass-border-3000)}.LemonButton.LemonButton--tertiary.LemonButton--status-danger.LemonButton--active,.LemonButton.LemonButton--tertiary.LemonButton--status-danger:not([aria-disabled=true]):hover,.Link.LemonButton.LemonButton--tertiary.LemonButton--status-danger.LemonButton--active,.Link.LemonButton.LemonButton--tertiary.LemonButton--status-danger:not([aria-disabled=true]):hover{background-color:var(--danger-highlight)}.LemonButton--xsmall,.Link.LemonButton--xsmall{--lemon-button-padding-horizontal:0.375rem;--lemon-button-padding-adjacent-icon:0.25rem;--lemon-button-font-size:0.75rem;--lemon-button-icon-size:0.875rem;--lemon-button-height:1.625rem;--lemon-button-gap:0.25rem;--lemon-button-side-action-width:1.5rem}.LemonButton--small,.Link.LemonButton--small{--lemon-button-padding-horizontal:0.5rem;--lemon-button-height:2.0625rem;--lemon-button-gap:0.25rem;--lemon-button-side-action-width:1.75rem;--lemon-button-icon-size:1.25rem}.LemonButton--large,.Link.LemonButton--large{--lemon-button-font-size:1rem;--lemon-button-icon-size:1.75rem;--lemon-button-padding-adjacent-icon:0.75rem;--lemon-button-height:3.0625rem;--lemon-button-gap:0.75rem}.LemonButtonWithSideAction{position:relative;width:-moz-fit-content;width:fit-content;--lemon-button-chrome-depth:0.1875rem;--lemon-button-padding-horizontal:0.75rem;--lemon-button-side-action-width:2rem}.LemonButtonWithSideAction--full-width{width:100%}.LemonButtonWithSideAction--tertiary .LemonButtonWithSideAction__side-button{--lemon-button-chrome-depth:0px}.LemonButtonWithSideAction:hover>.LemonButton--secondary.LemonButton--status-alt{--button-border-color:var(--secondary-3000-button-border);--lemon-button-bg-color-active:var(--bg-light);--lemon-button-border-color-hover:var(--secondary-3000-button-border-hover);--lemon-button-frame-bg-color:var(--secondary-3000-frame-bg)}.LemonButtonWithSideAction .LemonButtonWithSideAction__spacer{box-sizing:initial;color:var(--muted);height:calc(var(--lemon-button-height) - 1.0625rem);width:calc(var(--lemon-button-side-action-width) - var(--lemon-button-padding-right, var(--lemon-button-padding-horizontal)))}.LemonButtonWithSideAction .LemonButtonWithSideAction__spacer--divider{border-left:1px solid;margin-left:calc(var(--lemon-button-padding-horizontal)/2);padding:0}.LemonButtonWithSideAction .LemonButtonWithSideAction__side-button{background:none;border-bottom-right-radius:calc(var(--radius) - 1px);border-top-right-radius:calc(var(--radius) - 1px);bottom:calc(var(--lemon-button-chrome-depth) + 1px);position:absolute;right:1px;top:1px;transform:none;z-index:1}.LemonButtonWithSideAction .LemonButtonWithSideAction__side-button .LemonButton{--lemon-button-depth:0px;border-bottom-left-radius:0;border-top-left-radius:0;height:100%;width:var(--lemon-button-side-action-width)}.LemonButtonWithSideAction .LemonButtonWithSideAction__side-button .LemonButton__chrome{border:none!important;justify-content:center!important;padding:0!important}.LemonButtonWithSideAction .LemonButtonWithSideAction__side-button .LemonButton__chrome:after,.LemonButtonWithSideAction .LemonButtonWithSideAction__side-button .LemonButton__chrome:before{content:none!important}.LemonButtonWithSideAction .LemonButtonWithSideAction__side-button:not([aria-disabled=true]):active .LemonButton__chrome{transform:none!important}.LemonButtonWithSideAction .LemonButtonWithSideAction__side-button .LemonButton__icon{color:currentColor}.LemonButtonWithSideAction .LemonButtonWithSideAction__side-button:not([aria-disabled=true]):hover{background:rgba(0,0,0,.1)}.LemonButtonWithSideAction--xsmall{--lemon-button-padding-horizontal:0.375rem;--lemon-button-padding-adjacent-icon:0.25rem;--lemon-button-font-size:0.75rem;--lemon-button-icon-size:0.875rem;--lemon-button-height:1.625rem;--lemon-button-gap:0.25rem;--lemon-button-side-action-width:1.5rem}.LemonButtonWithSideAction--small{--lemon-button-padding-horizontal:0.5rem;--lemon-button-height:2.0625rem;--lemon-button-gap:0.25rem;--lemon-button-side-action-width:1.75rem;--lemon-button-icon-size:1.25rem}.LemonButtonWithSideAction--large{--lemon-button-font-size:1rem;--lemon-button-icon-size:1.75rem;--lemon-button-padding-adjacent-icon:0.75rem;--lemon-button-height:3.0625rem;--lemon-button-gap:0.75rem}',""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonCalendar/LemonCalendar.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,'.LemonCalendar{--lemon-calendar-month-height:305px;--lemon-calendar-row-gap:2px;--lemon-calendar-day-width:40px;--lemon-calendar-today-radius:2px;--lemon-calendar-time-column-width:50px;--lemon-calendar-time-button-height:2.3125rem;height:var(--lemon-calendar-month-height)}.LemonCalendar .LemonCalendar__month{width:100%}.LemonCalendar .LemonCalendar__month>tbody>tr>td,.LemonCalendar .LemonCalendar__month>thead>tr:first-child>th{padding:calc(var(--lemon-calendar-row-gap)/2) 0}.LemonCalendar .LemonCalendar__month>tbody>tr>td,.LemonCalendar .LemonCalendar__month>thead>tr:first-child>th:first-child,.LemonCalendar .LemonCalendar__month>thead>tr:first-child>th:last-child{width:var(--lemon-calendar-day-width)}.LemonCalendar .LemonCalendar__month tr.LemonCalendar__month-header{height:var(--lemon-calendar-time-button-height)}.LemonCalendar .LemonCalendar__month tr .LemonButton.rounded-none{border-radius:0}.LemonCalendar .LemonCalendar__month tr .LemonButton.rounded-r-none{border-bottom-right-radius:0;border-top-right-radius:0}.LemonCalendar .LemonCalendar__month tr .LemonButton.rounded-l-none{border-bottom-left-radius:0;border-top-left-radius:0}.LemonCalendar .LemonCalendar__month tr .LemonCalendar__today{position:relative}.LemonCalendar .LemonCalendar__month tr .LemonCalendar__today:after{background:currentColor;border-radius:100%;bottom:5px;content:"";height:calc(var(--lemon-calendar-today-radius)*2);left:calc(50% - var(--lemon-calendar-today-radius));position:absolute;width:calc(var(--lemon-calendar-today-radius)*2)}.LemonCalendar .LemonCalendar__range--boundary{background-color:var(--glass-border-3000)}.LemonCalendar--hour{--lemon-calendar-time-columns:2}.LemonCalendar--minute{--lemon-calendar-time-columns:3}.LemonCalendar--hour,.LemonCalendar--minute{padding-right:calc(var(--lemon-calendar-time-columns)*var(--lemon-calendar-time-column-width) + 2px)}.LemonCalendar--hour .LemonCalendar__time>div,.LemonCalendar--minute .LemonCalendar__time>div{width:var(--lemon-calendar-time-column-width)}.LemonCalendar--hour .LemonCalendar__time>div.ScrollableShadows .ScrollableShadows__inner,.LemonCalendar--minute .LemonCalendar__time>div.ScrollableShadows .ScrollableShadows__inner{scroll-behavior:smooth;scrollbar-width:none}.LemonCalendar--hour .LemonCalendar__time--scroll-spacer,.LemonCalendar--minute .LemonCalendar__time--scroll-spacer{height:calc(100% - var(--lemon-calendar-time-button-height))}',""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonCard/LemonCard.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".LemonCard{transition:.2s ease}.LemonCard.LemonCard--hoverEffect:hover{box-shadow:var(--shadow-elevation-3000);transform:scale(1.01)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonCheckbox/LemonCheckbox.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".LemonCheckbox{--lemon-checkbox-height:calc(2.125rem + 3px);align-items:center;display:flex;font-weight:500;line-height:1.5rem;width:-moz-fit-content;width:fit-content}.LemonCheckbox:has(:focus-visible) .LemonCheckbox__box{outline:1px auto -webkit-focus-ring-color}.LemonCheckbox .LemonCheckbox__input{-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;height:0!important;width:0!important}.LemonCheckbox label{--tick-length:12.73;--box-color:var(--primary-3000);align-items:center;cursor:pointer;display:flex;gap:.5rem;min-height:1.5rem}.LemonCheckbox label>.LemonCheckbox__box{background:var(--bg-light);border:1.5px solid var(--border-bold);border-radius:.25rem;flex-shrink:0;height:1rem;transition:border .2s ease,background .2s ease;width:1rem}.LemonCheckbox label>.LemonCheckbox__box path{stroke:var(--bg-light);stroke-dasharray:var(--tick-length);stroke-dashoffset:var(--tick-length);transition:stroke-dashoffset .2s ease}.LemonCheckbox.LemonCheckbox--disabled label{color:var(--muted);cursor:not-allowed}.LemonCheckbox.LemonCheckbox--full-width,.LemonCheckbox.LemonCheckbox--full-width label{width:100%}.LemonCheckbox.LemonCheckbox--indeterminate label{--tick-length:9}.LemonCheckbox.LemonCheckbox:not(.LemonCheckbox--disabled):active label,.LemonCheckbox.LemonCheckbox:not(.LemonCheckbox--disabled):hover label{--box-color:var(--primary-3000-hover)}.LemonCheckbox.LemonCheckbox:not(.LemonCheckbox--disabled):active label .LemonCheckbox__box,.LemonCheckbox.LemonCheckbox:not(.LemonCheckbox--disabled):hover label .LemonCheckbox__box{border-color:var(--box-color)}.LemonCheckbox.LemonCheckbox:not(.LemonCheckbox--disabled):active label{--box-color:var(--primary-3000-active)}.LemonCheckbox.LemonCheckbox--checked label .LemonCheckbox__box{background:var(--box-color);border-color:transparent}.LemonCheckbox.LemonCheckbox--checked label .LemonCheckbox__box path{stroke-dashoffset:0}.LemonCheckbox.LemonCheckbox--bordered{line-height:1.4}.LemonCheckbox.LemonCheckbox--bordered label{background:var(--bg-light);border:1px solid var(--border);border-radius:var(--radius);min-height:var(--lemon-checkbox-height);padding:0 .75rem}.LemonCheckbox.LemonCheckbox--bordered.LemonCheckbox--small label{min-height:2rem;padding:0 .5rem}.LemonCheckbox.LemonCheckbox--bordered.LemonCheckbox--xsmall label{min-height:1.625rem;padding:0 .375rem}.Field--error .LemonCheckbox.LemonCheckbox--bordered label{border:1px solid var(--danger)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonCollapse/LemonCollapse.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".LemonCollapse{align-items:stretch;border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;overflow:hidden}.LemonCollapse--embedded{border:none;border-radius:0}.LemonCollapsePanel{align-items:stretch;display:flex;flex-direction:column}.LemonCollapsePanel:not(:last-child){border-bottom-width:1px}.LemonCollapsePanel__header{background:var(--bg-light);border-radius:0!important;font-weight:500!important;min-height:2.875rem!important;padding:.5rem .75rem!important}.LemonCollapsePanel__header.LemonButton:active{transform:inherit}.LemonCollapsePanel__header--disabled:hover{background-color:var(--bg-light)!important;cursor:default}.LemonCollapsePanel__body{border-top-width:1px;box-sizing:initial;height:0;overflow:hidden;transition:height .2s ease}.storybook-test-runner .LemonCollapsePanel__body{height:-moz-fit-content!important;height:fit-content!important}.LemonCollapsePanel__content{padding:1rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonDivider/LemonDivider.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,'.LemonDivider{background:var(--border);flex-shrink:0;height:1px;width:100%}.LemonDivider--dashed{background:repeating-linear-gradient(to right,var(--border),var(--border) 4px,transparent 4px,transparent 8px)}.LemonDivider--thick{height:3px}.LemonDivider--vertical{align-self:stretch;height:auto;width:1px}.LemonDivider--vertical.LemonDivider--thick{width:3px}.LemonDivider--vertical.LemonDivider--dashed{background:repeating-linear-gradient(to bottom,var(--border),var(--border) 4px,transparent 4px,transparent 8px)}.LemonDivider--with-label{background:none;display:flex;height:unset}.LemonDivider--with-label:after,.LemonDivider--with-label:before{border-top:1px solid var(--border);content:"";display:block;position:relative;top:50%;transform:translateY(50%);width:50%}',""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonFileInput/LemonFileInput.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,'.FileDropTarget{position:relative}.FileDropTarget--active:after{--file-drop-target-padding:0.5rem;border:3px dashed var(--primary-3000);border-radius:var(--radius);content:"";height:calc(100% + var(--file-drop-target-padding)*2);left:calc(var(--file-drop-target-padding)*-1);position:absolute;top:calc(var(--file-drop-target-padding)*-1);width:calc(100% + var(--file-drop-target-padding)*2)}',""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonInput/LemonInput.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,'.LemonInput{--lemon-input-height:calc(2.125rem + 3px);align-items:center;background:none;background-color:var(--bg-light);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-3000);cursor:text;display:flex;font-size:.875rem;gap:.375rem;height:var(--lemon-input-height);justify-content:left;line-height:1.25rem;min-height:var(--lemon-input-height);padding:.25rem .5rem;text-align:left}.LemonInput[aria-disabled=true]{cursor:not-allowed}.LemonInput.LemonInput--focused:not([aria-disabled=true]),.LemonInput:hover:not([aria-disabled=true]){border-color:var(--border-bold)}.LemonInput.LemonInput--transparent-background{background-color:inherit}.Field--error .LemonInput,.LemonInput.LemonInput--status-danger{border-color:var(--danger)!important}.LemonInput .LemonInput__input{align-self:stretch;background:none;border:none;cursor:inherit;flex:1;outline:none;padding:0;width:100%}.LemonInput .LemonInput__input:disabled{opacity:var(--opacity-disabled)}.LemonInput .LemonIcon{color:var(--muted-alt);flex-shrink:0;font-size:1.25rem;height:1em;transition:color .2s ease;width:1em}.LemonInput.LemonInput--xsmall{--lemon-input-height:1.5rem;padding:.125rem .25rem}.LemonInput.LemonInput--xsmall .LemonIcon{font-size:1rem}.LemonInput.LemonInput--small{--lemon-input-height:2rem;padding:.125rem .25rem}.LemonInput.LemonInput--small .LemonIcon{font-size:1.25rem}.LemonInput.LemonInput--large{--lemon-input-height:3rem}.LemonInput.LemonInput--large .LemonIcon{font-size:1.5rem}.LemonInput.LemonInput--has-content>.LemonIcon{color:var(--primary-3000)}.LemonInput.LemonInput--type-search{max-width:240px}.LemonInput.LemonInput--type-number .LemonInput__input{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-overflow:clip}.LemonInput.LemonInput--full-width{max-width:100%;width:100%}',""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonLabel/LemonLabel.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".LemonLabel{align-items:center;-moz-column-gap:.25rem;column-gap:.25rem;display:inline-flex;flex-wrap:wrap;font-weight:600;line-height:1.5rem}.LemonLabel .LemonLabel__extra{font-weight:400}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonMarkdown/LemonMarkdown.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".LemonMarkdown>*{margin:0 0 .5em}.LemonMarkdown>:last-child{margin-bottom:0}.LemonMarkdown dl,.LemonMarkdown ol,.LemonMarkdown ul{padding-left:1.5em}.LemonMarkdown ol{list-style-type:decimal}.LemonMarkdown ul{list-style-type:disc}.LemonMarkdown strong[level]{display:block}.LemonMarkdown hr{margin:1em 0}.LemonMarkdown h1{font-weight:600;margin-bottom:.25em}.LemonMarkdown img{max-width:100%}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonModal/LemonModal.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".LemonModal__overlay{align-items:center;display:flex;inset:0;justify-content:center;position:fixed;transition:background-color var(--modal-transition-time) ease-out,-webkit-backdrop-filter var(--modal-transition-time) ease-out;transition:background-color var(--modal-transition-time) ease-out,backdrop-filter var(--modal-transition-time) ease-out;transition:background-color var(--modal-transition-time) ease-out,backdrop-filter var(--modal-transition-time) ease-out,-webkit-backdrop-filter var(--modal-transition-time) ease-out;z-index:var(--z-modal)}.LemonModal__overlay.LemonModal__overlay--force-modal-above-popovers{z-index:var(--z-force-modal-above-popovers)}.LemonModal__overlay.ReactModal__Overlay--after-open{-webkit-backdrop-filter:blur(var(--modal-backdrop-blur));backdrop-filter:blur(var(--modal-backdrop-blur));background-color:var(--modal-backdrop-color)}.LemonModal__overlay.ReactModal__Overlay--before-close{-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);background-color:transparent}.LemonModal__overlay.LemonModal__overlay--z-1061{z-index:1061}.LemonModal__overlay.LemonModal__overlay--z-1062{z-index:1062}.LemonModal__overlay.LemonModal__overlay--z-1066{z-index:1066}.LemonModal__overlay.LemonModal__overlay--z-1067{z-index:1067}.LemonModal__overlay.LemonModal__overlay--z-1068{z-index:1068}.LemonModal__overlay.LemonModal__overlay--z-1069{z-index:1069}.LemonModal{background-color:var(--bg-light);border:1px solid var(--border-bold);border-radius:var(--radius);box-shadow:var(--modal-shadow-elevation);display:flex;flex-direction:column;margin:1rem auto;max-height:90%;max-width:90%;min-width:min(28rem,100%);opacity:0;position:relative;transform:scale(.85);transition:opacity var(--modal-transition-time) ease-out,transform var(--modal-transition-time) ease-out;width:-moz-fit-content;width:fit-content;will-change:transform}.LemonModal.LemonModal--fullscreen{border:none;border-radius:0;height:100%;margin:0;max-height:100%;max-width:100%;width:100%}.LemonModal.ReactModal__Content--after-open:not(.ReactModal__Content--before-close){opacity:1;transform:scale(1)}.LemonModal .LemonModal__close{position:absolute;right:1rem;top:.75rem;z-index:1}.LemonModal .LemonModal__close.LemonModal__close--highlighted{animation:LemonModal__tilt-shake .4s}.LemonModal .LemonModal__layout{display:flex;flex:1;flex-direction:column;overflow-y:hidden}.LemonModal .LemonModal__content{overflow-y:auto;padding:1rem}.LemonModal .LemonModal__content.LemonModal__content--embedded{padding:0}.LemonModal .LemonModal__container{display:flex;height:100%;overflow:hidden}.LemonModal__header{border-bottom:1px solid var(--border);margin:1rem 1rem 0;padding-bottom:1rem}.LemonModal__header h3{font-size:1.125rem;font-weight:700;line-height:1.5rem;margin-bottom:0;margin-right:2.5rem}.LemonModal__header p{margin:.5rem 0 -.25rem}.LemonModal__footer{align-items:center;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end;margin:0 1rem 1rem;padding-top:1rem;white-space:nowrap}.LemonModal__header+.LemonModal__footer{border-top:none}@keyframes LemonModal__tilt-shake{0%{transform:rotate(0deg)}16.666%{transform:rotate(12deg)}50%{transform:rotate(-10deg)}83.333%{transform:rotate(8deg)}to{transform:rotate(0deg)}}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonProgressCircle/LemonProgressCircle.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".LemonProgressCircle{display:inline-block;position:relative;vertical-align:text-bottom}.LemonProgressCircle circle{transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset .35s}.LemonProgressCircle .LemonProgressCircle__content{align-items:center;display:flex;inset:0;justify-content:center;position:absolute}.LemonButton__icon .LemonProgressCircle{display:inline-flex}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonRow/LemonRow.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".LemonRow{align-items:flex-start;background:none;border:none;border-radius:var(--radius);display:flex;flex-direction:column;flex-shrink:0;font-size:.875rem;justify-content:center;line-height:1.25rem;min-height:2.5rem;padding:.25rem 1rem;text-align:left;transition:background-color .2s ease,color .2s ease,border .2s ease,opacity .2s ease}.LemonRow.LemonRow--status-highlighted{background:var(--primary-highlight);color:var(--text-3000);font-weight:600}.LemonRow.LemonRow--status-highlighted .LemonRow__icon{color:var(--primary-3000)}.LemonRow.LemonRow--status-danger .LemonRow__icon{color:var(--danger)}.LemonRow.LemonRow--status-warning .LemonRow__icon{color:var(--warning)}.LemonRow.LemonRow--status-success .LemonRow__icon{color:var(--success)}.LemonRow.LemonRow--status-muted{background:var(--bg-3000)}.LemonRow.LemonRow--disabled{opacity:var(--opacity-disabled)}.LemonRow__main-area{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.LemonRow__extended-area{display:flex;flex-direction:column;font-size:.8125rem;margin-left:1.875rem;padding-bottom:.125rem}.LemonRow--outlined{border:1px solid var(--border)}.LemonRow--full-width{padding-left:.5rem;padding-right:.5rem;width:100%}.LemonRow--full-width .LemonRow__icon:not(:first-child):last-child{margin-right:0}.LemonRow--full-width>.LemonRow__main-area{justify-content:flex-start}.LemonRow--center .LemonRow__main-area{justify-content:center!important}.LemonRow--center .LemonRow__content{flex-grow:0}.LemonRow--symbolic{display:block;height:1.5rem;min-height:0;padding:0;width:1.5rem}.LemonRow--large,.LemonRow--tall{min-height:3.5rem;padding:.5rem 1rem}.LemonRow--symbolic.LemonRow--large,.LemonRow--tall.LemonRow--symbolic{height:1.75rem;min-height:0;padding:0;width:1.75rem}.LemonRow--large{font-size:1rem}.LemonRow--large .LemonRow__icon{font-size:1.75rem}.LemonRow--small{min-height:2rem;padding:.125rem .5rem}.LemonRow--small.LemonRow--symbolic{height:1.25rem;min-height:0;padding:0;width:1.25rem}.LemonRow--small .LemonRow__icon{font-size:1.25rem}.LemonRow__icon{color:var(--muted-alt);display:flex;flex-shrink:0;font-size:1.5rem;transition:background-color .2s ease,color .2s ease}.LemonRow__content{align-items:center;display:flex;flex-grow:1;min-width:0}.LemonRow__content:not(:first-child),.LemonRow__icon:not(:first-child){margin-left:.5rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonSegmentedButton/LemonSegmentedButton.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".LemonSegmentedButton{border-radius:var(--radius);flex-shrink:0;position:relative;width:-moz-fit-content;width:fit-content}.LemonSegmentedButton>ul{align-items:stretch;display:flex;list-style:none;z-index:1}.LemonSegmentedButton.LemonSegmentedButton--full-width{width:100%}.LemonSegmentedButton .LemonSegmentedButton__option{display:flex;flex:1}.LemonSegmentedButton .LemonSegmentedButton__option .LemonButton__content{white-space:nowrap}.LemonSegmentedButton .LemonSegmentedButton__option .LemonButton,.LemonSegmentedButton .LemonSegmentedButton__option .LemonButton>.LemonButton__chrome:after,.LemonSegmentedButton .LemonSegmentedButton__option .LemonButton>.LemonButton__chrome:before{border-radius:0!important}.LemonSegmentedButton .LemonSegmentedButton__option .LemonButton:not(:hover) .LemonButton__content{opacity:var(--lemon-button-icon-opacity)}.LemonSegmentedButton .LemonSegmentedButton__option .LemonButton.LemonButton--secondary:not([aria-disabled=true]):hover>.LemonButton__chrome:after{border-color:var(--secondary-3000-button-border)}.LemonSegmentedButton .LemonSegmentedButton__option:first-child,.LemonSegmentedButton .LemonSegmentedButton__option:first-child .LemonButton,.LemonSegmentedButton .LemonSegmentedButton__option:first-child .LemonButton>.LemonButton__chrome:after,.LemonSegmentedButton .LemonSegmentedButton__option:first-child .LemonButton>.LemonButton__chrome:before{border-bottom-left-radius:var(--radius)!important;border-top-left-radius:var(--radius)!important}.LemonSegmentedButton .LemonSegmentedButton__option:last-child,.LemonSegmentedButton .LemonSegmentedButton__option:last-child .LemonButton,.LemonSegmentedButton .LemonSegmentedButton__option:last-child .LemonButton>.LemonButton__chrome:after,.LemonSegmentedButton .LemonSegmentedButton__option:last-child .LemonButton>.LemonButton__chrome:before{border-bottom-right-radius:var(--radius)!important;border-top-right-radius:var(--radius)!important}.LemonSegmentedButton .LemonSegmentedButton__option:not(:first-child) .LemonButton__chrome{margin-left:-1px}.LemonSegmentedButton .LemonSegmentedButton__option.LemonSegmentedButton__option--selected{z-index:2}.LemonSegmentedButton .LemonSegmentedButton__option.LemonSegmentedButton__option--selected .LemonButton{--lemon-button-icon-opacity:1}.LemonSegmentedButton .LemonSegmentedButton__option--disabled>div{width:100%}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonSkeleton/LemonSkeleton.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".LemonSkeleton{animation:LemonSkeleton__shimmer 2s ease infinite;background:linear-gradient(90deg,hsla(0,0%,75%,.2) 25%,hsla(0,0%,51%,.24) 45%,hsla(0,0%,75%,.2) 65%);background-size:400% 100%}.LemonSkeleton.LemonSkeleton--static{animation:none}.LemonSkeleton>span{display:block;height:1px;overflow:hidden;white-space:nowrap;width:1px}@media(prefers-reduced-motion){.LemonSkeleton{animation:none}}@keyframes LemonSkeleton__shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonSwitch/LemonSwitch.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".LemonSwitch{--lemon-switch-height:1.125rem;--lemon-switch-width:calc(var(--lemon-switch-height)*1.83333);align-items:center;display:flex;font-weight:500;gap:.5rem;line-height:1.5rem;width:-moz-fit-content;width:fit-content}.LemonSwitch label[for]{cursor:pointer}.LemonSwitch label{cursor:inherit;flex:1}.LemonSwitch.LemonSwitch--full-width{padding-left:.5rem;padding-right:.5rem;width:100%}.LemonSwitch.LemonSwitch--bordered{background:var(--bg-light);border:1px solid var(--border);border-radius:var(--radius);line-height:1.4;min-height:calc(2.125rem + 3px);padding:0 .75rem}.LemonSwitch.LemonSwitch--bordered.LemonSwitch--small{gap:.5rem;min-height:calc(1.875rem + 3px);padding:0 .5rem}.LemonSwitch>.LemonIcon{color:var(--muted-alt);font-size:1.5rem}.LemonSwitch.LemonSwitch--disabled{cursor:not-allowed;opacity:var(--opacity-disabled)}.LemonSwitch.LemonSwitch--disabled label[for]{cursor:not-allowed}.LemonSwitch__button{background:none;border:none;cursor:pointer;display:inline-block;flex-shrink:0;height:var(--lemon-switch-height);padding:0;position:relative;width:var(--lemon-switch-width)}.LemonSwitch--disabled .LemonSwitch__button{cursor:not-allowed}.LemonSwitch__slider{background-color:var(--border-bold);border-radius:var(--lemon-switch-height);display:inline-block;height:100%;left:0;pointer-events:none;position:absolute;top:0;transition:background-color .1s ease;width:100%}.LemonSwitch--checked .LemonSwitch__slider{background-color:var(--primary-3000)}.LemonSwitch__handle{--lemon-switch-handle-ratio:0.75;--lemon-switch-handle-gutter:calc(var(--lemon-switch-height)*(1 - var(--lemon-switch-handle-ratio))/2);--lemon-switch-handle-width:calc(var(--lemon-switch-height)*var(--lemon-switch-handle-ratio));--lemon-switch-active-translate:translateX(calc(var(--lemon-switch-width) - var(--lemon-switch-handle-width) - var(--lemon-switch-handle-gutter)*2));align-items:center;background-color:#fff;border:none;border-radius:.625rem;cursor:inherit;display:flex;height:calc(var(--lemon-switch-height)*var(--lemon-switch-handle-ratio));justify-content:center;left:var(--lemon-switch-handle-gutter);pointer-events:none;position:absolute;top:var(--lemon-switch-handle-gutter);transition:background-color .1s ease,transform .1s ease,width .1s ease,border-color .1s ease;width:var(--lemon-switch-handle-width)}.LemonSwitch--checked .LemonSwitch__handle{background-color:#fff;border-color:var(--primary-3000);transform:var(--lemon-switch-active-translate)}.LemonSwitch--active .LemonSwitch__handle{--lemon-switch-handle-width:calc(var(--lemon-switch-height)*var(--lemon-switch-handle-ratio)*1.2);transform:none}.LemonSwitch--active.LemonSwitch--checked .LemonSwitch__handle{transform:var(--lemon-switch-active-translate)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonTable/LemonTable.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,'.LemonTable{--row-base-height:auto;--row-horizontal-padding:1rem;--lemon-table-background-color:var(--bg-table);background:var(--lemon-table-background-color);border:1px solid var(--border);border-radius:var(--radius);flex:1;font-size:13px;overflow:hidden;position:relative;width:100%}.Insight .LemonTable,.InsightCard__viz .LemonTable,.WebAnalyticsDashboard .LemonTable{--lemon-table-background-color:var(--bg-light)}.WebAnalyticsDashboard .LemonTable,.WebAnalyticsModal .LemonTable{border:none}.LemonTable.LemonTable--with-ribbon{--row-ribbon-width:0.25rem}.LemonTable.LemonTable--with-ribbon .LemonTable__content>table>tbody>tr>:first-child{position:relative}.LemonTable.LemonTable--with-ribbon .LemonTable__content>table>tbody>tr>:first-child:after{background:var(--row-ribbon-color);content:"";height:100%;left:0;position:absolute;top:0;width:var(--row-ribbon-width)}.LemonTable--xs .LemonTable__content>table>tbody>tr>td{padding-bottom:.25rem;padding-top:.25rem}.LemonTable--embedded{background:none;border:none;border-radius:0}.LemonTable--stealth{background:none}.LemonTable--stealth .LemonTable__content>table>thead{background:none;border-bottom:none}.LemonTable--stealth .LemonTable__content>table>tbody>tr:not(:first-child),.LemonTable--stealth .LemonTable__content>table>thead>tr:not(:first-child){border-top:none}.LemonTable--lowercase-header .LemonTable__content>table>thead{letter-spacing:normal;text-transform:none}.LemonTable.LemonTable--inset{--row-horizontal-padding:0.5rem}.LemonTable .PaginationControl{border-top:1px solid var(--border);height:var(--row-base-height);padding:.5rem}.LemonTable a.Link{color:var(--text-3000)}.LemonTable a.Link:not(:disabled):hover{color:var(--primary-3000-hover)}.LemonTable__content>table{border-collapse:collapse;border-spacing:0;width:100%}.LemonTable__content>table>thead{background:var(--lemon-table-background-color);font-size:.75rem;letter-spacing:.03125rem;position:relative;text-transform:uppercase}.LemonTable__content>table>thead>tr>th{box-shadow:inset 0 -1px var(--border);font-weight:700;padding-bottom:.5rem;padding-top:.5rem;text-align:left}.LemonTable__content>table>thead>tr>th .LemonButton{margin:-.5rem 0}.LemonTable__content>table>thead>tr.LemonTable__row--grouping{--row-base-height:2.5rem}.LemonTable__content>table>tbody>tr:not(:first-child){border-top:1px solid var(--border)}.LemonTable__content>table>tbody>tr.LemonTable__expansion{background:var(--bg-3000);position:relative}.LemonTable__content>table>tbody>tr.LemonTable__expansion>td{padding:0!important}.LemonTable__content>table>tbody>tr.LemonTable__row--status-highlighted{color:var(--text-3000);font-weight:600}.LemonTable__content>table>tbody>tr.LemonTable__row--status-highlighted>td:not(.LemonTable__cell--sticky){background:var(--primary-highlight)}.LemonTable__content>table>tbody>tr:not(.LemonTable__expansion)>td .LemonButton{margin-bottom:-.25rem;margin-top:-.25rem}.LemonTable__content>table>tbody>tr>td{color:var(--text-secondary-3000);padding-bottom:.3125rem;padding-top:.3125rem}.LemonTable__content>table>tbody>tr>td .CodeSnippet__actions>.LemonButton,.LemonTable__content>table>tbody>tr>td .LemonButtonWithSideAction__side-button>.LemonButton{margin-bottom:0;margin-top:0}.LemonTable__content>table>tbody>tr,.LemonTable__content>table>thead>tr{height:var(--row-base-height)}.LemonTable__content>table>tbody>tr>td,.LemonTable__content>table>tbody>tr>th,.LemonTable__content>table>thead>tr>td,.LemonTable__content>table>thead>tr>th{overflow:hidden;padding-right:var(--row-horizontal-padding);text-overflow:ellipsis}.LemonTable__content>table>tbody>tr>td:first-child,.LemonTable__content>table>tbody>tr>th:first-child,.LemonTable__content>table>thead>tr>td:first-child,.LemonTable__content>table>thead>tr>th:first-child{padding-left:calc(var(--row-horizontal-padding) + var(--row-ribbon-width, 0px))}.LemonTable__content>table>tbody>tr>td.LemonTable__boundary:not(:first-child),.LemonTable__content>table>tbody>tr>th.LemonTable__boundary:not(:first-child),.LemonTable__content>table>thead>tr>td.LemonTable__boundary:not(:first-child),.LemonTable__content>table>thead>tr>th.LemonTable__boundary:not(:first-child){padding-left:var(--row-horizontal-padding)}.LemonTable__content>table>tbody>tr>td.LemonTable__boundary:not(:first-of-type),.LemonTable__content>table>tbody>tr>th.LemonTable__boundary:not(:first-of-type),.LemonTable__content>table>thead>tr>td.LemonTable__boundary:not(:first-of-type),.LemonTable__content>table>thead>tr>th.LemonTable__boundary:not(:first-of-type){border-left:1px solid var(--border)}.LemonTable__content>table>tbody>tr>td.LemonTable__toggle,.LemonTable__content>table>tbody>tr>th.LemonTable__toggle,.LemonTable__content>table>thead>tr>td.LemonTable__toggle,.LemonTable__content>table>thead>tr>th.LemonTable__toggle{padding-right:0}.LemonTable__content>table>tbody>tr>td.LemonTable__toggle+*,.LemonTable__content>table>tbody>tr>th.LemonTable__toggle+*,.LemonTable__content>table>thead>tr>td.LemonTable__toggle+*,.LemonTable__content>table>thead>tr>th.LemonTable__toggle+*{border-left:none!important}.LemonTable__content>table>tbody>tr>td[colspan="0"],.LemonTable__content>table>tbody>tr>th[colspan="0"],.LemonTable__content>table>thead>tr>td[colspan="0"],.LemonTable__content>table>thead>tr>th[colspan="0"]{padding-left:0!important;padding-right:0!important}.LemonTable__empty-state{color:var(--muted-alt)}.LemonTable__overlay{background:var(--lemon-table-background-color);height:100%;left:0;opacity:0;pointer-events:none;position:absolute;top:0;transition:opacity .2s ease;width:100%;z-index:2}.LemonTable--loading .LemonTable__overlay{opacity:.5;pointer-events:auto}.LemonTable__header{cursor:default}.LemonTable__header .LemonTable__header-content{color:var(--text-secondary-3000)}.LemonTable__header.LemonTable__header--actionable{cursor:pointer}.LemonTable__header.LemonTable__header--actionable:hover:not(:has(.LemonTable__header--no-hover:hover)) .LemonTable__header-content{color:var(--text-3000)}.LemonTable__header.LemonTable__header--actionable:active .LemonTable__header-content{color:var(--text-3000)}.LemonTable__header-content{align-items:center;display:flex;justify-content:space-between;line-height:1.5}.LemonTable__header-content div{white-space:nowrap}.LemonTable__footer{border-top:1px solid var(--border);cursor:default}.LemonTable__cell--sticky{background:var(--lemon-table-background-color)}.LemonTable__row--status-highlighted .LemonTable__cell--sticky:before{background:var(--primary-highlight)}.LemonTable__header--sticky{background:var(--lemon-table-background-color)}body:not(.storybook-test-runner) .LemonTable__cell--sticky,body:not(.storybook-test-runner) .LemonTable__header--sticky{left:0;overflow:visible!important;position:sticky!important;z-index:1}body:not(.storybook-test-runner) .LemonTable__cell--sticky:before,body:not(.storybook-test-runner) .LemonTable__header--sticky:before{box-shadow:-16px 0 16px 16px transparent;clip-path:inset(0 -16px 0 0);content:"";inset:0;position:absolute;transition:box-shadow .2s ease;z-index:-1}body:not(.storybook-test-runner) .ScrollableShadows--left .LemonTable__cell--sticky:before,body:not(.storybook-test-runner) .ScrollableShadows--left .LemonTable__header--sticky:before{box-shadow:-16px 0 16px 16px rgba(0,0,0,.25)}',""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonTable/LemonTableLoader.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,'.LemonTableLoader{background:var(--primary-highlight);border:none!important;height:0;left:0;overflow:hidden;padding:.05rem!important;position:absolute;transition:height .2s ease,top .2s ease;width:100%;z-index:10}.LemonTableLoader:after{animation:LemonTableLoader__swooping 1.5s linear infinite;background:var(--primary-3000);content:"";height:100%;left:0;position:absolute;top:0;width:50%}.LemonTableLoader.LemonTableLoader--enter-active,.LemonTableLoader.LemonTableLoader--enter-done{height:.125rem}@keyframes LemonTableLoader__swooping{0%{left:0;transform:translateX(-100%);width:33.333%}50%{width:50%}to{left:100%;transform:translateX(100%);width:33.333%}}',""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonTabs/LemonTabs.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,'.LemonTabs{--lemon-tabs-gap:2rem;--lemon-tabs-margin-bottom:1rem;--lemon-tabs-content-padding:0.75rem 0;align-self:stretch;display:flex;flex-direction:column;position:relative}.LemonTabs--small{--lemon-tabs-gap:1rem;--lemon-tabs-margin-bottom:0.5rem;--lemon-tabs-content-padding:0.375rem 0}.Navigation3000__scene>.LemonTabs:first-child,.Navigation3000__scene>:first-child>.LemonTabs:first-child{margin-top:-.75rem}.LemonTabs__bar{align-items:stretch;display:flex;flex-direction:row;flex-shrink:0;gap:var(--lemon-tabs-gap);list-style:none;margin-bottom:var(--lemon-tabs-margin-bottom);overflow-x:auto;position:relative}.LemonTabs__bar:before{background:var(--border);bottom:0;content:"";height:1px;left:0;position:absolute;width:100%}.LemonTabs__bar:after{background:var(--link);bottom:0;content:"";height:.125rem;left:0;position:absolute;transform:translateX(var(--lemon-tabs-slider-offset));width:var(--lemon-tabs-slider-width)}.LemonTabs--transitioning .LemonTabs__bar:after{transition:width .15s ease,transform .15s ease}.LemonTabs--transitioning .LemonTabs__bar .LemonTabs__tab{transition:color .15s ease}.LemonTabs__bar .LemonTabs__tab:hover{color:var(--link)}.LemonTabs__bar .LemonTabs__tab:active{color:var(--primary-3000-active)}.LemonTabs__bar .LemonTabs__tab.LemonTabs__tab--active{color:var(--link);text-shadow:0 0 .25px currentColor}.LemonTabs__bar .LemonTabs__tab a{color:inherit;-webkit-text-decoration:none;text-decoration:none;transition:none}.LemonTabs__bar .LemonTabs__tab .LemonTabs__tab-content{align-items:center;cursor:pointer;display:flex;padding:var(--lemon-tabs-content-padding);white-space:nowrap}',""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonTag/LemonTag.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".LemonTag{align-items:center;background:var(--border);border-radius:var(--radius-sm);color:var(--text-3000);display:inline-flex;font-size:.75rem;font-weight:var(--font-medium);gap:.125rem;line-height:1rem;padding:.125rem .25rem;white-space:nowrap}.LemonTag.LemonTag--normal{font-weight:400}.LemonTag:not(.LemonTag--breakdown){background:none;border-radius:var(--radius-sm);border-style:solid;border-width:1px;font-size:.6875rem;padding:.075rem .25rem}.LemonTag.LemonTag--primary{background:none;border-color:var(--primary-3000);color:var(--primary-3000)}.LemonTag.LemonTag--option{background-color:var(--accent-3000);color:var(--primary-3000)}.LemonTag.LemonTag--highlight{background:none;border-color:var(--highlight);color:var(--highlight)}.LemonTag.LemonTag--warning{background-color:none;border-color:var(--warning);color:var(--warning)}.LemonTag.LemonTag--danger{background:none;border-color:var(--danger);color:var(--danger)}.LemonTag.LemonTag--success{background:none;border-color:var(--success);color:var(--success)}.LemonTag.LemonTag--completion{background:none;border-color:var(--purple);color:var(--purple)}.LemonTag.LemonTag--caution{background:none;border-color:var(--danger-lighter);color:var(--danger-lighter)}.LemonTag.LemonTag--muted{background-color:var(--accent-3000);color:var(--muted)}.LemonTag.LemonTag--none{background:none}.LemonTag.LemonTag--breakdown{background-color:var(--primary-highlight);border-radius:40px;color:var(--primary-alt);font-size:14px;font-weight:400;line-height:16px;padding:8px 12px;vertical-align:bottom}.LemonTag.LemonTag--size-small{font-size:.625rem;line-height:.875rem;padding:0 .1875rem}.LemonTag .LemonTag__icon{display:flex;font-size:.875rem;margin-right:.125rem}.LemonTag .LemonTag__right-button{margin-left:.25rem;min-height:1.5rem!important;padding:.125rem!important}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonTextArea/LemonTextArea.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".LemonTextArea{background:none;background-color:var(--bg-light);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-3000);cursor:text;display:block;font-size:.875rem;line-height:1.25rem;min-height:2.5rem;outline:none;padding:.5rem;text-align:left;text-overflow:ellipsis;width:100%}.LemonTextArea:focus:not(:disabled),.LemonTextArea:not(:disabled):hover{border:1px solid var(--border-bold)}.LemonTextArea:disabled{cursor:not-allowed;opacity:var(--opacity-disabled)}.Field--error .LemonTextArea{border:1px solid var(--danger)}.LemonTextArea--preview ul{list-style-position:inside;list-style-type:disc}.LemonTextArea--preview ol{list-style-position:inside;list-style-type:decimal}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LemonWidget/LemonWidget.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".LemonWidget{background:var(--bg-light);border:1px solid var(--border);border-radius:var(--radius)}.LemonWidget .LemonWidget__header{align-items:center;color:var(--muted-alt-3000,var(--primary));display:flex;font-size:.875rem;font-weight:500;justify-content:space-between;padding:.25rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/Lettermark/Lettermark.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".Lettermark{align-items:center;background:var(--lettermark-bg,var(--lettermark-1-bg));border-radius:var(--radius-sm);color:var(--lettermark-text,var(--lettermark-1-text));display:inline-flex;flex-shrink:0;font-size:.75rem;font-weight:600;height:2em;justify-content:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:2em}.Lettermark.Lettermark--rounded{border-radius:1.5rem}.Lettermark.Lettermark--outlined{background:none;border:1.5px dashed var(--lettermark-bg);color:var(--lettermark-bg)}.Lettermark.Lettermark--variant-gray{background:var(--border);color:var(--text-3000)}.Lettermark.Lettermark--xsmall{font-size:.5rem}.Lettermark.Lettermark--xlarge{border-radius:var(--radius);font-size:2rem}.Lettermark.Lettermark--variant-1{--lettermark-text:var(--lettermark-1-text);--lettermark-bg:var(--lettermark-1-bg)}.Lettermark.Lettermark--variant-2{--lettermark-text:var(--lettermark-2-text);--lettermark-bg:var(--lettermark-2-bg)}.Lettermark.Lettermark--variant-3{--lettermark-text:var(--lettermark-3-text);--lettermark-bg:var(--lettermark-3-bg)}.Lettermark.Lettermark--variant-4{--lettermark-text:var(--lettermark-4-text);--lettermark-bg:var(--lettermark-4-bg)}.Lettermark.Lettermark--variant-5{--lettermark-text:var(--lettermark-5-text);--lettermark-bg:var(--lettermark-5-bg)}.Lettermark.Lettermark--variant-6{--lettermark-text:var(--lettermark-6-text);--lettermark-bg:var(--lettermark-6-bg)}.Lettermark.Lettermark--variant-7{--lettermark-text:var(--lettermark-7-text);--lettermark-bg:var(--lettermark-7-bg)}.Lettermark.Lettermark--variant-8{--lettermark-text:var(--lettermark-8-text);--lettermark-bg:var(--lettermark-8-bg)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/Link/Link.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".Link{background:none;border:none;color:var(--link);cursor:pointer;line-height:inherit;padding:0;text-align:left;transition:none}.Link:not(:disabled):hover{color:var(--primary-3000-hover)}.Link:not(:disabled):active{color:var(--primary-3000-active)}.Link:disabled{cursor:not-allowed;opacity:var(--opacity-disabled)}.Link>.LemonIcon:last-child{margin-left:.15em}.Link--subtle{color:var(--text-3000)}.Link--subtle:not(:disabled):hover{color:var(--primary-3000-hover)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/LoadingBar/LoadingBar.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".progress-outer{align-items:center;display:flex}.progress{background:#eee;border-radius:var(--radius-sm);height:10px;min-height:1px;overflow:hidden;position:relative;width:100%}.progress-bar{background:var(--primary-3000-active);height:100%;left:0;position:absolute}.storybook-test-runner .progress-bar{width:50%!important}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/PaginationControl/PaginationControl.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".PaginationControl{align-items:center;align-self:flex-end;display:flex;justify-content:flex-end}.PaginationControl>span{margin-right:.5rem}.PaginationControl--bordered{border:1px solid var(--border);border-radius:var(--radius);padding:.5rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/Popover/Popover.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".Popover{display:flex;flex-direction:row;perspective:80rem;perspective-origin:top;z-index:var(--z-popover)}.Popover h5{margin:.25rem .5rem}.Popover p:last-child{margin-bottom:0}.Popover[data-floating-placement^=top]{perspective-origin:bottom}.Popover.Popover--top-centered{left:50%;top:1rem;transform:translate(-50%)}.Popover__box{background:var(--bg-light);border:1px solid var(--secondary-3000-button-border);border-radius:var(--radius);box-shadow:var(--shadow-elevation-3000);flex-grow:1;max-width:100%;opacity:0;overflow:visible;position:relative;transform-origin:top;transition:opacity 50ms ease,transform 50ms ease}.Popover[data-placement^=bottom] .Popover__box{margin-top:.25rem;transform:rotateX(-6deg);transform-origin:top}.Popover[data-placement^=bottom].Popover--with-arrow .Popover__box{margin-top:.5rem}.Popover[data-placement^=top] .Popover__box{margin-bottom:.25rem;transform:rotateX(6deg);transform-origin:bottom}.Popover[data-placement^=top].Popover--with-arrow .Popover__box{margin-bottom:.5rem}.Popover[data-placement^=left] .Popover__box{margin-right:.25rem;transform:rotateY(-6deg);transform-origin:right}.Popover[data-placement^=left].Popover--with-arrow .Popover__box{margin-right:.5rem}.Popover[data-placement^=right] .Popover__box{margin-left:.25rem;transform:rotateY(6deg);transform-origin:left}.Popover[data-placement^=right].Popover--with-arrow .Popover__box{margin-left:.5rem}.Popover.Popover--enter-active .Popover__box,.Popover.Popover--enter-done .Popover__box{opacity:1;transform:none}.Popover--max-content-width .Popover__box{width:-moz-max-content;width:max-content}.Popover__arrow{background:var(--bg-light);height:.5rem;position:absolute;transform:rotate(45deg);width:.5rem}[data-placement^=bottom] .Popover__arrow{border-left:1px solid var(--border);border-top:1px solid var(--border);top:-.3125rem}[data-placement^=top] .Popover__arrow{border-bottom:1px solid var(--border);border-right:1px solid var(--border);bottom:-.3125rem}[data-placement^=left] .Popover__arrow{border-right:1px solid var(--border);border-top:1px solid var(--border);right:-.3125rem}[data-placement^=right] .Popover__arrow{border-bottom:1px solid var(--border);border-left:1px solid var(--border);left:-.3125rem}.Popover__content{border-radius:calc(var(--radius) - 1px);max-height:100%}.Popover--padded .Popover__content>.ScrollableShadows__inner{padding:.25rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/ProfilePicture/ProfilePicture.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".profile-package{align-items:center;display:inline-flex}.profile-name,.profile-package:not(:first-child){margin-left:.375rem}.profile-name{font-weight:500}.ProfilePicture{align-items:center;border-radius:50%;display:inline-flex;flex-shrink:0;font-weight:600;justify-content:center;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ProfilePicture.xxl{font-size:20px;height:48px;line-height:48px;width:48px}.ProfilePicture.xl{font-size:20px;height:40px;line-height:40px;width:40px}.ProfilePicture.lg{font-size:18px;height:32px;line-height:32px;width:32px}.ProfilePicture.md{font-size:14px;height:24px;line-height:24px;width:24px}.ProfilePicture.sm{font-size:12px;height:18px;line-height:18px;width:18px}.ProfilePicture.xs{font-size:11px;height:16px;line-height:16px;width:16px}.ProfilePicture .Lettermark{font-size:inherit;height:inherit;line-height:inherit;width:inherit}.ProfileBubbles{align-items:center;display:flex}.ProfileBubbles>*{outline:.125rem solid var(--bg-light)}.ProfileBubbles>:not(:first-child){margin-left:-.125rem}.ProfileBubbles__more{align-items:center;background:var(--primary-3000);border-radius:50%;color:#fff;display:flex;font-size:.625rem;font-weight:600;height:1.5rem;justify-content:center;letter-spacing:-.05em;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:1.5rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/Spinner/Spinner.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,'.Spinner{--spinner-color:var(--primary-3000);display:inline-block;flex-shrink:0;height:1em;vertical-align:-.15em;width:1em}.Spinner.Spinner--textColored{--spinner-color:currentColor}.Spinner__layer,.Spinner__layer>circle{transform-origin:center}.Spinner__layer>circle{display:block;fill:transparent;stroke:var(--spinner-color);stroke-linecap:round;stroke-width:8px}.Spinner__layer:first-child{opacity:.333}.Spinner__layer:nth-child(2){animation:spin 1s linear infinite}.Spinner__layer:nth-child(2)>circle{animation:Spinner__writhe 1.5s ease infinite both}@keyframes Spinner__writhe{0%,to{stroke-dasharray:70;stroke-dashoffset:-60}50%{stroke-dasharray:70;stroke-dashoffset:-30}}.SpinnerOverlay{align-items:center;display:flex;inset:0;justify-content:center;min-height:min(100%,6rem);position:absolute;text-align:center;transition:opacity .2s ease;z-index:var(--z-content-overlay)}.SpinnerOverlay[aria-hidden=true]{opacity:0;pointer-events:none}.SpinnerOverlay:before{background:var(--bg-light);content:"";inset:0;opacity:.5;position:absolute}.SpinnerOverlay .Spinner{position:relative}.SpinnerOverlay.SpinnerOverlay--scene-level:before{background:var(--bg-3000)}',""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/Splotch/Splotch.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".Splotch{height:1.5rem;padding:.25rem;width:1.5rem}.Splotch__paint{border-radius:var(--radius);height:1rem;width:1rem}.Splotch--blue .Splotch__paint{background:var(--blue)}.Splotch--purple .Splotch__paint{background:var(--purple)}.Splotch--green .Splotch__paint{background:var(--green)}.Splotch--black .Splotch__paint{background:var(--black)}.Splotch--white .Splotch__paint{background:#fff;border:1px solid var(--border)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/Tooltip/Tooltip.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".Tooltip{box-shadow:var(--modal-shadow-elevation);z-index:var(--z-tooltip)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/icons/icons.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".LemonIcon{display:inline-block;vertical-align:-.15em;width:1em}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/monaco/CodeEditor.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents{display:block!important}.editor-wrapper .monaco-editor,.editor-wrapper .overflow-guard{border-radius:0}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.signature-label{text-align:right;width:100%}.CodeEditorInline .monaco-editor,.CodeEditorResizeable .monaco-editor{--vscode-textLink-foreground:transparent;--vscode-focusBorder:transparent;border-radius:var(--radius)}.CodeEditorInline .monaco-editor .overflow-guard,.CodeEditorResizeable .monaco-editor .overflow-guard{border-radius:var(--radius)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/queries/nodes/DataTable/ColumnConfigurator/ColumnConfigurator.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".ColumnConfiguratorModal .Columns{background-color:var(--bg-3000);border-radius:var(--radius);-moz-column-gap:1rem;column-gap:1rem;display:flex;padding:.5rem;width:700px}@media(max-width:960px){.ColumnConfiguratorModal .Columns{display:block;width:auto}}.ColumnConfiguratorModal .HalfColumn{width:50%}@media(max-width:960px){.ColumnConfiguratorModal .HalfColumn{width:100%}}.ColumnConfiguratorModal .SelectedColumn{align-items:center;background-color:var(--primary-highlight);border-radius:var(--radius);display:flex;justify-content:flex-start;margin:calc(var(--radius)/2) 0;overflow:hidden;padding:0 .5rem}.ColumnConfiguratorModal .selected-column-col{display:flex;flex-direction:column}.ColumnConfiguratorModal .drag-handle{color:var(--text-3000);cursor:move;font-size:1.2em;padding-right:.25rem}.ColumnConfiguratorModal .drag-handle svg{transform:rotate(90deg)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/queries/nodes/DataTable/DataTable.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".DataTable td{max-width:20rem}.DataTable .DataTable__row--highlight_once{animation:DataTable__highlight 2s ease-out}.DataTable .DataTable__row--category_row{background-color:var(--bg-3000);color:var(--muted);font-size:.75rem;font-weight:600;height:2rem;text-align:center}@keyframes DataTable__highlight{0%{background-color:var(--mark)}to{background-color:initial}}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/queries/nodes/DataVisualization/Components/Chart.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".DataVisualization{--viz-min-height:calc(80vh - 6rem)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/queries/nodes/DataVisualization/Components/Charts/LineGraph.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".DataVisualization__LineGraph{min-height:var(--viz-min-height)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/queries/nodes/DataVisualization/Components/ConditionalFormatting/ConditionalFormattingTab.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".ConditionalFormattingTab__ColorPicker .LemonButton__chrome{gap:0;padding-left:6px!important}.ConditionalFormattingTab .LemonCollapsePanel__header{padding-left:0!important}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/queries/nodes/DataVisualization/Components/SideBar.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".DataVisualization .LemonTabs .LemonTabs__bar{margin-bottom:0}.DataVisualization .SideBar{border-radius:var(--radius);max-width:18rem;min-height:var(--viz-min-height);min-width:18rem}.DataVisualization .SideBar .LemonInput.LemonInput--medium{display:flex}.DataVisualization .SideBar .LemonInput.LemonInput--medium .LemonInput__input{flex:1;width:0}.DataVisualization .SideBar .grow-2{flex-grow:2}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/queries/nodes/DataVisualization/Components/Variables/Variables.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".DataVizVariable_Button .LemonButton__chrome{justify-content:flex-end!important}.DataVizVariable_Popover .ScrollableShadows__inner{padding:0!important}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/queries/nodes/InsightViz/EditorFilterGroup.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".EditorFilterGroup .EditorFilterGroup__title{display:none}.EditorFilterGroup .EditorFilterGroup__content>*+*{margin-top:1rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/queries/nodes/InsightViz/EditorFilters.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".EditorFiltersWrapper{--editor-panel-group-min-width:24rem;background:var(--bg-light);flex-shrink:0}.EditorFiltersWrapper:not(.EditorFiltersWrapper--embedded){border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.EditorFiltersWrapper .EditorFilters{display:flex;flex-flow:row wrap;gap:1rem}.EditorFiltersWrapper .EditorFilters .EditorFilterGroup{flex:1;max-width:100%;min-width:var(--editor-panel-group-min-width)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/queries/nodes/InsightViz/InsightViz.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".InsightViz{container-type:inline-size;display:flex;flex:1;flex-direction:column;gap:1rem;overflow:hidden}.InsightViz.InsightViz--horizontal{align-items:start;flex-flow:row wrap}.InsightViz.InsightViz--horizontal .EditorFiltersWrapper{width:100%}@container (min-width: 768px){.InsightViz.InsightViz--horizontal .EditorFiltersWrapper{max-width:30rem;min-width:26rem;width:30%}}.InsightVizDisplay{--insight-viz-min-height:min(calc(80vh - 6rem),32rem);display:flex;flex:1;flex-direction:column;min-height:0}.ErrorTracking__breakdowns .InsightVizDisplay,.ExportedInsight .InsightVizDisplay,.InsightCard .InsightVizDisplay,.NotebookNode .InsightVizDisplay,.WebAnalyticsDashboard .InsightVizDisplay{flex:1;height:100%}.ErrorTracking__breakdowns .InsightVizDisplay .LineGraph,.ExportedInsight .InsightVizDisplay .LineGraph,.InsightCard .InsightVizDisplay .LineGraph,.NotebookNode .InsightVizDisplay .LineGraph,.WebAnalyticsDashboard .InsightVizDisplay .LineGraph{padding:.5rem}.InsightVizDisplay .InsightVizDisplay__content{display:flex;flex:1;flex-direction:column;height:100%;position:relative}.InsightVizDisplay .InsightVizDisplay__content--with-legend{flex-direction:row}.InsightVizDisplay .InsightVizDisplay__content .InsightVizDisplay__content__left{display:flex;flex:1;flex-direction:column;position:relative;width:100%}.InsightVizDisplay .InsightVizDisplay__content .InsightVizDisplay__content__right{align-items:center;display:flex;flex-shrink:1;margin:1rem;max-height:var(--insight-viz-min-height);max-width:45%;width:-moz-fit-content;width:fit-content}.InsightVizDisplay .InsightDisplayConfig{border-bottom-width:1px;padding:.5rem}.WebAnalyticsDashboard .InsightVizDisplay{--insight-viz-min-height:25rem}.RetentionContainer{display:flex;flex:1;flex-direction:column;width:100%}.RetentionContainer .RetentionContainer__graph{flex:1;margin:.5rem}.RetentionContainer .RetentionContainer__table{flex-shrink:0}.RetentionContainer .LineGraph{min-height:30vh;position:relative!important;width:100%!important}.ExportedInsight .RetentionContainer .LineGraph,.InsightCard .RetentionContainer .LineGraph,.NotebookNode .RetentionContainer .LineGraph,.WebAnalyticsDashboard .RetentionContainer .LineGraph{min-height:100px;position:relative}.TrendsInsight{display:flex;flex:1;flex-direction:column;margin:.5rem;min-height:var(--insight-viz-min-height);position:relative}.ExportedInsight .TrendsInsight,.InsightCard .TrendsInsight,.NotebookNode .TrendsInsight,.WebAnalyticsDashboard .TrendsInsight{min-height:auto}.TrendsInsight--ActionsTable,.TrendsInsight--BoldNumber,.TrendsInsight--WorldMap{margin:0;min-height:auto}.TrendsInsight--BoldNumber{align-items:center;display:flex;justify-content:center}.FunnelInsight{display:flex;flex:1;flex-direction:column;width:100%}.FunnelInsight--type-steps-vertical,.FunnelInsight--type-time_to_convert,.FunnelInsight--type-trends{min-height:var(--insight-viz-min-height)}.ExportedInsight .FunnelInsight--type-steps-vertical,.ExportedInsight .FunnelInsight--type-time_to_convert,.ExportedInsight .FunnelInsight--type-trends,.InsightCard .FunnelInsight--type-steps-vertical,.InsightCard .FunnelInsight--type-time_to_convert,.InsightCard .FunnelInsight--type-trends,.NotebookNode .FunnelInsight--type-steps-vertical,.NotebookNode .FunnelInsight--type-time_to_convert,.NotebookNode .FunnelInsight--type-trends,.WebAnalyticsDashboard .FunnelInsight--type-steps-vertical,.WebAnalyticsDashboard .FunnelInsight--type-time_to_convert,.WebAnalyticsDashboard .FunnelInsight--type-trends{min-height:auto}.funnel-significance-highlight{background:var(--primary);color:var(--bg-light);display:inline-flex}.funnel-significance-highlight .LemonIcon{color:var(--bg-light)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/queries/nodes/InsightViz/PropertyGroupFilters/PropertyGroupFilters.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,'.PropertyGroupFilters .property-group{background-color:var(--bg-3000);border-radius:var(--radius);border-width:1px;padding:.5rem}.PropertyGroupFilters .property-group-and-or-separator{color:var(--primary-alt);font-size:12px;font-weight:600;padding:.5rem 0;position:relative}.PropertyGroupFilters .property-group-and-or-separator:before{background-color:var(--border-light);content:" ";height:100%;left:17px;position:absolute;top:0;width:2px}.PropertyGroupFilters .property-group-and-or-separator>span{background-color:var(--bg-light);display:inline-block;padding:.25rem;position:relative;text-align:center;width:35px;z-index:1}',""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/queries/nodes/InsightViz/ResultCustomizationsModal.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".ResultCustomizationsModal__ColorGlyphButton .LemonButton__chrome{gap:4px;padding-left:6px!important;padding-right:6px!important}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/activity/explore/EventDetails.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".LemonTabs[data-attr=event-details] ul{padding:0 .75rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/authentication/Setup2FA.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".Setup2FA__image{margin:0 auto;min-height:215px;min-width:215px}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/billing/Billing.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".BillingPlan{flex-grow:1;max-width:500px}.BillingPlan .BillingPlan__description ol,.BillingPlan .BillingPlan__description ul{list-style:none;margin-top:1rem;padding-left:0;text-align:center}.BillingPlan .BillingPlan__description ol li,.BillingPlan .BillingPlan__description ul li{line-height:1.2rem;margin-bottom:1rem}.BillingPlan .BillingPlan__description ol .disclaimer,.BillingPlan .BillingPlan__description ul .disclaimer{font-size:10px;font-weight:700;padding-left:1px;vertical-align:top}.BillingPlan .BillingPlan__description .disclaimer-details{color:var(--muted);font-size:.75rem;margin-top:1rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/billing/BillingGauge.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".BillingGaugeItem{animation:BillingGaugeItem__expand .8s cubic-bezier(.15,.15,.2,1) forwards}.BillingGaugeItem .BillingGaugeItem__info{background:var(--bg-light);border-left:1px solid var(--border);bottom:100%;font-size:.8rem;left:100%;line-height:1rem;margin-left:-1px;padding:0 .25rem .5rem;position:absolute;white-space:nowrap}.BillingGaugeItem .BillingGaugeItem__info--bottom{bottom:auto;padding:.5rem .25rem 0;top:100%}.BillingGaugeItem .BillingGaugeItem__info:hover{z-index:100}.BillingGaugeItem.BillingGaugeItem--billing_limit,.BillingGaugeItem.BillingGaugeItem--free_tier{background-color:var(--border-light-opaque)}.BillingGaugeItem.BillingGaugeItem--current_usage{background:var(--danger)}.BillingGaugeItem.BillingGaugeItem--current_usage.BillingGaugeItem--within-usage-limit{background:var(--brand-blue)}.BillingGaugeItem.BillingGaugeItem--projected_usage{background:repeating-linear-gradient(-45deg,var(--danger-3000-button-border-dark),var(--danger-3000-button-border-dark) .5rem,var(--danger-3000-button-border-hover-dark) .5rem,var(--danger-3000-button-border-hover-dark) 1rem);opacity:.5}.BillingGaugeItem.BillingGaugeItem--projected_usage.BillingGaugeItem--within-usage-limit{background:repeating-linear-gradient(-45deg,var(--data-color-1),var(--data-color-1) .5rem,var(--data-color-1-hover) .5rem,var(--data-color-1-hover) 1rem)}@keyframes BillingGaugeItem__expand{0%{width:0}to{width:var(--billing-gauge-item-width)}}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/billing/PlanComparison.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".PlanComparisonModal{max-width:900px}table.PlanComparison{table-layout:fixed}table.PlanComparison td{padding:.75rem 1rem;vertical-align:top}table.PlanComparison td.PlanTable__td__upgradeButton{padding-bottom:1rem;padding-top:1rem}table.PlanComparison th{font-weight:600;padding:.75rem 1rem;text-align:left;vertical-align:top}table.PlanComparison th.PlanTable__th__section{font-weight:500;padding:.25rem 1rem}table.PlanComparison th.PlanTable__th__feature{font-weight:600;padding:.75rem 1rem .75rem 3.25rem}table.PlanComparison th.PlanTable__th__feature.PlanTable__th__feature--reduced_padding{padding:.75rem 1rem}table.PlanComparison th.PlanTable__th__last-feature{padding-bottom:2rem}table.PlanComparison th p{font-weight:400}.PlanTable__tr__border{border-bottom:3px dotted rgba(0,0,0,.07)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/billing/UnsubscribeSurveyModal.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".UnsubscribeSurveyCostControl .LemonCollapsePanel__header{background:var(--bg-3000);padding:0!important}.UnsubscribeSurveyCostControl .LemonButton__chrome{padding:0!important}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/cohorts/CohortFilters/CohortCriteriaRowBuilder.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".CohortCriteriaRow{padding:0 .5rem}.CohortCriteriaRow .CohortCriteriaRow__Criteria{border:1px solid transparent;border-radius:var(--radius);padding:.25rem .5rem}.CohortCriteriaRow .CohortCriteriaRow__Criteria.CohortCriteriaRow__Criteria--error{border:1px solid var(--danger)}.CohortCriteriaRow .CohortCriteriaRow__Criteria .CohortCriteriaRow__Criteria__error-row{margin:.25rem 0}.CohortCriteriaRow .CohortCriteriaRow__Criteria .CohortCriteriaRow__Criteria__Field{margin:.25rem 0;min-width:0}.CohortCriteriaRow .CohortCriteriaRow__Criteria .CohortCriteriaRow__Criteria__Field.CohortCriteriaRow__Criteria__Field--error .CohortField{border:1px solid var(--danger)}.CohortCriteriaRow .CohortCriteriaRow__Criteria .CohortCriteriaRow__Criteria__Field:not(:last-child){margin-right:.5rem}.CohortCriteriaRow .logical-row-divider{color:var(--primary-alt);font-size:12px;font-weight:600;text-transform:uppercase}.CohortCriteriaRow .logical-row-divider:after,.CohortCriteriaRow .logical-row-divider:before{border-top:1px solid var(--border)}.CohortCriteriaRow .logical-row-divider:before{width:1.5%}.CohortCriteriaRow .logical-row-divider:after{width:95%}.CohortCriteriaRow .CohortCriteriaRow__inline-divider{background-color:var(--border);flex:1;height:1px;margin:0 .5rem}.CohortCriteriaRow .CohortCriteriaRow__Criteria__arrow{color:var(--muted);flex-shrink:0;font-size:18px;font-weight:700;padding-left:6px;padding-right:8px;position:relative;top:6px;-webkit-user-select:none;-moz-user-select:none;user-select:none}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/cohorts/CohortFilters/CohortField.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".Popover__CohortField .Popover__box{max-height:30rem}.CohortField__dropdown{max-width:calc(100vw - 14rem);min-width:14rem}.CohortField__CohortTextField{font-weight:500}.CohortField__CohortNumberField{max-width:4rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/dashboard/DashboardItems.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".dashboard-items-wrapper{margin-top:1rem;width:100%}.react-grid-layout{margin-bottom:2rem;position:relative;transition:height .1s ease}.react-grid-layout.dashboard-view-mode .react-grid-item{transition:border-color .1s ease}.react-grid-item.cssTransforms{transition-property:transform}.react-grid-item.resizing{will-change:width,height;z-index:1}.react-grid-item.react-draggable .CardMeta,.react-grid-item.react-draggable .TextCard__body{cursor:move;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-grid-item.react-draggable-dragging{transition:none;will-change:transform;z-index:105}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{border:1px solid var(--primary-3000);border-radius:var(--radius);max-width:100%;outline:1px solid var(--primary-3000);position:relative;transition:.1s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:2}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item{transition:all .1s ease;transition-property:left,top}.react-grid-item>.react-resizable-handle{bottom:-.5rem;cursor:se-resize;height:2rem;position:absolute;right:-.5rem;width:2rem;z-index:10}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{bottom:2rem;cursor:ew-resize;height:auto;top:0}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{cursor:ns-resize;left:0;right:2rem;width:auto}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/dashboard/DashboardTemplateChooser.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".DashboardTemplateChooser{display:grid;gap:.5em .5em;grid-template-columns:repeat(3,1fr);max-width:780px}.DashboardTemplateChooser .TemplateItem{height:210px;width:240px}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/dashboard/EmptyDashboardComponent.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,'.EmptyDashboard .EmptyDashboard__fade:after{background:linear-gradient(to top,var(--bg-light),transparent);bottom:0;content:"";height:3rem;pointer-events:none;position:absolute}.EmptyDashboard{margin-top:1rem;position:relative}.EmptyDashboard .EmptyDashboard__fade{height:150px;margin-top:1rem;overflow:hidden;position:relative}.EmptyDashboard .EmptyDashboard__fade:after{--bg-light:var(--bg-3000);height:150px;width:100%}.EmptyDashboard .EmptyDashboard__cta{background:var(--bg-light);border-radius:var(--radius);border-width:1px;box-shadow:var(--shadow-elevation-3000);left:50%;max-width:calc(100% - 32px);padding:1.5rem;position:absolute;top:16px;transform:translateX(-50%);width:360px;z-index:var(--z-content-overlay)}',""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/data-management/properties/PropertyDefinitionsTable.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".event-properties-definition-table .LemonTable__content>table>tbody td.definition-column-icon{padding-right:.5rem;width:36px}.event-properties-definition-table .LemonTable__content>table>tbody td.definition-column-icon .definition-column-name-icon{align-items:center;display:flex;font-size:1.2rem;justify-content:center;width:30px}.event-properties-definition-table .LemonTable__content>table>tbody td.definition-column-icon .definition-column-name-icon svg.taxonomy-icon{flex-shrink:0}.event-properties-definition-table .LemonTable__content>table>tbody td.definition-column-icon .definition-column-name-icon svg.taxonomy-icon.taxonomy-icon-muted{color:var(--muted-alt)}.event-properties-definition-table .LemonTable__content>table>tbody td.definition-column-icon .definition-column-name-icon svg.taxonomy-icon.taxonomy-icon-verified{color:var(--success)}.event-properties-definition-table .LemonTable__content>table>tbody td.definition-column-name .definition-column-name-content{display:flex;flex-direction:column;justify-content:center;min-height:32px;position:relative}.event-properties-definition-table .LemonTable__content>table>tbody td.definition-column-name .definition-column-name-content .definition-column-name-content-title{align-items:center;cursor:pointer;display:flex;font-weight:600;gap:.25rem}.event-properties-definition-table .LemonTable__content>table>tbody td.definition-column-name .definition-column-name-content .definition-column-name-content-title svg{color:var(--success)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/data-warehouse/ViewLinkModal.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".form-error{color:var(--danger)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/feature-flags/FeatureFlag.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".VariantFormList{border:1px solid var(--border);border-radius:var(--radius);font-size:13px;margin-top:16px;padding:16px}.VariantFormList .label-row{font-weight:700}.VariantFormList .VariantFormList__row{grid-template-columns:repeat(24,minmax(0,1fr))}.feature-flag-property-display{align-items:center;display:flex;flex-flow:row wrap;gap:.5rem;margin-top:.5rem}.feature-flag-property-display .arrow-right{margin-right:-8px;margin-top:.25rem}.feature-flag-property-display .display-value{word-break:break-all}.condition-set-separator{color:var(--primary-alt);font-size:12px;font-weight:var(--font-semibold);margin-bottom:.5rem;margin-left:.5rem}.feature-flag-form-row{align-items:center;display:flex;flex-wrap:wrap;width:100%}.feature-flag-form-row .centered{align-items:center;display:flex;white-space:pre-wrap}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/feature-flags/FeatureFlagInstructions.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".FeatureFlagInstructionsHeader{flex-wrap:nowrap}.FeatureFlagInstructionsHeader .FeatureFlagInstructionsHeader__header-title{display:flex;justify-items:center}.FeatureFlagInstructionsHeader .FeatureFlagInstructionsHeader__header-title .FeatureFlagInstructionsHeader__header-title__icon{color:var(--text-muted-alt);font-size:1.6em;margin-right:12px}.FeatureFlagInstructionsHeader__option{display:flex;justify-items:center}.FeatureFlagInstructionsHeader__option .FeatureFlagInstructionsHeader__option__icon{margin-right:8px;margin-top:2px}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/funnels/Funnel.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".funnel-bin-filter-dropdown .funnel-bins-custom-picker{margin:5px 0 5px 13px;width:43px}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/funnels/FunnelBarHorizontal/FunnelBarHorizontal.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".FunnelBarHorizontal .funnel-step header .funnel-step-title{max-width:calc(100% - 8px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.FunnelBarHorizontal{min-height:100%;padding:1rem}.InsightCard .FunnelBarHorizontal{padding-left:1rem;padding-right:1rem}.FunnelBarHorizontal .funnel-step{padding-left:2rem;position:relative}.FunnelBarHorizontal .funnel-step:not(:first-child),.FunnelBarHorizontal .funnel-step:not(:first-child) .funnel-series-container{padding-top:.75rem}.FunnelBarHorizontal .funnel-step .graph-series-glyph{z-index:2}.FunnelBarHorizontal .funnel-step .funnel-conversion-metadata{align-items:center;display:flex;justify-content:space-between}.FunnelBarHorizontal .funnel-step .funnel-conversion-metadata .funnel-inspect-button{line-height:1.5rem}.FunnelBarHorizontal .funnel-step .funnel-conversion-metadata .funnel-inspect-button .value-inspector-button-icon{font-size:1.5rem;margin-right:.25rem;vertical-align:bottom}.FunnelBarHorizontal .funnel-step .funnel-series-container{align-items:center;display:flex;flex-direction:column;height:100%;left:0;position:absolute;top:0;width:1.5rem}.FunnelBarHorizontal .funnel-step .funnel-series-container .graph-series-glyph{-webkit-user-select:none;-moz-user-select:none;user-select:none}.FunnelBarHorizontal .funnel-step .funnel-series-container .funnel-series-linebox{border-right:2px solid var(--border);box-sizing:border-box;left:0;opacity:.5;position:absolute;width:calc(.75rem + 1px)}.FunnelBarHorizontal .funnel-step .funnel-series-container .funnel-series-linebox.before{height:11.5px;top:0}.FunnelBarHorizontal .funnel-step .funnel-series-container .funnel-series-linebox.after{bottom:0;height:calc(100% - 11.5px);top:11.5px}.FunnelBarHorizontal .funnel-step .funnel-step-metadata{display:flex;flex-wrap:wrap}.FunnelBarHorizontal .funnel-step footer,.FunnelBarHorizontal .funnel-step header{align-items:center;display:flex;line-height:23px}.FunnelBarHorizontal .funnel-step header{display:flex;flex-wrap:wrap;justify-content:space-between;position:relative}.FunnelBarHorizontal .funnel-step header .funnel-step-title{font-weight:700}.FunnelBarHorizontal .funnel-step header button{margin-left:.375rem}.FunnelBarHorizontal .funnel-bar-wrapper{background-color:var(--border-3000);border-radius:var(--radius);display:flex;flex-direction:row;height:32px;margin:4px 0}.FunnelBarHorizontal .funnel-bar-wrapper .funnel-bar{background:var(--primary-3000);height:100%;position:relative;transition:width .2s ease,height .2s ease}.FunnelBarHorizontal .funnel-bar-wrapper .funnel-bar.first{border-radius:var(--radius) 0 0 4px}.FunnelBarHorizontal .funnel-bar-wrapper .funnel-bar.last{border-radius:0 4px 4px 0}.FunnelBarHorizontal .funnel-bar-wrapper .funnel-bar.only{border-radius:var(--radius)}.FunnelBarHorizontal .funnel-bar-wrapper .funnel-bar .funnel-bar-percentage{color:#fff;font-weight:700;line-height:16px;position:absolute;top:8px}.FunnelBarHorizontal .funnel-bar-wrapper .funnel-bar .funnel-bar-percentage.inside{right:8px}.FunnelBarHorizontal .funnel-bar-wrapper .funnel-bar .funnel-bar-percentage.outside{color:var(--text-3000);left:calc(100% + 8px)}.storybook-test-runner .InsightCard .funnel-bar{display:none}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/funnels/FunnelBarVertical/FunnelBarVertical.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".FunnelBarVertical{flex:1;height:100%;overflow:hidden;position:relative;width:100%}.FunnelBarVertical table{--bar-width:0.5rem;--bar-row-height:18rem;--bar-padding-top:1rem;--bar-padding-bottom:1.5rem;height:100%;width:100%}.FunnelBarVertical table>tbody>tr:first-child{border-bottom:1px solid var(--border)}.FunnelBarVertical table>tbody>tr:first-child>td{padding-bottom:var(--bar-padding-bottom);padding-top:var(--bar-padding-top)}.FunnelBarVertical table>tbody>tr>td{padding:.75rem 0}.StepBars{align-items:flex-end;border-bottom:1px solid var(--border);display:flex;gap:.125rem;height:calc(var(--bar-row-height) - var(--bar-padding-top) - var(--bar-padding-bottom));padding:0 1rem;position:relative}.StepBars:not(.StepBars--first){border-left:1px dashed var(--border)}.StepBars__grid{align-items:stretch;bottom:0;display:flex;flex-direction:column;height:100%;left:0;position:absolute;width:100%}.StepBars__gridline{flex-grow:1}.StepBars__gridline.StepBars__gridline--horizontal{border-top:1px dashed var(--border)}.StepBar{--series-color:#000;--conversion-rate:100%;border-radius:var(--radius);flex-shrink:0;height:100%;position:relative;width:calc(var(--bar-width)/2)}.InsightCard .StepBar{width:calc(var(--bar-width)/2)!important}@media screen and (min-width:992px){.StepBar{width:var(--bar-width)}}.StepBar__backdrop,.StepBar__fill{border-radius:var(--radius);bottom:0;cursor:pointer;left:0;position:absolute;width:100%}.InsightCard .StepBar__backdrop,.InsightCard .StepBar__fill,.StepBar__unclickable .StepBar__backdrop,.StepBar__unclickable .StepBar__fill{cursor:default}.StepBar__backdrop{background:repeating-linear-gradient(-22.5deg,transparent,transparent .5rem,hsla(0,0%,100%,.5) .5rem,hsla(0,0%,100%,.5) 1rem),var(--series-color);height:100%;opacity:.125;transition:opacity .2s ease}.StepBar__backdrop:hover{opacity:.2}.StepBar__backdrop:active{opacity:.25}.StepBar__fill{background:var(--series-color);height:var(--conversion-rate);transition:filter .2s ease}.StepBar__fill:hover{filter:brightness(.9)}.StepBar__fill:active{filter:brightness(.85)}.StepBarLabels{align-items:flex-end;display:flex;flex-direction:column-reverse;height:calc(var(--bar-row-height) - var(--bar-padding-top) - var(--bar-padding-bottom))}.StepBarLabels__segment{flex-grow:1;padding:0 .5rem}.StepBarLabels__segment:first-child{flex-grow:0;height:0}.StepBarLabels__label{font-size:.75rem;font-weight:500;transform:translateY(-50%)}.StepLegend{border-left:1px solid var(--border);height:100%;white-space:nowrap}.StepLegend>.LemonRow{font-weight:500;margin-top:.25rem;min-height:1.5rem;padding:0 .5rem}.StepLegend>.LemonRow:first-child{font-weight:600;margin-top:0;width:-moz-fit-content;width:fit-content}.StepLegend .funnel-inspect-button{font-weight:inherit;line-height:1.5rem}.FunnelTooltip{width:20rem}.FunnelTooltip table{border-collapse:collapse;border-spacing:0;width:100%}.FunnelTooltip tr{height:1.75rem}.FunnelTooltip td:first-child{font-weight:500;padding:0 .5rem}.FunnelTooltip td:last-child{font-weight:600;padding-right:.5rem;text-align:right}.FunnelTooltip .table-subtext{padding-bottom:.25rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/funnels/FunnelHistogram.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".FunnelHistogram{flex:1}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/insights/EmptyStates/EmptyStates.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".insight-empty-state{align-items:center;color:var(--muted);display:flex;flex-direction:column;flex-grow:1;font-size:1.1em;justify-content:center;padding:1rem}.insight-empty-state.error h2{color:var(--danger)}.insight-empty-state.warning h2{color:var(--warning)}.insight-empty-state h2{color:var(--primary-alt);font-size:1.5rem;font-weight:600;line-height:1.6rem}.insight-empty-state .empty-state-inner{align-items:center;display:flex;flex-direction:column;max-width:600px}.insight-empty-state .empty-state-inner .illustration-main{font-size:2.5rem}.insight-empty-state .empty-state-inner h2{text-align:center;width:100%;word-wrap:break-word}.insight-empty-state .empty-state-inner ol{margin:.5rem 0}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/insights/InsightTooltip/InsightTooltip.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".InsightTooltipWrapper{pointer-events:none;position:absolute;transition:all .4s;z-index:var(--z-graph-tooltip)}.InsightTooltip{background:var(--bg-light);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-elevation-3000);font-size:.8125rem;max-width:30rem;overflow:hidden;pointer-events:none}.InsightTooltip--embedded{border:none;border-radius:0;box-shadow:none}.InsightTooltip .LemonRow{font-size:.8125rem}.InsightTooltip .LemonTable{border:none;border-bottom-left-radius:0;border-bottom-right-radius:0;font-size:.75rem}.InsightTooltip .LemonTable:not(:last-child){border-bottom:1px solid var(--border)}.InsightTooltip .LemonTable .insights-label{margin:0}.InsightTooltip .LemonTable .datum-column{overflow-wrap:anywhere;padding-left:.5rem}.InsightTooltip .LemonTable .LemonTable__content>table>thead{letter-spacing:0}.InsightTooltip .LemonTable .LemonTable__content>table>thead .datum-column .LemonTable__header-content{white-space:nowrap}.InsightTooltip .LemonTable .LemonTable__content>table .datum-label-column{align-items:center;display:flex;font-weight:600}.InsightTooltip .LemonTable .LemonTable__content>table .series-data-cell{font-weight:600}.InsightTooltip .LemonTable .LemonTable__content>table .tag-pill{background-color:var(--border-3000);border:0;color:var(--primary-alt);margin-right:0;overflow:hidden;vertical-align:middle}.InsightTooltip .table-subtext{background-color:var(--bg-light);color:var(--muted);font-size:.75rem;padding:.5rem 1rem;text-align:center}.InsightTooltip .table-subtext .table-subtext-truncated{margin-bottom:4px}.InsightTooltip .table-subtext .table-subtext-click-to-inspect{align-items:center;color:var(--text-3000);display:flex;font-weight:600;justify-content:center;white-space:nowrap}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/insights/filters/ActionFilter/ActionFilter.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".ActionFilter ul>li+li,.ActionFilter>*+*{margin-top:.5rem}.ActionFilter .ActionFilterRow-filters{padding:.5rem 0}.ActionFilter.ActionFilter--bordered{border:1px solid var(--border);border-radius:var(--radius)}.ActionFilter.ActionFilter--bordered .ActionFilterRow{margin-top:0}.ActionFilter.ActionFilter--bordered .ActionFilterRow .ActionFilterRow-content{border-bottom:1px solid var(--border);margin-bottom:0;padding:1rem}.ActionFilter.ActionFilter--bordered .ActionFilter-footer{margin-top:0;padding:.5rem}.ActionFilter.ActionFilter--bordered .ActionFilterRow-filters{background-color:var(--bg-3000);border-bottom:1px solid var(--border);padding:.5rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/insights/filters/ActionFilter/ActionFilterRow/ActionFilterRow.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".ActionFilterRow .ActionFilterRow-content{align-items:flex-start;display:flex}.ActionFilterRow .ActionFilterRow-content>*+*{margin-left:.5rem}.ActionFilterRow .ActionFilterRow__center,.ActionFilterRow .ActionFilterRow__end,.ActionFilterRow .ActionFilterRow__start{align-items:center;display:flex}.ActionFilterRow .ActionFilterRow__end,.ActionFilterRow .ActionFilterRow__start{align-items:center;display:flex;flex:0;gap:.25rem;height:40px}.ActionFilterRow .ActionFilterRow__center{flex:1;flex-wrap:wrap;gap:.5rem;overflow:hidden}.ActionFilterRowDragHandle{color:var(--text-3000);cursor:move;font-size:1.2em;transform:rotate(90deg)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/insights/filters/BreakdownFilter/BreakdownTagMenu.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".histogram-bin-input{background-color:var(--bg-light);margin:0 .5rem;padding:.25rem;width:60px}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/insights/views/BoldNumber/BoldNumber.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".BoldNumber{align-items:center;display:flex;flex:1;flex-direction:column;justify-content:center;padding:2rem 3rem 3rem;width:100%}.InsightCard .BoldNumber{padding:1rem}.BoldNumber.HogQL{padding:5rem}.BoldNumber .BoldNumber__value{font-weight:700;letter-spacing:-.025em;width:100%}@media screen and (min-width:768px){.BoldNumber{padding:3rem 5rem 5rem}.InsightCard .BoldNumber{padding:2rem}}.BoldNumber__comparison{color:var(--muted-alt);cursor:default;font-weight:500;margin-bottom:-1.5rem;margin-top:.5rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/insights/views/Funnels/CorrelationMatrix.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".correlation-table-wrapper table{border:1px solid var(--border);border-collapse:initial;border-radius:var(--radius);border-spacing:0;margin:0 auto}.correlation-table-wrapper table td{border-left:1px solid var(--border);border-top:1px solid var(--border);padding:.5rem 1rem;text-align:center}.correlation-table-wrapper table td .percentage{font-weight:700;padding-bottom:.25rem}.correlation-table-wrapper table td:first-child{border-left:none}.correlation-table-wrapper table .table-title{color:var(--muted-alt)}.correlation-table-wrapper table .table-title td{border-top:none}.correlation-table-wrapper table .horizontal-header,.correlation-table-wrapper table thead{background-color:var(--bg-3000);color:var(--muted);font-weight:700;text-transform:uppercase}.correlation-table-wrapper table tbody td:not(.horizontal-header){text-align:right}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/insights/views/Funnels/FunnelCorrelation.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".funnel-correlation{margin-bottom:3rem}.funnel-correlation .skew-warning{background-color:var(--bg-light);border:1px solid var(--warning);border-radius:var(--radius);line-height:2em;margin-top:1rem}.funnel-correlation .skew-warning h4{align-items:center;border-bottom:1px solid var(--border);display:flex;font-size:1.1em;justify-content:space-between;padding:.5rem;position:relative}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/insights/views/Funnels/FunnelCorrelationTable.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".FunnelCorrelationTable .table-options .LemonCheckbox:not(:last-child) label{border-radius:var(--radius) 0 0 var(--radius);border-right:none}.FunnelCorrelationTable .table-options .LemonCheckbox:last-child label{border-radius:0 var(--radius) var(--radius) 0}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/insights/views/Histogram/Histogram.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".dashboard-wrapper{height:calc(100% - 2rem);width:100%}.histogram-container{display:flex}.histogram-container svg{margin-left:1rem;margin-right:1rem}.histogram-container svg g#x-axis .domain,.histogram-container svg g#y-axis .domain{stroke:var(--funnel-axis)}.histogram-container svg g#x-axis .tick{color:var(--funnel-axis)}.histogram-container svg g#x-axis text,.histogram-container svg g#y-axis text{font-family:var(--font-sans);font-size:.75rem;font-weight:500;fill:var(--text-3000)}.histogram-container svg g#y-gridlines{stroke-dasharray:4,2}.histogram-container svg g#y-gridlines g.tick:not(:first-child){color:var(--funnel-grid)}.histogram-container svg g#y-gridlines .domain,.histogram-container svg g#y-gridlines g.tick:first-of-type{display:none}.histogram-container svg g#bars{fill:var(--primary-3000)}.histogram-container svg g#labels text.bar-label{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;fill:var(--white)}.histogram-container svg g#labels text.bar-label.outside{fill:#0f0f0f}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/insights/views/InsightsTable/InsightsTable.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".series-name-wrapper-col{align-items:center;display:flex}.series-name-wrapper-col .edit-icon{color:var(--primary-3000);cursor:pointer;font-size:1rem}.series-name-wrapper-col .insights-label.editable{cursor:pointer}.series-name-wrapper-col .insights-label.editable .EntityFilterInfo:not(.text-muted){color:var(--primary-3000);font-weight:500}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/insights/views/InsightsTable/columns/AggregationColumn.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".AggregationColumn__title{color:var(--text-secondary-3000)}.AggregationColumn__title:hover{color:var(--text-3000)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/insights/views/WorldMap/WorldMap.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".WorldMap{color:var(--border);padding:1rem 0;width:100%}.WorldMap .landxx{fill:currentColor;fill-rule:evenodd;stroke:var(--bg-light);stroke-width:.125rem}.WorldMap .landxx:hover{color:var(--data-color-1-hover)!important}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/notebooks/AddToNotebook/DraggableToNotebook.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".DraggableToNotebook{position:relative}.DraggableToNotebook--dragging{background-color:var(--bg-light);outline:1px solid var(--primary-3000);transform:translateZ(0)}.DraggableToNotebook[draggable=true]{cursor:grab}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/notebooks/Nodes/NodeWrapper.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".NotebookNode{--notebook-node-meta-height:2.5rem;--notebook-node-meta-padding:0.25rem;--border-color:var(--border);transform:translateZ(0)}.NotebookNode .NotebookNode__box{background-color:var(--bg-light);border:1px solid var(--border-color);border-radius:var(--radius);overflow:hidden;transform:translateZ(0);transition:border .15s linear,margin-bottom .15s linear}.NotebookNode .NotebookNode__box .NotebookNode__meta{align-items:center;border-bottom:1px solid var(--border);color:var(--primary-alt);display:flex;font-size:.875rem;font-weight:500;height:var(--notebook-node-meta-height);justify-content:space-between;overflow:hidden;padding:var(--notebook-node-meta-padding)}.NotebookNode .NotebookNode__box .NotebookNode__settings{border-bottom:1px solid var(--border)}.NotebookNode .NotebookNode__box .NotebookNode__content{transition:box-shadow .15s ease-out;z-index:1}.NotebookNode .NotebookNode__gap{align-items:center;display:flex;gap:.2rem;height:1.375rem;opacity:0;overflow:hidden;transition:all .15s linear 1s}.NotebookNode--editable:hover .NotebookNode__gap,.NotebookNode--selected .NotebookNode__gap{height:1.875rem;opacity:1;transition:all .15s linear}.NotebookNode--selected{--border-color:var(--border-bold)}.NotebookNode--auto-hide-metadata{--border-color:transparent}.NotebookNode--auto-hide-metadata .NotebookNode__meta{background-color:var(--bg-light);left:0;pointer-events:none;position:absolute;right:0;top:0;visibility:hidden;z-index:var(--z-popover)}.Notebook--editable .NotebookNode--auto-hide-metadata.NotebookNode--selected,.Notebook--editable .NotebookNode--auto-hide-metadata:hover{border-color:var(--border-color)}.Notebook--editable .NotebookNode--auto-hide-metadata.NotebookNode--selected .NotebookNode__meta,.Notebook--editable .NotebookNode--auto-hide-metadata:hover .NotebookNode__meta{pointer-events:all;visibility:visible}.NotebookNode--auto-hide-metadata:hover{--border-color:var(--border)}.NotebookNode.ph-image img{flex:1;height:100%;object-fit:contain;width:100%}.NotebookNodeTitle{overflow:hidden;padding:.25rem;text-overflow:ellipsis;white-space:nowrap}.NotebookNodeTitle--editable{border-radius:var(--radius);transition:background-color .15s linear}.NotebookNodeTitle--editable:hover{background-color:var(--border)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/notebooks/Notebook/Notebook.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,'.Notebook{display:flex;flex:1;flex-direction:column;width:100%}.Notebook .NotebookEditor{flex:1;overflow:hidden;position:relative;width:100%}.Notebook .NotebookEditor .ProseMirror-focused{outline:none}.Notebook .NotebookEditor .ProseMirror>h1,.Notebook .NotebookEditor .ProseMirror>h2,.Notebook .NotebookEditor .ProseMirror>h3,.Notebook .NotebookEditor .ProseMirror>h4,.Notebook .NotebookEditor .ProseMirror>h5{margin-top:.5rem}.Notebook .NotebookEditor .ProseMirror>p{margin-bottom:.2rem}.Notebook .NotebookEditor .ProseMirror>.is-empty:before{color:rgba(0,0,0,.2);content:attr(data-placeholder);float:left;height:0;pointer-events:none}[theme=dark] .Notebook .NotebookEditor .ProseMirror>.is-empty:before{color:hsla(0,0%,100%,.2)}.Notebook .NotebookEditor .ProseMirror>ol{list-style-type:decimal}.Notebook .NotebookEditor .ProseMirror>ol ol{list-style-type:lower-alpha}.Notebook .NotebookEditor .ProseMirror>ul{list-style-type:disc}.Notebook .NotebookEditor .ProseMirror>ul ul{list-style-type:circle}.Notebook .NotebookEditor .ProseMirror>ul[data-type=taskList]{list-style-type:none;padding-left:0}.Notebook .NotebookEditor .ProseMirror>ul[data-type=taskList] li{display:flex}.Notebook .NotebookEditor .ProseMirror>ul[data-type=taskList] li>label{flex:0 0 auto;margin-right:.5rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.Notebook .NotebookEditor .ProseMirror>ul[data-type=taskList] li>div{flex:1 1 auto}.Notebook .NotebookEditor .ProseMirror>ul[data-type=taskList] li ol li,.Notebook .NotebookEditor .ProseMirror>ul[data-type=taskList] li ul li{display:list-item}.Notebook .NotebookEditor .ProseMirror>ul[data-type=taskList] li ul[data-type=taskList]>li{display:flex}.Notebook .NotebookEditor .ProseMirror>ol,.Notebook .NotebookEditor .ProseMirror>ol ol,.Notebook .NotebookEditor .ProseMirror>ol ul,.Notebook .NotebookEditor .ProseMirror>ul,.Notebook .NotebookEditor .ProseMirror>ul ol,.Notebook .NotebookEditor .ProseMirror>ul ul{padding-left:2rem}.Notebook .NotebookEditor .ProseMirror>ol li p,.Notebook .NotebookEditor .ProseMirror>ul li p{margin-bottom:.2rem}.Notebook .NotebookEditor .ProseMirror>pre{background-color:rgba(0,0,0,.05);border-radius:var(--radius);margin-bottom:.5rem;overflow-x:auto;padding:.5rem}.Notebook .NotebookEditor .ProseMirror>code,.Notebook .NotebookEditor .ProseMirror>p code{background-color:rgba(0,0,0,.05);border-radius:var(--radius);padding:.2rem}.Notebook .NotebookEditor .Backlink{background-color:var(--bg-light);border:1px solid var(--border);border-radius:var(--radius);padding:.125rem .25rem}.Notebook .NotebookEditor .Backlink:hover{background-color:var(--bg-3000)}.Notebook .NotebookEditor .Backlink svg{color:var(--text-3000)}.Notebook .NotebookEditor .Backlink.Backlink--selected{border-color:var(--primary-3000)}.Notebook .NotebookEditor .Backlink.Backlink--active{background:var(--primary-3000);border:1px solid var(--primary-3000);color:var(--white)}.Notebook .NotebookEditor .Backlink.Backlink--active .Backlink__label,.Notebook .NotebookEditor .Backlink.Backlink--active svg{color:var(--white)}.Notebook .NotebookEditor .Backlink.Backlink--active span::-moz-selection{color:var(--white)}.Notebook .NotebookEditor .Backlink.Backlink--active span::selection{color:var(--white)}.Notebook .NotebookEditor[contenteditable=true] a{cursor:text}.Notebook--compact:not(.Notebook--canvas) .NotebookEditor{max-width:800px}.Notebook .NotebookColumn{--notebook-sidebar-height:calc(100vh - 9rem);position:relative;transition:width var(--notebook-popover-transition-properties);width:0}.Notebook .NotebookColumn .NotebookColumn__content{align-self:flex-start;position:sticky;top:0;transform:translateX(-100%);transition:transform var(--notebook-popover-transition-properties)}.NotebookScene .Notebook .NotebookColumn{--notebook-sidebar-height:calc(100vh - 11rem)}.NotebookScene .Notebook .NotebookColumn .NotebookColumn__padding{height:4rem}.NotebookScene .Notebook .NotebookColumn .NotebookColumn__content{top:4rem}.Notebook .NotebookColumn--left .NotebookColumn__content{transform:translateX(-100%);width:var(--notebook-column-left-width)}.Notebook .NotebookColumn--left .NotebookColumn__content>.LemonWidget .LemonWidget__content{max-height:var(--notebook-sidebar-height);overflow:auto}.Notebook .NotebookColumn--right .NotebookColumn__content{transform:translateX(100%);width:var(--notebook-column-right-width)}.Notebook .NotebookColumn--showing.NotebookColumn--left{margin-right:1rem;width:var(--notebook-column-left-width)}.Notebook .NotebookColumn--showing.NotebookColumn--right{margin-left:1rem;width:var(--notebook-column-right-width)}.Notebook .NotebookColumn--showing .NotebookColumn__content{transform:translateX(0)}.Notebook--editable .NotebookEditor .ProseMirror{flex:1;padding-bottom:10rem}.Notebook--editable .NotebookColumn--left.NotebookColumn--showing+.NotebookEditor .ProseMirror{padding-bottom:100vh}.Notebook .NotebookHistory{display:flex;flex:1;flex-direction:column}.Notebook .NotebookInlineMenu{box-shadow:0 4px 10px 0 rgba(0,0,0,.1);margin-bottom:-.2rem}.Notebook .NotebookInlineMenu .LemonInput{border:0;min-height:0}.Notebook .LemonTable__content>table>thead{position:sticky;top:0;z-index:1}.Notebook .NotebookMention,.Notebook .NotebookRecordingTimestamp{display:inline-flex;max-height:22px}.Notebook .NotebookComment{--notebook-comment-background-opacity:0.25;position:relative;transform-style:preserve-3d}.Notebook .NotebookComment:hover{--notebook-comment-background-opacity:0.5}.Notebook .NotebookComment:after{background:var(--primary-3000);content:"";inset:0;opacity:var(--notebook-comment-background-opacity);position:absolute;z-index:-1}.Notebook .InsightVizDisplay .InsightDisplayConfig{border-bottom-width:0;padding:0}',""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/notebooks/NotebookPanel/NotebookPanel.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".NotebookPanel{background-color:var(--accent-3000);display:flex;flex:1;flex-direction:column;overflow:hidden}.NotebookPanel .NotebookPanelDropzone{border:2px dashed var(--border-3000);border-radius:var(--radius);display:flex;height:4rem;margin:.5rem;transition:all .15s}.NotebookPanel .NotebookPanelDropzone .NotebookPanelDropzone__message{align-items:center;background-color:var(--bg-light);color:var(--muted-alt);display:flex;flex:1;flex-direction:column;font-size:1rem;font-weight:700;justify-content:center;opacity:.75;padding:1rem;pointer-events:none;text-align:center;transition:all .15s}.NotebookPanel .NotebookPanelDropzone .NotebookPanelDropzone__dropped{display:flex;flex:1;flex-direction:column;overflow:hidden}.NotebookPanel .NotebookPanelDropzone--active{border-color:var(--primary-3000);height:8rem}.NotebookPanel .NotebookPanelDropzone--active .NotebookPanelDropzone__message{opacity:1}.NotebookPanel .NotebookPanelDropzone--dropped{align-items:normal;border:none;height:100%;justify-content:flex-start;margin:1rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/notebooks/NotebookScene.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".Navigation3000 .NotebookScene{inset:0;overflow-y:auto;padding:0 1rem;position:absolute}.NotebookScene .ProseMirror>.react-renderer{scroll-margin-top:65px}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/notebooks/Suggestions/FloatingSuggestions.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".FloatingSuggestion{height:1.375rem;position:absolute}.NotebookFloatingButton{left:0;position:absolute;z-index:var(--z-popover)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/paths/Paths.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".Paths{height:720px;max-height:100%;overflow-y:hidden;position:relative;width:100%}.Paths .Paths__canvas{height:100%!important;width:100%}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/persons/PersonDisplay.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".PersonDisplay{display:inline}.PersonDisplay .ProfilePicture{margin-right:.5rem;transition:opacity .2s ease}.PersonDisplay a:hover .ProfilePicture{opacity:.75}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/retention/RetentionTable.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".RetentionTable{--retention-table-color:var(--primary-3000);font-weight:500;width:100%}.RetentionTable th{border-bottom:10px solid transparent;border-left:1px solid var(--border);border-top:10px solid transparent;font-weight:500;padding:0 .5rem;text-align:left;white-space:nowrap}.RetentionTable th:first-of-type{border-left:none}.RetentionTable tr{border-left:.25rem solid transparent}.RetentionTable tr:not(:nth-of-type(-n+2)){cursor:pointer}.RetentionTable tr:not(:nth-of-type(-n+2)):hover{border-left-color:var(--retention-table-color)}.RetentionTable .RetentionTable__TextTab{padding:0 1rem 0 .5rem;white-space:nowrap}.RetentionTable .RetentionTable__Tab{background-color:var(--retention-table-color);border-radius:var(--radius);margin:2px;min-height:2rem;padding:.5rem;text-align:right}.RetentionTable .RetentionTable__Tab.RetentionTable__Tab--clickable{transition:transform .2s ease-out}.RetentionTable .RetentionTable__Tab.RetentionTable__Tab--clickable:hover{transform:scale(1.05)}.RetentionTable .RetentionTable__Tab.RetentionTable__Tab--period{background-color:var(--bg-light);border-style:solid;border:1px dashed var(--border);color:var(--muted)}.RetentionTable.RetentionTable--non-interactive tr:hover{border-left-color:transparent}.RetentionTable.RetentionTable--non-interactive .RetentionTable__Tab{cursor:auto}.RetentionTable.RetentionTable--non-interactive .RetentionTable__Tab:hover{transform:none}.RetentionTable.RetentionTable--small-layout{font-size:.75rem;line-height:1rem}.RetentionTable.RetentionTable--small-layout .RetentionTable__TextTab,.RetentionTable.RetentionTable--small-layout th{padding-left:.25rem;padding-right:.25rem}.RetentionTable.RetentionTable--small-layout .RetentionTable__Tab{margin:0;padding:.5rem .25rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/saved-insights/SavedInsights.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".saved-insights .new-insight-dropdown-btn{background-color:var(--primary-3000);border:1px solid var(--border);border-radius:var(--radius);color:#fff;cursor:pointer;height:40px;padding:8px 12px 8px 16px}.saved-insights .saved-insight-empty-state{align-items:center;display:flex;justify-content:center;text-align:center}.saved-insights .saved-insight-empty-state .insight-empty-state__wrapper{margin-bottom:17rem;margin-top:5rem;max-width:600px}.saved-insights .saved-insight-empty-state .insight-empty-state__wrapper .illustration-main{color:var(--border);font-size:5rem;line-height:1em;margin-bottom:1rem;text-align:center}.saved-insights .saved-insight-empty-state .insight-empty-state__wrapper .empty-state__title{font-size:1.5rem;font-weight:600;line-height:1.6rem}.saved-insights .saved-insight-empty-state .insight-empty-state__wrapper .empty-state__description{color:var(--muted);font-size:1rem;font-weight:500;line-height:1.7rem}.new-insight-overlay{width:21rem}.insight-type-icon-wrapper{align-items:center;display:flex}.insight-type-icon-wrapper .icon-container{height:22px;margin-right:8px;position:relative;width:22px}.insight-type-icon-wrapper .icon-container .icon-container-inner{font-size:22px;margin-left:-2px}.saved-insights-grid{display:grid;position:relative;grid-gap:1rem}@media screen and (min-width:1200px){.saved-insights-grid{grid-template-columns:repeat(2,1fr)}}@media screen and (min-width:1600px){.saved-insights-grid{grid-template-columns:repeat(3,1fr)}}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/session-recordings/apm/NetworkView.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".NetworkView .NetworkView__table table{table-layout:fixed}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/session-recordings/player/PlayerFrame.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,'.PlayerFrame{align-items:center;background-color:var(--bg-3000-dark);display:flex;height:100%;justify-content:center;overflow:hidden;position:relative;width:100%}.PlayerFrame .PlayerFrame__content{position:absolute}.PlayerFrame .PlayerFrame__content iframe{background-color:#fff;border:0}.PlayerFrame .PlayerFrame__content .replayer-wrapper{position:relative}.PlayerFrame .PlayerFrame__content .replayer-mouse{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMDAiIGhlaWdodD0iMzAwIiBkYXRhLW5hbWU9IkxheWVyIDEiIHZpZXdCb3g9IjAgMCA1MCA1MCI+PHBhdGggZD0iTTQ4LjcxIDQyLjkxIDM0LjA4IDI4LjI5IDQ0LjMzIDE4YTEgMSAwIDAgMC0uMzMtMS42MUwyLjM1IDEuMDZhMSAxIDAgMCAwLTEuMjkgMS4yOUwxNi4zOSA0NGExIDEgMCAwIDAgMS42NS4zNmwxMC4yNS0xMC4yOCAxNC42MiAxNC42M2ExIDEgMCAwIDAgMS40MSAwbDQuMzgtNC4zOGExIDEgMCAwIDAgLjAxLTEuNDJtLTUuMDkgMy42N0wyOSAzMmExIDEgMCAwIDAtMS40MSAwbC05Ljg1IDkuODVMMy42OSAzLjY5bDM4LjEyIDE0TDMyIDI3LjU4QTEgMSAwIDAgMCAzMiAyOWwxNC41OSAxNC42MloiLz48L3N2Zz4=");background-position:50%;background-repeat:no-repeat;background-size:contain;border-color:transparent;height:20px;position:absolute;transition:left .05s linear,top .05s linear;width:20px}.PlayerFrame .PlayerFrame__content .replayer-mouse:after{background:#4950f6;border-radius:100%;content:"";display:inline-block;height:20px;opacity:.3;transform:translate(-50%,-50%);width:20px}.PlayerFrame .PlayerFrame__content .replayer-mouse.active:after{animation:PlayerFrame__click .2s ease-in-out 1}.PlayerFrame .PlayerFrame__content .replayer-mouse.touch-device{background-image:none;border:4px solid rgba(73,80,246,0);border-radius:100%;height:70px;margin-left:-37px;margin-top:-37px;transition:left 0s linear,top 0s linear,border-color .2s ease-in-out;width:70px}.PlayerFrame .PlayerFrame__content .replayer-mouse.touch-device.touch-active{border-color:#4950f6;transition:left .25s linear,top .25s linear,border-color .2s ease-in-out}.PlayerFrame .PlayerFrame__content .replayer-mouse.touch-device:after{opacity:0}.PlayerFrame .PlayerFrame__content .replayer-mouse.touch-device.active:after{animation:PlayerFrame__touch-click .2s ease-in-out 1}.PlayerFrame .PlayerFrame__content .replayer-mouse-tail{pointer-events:none;position:absolute}@keyframes PlayerFrame__click{0%{height:20px;opacity:.3;width:20px}50%{height:10px;opacity:.5;width:10px}}@keyframes PlayerFrame__touch-click{0%{height:20px;opacity:0;width:20px}50%{height:10px;opacity:.5;width:10px}}',""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/session-recordings/player/PlayerFrameOverlay.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".PlayerFrameOverlay{inset:0;position:absolute;z-index:10}.PlayerFrameOverlay .PlayerFrameOverlay__content{align-items:center;background-color:rgba(0,0,0,.15);display:flex;inset:0;justify-content:center;opacity:.8;position:absolute;transition:opacity .1s;z-index:1}.PlayerFrameOverlay .PlayerFrameOverlay__content:hover{opacity:1}.PlayerFrameOverlay .PlayerFrameOverlay__content--only-hover{opacity:0}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/session-recordings/player/PlayerMeta.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".PlayerMeta{display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;position:relative}.PlayerMeta .PlayerMetaPersonProperties{background:var(--bg-3000);border-bottom:1px solid transparent;overflow:auto;padding:.5rem}.PlayerMeta:not(.PlayerMeta--fullscreen) .PlayerMetaPersonProperties{transition:height .2s ease-out,border-bottom-color .2s ease-out}.PlayerMeta:not(.PlayerMeta--fullscreen) .PlayerMetaPersonProperties--enter{height:0}.PlayerMeta:not(.PlayerMeta--fullscreen) .PlayerMetaPersonProperties--enter-active,.PlayerMeta:not(.PlayerMeta--fullscreen) .PlayerMetaPersonProperties--enter-done,.PlayerMeta:not(.PlayerMeta--fullscreen) .PlayerMetaPersonProperties--exit{border-bottom-color:var(--border);height:14rem}.PlayerMeta:not(.PlayerMeta--fullscreen) .PlayerMetaPersonProperties--exit-active{height:0}.LemonModal .PlayerMeta:not(.PlayerMeta--fullscreen) .PlayerMeta__top{padding-right:3.5rem!important}.PlayerMeta--fullscreen{align-items:center;flex-direction:row;justify-content:space-between}.PlayerMeta--fullscreen .PlayerMetaPersonProperties{border-right:1px solid var(--border);bottom:97px;left:0;max-width:40rem;position:fixed;top:48px;transition:transform .2s ease-out;width:100%;z-index:1}.PlayerMeta--fullscreen .PlayerMetaPersonProperties--enter{transform:translateX(-100%)}.PlayerMeta--fullscreen .PlayerMetaPersonProperties--enter-active,.PlayerMeta--fullscreen .PlayerMetaPersonProperties--enter-done,.PlayerMeta--fullscreen .PlayerMetaPersonProperties--exit{transform:translateX(0)}.PlayerMeta--fullscreen .PlayerMetaPersonProperties--exit-active{transform:translateX(-100%)}.PlayerMeta .Link{color:var(--text-3000)}.PlayerMeta .Link:hover{color:var(--primary-3000)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/session-recordings/player/PlayerUpNext.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".PlayerUpNext{transition:transform .25s ease-out;z-index:11}.PlayerUpNextButton{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);cursor:pointer;display:flex;overflow:hidden}.PlayerUpNextButton .PlayerUpNextButtonBackground{background-color:var(--border-3000);bottom:0;color:var(--primary-alt);left:0;position:absolute;top:0;width:0}.PlayerUpNextButton.PlayerUpNextButton--animating .PlayerUpNextButtonBackground{animation:PlayerUpNextButtonBackground__expand 3s linear forwards}.PlayerUpNextButton:hover .PlayerUpNextButtonBackground{animation:none;width:100%}@keyframes PlayerUpNextButtonBackground__expand{0%{width:0}to{width:100%}}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/session-recordings/player/SessionRecordingPlayer.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".SessionRecordingPlayer{background-color:var(--bg-light);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:row;height:100%;overflow:hidden;position:relative;width:100%}.SessionRecordingPlayer--no-border{border:none;border-radius:0}.SessionRecordingPlayer .SessionRecordingPlayer__body{background-color:var(--bg-light);height:100%;min-width:1px;overflow:hidden;position:relative;z-index:0}.SessionRecordingPlayer .SessionRecordingPlayer__main{flex:1}.SessionRecordingPlayer--fullscreen{background-color:var(--bg-light);border:none;border-radius:0;inset:0;overflow-y:auto;position:fixed;z-index:var(--z-modal)}.SessionRecordingPlayer--fullscreen .SessionRecordingPlayer__body{border-radius:0;height:100%;margin:0}.SessionRecordingPlayer .SessionRecordingPlayer__main,.SessionRecordingPlayer .SessionRecordingPlayer__sidebar{display:flex;flex-direction:column;overflow:hidden}.LemonModal .SessionRecordingPlayer .SessionRecordingPlayer__body{height:calc(90vh - 15rem)}.SessionRecordingPlayer .SessionRecordingPlayer__sidebar{flex-shrink:0;max-width:50%;min-width:20rem;position:relative}.SessionRecordingPlayer .SessionRecordingPlayer__sidebar--collapsed{min-width:0}.SessionRecordingPlayer .SessionRecordingPlayer__sidebar__tabs .LemonTabs__tab-content{padding:10px 0}.SessionRecordingPlayer--stacked-vertically{flex-direction:column}.SessionRecordingPlayer--stacked-vertically .SessionRecordingPlayer__sidebar{max-height:60%;max-width:100%;min-width:100%}.PlayerControlSeekIcon{display:flex;position:relative}.PlayerControlSeekIcon .PlayerControlSeekIcon__seconds{align-items:center;display:flex;font-size:6px;font-weight:700;inset:0;justify-content:center;position:absolute;text-align:center}.PlayerControlSeekIcon .PlayerControlSeekIcon__icon{font-size:1.3rem}.PlayerControlSeekIcon .PlayerControlSeekIcon__icon--forward{transform:rotateY(180deg)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/session-recordings/player/controller/Seekbar.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".PlayerSeekbar{--bar-height:4px;--slider-height:20px;--thumb-size:15px;display:flex;height:var(--slider-height);position:relative;width:100%}.PlayerSeekbar--scrubbing,.PlayerSeekbar:hover{--bar-height:8px}.PlayerSeekbar--scrubbing .PlayerSeekBarPreview,.PlayerSeekbar:hover .PlayerSeekBarPreview{opacity:1}.PlayerSeekbar .PlayerSeekbar__slider{background-color:var(--border-light);border-radius:var(--bar-height);cursor:pointer;height:var(--bar-height);left:0;position:absolute;right:0;top:calc((var(--slider-height) - var(--bar-height))/2);transition:height .15s ease-in-out,top .15s ease-in-out;z-index:2}.PlayerSeekbar .PlayerSeekbar__slider .PlayerSeekbar__bufferbar,.PlayerSeekbar .PlayerSeekbar__slider .PlayerSeekbar__currentbar,.PlayerSeekbar .PlayerSeekbar__slider .PlayerSeekbar__segments{height:100%;left:0;position:absolute;top:0;width:0}.PlayerSeekbar .PlayerSeekbar__slider .PlayerSeekbar__bufferbar{background-color:var(--border);border-radius:var(--bar-height);z-index:2}.PlayerSeekbar .PlayerSeekbar__slider .PlayerSeekbar__currentbar{background-color:var(--primary-3000);border-radius:var(--bar-height) 0 0 var(--bar-height);z-index:3}.PlayerSeekbar .PlayerSeekbar__slider .PlayerSeekbar__segments{height:100%;white-space:nowrap;width:100%;z-index:4}.PlayerSeekbar .PlayerSeekbar__slider .PlayerSeekbar__segments .PlayerSeekbar__segments__item{background-color:var(--bg-light);float:left;height:100%;opacity:.5}.PlayerSeekbar .PlayerSeekbar__slider .PlayerSeekbar__segments .PlayerSeekbar__segments__item--active{opacity:0}.PlayerSeekbar .PlayerSeekbar__slider .PlayerSeekbar__thumb{backface-visibility:hidden;background-color:var(--primary-3000);border:2px solid var(--bg-light);border-radius:50%;height:var(--thumb-size);margin-top:calc(var(--thumb-size)/2*-1);position:absolute;top:calc(var(--bar-height)/2);transition:top .15s ease-in-out;width:var(--thumb-size);z-index:5}.PlayerSeekbar .PlayerSeekBarPreview{bottom:100%;opacity:0;pointer-events:none;position:absolute;transition:opacity .15s ease-in-out;width:100%;z-index:6}.PlayerSeekbar .PlayerSeekBarPreview .PlayerSeekBarPreview__tooltip{width:100%}.PlayerSeekbar .PlayerSeekBarPreview .PlayerSeekBarPreview__tooltip .PlayerSeekBarPreview__tooltip__content{background-color:var(--tooltip-bg);border-radius:var(--radius);color:#fff;display:inline-block;font-size:.8rem;font-weight:600;margin-bottom:.5rem;padding:.1rem;transform:translateX(-50%)}.PlayerSeekbarTicks{height:.75rem;position:relative;width:100%;z-index:1}.PlayerSeekbarTicks .PlayerSeekbarTick{--tick-color:var(--muted-alt);--tick-width:3px;cursor:pointer;height:100%;position:absolute;top:0;transition:transform .15s ease-in-out}.PlayerSeekbarTicks .PlayerSeekbarTick--warning{--tick-color:var(--warning)}.PlayerSeekbarTicks .PlayerSeekbarTick--danger{--tick-color:var(--danger)}.PlayerSeekbarTicks .PlayerSeekbarTick--primary{--tick-color:var(--primary-3000)}.PlayerSeekbarTicks .PlayerSeekbarTick .PlayerSeekbarTick__line{background-color:var(--tick-color);border-radius:2px;height:100%;margin-left:calc(var(--tick-width)/2*-1);opacity:.5;position:absolute;width:var(--tick-width)}.PlayerSeekbarTicks .PlayerSeekbarTick .PlayerSeekbarTick__info{background-color:var(--tick-color);border-radius:var(--radius);bottom:100%;color:#fff;font-size:.8rem;margin-bottom:.25rem;max-width:20rem;opacity:0;padding:.25rem .5rem;position:absolute;transform:translateX(-50%);transition:opacity .15s ease-in-out;visibility:hidden;white-space:nowrap}.PlayerSeekbarTicks .PlayerSeekbarTick:hover{--tick-width:5px}.PlayerSeekbarTicks .PlayerSeekbarTick:hover .PlayerSeekbarTick__info{opacity:1;visibility:visible}.PlayerSeekbarTicks .PlayerSeekbarTick:hover .PlayerSeekbarTick__line{opacity:1}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/session-recordings/player/inspector/PlayerInspectorList.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,"#PlayerInspectorListMarker{background-color:var(--primary-3000);border-radius:0 var(--radius) var(--radius) 0;height:.5rem;left:0;margin-top:.25rem;pointer-events:none;position:absolute;top:0;transition:transform .2s linear;width:1rem;will-change:transform;z-index:1}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/session-recordings/player/inspector/components/ImagePreview.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,'.ImagePreview__background{background:#eee url(\'data:image/svg+xml;charset=utf-8,\');background-size:30px 30px}',""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/settings/Settings.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".Settings{align-items:start;display:flex;gap:2rem;margin-top:0}.Settings .Settings__sections{flex-shrink:0;max-width:20rem;min-width:14rem;position:sticky;top:4rem;width:20%}.SidePanel3000 .Settings .Settings__sections{top:0}.Settings--compact{flex-direction:column;gap:0}.Settings--compact .Settings__sections{max-width:100%;min-width:100%;position:relative;width:100%}.LemonModal .Settings{margin-top:0}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/settings/organization/InviteModal.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".InviteModal__share_link{display:flex;overflow:scroll;white-space:nowrap;width:175px;-ms-overflow-style:none;scrollbar-width:none}.InviteModal__share_link::-webkit-scrollbar{display:none}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/surveys/EditSurvey.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".presentation-preview .CodeSnippet__actions{display:none}.SurveyForm .LemonCollapsePanel__header{background:var(--border-light)}.question-choice-open-ended-footer{background-color:var(--bg-3000);bottom:-5px;font-size:10px;left:6px;padding:0 5px;position:absolute}.SurveyQuestionDragHandle{color:var(--text-3000);cursor:move;font-size:1.2em;transform:rotate(90deg)}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/surveys/SurveyView.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".masonry-container{-moz-column-count:4;column-count:4;-moz-column-gap:10px;column-gap:10px}@media screen and (max-width:1024px){.masonry-container{-moz-column-count:2;column-count:2}}.masonry-item{box-sizing:border-box;display:grid;grid-template-rows:1fr auto;margin:0 0 10px;page-break-inside:avoid;-moz-column-break-inside:avoid;break-inside:avoid}.survey-view .survey-form{z-index:0!important}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/trends/persons-modal/PersonsModal.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".PersonsModal__tabs [role=tablist]{margin-bottom:0;padding:0 1rem}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/trends/viz/ActionsPie.scss":(module,exports,__webpack_require__)=>{(exports=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js")(!1)).push([module.id,".ActionsPie{display:flex;flex:1;flex-direction:row;gap:.5rem;height:100%;width:100%}.ActionsPie .ActionsPie__component{flex:1;min-width:33%;padding:1rem}.ActionsPie .ActionsPie__component .ActionsPie__chart{height:calc(100% - 4.5rem);position:relative;transition:height .5s;width:100%}.ActionsPie .ActionsPie__component h3{letter-spacing:-.025em}",""]),module.exports=exports},"./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/styles/global.scss":(module,exports,__webpack_require__)=>{var ___CSS_LOADER_API_IMPORT___=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/api.js"),___CSS_LOADER_GET_URL_IMPORT___=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/runtime/getUrl.js"),___CSS_LOADER_URL_IMPORT_0___=__webpack_require__("./frontend/public/Inter.woff2"),___CSS_LOADER_URL_IMPORT_1___=__webpack_require__("./frontend/public/Inter.woff");exports=___CSS_LOADER_API_IMPORT___(!1);var ___CSS_LOADER_URL_REPLACEMENT_0___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___),___CSS_LOADER_URL_REPLACEMENT_1___=___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);exports.push([module.id,":root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74c3c;--toastify-color-transparent:hsla(0,0%,100%,.7);--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-toast-width:320px;--toastify-toast-background:#fff;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);--toastify-color-progress-dark:#bb86fc}.Toastify__toast-container{box-sizing:border-box;color:#fff;padding:4px;position:fixed;-webkit-transform:translate3d(0,0,var(--toastify-z-index) px);width:var(--toastify-toast-width);z-index:var(--toastify-z-index)}.Toastify__toast-container--top-left{left:1em;top:1em}.Toastify__toast-container--top-center{left:50%;top:1em;transform:translateX(-50%)}.Toastify__toast-container--top-right{right:1em;top:1em}.Toastify__toast-container--bottom-left{bottom:1em;left:1em}.Toastify__toast-container--bottom-center{bottom:1em;left:50%;transform:translateX(-50%)}.Toastify__toast-container--bottom-right{bottom:1em;right:1em}@media only screen and (max-width:480px){.Toastify__toast-container{left:0;margin:0;padding:0;width:100vw}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:0;transform:translateX(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:0;transform:translateX(0)}.Toastify__toast-container--rtl{left:auto;right:0}}.Toastify__toast{border-radius:4px;box-shadow:0 1px 10px 0 rgba(0,0,0,.1),0 2px 15px 0 rgba(0,0,0,.05);box-sizing:border-box;cursor:pointer;direction:ltr;display:flex;font-family:var(--toastify-font-family);justify-content:space-between;margin-bottom:1rem;max-height:var(--toastify-toast-max-height);min-height:var(--toastify-toast-min-height);overflow:hidden;padding:8px;position:relative}.Toastify__toast--rtl{direction:rtl}.Toastify__toast-body{align-items:center;display:flex;flex:1 1 auto;margin:auto 0;padding:6px}.Toastify__toast-body>div:last-child{flex:1}.Toastify__toast-icon{display:flex;flex-shrink:0;margin-inline-end:10px;width:20px}.Toastify--animate{animation-duration:.7s;animation-fill-mode:both}.Toastify--animate-icon{animation-duration:.3s;animation-fill-mode:both}@media only screen and (max-width:480px){.Toastify__toast{border-radius:0;margin-bottom:0}}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--colored.Toastify__toast--default,.Toastify__toast-theme--light{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{background:var(--toastify-color-info);color:var(--toastify-text-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{background:var(--toastify-color-success);color:var(--toastify-text-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{background:var(--toastify-color-warning);color:var(--toastify-text-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{background:var(--toastify-color-error);color:var(--toastify-text-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning{background:var(--toastify-color-transparent)}.Toastify__close-button{align-self:flex-start;background:transparent;border:none;color:#fff;cursor:pointer;opacity:.7;outline:none;padding:0;transition:.3s ease}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{bottom:0;height:5px;left:0;opacity:.7;position:absolute;transform-origin:left;width:100%;z-index:var(--toastify-z-index)}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{left:auto;right:0;transform-origin:right}.Toastify__spinner{animation:Toastify__spin .65s linear infinite;border:2px solid;border-color:var(--toastify-spinner-color-empty-area);border-radius:100%;border-right-color:var(--toastify-spinner-color);box-sizing:border-box;height:20px;width:20px}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(2000px,0,0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--top-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--bottom-left,.Toastify__bounce-exit--top-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{opacity:1;transform:perspective(400px) rotateX(10deg)}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:perspective(400px)}30%{opacity:1;transform:perspective(400px) rotateX(-20deg)}to{opacity:0;transform:perspective(400px) rotateX(90deg)}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideOutRight{0%{transform:translateZ(0)}to{transform:translate3d(110%,0,0);visibility:hidden}}@keyframes Toastify__slideOutLeft{0%{transform:translateZ(0)}to{transform:translate3d(-110%,0,0);visibility:hidden}}@keyframes Toastify__slideOutDown{0%{transform:translateZ(0)}to{transform:translate3d(0,500px,0);visibility:hidden}}@keyframes Toastify__slideOutUp{0%{transform:translateZ(0)}to{transform:translate3d(0,-500px,0);visibility:hidden}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--bottom-left,.Toastify__slide-exit--top-left{animation-name:Toastify__slideOutLeft}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{animation-name:Toastify__slideOutRight}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown}@keyframes Toastify__spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url("+___CSS_LOADER_URL_REPLACEMENT_0___+') format("woff2"),url('+___CSS_LOADER_URL_REPLACEMENT_1___+') format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url('+___CSS_LOADER_URL_REPLACEMENT_0___+') format("woff2"),url('+___CSS_LOADER_URL_REPLACEMENT_1___+') format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url('+___CSS_LOADER_URL_REPLACEMENT_0___+') format("woff2"),url('+___CSS_LOADER_URL_REPLACEMENT_1___+') format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:MatterSQ;font-style:normal;font-weight:800;src:url(https://d1sdjtjk6xzm7.cloudfront.net/MatterSQ-Bold.woff2) format("woff2"),url(https://d1sdjtjk6xzm7.cloudfront.net/MatterSQ-Bold.woff) format("woff")}@font-face{font-display:swap;font-family:MatterSQ;font-style:normal;font-weight:700;src:url(https://d1sdjtjk6xzm7.cloudfront.net/MatterSQ-SemiBold.woff2) format("woff2"),url(https://d1sdjtjk6xzm7.cloudfront.net/MatterSQ-SemiBold.woff) format("woff")}@font-face{font-display:swap;font-family:MatterSQ;font-style:normal;font-weight:500;src:url(https://d1sdjtjk6xzm7.cloudfront.net/MatterSQ-Medium.woff2) format("woff2"),url(https://d1sdjtjk6xzm7.cloudfront.net/MatterSQ-Medium.woff) format("woff")}.\\!container{width:100%!important}.container{width:100%}@media (min-width:576px){.\\!container{max-width:576px!important}.container{max-width:576px}}@media (min-width:768px){.\\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:992px){.\\!container{max-width:992px!important}.container{max-width:992px}}@media (min-width:1200px){.\\!container{max-width:1200px!important}.container{max-width:1200px}}@media (min-width:1600px){.\\!container{max-width:1600px!important}.container{max-width:1600px}}/*! tailwindcss v3.4.0 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,Helvetica Neue,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.pointer-events-none{pointer-events:none!important}.pointer-events-auto{pointer-events:auto!important}.\\!visible,.visible{visibility:visible!important}.invisible{visibility:hidden!important}.collapse{visibility:collapse!important}.static{position:static!important}.fixed{position:fixed!important}.absolute{position:absolute!important}.relative{position:relative!important}.sticky{position:sticky!important}.-inset-2{inset:-.5rem!important}.inset-0{inset:0!important}.-bottom-px{bottom:-1px!important}.-left-4{left:-1rem!important}.-left-5{left:-1.25rem!important}.-top-10{top:-2.5rem!important}.-top-4{top:-1rem!important}.-top-px{top:-1px!important}.bottom-0{bottom:0!important}.bottom-0\\.5{bottom:.125rem!important}.bottom-3{bottom:.75rem!important}.left-0{left:0!important}.left-1\\/2{left:50%!important}.left-2{left:.5rem!important}.left-4{left:1rem!important}.right-0{right:0!important}.right-2{right:.5rem!important}.right-3{right:.75rem!important}.right-4{right:1rem!important}.top-0{top:0!important}.top-0\\.5{top:.125rem!important}.top-1\\/2{top:50%!important}.top-16{top:4rem!important}.top-2{top:.5rem!important}.top-4{top:1rem!important}.top-\\[var\\(--breadcrumbs-height-compact\\)\\]{top:var(--breadcrumbs-height-compact)!important}.top-\\[var\\(--breadcrumbs-height-full\\)\\]{top:var(--breadcrumbs-height-full)!important}.isolate{isolation:isolate!important}.z-0{z-index:0!important}.z-10{z-index:10!important}.z-20{z-index:20!important}.z-50{z-index:50!important}.z-\\[1000\\]{z-index:1000!important}.z-\\[1\\]{z-index:1!important}.z-\\[2147483010\\]{z-index:2147483010!important}.z-\\[2147483021\\]{z-index:2147483021!important}.z-\\[7\\]{z-index:7!important}.z-\\[var\\(--z-popover\\)\\]{z-index:var(--z-popover)!important}.col-span-1{grid-column:span 1/span 1!important}.col-span-2{grid-column:span 2/span 2!important}.col-span-3{grid-column:span 3/span 3!important}.col-span-4{grid-column:span 4/span 4!important}.col-span-6{grid-column:span 6/span 6!important}.col-span-8{grid-column:span 8/span 8!important}.col-span-full{grid-column:1/-1!important}.col-start-2{grid-column-start:2!important}.row-span-1{grid-row:span 1/span 1!important}.row-start-2{grid-row-start:2!important}.float-right{float:right!important}.-m-1{margin:-.25rem!important}.-m-1\\.5{margin:-.375rem!important}.-m-4{margin:-1rem!important}.-m-scene-padding{margin:calc(var(--scene-padding)*-1)!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-1\\.5{margin:.375rem!important}.m-10{margin:2.5rem!important}.m-2{margin:.5rem!important}.m-3{margin:.75rem!important}.m-4{margin:1rem!important}.m-5{margin:1.25rem!important}.m-6{margin:1.5rem!important}.m-\\[-2px\\]{margin:-2px!important}.m-auto{margin:auto!important}.-mx-1{margin-left:-.25rem!important;margin-right:-.25rem!important}.-mx-2{margin-left:-.5rem!important;margin-right:-.5rem!important}.-my-1{margin-bottom:-.25rem!important;margin-top:-.25rem!important}.-my-5{margin-bottom:-1.25rem!important;margin-top:-1.25rem!important}.mx-0{margin-left:0!important;margin-right:0!important}.mx-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-1\\.5{margin-left:.375rem!important;margin-right:.375rem!important}.mx-10{margin-left:2.5rem!important;margin-right:2.5rem!important}.mx-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-3{margin-left:.75rem!important;margin-right:.75rem!important}.mx-4{margin-left:1rem!important;margin-right:1rem!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.my-0{margin-bottom:0!important;margin-top:0!important}.my-0\\.5{margin-bottom:.125rem!important;margin-top:.125rem!important}.my-1{margin-bottom:.25rem!important;margin-top:.25rem!important}.my-10{margin-bottom:2.5rem!important;margin-top:2.5rem!important}.my-16{margin-bottom:4rem!important;margin-top:4rem!important}.my-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.my-2\\.5{margin-bottom:.625rem!important;margin-top:.625rem!important}.my-20{margin-bottom:5rem!important;margin-top:5rem!important}.my-3{margin-bottom:.75rem!important;margin-top:.75rem!important}.my-4{margin-bottom:1rem!important;margin-top:1rem!important}.my-6{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.my-8{margin-bottom:2rem!important;margin-top:2rem!important}.my-auto{margin-bottom:auto!important;margin-top:auto!important}.-mb-12{margin-bottom:-3rem!important}.-mb-14{margin-bottom:-3.5rem!important}.-mb-6{margin-bottom:-1.5rem!important}.-mr-0{margin-right:0!important}.-mr-0\\.5{margin-right:-.125rem!important}.-mr-1{margin-right:-.25rem!important}.-mr-2{margin-right:-.5rem!important}.-mt-1{margin-top:-.25rem!important}.-mt-2{margin-top:-.5rem!important}.-mt-3{margin-top:-.75rem!important}.-mt-8{margin-top:-2rem!important}.mb-0{margin-bottom:0!important}.mb-0\\.5{margin-bottom:.125rem!important}.mb-1{margin-bottom:.25rem!important}.mb-1\\.5{margin-bottom:.375rem!important}.mb-10{margin-bottom:2.5rem!important}.mb-12{margin-bottom:3rem!important}.mb-16{margin-bottom:4rem!important}.mb-2{margin-bottom:.5rem!important}.mb-2\\.5{margin-bottom:.625rem!important}.mb-3{margin-bottom:.75rem!important}.mb-4{margin-bottom:1rem!important}.mb-5{margin-bottom:1.25rem!important}.mb-6{margin-bottom:1.5rem!important}.mb-8{margin-bottom:2rem!important}.ml-0{margin-left:0!important}.ml-0\\.5{margin-left:.125rem!important}.ml-1{margin-left:.25rem!important}.ml-1\\.5{margin-left:.375rem!important}.ml-10{margin-left:2.5rem!important}.ml-11{margin-left:2.75rem!important}.ml-12{margin-left:3rem!important}.ml-16{margin-left:4rem!important}.ml-2{margin-left:.5rem!important}.ml-3{margin-left:.75rem!important}.ml-4{margin-left:1rem!important}.ml-5{margin-left:1.25rem!important}.ml-8{margin-left:2rem!important}.ml-9{margin-left:2.25rem!important}.ml-auto{margin-left:auto!important}.mr-0{margin-right:0!important}.mr-1{margin-right:.25rem!important}.mr-1\\.5{margin-right:.375rem!important}.mr-10{margin-right:2.5rem!important}.mr-2{margin-right:.5rem!important}.mr-20{margin-right:5rem!important}.mr-3{margin-right:.75rem!important}.mr-4{margin-right:1rem!important}.mr-5{margin-right:1.25rem!important}.mr-6{margin-right:1.5rem!important}.mr-8{margin-right:2rem!important}.mr-auto{margin-right:auto!important}.mt-0{margin-top:0!important}.mt-0\\.5{margin-top:.125rem!important}.mt-1{margin-top:.25rem!important}.mt-1\\.5{margin-top:.375rem!important}.mt-10{margin-top:2.5rem!important}.mt-12{margin-top:3rem!important}.mt-16{margin-top:4rem!important}.mt-2{margin-top:.5rem!important}.mt-2\\.5{margin-top:.625rem!important}.mt-20{margin-top:5rem!important}.mt-3{margin-top:.75rem!important}.mt-4{margin-top:1rem!important}.mt-5{margin-top:1.25rem!important}.mt-6{margin-top:1.5rem!important}.mt-8{margin-top:2rem!important}.mt-auto{margin-top:auto!important}.box-content{box-sizing:initial!important}.line-clamp-1{-webkit-line-clamp:1!important}.line-clamp-1,.line-clamp-2{display:-webkit-box!important;overflow:hidden!important;-webkit-box-orient:vertical!important}.line-clamp-2{-webkit-line-clamp:2!important}.line-clamp-3{display:-webkit-box!important;overflow:hidden!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important}.block{display:block!important}.inline-block{display:inline-block!important}.inline{display:inline!important}.flex{display:flex!important}.inline-flex{display:inline-flex!important}.\\!table,.table{display:table!important}.grid{display:grid!important}.inline-grid{display:inline-grid!important}.\\!contents,.contents{display:contents!important}.hidden{display:none!important}.size-16{height:4rem!important;width:4rem!important}.size-3{height:.75rem!important;width:.75rem!important}.size-4{height:1rem!important;width:1rem!important}.size-5{height:1.25rem!important;width:1.25rem!important}.size-6{height:1.5rem!important;width:1.5rem!important}.size-\\[18px\\]{height:18px!important;width:18px!important}.size-\\[400\\%\\]{height:400%!important;width:400%!important}.size-full{height:100%!important;width:100%!important}.h-0{height:0!important}.h-1{height:.25rem!important}.h-1\\.5{height:.375rem!important}.h-10{height:2.5rem!important}.h-100{height:25rem!important}.h-12{height:3rem!important}.h-120{height:30rem!important}.h-14{height:3.5rem!important}.h-15{height:3.75rem!important}.h-16{height:4rem!important}.h-18{height:4.5rem!important}.h-2{height:.5rem!important}.h-2\\.5{height:.625rem!important}.h-20{height:5rem!important}.h-24{height:6rem!important}.h-3{height:.75rem!important}.h-3\\.5{height:.875rem!important}.h-30{height:7.5rem!important}.h-32{height:8rem!important}.h-4{height:1rem!important}.h-40{height:10rem!important}.h-5{height:1.25rem!important}.h-50{height:12.5rem!important}.h-52{height:13rem!important}.h-6{height:1.5rem!important}.h-60{height:15rem!important}.h-7{height:1.75rem!important}.h-8{height:2rem!important}.h-80{height:20rem!important}.h-9{height:2.25rem!important}.h-96{height:24rem!important}.h-\\[180px\\]{height:180px!important}.h-\\[1em\\]{height:1em!important}.h-\\[200px\\]{height:200px!important}.h-\\[222px\\]{height:222px!important}.h-\\[300px\\]{height:300px!important}.h-\\[30rem\\]{height:30rem!important}.h-\\[33px\\]{height:33px!important}.h-\\[360px\\]{height:360px!important}.h-\\[50vh\\]{height:50vh!important}.h-\\[55px\\]{height:55px!important}.h-\\[80\\%\\]{height:80%!important}.h-\\[80vh\\]{height:80vh!important}.h-\\[90vh\\]{height:90vh!important}.h-auto{height:auto!important}.h-fit{height:-moz-fit-content!important;height:fit-content!important}.h-full{height:100%!important}.h-screen{height:100vh!important}.max-h-10{max-height:2.5rem!important}.max-h-100{max-height:25rem!important}.max-h-140{max-height:35rem!important}.max-h-16{max-height:4rem!important}.max-h-200{max-height:50rem!important}.max-h-60{max-height:15rem!important}.max-h-64{max-height:16rem!important}.max-h-80{max-height:20rem!important}.max-h-\\[100vh\\]{max-height:100vh!important}.max-h-\\[16rem\\]{max-height:16rem!important}.max-h-\\[80vh\\]{max-height:80vh!important}.max-h-full{max-height:100%!important}.min-h-10{min-height:2.5rem!important}.min-h-100{min-height:25rem!important}.min-h-120{min-height:30rem!important}.min-h-16{min-height:4rem!important}.min-h-20{min-height:5rem!important}.min-h-24{min-height:6rem!important}.min-h-30{min-height:7.5rem!important}.min-h-4{min-height:1rem!important}.min-h-50{min-height:12.5rem!important}.min-h-56{min-height:14rem!important}.min-h-6{min-height:1.5rem!important}.min-h-60{min-height:15rem!important}.min-h-8{min-height:2rem!important}.min-h-80{min-height:20rem!important}.min-h-\\[30rem\\]{min-height:30rem!important}.min-h-\\[32rem\\]{min-height:32rem!important}.min-h-\\[420px\\]{min-height:420px!important}.min-h-\\[80vh\\]{min-height:80vh!important}.w-0{width:0!important}.w-1\\/2{width:50%!important}.w-1\\/3{width:33.333333%!important}.w-1\\/4{width:25%!important}.w-1\\/5{width:20%!important}.w-1\\/6{width:16.666667%!important}.w-10{width:2.5rem!important}.w-100{width:25rem!important}.w-12{width:3rem!important}.w-120{width:30rem!important}.w-14{width:3.5rem!important}.w-140{width:35rem!important}.w-15{width:3.75rem!important}.w-16{width:4rem!important}.w-160{width:40rem!important}.w-18{width:4.5rem!important}.w-192{width:48rem!important}.w-2{width:.5rem!important}.w-2\\.5{width:.625rem!important}.w-2\\/3{width:66.666667%!important}.w-2\\/5{width:40%!important}.w-20{width:5rem!important}.w-200{width:50rem!important}.w-24{width:6rem!important}.w-28{width:7rem!important}.w-3{width:.75rem!important}.w-3\\.5{width:.875rem!important}.w-3\\/4{width:75%!important}.w-3\\/5{width:60%!important}.w-30{width:7.5rem!important}.w-32{width:8rem!important}.w-4{width:1rem!important}.w-40{width:10rem!important}.w-44{width:11rem!important}.w-48{width:12rem!important}.w-5{width:1.25rem!important}.w-5\\/6{width:83.333333%!important}.w-50{width:12.5rem!important}.w-52{width:13rem!important}.w-6{width:1.5rem!important}.w-60{width:15rem!important}.w-64{width:16rem!important}.w-7{width:1.75rem!important}.w-8{width:2rem!important}.w-80{width:20rem!important}.w-\\[12\\.5\\%\\]{width:12.5%!important}.w-\\[12rem\\]{width:12rem!important}.w-\\[15\\%\\]{width:15%!important}.w-\\[1em\\]{width:1em!important}.w-\\[200px\\]{width:200px!important}.w-\\[20px\\]{width:20px!important}.w-\\[24rem\\]{width:24rem!important}.w-\\[350px\\]{width:350px!important}.w-\\[50vw\\]{width:50vw!important}.w-\\[min\\(44rem\\2c 100\\%\\)\\]{width:min(44rem,100%)!important}.w-\\[min\\(48rem\\2c 100\\%\\)\\]{width:min(48rem,100%)!important}.w-auto{width:auto!important}.w-fit{width:-moz-fit-content!important;width:fit-content!important}.w-full{width:100%!important}.w-max{width:-moz-max-content!important;width:max-content!important}.w-px{width:1px!important}.min-w-0{min-width:0!important}.min-w-1{min-width:.25rem!important}.min-w-1\\.5{min-width:.375rem!important}.min-w-1\\/3{min-width:33.333333%!important}.min-w-100{min-width:25rem!important}.min-w-120{min-width:30rem!important}.min-w-16{min-width:4rem!important}.min-w-18{min-width:4.5rem!important}.min-w-30{min-width:7.5rem!important}.min-w-32{min-width:8rem!important}.min-w-4{min-width:1rem!important}.min-w-40{min-width:10rem!important}.min-w-44{min-width:11rem!important}.min-w-5{min-width:1.25rem!important}.min-w-50{min-width:12.5rem!important}.min-w-56{min-width:14rem!important}.min-w-6{min-width:1.5rem!important}.min-w-60{min-width:15rem!important}.min-w-64{min-width:16rem!important}.min-w-80{min-width:20rem!important}.min-w-96{min-width:24rem!important}.min-w-\\[0\\.5rem\\]{min-width:.5rem!important}.min-w-\\[1000px\\]{min-width:1000px!important}.min-w-\\[10rem\\]{min-width:10rem!important}.min-w-\\[12\\.5rem\\]{min-width:12.5rem!important}.min-w-\\[15rem\\]{min-width:15rem!important}.min-w-\\[16rem\\]{min-width:16rem!important}.min-w-\\[1rem\\]{min-width:1rem!important}.min-w-\\[200px\\]{min-width:200px!important}.min-w-\\[20rem\\]{min-width:20rem!important}.min-w-\\[25rem\\]{min-width:25rem!important}.min-w-\\[2rem\\]{min-width:2rem!important}.min-w-\\[300px\\]{min-width:300px!important}.min-w-\\[34rem\\]{min-width:34rem!important}.min-w-\\[40rem\\]{min-width:40rem!important}.min-w-\\[50rem\\]{min-width:50rem!important}.min-w-\\[5rem\\]{min-width:5rem!important}.min-w-\\[7\\.5rem\\]{min-width:7.5rem!important}.min-w-full{min-width:100%!important}.max-w-1\\/2{max-width:50%!important}.max-w-100{max-width:25rem!important}.max-w-120{max-width:30rem!important}.max-w-140{max-width:35rem!important}.max-w-160{max-width:40rem!important}.max-w-192{max-width:48rem!important}.max-w-20{max-width:5rem!important}.max-w-200{max-width:50rem!important}.max-w-24{max-width:6rem!important}.max-w-248{max-width:62rem!important}.max-w-28{max-width:7rem!important}.max-w-2xl{max-width:42rem!important}.max-w-30{max-width:7.5rem!important}.max-w-300{max-width:75rem!important}.max-w-40{max-width:10rem!important}.max-w-44{max-width:11rem!important}.max-w-48{max-width:12rem!important}.max-w-4xl{max-width:56rem!important}.max-w-52{max-width:13rem!important}.max-w-56{max-width:14rem!important}.max-w-60{max-width:15rem!important}.max-w-64{max-width:16rem!important}.max-w-6xl{max-width:72rem!important}.max-w-72{max-width:18rem!important}.max-w-80{max-width:20rem!important}.max-w-96{max-width:24rem!important}.max-w-\\[30rem\\]{max-width:30rem!important}.max-w-\\[43rem\\]{max-width:43rem!important}.max-w-\\[50rem\\]{max-width:50rem!important}.max-w-\\[60vw\\]{max-width:60vw!important}.max-w-\\[800px\\]{max-width:800px!important}.max-w-\\[90\\%\\]{max-width:90%!important}.max-w-\\[920px\\]{max-width:920px!important}.max-w-full{max-width:100%!important}.max-w-lg{max-width:32rem!important}.max-w-max{max-width:-moz-max-content!important;max-width:max-content!important}.max-w-md{max-width:28rem!important}.max-w-none{max-width:none!important}.max-w-screen-md{max-width:768px!important}.max-w-screen-xl{max-width:1200px!important}.max-w-sm{max-width:24rem!important}.max-w-xl{max-width:36rem!important}.max-w-xs{max-width:20rem!important}.flex-1{flex:1 1 0%!important}.flex-2{flex:2 2 0%!important}.flex-auto{flex:1 1 auto!important}.flex-none{flex:none!important}.flex-shrink{flex-shrink:1!important}.flex-shrink-0{flex-shrink:0!important}.shrink{flex-shrink:1!important}.shrink-0{flex-shrink:0!important}.flex-grow,.grow{flex-grow:1!important}.grow-0{flex-grow:0!important}.grow-\\[1000\\]{flex-grow:1000!important}.basis-full{flex-basis:100%!important}.table-auto{table-layout:auto!important}.table-fixed{table-layout:fixed!important}.border-collapse{border-collapse:collapse!important}.border-spacing-2{--tw-border-spacing-x:0.5rem!important;--tw-border-spacing-y:0.5rem!important;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y)!important}.origin-top-left{transform-origin:top left!important}.-translate-x-1\\/2{--tw-translate-x:-50%!important}.-translate-x-1\\/2,.-translate-y-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.-translate-y-1\\/2{--tw-translate-y:-50%!important}.-translate-y-2{--tw-translate-y:-0.5rem!important}.-translate-y-2,.translate-x-\\[-3\\%\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.translate-x-\\[-3\\%\\]{--tw-translate-x:-3%!important}.translate-y-10{--tw-translate-y:2.5rem!important}.translate-y-10,.translate-y-2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.translate-y-2{--tw-translate-y:0.5rem!important}.translate-y-\\[10\\%\\]{--tw-translate-y:10%!important}.-rotate-90,.translate-y-\\[10\\%\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.-rotate-90{--tw-rotate:-90deg!important}.rotate-270{--tw-rotate:270deg!important}.rotate-270,.rotate-90{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.rotate-90{--tw-rotate:90deg!important}.scale-90{--tw-scale-x:.9!important;--tw-scale-y:.9!important}.scale-90,.scale-\\[0\\.8\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.scale-\\[0\\.8\\]{--tw-scale-x:0.8!important;--tw-scale-y:0.8!important}.scale-\\[1\\.8\\]{--tw-scale-x:1.8!important;--tw-scale-y:1.8!important}.scale-\\[1\\.8\\],.scale-x-\\[-1\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.scale-x-\\[-1\\]{--tw-scale-x:-1!important}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}@keyframes pulse{50%{opacity:.5}}.animate-\\[pulse_1s_ease-out_infinite\\]{animation:pulse 1s ease-out infinite!important}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite!important}.animate-spin{animation:spin 1s linear infinite!important}.cursor-auto{cursor:auto!important}.cursor-default{cursor:default!important}.cursor-grab{cursor:grab!important}.cursor-grabbing{cursor:grabbing!important}.cursor-help{cursor:help!important}.cursor-move{cursor:move!important}.cursor-not-allowed{cursor:not-allowed!important}.cursor-pointer{cursor:pointer!important}.cursor-s-resize{cursor:s-resize!important}.cursor-text{cursor:text!important}.cursor-zoom-in{cursor:zoom-in!important}.select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.select-text{-webkit-user-select:text!important;-moz-user-select:text!important;user-select:text!important}.resize-none{resize:none!important}.resize-y{resize:vertical!important}.resize{resize:both!important}.list-inside{list-style-position:inside!important}.list-disc{list-style-type:disc!important}.list-none{list-style-type:none!important}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}.grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))!important}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))!important}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))!important}.grid-cols-\\[8\\.5rem_1fr\\]{grid-template-columns:8.5rem 1fr!important}.grid-cols-\\[auto_1fr\\]{grid-template-columns:auto 1fr!important}.grid-cols-\\[min-content_auto\\]{grid-template-columns:min-content auto!important}.grid-cols-\\[repeat\\(2\\2c _minmax\\(min-content\\2c _160px\\)\\)\\]{grid-template-columns:repeat(2,minmax(min-content,160px))!important}.grid-rows-\\[160px\\]{grid-template-rows:160px!important}.grid-rows-\\[49px_calc\\(40rem-49px\\)\\]{grid-template-rows:49px calc(40rem - 49px)!important}.grid-rows-\\[repeat\\(2\\2c _48px\\)\\]{grid-template-rows:repeat(2,48px)!important}.flex-row{flex-direction:row!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-col{flex-direction:column!important}.flex-wrap{flex-wrap:wrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-nowrap{flex-wrap:nowrap!important}.place-items-center{place-items:center!important}.items-start{align-items:flex-start!important}.items-end{align-items:flex-end!important}.items-center{align-items:center!important}.items-baseline{align-items:baseline!important}.items-stretch{align-items:stretch!important}.justify-start{justify-content:flex-start!important}.justify-end{justify-content:flex-end!important}.justify-center{justify-content:center!important}.justify-between{justify-content:space-between!important}.justify-around{justify-content:space-around!important}.justify-items-center{justify-items:center!important}.gap-0{gap:0!important}.gap-0\\.5{gap:.125rem!important}.gap-1{gap:.25rem!important}.gap-1\\.5{gap:.375rem!important}.gap-10{gap:2.5rem!important}.gap-16{gap:4rem!important}.gap-2{gap:.5rem!important}.gap-2\\.5{gap:.625rem!important}.gap-3{gap:.75rem!important}.gap-3\\.5{gap:.875rem!important}.gap-4{gap:1rem!important}.gap-5{gap:1.25rem!important}.gap-6{gap:1.5rem!important}.gap-8{gap:2rem!important}.gap-\\[10\\%\\]{gap:10%!important}.gap-x-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.gap-x-12{-moz-column-gap:3rem!important;column-gap:3rem!important}.gap-x-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.gap-x-3{-moz-column-gap:.75rem!important;column-gap:.75rem!important}.gap-x-4{-moz-column-gap:1rem!important;column-gap:1rem!important}.gap-x-8{-moz-column-gap:2rem!important;column-gap:2rem!important}.gap-y-1{row-gap:.25rem!important}.gap-y-1\\.5{row-gap:.375rem!important}.gap-y-12{row-gap:3rem!important}.gap-y-2{row-gap:.5rem!important}.gap-y-4{row-gap:1rem!important}.gap-y-px{row-gap:1px!important}.space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(0px*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(0px*var(--tw-space-x-reverse))!important}.space-x-0\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(.125rem*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(.125rem*var(--tw-space-x-reverse))!important}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(.25rem*var(--tw-space-x-reverse))!important}.space-x-1\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(.375rem*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(.375rem*var(--tw-space-x-reverse))!important}.space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(3rem*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(3rem*var(--tw-space-x-reverse))!important}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(.5rem*var(--tw-space-x-reverse))!important}.space-x-2\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(.625rem*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(.625rem*var(--tw-space-x-reverse))!important}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(.75rem*var(--tw-space-x-reverse))!important}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(1rem*var(--tw-space-x-reverse))!important}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(1.5rem*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(1.5rem*var(--tw-space-x-reverse))!important}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(2rem*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(2rem*var(--tw-space-x-reverse))!important}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(0px*var(--tw-space-y-reverse))!important;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))!important}.space-y-0\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(.125rem*var(--tw-space-y-reverse))!important;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)))!important}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(.25rem*var(--tw-space-y-reverse))!important;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))!important}.space-y-1\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(.375rem*var(--tw-space-y-reverse))!important;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)))!important}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(3rem*var(--tw-space-y-reverse))!important;margin-top:calc(3rem*(1 - var(--tw-space-y-reverse)))!important}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(.5rem*var(--tw-space-y-reverse))!important;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))!important}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(.75rem*var(--tw-space-y-reverse))!important;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))!important}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(1rem*var(--tw-space-y-reverse))!important;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))!important}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(1.25rem*var(--tw-space-y-reverse))!important;margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)))!important}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))!important;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))!important}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(2rem*var(--tw-space-y-reverse))!important;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))!important}.space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(1px*var(--tw-space-y-reverse))!important;margin-top:calc(1px*(1 - var(--tw-space-y-reverse)))!important}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0!important;border-left-width:calc(1px*(1 - var(--tw-divide-x-reverse)))!important;border-right-width:calc(1px*var(--tw-divide-x-reverse))!important}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0!important;border-bottom-width:calc(1px*var(--tw-divide-y-reverse))!important;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))!important}.self-start{align-self:flex-start!important}.self-center{align-self:center!important}.self-stretch{align-self:stretch!important}.justify-self-center{justify-self:center!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-clip{overflow:clip!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-scroll{overflow-y:scroll!important}.overscroll-contain{overscroll-behavior:contain!important}.overscroll-none{overscroll-behavior:none!important}.truncate{overflow:hidden!important;white-space:nowrap!important}.overflow-ellipsis,.text-ellipsis,.truncate{text-overflow:ellipsis!important}.whitespace-nowrap{white-space:nowrap!important}.whitespace-pre{white-space:pre!important}.whitespace-pre-wrap{white-space:pre-wrap!important}.text-wrap{text-wrap:wrap!important}.text-nowrap{text-wrap:nowrap!important}.text-balance{text-wrap:balance!important}.text-pretty{text-wrap:pretty!important}.break-words{overflow-wrap:break-word!important}.break-all{word-break:break-all!important}.break-keep{word-break:keep-all!important}.rounded{border-radius:var(--radius)!important}.rounded-\\[0px\\]{border-radius:0!important}.rounded-\\[var\\(--radius\\)\\]{border-radius:var(--radius)!important}.rounded-full{border-radius:9999px!important}.rounded-lg{border-radius:var(--radius-lg)!important}.rounded-none{border-radius:0!important}.rounded-sm{border-radius:var(--radius-sm)!important}.rounded-b{border-bottom-right-radius:var(--radius)!important}.rounded-b,.rounded-l{border-bottom-left-radius:var(--radius)!important}.rounded-l{border-top-left-radius:var(--radius)!important}.rounded-l-none{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-r{border-bottom-right-radius:var(--radius)!important;border-top-right-radius:var(--radius)!important}.rounded-r-none{border-bottom-right-radius:0!important;border-top-right-radius:0!important}.rounded-t{border-top-left-radius:var(--radius)!important;border-top-right-radius:var(--radius)!important}.rounded-t-none{border-top-left-radius:0!important;border-top-right-radius:0!important}.border{border-width:1px!important}.border-0{border-width:0!important}.border-2{border-width:2px!important}.border-y{border-top-width:1px!important}.border-b,.border-y{border-bottom-width:1px!important}.border-b-2{border-bottom-width:2px!important}.border-l{border-left-width:1px!important}.border-l-2{border-left-width:2px!important}.border-l-4{border-left-width:4px!important}.border-l-\\[5px\\]{border-left-width:5px!important}.border-r{border-right-width:1px!important}.border-t{border-top-width:1px!important}.border-t-0{border-top-width:0!important}.border-dashed{border-style:dashed!important}.border-dotted{border-style:dotted!important}.border-none{border-style:none!important}.border-\\[var\\(--glass-border-3000\\)\\]{border-color:var(--glass-border-3000)!important}.border-l-\\[\\#8F98FF\\]{--tw-border-opacity:1!important;border-left-color:rgb(143 152 255/var(--tw-border-opacity))!important}.border-l-\\[\\#94D674\\]{--tw-border-opacity:1!important;border-left-color:rgb(148 214 116/var(--tw-border-opacity))!important}.border-l-\\[\\#FF9870\\]{--tw-border-opacity:1!important;border-left-color:rgb(255 152 112/var(--tw-border-opacity))!important}.bg-\\[\\#000\\]{--tw-bg-opacity:1!important;background-color:rgb(0 0 0/var(--tw-bg-opacity))!important}.bg-\\[hsla\\(100\\2c 74\\%\\2c 98\\%\\2c 1\\)\\]{background-color:#f9fef6!important}.bg-\\[hsla\\(19\\2c 99\\%\\2c 99\\%\\2c 1\\)\\]{background-color:#fffcfa!important}.bg-\\[hsla\\(235\\2c 100\\%\\2c 99\\%\\2c 1\\)\\]{background-color:#fafaff!important}.bg-\\[var\\(--bg-light\\)\\]{background-color:var(--bg-light)!important}.bg-\\[var\\(--bg-table\\)\\]{background-color:var(--bg-table)!important}.bg-\\[var\\(--glass-bg-3000\\)\\]{background-color:var(--glass-bg-3000)!important}.bg-\\[var\\(--tooltip-bg\\)\\]{background-color:var(--tooltip-bg)!important}.bg-\\[white\\]{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important}.bg-contain{background-size:contain!important}.bg-cover{background-size:cover!important}.bg-no-repeat{background-repeat:no-repeat!important}.object-contain{object-fit:contain!important}.object-cover{object-fit:cover!important}.p-0{padding:0!important}.p-0\\.5{padding:.125rem!important}.p-1{padding:.25rem!important}.p-1\\.5{padding:.375rem!important}.p-10{padding:2.5rem!important}.p-16{padding:4rem!important}.p-2{padding:.5rem!important}.p-20{padding:5rem!important}.p-3{padding:.75rem!important}.p-4{padding:1rem!important}.p-5{padding:1.25rem!important}.p-6{padding:1.5rem!important}.p-8{padding:2rem!important}.p-\\[calc\\(0\\.5rem-1px\\)\\]{padding:calc(.5rem - 1px)!important}.px-0{padding-left:0!important;padding-right:0!important}.px-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-1\\.5{padding-left:.375rem!important;padding-right:.375rem!important}.px-12{padding-left:3rem!important;padding-right:3rem!important}.px-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-3{padding-left:.75rem!important;padding-right:.75rem!important}.px-4{padding-left:1rem!important;padding-right:1rem!important}.px-5{padding-left:1.25rem!important;padding-right:1.25rem!important}.px-6{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-8{padding-left:2rem!important;padding-right:2rem!important}.px-\\[calc\\(1\\.5rem\\+1px\\)\\]{padding-left:calc(1.5rem + 1px)!important;padding-right:calc(1.5rem + 1px)!important}.px-px{padding-left:1px!important;padding-right:1px!important}.py-0{padding-bottom:0!important;padding-top:0!important}.py-0\\.5{padding-bottom:.125rem!important;padding-top:.125rem!important}.py-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.py-1\\.5{padding-bottom:.375rem!important;padding-top:.375rem!important}.py-10{padding-bottom:2.5rem!important;padding-top:2.5rem!important}.py-12{padding-bottom:3rem!important;padding-top:3rem!important}.py-15{padding-bottom:3.75rem!important;padding-top:3.75rem!important}.py-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.py-20{padding-bottom:5rem!important;padding-top:5rem!important}.py-3{padding-bottom:.75rem!important;padding-top:.75rem!important}.py-4{padding-bottom:1rem!important;padding-top:1rem!important}.py-5{padding-bottom:1.25rem!important;padding-top:1.25rem!important}.py-6{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.py-8{padding-bottom:2rem!important;padding-top:2rem!important}.py-px{padding-bottom:1px!important;padding-top:1px!important}.pb-1{padding-bottom:.25rem!important}.pb-1\\.5{padding-bottom:.375rem!important}.pb-2{padding-bottom:.5rem!important}.pb-2\\.5{padding-bottom:.625rem!important}.pb-3{padding-bottom:.75rem!important}.pb-4{padding-bottom:1rem!important}.pb-6{padding-bottom:1.5rem!important}.pb-8{padding-bottom:2rem!important}.pb-\\[30rem\\]{padding-bottom:30rem!important}.pl-0{padding-left:0!important}.pl-0\\.5{padding-left:.125rem!important}.pl-1{padding-left:.25rem!important}.pl-1\\.5{padding-left:.375rem!important}.pl-10{padding-left:2.5rem!important}.pl-16{padding-left:4rem!important}.pl-2{padding-left:.5rem!important}.pl-3{padding-left:.75rem!important}.pl-4{padding-left:1rem!important}.pl-6{padding-left:1.5rem!important}.pl-7{padding-left:1.75rem!important}.pl-8{padding-left:2rem!important}.pr-1{padding-right:.25rem!important}.pr-1\\.5{padding-right:.375rem!important}.pr-10{padding-right:2.5rem!important}.pr-14{padding-right:3.5rem!important}.pr-2{padding-right:.5rem!important}.pr-3{padding-right:.75rem!important}.pr-4{padding-right:1rem!important}.pr-5{padding-right:1.25rem!important}.pr-7{padding-right:1.75rem!important}.pr-9{padding-right:2.25rem!important}.pt-1{padding-top:.25rem!important}.pt-1\\.5{padding-top:.375rem!important}.pt-12{padding-top:3rem!important}.pt-16{padding-top:4rem!important}.pt-2{padding-top:.5rem!important}.pt-4{padding-top:1rem!important}.pt-5{padding-top:1.25rem!important}.pt-6{padding-top:1.5rem!important}.pt-8{padding-top:2rem!important}.pt-px{padding-top:1px!important}.text-left{text-align:left!important}.text-center{text-align:center!important}.text-right{text-align:right!important}.text-start{text-align:start!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-\\[-0\\.25em\\]{vertical-align:-.25em!important}.font-mono{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace!important}.font-sans{font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,Helvetica Neue,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol!important}.font-title{font-family:MatterSQ,-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,Helvetica Neue,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol!important}.text-2xl{font-size:1.5rem!important;line-height:2rem!important}.text-3xl{font-size:1.875rem!important;line-height:2.25rem!important}.text-4xl{font-size:2.25rem!important;line-height:2.5rem!important}.text-5xl{font-size:3rem!important;line-height:1!important}.text-6xl{font-size:3.75rem!important;line-height:1!important}.text-7xl{font-size:4.5rem!important;line-height:1!important}.text-\\[0\\.6875rem\\]{font-size:.6875rem!important}.text-\\[0\\.8125rem\\]{font-size:.8125rem!important}.text-\\[11px\\]{font-size:11px!important}.text-\\[13px\\]{font-size:13px!important}.text-\\[15px\\]{font-size:15px!important}.text-\\[17px\\]{font-size:17px!important}.text-base{font-size:1rem!important;line-height:1.5rem!important}.text-lg{font-size:1.125rem!important;line-height:1.75rem!important}.text-sm{font-size:.875rem!important;line-height:1.25rem!important}.text-xl{font-size:1.25rem!important;line-height:1.75rem!important}.text-xs{font-size:.75rem!important;line-height:1rem!important}.text-xxs{font-size:.625rem!important;line-height:.75rem!important}.font-bold{font-weight:700!important}.font-light{font-weight:300!important}.font-medium{font-weight:500!important}.font-normal{font-weight:400!important}.font-semibold{font-weight:600!important}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.capitalize{text-transform:capitalize!important}.italic{font-style:italic!important}.not-italic{font-style:normal!important}.tabular-nums{--tw-numeric-spacing:tabular-nums!important;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)!important;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)!important}.leading-10{line-height:2.5rem!important}.leading-4{line-height:1rem!important}.leading-5{line-height:1.25rem!important}.leading-6{line-height:1.5rem!important}.leading-7{line-height:1.75rem!important}.leading-8{line-height:2rem!important}.leading-\\[0px\\]{line-height:0px!important}.leading-\\[normal\\]{line-height:normal!important}.leading-none{line-height:1!important}.leading-relaxed{line-height:1.625!important}.leading-tight{line-height:1.25!important}.tracking-normal{letter-spacing:0!important}.tracking-tight{letter-spacing:-.025em!important}.tracking-wide{letter-spacing:.025em!important}.tracking-wider{letter-spacing:.05em!important}.text-\\[\\#2EA2D3\\]{--tw-text-opacity:1!important;color:rgb(46 162 211/var(--tw-text-opacity))!important}.text-\\[\\#2F80FA\\]{--tw-text-opacity:1!important;color:rgb(47 128 250/var(--tw-text-opacity))!important}.text-\\[\\#30ABC6\\]{--tw-text-opacity:1!important;color:rgb(48 171 198/var(--tw-text-opacity))!important}.text-\\[\\#36C46F\\]{--tw-text-opacity:1!important;color:rgb(54 196 111/var(--tw-text-opacity))!important}.text-\\[\\#681291\\]{--tw-text-opacity:1!important;color:rgb(104 18 145/var(--tw-text-opacity))!important}.text-\\[\\#8567FF\\]{--tw-text-opacity:1!important;color:rgb(133 103 255/var(--tw-text-opacity))!important}.text-\\[\\#B62AD9\\]{--tw-text-opacity:1!important;color:rgb(182 42 217/var(--tw-text-opacity))!important}.text-\\[var\\(--text-secondary-3000\\)\\]{color:var(--text-secondary-3000)!important}.text-\\[var\\(--trace-3000\\)\\]{color:var(--trace-3000)!important}.underline{text-decoration-line:underline!important}.line-through{text-decoration-line:line-through!important}.opacity-0{opacity:0!important}.opacity-100{opacity:1!important}.opacity-20{opacity:.2!important}.opacity-25{opacity:.25!important}.opacity-40{opacity:.4!important}.opacity-50{opacity:.5!important}.opacity-60{opacity:.6!important}.opacity-75{opacity:.75!important}.opacity-80{opacity:.8!important}.opacity-\\[var\\(--opacity-disabled\\)\\]{opacity:var(--opacity-disabled)!important}.bg-blend-overlay{background-blend-mode:overlay!important}.shadow{--tw-shadow:var(--shadow-elevation-3000)!important;--tw-shadow-colored:var(--shadow-elevation-3000)!important}.shadow,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)!important;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)!important}.shadow-none{--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important}.shadow-none,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)!important;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)!important}.outline{outline-style:solid!important}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)!important}.ring-0,.ring-2{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important}.blur{--tw-blur:blur(8px)!important}.blur,.drop-shadow-xl{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.drop-shadow-xl{--tw-drop-shadow:drop-shadow(0 20px 13px rgba(0,0,0,.03)) drop-shadow(0 8px 5px rgba(0,0,0,.08))!important}.invert{--tw-invert:invert(100%)!important}.invert,.sepia{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.sepia{--tw-sepia:sepia(100%)!important}.\\!filter,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.backdrop-blur{--tw-backdrop-blur:blur(8px)!important}.backdrop-blur,.backdrop-blur-md{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)!important;backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)!important}.backdrop-blur-md{--tw-backdrop-blur:blur(12px)!important}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)!important;backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)!important}.transition{transition-duration:.15s!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.transition-all{transition-duration:.15s!important;transition-property:all!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.transition-colors{transition-duration:.15s!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.transition-opacity{transition-duration:.15s!important;transition-property:opacity!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.transition-shadow{transition-duration:.15s!important;transition-property:box-shadow!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.duration-100{transition-duration:.1s!important}.duration-200{transition-duration:.2s!important}.duration-300{transition-duration:.3s!important}.duration-75{transition-duration:75ms!important}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.\\@container,.\\@container\\/og{container-type:inline-size!important}.\\@container\\/og{container-name:og!important}.rendering-pixelated{image-rendering:pixelated!important}.\\[abi\\:v15000\\]{abi:v15000}.\\[localhost\\:9000\\]{localhost:9000}.text-primary{color:var(--primary)!important}.bg-primary{background-color:var(--primary)!important}.border-primary{border-color:var(--primary)!important}.border-l-primary{border-left-color:var(--primary)!important}.border-r-primary{border-right-color:var(--primary)!important}.border-t-primary{border-top-color:var(--primary)!important}.border-b-primary{border-bottom-color:var(--primary)!important}.border-x-primary{border-left-color:var(--primary)!important;border-right-color:var(--primary)!important}.border-y-primary{border-bottom-color:var(--primary)!important;border-top-color:var(--primary)!important}.decoration-primary{text-decoration-color:var(--primary)!important}.text-danger-highlight{color:var(--danger-highlight)!important}.bg-danger-highlight{background-color:var(--danger-highlight)!important}.border-danger-highlight{border-color:var(--danger-highlight)!important}.border-l-danger-highlight{border-left-color:var(--danger-highlight)!important}.border-r-danger-highlight{border-right-color:var(--danger-highlight)!important}.border-t-danger-highlight{border-top-color:var(--danger-highlight)!important}.border-b-danger-highlight{border-bottom-color:var(--danger-highlight)!important}.border-x-danger-highlight{border-left-color:var(--danger-highlight)!important;border-right-color:var(--danger-highlight)!important}.border-y-danger-highlight{border-bottom-color:var(--danger-highlight)!important;border-top-color:var(--danger-highlight)!important}.decoration-danger-highlight{text-decoration-color:var(--danger-highlight)!important}.text-danger-lighter{color:var(--danger-lighter)!important}.bg-danger-lighter{background-color:var(--danger-lighter)!important}.border-danger-lighter{border-color:var(--danger-lighter)!important}.border-l-danger-lighter{border-left-color:var(--danger-lighter)!important}.border-r-danger-lighter{border-right-color:var(--danger-lighter)!important}.border-t-danger-lighter{border-top-color:var(--danger-lighter)!important}.border-b-danger-lighter{border-bottom-color:var(--danger-lighter)!important}.border-x-danger-lighter{border-left-color:var(--danger-lighter)!important;border-right-color:var(--danger-lighter)!important}.border-y-danger-lighter{border-bottom-color:var(--danger-lighter)!important;border-top-color:var(--danger-lighter)!important}.decoration-danger-lighter{text-decoration-color:var(--danger-lighter)!important}.text-danger-light{color:var(--danger-light)!important}.bg-danger-light{background-color:var(--danger-light)!important}.border-danger-light{border-color:var(--danger-light)!important}.border-l-danger-light{border-left-color:var(--danger-light)!important}.border-r-danger-light{border-right-color:var(--danger-light)!important}.border-t-danger-light{border-top-color:var(--danger-light)!important}.border-b-danger-light{border-bottom-color:var(--danger-light)!important}.border-x-danger-light{border-left-color:var(--danger-light)!important;border-right-color:var(--danger-light)!important}.border-y-danger-light{border-bottom-color:var(--danger-light)!important;border-top-color:var(--danger-light)!important}.decoration-danger-light{text-decoration-color:var(--danger-light)!important}.text-danger{color:var(--danger)!important}.bg-danger{background-color:var(--danger)!important}.border-danger{border-color:var(--danger)!important}.border-l-danger{border-left-color:var(--danger)!important}.border-r-danger{border-right-color:var(--danger)!important}.border-t-danger{border-top-color:var(--danger)!important}.border-b-danger{border-bottom-color:var(--danger)!important}.border-x-danger{border-left-color:var(--danger)!important;border-right-color:var(--danger)!important}.border-y-danger{border-bottom-color:var(--danger)!important;border-top-color:var(--danger)!important}.decoration-danger{text-decoration-color:var(--danger)!important}.text-danger-dark{color:var(--danger-dark)!important}.bg-danger-dark{background-color:var(--danger-dark)!important}.border-danger-dark{border-color:var(--danger-dark)!important}.border-l-danger-dark{border-left-color:var(--danger-dark)!important}.border-r-danger-dark{border-right-color:var(--danger-dark)!important}.border-t-danger-dark{border-top-color:var(--danger-dark)!important}.border-b-danger-dark{border-bottom-color:var(--danger-dark)!important}.border-x-danger-dark{border-left-color:var(--danger-dark)!important;border-right-color:var(--danger-dark)!important}.border-y-danger-dark{border-bottom-color:var(--danger-dark)!important;border-top-color:var(--danger-dark)!important}.decoration-danger-dark{text-decoration-color:var(--danger-dark)!important}.text-warning-highlight{color:var(--warning-highlight)!important}.bg-warning-highlight{background-color:var(--warning-highlight)!important}.border-warning-highlight{border-color:var(--warning-highlight)!important}.border-l-warning-highlight{border-left-color:var(--warning-highlight)!important}.border-r-warning-highlight{border-right-color:var(--warning-highlight)!important}.border-t-warning-highlight{border-top-color:var(--warning-highlight)!important}.border-b-warning-highlight{border-bottom-color:var(--warning-highlight)!important}.border-x-warning-highlight{border-left-color:var(--warning-highlight)!important;border-right-color:var(--warning-highlight)!important}.border-y-warning-highlight{border-bottom-color:var(--warning-highlight)!important;border-top-color:var(--warning-highlight)!important}.decoration-warning-highlight{text-decoration-color:var(--warning-highlight)!important}.text-warning{color:var(--warning)!important}.bg-warning{background-color:var(--warning)!important}.border-warning{border-color:var(--warning)!important}.border-l-warning{border-left-color:var(--warning)!important}.border-r-warning{border-right-color:var(--warning)!important}.border-t-warning{border-top-color:var(--warning)!important}.border-b-warning{border-bottom-color:var(--warning)!important}.border-x-warning{border-left-color:var(--warning)!important;border-right-color:var(--warning)!important}.border-y-warning{border-bottom-color:var(--warning)!important;border-top-color:var(--warning)!important}.decoration-warning{text-decoration-color:var(--warning)!important}.text-warning-dark{color:var(--warning-dark)!important}.bg-warning-dark{background-color:var(--warning-dark)!important}.border-warning-dark{border-color:var(--warning-dark)!important}.border-l-warning-dark{border-left-color:var(--warning-dark)!important}.border-r-warning-dark{border-right-color:var(--warning-dark)!important}.border-t-warning-dark{border-top-color:var(--warning-dark)!important}.border-b-warning-dark{border-bottom-color:var(--warning-dark)!important}.border-x-warning-dark{border-left-color:var(--warning-dark)!important;border-right-color:var(--warning-dark)!important}.border-y-warning-dark{border-bottom-color:var(--warning-dark)!important;border-top-color:var(--warning-dark)!important}.decoration-warning-dark{text-decoration-color:var(--warning-dark)!important}.text-highlight{color:var(--highlight)!important}.bg-highlight{background-color:var(--highlight)!important}.border-highlight{border-color:var(--highlight)!important}.border-l-highlight{border-left-color:var(--highlight)!important}.border-r-highlight{border-right-color:var(--highlight)!important}.border-t-highlight{border-top-color:var(--highlight)!important}.border-b-highlight{border-bottom-color:var(--highlight)!important}.border-x-highlight{border-left-color:var(--highlight)!important;border-right-color:var(--highlight)!important}.border-y-highlight{border-bottom-color:var(--highlight)!important;border-top-color:var(--highlight)!important}.decoration-highlight{text-decoration-color:var(--highlight)!important}.text-success-highlight{color:var(--success-highlight)!important}.bg-success-highlight{background-color:var(--success-highlight)!important}.border-success-highlight{border-color:var(--success-highlight)!important}.border-l-success-highlight{border-left-color:var(--success-highlight)!important}.border-r-success-highlight{border-right-color:var(--success-highlight)!important}.border-t-success-highlight{border-top-color:var(--success-highlight)!important}.border-b-success-highlight{border-bottom-color:var(--success-highlight)!important}.border-x-success-highlight{border-left-color:var(--success-highlight)!important;border-right-color:var(--success-highlight)!important}.border-y-success-highlight{border-bottom-color:var(--success-highlight)!important;border-top-color:var(--success-highlight)!important}.decoration-success-highlight{text-decoration-color:var(--success-highlight)!important}.text-success-light{color:var(--success-light)!important}.bg-success-light{background-color:var(--success-light)!important}.border-success-light{border-color:var(--success-light)!important}.border-l-success-light{border-left-color:var(--success-light)!important}.border-r-success-light{border-right-color:var(--success-light)!important}.border-t-success-light{border-top-color:var(--success-light)!important}.border-b-success-light{border-bottom-color:var(--success-light)!important}.border-x-success-light{border-left-color:var(--success-light)!important;border-right-color:var(--success-light)!important}.border-y-success-light{border-bottom-color:var(--success-light)!important;border-top-color:var(--success-light)!important}.decoration-success-light{text-decoration-color:var(--success-light)!important}.text-success{color:var(--success)!important}.bg-success{background-color:var(--success)!important}.border-success{border-color:var(--success)!important}.border-l-success{border-left-color:var(--success)!important}.border-r-success{border-right-color:var(--success)!important}.border-t-success{border-top-color:var(--success)!important}.border-b-success{border-bottom-color:var(--success)!important}.border-x-success{border-left-color:var(--success)!important;border-right-color:var(--success)!important}.border-y-success{border-bottom-color:var(--success)!important;border-top-color:var(--success)!important}.decoration-success{text-decoration-color:var(--success)!important}.text-success-dark{color:var(--success-dark)!important}.bg-success-dark{background-color:var(--success-dark)!important}.border-success-dark{border-color:var(--success-dark)!important}.border-l-success-dark{border-left-color:var(--success-dark)!important}.border-r-success-dark{border-right-color:var(--success-dark)!important}.border-t-success-dark{border-top-color:var(--success-dark)!important}.border-b-success-dark{border-bottom-color:var(--success-dark)!important}.border-x-success-dark{border-left-color:var(--success-dark)!important;border-right-color:var(--success-dark)!important}.border-y-success-dark{border-bottom-color:var(--success-dark)!important;border-top-color:var(--success-dark)!important}.decoration-success-dark{text-decoration-color:var(--success-dark)!important}.text-muted{color:var(--muted)!important}.bg-muted{background-color:var(--muted)!important}.border-muted{border-color:var(--muted)!important}.border-l-muted{border-left-color:var(--muted)!important}.border-r-muted{border-right-color:var(--muted)!important}.border-t-muted{border-top-color:var(--muted)!important}.border-b-muted{border-bottom-color:var(--muted)!important}.border-x-muted{border-left-color:var(--muted)!important;border-right-color:var(--muted)!important}.border-y-muted{border-bottom-color:var(--muted)!important;border-top-color:var(--muted)!important}.decoration-muted{text-decoration-color:var(--muted)!important}.text-muted-alt{color:var(--muted-alt)!important}.bg-muted-alt{background-color:var(--muted-alt)!important}.border-muted-alt{border-color:var(--muted-alt)!important}.border-l-muted-alt{border-left-color:var(--muted-alt)!important}.border-r-muted-alt{border-right-color:var(--muted-alt)!important}.border-t-muted-alt{border-top-color:var(--muted-alt)!important}.border-b-muted-alt{border-bottom-color:var(--muted-alt)!important}.border-x-muted-alt{border-left-color:var(--muted-alt)!important;border-right-color:var(--muted-alt)!important}.border-y-muted-alt{border-bottom-color:var(--muted-alt)!important;border-top-color:var(--muted-alt)!important}.decoration-muted-alt{text-decoration-color:var(--muted-alt)!important}.text-mark{color:var(--mark)!important}.bg-mark{background-color:var(--mark)!important}.border-mark{border-color:var(--mark)!important}.border-l-mark{border-left-color:var(--mark)!important}.border-r-mark{border-right-color:var(--mark)!important}.border-t-mark{border-top-color:var(--mark)!important}.border-b-mark{border-bottom-color:var(--mark)!important}.border-x-mark{border-left-color:var(--mark)!important;border-right-color:var(--mark)!important}.border-y-mark{border-bottom-color:var(--mark)!important;border-top-color:var(--mark)!important}.decoration-mark{text-decoration-color:var(--mark)!important}.text-white{color:var(--white)!important}.bg-white{background-color:var(--white)!important}.border-white{border-color:var(--white)!important}.border-l-white{border-left-color:var(--white)!important}.border-r-white{border-right-color:var(--white)!important}.border-t-white{border-top-color:var(--white)!important}.border-b-white{border-bottom-color:var(--white)!important}.border-x-white{border-left-color:var(--white)!important;border-right-color:var(--white)!important}.border-y-white{border-bottom-color:var(--white)!important;border-top-color:var(--white)!important}.decoration-white{text-decoration-color:var(--white)!important}.text-bg-light{color:var(--bg-light)!important}.bg-bg-light{background-color:var(--bg-light)!important}.border-bg-light{border-color:var(--bg-light)!important}.border-l-bg-light{border-left-color:var(--bg-light)!important}.border-r-bg-light{border-right-color:var(--bg-light)!important}.border-t-bg-light{border-top-color:var(--bg-light)!important}.border-b-bg-light{border-bottom-color:var(--bg-light)!important}.border-x-bg-light{border-left-color:var(--bg-light)!important;border-right-color:var(--bg-light)!important}.border-y-bg-light{border-bottom-color:var(--bg-light)!important;border-top-color:var(--bg-light)!important}.decoration-bg-light{text-decoration-color:var(--bg-light)!important}.text-side{color:var(--side)!important}.bg-side{background-color:var(--side)!important}.border-side{border-color:var(--side)!important}.border-l-side{border-left-color:var(--side)!important}.border-r-side{border-right-color:var(--side)!important}.border-t-side{border-top-color:var(--side)!important}.border-b-side{border-bottom-color:var(--side)!important}.border-x-side{border-left-color:var(--side)!important;border-right-color:var(--side)!important}.border-y-side{border-bottom-color:var(--side)!important;border-top-color:var(--side)!important}.decoration-side{text-decoration-color:var(--side)!important}.text-mid{color:var(--mid)!important}.bg-mid{background-color:var(--mid)!important}.border-mid{border-color:var(--mid)!important}.border-l-mid{border-left-color:var(--mid)!important}.border-r-mid{border-right-color:var(--mid)!important}.border-t-mid{border-top-color:var(--mid)!important}.border-b-mid{border-bottom-color:var(--mid)!important}.border-x-mid{border-left-color:var(--mid)!important;border-right-color:var(--mid)!important}.border-y-mid{border-bottom-color:var(--mid)!important;border-top-color:var(--mid)!important}.decoration-mid{text-decoration-color:var(--mid)!important}.text-border{color:var(--border)!important}.bg-border{background-color:var(--border)!important}.border-border{border-color:var(--border)!important}.border-l-border{border-left-color:var(--border)!important}.border-r-border{border-right-color:var(--border)!important}.border-t-border{border-top-color:var(--border)!important}.border-b-border{border-bottom-color:var(--border)!important}.border-x-border{border-left-color:var(--border)!important;border-right-color:var(--border)!important}.border-y-border{border-bottom-color:var(--border)!important;border-top-color:var(--border)!important}.decoration-border{text-decoration-color:var(--border)!important}.text-border-light{color:var(--border-light)!important}.bg-border-light{background-color:var(--border-light)!important}.border-border-light{border-color:var(--border-light)!important}.border-l-border-light{border-left-color:var(--border-light)!important}.border-r-border-light{border-right-color:var(--border-light)!important}.border-t-border-light{border-top-color:var(--border-light)!important}.border-b-border-light{border-bottom-color:var(--border-light)!important}.border-x-border-light{border-left-color:var(--border-light)!important;border-right-color:var(--border-light)!important}.border-y-border-light{border-bottom-color:var(--border-light)!important;border-top-color:var(--border-light)!important}.decoration-border-light{text-decoration-color:var(--border-light)!important}.text-border-bold{color:var(--border-bold)!important}.bg-border-bold{background-color:var(--border-bold)!important}.border-border-bold{border-color:var(--border-bold)!important}.border-l-border-bold{border-left-color:var(--border-bold)!important}.border-r-border-bold{border-right-color:var(--border-bold)!important}.border-t-border-bold{border-top-color:var(--border-bold)!important}.border-b-border-bold{border-bottom-color:var(--border-bold)!important}.border-x-border-bold{border-left-color:var(--border-bold)!important;border-right-color:var(--border-bold)!important}.border-y-border-bold{border-bottom-color:var(--border-bold)!important;border-top-color:var(--border-bold)!important}.decoration-border-bold{text-decoration-color:var(--border-bold)!important}.text-transparent{color:var(--transparent)!important}.bg-transparent{background-color:var(--transparent)!important}.border-transparent{border-color:var(--transparent)!important}.border-l-transparent{border-left-color:var(--transparent)!important}.border-r-transparent{border-right-color:var(--transparent)!important}.border-t-transparent{border-top-color:var(--transparent)!important}.border-b-transparent{border-bottom-color:var(--transparent)!important}.border-x-transparent{border-left-color:var(--transparent)!important;border-right-color:var(--transparent)!important}.border-y-transparent{border-bottom-color:var(--transparent)!important;border-top-color:var(--transparent)!important}.decoration-transparent{text-decoration-color:var(--transparent)!important}.text-link{color:var(--link)!important}.bg-link{background-color:var(--link)!important}.border-link{border-color:var(--link)!important}.border-l-link{border-left-color:var(--link)!important}.border-r-link{border-right-color:var(--link)!important}.border-t-link{border-top-color:var(--link)!important}.border-b-link{border-bottom-color:var(--link)!important}.border-x-link{border-left-color:var(--link)!important;border-right-color:var(--link)!important}.border-y-link{border-bottom-color:var(--link)!important;border-top-color:var(--link)!important}.decoration-link{text-decoration-color:var(--link)!important}.text-brand-blue{color:var(--brand-blue)!important}.bg-brand-blue{background-color:var(--brand-blue)!important}.border-brand-blue{border-color:var(--brand-blue)!important}.border-l-brand-blue{border-left-color:var(--brand-blue)!important}.border-r-brand-blue{border-right-color:var(--brand-blue)!important}.border-t-brand-blue{border-top-color:var(--brand-blue)!important}.border-b-brand-blue{border-bottom-color:var(--brand-blue)!important}.border-x-brand-blue{border-left-color:var(--brand-blue)!important;border-right-color:var(--brand-blue)!important}.border-y-brand-blue{border-bottom-color:var(--brand-blue)!important;border-top-color:var(--brand-blue)!important}.decoration-brand-blue{text-decoration-color:var(--brand-blue)!important}.text-brand-red{color:var(--brand-red)!important}.bg-brand-red{background-color:var(--brand-red)!important}.border-brand-red{border-color:var(--brand-red)!important}.border-l-brand-red{border-left-color:var(--brand-red)!important}.border-r-brand-red{border-right-color:var(--brand-red)!important}.border-t-brand-red{border-top-color:var(--brand-red)!important}.border-b-brand-red{border-bottom-color:var(--brand-red)!important}.border-x-brand-red{border-left-color:var(--brand-red)!important;border-right-color:var(--brand-red)!important}.border-y-brand-red{border-bottom-color:var(--brand-red)!important;border-top-color:var(--brand-red)!important}.decoration-brand-red{text-decoration-color:var(--brand-red)!important}.text-brand-yellow{color:var(--brand-yellow)!important}.bg-brand-yellow{background-color:var(--brand-yellow)!important}.border-brand-yellow{border-color:var(--brand-yellow)!important}.border-l-brand-yellow{border-left-color:var(--brand-yellow)!important}.border-r-brand-yellow{border-right-color:var(--brand-yellow)!important}.border-t-brand-yellow{border-top-color:var(--brand-yellow)!important}.border-b-brand-yellow{border-bottom-color:var(--brand-yellow)!important}.border-x-brand-yellow{border-left-color:var(--brand-yellow)!important;border-right-color:var(--brand-yellow)!important}.border-y-brand-yellow{border-bottom-color:var(--brand-yellow)!important;border-top-color:var(--brand-yellow)!important}.decoration-brand-yellow{text-decoration-color:var(--brand-yellow)!important}.text-brand-key{color:var(--brand-key)!important}.bg-brand-key{background-color:var(--brand-key)!important}.border-brand-key{border-color:var(--brand-key)!important}.border-l-brand-key{border-left-color:var(--brand-key)!important}.border-r-brand-key{border-right-color:var(--brand-key)!important}.border-t-brand-key{border-top-color:var(--brand-key)!important}.border-b-brand-key{border-bottom-color:var(--brand-key)!important}.border-x-brand-key{border-left-color:var(--brand-key)!important;border-right-color:var(--brand-key)!important}.border-y-brand-key{border-bottom-color:var(--brand-key)!important;border-top-color:var(--brand-key)!important}.decoration-brand-key{text-decoration-color:var(--brand-key)!important}.text-text-3000-light{color:var(--text-3000-light)!important}.bg-text-3000-light{background-color:var(--text-3000-light)!important}.border-text-3000-light{border-color:var(--text-3000-light)!important}.border-l-text-3000-light{border-left-color:var(--text-3000-light)!important}.border-r-text-3000-light{border-right-color:var(--text-3000-light)!important}.border-t-text-3000-light{border-top-color:var(--text-3000-light)!important}.border-b-text-3000-light{border-bottom-color:var(--text-3000-light)!important}.border-x-text-3000-light{border-left-color:var(--text-3000-light)!important;border-right-color:var(--text-3000-light)!important}.border-y-text-3000-light{border-bottom-color:var(--text-3000-light)!important;border-top-color:var(--text-3000-light)!important}.decoration-text-3000-light{text-decoration-color:var(--text-3000-light)!important}.text-text-secondary-3000-light{color:var(--text-secondary-3000-light)!important}.bg-text-secondary-3000-light{background-color:var(--text-secondary-3000-light)!important}.border-text-secondary-3000-light{border-color:var(--text-secondary-3000-light)!important}.border-l-text-secondary-3000-light{border-left-color:var(--text-secondary-3000-light)!important}.border-r-text-secondary-3000-light{border-right-color:var(--text-secondary-3000-light)!important}.border-t-text-secondary-3000-light{border-top-color:var(--text-secondary-3000-light)!important}.border-b-text-secondary-3000-light{border-bottom-color:var(--text-secondary-3000-light)!important}.border-x-text-secondary-3000-light{border-left-color:var(--text-secondary-3000-light)!important;border-right-color:var(--text-secondary-3000-light)!important}.border-y-text-secondary-3000-light{border-bottom-color:var(--text-secondary-3000-light)!important;border-top-color:var(--text-secondary-3000-light)!important}.decoration-text-secondary-3000-light{text-decoration-color:var(--text-secondary-3000-light)!important}.text-muted-3000-light{color:var(--muted-3000-light)!important}.bg-muted-3000-light{background-color:var(--muted-3000-light)!important}.border-muted-3000-light{border-color:var(--muted-3000-light)!important}.border-l-muted-3000-light{border-left-color:var(--muted-3000-light)!important}.border-r-muted-3000-light{border-right-color:var(--muted-3000-light)!important}.border-t-muted-3000-light{border-top-color:var(--muted-3000-light)!important}.border-b-muted-3000-light{border-bottom-color:var(--muted-3000-light)!important}.border-x-muted-3000-light{border-left-color:var(--muted-3000-light)!important;border-right-color:var(--muted-3000-light)!important}.border-y-muted-3000-light{border-bottom-color:var(--muted-3000-light)!important;border-top-color:var(--muted-3000-light)!important}.decoration-muted-3000-light{text-decoration-color:var(--muted-3000-light)!important}.text-trace-3000-light{color:var(--trace-3000-light)!important}.bg-trace-3000-light{background-color:var(--trace-3000-light)!important}.border-trace-3000-light{border-color:var(--trace-3000-light)!important}.border-l-trace-3000-light{border-left-color:var(--trace-3000-light)!important}.border-r-trace-3000-light{border-right-color:var(--trace-3000-light)!important}.border-t-trace-3000-light{border-top-color:var(--trace-3000-light)!important}.border-b-trace-3000-light{border-bottom-color:var(--trace-3000-light)!important}.border-x-trace-3000-light{border-left-color:var(--trace-3000-light)!important;border-right-color:var(--trace-3000-light)!important}.border-y-trace-3000-light{border-bottom-color:var(--trace-3000-light)!important;border-top-color:var(--trace-3000-light)!important}.decoration-trace-3000-light{text-decoration-color:var(--trace-3000-light)!important}.text-primary-3000-light{color:var(--primary-3000-light)!important}.bg-primary-3000-light{background-color:var(--primary-3000-light)!important}.border-primary-3000-light{border-color:var(--primary-3000-light)!important}.border-l-primary-3000-light{border-left-color:var(--primary-3000-light)!important}.border-r-primary-3000-light{border-right-color:var(--primary-3000-light)!important}.border-t-primary-3000-light{border-top-color:var(--primary-3000-light)!important}.border-b-primary-3000-light{border-bottom-color:var(--primary-3000-light)!important}.border-x-primary-3000-light{border-left-color:var(--primary-3000-light)!important;border-right-color:var(--primary-3000-light)!important}.border-y-primary-3000-light{border-bottom-color:var(--primary-3000-light)!important;border-top-color:var(--primary-3000-light)!important}.decoration-primary-3000-light{text-decoration-color:var(--primary-3000-light)!important}.text-primary-highlight-light{color:var(--primary-highlight-light)!important}.bg-primary-highlight-light{background-color:var(--primary-highlight-light)!important}.border-primary-highlight-light{border-color:var(--primary-highlight-light)!important}.border-l-primary-highlight-light{border-left-color:var(--primary-highlight-light)!important}.border-r-primary-highlight-light{border-right-color:var(--primary-highlight-light)!important}.border-t-primary-highlight-light{border-top-color:var(--primary-highlight-light)!important}.border-b-primary-highlight-light{border-bottom-color:var(--primary-highlight-light)!important}.border-x-primary-highlight-light{border-left-color:var(--primary-highlight-light)!important;border-right-color:var(--primary-highlight-light)!important}.border-y-primary-highlight-light{border-bottom-color:var(--primary-highlight-light)!important;border-top-color:var(--primary-highlight-light)!important}.decoration-primary-highlight-light{text-decoration-color:var(--primary-highlight-light)!important}.text-primary-3000-hover-light{color:var(--primary-3000-hover-light)!important}.bg-primary-3000-hover-light{background-color:var(--primary-3000-hover-light)!important}.border-primary-3000-hover-light{border-color:var(--primary-3000-hover-light)!important}.border-l-primary-3000-hover-light{border-left-color:var(--primary-3000-hover-light)!important}.border-r-primary-3000-hover-light{border-right-color:var(--primary-3000-hover-light)!important}.border-t-primary-3000-hover-light{border-top-color:var(--primary-3000-hover-light)!important}.border-b-primary-3000-hover-light{border-bottom-color:var(--primary-3000-hover-light)!important}.border-x-primary-3000-hover-light{border-left-color:var(--primary-3000-hover-light)!important;border-right-color:var(--primary-3000-hover-light)!important}.border-y-primary-3000-hover-light{border-bottom-color:var(--primary-3000-hover-light)!important;border-top-color:var(--primary-3000-hover-light)!important}.decoration-primary-3000-hover-light{text-decoration-color:var(--primary-3000-hover-light)!important}.text-primary-3000-active-light{color:var(--primary-3000-active-light)!important}.bg-primary-3000-active-light{background-color:var(--primary-3000-active-light)!important}.border-primary-3000-active-light{border-color:var(--primary-3000-active-light)!important}.border-l-primary-3000-active-light{border-left-color:var(--primary-3000-active-light)!important}.border-r-primary-3000-active-light{border-right-color:var(--primary-3000-active-light)!important}.border-t-primary-3000-active-light{border-top-color:var(--primary-3000-active-light)!important}.border-b-primary-3000-active-light{border-bottom-color:var(--primary-3000-active-light)!important}.border-x-primary-3000-active-light{border-left-color:var(--primary-3000-active-light)!important;border-right-color:var(--primary-3000-active-light)!important}.border-y-primary-3000-active-light{border-bottom-color:var(--primary-3000-active-light)!important;border-top-color:var(--primary-3000-active-light)!important}.decoration-primary-3000-active-light{text-decoration-color:var(--primary-3000-active-light)!important}.text-secondary-3000-light{color:var(--secondary-3000-light)!important}.bg-secondary-3000-light{background-color:var(--secondary-3000-light)!important}.border-secondary-3000-light{border-color:var(--secondary-3000-light)!important}.border-l-secondary-3000-light{border-left-color:var(--secondary-3000-light)!important}.border-r-secondary-3000-light{border-right-color:var(--secondary-3000-light)!important}.border-t-secondary-3000-light{border-top-color:var(--secondary-3000-light)!important}.border-b-secondary-3000-light{border-bottom-color:var(--secondary-3000-light)!important}.border-x-secondary-3000-light{border-left-color:var(--secondary-3000-light)!important;border-right-color:var(--secondary-3000-light)!important}.border-y-secondary-3000-light{border-bottom-color:var(--secondary-3000-light)!important;border-top-color:var(--secondary-3000-light)!important}.decoration-secondary-3000-light{text-decoration-color:var(--secondary-3000-light)!important}.text-secondary-3000-hover-light{color:var(--secondary-3000-hover-light)!important}.bg-secondary-3000-hover-light{background-color:var(--secondary-3000-hover-light)!important}.border-secondary-3000-hover-light{border-color:var(--secondary-3000-hover-light)!important}.border-l-secondary-3000-hover-light{border-left-color:var(--secondary-3000-hover-light)!important}.border-r-secondary-3000-hover-light{border-right-color:var(--secondary-3000-hover-light)!important}.border-t-secondary-3000-hover-light{border-top-color:var(--secondary-3000-hover-light)!important}.border-b-secondary-3000-hover-light{border-bottom-color:var(--secondary-3000-hover-light)!important}.border-x-secondary-3000-hover-light{border-left-color:var(--secondary-3000-hover-light)!important;border-right-color:var(--secondary-3000-hover-light)!important}.border-y-secondary-3000-hover-light{border-bottom-color:var(--secondary-3000-hover-light)!important;border-top-color:var(--secondary-3000-hover-light)!important}.decoration-secondary-3000-hover-light{text-decoration-color:var(--secondary-3000-hover-light)!important}.text-accent-3000-light{color:var(--accent-3000-light)!important}.bg-accent-3000-light{background-color:var(--accent-3000-light)!important}.border-accent-3000-light{border-color:var(--accent-3000-light)!important}.border-l-accent-3000-light{border-left-color:var(--accent-3000-light)!important}.border-r-accent-3000-light{border-right-color:var(--accent-3000-light)!important}.border-t-accent-3000-light{border-top-color:var(--accent-3000-light)!important}.border-b-accent-3000-light{border-bottom-color:var(--accent-3000-light)!important}.border-x-accent-3000-light{border-left-color:var(--accent-3000-light)!important;border-right-color:var(--accent-3000-light)!important}.border-y-accent-3000-light{border-bottom-color:var(--accent-3000-light)!important;border-top-color:var(--accent-3000-light)!important}.decoration-accent-3000-light{text-decoration-color:var(--accent-3000-light)!important}.text-bg-3000-light{color:var(--bg-3000-light)!important}.bg-bg-3000-light{background-color:var(--bg-3000-light)!important}.border-bg-3000-light{border-color:var(--bg-3000-light)!important}.border-l-bg-3000-light{border-left-color:var(--bg-3000-light)!important}.border-r-bg-3000-light{border-right-color:var(--bg-3000-light)!important}.border-t-bg-3000-light{border-top-color:var(--bg-3000-light)!important}.border-b-bg-3000-light{border-bottom-color:var(--bg-3000-light)!important}.border-x-bg-3000-light{border-left-color:var(--bg-3000-light)!important;border-right-color:var(--bg-3000-light)!important}.border-y-bg-3000-light{border-bottom-color:var(--bg-3000-light)!important;border-top-color:var(--bg-3000-light)!important}.decoration-bg-3000-light{text-decoration-color:var(--bg-3000-light)!important}.text-border-3000-light{color:var(--border-3000-light)!important}.bg-border-3000-light{background-color:var(--border-3000-light)!important}.border-border-3000-light{border-color:var(--border-3000-light)!important}.border-l-border-3000-light{border-left-color:var(--border-3000-light)!important}.border-r-border-3000-light{border-right-color:var(--border-3000-light)!important}.border-t-border-3000-light{border-top-color:var(--border-3000-light)!important}.border-b-border-3000-light{border-bottom-color:var(--border-3000-light)!important}.border-x-border-3000-light{border-left-color:var(--border-3000-light)!important;border-right-color:var(--border-3000-light)!important}.border-y-border-3000-light{border-bottom-color:var(--border-3000-light)!important;border-top-color:var(--border-3000-light)!important}.decoration-border-3000-light{text-decoration-color:var(--border-3000-light)!important}.text-border-bold-3000-light{color:var(--border-bold-3000-light)!important}.bg-border-bold-3000-light{background-color:var(--border-bold-3000-light)!important}.border-border-bold-3000-light{border-color:var(--border-bold-3000-light)!important}.border-l-border-bold-3000-light{border-left-color:var(--border-bold-3000-light)!important}.border-r-border-bold-3000-light{border-right-color:var(--border-bold-3000-light)!important}.border-t-border-bold-3000-light{border-top-color:var(--border-bold-3000-light)!important}.border-b-border-bold-3000-light{border-bottom-color:var(--border-bold-3000-light)!important}.border-x-border-bold-3000-light{border-left-color:var(--border-bold-3000-light)!important;border-right-color:var(--border-bold-3000-light)!important}.border-y-border-bold-3000-light{border-bottom-color:var(--border-bold-3000-light)!important;border-top-color:var(--border-bold-3000-light)!important}.decoration-border-bold-3000-light{text-decoration-color:var(--border-bold-3000-light)!important}.text-glass-bg-3000-light{color:var(--glass-bg-3000-light)!important}.bg-glass-bg-3000-light{background-color:var(--glass-bg-3000-light)!important}.border-glass-bg-3000-light{border-color:var(--glass-bg-3000-light)!important}.border-l-glass-bg-3000-light{border-left-color:var(--glass-bg-3000-light)!important}.border-r-glass-bg-3000-light{border-right-color:var(--glass-bg-3000-light)!important}.border-t-glass-bg-3000-light{border-top-color:var(--glass-bg-3000-light)!important}.border-b-glass-bg-3000-light{border-bottom-color:var(--glass-bg-3000-light)!important}.border-x-glass-bg-3000-light{border-left-color:var(--glass-bg-3000-light)!important;border-right-color:var(--glass-bg-3000-light)!important}.border-y-glass-bg-3000-light{border-bottom-color:var(--glass-bg-3000-light)!important;border-top-color:var(--glass-bg-3000-light)!important}.decoration-glass-bg-3000-light{text-decoration-color:var(--glass-bg-3000-light)!important}.text-glass-border-3000-light{color:var(--glass-border-3000-light)!important}.bg-glass-border-3000-light{background-color:var(--glass-border-3000-light)!important}.border-glass-border-3000-light{border-color:var(--glass-border-3000-light)!important}.border-l-glass-border-3000-light{border-left-color:var(--glass-border-3000-light)!important}.border-r-glass-border-3000-light{border-right-color:var(--glass-border-3000-light)!important}.border-t-glass-border-3000-light{border-top-color:var(--glass-border-3000-light)!important}.border-b-glass-border-3000-light{border-bottom-color:var(--glass-border-3000-light)!important}.border-x-glass-border-3000-light{border-left-color:var(--glass-border-3000-light)!important;border-right-color:var(--glass-border-3000-light)!important}.border-y-glass-border-3000-light{border-bottom-color:var(--glass-border-3000-light)!important;border-top-color:var(--glass-border-3000-light)!important}.decoration-glass-border-3000-light{text-decoration-color:var(--glass-border-3000-light)!important}.text-link-3000-light{color:var(--link-3000-light)!important}.bg-link-3000-light{background-color:var(--link-3000-light)!important}.border-link-3000-light{border-color:var(--link-3000-light)!important}.border-l-link-3000-light{border-left-color:var(--link-3000-light)!important}.border-r-link-3000-light{border-right-color:var(--link-3000-light)!important}.border-t-link-3000-light{border-top-color:var(--link-3000-light)!important}.border-b-link-3000-light{border-bottom-color:var(--link-3000-light)!important}.border-x-link-3000-light{border-left-color:var(--link-3000-light)!important;border-right-color:var(--link-3000-light)!important}.border-y-link-3000-light{border-bottom-color:var(--link-3000-light)!important;border-top-color:var(--link-3000-light)!important}.decoration-link-3000-light{text-decoration-color:var(--link-3000-light)!important}.text-primary-3000-frame-bg-light{color:var(--primary-3000-frame-bg-light)!important}.bg-primary-3000-frame-bg-light{background-color:var(--primary-3000-frame-bg-light)!important}.border-primary-3000-frame-bg-light{border-color:var(--primary-3000-frame-bg-light)!important}.border-l-primary-3000-frame-bg-light{border-left-color:var(--primary-3000-frame-bg-light)!important}.border-r-primary-3000-frame-bg-light{border-right-color:var(--primary-3000-frame-bg-light)!important}.border-t-primary-3000-frame-bg-light{border-top-color:var(--primary-3000-frame-bg-light)!important}.border-b-primary-3000-frame-bg-light{border-bottom-color:var(--primary-3000-frame-bg-light)!important}.border-x-primary-3000-frame-bg-light{border-left-color:var(--primary-3000-frame-bg-light)!important;border-right-color:var(--primary-3000-frame-bg-light)!important}.border-y-primary-3000-frame-bg-light{border-bottom-color:var(--primary-3000-frame-bg-light)!important;border-top-color:var(--primary-3000-frame-bg-light)!important}.decoration-primary-3000-frame-bg-light{text-decoration-color:var(--primary-3000-frame-bg-light)!important}.text-primary-3000-button-bg-light{color:var(--primary-3000-button-bg-light)!important}.bg-primary-3000-button-bg-light{background-color:var(--primary-3000-button-bg-light)!important}.border-primary-3000-button-bg-light{border-color:var(--primary-3000-button-bg-light)!important}.border-l-primary-3000-button-bg-light{border-left-color:var(--primary-3000-button-bg-light)!important}.border-r-primary-3000-button-bg-light{border-right-color:var(--primary-3000-button-bg-light)!important}.border-t-primary-3000-button-bg-light{border-top-color:var(--primary-3000-button-bg-light)!important}.border-b-primary-3000-button-bg-light{border-bottom-color:var(--primary-3000-button-bg-light)!important}.border-x-primary-3000-button-bg-light{border-left-color:var(--primary-3000-button-bg-light)!important;border-right-color:var(--primary-3000-button-bg-light)!important}.border-y-primary-3000-button-bg-light{border-bottom-color:var(--primary-3000-button-bg-light)!important;border-top-color:var(--primary-3000-button-bg-light)!important}.decoration-primary-3000-button-bg-light{text-decoration-color:var(--primary-3000-button-bg-light)!important}.text-primary-3000-button-border-light{color:var(--primary-3000-button-border-light)!important}.bg-primary-3000-button-border-light{background-color:var(--primary-3000-button-border-light)!important}.border-primary-3000-button-border-light{border-color:var(--primary-3000-button-border-light)!important}.border-l-primary-3000-button-border-light{border-left-color:var(--primary-3000-button-border-light)!important}.border-r-primary-3000-button-border-light{border-right-color:var(--primary-3000-button-border-light)!important}.border-t-primary-3000-button-border-light{border-top-color:var(--primary-3000-button-border-light)!important}.border-b-primary-3000-button-border-light{border-bottom-color:var(--primary-3000-button-border-light)!important}.border-x-primary-3000-button-border-light{border-left-color:var(--primary-3000-button-border-light)!important;border-right-color:var(--primary-3000-button-border-light)!important}.border-y-primary-3000-button-border-light{border-bottom-color:var(--primary-3000-button-border-light)!important;border-top-color:var(--primary-3000-button-border-light)!important}.decoration-primary-3000-button-border-light{text-decoration-color:var(--primary-3000-button-border-light)!important}.text-primary-3000-button-border-hover-light{color:var(--primary-3000-button-border-hover-light)!important}.bg-primary-3000-button-border-hover-light{background-color:var(--primary-3000-button-border-hover-light)!important}.border-primary-3000-button-border-hover-light{border-color:var(--primary-3000-button-border-hover-light)!important}.border-l-primary-3000-button-border-hover-light{border-left-color:var(--primary-3000-button-border-hover-light)!important}.border-r-primary-3000-button-border-hover-light{border-right-color:var(--primary-3000-button-border-hover-light)!important}.border-t-primary-3000-button-border-hover-light{border-top-color:var(--primary-3000-button-border-hover-light)!important}.border-b-primary-3000-button-border-hover-light{border-bottom-color:var(--primary-3000-button-border-hover-light)!important}.border-x-primary-3000-button-border-hover-light{border-left-color:var(--primary-3000-button-border-hover-light)!important;border-right-color:var(--primary-3000-button-border-hover-light)!important}.border-y-primary-3000-button-border-hover-light{border-bottom-color:var(--primary-3000-button-border-hover-light)!important;border-top-color:var(--primary-3000-button-border-hover-light)!important}.decoration-primary-3000-button-border-hover-light{text-decoration-color:var(--primary-3000-button-border-hover-light)!important}.text-secondary-3000-frame-bg-light{color:var(--secondary-3000-frame-bg-light)!important}.bg-secondary-3000-frame-bg-light{background-color:var(--secondary-3000-frame-bg-light)!important}.border-secondary-3000-frame-bg-light{border-color:var(--secondary-3000-frame-bg-light)!important}.border-l-secondary-3000-frame-bg-light{border-left-color:var(--secondary-3000-frame-bg-light)!important}.border-r-secondary-3000-frame-bg-light{border-right-color:var(--secondary-3000-frame-bg-light)!important}.border-t-secondary-3000-frame-bg-light{border-top-color:var(--secondary-3000-frame-bg-light)!important}.border-b-secondary-3000-frame-bg-light{border-bottom-color:var(--secondary-3000-frame-bg-light)!important}.border-x-secondary-3000-frame-bg-light{border-left-color:var(--secondary-3000-frame-bg-light)!important;border-right-color:var(--secondary-3000-frame-bg-light)!important}.border-y-secondary-3000-frame-bg-light{border-bottom-color:var(--secondary-3000-frame-bg-light)!important;border-top-color:var(--secondary-3000-frame-bg-light)!important}.decoration-secondary-3000-frame-bg-light{text-decoration-color:var(--secondary-3000-frame-bg-light)!important}.text-secondary-3000-button-bg-light{color:var(--secondary-3000-button-bg-light)!important}.bg-secondary-3000-button-bg-light{background-color:var(--secondary-3000-button-bg-light)!important}.border-secondary-3000-button-bg-light{border-color:var(--secondary-3000-button-bg-light)!important}.border-l-secondary-3000-button-bg-light{border-left-color:var(--secondary-3000-button-bg-light)!important}.border-r-secondary-3000-button-bg-light{border-right-color:var(--secondary-3000-button-bg-light)!important}.border-t-secondary-3000-button-bg-light{border-top-color:var(--secondary-3000-button-bg-light)!important}.border-b-secondary-3000-button-bg-light{border-bottom-color:var(--secondary-3000-button-bg-light)!important}.border-x-secondary-3000-button-bg-light{border-left-color:var(--secondary-3000-button-bg-light)!important;border-right-color:var(--secondary-3000-button-bg-light)!important}.border-y-secondary-3000-button-bg-light{border-bottom-color:var(--secondary-3000-button-bg-light)!important;border-top-color:var(--secondary-3000-button-bg-light)!important}.decoration-secondary-3000-button-bg-light{text-decoration-color:var(--secondary-3000-button-bg-light)!important}.text-secondary-3000-button-border-light{color:var(--secondary-3000-button-border-light)!important}.bg-secondary-3000-button-border-light{background-color:var(--secondary-3000-button-border-light)!important}.border-secondary-3000-button-border-light{border-color:var(--secondary-3000-button-border-light)!important}.border-l-secondary-3000-button-border-light{border-left-color:var(--secondary-3000-button-border-light)!important}.border-r-secondary-3000-button-border-light{border-right-color:var(--secondary-3000-button-border-light)!important}.border-t-secondary-3000-button-border-light{border-top-color:var(--secondary-3000-button-border-light)!important}.border-b-secondary-3000-button-border-light{border-bottom-color:var(--secondary-3000-button-border-light)!important}.border-x-secondary-3000-button-border-light{border-left-color:var(--secondary-3000-button-border-light)!important;border-right-color:var(--secondary-3000-button-border-light)!important}.border-y-secondary-3000-button-border-light{border-bottom-color:var(--secondary-3000-button-border-light)!important;border-top-color:var(--secondary-3000-button-border-light)!important}.decoration-secondary-3000-button-border-light{text-decoration-color:var(--secondary-3000-button-border-light)!important}.text-secondary-3000-button-border-hover-light{color:var(--secondary-3000-button-border-hover-light)!important}.bg-secondary-3000-button-border-hover-light{background-color:var(--secondary-3000-button-border-hover-light)!important}.border-secondary-3000-button-border-hover-light{border-color:var(--secondary-3000-button-border-hover-light)!important}.border-l-secondary-3000-button-border-hover-light{border-left-color:var(--secondary-3000-button-border-hover-light)!important}.border-r-secondary-3000-button-border-hover-light{border-right-color:var(--secondary-3000-button-border-hover-light)!important}.border-t-secondary-3000-button-border-hover-light{border-top-color:var(--secondary-3000-button-border-hover-light)!important}.border-b-secondary-3000-button-border-hover-light{border-bottom-color:var(--secondary-3000-button-border-hover-light)!important}.border-x-secondary-3000-button-border-hover-light{border-left-color:var(--secondary-3000-button-border-hover-light)!important;border-right-color:var(--secondary-3000-button-border-hover-light)!important}.border-y-secondary-3000-button-border-hover-light{border-bottom-color:var(--secondary-3000-button-border-hover-light)!important;border-top-color:var(--secondary-3000-button-border-hover-light)!important}.decoration-secondary-3000-button-border-hover-light{text-decoration-color:var(--secondary-3000-button-border-hover-light)!important}.text-danger-3000-frame-bg-light{color:var(--danger-3000-frame-bg-light)!important}.bg-danger-3000-frame-bg-light{background-color:var(--danger-3000-frame-bg-light)!important}.border-danger-3000-frame-bg-light{border-color:var(--danger-3000-frame-bg-light)!important}.border-l-danger-3000-frame-bg-light{border-left-color:var(--danger-3000-frame-bg-light)!important}.border-r-danger-3000-frame-bg-light{border-right-color:var(--danger-3000-frame-bg-light)!important}.border-t-danger-3000-frame-bg-light{border-top-color:var(--danger-3000-frame-bg-light)!important}.border-b-danger-3000-frame-bg-light{border-bottom-color:var(--danger-3000-frame-bg-light)!important}.border-x-danger-3000-frame-bg-light{border-left-color:var(--danger-3000-frame-bg-light)!important;border-right-color:var(--danger-3000-frame-bg-light)!important}.border-y-danger-3000-frame-bg-light{border-bottom-color:var(--danger-3000-frame-bg-light)!important;border-top-color:var(--danger-3000-frame-bg-light)!important}.decoration-danger-3000-frame-bg-light{text-decoration-color:var(--danger-3000-frame-bg-light)!important}.text-danger-3000-button-border-light{color:var(--danger-3000-button-border-light)!important}.bg-danger-3000-button-border-light{background-color:var(--danger-3000-button-border-light)!important}.border-danger-3000-button-border-light{border-color:var(--danger-3000-button-border-light)!important}.border-l-danger-3000-button-border-light{border-left-color:var(--danger-3000-button-border-light)!important}.border-r-danger-3000-button-border-light{border-right-color:var(--danger-3000-button-border-light)!important}.border-t-danger-3000-button-border-light{border-top-color:var(--danger-3000-button-border-light)!important}.border-b-danger-3000-button-border-light{border-bottom-color:var(--danger-3000-button-border-light)!important}.border-x-danger-3000-button-border-light{border-left-color:var(--danger-3000-button-border-light)!important;border-right-color:var(--danger-3000-button-border-light)!important}.border-y-danger-3000-button-border-light{border-bottom-color:var(--danger-3000-button-border-light)!important;border-top-color:var(--danger-3000-button-border-light)!important}.decoration-danger-3000-button-border-light{text-decoration-color:var(--danger-3000-button-border-light)!important}.text-danger-3000-button-border-hover-light{color:var(--danger-3000-button-border-hover-light)!important}.bg-danger-3000-button-border-hover-light{background-color:var(--danger-3000-button-border-hover-light)!important}.border-danger-3000-button-border-hover-light{border-color:var(--danger-3000-button-border-hover-light)!important}.border-l-danger-3000-button-border-hover-light{border-left-color:var(--danger-3000-button-border-hover-light)!important}.border-r-danger-3000-button-border-hover-light{border-right-color:var(--danger-3000-button-border-hover-light)!important}.border-t-danger-3000-button-border-hover-light{border-top-color:var(--danger-3000-button-border-hover-light)!important}.border-b-danger-3000-button-border-hover-light{border-bottom-color:var(--danger-3000-button-border-hover-light)!important}.border-x-danger-3000-button-border-hover-light{border-left-color:var(--danger-3000-button-border-hover-light)!important;border-right-color:var(--danger-3000-button-border-hover-light)!important}.border-y-danger-3000-button-border-hover-light{border-bottom-color:var(--danger-3000-button-border-hover-light)!important;border-top-color:var(--danger-3000-button-border-hover-light)!important}.decoration-danger-3000-button-border-hover-light{text-decoration-color:var(--danger-3000-button-border-hover-light)!important}.text-shadow-elevation-3000-light{color:var(--shadow-elevation-3000-light)!important}.bg-shadow-elevation-3000-light{background-color:var(--shadow-elevation-3000-light)!important}.border-shadow-elevation-3000-light{border-color:var(--shadow-elevation-3000-light)!important}.border-l-shadow-elevation-3000-light{border-left-color:var(--shadow-elevation-3000-light)!important}.border-r-shadow-elevation-3000-light{border-right-color:var(--shadow-elevation-3000-light)!important}.border-t-shadow-elevation-3000-light{border-top-color:var(--shadow-elevation-3000-light)!important}.border-b-shadow-elevation-3000-light{border-bottom-color:var(--shadow-elevation-3000-light)!important}.border-x-shadow-elevation-3000-light{border-left-color:var(--shadow-elevation-3000-light)!important;border-right-color:var(--shadow-elevation-3000-light)!important}.border-y-shadow-elevation-3000-light{border-bottom-color:var(--shadow-elevation-3000-light)!important;border-top-color:var(--shadow-elevation-3000-light)!important}.decoration-shadow-elevation-3000-light{text-decoration-color:var(--shadow-elevation-3000-light)!important}.text-shadow-elevation-3000-dark{color:var(--shadow-elevation-3000-dark)!important}.bg-shadow-elevation-3000-dark{background-color:var(--shadow-elevation-3000-dark)!important}.border-shadow-elevation-3000-dark{border-color:var(--shadow-elevation-3000-dark)!important}.border-l-shadow-elevation-3000-dark{border-left-color:var(--shadow-elevation-3000-dark)!important}.border-r-shadow-elevation-3000-dark{border-right-color:var(--shadow-elevation-3000-dark)!important}.border-t-shadow-elevation-3000-dark{border-top-color:var(--shadow-elevation-3000-dark)!important}.border-b-shadow-elevation-3000-dark{border-bottom-color:var(--shadow-elevation-3000-dark)!important}.border-x-shadow-elevation-3000-dark{border-left-color:var(--shadow-elevation-3000-dark)!important;border-right-color:var(--shadow-elevation-3000-dark)!important}.border-y-shadow-elevation-3000-dark{border-bottom-color:var(--shadow-elevation-3000-dark)!important;border-top-color:var(--shadow-elevation-3000-dark)!important}.decoration-shadow-elevation-3000-dark{text-decoration-color:var(--shadow-elevation-3000-dark)!important}.text-text-3000-dark{color:var(--text-3000-dark)!important}.bg-text-3000-dark{background-color:var(--text-3000-dark)!important}.border-text-3000-dark{border-color:var(--text-3000-dark)!important}.border-l-text-3000-dark{border-left-color:var(--text-3000-dark)!important}.border-r-text-3000-dark{border-right-color:var(--text-3000-dark)!important}.border-t-text-3000-dark{border-top-color:var(--text-3000-dark)!important}.border-b-text-3000-dark{border-bottom-color:var(--text-3000-dark)!important}.border-x-text-3000-dark{border-left-color:var(--text-3000-dark)!important;border-right-color:var(--text-3000-dark)!important}.border-y-text-3000-dark{border-bottom-color:var(--text-3000-dark)!important;border-top-color:var(--text-3000-dark)!important}.decoration-text-3000-dark{text-decoration-color:var(--text-3000-dark)!important}.text-text-secondary-3000-dark{color:var(--text-secondary-3000-dark)!important}.bg-text-secondary-3000-dark{background-color:var(--text-secondary-3000-dark)!important}.border-text-secondary-3000-dark{border-color:var(--text-secondary-3000-dark)!important}.border-l-text-secondary-3000-dark{border-left-color:var(--text-secondary-3000-dark)!important}.border-r-text-secondary-3000-dark{border-right-color:var(--text-secondary-3000-dark)!important}.border-t-text-secondary-3000-dark{border-top-color:var(--text-secondary-3000-dark)!important}.border-b-text-secondary-3000-dark{border-bottom-color:var(--text-secondary-3000-dark)!important}.border-x-text-secondary-3000-dark{border-left-color:var(--text-secondary-3000-dark)!important;border-right-color:var(--text-secondary-3000-dark)!important}.border-y-text-secondary-3000-dark{border-bottom-color:var(--text-secondary-3000-dark)!important;border-top-color:var(--text-secondary-3000-dark)!important}.decoration-text-secondary-3000-dark{text-decoration-color:var(--text-secondary-3000-dark)!important}.text-muted-3000-dark{color:var(--muted-3000-dark)!important}.bg-muted-3000-dark{background-color:var(--muted-3000-dark)!important}.border-muted-3000-dark{border-color:var(--muted-3000-dark)!important}.border-l-muted-3000-dark{border-left-color:var(--muted-3000-dark)!important}.border-r-muted-3000-dark{border-right-color:var(--muted-3000-dark)!important}.border-t-muted-3000-dark{border-top-color:var(--muted-3000-dark)!important}.border-b-muted-3000-dark{border-bottom-color:var(--muted-3000-dark)!important}.border-x-muted-3000-dark{border-left-color:var(--muted-3000-dark)!important;border-right-color:var(--muted-3000-dark)!important}.border-y-muted-3000-dark{border-bottom-color:var(--muted-3000-dark)!important;border-top-color:var(--muted-3000-dark)!important}.decoration-muted-3000-dark{text-decoration-color:var(--muted-3000-dark)!important}.text-trace-3000-dark{color:var(--trace-3000-dark)!important}.bg-trace-3000-dark{background-color:var(--trace-3000-dark)!important}.border-trace-3000-dark{border-color:var(--trace-3000-dark)!important}.border-l-trace-3000-dark{border-left-color:var(--trace-3000-dark)!important}.border-r-trace-3000-dark{border-right-color:var(--trace-3000-dark)!important}.border-t-trace-3000-dark{border-top-color:var(--trace-3000-dark)!important}.border-b-trace-3000-dark{border-bottom-color:var(--trace-3000-dark)!important}.border-x-trace-3000-dark{border-left-color:var(--trace-3000-dark)!important;border-right-color:var(--trace-3000-dark)!important}.border-y-trace-3000-dark{border-bottom-color:var(--trace-3000-dark)!important;border-top-color:var(--trace-3000-dark)!important}.decoration-trace-3000-dark{text-decoration-color:var(--trace-3000-dark)!important}.text-primary-3000-dark{color:var(--primary-3000-dark)!important}.bg-primary-3000-dark{background-color:var(--primary-3000-dark)!important}.border-primary-3000-dark{border-color:var(--primary-3000-dark)!important}.border-l-primary-3000-dark{border-left-color:var(--primary-3000-dark)!important}.border-r-primary-3000-dark{border-right-color:var(--primary-3000-dark)!important}.border-t-primary-3000-dark{border-top-color:var(--primary-3000-dark)!important}.border-b-primary-3000-dark{border-bottom-color:var(--primary-3000-dark)!important}.border-x-primary-3000-dark{border-left-color:var(--primary-3000-dark)!important;border-right-color:var(--primary-3000-dark)!important}.border-y-primary-3000-dark{border-bottom-color:var(--primary-3000-dark)!important;border-top-color:var(--primary-3000-dark)!important}.decoration-primary-3000-dark{text-decoration-color:var(--primary-3000-dark)!important}.text-primary-highlight-dark{color:var(--primary-highlight-dark)!important}.bg-primary-highlight-dark{background-color:var(--primary-highlight-dark)!important}.border-primary-highlight-dark{border-color:var(--primary-highlight-dark)!important}.border-l-primary-highlight-dark{border-left-color:var(--primary-highlight-dark)!important}.border-r-primary-highlight-dark{border-right-color:var(--primary-highlight-dark)!important}.border-t-primary-highlight-dark{border-top-color:var(--primary-highlight-dark)!important}.border-b-primary-highlight-dark{border-bottom-color:var(--primary-highlight-dark)!important}.border-x-primary-highlight-dark{border-left-color:var(--primary-highlight-dark)!important;border-right-color:var(--primary-highlight-dark)!important}.border-y-primary-highlight-dark{border-bottom-color:var(--primary-highlight-dark)!important;border-top-color:var(--primary-highlight-dark)!important}.decoration-primary-highlight-dark{text-decoration-color:var(--primary-highlight-dark)!important}.text-primary-3000-hover-dark{color:var(--primary-3000-hover-dark)!important}.bg-primary-3000-hover-dark{background-color:var(--primary-3000-hover-dark)!important}.border-primary-3000-hover-dark{border-color:var(--primary-3000-hover-dark)!important}.border-l-primary-3000-hover-dark{border-left-color:var(--primary-3000-hover-dark)!important}.border-r-primary-3000-hover-dark{border-right-color:var(--primary-3000-hover-dark)!important}.border-t-primary-3000-hover-dark{border-top-color:var(--primary-3000-hover-dark)!important}.border-b-primary-3000-hover-dark{border-bottom-color:var(--primary-3000-hover-dark)!important}.border-x-primary-3000-hover-dark{border-left-color:var(--primary-3000-hover-dark)!important;border-right-color:var(--primary-3000-hover-dark)!important}.border-y-primary-3000-hover-dark{border-bottom-color:var(--primary-3000-hover-dark)!important;border-top-color:var(--primary-3000-hover-dark)!important}.decoration-primary-3000-hover-dark{text-decoration-color:var(--primary-3000-hover-dark)!important}.text-primary-3000-active-dark{color:var(--primary-3000-active-dark)!important}.bg-primary-3000-active-dark{background-color:var(--primary-3000-active-dark)!important}.border-primary-3000-active-dark{border-color:var(--primary-3000-active-dark)!important}.border-l-primary-3000-active-dark{border-left-color:var(--primary-3000-active-dark)!important}.border-r-primary-3000-active-dark{border-right-color:var(--primary-3000-active-dark)!important}.border-t-primary-3000-active-dark{border-top-color:var(--primary-3000-active-dark)!important}.border-b-primary-3000-active-dark{border-bottom-color:var(--primary-3000-active-dark)!important}.border-x-primary-3000-active-dark{border-left-color:var(--primary-3000-active-dark)!important;border-right-color:var(--primary-3000-active-dark)!important}.border-y-primary-3000-active-dark{border-bottom-color:var(--primary-3000-active-dark)!important;border-top-color:var(--primary-3000-active-dark)!important}.decoration-primary-3000-active-dark{text-decoration-color:var(--primary-3000-active-dark)!important}.text-primary-alt-highlight-light{color:var(--primary-alt-highlight-light)!important}.bg-primary-alt-highlight-light{background-color:var(--primary-alt-highlight-light)!important}.border-primary-alt-highlight-light{border-color:var(--primary-alt-highlight-light)!important}.border-l-primary-alt-highlight-light{border-left-color:var(--primary-alt-highlight-light)!important}.border-r-primary-alt-highlight-light{border-right-color:var(--primary-alt-highlight-light)!important}.border-t-primary-alt-highlight-light{border-top-color:var(--primary-alt-highlight-light)!important}.border-b-primary-alt-highlight-light{border-bottom-color:var(--primary-alt-highlight-light)!important}.border-x-primary-alt-highlight-light{border-left-color:var(--primary-alt-highlight-light)!important;border-right-color:var(--primary-alt-highlight-light)!important}.border-y-primary-alt-highlight-light{border-bottom-color:var(--primary-alt-highlight-light)!important;border-top-color:var(--primary-alt-highlight-light)!important}.decoration-primary-alt-highlight-light{text-decoration-color:var(--primary-alt-highlight-light)!important}.text-secondary-3000-dark{color:var(--secondary-3000-dark)!important}.bg-secondary-3000-dark{background-color:var(--secondary-3000-dark)!important}.border-secondary-3000-dark{border-color:var(--secondary-3000-dark)!important}.border-l-secondary-3000-dark{border-left-color:var(--secondary-3000-dark)!important}.border-r-secondary-3000-dark{border-right-color:var(--secondary-3000-dark)!important}.border-t-secondary-3000-dark{border-top-color:var(--secondary-3000-dark)!important}.border-b-secondary-3000-dark{border-bottom-color:var(--secondary-3000-dark)!important}.border-x-secondary-3000-dark{border-left-color:var(--secondary-3000-dark)!important;border-right-color:var(--secondary-3000-dark)!important}.border-y-secondary-3000-dark{border-bottom-color:var(--secondary-3000-dark)!important;border-top-color:var(--secondary-3000-dark)!important}.decoration-secondary-3000-dark{text-decoration-color:var(--secondary-3000-dark)!important}.text-secondary-3000-hover-dark{color:var(--secondary-3000-hover-dark)!important}.bg-secondary-3000-hover-dark{background-color:var(--secondary-3000-hover-dark)!important}.border-secondary-3000-hover-dark{border-color:var(--secondary-3000-hover-dark)!important}.border-l-secondary-3000-hover-dark{border-left-color:var(--secondary-3000-hover-dark)!important}.border-r-secondary-3000-hover-dark{border-right-color:var(--secondary-3000-hover-dark)!important}.border-t-secondary-3000-hover-dark{border-top-color:var(--secondary-3000-hover-dark)!important}.border-b-secondary-3000-hover-dark{border-bottom-color:var(--secondary-3000-hover-dark)!important}.border-x-secondary-3000-hover-dark{border-left-color:var(--secondary-3000-hover-dark)!important;border-right-color:var(--secondary-3000-hover-dark)!important}.border-y-secondary-3000-hover-dark{border-bottom-color:var(--secondary-3000-hover-dark)!important;border-top-color:var(--secondary-3000-hover-dark)!important}.decoration-secondary-3000-hover-dark{text-decoration-color:var(--secondary-3000-hover-dark)!important}.text-accent-3000-dark{color:var(--accent-3000-dark)!important}.bg-accent-3000-dark{background-color:var(--accent-3000-dark)!important}.border-accent-3000-dark{border-color:var(--accent-3000-dark)!important}.border-l-accent-3000-dark{border-left-color:var(--accent-3000-dark)!important}.border-r-accent-3000-dark{border-right-color:var(--accent-3000-dark)!important}.border-t-accent-3000-dark{border-top-color:var(--accent-3000-dark)!important}.border-b-accent-3000-dark{border-bottom-color:var(--accent-3000-dark)!important}.border-x-accent-3000-dark{border-left-color:var(--accent-3000-dark)!important;border-right-color:var(--accent-3000-dark)!important}.border-y-accent-3000-dark{border-bottom-color:var(--accent-3000-dark)!important;border-top-color:var(--accent-3000-dark)!important}.decoration-accent-3000-dark{text-decoration-color:var(--accent-3000-dark)!important}.text-bg-3000-dark{color:var(--bg-3000-dark)!important}.bg-bg-3000-dark{background-color:var(--bg-3000-dark)!important}.border-bg-3000-dark{border-color:var(--bg-3000-dark)!important}.border-l-bg-3000-dark{border-left-color:var(--bg-3000-dark)!important}.border-r-bg-3000-dark{border-right-color:var(--bg-3000-dark)!important}.border-t-bg-3000-dark{border-top-color:var(--bg-3000-dark)!important}.border-b-bg-3000-dark{border-bottom-color:var(--bg-3000-dark)!important}.border-x-bg-3000-dark{border-left-color:var(--bg-3000-dark)!important;border-right-color:var(--bg-3000-dark)!important}.border-y-bg-3000-dark{border-bottom-color:var(--bg-3000-dark)!important;border-top-color:var(--bg-3000-dark)!important}.decoration-bg-3000-dark{text-decoration-color:var(--bg-3000-dark)!important}.text-border-3000-dark{color:var(--border-3000-dark)!important}.bg-border-3000-dark{background-color:var(--border-3000-dark)!important}.border-border-3000-dark{border-color:var(--border-3000-dark)!important}.border-l-border-3000-dark{border-left-color:var(--border-3000-dark)!important}.border-r-border-3000-dark{border-right-color:var(--border-3000-dark)!important}.border-t-border-3000-dark{border-top-color:var(--border-3000-dark)!important}.border-b-border-3000-dark{border-bottom-color:var(--border-3000-dark)!important}.border-x-border-3000-dark{border-left-color:var(--border-3000-dark)!important;border-right-color:var(--border-3000-dark)!important}.border-y-border-3000-dark{border-bottom-color:var(--border-3000-dark)!important;border-top-color:var(--border-3000-dark)!important}.decoration-border-3000-dark{text-decoration-color:var(--border-3000-dark)!important}.text-border-bold-3000-dark{color:var(--border-bold-3000-dark)!important}.bg-border-bold-3000-dark{background-color:var(--border-bold-3000-dark)!important}.border-border-bold-3000-dark{border-color:var(--border-bold-3000-dark)!important}.border-l-border-bold-3000-dark{border-left-color:var(--border-bold-3000-dark)!important}.border-r-border-bold-3000-dark{border-right-color:var(--border-bold-3000-dark)!important}.border-t-border-bold-3000-dark{border-top-color:var(--border-bold-3000-dark)!important}.border-b-border-bold-3000-dark{border-bottom-color:var(--border-bold-3000-dark)!important}.border-x-border-bold-3000-dark{border-left-color:var(--border-bold-3000-dark)!important;border-right-color:var(--border-bold-3000-dark)!important}.border-y-border-bold-3000-dark{border-bottom-color:var(--border-bold-3000-dark)!important;border-top-color:var(--border-bold-3000-dark)!important}.decoration-border-bold-3000-dark{text-decoration-color:var(--border-bold-3000-dark)!important}.text-glass-bg-3000-dark{color:var(--glass-bg-3000-dark)!important}.bg-glass-bg-3000-dark{background-color:var(--glass-bg-3000-dark)!important}.border-glass-bg-3000-dark{border-color:var(--glass-bg-3000-dark)!important}.border-l-glass-bg-3000-dark{border-left-color:var(--glass-bg-3000-dark)!important}.border-r-glass-bg-3000-dark{border-right-color:var(--glass-bg-3000-dark)!important}.border-t-glass-bg-3000-dark{border-top-color:var(--glass-bg-3000-dark)!important}.border-b-glass-bg-3000-dark{border-bottom-color:var(--glass-bg-3000-dark)!important}.border-x-glass-bg-3000-dark{border-left-color:var(--glass-bg-3000-dark)!important;border-right-color:var(--glass-bg-3000-dark)!important}.border-y-glass-bg-3000-dark{border-bottom-color:var(--glass-bg-3000-dark)!important;border-top-color:var(--glass-bg-3000-dark)!important}.decoration-glass-bg-3000-dark{text-decoration-color:var(--glass-bg-3000-dark)!important}.text-glass-border-3000-dark{color:var(--glass-border-3000-dark)!important}.bg-glass-border-3000-dark{background-color:var(--glass-border-3000-dark)!important}.border-glass-border-3000-dark{border-color:var(--glass-border-3000-dark)!important}.border-l-glass-border-3000-dark{border-left-color:var(--glass-border-3000-dark)!important}.border-r-glass-border-3000-dark{border-right-color:var(--glass-border-3000-dark)!important}.border-t-glass-border-3000-dark{border-top-color:var(--glass-border-3000-dark)!important}.border-b-glass-border-3000-dark{border-bottom-color:var(--glass-border-3000-dark)!important}.border-x-glass-border-3000-dark{border-left-color:var(--glass-border-3000-dark)!important;border-right-color:var(--glass-border-3000-dark)!important}.border-y-glass-border-3000-dark{border-bottom-color:var(--glass-border-3000-dark)!important;border-top-color:var(--glass-border-3000-dark)!important}.decoration-glass-border-3000-dark{text-decoration-color:var(--glass-border-3000-dark)!important}.text-link-3000-dark{color:var(--link-3000-dark)!important}.bg-link-3000-dark{background-color:var(--link-3000-dark)!important}.border-link-3000-dark{border-color:var(--link-3000-dark)!important}.border-l-link-3000-dark{border-left-color:var(--link-3000-dark)!important}.border-r-link-3000-dark{border-right-color:var(--link-3000-dark)!important}.border-t-link-3000-dark{border-top-color:var(--link-3000-dark)!important}.border-b-link-3000-dark{border-bottom-color:var(--link-3000-dark)!important}.border-x-link-3000-dark{border-left-color:var(--link-3000-dark)!important;border-right-color:var(--link-3000-dark)!important}.border-y-link-3000-dark{border-bottom-color:var(--link-3000-dark)!important;border-top-color:var(--link-3000-dark)!important}.decoration-link-3000-dark{text-decoration-color:var(--link-3000-dark)!important}.text-primary-3000-frame-bg-dark{color:var(--primary-3000-frame-bg-dark)!important}.bg-primary-3000-frame-bg-dark{background-color:var(--primary-3000-frame-bg-dark)!important}.border-primary-3000-frame-bg-dark{border-color:var(--primary-3000-frame-bg-dark)!important}.border-l-primary-3000-frame-bg-dark{border-left-color:var(--primary-3000-frame-bg-dark)!important}.border-r-primary-3000-frame-bg-dark{border-right-color:var(--primary-3000-frame-bg-dark)!important}.border-t-primary-3000-frame-bg-dark{border-top-color:var(--primary-3000-frame-bg-dark)!important}.border-b-primary-3000-frame-bg-dark{border-bottom-color:var(--primary-3000-frame-bg-dark)!important}.border-x-primary-3000-frame-bg-dark{border-left-color:var(--primary-3000-frame-bg-dark)!important;border-right-color:var(--primary-3000-frame-bg-dark)!important}.border-y-primary-3000-frame-bg-dark{border-bottom-color:var(--primary-3000-frame-bg-dark)!important;border-top-color:var(--primary-3000-frame-bg-dark)!important}.decoration-primary-3000-frame-bg-dark{text-decoration-color:var(--primary-3000-frame-bg-dark)!important}.text-primary-3000-button-bg-dark{color:var(--primary-3000-button-bg-dark)!important}.bg-primary-3000-button-bg-dark{background-color:var(--primary-3000-button-bg-dark)!important}.border-primary-3000-button-bg-dark{border-color:var(--primary-3000-button-bg-dark)!important}.border-l-primary-3000-button-bg-dark{border-left-color:var(--primary-3000-button-bg-dark)!important}.border-r-primary-3000-button-bg-dark{border-right-color:var(--primary-3000-button-bg-dark)!important}.border-t-primary-3000-button-bg-dark{border-top-color:var(--primary-3000-button-bg-dark)!important}.border-b-primary-3000-button-bg-dark{border-bottom-color:var(--primary-3000-button-bg-dark)!important}.border-x-primary-3000-button-bg-dark{border-left-color:var(--primary-3000-button-bg-dark)!important;border-right-color:var(--primary-3000-button-bg-dark)!important}.border-y-primary-3000-button-bg-dark{border-bottom-color:var(--primary-3000-button-bg-dark)!important;border-top-color:var(--primary-3000-button-bg-dark)!important}.decoration-primary-3000-button-bg-dark{text-decoration-color:var(--primary-3000-button-bg-dark)!important}.text-primary-3000-button-border-dark{color:var(--primary-3000-button-border-dark)!important}.bg-primary-3000-button-border-dark{background-color:var(--primary-3000-button-border-dark)!important}.border-primary-3000-button-border-dark{border-color:var(--primary-3000-button-border-dark)!important}.border-l-primary-3000-button-border-dark{border-left-color:var(--primary-3000-button-border-dark)!important}.border-r-primary-3000-button-border-dark{border-right-color:var(--primary-3000-button-border-dark)!important}.border-t-primary-3000-button-border-dark{border-top-color:var(--primary-3000-button-border-dark)!important}.border-b-primary-3000-button-border-dark{border-bottom-color:var(--primary-3000-button-border-dark)!important}.border-x-primary-3000-button-border-dark{border-left-color:var(--primary-3000-button-border-dark)!important;border-right-color:var(--primary-3000-button-border-dark)!important}.border-y-primary-3000-button-border-dark{border-bottom-color:var(--primary-3000-button-border-dark)!important;border-top-color:var(--primary-3000-button-border-dark)!important}.decoration-primary-3000-button-border-dark{text-decoration-color:var(--primary-3000-button-border-dark)!important}.text-primary-3000-button-border-hover-dark{color:var(--primary-3000-button-border-hover-dark)!important}.bg-primary-3000-button-border-hover-dark{background-color:var(--primary-3000-button-border-hover-dark)!important}.border-primary-3000-button-border-hover-dark{border-color:var(--primary-3000-button-border-hover-dark)!important}.border-l-primary-3000-button-border-hover-dark{border-left-color:var(--primary-3000-button-border-hover-dark)!important}.border-r-primary-3000-button-border-hover-dark{border-right-color:var(--primary-3000-button-border-hover-dark)!important}.border-t-primary-3000-button-border-hover-dark{border-top-color:var(--primary-3000-button-border-hover-dark)!important}.border-b-primary-3000-button-border-hover-dark{border-bottom-color:var(--primary-3000-button-border-hover-dark)!important}.border-x-primary-3000-button-border-hover-dark{border-left-color:var(--primary-3000-button-border-hover-dark)!important;border-right-color:var(--primary-3000-button-border-hover-dark)!important}.border-y-primary-3000-button-border-hover-dark{border-bottom-color:var(--primary-3000-button-border-hover-dark)!important;border-top-color:var(--primary-3000-button-border-hover-dark)!important}.decoration-primary-3000-button-border-hover-dark{text-decoration-color:var(--primary-3000-button-border-hover-dark)!important}.text-primary-alt-highlight-dark{color:var(--primary-alt-highlight-dark)!important}.bg-primary-alt-highlight-dark{background-color:var(--primary-alt-highlight-dark)!important}.border-primary-alt-highlight-dark{border-color:var(--primary-alt-highlight-dark)!important}.border-l-primary-alt-highlight-dark{border-left-color:var(--primary-alt-highlight-dark)!important}.border-r-primary-alt-highlight-dark{border-right-color:var(--primary-alt-highlight-dark)!important}.border-t-primary-alt-highlight-dark{border-top-color:var(--primary-alt-highlight-dark)!important}.border-b-primary-alt-highlight-dark{border-bottom-color:var(--primary-alt-highlight-dark)!important}.border-x-primary-alt-highlight-dark{border-left-color:var(--primary-alt-highlight-dark)!important;border-right-color:var(--primary-alt-highlight-dark)!important}.border-y-primary-alt-highlight-dark{border-bottom-color:var(--primary-alt-highlight-dark)!important;border-top-color:var(--primary-alt-highlight-dark)!important}.decoration-primary-alt-highlight-dark{text-decoration-color:var(--primary-alt-highlight-dark)!important}.text-secondary-3000-frame-bg-dark{color:var(--secondary-3000-frame-bg-dark)!important}.bg-secondary-3000-frame-bg-dark{background-color:var(--secondary-3000-frame-bg-dark)!important}.border-secondary-3000-frame-bg-dark{border-color:var(--secondary-3000-frame-bg-dark)!important}.border-l-secondary-3000-frame-bg-dark{border-left-color:var(--secondary-3000-frame-bg-dark)!important}.border-r-secondary-3000-frame-bg-dark{border-right-color:var(--secondary-3000-frame-bg-dark)!important}.border-t-secondary-3000-frame-bg-dark{border-top-color:var(--secondary-3000-frame-bg-dark)!important}.border-b-secondary-3000-frame-bg-dark{border-bottom-color:var(--secondary-3000-frame-bg-dark)!important}.border-x-secondary-3000-frame-bg-dark{border-left-color:var(--secondary-3000-frame-bg-dark)!important;border-right-color:var(--secondary-3000-frame-bg-dark)!important}.border-y-secondary-3000-frame-bg-dark{border-bottom-color:var(--secondary-3000-frame-bg-dark)!important;border-top-color:var(--secondary-3000-frame-bg-dark)!important}.decoration-secondary-3000-frame-bg-dark{text-decoration-color:var(--secondary-3000-frame-bg-dark)!important}.text-secondary-3000-button-bg-dark{color:var(--secondary-3000-button-bg-dark)!important}.bg-secondary-3000-button-bg-dark{background-color:var(--secondary-3000-button-bg-dark)!important}.border-secondary-3000-button-bg-dark{border-color:var(--secondary-3000-button-bg-dark)!important}.border-l-secondary-3000-button-bg-dark{border-left-color:var(--secondary-3000-button-bg-dark)!important}.border-r-secondary-3000-button-bg-dark{border-right-color:var(--secondary-3000-button-bg-dark)!important}.border-t-secondary-3000-button-bg-dark{border-top-color:var(--secondary-3000-button-bg-dark)!important}.border-b-secondary-3000-button-bg-dark{border-bottom-color:var(--secondary-3000-button-bg-dark)!important}.border-x-secondary-3000-button-bg-dark{border-left-color:var(--secondary-3000-button-bg-dark)!important;border-right-color:var(--secondary-3000-button-bg-dark)!important}.border-y-secondary-3000-button-bg-dark{border-bottom-color:var(--secondary-3000-button-bg-dark)!important;border-top-color:var(--secondary-3000-button-bg-dark)!important}.decoration-secondary-3000-button-bg-dark{text-decoration-color:var(--secondary-3000-button-bg-dark)!important}.text-secondary-3000-button-border-dark{color:var(--secondary-3000-button-border-dark)!important}.bg-secondary-3000-button-border-dark{background-color:var(--secondary-3000-button-border-dark)!important}.border-secondary-3000-button-border-dark{border-color:var(--secondary-3000-button-border-dark)!important}.border-l-secondary-3000-button-border-dark{border-left-color:var(--secondary-3000-button-border-dark)!important}.border-r-secondary-3000-button-border-dark{border-right-color:var(--secondary-3000-button-border-dark)!important}.border-t-secondary-3000-button-border-dark{border-top-color:var(--secondary-3000-button-border-dark)!important}.border-b-secondary-3000-button-border-dark{border-bottom-color:var(--secondary-3000-button-border-dark)!important}.border-x-secondary-3000-button-border-dark{border-left-color:var(--secondary-3000-button-border-dark)!important;border-right-color:var(--secondary-3000-button-border-dark)!important}.border-y-secondary-3000-button-border-dark{border-bottom-color:var(--secondary-3000-button-border-dark)!important;border-top-color:var(--secondary-3000-button-border-dark)!important}.decoration-secondary-3000-button-border-dark{text-decoration-color:var(--secondary-3000-button-border-dark)!important}.text-secondary-3000-button-border-hover-dark{color:var(--secondary-3000-button-border-hover-dark)!important}.bg-secondary-3000-button-border-hover-dark{background-color:var(--secondary-3000-button-border-hover-dark)!important}.border-secondary-3000-button-border-hover-dark{border-color:var(--secondary-3000-button-border-hover-dark)!important}.border-l-secondary-3000-button-border-hover-dark{border-left-color:var(--secondary-3000-button-border-hover-dark)!important}.border-r-secondary-3000-button-border-hover-dark{border-right-color:var(--secondary-3000-button-border-hover-dark)!important}.border-t-secondary-3000-button-border-hover-dark{border-top-color:var(--secondary-3000-button-border-hover-dark)!important}.border-b-secondary-3000-button-border-hover-dark{border-bottom-color:var(--secondary-3000-button-border-hover-dark)!important}.border-x-secondary-3000-button-border-hover-dark{border-left-color:var(--secondary-3000-button-border-hover-dark)!important;border-right-color:var(--secondary-3000-button-border-hover-dark)!important}.border-y-secondary-3000-button-border-hover-dark{border-bottom-color:var(--secondary-3000-button-border-hover-dark)!important;border-top-color:var(--secondary-3000-button-border-hover-dark)!important}.decoration-secondary-3000-button-border-hover-dark{text-decoration-color:var(--secondary-3000-button-border-hover-dark)!important}.text-danger-3000-frame-bg-dark{color:var(--danger-3000-frame-bg-dark)!important}.bg-danger-3000-frame-bg-dark{background-color:var(--danger-3000-frame-bg-dark)!important}.border-danger-3000-frame-bg-dark{border-color:var(--danger-3000-frame-bg-dark)!important}.border-l-danger-3000-frame-bg-dark{border-left-color:var(--danger-3000-frame-bg-dark)!important}.border-r-danger-3000-frame-bg-dark{border-right-color:var(--danger-3000-frame-bg-dark)!important}.border-t-danger-3000-frame-bg-dark{border-top-color:var(--danger-3000-frame-bg-dark)!important}.border-b-danger-3000-frame-bg-dark{border-bottom-color:var(--danger-3000-frame-bg-dark)!important}.border-x-danger-3000-frame-bg-dark{border-left-color:var(--danger-3000-frame-bg-dark)!important;border-right-color:var(--danger-3000-frame-bg-dark)!important}.border-y-danger-3000-frame-bg-dark{border-bottom-color:var(--danger-3000-frame-bg-dark)!important;border-top-color:var(--danger-3000-frame-bg-dark)!important}.decoration-danger-3000-frame-bg-dark{text-decoration-color:var(--danger-3000-frame-bg-dark)!important}.text-danger-3000-button-border-dark{color:var(--danger-3000-button-border-dark)!important}.bg-danger-3000-button-border-dark{background-color:var(--danger-3000-button-border-dark)!important}.border-danger-3000-button-border-dark{border-color:var(--danger-3000-button-border-dark)!important}.border-l-danger-3000-button-border-dark{border-left-color:var(--danger-3000-button-border-dark)!important}.border-r-danger-3000-button-border-dark{border-right-color:var(--danger-3000-button-border-dark)!important}.border-t-danger-3000-button-border-dark{border-top-color:var(--danger-3000-button-border-dark)!important}.border-b-danger-3000-button-border-dark{border-bottom-color:var(--danger-3000-button-border-dark)!important}.border-x-danger-3000-button-border-dark{border-left-color:var(--danger-3000-button-border-dark)!important;border-right-color:var(--danger-3000-button-border-dark)!important}.border-y-danger-3000-button-border-dark{border-bottom-color:var(--danger-3000-button-border-dark)!important;border-top-color:var(--danger-3000-button-border-dark)!important}.decoration-danger-3000-button-border-dark{text-decoration-color:var(--danger-3000-button-border-dark)!important}.text-danger-3000-button-border-hover-dark{color:var(--danger-3000-button-border-hover-dark)!important}.bg-danger-3000-button-border-hover-dark{background-color:var(--danger-3000-button-border-hover-dark)!important}.border-danger-3000-button-border-hover-dark{border-color:var(--danger-3000-button-border-hover-dark)!important}.border-l-danger-3000-button-border-hover-dark{border-left-color:var(--danger-3000-button-border-hover-dark)!important}.border-r-danger-3000-button-border-hover-dark{border-right-color:var(--danger-3000-button-border-hover-dark)!important}.border-t-danger-3000-button-border-hover-dark{border-top-color:var(--danger-3000-button-border-hover-dark)!important}.border-b-danger-3000-button-border-hover-dark{border-bottom-color:var(--danger-3000-button-border-hover-dark)!important}.border-x-danger-3000-button-border-hover-dark{border-left-color:var(--danger-3000-button-border-hover-dark)!important;border-right-color:var(--danger-3000-button-border-hover-dark)!important}.border-y-danger-3000-button-border-hover-dark{border-bottom-color:var(--danger-3000-button-border-hover-dark)!important;border-top-color:var(--danger-3000-button-border-hover-dark)!important}.decoration-danger-3000-button-border-hover-dark{text-decoration-color:var(--danger-3000-button-border-hover-dark)!important}.text-default{color:var(--default)!important}.bg-default{background-color:var(--default)!important}.border-default{border-color:var(--default)!important}.border-l-default{border-left-color:var(--default)!important}.border-r-default{border-right-color:var(--default)!important}.border-t-default{border-top-color:var(--default)!important}.border-b-default{border-bottom-color:var(--default)!important}.border-x-default{border-left-color:var(--default)!important;border-right-color:var(--default)!important}.border-y-default{border-bottom-color:var(--default)!important;border-top-color:var(--default)!important}.decoration-default{text-decoration-color:var(--default)!important}.text-text-3000{color:var(--text-3000)!important}.bg-text-3000{background-color:var(--text-3000)!important}.border-text-3000{border-color:var(--text-3000)!important}.border-l-text-3000{border-left-color:var(--text-3000)!important}.border-r-text-3000{border-right-color:var(--text-3000)!important}.border-t-text-3000{border-top-color:var(--text-3000)!important}.border-b-text-3000{border-bottom-color:var(--text-3000)!important}.border-x-text-3000{border-left-color:var(--text-3000)!important;border-right-color:var(--text-3000)!important}.border-y-text-3000{border-bottom-color:var(--text-3000)!important;border-top-color:var(--text-3000)!important}.decoration-text-3000{text-decoration-color:var(--text-3000)!important}.text-text-secondary-3000{color:var(--text-secondary-3000)!important}.bg-text-secondary-3000{background-color:var(--text-secondary-3000)!important}.border-text-secondary-3000{border-color:var(--text-secondary-3000)!important}.border-l-text-secondary-3000{border-left-color:var(--text-secondary-3000)!important}.border-r-text-secondary-3000{border-right-color:var(--text-secondary-3000)!important}.border-t-text-secondary-3000{border-top-color:var(--text-secondary-3000)!important}.border-b-text-secondary-3000{border-bottom-color:var(--text-secondary-3000)!important}.border-x-text-secondary-3000{border-left-color:var(--text-secondary-3000)!important;border-right-color:var(--text-secondary-3000)!important}.border-y-text-secondary-3000{border-bottom-color:var(--text-secondary-3000)!important;border-top-color:var(--text-secondary-3000)!important}.decoration-text-secondary-3000{text-decoration-color:var(--text-secondary-3000)!important}.text-muted-3000{color:var(--muted-3000)!important}.bg-muted-3000{background-color:var(--muted-3000)!important}.border-muted-3000{border-color:var(--muted-3000)!important}.border-l-muted-3000{border-left-color:var(--muted-3000)!important}.border-r-muted-3000{border-right-color:var(--muted-3000)!important}.border-t-muted-3000{border-top-color:var(--muted-3000)!important}.border-b-muted-3000{border-bottom-color:var(--muted-3000)!important}.border-x-muted-3000{border-left-color:var(--muted-3000)!important;border-right-color:var(--muted-3000)!important}.border-y-muted-3000{border-bottom-color:var(--muted-3000)!important;border-top-color:var(--muted-3000)!important}.decoration-muted-3000{text-decoration-color:var(--muted-3000)!important}.text-primary-3000{color:var(--primary-3000)!important}.bg-primary-3000{background-color:var(--primary-3000)!important}.border-primary-3000{border-color:var(--primary-3000)!important}.border-l-primary-3000{border-left-color:var(--primary-3000)!important}.border-r-primary-3000{border-right-color:var(--primary-3000)!important}.border-t-primary-3000{border-top-color:var(--primary-3000)!important}.border-b-primary-3000{border-bottom-color:var(--primary-3000)!important}.border-x-primary-3000{border-left-color:var(--primary-3000)!important;border-right-color:var(--primary-3000)!important}.border-y-primary-3000{border-bottom-color:var(--primary-3000)!important;border-top-color:var(--primary-3000)!important}.decoration-primary-3000{text-decoration-color:var(--primary-3000)!important}.text-secondary-3000{color:var(--secondary-3000)!important}.bg-secondary-3000{background-color:var(--secondary-3000)!important}.border-secondary-3000{border-color:var(--secondary-3000)!important}.border-l-secondary-3000{border-left-color:var(--secondary-3000)!important}.border-r-secondary-3000{border-right-color:var(--secondary-3000)!important}.border-t-secondary-3000{border-top-color:var(--secondary-3000)!important}.border-b-secondary-3000{border-bottom-color:var(--secondary-3000)!important}.border-x-secondary-3000{border-left-color:var(--secondary-3000)!important;border-right-color:var(--secondary-3000)!important}.border-y-secondary-3000{border-bottom-color:var(--secondary-3000)!important;border-top-color:var(--secondary-3000)!important}.decoration-secondary-3000{text-decoration-color:var(--secondary-3000)!important}.text-secondary-3000-hover{color:var(--secondary-3000-hover)!important}.bg-secondary-3000-hover{background-color:var(--secondary-3000-hover)!important}.border-secondary-3000-hover{border-color:var(--secondary-3000-hover)!important}.border-l-secondary-3000-hover{border-left-color:var(--secondary-3000-hover)!important}.border-r-secondary-3000-hover{border-right-color:var(--secondary-3000-hover)!important}.border-t-secondary-3000-hover{border-top-color:var(--secondary-3000-hover)!important}.border-b-secondary-3000-hover{border-bottom-color:var(--secondary-3000-hover)!important}.border-x-secondary-3000-hover{border-left-color:var(--secondary-3000-hover)!important;border-right-color:var(--secondary-3000-hover)!important}.border-y-secondary-3000-hover{border-bottom-color:var(--secondary-3000-hover)!important;border-top-color:var(--secondary-3000-hover)!important}.decoration-secondary-3000-hover{text-decoration-color:var(--secondary-3000-hover)!important}.text-accent-3000{color:var(--accent-3000)!important}.bg-accent-3000{background-color:var(--accent-3000)!important}.border-accent-3000{border-color:var(--accent-3000)!important}.border-l-accent-3000{border-left-color:var(--accent-3000)!important}.border-r-accent-3000{border-right-color:var(--accent-3000)!important}.border-t-accent-3000{border-top-color:var(--accent-3000)!important}.border-b-accent-3000{border-bottom-color:var(--accent-3000)!important}.border-x-accent-3000{border-left-color:var(--accent-3000)!important;border-right-color:var(--accent-3000)!important}.border-y-accent-3000{border-bottom-color:var(--accent-3000)!important;border-top-color:var(--accent-3000)!important}.decoration-accent-3000{text-decoration-color:var(--accent-3000)!important}.text-bg-3000{color:var(--bg-3000)!important}.bg-bg-3000{background-color:var(--bg-3000)!important}.border-bg-3000{border-color:var(--bg-3000)!important}.border-l-bg-3000{border-left-color:var(--bg-3000)!important}.border-r-bg-3000{border-right-color:var(--bg-3000)!important}.border-t-bg-3000{border-top-color:var(--bg-3000)!important}.border-b-bg-3000{border-bottom-color:var(--bg-3000)!important}.border-x-bg-3000{border-left-color:var(--bg-3000)!important;border-right-color:var(--bg-3000)!important}.border-y-bg-3000{border-bottom-color:var(--bg-3000)!important;border-top-color:var(--bg-3000)!important}.decoration-bg-3000{text-decoration-color:var(--bg-3000)!important}.text-primary-highlight{color:var(--primary-highlight)!important}.bg-primary-highlight{background-color:var(--primary-highlight)!important}.border-primary-highlight{border-color:var(--primary-highlight)!important}.border-l-primary-highlight{border-left-color:var(--primary-highlight)!important}.border-r-primary-highlight{border-right-color:var(--primary-highlight)!important}.border-t-primary-highlight{border-top-color:var(--primary-highlight)!important}.border-b-primary-highlight{border-bottom-color:var(--primary-highlight)!important}.border-x-primary-highlight{border-left-color:var(--primary-highlight)!important;border-right-color:var(--primary-highlight)!important}.border-y-primary-highlight{border-bottom-color:var(--primary-highlight)!important;border-top-color:var(--primary-highlight)!important}.decoration-primary-highlight{text-decoration-color:var(--primary-highlight)!important}.text-primary-alt-highlight{color:var(--primary-alt-highlight)!important}.bg-primary-alt-highlight{background-color:var(--primary-alt-highlight)!important}.border-primary-alt-highlight{border-color:var(--primary-alt-highlight)!important}.border-l-primary-alt-highlight{border-left-color:var(--primary-alt-highlight)!important}.border-r-primary-alt-highlight{border-right-color:var(--primary-alt-highlight)!important}.border-t-primary-alt-highlight{border-top-color:var(--primary-alt-highlight)!important}.border-b-primary-alt-highlight{border-bottom-color:var(--primary-alt-highlight)!important}.border-x-primary-alt-highlight{border-left-color:var(--primary-alt-highlight)!important;border-right-color:var(--primary-alt-highlight)!important}.border-y-primary-alt-highlight{border-bottom-color:var(--primary-alt-highlight)!important;border-top-color:var(--primary-alt-highlight)!important}.decoration-primary-alt-highlight{text-decoration-color:var(--primary-alt-highlight)!important}.text-primary-alt{color:var(--primary-alt)!important}.bg-primary-alt{background-color:var(--primary-alt)!important}.border-primary-alt{border-color:var(--primary-alt)!important}.border-l-primary-alt{border-left-color:var(--primary-alt)!important}.border-r-primary-alt{border-right-color:var(--primary-alt)!important}.border-t-primary-alt{border-top-color:var(--primary-alt)!important}.border-b-primary-alt{border-bottom-color:var(--primary-alt)!important}.border-x-primary-alt{border-left-color:var(--primary-alt)!important;border-right-color:var(--primary-alt)!important}.border-y-primary-alt{border-bottom-color:var(--primary-alt)!important;border-top-color:var(--primary-alt)!important}.decoration-primary-alt{text-decoration-color:var(--primary-alt)!important}.hover\\:text-primary:hover{color:#1d4aff!important}.hover\\:bg-primary:hover{background-color:#1d4aff!important}.hover\\:border-primary:hover{border-color:#1d4aff!important}.hover\\:text-danger-highlight:hover{color:rgba(219,55,7,.1)!important}.hover\\:bg-danger-highlight:hover{background-color:rgba(219,55,7,.1)!important}.hover\\:border-danger-highlight:hover{border-color:rgba(219,55,7,.1)!important}.hover\\:text-danger-lighter:hover{color:#ffa599!important}.hover\\:bg-danger-lighter:hover{background-color:#ffa599!important}.hover\\:border-danger-lighter:hover{border-color:#ffa599!important}.hover\\:text-danger-light:hover{color:#df4b20!important}.hover\\:bg-danger-light:hover{background-color:#df4b20!important}.hover\\:border-danger-light:hover{border-color:#df4b20!important}.hover\\:text-danger:hover{color:#db3707!important}.hover\\:bg-danger:hover{background-color:#db3707!important}.hover\\:border-danger:hover{border-color:#db3707!important}.hover\\:text-danger-dark:hover{color:#992705!important}.hover\\:bg-danger-dark:hover{background-color:#992705!important}.hover\\:border-danger-dark:hover{border-color:#992705!important}.hover\\:text-warning-highlight:hover{color:rgba(247,165,1,.1)!important}.hover\\:bg-warning-highlight:hover{background-color:rgba(247,165,1,.1)!important}.hover\\:border-warning-highlight:hover{border-color:rgba(247,165,1,.1)!important}.hover\\:text-warning:hover{color:#f7a501!important}.hover\\:bg-warning:hover{background-color:#f7a501!important}.hover\\:border-warning:hover{border-color:#f7a501!important}.hover\\:text-warning-dark:hover{color:#e09423!important}.hover\\:bg-warning-dark:hover{background-color:#e09423!important}.hover\\:border-warning-dark:hover{border-color:#e09423!important}.hover\\:text-highlight:hover{color:#e49f2c!important}.hover\\:bg-highlight:hover{background-color:#e49f2c!important}.hover\\:border-highlight:hover{border-color:#e49f2c!important}.hover\\:text-success-highlight:hover{color:rgba(56,134,0,.1)!important}.hover\\:bg-success-highlight:hover{background-color:rgba(56,134,0,.1)!important}.hover\\:border-success-highlight:hover{border-color:rgba(56,134,0,.1)!important}.hover\\:text-success-light:hover{color:#5f9d32!important}.hover\\:bg-success-light:hover{background-color:#5f9d32!important}.hover\\:border-success-light:hover{border-color:#5f9d32!important}.hover\\:text-success:hover{color:#388600!important}.hover\\:bg-success:hover{background-color:#388600!important}.hover\\:border-success:hover{border-color:#388600!important}.hover\\:text-success-dark:hover{color:#245700!important}.hover\\:bg-success-dark:hover{background-color:#245700!important}.hover\\:border-success-dark:hover{border-color:#245700!important}.hover\\:text-muted:hover{color:#5f5f5f!important}.hover\\:bg-muted:hover{background-color:#5f5f5f!important}.hover\\:border-muted:hover{border-color:#5f5f5f!important}.hover\\:text-muted-alt:hover{color:#747ea1!important}.hover\\:bg-muted-alt:hover{background-color:#747ea1!important}.hover\\:border-muted-alt:hover{border-color:#747ea1!important}.hover\\:text-mark:hover{color:hsla(42,94%,86%,.8)!important}.hover\\:bg-mark:hover{background-color:hsla(42,94%,86%,.8)!important}.hover\\:border-mark:hover{border-color:hsla(42,94%,86%,.8)!important}.hover\\:text-white:hover{color:#fff!important}.hover\\:bg-white:hover{background-color:#fff!important}.hover\\:border-white:hover{border-color:#fff!important}.hover\\:text-bg-light:hover{color:#fff!important}.hover\\:bg-bg-light:hover{background-color:#fff!important}.hover\\:border-bg-light:hover{border-color:#fff!important}.hover\\:text-side:hover{color:#fafaf9!important}.hover\\:bg-side:hover{background-color:#fafaf9!important}.hover\\:border-side:hover{border-color:#fafaf9!important}.hover\\:text-mid:hover{color:#f2f2f2!important}.hover\\:bg-mid:hover{background-color:#f2f2f2!important}.hover\\:border-mid:hover{border-color:#f2f2f2!important}.hover\\:text-border:hover{color:rgba(0,0,0,.15)!important}.hover\\:bg-border:hover{background-color:rgba(0,0,0,.15)!important}.hover\\:border-border:hover{border-color:rgba(0,0,0,.15)!important}.hover\\:text-border-light:hover{color:rgba(0,0,0,.08)!important}.hover\\:bg-border-light:hover{background-color:rgba(0,0,0,.08)!important}.hover\\:border-border-light:hover{border-color:rgba(0,0,0,.08)!important}.hover\\:text-border-bold:hover{color:rgba(0,0,0,.24)!important}.hover\\:bg-border-bold:hover{background-color:rgba(0,0,0,.24)!important}.hover\\:border-border-bold:hover{border-color:rgba(0,0,0,.24)!important}.hover\\:text-transparent:hover{color:transparent!important}.hover\\:bg-transparent:hover{background-color:transparent!important}.hover\\:border-transparent:hover{border-color:transparent!important}.hover\\:text-link:hover{color:var(--primary-3000)!important}.hover\\:bg-link:hover{background-color:var(--primary-3000)!important}.hover\\:border-link:hover{border-color:var(--primary-3000)!important}.hover\\:text-brand-blue:hover{color:#1d4aff!important}.hover\\:bg-brand-blue:hover{background-color:#1d4aff!important}.hover\\:border-brand-blue:hover{border-color:#1d4aff!important}.hover\\:text-brand-red:hover{color:#f54e00!important}.hover\\:bg-brand-red:hover{background-color:#f54e00!important}.hover\\:border-brand-red:hover{border-color:#f54e00!important}.hover\\:text-brand-yellow:hover{color:#f9bd2b!important}.hover\\:bg-brand-yellow:hover{background-color:#f9bd2b!important}.hover\\:border-brand-yellow:hover{border-color:#f9bd2b!important}.hover\\:text-brand-key:hover{color:#000!important}.hover\\:bg-brand-key:hover{background-color:#000!important}.hover\\:border-brand-key:hover{border-color:#000!important}.hover\\:text-text-3000-light:hover{color:#111!important}.hover\\:bg-text-3000-light:hover{background-color:#111!important}.hover\\:border-text-3000-light:hover{border-color:#111!important}.hover\\:text-text-secondary-3000-light:hover{color:hsla(0,0%,7%,.7)!important}.hover\\:bg-text-secondary-3000-light:hover{background-color:hsla(0,0%,7%,.7)!important}.hover\\:border-text-secondary-3000-light:hover{border-color:hsla(0,0%,7%,.7)!important}.hover\\:text-muted-3000-light:hover{color:hsla(0,0%,7%,.6)!important}.hover\\:bg-muted-3000-light:hover{background-color:hsla(0,0%,7%,.6)!important}.hover\\:border-muted-3000-light:hover{border-color:hsla(0,0%,7%,.6)!important}.hover\\:text-trace-3000-light:hover{color:hsla(0,0%,7%,.25)!important}.hover\\:bg-trace-3000-light:hover{background-color:hsla(0,0%,7%,.25)!important}.hover\\:border-trace-3000-light:hover{border-color:hsla(0,0%,7%,.25)!important}.hover\\:text-primary-3000-light:hover{color:#f54e01!important}.hover\\:bg-primary-3000-light:hover{background-color:#f54e01!important}.hover\\:border-primary-3000-light:hover{border-color:#f54e01!important}.hover\\:text-primary-highlight-light:hover{color:rgba(245,78,1,.1)!important}.hover\\:bg-primary-highlight-light:hover{background-color:rgba(245,78,1,.1)!important}.hover\\:border-primary-highlight-light:hover{border-color:rgba(245,78,1,.1)!important}.hover\\:text-primary-3000-hover-light:hover{color:#f54e01!important}.hover\\:bg-primary-3000-hover-light:hover{background-color:#f54e01!important}.hover\\:border-primary-3000-hover-light:hover{border-color:#f54e01!important}.hover\\:text-primary-3000-active-light:hover{color:#f54e01!important}.hover\\:bg-primary-3000-active-light:hover{background-color:#f54e01!important}.hover\\:border-primary-3000-active-light:hover{border-color:#f54e01!important}.hover\\:text-secondary-3000-light:hover{color:hsla(68,14%,79%,.6)!important}.hover\\:bg-secondary-3000-light:hover{background-color:hsla(68,14%,79%,.6)!important}.hover\\:border-secondary-3000-light:hover{border-color:hsla(68,14%,79%,.6)!important}.hover\\:text-secondary-3000-hover-light:hover{color:#cfd1c2!important}.hover\\:bg-secondary-3000-hover-light:hover{background-color:#cfd1c2!important}.hover\\:border-secondary-3000-hover-light:hover{border-color:#cfd1c2!important}.hover\\:text-accent-3000-light:hover{color:#eeefe9!important}.hover\\:bg-accent-3000-light:hover{background-color:#eeefe9!important}.hover\\:border-accent-3000-light:hover{border-color:#eeefe9!important}.hover\\:text-bg-3000-light:hover{color:#f3f4ef!important}.hover\\:bg-bg-3000-light:hover{background-color:#f3f4ef!important}.hover\\:border-bg-3000-light:hover{border-color:#f3f4ef!important}.hover\\:text-border-3000-light:hover{color:#dadbd2!important}.hover\\:bg-border-3000-light:hover{background-color:#dadbd2!important}.hover\\:border-border-3000-light:hover{border-color:#dadbd2!important}.hover\\:text-border-bold-3000-light:hover{color:#c1c2b9!important}.hover\\:bg-border-bold-3000-light:hover{background-color:#c1c2b9!important}.hover\\:border-border-bold-3000-light:hover{border-color:#c1c2b9!important}.hover\\:text-glass-bg-3000-light:hover{color:hsla(69,12%,88%,.702)!important}.hover\\:bg-glass-bg-3000-light:hover{background-color:hsla(69,12%,88%,.702)!important}.hover\\:border-glass-bg-3000-light:hover{border-color:hsla(69,12%,88%,.702)!important}.hover\\:text-glass-border-3000-light:hover{color:#e4e5de!important}.hover\\:bg-glass-border-3000-light:hover{background-color:#e4e5de!important}.hover\\:border-glass-border-3000-light:hover{border-color:#e4e5de!important}.hover\\:text-link-3000-light:hover{color:#f54e00!important}.hover\\:bg-link-3000-light:hover{background-color:#f54e00!important}.hover\\:border-link-3000-light:hover{border-color:#f54e00!important}.hover\\:text-primary-3000-frame-bg-light:hover{color:#eb9d2a!important}.hover\\:bg-primary-3000-frame-bg-light:hover{background-color:#eb9d2a!important}.hover\\:border-primary-3000-frame-bg-light:hover{border-color:#eb9d2a!important}.hover\\:text-primary-3000-button-bg-light:hover{color:#fff!important}.hover\\:bg-primary-3000-button-bg-light:hover{background-color:#fff!important}.hover\\:border-primary-3000-button-bg-light:hover{border-color:#fff!important}.hover\\:text-primary-3000-button-border-light:hover{color:#b17816!important}.hover\\:bg-primary-3000-button-border-light:hover{background-color:#b17816!important}.hover\\:border-primary-3000-button-border-light:hover{border-color:#b17816!important}.hover\\:text-primary-3000-button-border-hover-light:hover{color:#8e5b03!important}.hover\\:bg-primary-3000-button-border-hover-light:hover{background-color:#8e5b03!important}.hover\\:border-primary-3000-button-border-hover-light:hover{border-color:#8e5b03!important}.hover\\:text-secondary-3000-frame-bg-light:hover{color:#e1dddd!important}.hover\\:bg-secondary-3000-frame-bg-light:hover{background-color:#e1dddd!important}.hover\\:border-secondary-3000-frame-bg-light:hover{border-color:#e1dddd!important}.hover\\:text-secondary-3000-button-bg-light:hover{color:#f3f4ef!important}.hover\\:bg-secondary-3000-button-bg-light:hover{background-color:#f3f4ef!important}.hover\\:border-secondary-3000-button-bg-light:hover{border-color:#f3f4ef!important}.hover\\:text-secondary-3000-button-border-light:hover{color:#ccc!important}.hover\\:bg-secondary-3000-button-border-light:hover{background-color:#ccc!important}.hover\\:border-secondary-3000-button-border-light:hover{border-color:#ccc!important}.hover\\:text-secondary-3000-button-border-hover-light:hover{color:#aaa!important}.hover\\:bg-secondary-3000-button-border-hover-light:hover{background-color:#aaa!important}.hover\\:border-secondary-3000-button-border-hover-light:hover{border-color:#aaa!important}.hover\\:text-danger-3000-frame-bg-light:hover{color:rgba(245,78,0,.502)!important}.hover\\:bg-danger-3000-frame-bg-light:hover{background-color:rgba(245,78,0,.502)!important}.hover\\:border-danger-3000-frame-bg-light:hover{border-color:rgba(245,78,0,.502)!important}.hover\\:text-danger-3000-button-border-light:hover{color:#e96b30!important}.hover\\:bg-danger-3000-button-border-light:hover{background-color:#e96b30!important}.hover\\:border-danger-3000-button-border-light:hover{border-color:#e96b30!important}.hover\\:text-danger-3000-button-border-hover-light:hover{color:#f54e00!important}.hover\\:bg-danger-3000-button-border-hover-light:hover{background-color:#f54e00!important}.hover\\:border-danger-3000-button-border-hover-light:hover{border-color:#f54e00!important}.hover\\:text-shadow-elevation-3000-light:hover{color:0 3px 0 var(--border-3000-light)!important}.hover\\:bg-shadow-elevation-3000-light:hover{background-color:0 3px 0 var(--border-3000-light)!important}.hover\\:border-shadow-elevation-3000-light:hover{border-color:0 3px 0 var(--border-3000-light)!important}.hover\\:text-shadow-elevation-3000-dark:hover{color:0 3px 0 var(--border-3000-dark)!important}.hover\\:bg-shadow-elevation-3000-dark:hover{background-color:0 3px 0 var(--border-3000-dark)!important}.hover\\:border-shadow-elevation-3000-dark:hover{border-color:0 3px 0 var(--border-3000-dark)!important}.hover\\:text-text-3000-dark:hover{color:#fff!important}.hover\\:bg-text-3000-dark:hover{background-color:#fff!important}.hover\\:border-text-3000-dark:hover{border-color:#fff!important}.hover\\:text-text-secondary-3000-dark:hover{color:hsla(0,0%,100%,.7)!important}.hover\\:bg-text-secondary-3000-dark:hover{background-color:hsla(0,0%,100%,.7)!important}.hover\\:border-text-secondary-3000-dark:hover{border-color:hsla(0,0%,100%,.7)!important}.hover\\:text-muted-3000-dark:hover{color:hsla(0,0%,100%,.5)!important}.hover\\:bg-muted-3000-dark:hover{background-color:hsla(0,0%,100%,.5)!important}.hover\\:border-muted-3000-dark:hover{border-color:hsla(0,0%,100%,.5)!important}.hover\\:text-trace-3000-dark:hover{color:hsla(0,0%,100%,.25)!important}.hover\\:bg-trace-3000-dark:hover{background-color:hsla(0,0%,100%,.25)!important}.hover\\:border-trace-3000-dark:hover{border-color:hsla(0,0%,100%,.25)!important}.hover\\:text-primary-3000-dark:hover{color:#f7a503!important}.hover\\:bg-primary-3000-dark:hover{background-color:#f7a503!important}.hover\\:border-primary-3000-dark:hover{border-color:#f7a503!important}.hover\\:text-primary-highlight-dark:hover{color:rgba(247,165,3,.1)!important}.hover\\:bg-primary-highlight-dark:hover{background-color:rgba(247,165,3,.1)!important}.hover\\:border-primary-highlight-dark:hover{border-color:rgba(247,165,3,.1)!important}.hover\\:text-primary-3000-hover-dark:hover{color:#f7a503!important}.hover\\:bg-primary-3000-hover-dark:hover{background-color:#f7a503!important}.hover\\:border-primary-3000-hover-dark:hover{border-color:#f7a503!important}.hover\\:text-primary-3000-active-dark:hover{color:#f7a503!important}.hover\\:bg-primary-3000-active-dark:hover{background-color:#f7a503!important}.hover\\:border-primary-3000-active-dark:hover{border-color:#f7a503!important}.hover\\:text-primary-alt-highlight-light:hover{color:#e5e7e0!important}.hover\\:bg-primary-alt-highlight-light:hover{background-color:#e5e7e0!important}.hover\\:border-primary-alt-highlight-light:hover{border-color:#e5e7e0!important}.hover\\:text-secondary-3000-dark:hover{color:#1d1f27!important}.hover\\:bg-secondary-3000-dark:hover{background-color:#1d1f27!important}.hover\\:border-secondary-3000-dark:hover{border-color:#1d1f27!important}.hover\\:text-secondary-3000-hover-dark:hover{color:#575d77!important}.hover\\:bg-secondary-3000-hover-dark:hover{background-color:#575d77!important}.hover\\:border-secondary-3000-hover-dark:hover{border-color:#575d77!important}.hover\\:text-accent-3000-dark:hover{color:#21242b!important}.hover\\:bg-accent-3000-dark:hover{background-color:#21242b!important}.hover\\:border-accent-3000-dark:hover{border-color:#21242b!important}.hover\\:text-bg-3000-dark:hover{color:#1d1f27!important}.hover\\:bg-bg-3000-dark:hover{background-color:#1d1f27!important}.hover\\:border-bg-3000-dark:hover{border-color:#1d1f27!important}.hover\\:text-border-3000-dark:hover{color:#35373e!important}.hover\\:bg-border-3000-dark:hover{background-color:#35373e!important}.hover\\:border-border-3000-dark:hover{border-color:#35373e!important}.hover\\:text-border-bold-3000-dark:hover{color:#3f4046!important}.hover\\:bg-border-bold-3000-dark:hover{background-color:#3f4046!important}.hover\\:border-border-bold-3000-dark:hover{border-color:#3f4046!important}.hover\\:text-glass-bg-3000-dark:hover{color:rgba(36,38,42,.6)!important}.hover\\:bg-glass-bg-3000-dark:hover{background-color:rgba(36,38,42,.6)!important}.hover\\:border-glass-bg-3000-dark:hover{border-color:rgba(36,38,42,.6)!important}.hover\\:text-glass-border-3000-dark:hover{color:var(--border-3000-dark)!important}.hover\\:bg-glass-border-3000-dark:hover{background-color:var(--border-3000-dark)!important}.hover\\:border-glass-border-3000-dark:hover{border-color:var(--border-3000-dark)!important}.hover\\:text-link-3000-dark:hover{color:#f1a82c!important}.hover\\:bg-link-3000-dark:hover{background-color:#f1a82c!important}.hover\\:border-link-3000-dark:hover{border-color:#f1a82c!important}.hover\\:text-primary-3000-frame-bg-dark:hover{color:#926826!important}.hover\\:bg-primary-3000-frame-bg-dark:hover{background-color:#926826!important}.hover\\:border-primary-3000-frame-bg-dark:hover{border-color:#926826!important}.hover\\:text-primary-3000-button-bg-dark:hover{color:#e0a045!important}.hover\\:bg-primary-3000-button-bg-dark:hover{background-color:#e0a045!important}.hover\\:border-primary-3000-button-bg-dark:hover{border-color:#e0a045!important}.hover\\:text-primary-3000-button-border-dark:hover{color:#b17816!important}.hover\\:bg-primary-3000-button-border-dark:hover{background-color:#b17816!important}.hover\\:border-primary-3000-button-border-dark:hover{border-color:#b17816!important}.hover\\:text-primary-3000-button-border-hover-dark:hover{color:#8e5b03!important}.hover\\:bg-primary-3000-button-border-hover-dark:hover{background-color:#8e5b03!important}.hover\\:border-primary-3000-button-border-hover-dark:hover{border-color:#8e5b03!important}.hover\\:text-primary-alt-highlight-dark:hover{color:#232429!important}.hover\\:bg-primary-alt-highlight-dark:hover{background-color:#232429!important}.hover\\:border-primary-alt-highlight-dark:hover{border-color:#232429!important}.hover\\:text-secondary-3000-frame-bg-dark:hover{color:#323232!important}.hover\\:bg-secondary-3000-frame-bg-dark:hover{background-color:#323232!important}.hover\\:border-secondary-3000-frame-bg-dark:hover{border-color:#323232!important}.hover\\:text-secondary-3000-button-bg-dark:hover{color:#1d1f27!important}.hover\\:bg-secondary-3000-button-bg-dark:hover{background-color:#1d1f27!important}.hover\\:border-secondary-3000-button-bg-dark:hover{border-color:#1d1f27!important}.hover\\:text-secondary-3000-button-border-dark:hover{color:#4a4c52!important}.hover\\:bg-secondary-3000-button-border-dark:hover{background-color:#4a4c52!important}.hover\\:border-secondary-3000-button-border-dark:hover{border-color:#4a4c52!important}.hover\\:text-secondary-3000-button-border-hover-dark:hover{color:#5e6064!important}.hover\\:bg-secondary-3000-button-border-hover-dark:hover{background-color:#5e6064!important}.hover\\:border-secondary-3000-button-border-hover-dark:hover{border-color:#5e6064!important}.hover\\:text-danger-3000-frame-bg-dark:hover{color:rgba(245,78,0,.502)!important}.hover\\:bg-danger-3000-frame-bg-dark:hover{background-color:rgba(245,78,0,.502)!important}.hover\\:border-danger-3000-frame-bg-dark:hover{border-color:rgba(245,78,0,.502)!important}.hover\\:text-danger-3000-button-border-dark:hover{color:#c44003!important}.hover\\:bg-danger-3000-button-border-dark:hover{background-color:#c44003!important}.hover\\:border-danger-3000-button-border-dark:hover{border-color:#c44003!important}.hover\\:text-danger-3000-button-border-hover-dark:hover{color:#f54e00!important}.hover\\:bg-danger-3000-button-border-hover-dark:hover{background-color:#f54e00!important}.hover\\:border-danger-3000-button-border-hover-dark:hover{border-color:#f54e00!important}.hover\\:text-default:hover{color:var(--default)!important}.hover\\:bg-default:hover{background-color:var(--default)!important}.hover\\:border-default:hover{border-color:var(--default)!important}.hover\\:text-text-3000:hover{color:var(--text-3000)!important}.hover\\:bg-text-3000:hover{background-color:var(--text-3000)!important}.hover\\:border-text-3000:hover{border-color:var(--text-3000)!important}.hover\\:text-text-secondary-3000:hover{color:var(--text-secondary-3000)!important}.hover\\:bg-text-secondary-3000:hover{background-color:var(--text-secondary-3000)!important}.hover\\:border-text-secondary-3000:hover{border-color:var(--text-secondary-3000)!important}.hover\\:text-muted-3000:hover{color:var(--muted-3000)!important}.hover\\:bg-muted-3000:hover{background-color:var(--muted-3000)!important}.hover\\:border-muted-3000:hover{border-color:var(--muted-3000)!important}.hover\\:text-primary-3000:hover{color:var(--primary-3000)!important}.hover\\:bg-primary-3000:hover{background-color:var(--primary-3000)!important}.hover\\:border-primary-3000:hover{border-color:var(--primary-3000)!important}.hover\\:text-secondary-3000:hover{color:var(--secondary-3000)!important}.hover\\:bg-secondary-3000:hover{background-color:var(--secondary-3000)!important}.hover\\:border-secondary-3000:hover{border-color:var(--secondary-3000)!important}.hover\\:text-secondary-3000-hover:hover{color:var(--secondary-3000-hover)!important}.hover\\:bg-secondary-3000-hover:hover{background-color:var(--secondary-3000-hover)!important}.hover\\:border-secondary-3000-hover:hover{border-color:var(--secondary-3000-hover)!important}.hover\\:text-accent-3000:hover{color:var(--accent-3000)!important}.hover\\:bg-accent-3000:hover{background-color:var(--accent-3000)!important}.hover\\:border-accent-3000:hover{border-color:var(--accent-3000)!important}.hover\\:text-bg-3000:hover{color:var(--bg-3000)!important}.hover\\:bg-bg-3000:hover{background-color:var(--bg-3000)!important}.hover\\:border-bg-3000:hover{border-color:var(--bg-3000)!important}.hover\\:text-primary-highlight:hover{color:var(--primary-highlight)!important}.hover\\:bg-primary-highlight:hover{background-color:var(--primary-highlight)!important}.hover\\:border-primary-highlight:hover{border-color:var(--primary-highlight)!important}.hover\\:text-primary-alt-highlight:hover{color:var(--primary-alt-highlight)!important}.hover\\:bg-primary-alt-highlight:hover{background-color:var(--primary-alt-highlight)!important}.hover\\:border-primary-alt-highlight:hover{border-color:var(--primary-alt-highlight)!important}.hover\\:text-primary-alt:hover{color:var(--primary-alt)!important}.hover\\:bg-primary-alt:hover{background-color:var(--primary-alt)!important}.hover\\:border-primary-alt:hover{border-color:var(--primary-alt)!important}.placeholder\\:\\*\\:\\*\\:text-default>*>::-moz-placeholder{color:var(--default)}.placeholder\\:\\*\\:\\*\\:text-default>*>::placeholder{color:var(--default)}.subtitle{align-items:center;display:flex;font-size:22px;font-weight:700;line-height:26px;margin-top:12px}.subtitle.highlighted{padding:1rem 1rem 1rem .5rem}.l3{font-size:16px;font-weight:600;line-height:19px}.l4{font-size:14px;font-weight:700}.col{max-width:100%;min-height:1px;position:relative}.highlighted{animation:highlight 2s ease-out;border-radius:var(--radius);scroll-margin-top:var(--breadcrumbs-height-full)}:root{--neutral-50:#fafafa;--neutral-100:#f5f5f5;--neutral-150:#ebebeb;--neutral-200:#e0e0e0;--neutral-250:#d6d6d6;--neutral-300:#ccc;--neutral-350:#bfbfbf;--neutral-400:#b3b3b3;--neutral-450:#a6a6a6;--neutral-550:#8c8c8c;--neutral-700:#666;--neutral-800:#4d4d4d;--neutral-900:#333;--neutral-950:#262626;--neutral-warm-50:#f3f4f0;--neutral-warm-100:#e8eae0;--neutral-warm-150:#dde0d2;--neutral-warm-200:#d2d6c2;--neutral-warm-250:#c6cbb3;--neutral-warm-300:#bbc1a3;--neutral-warm-350:#b0b795;--neutral-warm-400:#a5ac86;--neutral-warm-450:#99a276;--neutral-warm-500:#8e9867;--neutral-warm-550:#80895d;--neutral-warm-600:#727953;--neutral-warm-650:#636a48;--neutral-warm-700:#565c3e;--neutral-warm-750:#474c34;--neutral-warm-800:#393d29;--neutral-warm-850:#2a2d1f;--neutral-warm-900:#1d1f15;--neutral-warm-950:#0e0f0b;--neutral-cool-50:#f1f2f3;--neutral-cool-100:#e3e5e8;--neutral-cool-150:#d6d8dc;--neutral-cool-200:#c8cbd0;--neutral-cool-250:#babec4;--neutral-cool-300:#adb2b9;--neutral-cool-350:#9fa5ad;--neutral-cool-400:#9197a1;--neutral-cool-450:#838a95;--neutral-cool-500:#767e8a;--neutral-cool-550:#6a717c;--neutral-cool-600:#5e646e;--neutral-cool-650:#525860;--neutral-cool-700:#474c53;--neutral-cool-750:#3b3f45;--neutral-cool-800:#2f3237;--neutral-cool-850:#232529;--neutral-cool-900:#1b1c18;--neutral-cool-950:#0e0e0c;--orange-850:#4c3201;--content-warning:var(--orange-400);--content-danger-bold-disabled:var(--red-800);--content-success-bold-disabled:var(--green-700);--background-secondary:var(--neutral-warm-50);--background-tertiary:var(--neutral-warm-100);--background-hover:var(--neutral-warm-50);--background-pressed:var(--neutral-warm-100);--background-disabled:var(--neutral-warm-50);--background-inverse:var(--neutral-warm-900);--border-primary:var(--neutral-warm-600);--border-secondary:var(--neutral-warm-400);--border-tertiary:var(--neutral-warm-200);--border-disabled:var(--neutral-warm-200);--blue-100:#d2dcfd;--blue-200:#a5b9fb;--blue-300:#7995fa;--blue-400:#4c72f8;--blue-500:#1f4ff6;--blue-600:#193fc5;--blue-700:#132f94;--blue-800:#0c2062;--blue-900:#061031;--brand-100:#fddccc;--brand-200:#fbb899;--brand-300:#f99567;--brand-400:#f77134;--brand-500:#f54e01;--brand-600:#c43e01;--brand-700:#932f01;--brand-800:#621f00;--brand-900:#311000;--green-50:#ebf3e5;--green-100:#d7e7cc;--green-200:#afcf99;--green-300:#88b666;--green-400:#609e33;--green-500:#388600;--green-600:#2d6b00;--green-700:#225000;--green-800:#163600;--green-900:#0b1b00;--neutral-100:#e5e5e5;--neutral-150:#d9d9d9;--neutral-200:#ccc;--neutral-250:#bfbfbf;--neutral-300:#b2b2b2;--neutral-350:#a6a6a6;--neutral-400:#999;--neutral-450:#8c8c8c;--neutral-50:#f2f2f2;--neutral-500:grey;--neutral-550:#737373;--neutral-600:#666;--neutral-650:#595959;--neutral-700:#4d4d4d;--neutral-750:#404040;--neutral-800:#333;--neutral-850:#262626;--neutral-900:#1a1a1a;--neutral-950:#0d0d0d;--orange-50:#fff3e5;--orange-100:#ffe6cc;--orange-200:#fc9;--orange-300:#ffb366;--orange-400:#f93;--orange-500:#ff8000;--orange-600:#c60;--orange-700:#994d00;--orange-800:#630;--orange-900:#331a00;--pink-100:#ffedeb;--pink-200:#ffdbd6;--pink-300:#ffc9c2;--pink-400:#ffb7ad;--pink-500:#ffa599;--pink-600:#cc847a;--pink-700:#99635c;--pink-800:#66423d;--pink-900:#33211f;--primary-black:#000;--primary-black-50:#00000080;--primary-white:#fff;--primary-white-50:#ffffff80;--purple-100:#e0ceff;--purple-200:#c29cff;--purple-300:#a36bff;--purple-400:#8539ff;--purple-500:#6608ff;--purple-600:#5206cc;--purple-700:#3d0599;--purple-800:#290366;--purple-900:#140233;--red-50:#f9ebe6;--red-100:#f8d7cd;--red-200:#f1af9c;--red-300:#e9876a;--red-400:#e25f39;--red-500:#db3707;--red-600:#af2c06;--red-700:#832104;--red-800:#581603;--red-900:#2c0b01;--teal-100:#d9f5f3;--teal-200:#b3eae7;--teal-300:#8de0dc;--teal-400:#67d5d0;--teal-500:#41cbc4;--teal-600:#34a29d;--teal-700:#277a76;--teal-800:#1a514e;--teal-900:#0d2927;--violet-100:#f1d6ff;--violet-200:#e4adff;--violet-300:#d685ff;--violet-400:#c95cff;--violet-500:#b3f;--violet-600:#9629cc;--violet-700:#701f99;--violet-800:#4b1466;--violet-900:#250a33;--yellow-100:#fdedcd;--yellow-200:#fcdb9a;--yellow-300:#fac968;--yellow-400:#f9b735;--yellow-500:#f7a503;--yellow-600:#c68402;--yellow-700:#946302;--yellow-800:#634201;--yellow-900:#312101;--content-primary:var(--neutral-950);--content-secondary:var(--neutral-800);--content-tertiary:var(--neutral-700);--content-primary-inverse:var(--primary-white);--content-secondary-inverse:var(--neutral-100);--content-tertiary-inverse:var(--neutral-300);--content-disabled:var(--neutral-300);--content-brand:var(--brand-500);--content-link:var(--brand-500);--content-link-hover:var(--brand-400);--content-link-pressed:var(--brand-600);--content-warning-bold:var(--orange-700);--content-danger:var(--red-500);--content-danger-bold:var(--red-600);--content-success:var(--green-500);--content-success-bold:var(--green-600);--background-primary:var(--primary-white);--background-secondary:var(--neutral-50);--background-tertiary:var(--neutral-100);--background-hover:var(--neutral-50);--background-pressed:var(--neutral-100);--background-selected:var(--orange-100);--background-disabled:var(--neutral-50);--background-inverse:var(--neutral-900);--background-brand:var(--brand-500);--background-brand-hover:var(--brand-600);--background-brand-pressed:var(--brand-700);--background-warning:var(--orange-500);--background-warning-subtle:var(--orange-50);--background-danger:var(--red-500);--background-danger-subtle:var(--red-50);--background-success:var(--green-500);--background-success-subtle:var(--green-50);--border-primary:var(--neutral-600);--border-secondary:var(--neutral-400);--border-tertiary:var(--neutral-200);--border-disabled:var(--neutral-200);--border-brand:var(--brand-500);--border-inverse:var(--primary-white);--border-focus:var(--blue-500);--border-warning:var(--orange-500);--border-danger:var(--red-500);--border-success:var(--green-500);--overlay-50:var(--primary-black-50);--overlay-50-inverse:var(--primary-white-50);--bg-bridge:#ebece8;--radius:0.375rem;--radius-sm:0.25rem;--radius-lg:0.625rem;--modal-shadow-elevation:0px 16px 16px -16px rgba(0,0,0,.35);--opacity-disabled:0.65;--font-medium:500;--font-semibold:600;--font-sans:-apple-system,BlinkMacSystemFont,"Inter","Segoe UI","Roboto","Helvetica Neue",helvetica,arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-title:"MatterSQ",-apple-system,BlinkMacSystemFont,"Inter","Segoe UI","Roboto","Helvetica Neue",helvetica,arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-mono:ui-monospace,"SFMono-Regular","SF Mono","Menlo","Consolas","Liberation Mono",monospace;--blue:#597dce;--purple:#c278cf;--green:var(--success);--black:var(--text-3000);--data-color-1:#1d4aff;--data-color-2:#621da6;--data-color-3:#42827e;--data-color-4:#ce0e74;--data-color-5:#f14f58;--data-color-6:#7c440e;--data-color-7:#529a0a;--data-color-8:#0476fb;--data-color-9:#fe729e;--data-color-10:#35416b;--data-color-11:#41cbc4;--data-color-12:#b64b02;--data-color-13:#e4a604;--data-color-14:#a56eff;--data-color-15:#30d5c8;--lifecycle-new:#1d4aff;--lifecycle-returning:#388600;--lifecycle-resurrecting:#a56eff;--lifecycle-dormant:#db3707;--lifecycle-new-hover:#0024b6;--lifecycle-returning-hover:#0d2000;--lifecycle-resurrecting-hover:#6608ff;--lifecycle-dormant-hover:#781e04;--funnel-axis:var(--border);--funnel-grid:#ddd;--z-bottom-notice:5100;--z-command-palette:1875;--z-force-modal-above-popovers:1850;--z-tooltip:1070;--z-definition-popover:1065;--z-popover:1064;--z-graph-tooltip:1063;--z-modal:1060;--z-hedgehog-buddy:1059;--z-annotation-popover:1049;--z-drawer:950;--z-notifications-popover:949;--z-main-nav:948;--z-lemon-sidebar:940;--z-lemon-activation-sidebar:939;--z-mobile-nav-overlay:931;--z-top-navigation:800;--z-content-overlay:488;--z-raised:5;--toastify-color-dark:var(--accent-3000-dark);--toastify-color-light:var(--bg-light);--toastify-color-info:var(--primary);--toastify-color-success:var(--success);--toastify-color-warning:var(--warning);--toastify-color-error:var(--danger);--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error);--toastify-toast-background:var(--bg-light);--toastify-toast-width:26rem;--toastify-toast-min-height:3.5rem;--toastify-toast-max-height:16rem;--toastify-text-color-light:#757575;--in-app-prompts-width:26rem;--lettermark-1-bg:#dcb1e3;--lettermark-1-text:#572e5e;--lettermark-2-bg:#ffc4b2;--lettermark-2-text:#3e5891;--lettermark-3-bg:#fdedc9;--lettermark-3-text:#3e5891;--lettermark-4-bg:#3e5891;--lettermark-4-text:#ffc4b2;--lettermark-5-bg:#8da9e7;--lettermark-5-text:#572e5e;--lettermark-6-bg:#572e5e;--lettermark-6-text:#dcb1e3;--lettermark-7-bg:#ffc035;--lettermark-7-text:#35416b;--lettermark-8-bg:#ff906e;--lettermark-8-text:#2a3d65;--modal-backdrop-blur:5px;--modal-backdrop-color:rgba(0,0,0,.2);--modal-transition-time:200ms;--tooltip-bg-light:#2d2d2d;--tooltip-bg-dark:#656d81;--notebook-popover-transition-properties:150ms cubic-bezier(0,0.5,0.5,1);--notebook-column-left-width:27rem;--notebook-column-right-width:20rem;--primary:#1d4aff;--danger-highlight:rgba(219,55,7,.1);--danger-lighter:#ffa599;--danger-light:#df4b20;--danger:#db3707;--danger-dark:#992705;--warning-highlight:rgba(247,165,1,.1);--warning:#f7a501;--warning-dark:#e09423;--highlight:#e49f2c;--success-highlight:rgba(56,134,0,.1);--success-light:#5f9d32;--success:#388600;--success-dark:#245700;--muted:#5f5f5f;--muted-alt:#747ea1;--mark:hsla(42,93%,86%,.8);--white:#fff;--bg-light:#fff;--side:#fafaf9;--mid:#f2f2f2;--border:rgba(0,0,0,.15);--border-light:rgba(0,0,0,.08);--border-bold:rgba(0,0,0,.24);--transparent:transparent;--link:var(--primary-3000);--brand-blue:#1d4aff;--brand-red:#f54e00;--brand-yellow:#f9bd2b;--brand-key:#000;--text-3000-light:#111;--text-secondary-3000-light:hsla(0,0%,7%,.7);--muted-3000-light:hsla(0,0%,7%,.6);--trace-3000-light:hsla(0,0%,7%,.25);--primary-3000-light:#f54e01;--primary-highlight-light:rgba(245,78,1,.1);--primary-3000-hover-light:#f54e01;--primary-3000-active-light:#f54e01;--secondary-3000-light:hsla(68,14%,79%,.6);--secondary-3000-hover-light:#cfd1c2;--accent-3000-light:#eeefe9;--bg-3000-light:#f3f4ef;--border-3000-light:#dadbd2;--border-bold-3000-light:#c1c2b9;--glass-bg-3000-light:hsla(69,12%,88%,.702);--glass-border-3000-light:#e4e5de;--link-3000-light:#f54e00;--primary-3000-frame-bg-light:#eb9d2a;--primary-3000-button-bg-light:#fff;--primary-3000-button-border-light:#b17816;--primary-3000-button-border-hover-light:#8e5b03;--secondary-3000-frame-bg-light:#e1dddd;--secondary-3000-button-bg-light:#f3f4ef;--secondary-3000-button-border-light:#ccc;--secondary-3000-button-border-hover-light:#aaa;--danger-3000-frame-bg-light:rgba(245,78,0,.502);--danger-3000-button-border-light:#e96b30;--danger-3000-button-border-hover-light:#f54e00;--shadow-elevation-3000-light:0 3px 0 var(--border-3000-light);--shadow-elevation-3000-dark:0 3px 0 var(--border-3000-dark);--text-3000-dark:#fff;--text-secondary-3000-dark:hsla(0,0%,100%,.7);--muted-3000-dark:hsla(0,0%,100%,.5);--trace-3000-dark:hsla(0,0%,100%,.25);--primary-3000-dark:#f7a503;--primary-highlight-dark:rgba(247,165,3,.1);--primary-3000-hover-dark:#f7a503;--primary-3000-active-dark:#f7a503;--primary-alt-highlight-light:#e5e7e0;--secondary-3000-dark:#1d1f27;--secondary-3000-hover-dark:#575d77;--accent-3000-dark:#21242b;--bg-3000-dark:#1d1f27;--border-3000-dark:#35373e;--border-bold-3000-dark:#3f4046;--glass-bg-3000-dark:rgba(36,38,42,.6);--glass-border-3000-dark:var(--border-3000-dark);--link-3000-dark:#f1a82c;--primary-3000-frame-bg-dark:#926826;--primary-3000-button-bg-dark:#e0a045;--primary-3000-button-border-dark:#b17816;--primary-3000-button-border-hover-dark:#8e5b03;--primary-alt-highlight-dark:#232429;--secondary-3000-frame-bg-dark:#323232;--secondary-3000-button-bg-dark:#1d1f27;--secondary-3000-button-border-dark:#4a4c52;--secondary-3000-button-border-hover-dark:#5e6064;--danger-3000-frame-bg-dark:rgba(245,78,0,.502);--danger-3000-button-border-dark:#c44003;--danger-3000-button-border-hover-dark:#f54e00;--default:var(--default);--text-3000:var(--text-3000);--text-secondary-3000:var(--text-secondary-3000);--muted-3000:var(--muted-3000);--primary-3000:var(--primary-3000);--secondary-3000:var(--secondary-3000);--secondary-3000-hover:var(--secondary-3000-hover);--accent-3000:var(--accent-3000);--bg-3000:var(--bg-3000);--primary-highlight:var(--primary-highlight);--primary-alt-highlight:var(--primary-alt-highlight);--primary-alt:var(--primary-alt)}*,:after,:before{border-color:var(--border)}input[type=radio]{accent-color:var(--primary-3000)}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration{display:none}.page-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin:1rem 0 .25rem;min-height:2.5rem}@media screen and (min-width:768px){.page-title-row{flex-wrap:nowrap}}.page-title{font-size:28px;font-weight:600;line-height:34px;margin:0;min-width:0}.page-caption{font-size:.875rem;line-height:1.25rem;margin-bottom:1rem;max-width:48rem}.page-caption.tabbed{margin-bottom:.5rem}.secondary{background:none;border:0;color:var(--primary-alt);font-size:.9em;font-weight:var(--font-medium);letter-spacing:1px;text-transform:uppercase}.card-secondary{color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}mark{background-color:var(--mark)!important;border-radius:var(--radius)}hr{border-top:1px solid var(--border);margin:1em 0}input::-ms-clear{display:none}@keyframes highlight{0%{background-color:var(--mark)}to{background-color:initial}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.Toastify__toast{align-items:center;border:1px solid var(--secondary-3000-button-border);border-radius:var(--radius);box-shadow:var(--shadow-elevation-3000);cursor:unset;font-family:var(--font-sans);font-size:1rem;margin-bottom:.5rem;opacity:1!important;padding:.75rem}.Toastify__toast-container{padding:0}.Toastify__toast-body{color:var(--text-3000);font-size:.875rem;font-weight:500;line-height:1.25rem;padding:0}.Toastify__toast-body b,.Toastify__toast-body strong{font-weight:700}.Toastify__toast-body button{margin:0 .75rem}.Toastify__toast-icon{color:var(--muted-alt);font-size:1.5rem;height:1.5rem;margin-right:.75rem;width:1.5rem}.Toastify__toast--success .Toastify__toast-icon{color:var(--toastify-color-success)}.Toastify__toast--warning .Toastify__toast-icon{color:var(--toastify-color-warning)}.Toastify__toast--error .Toastify__toast-icon{color:var(--toastify-color-error)}.Toastify__progress-bar{height:var(--radius)}.error-on-blur.errored:not(:focus){border-color:var(--danger)!important}.info-indicator{color:var(--primary-alt)!important;cursor:pointer;margin-left:4px}.info-indicator.left{margin-left:0;margin-right:4px}.graph-series-glyph{align-items:center;border:2px solid var(--text-3000);border-radius:50%;display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:22px;justify-content:center;pointer-events:none;width:22px}.graph-series-glyph.funnel-step-glyph{background-color:var(--bg-light);border-color:var(--border);color:var(--primary-alt);font-size:unset;height:23px;width:23px}#bottom-notice{background:#000;bottom:0;color:#fff;display:flex!important;flex-direction:row;font-size:.75rem;left:0;line-height:1.5rem;position:fixed;width:100%;z-index:var(--z-bottom-notice)}#bottom-notice code{color:inherit;font-size:inherit}#bottom-notice.warning div{background:var(--danger);height:auto}#bottom-notice.tricolor{cursor:pointer}#bottom-notice.tricolor div:first-child{background:var(--brand-blue)}#bottom-notice.tricolor div:nth-child(2){background:var(--brand-red)}#bottom-notice.tricolor div:nth-child(3){background:var(--brand-yellow)}#bottom-notice.tricolor span{cursor:text}#bottom-notice div{flex-basis:0;flex-grow:1;height:1.5rem;text-align:center}#bottom-notice span{display:none}#bottom-notice button{background:transparent;border:none;color:inherit;cursor:pointer;font-size:1rem;font-weight:700;height:1.5rem;padding:0;width:1.5rem}@media screen and (min-width:750px){#bottom-notice{font-size:1rem;line-height:2rem}#bottom-notice div{height:2rem}#bottom-notice span{display:inline}#bottom-notice button{font-size:1.25rem;height:2rem;width:2rem}}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--muted)}input::placeholder,textarea::placeholder{color:var(--muted)}body{background:var(--bg-3000);color:var(--text-3000);font-size:14px;line-height:1.5715;touch-action:manipulation;--primary:var(--primary-3000);--muted:var(--muted-3000);--default:var(--text-3000);--muted-alt:var(--muted-3000);--primary-alt:var(--text-3000);--border:var(--border-3000);--border-bold:var(--border-bold-3000);--data-color-1:#1d4aff;--data-color-1-hover:#1a3cf6;--data-color-10:#35416b}body[theme=light]{--text-3000:var(--text-3000-light);--text-secondary-3000:var(--text-secondary-3000-light);--muted-3000:var(--muted-3000-light);--trace-3000:var(--trace-3000-light);--primary-3000:var(--primary-3000-light);--primary-highlight:var(--primary-highlight-light);--primary-3000-hover:var(--primary-3000-hover-light);--primary-3000-active:var(--primary-3000-active-light);--secondary-3000:var(--secondary-3000-light);--secondary-3000-hover:var(--secondary-3000-hover-light);--accent-3000:var(--accent-3000-light);--bg-3000:var(--bg-3000-light);--border-3000:var(--border-3000-light);--border-light-opaque:#eee;--border-bold-3000:var(--border-bold-3000-light);--glass-bg-3000:var(--glass-bg-3000-light);--glass-border-3000:var(--glass-border-3000-light);--bg-light:#fff;--bg-table:#f9faf7;--link:var(--link-3000-light);--shadow-elevation-3000:var(--shadow-elevation-3000-light);--primary-3000-frame-bg:var(--primary-3000-frame-bg-light);--primary-3000-button-bg:var(--primary-3000-button-bg-light);--primary-3000-button-border:var(--primary-3000-button-border-light);--primary-3000-button-border-hover:var(--primary-3000-button-border-hover-light);--primary-alt-highlight:var(--primary-alt-highlight-light);--secondary-3000-frame-bg:var(--secondary-3000-frame-bg-light);--secondary-3000-button-bg:var(--secondary-3000-button-bg-light);--secondary-3000-button-border:var(--secondary-3000-button-border-light);--secondary-3000-button-border-hover:var(--secondary-3000-button-border-hover-light);--danger-3000-frame-bg:var(--danger-3000-frame-bg-light);--danger-3000-button-border:var(--danger-3000-button-border-light);--danger-3000-button-border-hover:var(--danger-3000-button-border-hover-light);--tooltip-bg:var(--tooltip-bg-light)}body[theme=dark]{--content-primary:var(--neutral-cool-100);--content-warning:var(--orange-300);--content-warning-bold:var(--orange-100);--content-danger-bold:var(--red-100);--content-success-bold:var(--green-100);--background-primary:var(--neutral-cool-900);--background-secondary:var(--neutral-cool-850);--background-tertiary:var(--neutral-cool-800);--background-warning-subtle:var(--orange-850);--background-danger-subtle:var(--red-800);--background-success-subtle:var(--green-800);--border-tertiary:var(--neutral-cool-750);--text-3000:var(--text-3000-dark);--text-secondary-3000:var(--text-secondary-3000-dark);--muted-3000:var(--muted-3000-dark);--trace-3000:var(--trace-3000-dark);--primary-3000:var(--primary-3000-dark);--primary-highlight:var(--primary-highlight-dark);--primary-3000-hover:var(--primary-3000-hover-dark);--primary-3000-active:var(--primary-3000-active-dark);--secondary-3000:var(--secondary-3000-dark);--secondary-3000-hover:var(--secondary-3000-hover-dark);--accent-3000:var(--accent-3000-dark);--bg-3000:var(--bg-3000-dark);--border-3000:var(--border-3000-dark);--border-light-opaque:#1e2028;--border-bold-3000:var(--border-bold-3000-dark);--glass-bg-3000:var(--glass-bg-3000-dark);--glass-border-3000:var(--glass-border-3000-dark);--bg-light:var(--accent-3000);--bg-table:#232429;--brand-key:#fff;--link:var(--link-3000-dark);--shadow-elevation-3000:var(--shadow-elevation-3000-dark);--primary-3000-frame-bg:var(--primary-3000-frame-bg-dark);--primary-3000-button-bg:var(--primary-3000-button-bg-dark);--primary-3000-button-border:var(--primary-3000-button-border-dark);--primary-3000-button-border-hover:var(--primary-3000-button-border-hover-dark);--primary-alt-highlight:var(--primary-alt-highlight-dark);--secondary-3000-frame-bg:var(--secondary-3000-frame-bg-dark);--secondary-3000-button-bg:var(--secondary-3000-button-bg-dark);--secondary-3000-button-border:var(--secondary-3000-button-border-dark);--secondary-3000-button-border-hover:var(--secondary-3000-button-border-hover-dark);--danger-3000-frame-bg:var(--danger-3000-frame-bg-dark);--danger-3000-button-border:var(--danger-3000-button-border-dark);--danger-3000-button-border-hover:var(--danger-3000-button-border-hover-dark);--tooltip-bg:var(--tooltip-bg-dark);--data-color-2:#7f26d9;--data-color-3:#3e7a76;--data-color-4:#bf0d6c;--data-color-5:#f0474f;--data-color-6:#b36114;--data-color-10:#6576b3}body *>::-webkit-scrollbar{height:.5rem;width:.5rem}body *>::-webkit-scrollbar-track{background:var(--accent-3000)}body *>::-webkit-scrollbar-thumb{background:var(--trace-3000);border-radius:var(--radius)}body *>::-webkit-scrollbar-thumb:hover{background:var(--muted-3000)}body b,body strong{font-weight:600}body h1,body h2,body h3,body h4,body h5{font-family:var(--font-title);font-weight:500;margin-bottom:.5em;margin-top:0}body h1,body h2,body h3,body h4{color:var(--text-3000)}body h1{font-size:1.75rem}body h2{font-size:1.3125rem}body h3{font-size:1rem}body h5{color:var(--muted-alt);font-size:.6875rem;font-weight:600;letter-spacing:.075em;line-height:1.5rem;margin-bottom:.25rem;text-transform:uppercase}body pre{margin-bottom:1em;margin-top:0;overflow:auto}body dialog{background-color:var(--bg-3000)}body .LemonButton .text-link,body .Link .text-link{color:var(--text-3000)!important}body .LemonButton:hover .text-link,body .Link:hover .text-link{color:var(--primary-3000)!important}a{color:var(--link);-webkit-text-decoration:none;text-decoration:none}p{margin-bottom:1em;margin-top:0}img{border-style:none;vertical-align:middle}[tabindex="-1"]:focus{outline:none!important}.storybook-test-runner.storybook-test-runner--fullscreen{height:-moz-fit-content;height:fit-content}.storybook-test-runner.storybook-test-runner--padded #storybook-root{display:inline-block}.storybook-test-runner *,.storybook-test-runner :after,.storybook-test-runner :before{animation-duration:0ms!important;animation-fill-mode:forwards!important;animation-iteration-count:1!important;transition-duration:0ms!important}.storybook-test-runner *>::-webkit-scrollbar,.storybook-test-runner .LemonTabs__bar:after,.storybook-test-runner .scrollable:after,.storybook-test-runner .scrollable:before,.storybook-test-runner ::-webkit-scrollbar{display:none}.storybook-test-runner #storybook-root:empty~.ReactModalPortal>.ReactModal__Overlay,.storybook-test-runner #storybook-root>.fixed:only-child{position:static!important}.ligatures-none{font-feature-settings:none;font-variant-ligatures:none}.hide-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.hide-scrollbar::-webkit-scrollbar{display:none}.\\*\\:w-80>*{width:20rem!important}.\\*\\:grow>*{flex-grow:1!important}.\\*\\:p-1>*{padding:.25rem!important}.\\*\\:\\*\\:font-medium>*>*{font-weight:500!important}.placeholder\\:\\*\\:\\*\\:font-medium>*>::-moz-placeholder{font-weight:500!important}.placeholder\\:\\*\\:\\*\\:font-medium>*>::placeholder{font-weight:500!important}.before\\:absolute:before{content:var(--tw-content)!important;position:absolute!important}.before\\:inset-0:before{content:var(--tw-content)!important;inset:0!important}.before\\:rounded:before{border-radius:var(--radius)!important;content:var(--tw-content)!important}.before\\:border:before{border-width:1px!important;content:var(--tw-content)!important}.first\\:mt-0:first-child{margin-top:0!important}.first\\:border-t-0:first-child{border-top-width:0!important}.last\\:border-b-0:last-child{border-bottom-width:0!important}.odd\\:last\\:\\*\\:col-span-2>:last-child:nth-child(odd){grid-column:span 2/span 2!important}.hover\\:border-\\[var\\(--primary\\)\\]:hover{border-color:var(--primary)!important}.hover\\:bg-\\[var\\(--bg-light\\)\\]:hover{background-color:var(--bg-light)!important}.hover\\:underline:hover{text-decoration-line:underline!important}.hover\\:opacity-100:hover{opacity:1!important}.hover\\:ring-2:hover{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}.focus\\:outline-none:focus{outline:2px solid transparent!important;outline-offset:2px!important}.group:hover .group-hover\\:visible{visibility:visible!important}.group:hover .group-hover\\:flex{display:flex!important}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}.group:hover .group-hover\\:animate-bounce{animation:bounce 1s infinite!important}.group:hover .group-hover\\:opacity-100{opacity:1!important}.group:hover .group-hover\\:opacity-90{opacity:.9!important}@container og (min-width: 20rem){.\\@xs\\/og\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@container og (min-width: 28rem){.\\@md\\/og\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}}@container (min-width: 28rem){.\\@md\\:block{display:block!important}.\\@md\\:flex{display:flex!important}.\\@md\\:hidden{display:none!important}.\\@md\\:px-1{padding-left:.25rem!important;padding-right:.25rem!important}}@container (min-width: 56rem){.\\@4xl\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media not all and (min-width:576px){.max-sm\\:hidden{display:none!important}}@media (min-width:576px){.sm\\:mb-0{margin-bottom:0!important}.sm\\:block{display:block!important}.sm\\:flex{display:flex!important}.sm\\:min-w-0{min-width:0!important}.sm\\:grow-0{flex-grow:0!important}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.sm\\:flex-row{flex-direction:row!important}.sm\\:items-start{align-items:flex-start!important}.sm\\:justify-center{justify-content:center!important}.sm\\:p-6{padding:1.5rem!important}.sm\\:pb-0{padding-bottom:0!important}.sm\\:pb-8{padding-bottom:2rem!important}}@media (min-width:768px){.md\\:col-span-1{grid-column:span 1/span 1!important}.md\\:col-span-2{grid-column:span 2/span 2!important}.md\\:col-span-6{grid-column:span 6/span 6!important}.md\\:col-span-full{grid-column:1/-1!important}.md\\:col-start-2{grid-column-start:2!important}.md\\:row-span-1{grid-row:span 1/span 1!important}.md\\:block{display:block!important}.md\\:inline{display:inline!important}.md\\:flex{display:flex!important}.md\\:grid{display:grid!important}.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.md\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.md\\:grid-cols-\\[320px_1fr\\]{grid-template-columns:320px 1fr!important}.md\\:grid-cols-\\[repeat\\(3\\2c _minmax\\(min-content\\2c _160px\\)\\)\\]{grid-template-columns:repeat(3,minmax(min-content,160px))!important}.md\\:border-b-0{border-bottom-width:0!important}.md\\:p-6{padding:1.5rem!important}}@media (min-width:992px){.lg\\:grid-cols-\\[12\\.5rem_1fr\\]{grid-template-columns:12.5rem 1fr!important}}@media (min-width:1200px){.xl\\:mt-0{margin-top:0!important}.xl\\:flex{display:flex!important}.xl\\:pl-2{padding-left:.5rem!important}}@media (prefers-color-scheme:dark){.dark\\:text-\\[\\#C170E8\\]{--tw-text-opacity:1!important;color:rgb(193 112 232/var(--tw-text-opacity))!important}}.\\[\\&\\>\\*\\]\\:grow>*{flex-grow:1!important}@media (min-width:768px){.md\\:\\[\\&\\>\\*\\]\\:grow-0>*{flex-grow:0!important}}.\\[\\&\\>input\\:\\:-webkit-inner-spin-button\\]\\:appearance-none>input::-webkit-inner-spin-button{-webkit-appearance:none!important;appearance:none!important}.\\[\\&_\\>\\*\\]\\:px-2>*{padding-left:.5rem!important;padding-right:.5rem!important}.\\[\\&_\\>\\*\\]\\:py-0\\.5>*{padding-bottom:.125rem!important;padding-top:.125rem!important}.\\[\\&_\\>span\\>span\\]\\:flex-col>span>span{flex-direction:column!important}.\\[\\&_\\>span\\>span\\]\\:items-start>span>span{align-items:flex-start!important}.\\[\\&_\\>span\\>span\\]\\:space-y-1>span>span>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(.25rem*var(--tw-space-y-reverse))!important;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))!important}.SidePanel3000 .\\[\\.SidePanel3000_\\&\\]\\:top-0{top:0!important}',""]),module.exports=exports},"./frontend/public/hedgehog/running-hog.png":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});let __WEBPACK_DEFAULT_EXPORT__=__webpack_require__.p+"images/running-hog.d286878cf0d59615f60a05cc434e29a0.png"},"./frontend/public/langfuse-icon.svg":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{default:()=>__WEBPACK_DEFAULT_EXPORT__});let __WEBPACK_DEFAULT_EXPORT__=__webpack_require__.p+"images/langfuse-icon.7106297f8ddfacfd23f2e0a5a16846e1.svg"},"./frontend/public/not-found-astrohog.png":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{default:()=>__WEBPACK_DEFAULT_EXPORT__});let __WEBPACK_DEFAULT_EXPORT__=__webpack_require__.p+"images/not-found-astrohog.a4e3a59b90ccd886ab4231c270e5d92f.png"},"./frontend/public/posthog-icon.svg":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{default:()=>__WEBPACK_DEFAULT_EXPORT__});let __WEBPACK_DEFAULT_EXPORT__=__webpack_require__.p+"images/posthog-icon.14d048148d45b6fe9c0a5d829469b0e5.svg"},"./frontend/public/services/aws-s3.png":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});let __WEBPACK_DEFAULT_EXPORT__=__webpack_require__.p+"images/aws-s3.ec2332979c65a4e9a2fa28ddc65f0468.png"},"./frontend/public/services/bigquery.png":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});let __WEBPACK_DEFAULT_EXPORT__=__webpack_require__.p+"images/bigquery.1bd7c5187189fe1c78abeab849f5e0ec.png"},"./frontend/public/services/google-cloud-storage.png":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});let __WEBPACK_DEFAULT_EXPORT__=__webpack_require__.p+"images/google-cloud-storage.e1bd2d5efb0bf56cf48e9e90cd2c6c3a.png"},"./frontend/public/services/hubspot.png":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});let __WEBPACK_DEFAULT_EXPORT__=__webpack_require__.p+"images/hubspot.aa61b2aaad7e9eeeb43f46d98988323d.png"},"./frontend/public/services/postgres.png":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});let __WEBPACK_DEFAULT_EXPORT__=__webpack_require__.p+"images/postgres.dc5b1b72f73b1a6c2c9d6d354a204e17.png"},"./frontend/public/services/salesforce.png":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});let __WEBPACK_DEFAULT_EXPORT__=__webpack_require__.p+"images/salesforce.3b4908e6f4a90fc0607f295de7908a58.png"},"./frontend/public/services/snowflake.png":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});let __WEBPACK_DEFAULT_EXPORT__=__webpack_require__.p+"images/snowflake.e08a91548c74ea3172ae2f0c9d22b0f8.png"},"./frontend/public/Inter.woff":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{default:()=>__WEBPACK_DEFAULT_EXPORT__});let __WEBPACK_DEFAULT_EXPORT__=__webpack_require__.p+"fonts/Inter.10f84849b8a69b4844b2925080f81a97.woff"},"./frontend/public/Inter.woff2":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{default:()=>__WEBPACK_DEFAULT_EXPORT__});let __WEBPACK_DEFAULT_EXPORT__=__webpack_require__.p+"fonts/Inter.7cb807e6006c622d46c52bf1fdf0ece1.woff2"},"./node_modules/.pnpm/memoizerific@1.11.3/node_modules/memoizerific sync recursive":module=>{function webpackEmptyContext(req){var e=Error("Cannot find module '"+req+"'");throw e.code="MODULE_NOT_FOUND",e}webpackEmptyContext.keys=()=>[],webpackEmptyContext.resolve=webpackEmptyContext,webpackEmptyContext.id="./node_modules/.pnpm/memoizerific@1.11.3/node_modules/memoizerific sync recursive",module.exports=webpackEmptyContext},"./frontend/src/lib/components/Cards/InsightCard/InsightCard.scss":(__unused_webpack_module,__unused_webpack___webpack_exports__,__webpack_require__)=>{"use strict";var _node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_InsightCard_scss__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/Cards/InsightCard/InsightCard.scss"),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_InsightCard_scss__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_InsightCard_scss__WEBPACK_IMPORTED_MODULE_1__),options={};options.insert="head",options.singleton=!1,_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_InsightCard_scss__WEBPACK_IMPORTED_MODULE_1___default(),options),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_InsightCard_scss__WEBPACK_IMPORTED_MODULE_1___default().locals},"./frontend/src/lib/components/HedgehogBuddy/HedgehogBuddy.scss":(__unused_webpack_module,__unused_webpack___webpack_exports__,__webpack_require__)=>{"use strict";var _node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_HedgehogBuddy_scss__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/components/HedgehogBuddy/HedgehogBuddy.scss"),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_HedgehogBuddy_scss__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_HedgehogBuddy_scss__WEBPACK_IMPORTED_MODULE_1__),options={};options.insert="head",options.singleton=!1,_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_HedgehogBuddy_scss__WEBPACK_IMPORTED_MODULE_1___default(),options),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_HedgehogBuddy_scss__WEBPACK_IMPORTED_MODULE_1___default().locals},"./frontend/src/lib/lemon-ui/Popover/Popover.scss":(__unused_webpack_module,__unused_webpack___webpack_exports__,__webpack_require__)=>{"use strict";var _node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_Popover_scss__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/lib/lemon-ui/Popover/Popover.scss"),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_Popover_scss__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_Popover_scss__WEBPACK_IMPORTED_MODULE_1__),options={};options.insert="head",options.singleton=!1,_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_Popover_scss__WEBPACK_IMPORTED_MODULE_1___default(),options),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_Popover_scss__WEBPACK_IMPORTED_MODULE_1___default().locals},"./frontend/src/scenes/billing/Billing.scss":(__unused_webpack_module,__unused_webpack___webpack_exports__,__webpack_require__)=>{"use strict";var _node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_Billing_scss__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/billing/Billing.scss"),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_Billing_scss__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_Billing_scss__WEBPACK_IMPORTED_MODULE_1__),options={};options.insert="head",options.singleton=!1,_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_Billing_scss__WEBPACK_IMPORTED_MODULE_1___default(),options),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_Billing_scss__WEBPACK_IMPORTED_MODULE_1___default().locals},"./frontend/src/scenes/feature-flags/FeatureFlag.scss":(__unused_webpack_module,__unused_webpack___webpack_exports__,__webpack_require__)=>{"use strict";var _node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_FeatureFlag_scss__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/feature-flags/FeatureFlag.scss"),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_FeatureFlag_scss__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_FeatureFlag_scss__WEBPACK_IMPORTED_MODULE_1__),options={};options.insert="head",options.singleton=!1,_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_FeatureFlag_scss__WEBPACK_IMPORTED_MODULE_1___default(),options),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_FeatureFlag_scss__WEBPACK_IMPORTED_MODULE_1___default().locals},"./frontend/src/scenes/insights/InsightTooltip/InsightTooltip.scss":(__unused_webpack_module,__unused_webpack___webpack_exports__,__webpack_require__)=>{"use strict";var _node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_InsightTooltip_scss__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/insights/InsightTooltip/InsightTooltip.scss"),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_InsightTooltip_scss__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_InsightTooltip_scss__WEBPACK_IMPORTED_MODULE_1__),options={};options.insert="head",options.singleton=!1,_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_InsightTooltip_scss__WEBPACK_IMPORTED_MODULE_1___default(),options),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_InsightTooltip_scss__WEBPACK_IMPORTED_MODULE_1___default().locals},"./frontend/src/scenes/insights/filters/BreakdownFilter/BreakdownTagMenu.scss":(__unused_webpack_module,__unused_webpack___webpack_exports__,__webpack_require__)=>{"use strict";var _node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_BreakdownTagMenu_scss__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/insights/filters/BreakdownFilter/BreakdownTagMenu.scss"),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_BreakdownTagMenu_scss__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_BreakdownTagMenu_scss__WEBPACK_IMPORTED_MODULE_1__),options={};options.insert="head",options.singleton=!1,_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_BreakdownTagMenu_scss__WEBPACK_IMPORTED_MODULE_1___default(),options),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_BreakdownTagMenu_scss__WEBPACK_IMPORTED_MODULE_1___default().locals},"./frontend/src/scenes/insights/views/Funnels/FunnelCorrelationTable.scss":(__unused_webpack_module,__unused_webpack___webpack_exports__,__webpack_require__)=>{"use strict";var _node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_FunnelCorrelationTable_scss__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/insights/views/Funnels/FunnelCorrelationTable.scss"),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_FunnelCorrelationTable_scss__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_FunnelCorrelationTable_scss__WEBPACK_IMPORTED_MODULE_1__),options={};options.insert="head",options.singleton=!1,_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_FunnelCorrelationTable_scss__WEBPACK_IMPORTED_MODULE_1___default(),options),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_FunnelCorrelationTable_scss__WEBPACK_IMPORTED_MODULE_1___default().locals},"./frontend/src/scenes/notebooks/NotebookScene.scss":(__unused_webpack_module,__unused_webpack___webpack_exports__,__webpack_require__)=>{"use strict";var _node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_NotebookScene_scss__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/notebooks/NotebookScene.scss"),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_NotebookScene_scss__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_NotebookScene_scss__WEBPACK_IMPORTED_MODULE_1__),options={};options.insert="head",options.singleton=!1,_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_NotebookScene_scss__WEBPACK_IMPORTED_MODULE_1___default(),options),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_NotebookScene_scss__WEBPACK_IMPORTED_MODULE_1___default().locals},"./frontend/src/scenes/persons/PersonDisplay.scss":(__unused_webpack_module,__unused_webpack___webpack_exports__,__webpack_require__)=>{"use strict";var _node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_PersonDisplay_scss__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/persons/PersonDisplay.scss"),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_PersonDisplay_scss__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_PersonDisplay_scss__WEBPACK_IMPORTED_MODULE_1__),options={};options.insert="head",options.singleton=!1,_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_PersonDisplay_scss__WEBPACK_IMPORTED_MODULE_1___default(),options),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_PersonDisplay_scss__WEBPACK_IMPORTED_MODULE_1___default().locals},"./frontend/src/scenes/saved-insights/SavedInsights.scss":(__unused_webpack_module,__unused_webpack___webpack_exports__,__webpack_require__)=>{"use strict";var _node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_SavedInsights_scss__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/saved-insights/SavedInsights.scss"),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_SavedInsights_scss__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_SavedInsights_scss__WEBPACK_IMPORTED_MODULE_1__),options={};options.insert="head",options.singleton=!1,_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_SavedInsights_scss__WEBPACK_IMPORTED_MODULE_1___default(),options),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_SavedInsights_scss__WEBPACK_IMPORTED_MODULE_1___default().locals},"./frontend/src/scenes/session-recordings/player/PlayerMeta.scss":(__unused_webpack_module,__unused_webpack___webpack_exports__,__webpack_require__)=>{"use strict";var _node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_PlayerMeta_scss__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/scenes/session-recordings/player/PlayerMeta.scss"),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_PlayerMeta_scss__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_PlayerMeta_scss__WEBPACK_IMPORTED_MODULE_1__),options={};options.insert="head",options.singleton=!1,_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_PlayerMeta_scss__WEBPACK_IMPORTED_MODULE_1___default(),options),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_PlayerMeta_scss__WEBPACK_IMPORTED_MODULE_1___default().locals},"./frontend/src/styles/global.scss":(__unused_webpack_module,__unused_webpack___webpack_exports__,__webpack_require__)=>{"use strict";var _node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/.pnpm/style-loader@2.0.0_webpack@5.88.2/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_global_scss__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/.pnpm/css-loader@3.6.0_webpack@5.88.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.4.31_webpack@5.88.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@10.3.1_sass@1.56.0_webpack@5.88.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./frontend/src/styles/global.scss"),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_global_scss__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_global_scss__WEBPACK_IMPORTED_MODULE_1__),options={};options.insert="head",options.singleton=!1,_node_modules_pnpm_style_loader_2_0_0_webpack_5_88_2_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_global_scss__WEBPACK_IMPORTED_MODULE_1___default(),options),_node_modules_pnpm_css_loader_3_6_0_webpack_5_88_2_node_modules_css_loader_dist_cjs_js_node_modules_pnpm_postcss_loader_4_3_0_postcss_8_4_31_webpack_5_88_2_node_modules_postcss_loader_dist_cjs_js_node_modules_pnpm_sass_loader_10_3_1_sass_1_56_0_webpack_5_88_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_2_use_3_global_scss__WEBPACK_IMPORTED_MODULE_1___default().locals},"@storybook/channels":module=>{"use strict";module.exports=__STORYBOOK_MODULE_CHANNELS__},"@storybook/client-logger":module=>{"use strict";module.exports=__STORYBOOK_MODULE_CLIENT_LOGGER__},"@storybook/core-events":module=>{"use strict";module.exports=__STORYBOOK_MODULE_CORE_EVENTS__},"@storybook/global":module=>{"use strict";module.exports=__STORYBOOK_MODULE_GLOBAL__},"@storybook/preview-api":module=>{"use strict";module.exports=__STORYBOOK_MODULE_PREVIEW_API__},"?cafa":()=>{},"?4c41":()=>{},"?0634":()=>{},"?8b23":()=>{},"?4d21":()=>{},"?46f2":()=>{},"./frontend/src/mocks/fixtures/_instance_status.json":module=>{"use strict";module.exports=JSON.parse('{"results":{"overview":[{"key":"posthog_git_sha","metric":"PostHog Git SHA","value":"Undefined"},{"key":"analytics_database","metric":"Analytics database in use","value":"ClickHouse"},{"key":"plugin_sever_alive","metric":"Plugin server alive","value":true},{"key":"plugin_sever_version","metric":"Plugin server version","value":"1.10.5"},{"key":"plugin_sever_job_queues","metric":"Job queues enabled in plugin server","value":"Graphile"},{"key":"db_alive","metric":"Postgres database alive","value":true},{"key":"pg_version","metric":"Postgres version","value":"12.0.9"},{"key":"async_migrations_ok","metric":"Async migrations up-to-date","value":true},{"key":"clickhouse_alive","metric":"Clickhouse database alive","value":true},{"key":"clickhouse_event_count","metric":"Events in ClickHouse","value":175843},{"key":"clickhouse_event_count_last_month","metric":"Events recorded last month","value":904},{"key":"clickhouse_event_count_month_to_date","metric":"Events recorded month to date","value":173420},{"key":"clickhouse_disk_0_free_space","metric":"Clickhouse disk free space","value":"28.79 GiB"},{"key":"clickhouse_disk_0_total_space","metric":"Clickhouse disk total space","value":"58.42 GiB"},{"key":"clickhouse_table_sizes","metric":"Clickhouse table sizes","value":"","subrows":{"columns":["Table","Size","Rows"],"rows":[["asynchronous_metric_log","161.20 MiB",137266041],["text_log","584.87 MiB",29580188],["metric_log","25.78 MiB",297922],["query_thread_log","18.04 MiB",219137],["events","34.39 MiB",176855],["events_dead_letter_queue","40.32 MiB",114794],["query_log","9.62 MiB",78456],["person","1.94 MiB",42393],["person_distinct_id2","1.63 MiB",40542],["person_distinct_id","1.55 MiB",40539],["plugin_log_entries","7.64 KiB",94],["session_recording_events","9.91 KiB",62],["infi_clickhouse_orm_migrations","1.58 KiB",46],["groups","5.25 KiB",22]]}},{"key":"clickhouse_system_metrics","metric":"Clickhouse system metrics","value":"","subrows":{"columns":["Metric","Value","Description"],"rows":[["ActiveAsyncDrainedConnections",0,"Number of active connections drained asynchronously."],["ActiveSyncDrainedConnections",0,"Number of active connections drained synchronously."],["AsyncDrainedConnections",0,"Number of connections drained asynchronously."],["AsynchronousMetricsCalculationTimeSpent",0.002780791],["BackgroundBufferFlushSchedulePoolTask",0,"Number of active tasks in BackgroundBufferFlushSchedulePool. This pool is used for periodic Buffer flushes"],["BackgroundDistributedSchedulePoolTask",0,"Number of active tasks in BackgroundDistributedSchedulePool. This pool is used for distributed sends that is done in background."],["BackgroundFetchesPoolTask",0,"Number of active tasks in BackgroundFetchesPool"],["BackgroundMessageBrokerSchedulePoolTask",15,"Number of active tasks in BackgroundProcessingPool for message streaming"],["BackgroundMovePoolTask",0,"Number of active tasks in BackgroundProcessingPool for moves"],["BackgroundPoolTask",0,"Number of active tasks in BackgroundProcessingPool (merges, mutations, or replication queue bookkeeping)"],["BackgroundSchedulePoolTask",0,"Number of active tasks in BackgroundSchedulePool. This pool is used for periodic ReplicatedMergeTree tasks, like cleaning old data parts, altering data parts, replica re-initialization, etc."],["BlockActiveTime_nbd0",0],["BlockActiveTime_nbd1",0],["BlockActiveTime_nbd10",0],["BlockActiveTime_nbd11",0],["BlockActiveTime_nbd12",0],["BlockActiveTime_nbd13",0],["BlockActiveTime_nbd14",0],["BlockActiveTime_nbd15",0],["BlockActiveTime_nbd2",0],["BlockActiveTime_nbd3",0],["BlockActiveTime_nbd4",0],["BlockActiveTime_nbd5",0],["BlockActiveTime_nbd6",0],["BlockActiveTime_nbd7",0],["BlockActiveTime_nbd8",0],["BlockActiveTime_nbd9",0],["BlockActiveTime_vda",0.000011],["BlockDiscardBytes_nbd0",0],["BlockDiscardBytes_nbd1",0],["BlockDiscardBytes_nbd10",0],["BlockDiscardBytes_nbd11",0],["BlockDiscardBytes_nbd12",0],["BlockDiscardBytes_nbd13",0],["BlockDiscardBytes_nbd14",0],["BlockDiscardBytes_nbd15",0],["BlockDiscardBytes_nbd2",0],["BlockDiscardBytes_nbd3",0],["BlockDiscardBytes_nbd4",0],["BlockDiscardBytes_nbd5",0],["BlockDiscardBytes_nbd6",0],["BlockDiscardBytes_nbd7",0],["BlockDiscardBytes_nbd8",0],["BlockDiscardBytes_nbd9",0],["BlockDiscardBytes_vda",0],["BlockDiscardMerges_nbd0",0],["BlockDiscardMerges_nbd1",0],["BlockDiscardMerges_nbd10",0],["BlockDiscardMerges_nbd11",0],["BlockDiscardMerges_nbd12",0],["BlockDiscardMerges_nbd13",0],["BlockDiscardMerges_nbd14",0],["BlockDiscardMerges_nbd15",0],["BlockDiscardMerges_nbd2",0],["BlockDiscardMerges_nbd3",0],["BlockDiscardMerges_nbd4",0],["BlockDiscardMerges_nbd5",0],["BlockDiscardMerges_nbd6",0],["BlockDiscardMerges_nbd7",0],["BlockDiscardMerges_nbd8",0],["BlockDiscardMerges_nbd9",0],["BlockDiscardMerges_vda",0],["BlockDiscardOps_nbd0",0],["BlockDiscardOps_nbd1",0],["BlockDiscardOps_nbd10",0],["BlockDiscardOps_nbd11",0],["BlockDiscardOps_nbd12",0],["BlockDiscardOps_nbd13",0],["BlockDiscardOps_nbd14",0],["BlockDiscardOps_nbd15",0],["BlockDiscardOps_nbd2",0],["BlockDiscardOps_nbd3",0],["BlockDiscardOps_nbd4",0],["BlockDiscardOps_nbd5",0],["BlockDiscardOps_nbd6",0],["BlockDiscardOps_nbd7",0],["BlockDiscardOps_nbd8",0],["BlockDiscardOps_nbd9",0],["BlockDiscardOps_vda",0],["BlockDiscardTime_nbd0",0],["BlockDiscardTime_nbd1",0],["BlockDiscardTime_nbd10",0],["BlockDiscardTime_nbd11",0],["BlockDiscardTime_nbd12",0],["BlockDiscardTime_nbd13",0],["BlockDiscardTime_nbd14",0],["BlockDiscardTime_nbd15",0],["BlockDiscardTime_nbd2",0],["BlockDiscardTime_nbd3",0],["BlockDiscardTime_nbd4",0],["BlockDiscardTime_nbd5",0],["BlockDiscardTime_nbd6",0],["BlockDiscardTime_nbd7",0],["BlockDiscardTime_nbd8",0],["BlockDiscardTime_nbd9",0],["BlockDiscardTime_vda",0],["BlockInFlightOps_nbd0",0],["BlockInFlightOps_nbd1",0],["BlockInFlightOps_nbd10",0],["BlockInFlightOps_nbd11",0],["BlockInFlightOps_nbd12",0],["BlockInFlightOps_nbd13",0],["BlockInFlightOps_nbd14",0],["BlockInFlightOps_nbd15",0],["BlockInFlightOps_nbd2",0],["BlockInFlightOps_nbd3",0],["BlockInFlightOps_nbd4",0],["BlockInFlightOps_nbd5",0],["BlockInFlightOps_nbd6",0],["BlockInFlightOps_nbd7",0],["BlockInFlightOps_nbd8",0],["BlockInFlightOps_nbd9",0],["BlockInFlightOps_vda",0],["BlockQueueTime_nbd0",0],["BlockQueueTime_nbd1",0],["BlockQueueTime_nbd10",0],["BlockQueueTime_nbd11",0],["BlockQueueTime_nbd12",0],["BlockQueueTime_nbd13",0],["BlockQueueTime_nbd14",0],["BlockQueueTime_nbd15",0],["BlockQueueTime_nbd2",0],["BlockQueueTime_nbd3",0],["BlockQueueTime_nbd4",0],["BlockQueueTime_nbd5",0],["BlockQueueTime_nbd6",0],["BlockQueueTime_nbd7",0],["BlockQueueTime_nbd8",0],["BlockQueueTime_nbd9",0],["BlockQueueTime_vda",0.000009999999999999999],["BlockReadBytes_nbd0",0],["BlockReadBytes_nbd1",0],["BlockReadBytes_nbd10",0],["BlockReadBytes_nbd11",0],["BlockReadBytes_nbd12",0],["BlockReadBytes_nbd13",0],["BlockReadBytes_nbd14",0],["BlockReadBytes_nbd15",0],["BlockReadBytes_nbd2",0],["BlockReadBytes_nbd3",0],["BlockReadBytes_nbd4",0],["BlockReadBytes_nbd5",0],["BlockReadBytes_nbd6",0],["BlockReadBytes_nbd7",0],["BlockReadBytes_nbd8",0],["BlockReadBytes_nbd9",0],["BlockReadBytes_vda",0],["BlockReadMerges_nbd0",0],["BlockReadMerges_nbd1",0],["BlockReadMerges_nbd10",0],["BlockReadMerges_nbd11",0],["BlockReadMerges_nbd12",0],["BlockReadMerges_nbd13",0],["BlockReadMerges_nbd14",0],["BlockReadMerges_nbd15",0],["BlockReadMerges_nbd2",0],["BlockReadMerges_nbd3",0],["BlockReadMerges_nbd4",0],["BlockReadMerges_nbd5",0],["BlockReadMerges_nbd6",0],["BlockReadMerges_nbd7",0],["BlockReadMerges_nbd8",0],["BlockReadMerges_nbd9",0],["BlockReadMerges_vda",0],["BlockReadOps_nbd0",0],["BlockReadOps_nbd1",0],["BlockReadOps_nbd10",0],["BlockReadOps_nbd11",0],["BlockReadOps_nbd12",0],["BlockReadOps_nbd13",0],["BlockReadOps_nbd14",0],["BlockReadOps_nbd15",0],["BlockReadOps_nbd2",0],["BlockReadOps_nbd3",0],["BlockReadOps_nbd4",0],["BlockReadOps_nbd5",0],["BlockReadOps_nbd6",0],["BlockReadOps_nbd7",0],["BlockReadOps_nbd8",0],["BlockReadOps_nbd9",0],["BlockReadOps_vda",0],["BlockReadTime_nbd0",0],["BlockReadTime_nbd1",0],["BlockReadTime_nbd10",0],["BlockReadTime_nbd11",0],["BlockReadTime_nbd12",0],["BlockReadTime_nbd13",0],["BlockReadTime_nbd14",0],["BlockReadTime_nbd15",0],["BlockReadTime_nbd2",0],["BlockReadTime_nbd3",0],["BlockReadTime_nbd4",0],["BlockReadTime_nbd5",0],["BlockReadTime_nbd6",0],["BlockReadTime_nbd7",0],["BlockReadTime_nbd8",0],["BlockReadTime_nbd9",0],["BlockReadTime_vda",0],["BlockWriteBytes_nbd0",0],["BlockWriteBytes_nbd1",0],["BlockWriteBytes_nbd10",0],["BlockWriteBytes_nbd11",0],["BlockWriteBytes_nbd12",0],["BlockWriteBytes_nbd13",0],["BlockWriteBytes_nbd14",0],["BlockWriteBytes_nbd15",0],["BlockWriteBytes_nbd2",0],["BlockWriteBytes_nbd3",0],["BlockWriteBytes_nbd4",0],["BlockWriteBytes_nbd5",0],["BlockWriteBytes_nbd6",0],["BlockWriteBytes_nbd7",0],["BlockWriteBytes_nbd8",0],["BlockWriteBytes_nbd9",0],["BlockWriteBytes_vda",253952],["BlockWriteMerges_nbd0",0],["BlockWriteMerges_nbd1",0],["BlockWriteMerges_nbd10",0],["BlockWriteMerges_nbd11",0],["BlockWriteMerges_nbd12",0],["BlockWriteMerges_nbd13",0],["BlockWriteMerges_nbd14",0],["BlockWriteMerges_nbd15",0],["BlockWriteMerges_nbd2",0],["BlockWriteMerges_nbd3",0],["BlockWriteMerges_nbd4",0],["BlockWriteMerges_nbd5",0],["BlockWriteMerges_nbd6",0],["BlockWriteMerges_nbd7",0],["BlockWriteMerges_nbd8",0],["BlockWriteMerges_nbd9",0],["BlockWriteMerges_vda",0],["BlockWriteOps_nbd0",0],["BlockWriteOps_nbd1",0],["BlockWriteOps_nbd10",0],["BlockWriteOps_nbd11",0],["BlockWriteOps_nbd12",0],["BlockWriteOps_nbd13",0],["BlockWriteOps_nbd14",0],["BlockWriteOps_nbd15",0],["BlockWriteOps_nbd2",0],["BlockWriteOps_nbd3",0],["BlockWriteOps_nbd4",0],["BlockWriteOps_nbd5",0],["BlockWriteOps_nbd6",0],["BlockWriteOps_nbd7",0],["BlockWriteOps_nbd8",0],["BlockWriteOps_nbd9",0],["BlockWriteOps_vda",12],["BlockWriteTime_nbd0",0],["BlockWriteTime_nbd1",0],["BlockWriteTime_nbd10",0],["BlockWriteTime_nbd11",0],["BlockWriteTime_nbd12",0],["BlockWriteTime_nbd13",0],["BlockWriteTime_nbd14",0],["BlockWriteTime_nbd15",0],["BlockWriteTime_nbd2",0],["BlockWriteTime_nbd3",0],["BlockWriteTime_nbd4",0],["BlockWriteTime_nbd5",0],["BlockWriteTime_nbd6",0],["BlockWriteTime_nbd7",0],["BlockWriteTime_nbd8",0],["BlockWriteTime_nbd9",0],["BlockWriteTime_vda",0.000008],["BrokenDistributedFilesToInsert",0,"Number of files for asynchronous insertion into Distributed tables that has been marked as broken. This metric will starts from 0 on start. Number of files for every shard is summed."],["CacheDictionaryUpdateQueueBatches",0,"Number of \'batches\' (a set of keys) in update queue in CacheDictionaries."],["CacheDictionaryUpdateQueueKeys",0,"Exact number of keys in update queue in CacheDictionaries."],["ContextLockWait",0,"Number of threads waiting for lock in Context. This is global lock."],["DelayedInserts",0,"Number of INSERT queries that are throttled due to high number of active data parts for partition in a MergeTree table."],["DictCacheRequests",0,"Number of requests in fly to data sources of dictionaries of cache type."],["DiskAvailable_default",30909685760],["DiskSpaceReservedForMerge",0,"Disk space reserved for currently running background merges. It is slightly more than the total size of currently merging parts."],["DiskTotal_default",62725623808],["DiskUnreserved_default",30909685760],["DiskUsed_default",31815938048],["DistributedFilesToInsert",0,"Number of pending files to process for asynchronous insertion into Distributed tables. Number of files for every shard is summed."],["DistributedSend",0,"Number of connections to remote servers sending data that was INSERTed into Distributed tables. Both synchronous and asynchronous mode."],["EphemeralNode",0,"Number of ephemeral nodes hold in ZooKeeper."],["FilesystemLogsPathAvailableBytes",30909685760],["FilesystemLogsPathAvailableINodes",3024789],["FilesystemLogsPathTotalBytes",62725623808],["FilesystemLogsPathTotalINodes",3907584],["FilesystemLogsPathUsedBytes",31815938048],["FilesystemLogsPathUsedINodes",882795],["FilesystemMainPathAvailableBytes",30909685760],["FilesystemMainPathAvailableINodes",3024789],["FilesystemMainPathTotalBytes",62725623808],["FilesystemMainPathTotalINodes",3907584],["FilesystemMainPathUsedBytes",31815938048],["FilesystemMainPathUsedINodes",882795],["GlobalThread",208,"Number of threads in global thread pool."],["GlobalThreadActive",164,"Number of threads in global thread pool running a task."],["HTTPConnection",0,"Number of connections to HTTP server"],["HTTPThreads",1],["InterserverConnection",0,"Number of connections from other replicas to fetch parts"],["InterserverThreads",0],["Jitter",0.000253],["LoadAverage1",0.56],["LoadAverage15",0.25],["LoadAverage5",0.34],["LocalThread",0,"Number of threads in local thread pools. The threads in local thread pools are taken from the global thread pool."],["LocalThreadActive",0,"Number of threads in local thread pools running a task."],["MMapCacheCells",0],["MMappedFileBytes",1958451168,"Sum size of mmapped file regions."],["MMappedFiles",7,"Total number of mmapped files."],["MarkCacheBytes",3995568],["MarkCacheFiles",6657],["MaxDDLEntryID",442,"Max processed DDL entry of DDLWorker."],["MaxPartCountForPartition",8],["MaxPushedDDLEntryID",442,"Max DDL entry of DDLWorker that pushed to zookeeper."],["MemoryCode",265568256],["MemoryDataAndStack",22894653440],["MemoryResident",757252096],["MemoryShared",270368768],["MemoryTracking",757483984,"Total amount of memory (bytes) allocated by the server."],["MemoryVirtual",25127219200],["Merge",0,"Number of executing background merges"],["MySQLConnection",0,"Number of client connections using MySQL protocol"],["MySQLThreads",0],["NetworkReceive",0,"Number of threads receiving data from network. Only ClickHouse-related network interaction is included, not by 3rd party libraries."],["NetworkReceiveBytes_eth0",20222],["NetworkReceiveBytes_ip6tnl0",0],["NetworkReceiveBytes_tunl0",0],["NetworkReceiveDrop_eth0",0],["NetworkReceiveDrop_ip6tnl0",0],["NetworkReceiveDrop_tunl0",0],["NetworkReceiveErrors_eth0",0],["NetworkReceiveErrors_ip6tnl0",0],["NetworkReceiveErrors_tunl0",0],["NetworkReceivePackets_eth0",59],["NetworkReceivePackets_ip6tnl0",0],["NetworkReceivePackets_tunl0",0],["NetworkSend",0,"Number of threads sending data to network. Only ClickHouse-related network interaction is included, not by 3rd party libraries."],["NetworkSendBytes_eth0",6902],["NetworkSendBytes_ip6tnl0",0],["NetworkSendBytes_tunl0",0],["NetworkSendDrop_eth0",0],["NetworkSendDrop_ip6tnl0",0],["NetworkSendDrop_tunl0",0],["NetworkSendErrors_eth0",0],["NetworkSendErrors_ip6tnl0",0],["NetworkSendErrors_tunl0",0],["NetworkSendPackets_eth0",32],["NetworkSendPackets_ip6tnl0",0],["NetworkSendPackets_tunl0",0],["NumberOfDatabases",4],["NumberOfTables",128],["OSContextSwitches",6175],["OSGuestNiceTime",0],["OSGuestNiceTimeCPU0",0],["OSGuestNiceTimeCPU1",0],["OSGuestNiceTimeCPU2",0],["OSGuestNiceTimeCPU3",0],["OSGuestNiceTimeCPU4",0],["OSGuestNiceTimeCPU5",0],["OSGuestNiceTimeCPU6",0],["OSGuestNiceTimeCPU7",0],["OSGuestNiceTimeNormalized",0],["OSGuestTime",0],["OSGuestTimeCPU0",0],["OSGuestTimeCPU1",0],["OSGuestTimeCPU2",0],["OSGuestTimeCPU3",0],["OSGuestTimeCPU4",0],["OSGuestTimeCPU5",0],["OSGuestTimeCPU6",0],["OSGuestTimeCPU7",0],["OSGuestTimeNormalized",0],["OSIOWaitTime",0],["OSIOWaitTimeCPU0",0],["OSIOWaitTimeCPU1",0],["OSIOWaitTimeCPU2",0],["OSIOWaitTimeCPU3",0],["OSIOWaitTimeCPU4",0],["OSIOWaitTimeCPU5",0],["OSIOWaitTimeCPU6",0],["OSIOWaitTimeCPU7",0],["OSIOWaitTimeNormalized",0],["OSIdleTime",6.238421679315133],["OSIdleTimeCPU0",0.7698052392744635],["OSIdleTimeCPU1",0.7997976511942478],["OSIdleTimeCPU2",0.719817886074823],["OSIdleTimeCPU3",0.7997976511942478],["OSIdleTimeCPU4",0.6698305328751826],["OSIdleTimeCPU5",0.8097951218341759],["OSIdleTimeCPU6",0.8197925924741041],["OSIdleTimeCPU7",0.8497850043938884],["OSIdleTimeNormalized",0.7798027099143916],["OSInterrupts",4856],["OSIrqTime",0],["OSIrqTimeCPU0",0],["OSIrqTimeCPU1",0],["OSIrqTimeCPU2",0],["OSIrqTimeCPU3",0],["OSIrqTimeCPU4",0],["OSIrqTimeCPU5",0],["OSIrqTimeCPU6",0],["OSIrqTimeCPU7",0],["OSIrqTimeNormalized",0],["OSMemoryAvailable",3400728576],["OSMemoryBuffers",424554496],["OSMemoryCached",2488438784],["OSMemoryFreePlusCached",3341795328],["OSMemoryFreeWithoutCached",853356544],["OSMemorySwapCached",1839104],["OSMemoryTotal",6227279872],["OSNiceTime",0],["OSNiceTimeCPU0",0],["OSNiceTimeCPU1",0],["OSNiceTimeCPU2",0],["OSNiceTimeCPU3",0],["OSNiceTimeCPU4",0],["OSNiceTimeCPU5",0],["OSNiceTimeCPU6",0],["OSNiceTimeCPU7",0],["OSNiceTimeNormalized",0],["OSOpenFiles",5248],["OSProcessesBlocked",0],["OSProcessesCreated",3],["OSProcessesRunning",4],["OSSoftIrqTime",0.06998229447949669],["OSSoftIrqTimeCPU0",0.029992411919784294],["OSSoftIrqTimeCPU1",0],["OSSoftIrqTimeCPU2",0.009997470639928098],["OSSoftIrqTimeCPU3",0.009997470639928098],["OSSoftIrqTimeCPU4",0],["OSSoftIrqTimeCPU5",0],["OSSoftIrqTimeCPU6",0.009997470639928098],["OSSoftIrqTimeCPU7",0.009997470639928098],["OSSoftIrqTimeNormalized",0.008747786809937087],["OSStealTime",0],["OSStealTimeCPU0",0],["OSStealTimeCPU1",0],["OSStealTimeCPU2",0],["OSStealTimeCPU3",0],["OSStealTimeCPU4",0],["OSStealTimeCPU5",0],["OSStealTimeCPU6",0],["OSStealTimeCPU7",0],["OSStealTimeNormalized",0],["OSSystemTime",0.28992664855791483],["OSSystemTimeCPU0",0.029992411919784294],["OSSystemTimeCPU1",0.03998988255971239],["OSSystemTimeCPU2",0.029992411919784294],["OSSystemTimeCPU3",0.03998988255971239],["OSSystemTimeCPU4",0.05998482383956859],["OSSystemTimeCPU5",0.029992411919784294],["OSSystemTimeCPU6",0.03998988255971239],["OSSystemTimeCPU7",0.029992411919784294],["OSSystemTimeNormalized",0.036240831069739354],["OSThreadsRunnable",4],["OSThreadsTotal",1084],["OSUptime",298274.46],["OSUserTime",0.309921589837771],["OSUserTimeCPU0",0.029992411919784294],["OSUserTimeCPU1",0.029992411919784294],["OSUserTimeCPU2",0.029992411919784294],["OSUserTimeCPU3",0.029992411919784294],["OSUserTimeCPU4",0.08997723575935287],["OSUserTimeCPU5",0.029992411919784294],["OSUserTimeCPU6",0.019994941279856196],["OSUserTimeCPU7",0.029992411919784294],["OSUserTimeNormalized",0.03874019872972138],["OpenFileForRead",31,"Number of files open for reading"],["OpenFileForWrite",0,"Number of files open for writing"],["PartMutation",0,"Number of mutations (ALTER DELETE/UPDATE)"],["PartsCommitted",95,"Active data part, used by current and upcoming SELECTs."],["PartsCompact",152,"Compact parts."],["PartsDeleteOnDestroy",0,"Part was moved to another disk and should be deleted in own destructor."],["PartsDeleting",0,"Not active data part with identity refcounter, it is deleting right now by a cleaner."],["PartsInMemory",0,"In-memory parts."],["PartsOutdated",93,"Not active data part, but could be used by only current SELECTs, could be deleted after SELECTs finishes."],["PartsPreCommitted",0,"The part is in data_parts, but not used for SELECTs."],["PartsTemporary",0,"The part is generating now, it is not in data_parts list."],["PartsWide",36,"Wide parts."],["PostgreSQLConnection",0,"Number of client connections using PostgreSQL protocol"],["Query",1,"Number of executing queries"],["QueryPreempted",0,"Number of queries that are stopped and waiting due to \'priority\' setting."],["QueryThread",0,"Number of query processing threads"],["RWLockActiveReaders",46,"Number of threads holding read lock in a table RWLock."],["RWLockActiveWriters",0,"Number of threads holding write lock in a table RWLock."],["RWLockWaitingReaders",0,"Number of threads waiting for read on a table RWLock."],["RWLockWaitingWriters",0,"Number of threads waiting for write on a table RWLock."],["Read",1,"Number of read (read, pread, io_getevents, etc.) syscalls in fly"],["ReadonlyReplica",0,"Number of Replicated tables that are currently in readonly state due to re-initialization after ZooKeeper session loss or due to startup without ZooKeeper configured."],["ReplicasMaxAbsoluteDelay",0],["ReplicasMaxInsertsInQueue",0],["ReplicasMaxMergesInQueue",0],["ReplicasMaxQueueSize",0],["ReplicasMaxRelativeDelay",0],["ReplicasSumInsertsInQueue",0],["ReplicasSumMergesInQueue",0],["ReplicasSumQueueSize",0],["ReplicatedChecks",0,"Number of data parts checking for consistency"],["ReplicatedFetch",0,"Number of data parts being fetched from replica"],["ReplicatedSend",0,"Number of data parts being sent to replicas"],["Revision",54454,"Revision of the server. It is a number incremented for every release or release candidate except patch releases."],["SendExternalTables",0,"Number of connections that are sending data for external tables to remote servers. External tables are used to implement GLOBAL IN and GLOBAL JOIN operators with distributed subqueries."],["SendScalars",0,"Number of connections that are sending data for scalars to remote servers."],["StorageBufferBytes",0,"Number of bytes in buffers of Buffer tables"],["StorageBufferRows",0,"Number of rows in buffers of Buffer tables"],["SyncDrainedConnections",0,"Number of connections drained synchronously."],["TCPConnection",2,"Number of connections to TCP server (clients with native interface), also included server-server distributed query connections"],["TCPThreads",2],["TablesToDropQueueSize",0,"Number of dropped tables, that are waiting for background data removal."],["TotalBytesOfMergeTreeTables",922069414],["TotalPartsOfMergeTreeTables",95],["TotalRowsOfMergeTreeTables",167857091],["UncompressedCacheBytes",0],["UncompressedCacheCells",0],["Uptime",297631],["VersionInteger",21009002,"Version of the server in a single integer number in base-1000. For example, version 11.22.33 is translated to 11022033."],["Write",0,"Number of write (write, pwrite, io_getevents, etc.) syscalls in fly"],["ZooKeeperRequest",0,"Number of requests to ZooKeeper in fly."],["ZooKeeperSession",1,"Number of sessions (connections) to ZooKeeper. Should be no more than one, because using more than one connection to ZooKeeper may lead to bugs due to lack of linearizability (stale reads) that ZooKeeper consistency model allows."],["ZooKeeperWatch",1,"Number of watches (event subscriptions) in ZooKeeper."],["jemalloc.active",415367168],["jemalloc.allocated",259537136],["jemalloc.arenas.all.dirty_purged",144941416],["jemalloc.arenas.all.muzzy_purged",138378738],["jemalloc.arenas.all.pactive",6338],["jemalloc.arenas.all.pdirty",14251],["jemalloc.arenas.all.pmuzzy",50],["jemalloc.background_thread.num_runs",0],["jemalloc.background_thread.num_threads",0],["jemalloc.background_thread.run_intervals",0],["jemalloc.epoch",297926],["jemalloc.mapped",5647564800],["jemalloc.metadata",45092944],["jemalloc.metadata_thp",0],["jemalloc.resident",1381040128],["jemalloc.retained",14753529856]]}},{"key":"last_event_ingested_timestamp","metric":"Last event ingested","value":"2022-03-16T10:16:44"},{"key":"dead_letter_queue_size","metric":"Dead letter queue size","value":114794},{"key":"dead_letter_queue_events_last_day","metric":"Events sent to dead letter queue in the last 24h","value":4682},{"key":"dead_letter_queue_ratio_ok","metric":"Dead letter queue ratio healthy","value":true},{"key":"redis_alive","metric":"Redis alive","value":true},{"metric":"Redis version","value":"6.2.6"},{"metric":"Redis current queue depth","value":"0"},{"metric":"Redis connected client count","value":"28"},{"metric":"Redis memory used","value":"3.04MB"},{"metric":"Redis memory peak","value":"4.04MB"},{"metric":"Redis total memory available","value":"5.80GB"}],"internal_metrics":{}}}')},"./frontend/src/mocks/fixtures/_preflight.json":module=>{"use strict";module.exports=JSON.parse('{"django":true,"redis":true,"plugins":false,"celery":false,"db":true,"clickhouse":true,"kafka":true,"initiated":true,"cloud":false,"demo":false,"object_storage":true,"realm":"hosted-clickhouse","region":"US","available_social_auth_providers":{"github":false,"gitlab":false,"google-oauth2":false,"saml":false},"can_create_org":false,"email_service_available":false,"db_backend":"clickhouse","available_timezones":{"Africa/Abidjan":0,"Africa/Accra":0,"Africa/Addis_Ababa":3,"Africa/Algiers":1,"Africa/Asmara":3,"Africa/Bamako":0,"Africa/Bangui":1,"Africa/Banjul":0,"Africa/Bissau":0,"Africa/Blantyre":2,"Africa/Brazzaville":1,"Africa/Bujumbura":2,"Africa/Cairo":2,"Africa/Casablanca":1,"Africa/Ceuta":1,"Africa/Conakry":0,"Africa/Dakar":0,"Africa/Dar_es_Salaam":3,"Africa/Djibouti":3,"Africa/Douala":1,"Africa/El_Aaiun":1,"Africa/Freetown":0,"Africa/Gaborone":2,"Africa/Harare":2,"Africa/Johannesburg":2,"Africa/Juba":2,"Africa/Kampala":3,"Africa/Khartoum":2,"Africa/Kigali":2,"Africa/Kinshasa":1,"Africa/Lagos":1,"Africa/Libreville":1,"Africa/Lome":0,"Africa/Luanda":1,"Africa/Lubumbashi":2,"Africa/Lusaka":2,"Africa/Malabo":1,"Africa/Maputo":2,"Africa/Maseru":2,"Africa/Mbabane":2,"Africa/Mogadishu":3,"Africa/Monrovia":0,"Africa/Nairobi":3,"Africa/Ndjamena":1,"Africa/Niamey":1,"Africa/Nouakchott":0,"Africa/Ouagadougou":0,"Africa/Porto-Novo":1,"Africa/Sao_Tome":0,"Africa/Tripoli":2,"Africa/Tunis":1,"Africa/Windhoek":2,"America/Adak":-9,"America/Anchorage":-8,"America/Anguilla":-4,"America/Antigua":-4,"America/Araguaina":-3,"America/Argentina/Buenos_Aires":-3,"America/Argentina/Catamarca":-3,"America/Argentina/Cordoba":-3,"America/Argentina/Jujuy":-3,"America/Argentina/La_Rioja":-3,"America/Argentina/Mendoza":-3,"America/Argentina/Rio_Gallegos":-3,"America/Argentina/Salta":-3,"America/Argentina/San_Juan":-3,"America/Argentina/San_Luis":-3,"America/Argentina/Tucuman":-3,"America/Argentina/Ushuaia":-3,"America/Aruba":-4,"America/Asuncion":-3,"America/Atikokan":-5,"America/Bahia":-3,"America/Bahia_Banderas":-6,"America/Barbados":-4,"America/Belem":-3,"America/Belize":-6,"America/Blanc-Sablon":-4,"America/Boa_Vista":-4,"America/Bogota":-5,"America/Boise":-6,"America/Cambridge_Bay":-6,"America/Campo_Grande":-4,"America/Cancun":-5,"America/Caracas":-4,"America/Cayenne":-3,"America/Cayman":-5,"America/Chicago":-5,"America/Chihuahua":-7,"America/Costa_Rica":-6,"America/Creston":-7,"America/Cuiaba":-4,"America/Curacao":-4,"America/Danmarkshavn":0,"America/Dawson":-7,"America/Dawson_Creek":-7,"America/Denver":-6,"America/Detroit":-4,"America/Dominica":-4,"America/Edmonton":-6,"America/Eirunepe":-5,"America/El_Salvador":-6,"America/Fort_Nelson":-7,"America/Fortaleza":-3,"America/Glace_Bay":-3,"America/Goose_Bay":-3,"America/Grand_Turk":-4,"America/Grenada":-4,"America/Guadeloupe":-4,"America/Guatemala":-6,"America/Guayaquil":-5,"America/Guyana":-4,"America/Halifax":-3,"America/Havana":-4,"America/Hermosillo":-7,"America/Indiana/Indianapolis":-4,"America/Indiana/Knox":-5,"America/Indiana/Marengo":-4,"America/Indiana/Petersburg":-4,"America/Indiana/Tell_City":-5,"America/Indiana/Vevay":-4,"America/Indiana/Vincennes":-4,"America/Indiana/Winamac":-4,"America/Inuvik":-6,"America/Iqaluit":-4,"America/Jamaica":-5,"America/Juneau":-8,"America/Kentucky/Louisville":-4,"America/Kentucky/Monticello":-4,"America/Kralendijk":-4,"America/La_Paz":-4,"America/Lima":-5,"America/Los_Angeles":-7,"America/Lower_Princes":-4,"America/Maceio":-3,"America/Managua":-6,"America/Manaus":-4,"America/Marigot":-4,"America/Martinique":-4,"America/Matamoros":-5,"America/Mazatlan":-7,"America/Menominee":-5,"America/Merida":-6,"America/Metlakatla":-8,"America/Mexico_City":-6,"America/Miquelon":-2,"America/Moncton":-3,"America/Monterrey":-6,"America/Montevideo":-3,"America/Montserrat":-4,"America/Nassau":-4,"America/New_York":-4,"America/Nipigon":-4,"America/Nome":-8,"America/Noronha":-2,"America/North_Dakota/Beulah":-5,"America/North_Dakota/Center":-5,"America/North_Dakota/New_Salem":-5,"America/Nuuk":-3,"America/Ojinaga":-6,"America/Panama":-5,"America/Pangnirtung":-4,"America/Paramaribo":-3,"America/Phoenix":-7,"America/Port-au-Prince":-4,"America/Port_of_Spain":-4,"America/Porto_Velho":-4,"America/Puerto_Rico":-4,"America/Punta_Arenas":-3,"America/Rainy_River":-5,"America/Rankin_Inlet":-5,"America/Recife":-3,"America/Regina":-6,"America/Resolute":-5,"America/Rio_Branco":-5,"America/Santarem":-3,"America/Santiago":-3,"America/Santo_Domingo":-4,"America/Sao_Paulo":-3,"America/Scoresbysund":-1,"America/Sitka":-8,"America/St_Barthelemy":-4,"America/St_Johns":-2.5,"America/St_Kitts":-4,"America/St_Lucia":-4,"America/St_Thomas":-4,"America/St_Vincent":-4,"America/Swift_Current":-6,"America/Tegucigalpa":-6,"America/Thule":-3,"America/Thunder_Bay":-4,"America/Tijuana":-7,"America/Toronto":-4,"America/Tortola":-4,"America/Vancouver":-7,"America/Whitehorse":-7,"America/Winnipeg":-5,"America/Yakutat":-8,"America/Yellowknife":-6,"Antarctica/Casey":11,"Antarctica/Davis":7,"Antarctica/DumontDUrville":10,"Antarctica/Macquarie":11,"Antarctica/Mawson":5,"Antarctica/McMurdo":13,"Antarctica/Palmer":-3,"Antarctica/Rothera":-3,"Antarctica/Syowa":3,"Antarctica/Troll":0,"Antarctica/Vostok":6,"Arctic/Longyearbyen":1,"Asia/Aden":3,"Asia/Almaty":6,"Asia/Amman":2,"Asia/Anadyr":12,"Asia/Aqtau":5,"Asia/Aqtobe":5,"Asia/Ashgabat":5,"Asia/Atyrau":5,"Asia/Baghdad":3,"Asia/Bahrain":3,"Asia/Baku":4,"Asia/Bangkok":7,"Asia/Barnaul":7,"Asia/Beirut":2,"Asia/Bishkek":6,"Asia/Brunei":8,"Asia/Chita":9,"Asia/Choibalsan":8,"Asia/Colombo":5.5,"Asia/Damascus":2,"Asia/Dhaka":6,"Asia/Dili":9,"Asia/Dubai":4,"Asia/Dushanbe":5,"Asia/Famagusta":2,"Asia/Gaza":2,"Asia/Hebron":2,"Asia/Ho_Chi_Minh":7,"Asia/Hong_Kong":8,"Asia/Hovd":7,"Asia/Irkutsk":8,"Asia/Jakarta":7,"Asia/Jayapura":9,"Asia/Jerusalem":2,"Asia/Kabul":4.5,"Asia/Kamchatka":12,"Asia/Karachi":5,"Asia/Kathmandu":5.75,"Asia/Khandyga":9,"Asia/Kolkata":5.5,"Asia/Krasnoyarsk":7,"Asia/Kuala_Lumpur":8,"Asia/Kuching":8,"Asia/Kuwait":3,"Asia/Macau":8,"Asia/Magadan":11,"Asia/Makassar":8,"Asia/Manila":8,"Asia/Muscat":4,"Asia/Nicosia":2,"Asia/Novokuznetsk":7,"Asia/Novosibirsk":7,"Asia/Omsk":6,"Asia/Oral":5,"Asia/Phnom_Penh":7,"Asia/Pontianak":7,"Asia/Pyongyang":9,"Asia/Qatar":3,"Asia/Qostanay":6,"Asia/Qyzylorda":5,"Asia/Riyadh":3,"Asia/Sakhalin":11,"Asia/Samarkand":5,"Asia/Seoul":9,"Asia/Shanghai":8,"Asia/Singapore":8,"Asia/Srednekolymsk":11,"Asia/Taipei":8,"Asia/Tashkent":5,"Asia/Tbilisi":4,"Asia/Tehran":3.5,"Asia/Thimphu":6,"Asia/Tokyo":9,"Asia/Tomsk":7,"Asia/Ulaanbaatar":8,"Asia/Urumqi":6,"Asia/Ust-Nera":10,"Asia/Vientiane":7,"Asia/Vladivostok":10,"Asia/Yakutsk":9,"Asia/Yangon":6.5,"Asia/Yekaterinburg":5,"Asia/Yerevan":4,"Atlantic/Azores":-1,"Atlantic/Bermuda":-3,"Atlantic/Canary":0,"Atlantic/Cape_Verde":-1,"Atlantic/Faroe":0,"Atlantic/Madeira":0,"Atlantic/Reykjavik":0,"Atlantic/South_Georgia":-2,"Atlantic/St_Helena":0,"Atlantic/Stanley":-3,"Australia/Adelaide":10.5,"Australia/Brisbane":10,"Australia/Broken_Hill":10.5,"Australia/Darwin":9.5,"Australia/Eucla":8.75,"Australia/Hobart":11,"Australia/Lindeman":10,"Australia/Lord_Howe":11,"Australia/Melbourne":11,"Australia/Perth":8,"Australia/Sydney":11,"Canada/Atlantic":-3,"Canada/Central":-5,"Canada/Eastern":-4,"Canada/Mountain":-6,"Canada/Newfoundland":-2.5,"Canada/Pacific":-7,"Europe/Amsterdam":1,"Europe/Andorra":1,"Europe/Astrakhan":4,"Europe/Athens":2,"Europe/Belgrade":1,"Europe/Berlin":1,"Europe/Bratislava":1,"Europe/Brussels":1,"Europe/Bucharest":2,"Europe/Budapest":1,"Europe/Busingen":1,"Europe/Chisinau":2,"Europe/Copenhagen":1,"Europe/Dublin":0,"Europe/Gibraltar":1,"Europe/Guernsey":0,"Europe/Helsinki":2,"Europe/Isle_of_Man":0,"Europe/Istanbul":3,"Europe/Jersey":0,"Europe/Kaliningrad":2,"Europe/Kiev":2,"Europe/Kirov":3,"Europe/Lisbon":0,"Europe/Ljubljana":1,"Europe/London":0,"Europe/Luxembourg":1,"Europe/Madrid":1,"Europe/Malta":1,"Europe/Mariehamn":2,"Europe/Minsk":3,"Europe/Monaco":1,"Europe/Moscow":3,"Europe/Oslo":1,"Europe/Paris":1,"Europe/Podgorica":1,"Europe/Prague":1,"Europe/Riga":2,"Europe/Rome":1,"Europe/Samara":4,"Europe/San_Marino":1,"Europe/Sarajevo":1,"Europe/Saratov":4,"Europe/Simferopol":3,"Europe/Skopje":1,"Europe/Sofia":2,"Europe/Stockholm":1,"Europe/Tallinn":2,"Europe/Tirane":1,"Europe/Ulyanovsk":4,"Europe/Uzhgorod":2,"Europe/Vaduz":1,"Europe/Vatican":1,"Europe/Vienna":1,"Europe/Vilnius":2,"Europe/Volgograd":3,"Europe/Warsaw":1,"Europe/Zagreb":1,"Europe/Zaporozhye":2,"Europe/Zurich":1,"GMT":0,"Indian/Antananarivo":3,"Indian/Chagos":6,"Indian/Christmas":7,"Indian/Cocos":6.5,"Indian/Comoro":3,"Indian/Kerguelen":5,"Indian/Mahe":4,"Indian/Maldives":5,"Indian/Mauritius":4,"Indian/Mayotte":3,"Indian/Reunion":4,"Pacific/Apia":14,"Pacific/Auckland":13,"Pacific/Bougainville":11,"Pacific/Chatham":13.75,"Pacific/Chuuk":10,"Pacific/Easter":-5,"Pacific/Efate":11,"Pacific/Enderbury":13,"Pacific/Fakaofo":13,"Pacific/Fiji":12,"Pacific/Funafuti":12,"Pacific/Galapagos":-6,"Pacific/Gambier":-9,"Pacific/Guadalcanal":11,"Pacific/Guam":10,"Pacific/Honolulu":-10,"Pacific/Kiritimati":14,"Pacific/Kosrae":11,"Pacific/Kwajalein":12,"Pacific/Majuro":12,"Pacific/Marquesas":-9.5,"Pacific/Midway":-11,"Pacific/Nauru":12,"Pacific/Niue":-11,"Pacific/Norfolk":12,"Pacific/Noumea":11,"Pacific/Pago_Pago":-11,"Pacific/Palau":9,"Pacific/Pitcairn":-8,"Pacific/Pohnpei":11,"Pacific/Port_Moresby":10,"Pacific/Rarotonga":-10,"Pacific/Saipan":10,"Pacific/Tahiti":-10,"Pacific/Tarawa":12,"Pacific/Tongatapu":13,"Pacific/Wake":12,"Pacific/Wallis":12,"US/Alaska":-8,"US/Arizona":-7,"US/Central":-5,"US/Eastern":-4,"US/Hawaii":-10,"US/Mountain":-6,"US/Pacific":-7,"UTC":0},"opt_out_capture":false,"is_debug":true,"licensed_users_available":21311,"site_url":"http://localhost:6006","instance_preferences":{"debug_queries":false,"disable_paid_fs":false}}')},"./frontend/src/mocks/fixtures/_system_status.json":module=>{"use strict";module.exports=JSON.parse('{"results":[{"key":"ingestion_server","metric":"Event ingestion via","value":"Plugin Server"},{"key":"plugin_sever_alive","metric":"Plugin server alive","value":true},{"key":"plugin_sever_version","metric":"Plugin server version","value":"0.15.5"},{"key":"db_alive","metric":"Postgres database alive","value":true},{"key":"pg_version","metric":"Postgres version","value":"13.0.1"},{"metric":"Postgres elements table size","value":"~3508 rows (~840 kB)"},{"metric":"Postgres events table size","value":"~5003 rows (~7032 kB)"},{"metric":"Postgres session recording table size","value":"~536 rows (~4608 kB)"},{"key":"redis_alive","metric":"Redis alive","value":true},{"metric":"Redis version","value":"6.0.10"},{"metric":"Redis current queue depth","value":"0"},{"metric":"Redis connected client count","value":"37"},{"metric":"Redis memory used","value":"2.10MB"},{"metric":"Redis memory peak","value":"12.00MB"},{"metric":"Redis total memory available","value":"64.00GB"}]}')},"./frontend/src/queries/schema.json":module=>{"use strict";module.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","definitions":{"ActionConversionGoal":{"additionalProperties":false,"properties":{"actionId":{"type":"integer"}},"required":["actionId"],"type":"object"},"ActionsNode":{"additionalProperties":false,"properties":{"custom_name":{"type":"string"},"fixedProperties":{"description":"Fixed properties in the query, can\'t be edited in the interface (e.g. scoping down by person)","items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},"id":{"type":"integer"},"kind":{"const":"ActionsNode","type":"string"},"math":{"$ref":"#/definitions/MathType"},"math_group_type_index":{"enum":[0,1,2,3,4],"type":"number"},"math_hogql":{"type":"string"},"math_property":{"type":"string"},"math_property_type":{"type":"string"},"name":{"type":"string"},"properties":{"description":"Properties configurable in the interface","items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},"response":{"type":"object"}},"required":["id","kind"],"type":"object"},"ActorsPropertyTaxonomyQuery":{"additionalProperties":false,"properties":{"group_type_index":{"type":"integer"},"kind":{"const":"ActorsPropertyTaxonomyQuery","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"property":{"type":"string"},"response":{"$ref":"#/definitions/ActorsPropertyTaxonomyQueryResponse"}},"required":["kind","property"],"type":"object"},"ActorsPropertyTaxonomyQueryResponse":{"additionalProperties":false,"description":"All analytics query responses must inherit from this.","properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"$ref":"#/definitions/ActorsPropertyTaxonomyResponse"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},"ActorsPropertyTaxonomyResponse":{"additionalProperties":false,"properties":{"sample_count":{"type":"integer"},"sample_values":{"items":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"integer"}]},"type":"array"}},"required":["sample_values","sample_count"],"type":"object"},"ActorsQuery":{"additionalProperties":false,"properties":{"fixedProperties":{"description":"Currently only person filters supported. No filters for querying groups. See `filter_conditions()` in actor_strategies.py.","items":{"$ref":"#/definitions/AnyPersonScopeFilter"},"type":"array"},"kind":{"const":"ActorsQuery","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"orderBy":{"items":{"type":"string"},"type":"array"},"properties":{"description":"Currently only person filters supported. No filters for querying groups. See `filter_conditions()` in actor_strategies.py.","items":{"$ref":"#/definitions/AnyPersonScopeFilter"},"type":"array"},"response":{"$ref":"#/definitions/ActorsQueryResponse"},"search":{"type":"string"},"select":{"items":{"$ref":"#/definitions/HogQLExpression"},"type":"array"},"source":{"anyOf":[{"$ref":"#/definitions/InsightActorsQuery"},{"$ref":"#/definitions/FunnelsActorsQuery"},{"$ref":"#/definitions/FunnelCorrelationActorsQuery"},{"$ref":"#/definitions/HogQLQuery"}]}},"required":["kind"],"type":"object"},"ActorsQueryResponse":{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"missing_actors_count":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"items":{},"type":"array"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{"type":"string"},"type":"array"}},"required":["columns","hogql","limit","offset","results","types"],"type":"object"},"AggregationAxisFormat":{"enum":["numeric","duration","duration_ms","percentage","percentage_scaled"],"type":"string"},"AlertCalculationInterval":{"enum":["hourly","daily","weekly","monthly"],"type":"string"},"AlertCondition":{"additionalProperties":false,"properties":{"type":{"$ref":"#/definitions/AlertConditionType"}},"required":["type"],"type":"object"},"AlertConditionType":{"enum":["absolute_value","relative_increase","relative_decrease"],"type":"string"},"AlertState":{"enum":["Firing","Not firing","Errored","Snoozed"],"type":"string"},"AnyDataNode":{"anyOf":[{"$ref":"#/definitions/EventsNode"},{"$ref":"#/definitions/ActionsNode"},{"$ref":"#/definitions/PersonsNode"},{"$ref":"#/definitions/EventsQuery"},{"$ref":"#/definitions/ActorsQuery"},{"$ref":"#/definitions/InsightActorsQuery"},{"$ref":"#/definitions/InsightActorsQueryOptions"},{"$ref":"#/definitions/SessionsTimelineQuery"},{"$ref":"#/definitions/HogQuery"},{"$ref":"#/definitions/HogQLQuery"},{"$ref":"#/definitions/HogQLMetadata"},{"$ref":"#/definitions/HogQLAutocomplete"},{"$ref":"#/definitions/WebOverviewQuery"},{"$ref":"#/definitions/WebStatsTableQuery"},{"$ref":"#/definitions/WebExternalClicksTableQuery"},{"$ref":"#/definitions/WebGoalsQuery"},{"$ref":"#/definitions/SessionAttributionExplorerQuery"},{"$ref":"#/definitions/ErrorTrackingQuery"},{"$ref":"#/definitions/ExperimentFunnelsQuery"},{"$ref":"#/definitions/ExperimentTrendsQuery"},{"$ref":"#/definitions/RecordingsQuery"}]},"AnyEntityNode":{"anyOf":[{"$ref":"#/definitions/EventsNode"},{"$ref":"#/definitions/ActionsNode"},{"$ref":"#/definitions/DataWarehouseNode"}]},"AnyFilterLike":{"anyOf":[{"$ref":"#/definitions/AnyPropertyFilter"},{"$ref":"#/definitions/PropertyGroupFilter"},{"$ref":"#/definitions/PropertyGroupFilterValue"}]},"AnyPersonScopeFilter":{"anyOf":[{"$ref":"#/definitions/PersonPropertyFilter"},{"$ref":"#/definitions/CohortPropertyFilter"},{"$ref":"#/definitions/HogQLPropertyFilter"},{"$ref":"#/definitions/EmptyPropertyFilter"}],"description":"Any filter type supported by `property_to_expr(scope=\\"person\\", ...)`."},"AnyPropertyFilter":{"anyOf":[{"$ref":"#/definitions/EventPropertyFilter"},{"$ref":"#/definitions/PersonPropertyFilter"},{"$ref":"#/definitions/ElementPropertyFilter"},{"$ref":"#/definitions/SessionPropertyFilter"},{"$ref":"#/definitions/CohortPropertyFilter"},{"$ref":"#/definitions/RecordingPropertyFilter"},{"$ref":"#/definitions/LogEntryPropertyFilter"},{"$ref":"#/definitions/GroupPropertyFilter"},{"$ref":"#/definitions/FeaturePropertyFilter"},{"$ref":"#/definitions/HogQLPropertyFilter"},{"$ref":"#/definitions/EmptyPropertyFilter"},{"$ref":"#/definitions/DataWarehousePropertyFilter"},{"$ref":"#/definitions/DataWarehousePersonPropertyFilter"}]},"AnyResponseType":{"anyOf":[{"type":"object"},{"$ref":"#/definitions/HogQueryResponse"},{"$ref":"#/definitions/HogQLQueryResponse"},{"$ref":"#/definitions/HogQLMetadataResponse"},{"$ref":"#/definitions/HogQLAutocompleteResponse"},{"type":"object"},{"not":{}},{"$ref":"#/definitions/EventsQueryResponse"},{"$ref":"#/definitions/ErrorTrackingQueryResponse"}]},"AssistantArrayPropertyFilter":{"additionalProperties":false,"properties":{"operator":{"$ref":"#/definitions/AssistantArrayPropertyFilterOperator","description":"`exact` - exact match of any of the values. `is_not` - does not match any of the values."},"value":{"description":"Only use property values from the plan. Always use strings as values. If you have a number, convert it to a string first. If you have a boolean, convert it to a string \\"true\\" or \\"false\\".","items":{"type":"string"},"type":"array"}},"required":["operator","value"],"type":"object"},"AssistantArrayPropertyFilterOperator":{"enum":["exact","is_not"],"type":"string"},"AssistantBaseMultipleBreakdownFilter":{"additionalProperties":false,"properties":{"property":{"description":"Property name from the plan to break down by.","type":"string"}},"required":["property"],"type":"object"},"AssistantBasePropertyFilter":{"anyOf":[{"$ref":"#/definitions/AssistantStringNumberOrBooleanPropertyFilter"},{"$ref":"#/definitions/AssistantDateTimePropertyFilter"},{"$ref":"#/definitions/AssistantSetPropertyFilter"}]},"AssistantBreakdownFilter":{"additionalProperties":false,"properties":{"breakdown_limit":{"default":25,"description":"How many distinct values to show.","type":"integer"}},"type":"object"},"AssistantDateTimePropertyFilter":{"additionalProperties":false,"properties":{"operator":{"$ref":"#/definitions/AssistantDateTimePropertyFilterOperator"},"value":{"description":"Value must be a date in ISO 8601 format.","type":"string"}},"required":["operator","value"],"type":"object"},"AssistantDateTimePropertyFilterOperator":{"enum":["is_date_exact","is_date_before","is_date_after"],"type":"string"},"AssistantEventMultipleBreakdownFilterType":{"enum":["person","event","session","hogql"],"type":"string"},"AssistantEventType":{"enum":["status","message","conversation"],"type":"string"},"AssistantFunnelsBreakdownFilter":{"additionalProperties":false,"properties":{"breakdown":{"description":"The entity property to break down by.","type":"string"},"breakdown_group_type_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"If `breakdown_type` is `group`, this is the index of the group. Use the index from the group mapping."},"breakdown_limit":{"default":25,"description":"How many distinct values to show.","type":"integer"},"breakdown_type":{"$ref":"#/definitions/AssistantFunnelsBreakdownType","default":"event","description":"Type of the entity to break down by. If `group` is used, you must also provide `breakdown_group_type_index` from the group mapping."}},"required":["breakdown_type","breakdown"],"type":"object"},"AssistantFunnelsBreakdownType":{"enum":["person","event","group","session"],"type":"string"},"AssistantFunnelsEventsNode":{"additionalProperties":false,"properties":{"custom_name":{"description":"Optional custom name for the event if it is needed to be renamed.","type":"string"},"event":{"description":"Name of the event.","type":"string"},"kind":{"const":"EventsNode","type":"string"},"math":{"$ref":"#/definitions/AssistantTrendsMath","description":"Optional math aggregation type for the series. Only specify this math type if the user wants one of these. `first_time_for_user` - counts the number of users who have completed the event for the first time ever. `first_time_for_user_with_filters` - counts the number of users who have completed the event with specified filters for the first time."},"properties":{"items":{"$ref":"#/definitions/AssistantPropertyFilter"},"type":"array"},"response":{"type":"object"}},"required":["event","kind"],"type":"object"},"AssistantFunnelsExclusionEventsNode":{"additionalProperties":false,"description":"Exclustion steps for funnels. The \\"from\\" and \\"to\\" steps must not exceed the funnel\'s series length.","properties":{"event":{"type":"string"},"funnelFromStep":{"type":"integer"},"funnelToStep":{"type":"integer"},"kind":{"const":"EventsNode","type":"string"}},"required":["event","funnelFromStep","funnelToStep","kind"],"type":"object"},"AssistantFunnelsFilter":{"additionalProperties":false,"properties":{"binCount":{"description":"Use this setting only when `funnelVizType` is `time_to_convert`: number of bins to show in histogram.","type":"integer"},"exclusions":{"default":[],"description":"Users may want to use exclusion events to filter out conversions in which a particular event occurred between specific steps. These events must not be included in the main sequence. You must include start and end indexes for each exclusion where the minimum index is one and the maximum index is the number of steps in the funnel. For example, there is a sequence with three steps: sign up, finish onboarding, purchase. If the user wants to exclude all conversions in which users left the page before finishing the onboarding, the exclusion step would be the event `$pageleave` with start index 2 and end index 3.","items":{"$ref":"#/definitions/AssistantFunnelsExclusionEventsNode"},"type":"array"},"funnelAggregateByHogQL":{"const":"properties.$session_id","description":"Use this field only if the user explicitly asks to aggregate the funnel by unique sessions.","type":"string"},"funnelOrderType":{"$ref":"#/definitions/StepOrderValue","default":"ordered","description":"Defines the behavior of event matching between steps. Prefer the `strict` option unless explicitly told to use a different one. `ordered` - defines a sequential funnel. Step B must happen after Step A, but any number of events can happen between A and B. `strict` - defines a funnel where all events must happen in order. Step B must happen directly after Step A without any events in between. `any` - order doesn\'t matter. Steps can be completed in any sequence."},"funnelStepReference":{"$ref":"#/definitions/FunnelStepReference","default":"total","description":"Whether conversion shown in the graph should be across all steps or just relative to the previous step."},"funnelVizType":{"$ref":"#/definitions/FunnelVizType","default":"steps","description":"Defines the type of visualization to use. The `steps` option is recommended. `steps` - shows a step-by-step funnel. Perfect to show a conversion rate of a sequence of events (default). `time_to_convert` - shows a histogram of the time it took to complete the funnel. Use this if the user asks about the average time it takes to complete the funnel. `trends` - shows a trend of the whole sequence\'s conversion rate over time. Use this if the user wants to see how the conversion rate changes over time."},"funnelWindowInterval":{"default":14,"description":"Controls a time frame value for a conversion to be considered. Select a reasonable value based on the user\'s query. Use in combination with `funnelWindowIntervalUnit`. The default value is 14 days.","type":"integer"},"funnelWindowIntervalUnit":{"$ref":"#/definitions/FunnelConversionWindowTimeUnit","default":"day","description":"Controls a time frame interval for a conversion to be considered. Select a reasonable value based on the user\'s query. Use in combination with `funnelWindowInterval`. The default value is 14 days."},"layout":{"$ref":"#/definitions/FunnelLayout","default":"vertical","description":"Controls how the funnel chart is displayed: vertically (preferred) or horizontally."}},"type":"object"},"AssistantFunnelsQuery":{"additionalProperties":false,"properties":{"aggregation_group_type_index":{"description":"Use this field to define the aggregation by a specific group from the group mapping that the user has provided.","type":"integer"},"breakdownFilter":{"$ref":"#/definitions/AssistantFunnelsBreakdownFilter","description":"Breakdown the chart by a property"},"dateRange":{"$ref":"#/definitions/DateRange","description":"Date range for the query"},"filterTestAccounts":{"default":false,"description":"Exclude internal and test users by applying the respective filters","type":"boolean"},"funnelsFilter":{"$ref":"#/definitions/AssistantFunnelsFilter","description":"Properties specific to the funnels insight"},"interval":{"$ref":"#/definitions/IntervalType","description":"Granularity of the response. Can be one of `hour`, `day`, `week` or `month`"},"kind":{"const":"FunnelsQuery","type":"string"},"properties":{"default":[],"description":"Property filters for all series","items":{"$ref":"#/definitions/AssistantPropertyFilter"},"type":"array"},"samplingFactor":{"description":"Sampling rate from 0 to 1 where 1 is 100% of the data.","type":["number","null"]},"series":{"description":"Events to include","items":{"$ref":"#/definitions/AssistantFunnelsEventsNode"},"type":"array"}},"required":["kind","series"],"type":"object"},"AssistantGenerationStatusEvent":{"additionalProperties":false,"properties":{"type":{"$ref":"#/definitions/AssistantGenerationStatusType"}},"required":["type"],"type":"object"},"AssistantGenerationStatusType":{"enum":["ack","generation_error"],"type":"string"},"AssistantGenericMultipleBreakdownFilter":{"additionalProperties":false,"properties":{"property":{"description":"Property name from the plan to break down by.","type":"string"},"type":{"$ref":"#/definitions/AssistantEventMultipleBreakdownFilterType"}},"required":["property","type"],"type":"object"},"AssistantGenericPropertyFilter":{"anyOf":[{"additionalProperties":false,"properties":{"key":{"description":"Use one of the properties the user has provided in the plan.","type":"string"},"operator":{"$ref":"#/definitions/AssistantSingleValuePropertyFilterOperator","description":"`icontains` - case insensitive contains. `not_icontains` - case insensitive does not contain. `regex` - matches the regex pattern. `not_regex` - does not match the regex pattern."},"type":{"enum":["event","person","session","feature"],"type":"string"},"value":{"description":"Only use property values from the plan. If the operator is `regex` or `not_regex`, the value must be a valid ClickHouse regex pattern to match against. Otherwise, the value must be a substring that will be matched against the property value.","type":"string"}},"required":["key","operator","type","value"],"type":"object"},{"additionalProperties":false,"properties":{"key":{"description":"Use one of the properties the user has provided in the plan.","type":"string"},"operator":{"$ref":"#/definitions/AssistantArrayPropertyFilterOperator","description":"`exact` - exact match of any of the values. `is_not` - does not match any of the values."},"type":{"enum":["event","person","session","feature"],"type":"string"},"value":{"description":"Only use property values from the plan. Always use strings as values. If you have a number, convert it to a string first. If you have a boolean, convert it to a string \\"true\\" or \\"false\\".","items":{"type":"string"},"type":"array"}},"required":["key","operator","type","value"],"type":"object"},{"additionalProperties":false,"properties":{"key":{"description":"Use one of the properties the user has provided in the plan.","type":"string"},"operator":{"$ref":"#/definitions/AssistantDateTimePropertyFilterOperator"},"type":{"enum":["event","person","session","feature"],"type":"string"},"value":{"description":"Value must be a date in ISO 8601 format.","type":"string"}},"required":["key","operator","type","value"],"type":"object"},{"additionalProperties":false,"properties":{"key":{"description":"Use one of the properties the user has provided in the plan.","type":"string"},"operator":{"$ref":"#/definitions/AssistantSetPropertyFilterOperator","description":"`is_set` - the property has any value. `is_not_set` - the property doesn\'t have a value or wasn\'t collected."},"type":{"enum":["event","person","session","feature"],"type":"string"}},"required":["key","operator","type"],"type":"object"}]},"AssistantGroupMultipleBreakdownFilter":{"additionalProperties":false,"properties":{"group_type_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Index of the group type from the group mapping."},"property":{"description":"Property name from the plan to break down by.","type":"string"},"type":{"const":"group","type":"string"}},"required":["property","type"],"type":"object"},"AssistantGroupPropertyFilter":{"anyOf":[{"additionalProperties":false,"properties":{"group_type_index":{"description":"Index of the group type from the group mapping.","type":"integer"},"key":{"description":"Use one of the properties the user has provided in the plan.","type":"string"},"operator":{"$ref":"#/definitions/AssistantSingleValuePropertyFilterOperator","description":"`icontains` - case insensitive contains. `not_icontains` - case insensitive does not contain. `regex` - matches the regex pattern. `not_regex` - does not match the regex pattern."},"type":{"const":"group","type":"string"},"value":{"description":"Only use property values from the plan. If the operator is `regex` or `not_regex`, the value must be a valid ClickHouse regex pattern to match against. Otherwise, the value must be a substring that will be matched against the property value.","type":"string"}},"required":["group_type_index","key","operator","type","value"],"type":"object"},{"additionalProperties":false,"properties":{"group_type_index":{"description":"Index of the group type from the group mapping.","type":"integer"},"key":{"description":"Use one of the properties the user has provided in the plan.","type":"string"},"operator":{"$ref":"#/definitions/AssistantArrayPropertyFilterOperator","description":"`exact` - exact match of any of the values. `is_not` - does not match any of the values."},"type":{"const":"group","type":"string"},"value":{"description":"Only use property values from the plan. Always use strings as values. If you have a number, convert it to a string first. If you have a boolean, convert it to a string \\"true\\" or \\"false\\".","items":{"type":"string"},"type":"array"}},"required":["group_type_index","key","operator","type","value"],"type":"object"},{"additionalProperties":false,"properties":{"group_type_index":{"description":"Index of the group type from the group mapping.","type":"integer"},"key":{"description":"Use one of the properties the user has provided in the plan.","type":"string"},"operator":{"$ref":"#/definitions/AssistantDateTimePropertyFilterOperator"},"type":{"const":"group","type":"string"},"value":{"description":"Value must be a date in ISO 8601 format.","type":"string"}},"required":["group_type_index","key","operator","type","value"],"type":"object"},{"additionalProperties":false,"properties":{"group_type_index":{"description":"Index of the group type from the group mapping.","type":"integer"},"key":{"description":"Use one of the properties the user has provided in the plan.","type":"string"},"operator":{"$ref":"#/definitions/AssistantSetPropertyFilterOperator","description":"`is_set` - the property has any value. `is_not_set` - the property doesn\'t have a value or wasn\'t collected."},"type":{"const":"group","type":"string"}},"required":["group_type_index","key","operator","type"],"type":"object"}]},"AssistantInsightsQueryBase":{"additionalProperties":false,"properties":{"dateRange":{"$ref":"#/definitions/DateRange","description":"Date range for the query"},"filterTestAccounts":{"default":false,"description":"Exclude internal and test users by applying the respective filters","type":"boolean"},"properties":{"default":[],"description":"Property filters for all series","items":{"$ref":"#/definitions/AssistantPropertyFilter"},"type":"array"},"samplingFactor":{"description":"Sampling rate from 0 to 1 where 1 is 100% of the data.","type":["number","null"]}},"type":"object"},"AssistantMessage":{"additionalProperties":false,"properties":{"content":{"type":"string"},"id":{"type":"string"},"type":{"const":"ai","type":"string"}},"required":["type","content"],"type":"object"},"AssistantMessageType":{"enum":["human","ai","ai/reasoning","ai/viz","ai/failure","ai/router"],"type":"string"},"AssistantMultipleBreakdownFilter":{"anyOf":[{"$ref":"#/definitions/AssistantGroupMultipleBreakdownFilter"},{"$ref":"#/definitions/AssistantGenericMultipleBreakdownFilter"}]},"AssistantPropertyFilter":{"anyOf":[{"$ref":"#/definitions/AssistantGenericPropertyFilter"},{"$ref":"#/definitions/AssistantGroupPropertyFilter"}]},"AssistantRetentionFilter":{"additionalProperties":false,"properties":{"cumulative":{"description":"Whether retention should be rolling (aka unbounded, cumulative). Rolling retention means that a user coming back in period 5 makes them count towards all the previous periods.","type":"boolean"},"period":{"$ref":"#/definitions/RetentionPeriod","default":"Day","description":"Retention period, the interval to track cohorts by."},"retentionReference":{"description":"Whether retention is with regard to initial cohort size, or that of the previous period.","enum":["total","previous"],"type":"string"},"retentionType":{"$ref":"#/definitions/RetentionType","description":"Retention type: recurring or first time. Recurring retention counts a user as part of a cohort if they performed the cohort event during that time period, irrespective of it was their first time or not. First time retention only counts a user as part of the cohort if it was their first time performing the cohort event."},"returningEntity":{"$ref":"#/definitions/RetentionEntity","description":"Retention event (event marking the user coming back)."},"showMean":{"description":"Whether an additional series should be shown, showing the mean conversion for each period across cohorts.","type":"boolean"},"targetEntity":{"$ref":"#/definitions/RetentionEntity","description":"Activation event (event putting the actor into the initial cohort)."},"totalIntervals":{"default":11,"description":"How many intervals to show in the chart. The default value is 11 (meaning 10 periods after initial cohort).","type":"integer"}},"type":"object"},"AssistantRetentionQuery":{"additionalProperties":false,"properties":{"dateRange":{"$ref":"#/definitions/DateRange","description":"Date range for the query"},"filterTestAccounts":{"default":false,"description":"Exclude internal and test users by applying the respective filters","type":"boolean"},"kind":{"const":"RetentionQuery","type":"string"},"properties":{"default":[],"description":"Property filters for all series","items":{"$ref":"#/definitions/AssistantPropertyFilter"},"type":"array"},"retentionFilter":{"$ref":"#/definitions/AssistantRetentionFilter","description":"Properties specific to the retention insight"},"samplingFactor":{"description":"Sampling rate from 0 to 1 where 1 is 100% of the data.","type":["number","null"]}},"required":["kind","retentionFilter"],"type":"object"},"AssistantSetPropertyFilter":{"additionalProperties":false,"properties":{"operator":{"$ref":"#/definitions/AssistantSetPropertyFilterOperator","description":"`is_set` - the property has any value. `is_not_set` - the property doesn\'t have a value or wasn\'t collected."}},"required":["operator"],"type":"object"},"AssistantSetPropertyFilterOperator":{"enum":["is_set","is_not_set"],"type":"string"},"AssistantSingleValuePropertyFilter":{"additionalProperties":false,"properties":{"operator":{"$ref":"#/definitions/AssistantSingleValuePropertyFilterOperator","description":"`icontains` - case insensitive contains. `not_icontains` - case insensitive does not contain. `regex` - matches the regex pattern. `not_regex` - does not match the regex pattern."},"value":{"description":"Only use property values from the plan. If the operator is `regex` or `not_regex`, the value must be a valid ClickHouse regex pattern to match against. Otherwise, the value must be a substring that will be matched against the property value.","type":"string"}},"required":["operator","value"],"type":"object"},"AssistantSingleValuePropertyFilterOperator":{"enum":["exact","is_not","icontains","not_icontains","regex","not_regex"],"type":"string"},"AssistantStringNumberOrBooleanPropertyFilter":{"anyOf":[{"$ref":"#/definitions/AssistantSingleValuePropertyFilter"},{"$ref":"#/definitions/AssistantArrayPropertyFilter"}]},"AssistantTrendsBreakdownFilter":{"additionalProperties":false,"properties":{"breakdown_limit":{"default":25,"description":"How many distinct values to show.","type":"integer"},"breakdowns":{"description":"Use this field to define breakdowns.","items":{"$ref":"#/definitions/AssistantMultipleBreakdownFilter"},"maxLength":3,"type":"array"}},"required":["breakdowns"],"type":"object"},"AssistantTrendsDisplayType":{"anyOf":[{"const":"ActionsLineGraph","type":"string"},{"const":"ActionsBar","type":"string"},{"const":"ActionsAreaGraph","type":"string"},{"const":"ActionsLineGraphCumulative","type":"string"},{"const":"BoldNumber","type":"string"},{"const":"ActionsPie","type":"string"},{"const":"ActionsBarValue","type":"string"},{"const":"ActionsTable","type":"string"},{"const":"WorldMap","type":"string"},{"not":{}}]},"AssistantTrendsEventsNode":{"additionalProperties":false,"properties":{"custom_name":{"type":"string"},"event":{"description":"The event or `null` for all events.","type":["string","null"]},"kind":{"const":"EventsNode","type":"string"},"math":{"$ref":"#/definitions/MathType"},"math_group_type_index":{"enum":[0,1,2,3,4],"type":"number"},"math_property":{"type":"string"},"math_property_type":{"type":"string"},"name":{"type":"string"},"orderBy":{"description":"Columns to order by","items":{"type":"string"},"type":"array"},"properties":{"items":{"$ref":"#/definitions/AssistantPropertyFilter"},"type":"array"},"response":{"type":"object"}},"required":["kind"],"type":"object"},"AssistantTrendsFilter":{"additionalProperties":false,"properties":{"aggregationAxisFormat":{"$ref":"#/definitions/AggregationAxisFormat","default":"numeric","description":"Formats the trends value axis. Do not use the formatting unless you are absolutely sure that formatting will match the data. `numeric` - no formatting. Prefer this option by default. `duration` - formats the value in seconds to a human-readable duration, e.g., `132` becomes `2 minutes 12 seconds`. Use this option only if you are sure that the values are in seconds. `duration_ms` - formats the value in miliseconds to a human-readable duration, e.g., `1050` becomes `1 second 50 milliseconds`. Use this option only if you are sure that the values are in miliseconds. `percentage` - adds a percentage sign to the value, e.g., `50` becomes `50%`. `percentage_scaled` - formats the value as a percentage scaled to 0-100, e.g., `0.5` becomes `50%`."},"aggregationAxisPostfix":{"description":"Custom postfix to add to the aggregation axis, e.g., ` clicks` to format 5 as `5 clicks`. You may need to add a space before postfix.","type":"string"},"aggregationAxisPrefix":{"description":"Custom prefix to add to the aggregation axis, e.g., `$` for USD dollars. You may need to add a space after prefix.","type":"string"},"decimalPlaces":{"description":"Number of decimal places to show. Do not add this unless you are sure that values will have a decimal point.","type":"number"},"display":{"default":"ActionsLineGraph","description":"Visualization type. Available values: `ActionsLineGraph` - time-series line chart; most common option, as it shows change over time. `ActionsBar` - time-series bar chart. `ActionsAreaGraph` - time-series area chart. `ActionsLineGraphCumulative` - cumulative time-series line chart; good for cumulative metrics. `BoldNumber` - total value single large number. You can\'t use this with breakdown; use when user explicitly asks for a single output number. `ActionsBarValue` - total value (NOT time-series) bar chart; good for categorical data. `ActionsPie` - total value pie chart; good for visualizing proportions. `ActionsTable` - total value table; good when using breakdown to list users or other entities. `WorldMap` - total value world map; use when breaking down by country name using property `$geoip_country_name`, and only then.","enum":["ActionsLineGraph","ActionsBar","ActionsAreaGraph","ActionsLineGraphCumulative","BoldNumber","ActionsPie","ActionsBarValue","ActionsTable","WorldMap"],"type":"string"},"formula":{"description":"If the formula is provided, apply it here.","type":"string"},"showLegend":{"default":false,"description":"Whether to show the legend describing series and breakdowns.","type":"boolean"},"showPercentStackView":{"default":false,"description":"Whether to show a percentage of each series. Use only with","type":"boolean"},"showValuesOnSeries":{"default":false,"description":"Whether to show a value on each data point.","type":"boolean"},"yAxisScaleType":{"default":"linear","description":"Whether to scale the y-axis.","enum":["log10","linear"],"type":"string"}},"type":"object"},"AssistantTrendsMath":{"enum":["first_time_for_user","first_time_for_user_with_filters"],"type":"string"},"AssistantTrendsQuery":{"additionalProperties":false,"properties":{"breakdownFilter":{"$ref":"#/definitions/AssistantTrendsBreakdownFilter","description":"Breakdown of the events"},"compareFilter":{"$ref":"#/definitions/CompareFilter","description":"Compare to date range"},"dateRange":{"$ref":"#/definitions/DateRange","description":"Date range for the query"},"filterTestAccounts":{"default":false,"description":"Exclude internal and test users by applying the respective filters","type":"boolean"},"interval":{"$ref":"#/definitions/IntervalType","default":"day","description":"Granularity of the response. Can be one of `hour`, `day`, `week` or `month`"},"kind":{"const":"TrendsQuery","type":"string"},"properties":{"default":[],"description":"Property filters for all series","items":{"$ref":"#/definitions/AssistantPropertyFilter"},"type":"array"},"samplingFactor":{"description":"Sampling rate from 0 to 1 where 1 is 100% of the data.","type":["number","null"]},"series":{"description":"Events to include","items":{"$ref":"#/definitions/AssistantTrendsEventsNode"},"type":"array"},"trendsFilter":{"$ref":"#/definitions/AssistantTrendsFilter","description":"Properties specific to the trends insight"}},"required":["kind","series"],"type":"object"},"AutocompleteCompletionItem":{"additionalProperties":false,"properties":{"detail":{"description":"A human-readable string with additional information about this item, like type or symbol information.","type":"string"},"documentation":{"description":"A human-readable string that represents a doc-comment.","type":"string"},"insertText":{"description":"A string or snippet that should be inserted in a document when selecting this completion.","type":"string"},"kind":{"$ref":"#/definitions/AutocompleteCompletionItemKind","description":"The kind of this completion item. Based on the kind an icon is chosen by the editor."},"label":{"description":"The label of this completion item. By default this is also the text that is inserted when selecting this completion.","type":"string"}},"required":["label","insertText","kind"],"type":"object"},"AutocompleteCompletionItemKind":{"enum":["Method","Function","Constructor","Field","Variable","Class","Struct","Interface","Module","Property","Event","Operator","Unit","Value","Constant","Enum","EnumMember","Keyword","Text","Color","File","Reference","Customcolor","Folder","TypeParameter","User","Issue","Snippet"],"type":"string"},"BaseAssistantMessage":{"additionalProperties":false,"properties":{"id":{"type":"string"}},"type":"object"},"BaseMathType":{"enum":["total","dau","weekly_active","monthly_active","unique_session","first_time_for_user","first_matching_event_for_user"],"type":"string"},"BinCountValue":{"anyOf":[{"type":"number"},{"const":"auto","type":"string"}]},"Breakdown":{"additionalProperties":false,"properties":{"group_type_index":{"anyOf":[{"type":"integer"},{"type":"null"}]},"histogram_bin_count":{"type":"integer"},"normalize_url":{"type":"boolean"},"property":{"type":"string"},"type":{"anyOf":[{"$ref":"#/definitions/MultipleBreakdownType"},{"type":"null"}]}},"required":["property"],"type":"object"},"BreakdownAttributionType":{"enum":["first_touch","last_touch","all_events","step"],"type":"string"},"BreakdownFilter":{"additionalProperties":false,"properties":{"breakdown":{"anyOf":[{"type":"string"},{"type":"integer"},{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array"},{"type":"null"}]},"breakdown_group_type_index":{"anyOf":[{"type":"integer"},{"type":"null"}]},"breakdown_hide_other_aggregation":{"type":["boolean","null"]},"breakdown_histogram_bin_count":{"type":"integer"},"breakdown_limit":{"type":"integer"},"breakdown_normalize_url":{"type":"boolean"},"breakdown_type":{"anyOf":[{"$ref":"#/definitions/BreakdownType"},{"type":"null"}],"default":"event"},"breakdowns":{"items":{"$ref":"#/definitions/Breakdown"},"maxLength":3,"type":"array"}},"type":"object"},"BreakdownItem":{"additionalProperties":false,"properties":{"label":{"type":"string"},"value":{"anyOf":[{"type":"string"},{"$ref":"#/definitions/BreakdownValueInt"}]}},"required":["label","value"],"type":"object"},"BreakdownKeyType":{"anyOf":[{"type":"integer"},{"type":"string"},{"type":"number"},{"items":{"anyOf":[{"type":"integer"},{"type":"string"},{"type":"number"}]},"type":"array"},{"type":"null"}]},"BreakdownType":{"enum":["cohort","person","event","group","session","hogql","data_warehouse","data_warehouse_person_property"],"type":"string"},"BreakdownValueInt":{"type":"integer"},"CacheMissResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":["string","null"]},"query_status":{"$ref":"#/definitions/QueryStatus"}},"required":["cache_key"],"type":"object"},"CachedActorsPropertyTaxonomyQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"$ref":"#/definitions/ActorsPropertyTaxonomyResponse"},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","results","timezone"],"type":"object"},"CachedActorsQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"limit":{"type":"integer"},"missing_actors_count":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"items":{},"type":"array"},"type":"array"},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{"type":"string"},"type":"array"}},"required":["cache_key","columns","hogql","is_cached","last_refresh","limit","next_allowed_client_refresh","offset","results","timezone","types"],"type":"object"},"CachedErrorTrackingQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"columns":{"items":{"type":"string"},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"$ref":"#/definitions/ErrorTrackingIssue"},"type":"array"},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","results","timezone"],"type":"object"},"CachedEventTaxonomyQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"$ref":"#/definitions/EventTaxonomyResponse"},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","results","timezone"],"type":"object"},"CachedEventsQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"items":{},"type":"array"},"type":"array"},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{"type":"string"},"type":"array"}},"required":["cache_key","columns","hogql","is_cached","last_refresh","next_allowed_client_refresh","results","timezone","types"],"type":"object"},"CachedExperimentFunnelsQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"credible_intervals":{"additionalProperties":{"items":{"type":"number"},"maxItems":2,"minItems":2,"type":"array"},"type":"object"},"expected_loss":{"type":"number"},"funnels_query":{"$ref":"#/definitions/FunnelsQuery"},"insight":{"items":{"items":{"type":"object"},"type":"array"},"type":"array"},"is_cached":{"type":"boolean"},"kind":{"const":"ExperimentFunnelsQuery","type":"string"},"last_refresh":{"format":"date-time","type":"string"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"probability":{"additionalProperties":{"type":"number"},"type":"object"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"significance_code":{"$ref":"#/definitions/ExperimentSignificanceCode"},"significant":{"type":"boolean"},"stats_version":{"type":"integer"},"timezone":{"type":"string"},"variants":{"items":{"$ref":"#/definitions/ExperimentVariantFunnelsBaseStats"},"type":"array"}},"required":["cache_key","credible_intervals","expected_loss","insight","is_cached","kind","last_refresh","next_allowed_client_refresh","probability","significance_code","significant","timezone","variants"],"type":"object"},"CachedExperimentTrendsQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"count_query":{"$ref":"#/definitions/TrendsQuery"},"credible_intervals":{"additionalProperties":{"items":{"type":"number"},"maxItems":2,"minItems":2,"type":"array"},"type":"object"},"exposure_query":{"$ref":"#/definitions/TrendsQuery"},"insight":{"items":{"type":"object"},"type":"array"},"is_cached":{"type":"boolean"},"kind":{"const":"ExperimentTrendsQuery","type":"string"},"last_refresh":{"format":"date-time","type":"string"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"p_value":{"type":"number"},"probability":{"additionalProperties":{"type":"number"},"type":"object"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"significance_code":{"$ref":"#/definitions/ExperimentSignificanceCode"},"significant":{"type":"boolean"},"stats_version":{"type":"integer"},"timezone":{"type":"string"},"variants":{"items":{"$ref":"#/definitions/ExperimentVariantTrendsBaseStats"},"type":"array"}},"required":["cache_key","credible_intervals","insight","is_cached","kind","last_refresh","next_allowed_client_refresh","p_value","probability","significance_code","significant","timezone","variants"],"type":"object"},"CachedFunnelCorrelationResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"$ref":"#/definitions/FunnelCorrelationResult"},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","results","timezone"],"type":"object"},"CachedFunnelsQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"isUdf":{"type":"boolean"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"anyOf":[{"$ref":"#/definitions/FunnelStepsResults"},{"$ref":"#/definitions/FunnelStepsBreakdownResults"},{"$ref":"#/definitions/FunnelTimeToConvertResults"},{"$ref":"#/definitions/FunnelTrendsResults"}]},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","results","timezone"],"type":"object"},"CachedHogQLQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"clickhouse":{"description":"Executed ClickHouse query","type":"string"},"columns":{"description":"Returned columns","items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"explain":{"description":"Query explanation output","items":{"type":"string"},"type":"array"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"limit":{"type":"integer"},"metadata":{"$ref":"#/definitions/HogQLMetadataResponse","description":"Query metadata output"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"offset":{"type":"integer"},"query":{"description":"Input query string","type":"string"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"description":"Types of returned columns","items":{},"type":"array"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","results","timezone"],"type":"object"},"CachedInsightActorsQueryOptionsResponse":{"additionalProperties":false,"properties":{"breakdown":{"items":{"$ref":"#/definitions/BreakdownItem"},"type":"array"},"breakdowns":{"items":{"$ref":"#/definitions/MultipleBreakdownOptions"},"type":"array"},"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"compare":{"items":{"additionalProperties":false,"properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"type":"object"},"type":"array"},"day":{"items":{"additionalProperties":false,"properties":{"label":{"type":"string"},"value":{"anyOf":[{"type":"string"},{"$ref":"#/definitions/DatetimeDay"},{"$ref":"#/definitions/Day"}]}},"required":["label","value"],"type":"object"},"type":"array"},"interval":{"items":{"additionalProperties":false,"properties":{"label":{"type":"string"},"value":{"description":"An interval selected out of available intervals in source query","type":"integer"}},"required":["label","value"],"type":"object"},"type":"array"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"series":{"items":{"additionalProperties":false,"properties":{"label":{"type":"string"},"value":{"type":"integer"}},"required":["label","value"],"type":"object"},"type":"array"},"status":{"items":{"additionalProperties":false,"properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"type":"object"},"type":"array"},"timezone":{"type":"string"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","timezone"],"type":"object"},"CachedLifecycleQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"type":"object"},"type":"array"},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","results","timezone"],"type":"object"},"CachedPathsQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"type":"object"},"type":"array"},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","results","timezone"],"type":"object"},"CachedRetentionQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"$ref":"#/definitions/RetentionResult"},"type":"array"},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","results","timezone"],"type":"object"},"CachedSessionAttributionExplorerQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","results","timezone"],"type":"object"},"CachedSessionsTimelineQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"$ref":"#/definitions/TimelineEntry"},"type":"array"},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","results","timezone"],"type":"object"},"CachedStickinessQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"type":"object"},"type":"array"},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","results","timezone"],"type":"object"},"CachedSuggestedQuestionsQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"questions":{"items":{"type":"string"},"type":"array"},"timezone":{"type":"string"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","questions","timezone"],"type":"object"},"CachedTeamTaxonomyQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"$ref":"#/definitions/TeamTaxonomyResponse"},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","results","timezone"],"type":"object"},"CachedTrendsQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"description":"Wether more breakdown values are available.","type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"type":"object"},"type":"array"},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","results","timezone"],"type":"object"},"CachedWebExternalClicksTableQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"samplingRate":{"$ref":"#/definitions/SamplingRate"},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","results","timezone"],"type":"object"},"CachedWebGoalsQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"samplingRate":{"$ref":"#/definitions/SamplingRate"},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","results","timezone"],"type":"object"},"CachedWebOverviewQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"dateFrom":{"type":"string"},"dateTo":{"type":"string"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"$ref":"#/definitions/WebOverviewItem"},"type":"array"},"samplingRate":{"$ref":"#/definitions/SamplingRate"},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","results","timezone"],"type":"object"},"CachedWebStatsTableQueryResponse":{"additionalProperties":false,"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"samplingRate":{"$ref":"#/definitions/SamplingRate"},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","results","timezone"],"type":"object"},"ChartAxis":{"additionalProperties":false,"properties":{"column":{"type":"string"},"settings":{"additionalProperties":false,"properties":{"display":{"$ref":"#/definitions/ChartSettingsDisplay"},"formatting":{"$ref":"#/definitions/ChartSettingsFormatting"}},"type":"object"}},"required":["column"],"type":"object"},"ChartDisplayType":{"enum":["ActionsLineGraph","ActionsBar","ActionsStackedBar","ActionsAreaGraph","ActionsLineGraphCumulative","BoldNumber","ActionsPie","ActionsBarValue","ActionsTable","WorldMap"],"type":"string"},"ChartSettings":{"additionalProperties":false,"properties":{"goalLines":{"items":{"$ref":"#/definitions/GoalLine"},"type":"array"},"leftYAxisSettings":{"$ref":"#/definitions/YAxisSettings"},"rightYAxisSettings":{"$ref":"#/definitions/YAxisSettings"},"seriesBreakdownColumn":{"type":["string","null"]},"stackBars100":{"description":"Whether we fill the bars to 100% in stacked mode","type":"boolean"},"xAxis":{"$ref":"#/definitions/ChartAxis"},"yAxis":{"items":{"$ref":"#/definitions/ChartAxis"},"type":"array"},"yAxisAtZero":{"description":"Deprecated: use `[left|right]YAxisSettings`. Whether the Y axis should start at zero","type":"boolean"}},"type":"object"},"ChartSettingsDisplay":{"additionalProperties":false,"properties":{"color":{"type":"string"},"displayType":{"enum":["auto","line","bar"],"type":"string"},"label":{"type":"string"},"trendLine":{"type":"boolean"},"yAxisPosition":{"enum":["left","right"],"type":"string"}},"type":"object"},"ChartSettingsFormatting":{"additionalProperties":false,"properties":{"decimalPlaces":{"type":"number"},"prefix":{"type":"string"},"style":{"enum":["none","number","percent"],"type":"string"},"suffix":{"type":"string"}},"type":"object"},"ClickhouseQueryProgress":{"additionalProperties":false,"properties":{"active_cpu_time":{"type":"integer"},"bytes_read":{"type":"integer"},"estimated_rows_total":{"type":"integer"},"rows_read":{"type":"integer"},"time_elapsed":{"type":"integer"}},"required":["bytes_read","rows_read","estimated_rows_total","time_elapsed","active_cpu_time"],"type":"object"},"CohortPropertyFilter":{"additionalProperties":false,"description":"Sync with plugin-server/src/types.ts","properties":{"key":{"const":"id","type":"string"},"label":{"type":"string"},"operator":{"$ref":"#/definitions/PropertyOperator","default":"in"},"type":{"const":"cohort","type":"string"},"value":{"type":"integer"}},"required":["key","operator","type","value"],"type":"object"},"CompareFilter":{"additionalProperties":false,"properties":{"compare":{"default":false,"description":"Whether to compare the current date range to a previous date range.","type":"boolean"},"compare_to":{"description":"The date range to compare to. The value is a relative date. Examples of relative dates are: `-1y` for 1 year ago, `-14m` for 14 months ago, `-100w` for 100 weeks ago, `-14d` for 14 days ago, `-30h` for 30 hours ago.","type":"string"}},"type":"object"},"ConditionalFormattingRule":{"additionalProperties":false,"properties":{"bytecode":{"items":{},"type":"array"},"color":{"type":"string"},"colorMode":{"enum":["light","dark"],"type":"string"},"columnName":{"type":"string"},"id":{"type":"string"},"input":{"type":"string"},"templateId":{"type":"string"}},"required":["id","templateId","columnName","bytecode","input","color"],"type":"object"},"CountPerActorMathType":{"enum":["avg_count_per_actor","min_count_per_actor","max_count_per_actor","median_count_per_actor","p90_count_per_actor","p95_count_per_actor","p99_count_per_actor"],"type":"string"},"CustomChannelCondition":{"additionalProperties":false,"properties":{"id":{"type":"string"},"key":{"$ref":"#/definitions/CustomChannelField"},"op":{"$ref":"#/definitions/CustomChannelOperator"},"value":{"anyOf":[{"type":"string"},{"items":{"type":"string"},"type":"array"}]}},"required":["key","op","id"],"type":"object"},"CustomChannelField":{"enum":["utm_source","utm_medium","utm_campaign","referring_domain","url","pathname","hostname"],"type":"string"},"CustomChannelOperator":{"enum":["exact","is_not","is_set","is_not_set","icontains","not_icontains","regex","not_regex"],"type":"string"},"CustomChannelRule":{"additionalProperties":false,"properties":{"channel_type":{"type":"string"},"combiner":{"$ref":"#/definitions/FilterLogicalOperator"},"id":{"type":"string"},"items":{"items":{"$ref":"#/definitions/CustomChannelCondition"},"type":"array"}},"required":["items","combiner","channel_type","id"],"type":"object"},"CustomEventConversionGoal":{"additionalProperties":false,"properties":{"customEventName":{"type":"string"}},"required":["customEventName"],"type":"object"},"DashboardFilter":{"additionalProperties":false,"properties":{"date_from":{"type":["string","null"]},"date_to":{"type":["string","null"]},"properties":{"anyOf":[{"items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},{"type":"null"}]}},"type":"object"},"DataColorToken":{"enum":["preset-1","preset-2","preset-3","preset-4","preset-5","preset-6","preset-7","preset-8","preset-9","preset-10","preset-11","preset-12","preset-13","preset-14","preset-15"],"type":"string"},"DataTableNode":{"additionalProperties":false,"properties":{"allowSorting":{"description":"Can the user click on column headers to sort the table? (default: true)","type":"boolean"},"columns":{"description":"Columns shown in the table, unless the `source` provides them.","items":{"$ref":"#/definitions/HogQLExpression"},"type":"array"},"embedded":{"description":"Uses the embedded version of LemonTable","type":"boolean"},"expandable":{"description":"Can expand row to show raw event data (default: true)","type":"boolean"},"full":{"description":"Show with most visual options enabled. Used in scenes.","type":"boolean"},"hiddenColumns":{"description":"Columns that aren\'t shown in the table, even if in columns or returned data","items":{"$ref":"#/definitions/HogQLExpression"},"type":"array"},"kind":{"const":"DataTableNode","type":"string"},"propertiesViaUrl":{"description":"Link properties via the URL (default: false)","type":"boolean"},"response":{"anyOf":[{"properties":{},"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"items":{},"type":"array"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{"type":"string"},"type":"array"}},"required":["columns","hogql","results","types"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"missing_actors_count":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"items":{},"type":"array"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{"type":"string"},"type":"array"}},"required":["columns","hogql","limit","offset","results","types"],"type":"object"},{"additionalProperties":false,"properties":{"clickhouse":{"description":"Executed ClickHouse query","type":"string"},"columns":{"description":"Returned columns","items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"explain":{"description":"Query explanation output","items":{"type":"string"},"type":"array"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"metadata":{"$ref":"#/definitions/HogQLMetadataResponse","description":"Query metadata output"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query":{"description":"Input query string","type":"string"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"description":"Types of returned columns","items":{},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"dateFrom":{"type":"string"},"dateTo":{"type":"string"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"$ref":"#/definitions/WebOverviewItem"},"type":"array"},"samplingRate":{"$ref":"#/definitions/SamplingRate"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"samplingRate":{"$ref":"#/definitions/SamplingRate"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"samplingRate":{"$ref":"#/definitions/SamplingRate"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"samplingRate":{"$ref":"#/definitions/SamplingRate"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{"type":"string"},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"$ref":"#/definitions/ErrorTrackingIssue"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"credible_intervals":{"additionalProperties":{"items":{"type":"number"},"maxItems":2,"minItems":2,"type":"array"},"type":"object"},"expected_loss":{"type":"number"},"funnels_query":{"$ref":"#/definitions/FunnelsQuery"},"insight":{"items":{"items":{"type":"object"},"type":"array"},"type":"array"},"kind":{"const":"ExperimentFunnelsQuery","type":"string"},"probability":{"additionalProperties":{"type":"number"},"type":"object"},"significance_code":{"$ref":"#/definitions/ExperimentSignificanceCode"},"significant":{"type":"boolean"},"stats_version":{"type":"integer"},"variants":{"items":{"$ref":"#/definitions/ExperimentVariantFunnelsBaseStats"},"type":"array"}},"required":["credible_intervals","expected_loss","insight","kind","probability","significance_code","significant","variants"],"type":"object"},{"additionalProperties":false,"properties":{"count_query":{"$ref":"#/definitions/TrendsQuery"},"credible_intervals":{"additionalProperties":{"items":{"type":"number"},"maxItems":2,"minItems":2,"type":"array"},"type":"object"},"exposure_query":{"$ref":"#/definitions/TrendsQuery"},"insight":{"items":{"type":"object"},"type":"array"},"kind":{"const":"ExperimentTrendsQuery","type":"string"},"p_value":{"type":"number"},"probability":{"additionalProperties":{"type":"number"},"type":"object"},"significance_code":{"$ref":"#/definitions/ExperimentSignificanceCode"},"significant":{"type":"boolean"},"stats_version":{"type":"integer"},"variants":{"items":{"$ref":"#/definitions/ExperimentVariantTrendsBaseStats"},"type":"array"}},"required":["credible_intervals","insight","kind","p_value","probability","significance_code","significant","variants"],"type":"object"}]},"showActions":{"description":"Show the kebab menu at the end of the row","type":"boolean"},"showColumnConfigurator":{"description":"Show a button to configure the table\'s columns if possible","type":"boolean"},"showDateRange":{"description":"Show date range selector","type":"boolean"},"showElapsedTime":{"description":"Show the time it takes to run a query","type":"boolean"},"showEventFilter":{"description":"Include an event filter above the table (EventsNode only)","type":"boolean"},"showExport":{"description":"Show the export button","type":"boolean"},"showHogQLEditor":{"description":"Include a HogQL query editor above HogQL tables","type":"boolean"},"showOpenEditorButton":{"description":"Show a button to open the current query as a new insight. (default: true)","type":"boolean"},"showPersistentColumnConfigurator":{"description":"Show a button to configure and persist the table\'s default columns if possible","type":"boolean"},"showPropertyFilter":{"anyOf":[{"type":"boolean"},{"items":{"$ref":"#/definitions/TaxonomicFilterGroupType"},"type":"array"}],"description":"Include a property filter above the table"},"showReload":{"description":"Show a reload button","type":"boolean"},"showResultsTable":{"description":"Show a results table","type":"boolean"},"showSavedQueries":{"description":"Shows a list of saved queries","type":"boolean"},"showSearch":{"description":"Include a free text search field (PersonsNode only)","type":"boolean"},"showTestAccountFilters":{"description":"Show filter to exclude test accounts","type":"boolean"},"showTimings":{"description":"Show a detailed query timing breakdown","type":"boolean"},"source":{"anyOf":[{"$ref":"#/definitions/EventsNode"},{"$ref":"#/definitions/EventsQuery"},{"$ref":"#/definitions/PersonsNode"},{"$ref":"#/definitions/ActorsQuery"},{"$ref":"#/definitions/HogQLQuery"},{"$ref":"#/definitions/WebOverviewQuery"},{"$ref":"#/definitions/WebStatsTableQuery"},{"$ref":"#/definitions/WebExternalClicksTableQuery"},{"$ref":"#/definitions/WebGoalsQuery"},{"$ref":"#/definitions/SessionAttributionExplorerQuery"},{"$ref":"#/definitions/ErrorTrackingQuery"},{"$ref":"#/definitions/ExperimentFunnelsQuery"},{"$ref":"#/definitions/ExperimentTrendsQuery"}],"description":"Source of the events"}},"required":["kind","source"],"type":"object"},"DataVisualizationNode":{"additionalProperties":false,"properties":{"chartSettings":{"$ref":"#/definitions/ChartSettings"},"display":{"$ref":"#/definitions/ChartDisplayType"},"kind":{"const":"DataVisualizationNode","type":"string"},"source":{"$ref":"#/definitions/HogQLQuery"},"tableSettings":{"$ref":"#/definitions/TableSettings"}},"required":["kind","source"],"type":"object"},"DataWarehouseEventsModifier":{"additionalProperties":false,"properties":{"distinct_id_field":{"type":"string"},"id_field":{"type":"string"},"table_name":{"type":"string"},"timestamp_field":{"type":"string"}},"required":["table_name","timestamp_field","distinct_id_field","id_field"],"type":"object"},"DataWarehouseNode":{"additionalProperties":false,"properties":{"custom_name":{"type":"string"},"distinct_id_field":{"type":"string"},"fixedProperties":{"description":"Fixed properties in the query, can\'t be edited in the interface (e.g. scoping down by person)","items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},"id":{"type":"string"},"id_field":{"type":"string"},"kind":{"const":"DataWarehouseNode","type":"string"},"math":{"$ref":"#/definitions/MathType"},"math_group_type_index":{"enum":[0,1,2,3,4],"type":"number"},"math_hogql":{"type":"string"},"math_property":{"type":"string"},"math_property_type":{"type":"string"},"name":{"type":"string"},"properties":{"description":"Properties configurable in the interface","items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},"response":{"type":"object"},"table_name":{"type":"string"},"timestamp_field":{"type":"string"}},"required":["distinct_id_field","id","id_field","kind","table_name","timestamp_field"],"type":"object"},"DataWarehousePersonPropertyFilter":{"additionalProperties":false,"properties":{"key":{"type":"string"},"label":{"type":"string"},"operator":{"$ref":"#/definitions/PropertyOperator"},"type":{"const":"data_warehouse_person_property","type":"string"},"value":{"$ref":"#/definitions/PropertyFilterValue"}},"required":["key","operator","type"],"type":"object"},"DataWarehousePropertyFilter":{"additionalProperties":false,"properties":{"key":{"type":"string"},"label":{"type":"string"},"operator":{"$ref":"#/definitions/PropertyOperator"},"type":{"const":"data_warehouse","type":"string"},"value":{"$ref":"#/definitions/PropertyFilterValue"}},"required":["key","operator","type"],"type":"object"},"DatabaseSchemaBatchExportTable":{"additionalProperties":false,"properties":{"fields":{"additionalProperties":{"$ref":"#/definitions/DatabaseSchemaField"},"type":"object"},"id":{"type":"string"},"name":{"type":"string"},"type":{"const":"batch_export","type":"string"}},"required":["fields","id","name","type"],"type":"object"},"DatabaseSchemaDataWarehouseTable":{"additionalProperties":false,"properties":{"fields":{"additionalProperties":{"$ref":"#/definitions/DatabaseSchemaField"},"type":"object"},"format":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"schema":{"$ref":"#/definitions/DatabaseSchemaSchema"},"source":{"$ref":"#/definitions/DatabaseSchemaSource"},"type":{"const":"data_warehouse","type":"string"},"url_pattern":{"type":"string"}},"required":["fields","format","id","name","type","url_pattern"],"type":"object"},"DatabaseSchemaField":{"additionalProperties":false,"properties":{"chain":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array"},"fields":{"items":{"type":"string"},"type":"array"},"hogql_value":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"schema_valid":{"type":"boolean"},"table":{"type":"string"},"type":{"$ref":"#/definitions/DatabaseSerializedFieldType"}},"required":["name","hogql_value","type","schema_valid"],"type":"object"},"DatabaseSchemaMaterializedViewTable":{"additionalProperties":false,"properties":{"fields":{"additionalProperties":{"$ref":"#/definitions/DatabaseSchemaField"},"type":"object"},"id":{"type":"string"},"last_run_at":{"type":"string"},"name":{"type":"string"},"query":{"$ref":"#/definitions/HogQLQuery"},"status":{"type":"string"},"type":{"const":"materialized_view","type":"string"}},"required":["fields","id","name","query","type"],"type":"object"},"DatabaseSchemaPostHogTable":{"additionalProperties":false,"properties":{"fields":{"additionalProperties":{"$ref":"#/definitions/DatabaseSchemaField"},"type":"object"},"id":{"type":"string"},"name":{"type":"string"},"type":{"const":"posthog","type":"string"}},"required":["fields","id","name","type"],"type":"object"},"DatabaseSchemaQuery":{"additionalProperties":false,"properties":{"kind":{"const":"DatabaseSchemaQuery","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"response":{"$ref":"#/definitions/DatabaseSchemaQueryResponse"}},"required":["kind"],"type":"object"},"DatabaseSchemaQueryResponse":{"additionalProperties":false,"properties":{"tables":{"additionalProperties":{"$ref":"#/definitions/DatabaseSchemaTable"},"type":"object"}},"required":["tables"],"type":"object"},"DatabaseSchemaSchema":{"additionalProperties":false,"properties":{"id":{"type":"string"},"incremental":{"type":"boolean"},"last_synced_at":{"type":"string"},"name":{"type":"string"},"should_sync":{"type":"boolean"},"status":{"type":"string"}},"required":["id","name","should_sync","incremental"],"type":"object"},"DatabaseSchemaSource":{"additionalProperties":false,"properties":{"id":{"type":"string"},"last_synced_at":{"type":"string"},"prefix":{"type":"string"},"source_type":{"type":"string"},"status":{"type":"string"}},"required":["id","status","source_type","prefix"],"type":"object"},"DatabaseSchemaTable":{"anyOf":[{"$ref":"#/definitions/DatabaseSchemaPostHogTable"},{"$ref":"#/definitions/DatabaseSchemaDataWarehouseTable"},{"$ref":"#/definitions/DatabaseSchemaViewTable"},{"$ref":"#/definitions/DatabaseSchemaBatchExportTable"},{"$ref":"#/definitions/DatabaseSchemaMaterializedViewTable"}]},"DatabaseSchemaTableCommon":{"additionalProperties":false,"properties":{"fields":{"additionalProperties":{"$ref":"#/definitions/DatabaseSchemaField"},"type":"object"},"id":{"type":"string"},"name":{"type":"string"},"type":{"enum":["posthog","data_warehouse","view","batch_export","materialized_view"],"type":"string"}},"required":["type","id","name","fields"],"type":"object"},"DatabaseSchemaViewTable":{"additionalProperties":false,"properties":{"fields":{"additionalProperties":{"$ref":"#/definitions/DatabaseSchemaField"},"type":"object"},"id":{"type":"string"},"name":{"type":"string"},"query":{"$ref":"#/definitions/HogQLQuery"},"type":{"const":"view","type":"string"}},"required":["fields","id","name","query","type"],"type":"object"},"DatabaseSerializedFieldType":{"enum":["integer","float","string","datetime","date","boolean","array","json","lazy_table","virtual_table","field_traverser","expression","view","materialized_view"],"type":"string"},"DateRange":{"additionalProperties":false,"properties":{"date_from":{"type":["string","null"]},"date_to":{"type":["string","null"]},"explicitDate":{"default":false,"description":"Whether the date_from and date_to should be used verbatim. Disables rounding to the start and end of period.","type":["boolean","null"]}},"type":"object"},"DatetimeDay":{"format":"date-time","type":"string"},"Day":{"type":"integer"},"DefaultChannelTypes":{"enum":["Cross Network","Paid Search","Paid Social","Paid Video","Paid Shopping","Paid Unknown","Direct","Organic Search","Organic Social","Organic Video","Organic Shopping","Push","SMS","Audio","Email","Referral","Affiliate","Unknown"],"type":"string"},"DurationType":{"enum":["duration","active_seconds","inactive_seconds"],"type":"string"},"ElementPropertyFilter":{"additionalProperties":false,"description":"Sync with plugin-server/src/types.ts","properties":{"key":{"enum":["tag_name","text","href","selector"],"type":"string"},"label":{"type":"string"},"operator":{"$ref":"#/definitions/PropertyOperator"},"type":{"const":"element","type":"string"},"value":{"$ref":"#/definitions/PropertyFilterValue"}},"required":["key","operator","type"],"type":"object"},"ElementType":{"additionalProperties":false,"properties":{"attr_class":{"items":{"type":"string"},"type":"array"},"attr_id":{"type":"string"},"attributes":{"additionalProperties":{"type":"string"},"type":"object"},"href":{"type":"string"},"nth_child":{"type":"number"},"nth_of_type":{"type":"number"},"order":{"type":"number"},"tag_name":{"type":"string"},"text":{"type":"string"}},"required":["attributes","tag_name"],"type":"object"},"EmptyPropertyFilter":{"additionalProperties":false,"type":"object"},"EntityNode":{"additionalProperties":false,"properties":{"custom_name":{"type":"string"},"fixedProperties":{"description":"Fixed properties in the query, can\'t be edited in the interface (e.g. scoping down by person)","items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},"kind":{"$ref":"#/definitions/NodeKind"},"math":{"$ref":"#/definitions/MathType"},"math_group_type_index":{"enum":[0,1,2,3,4],"type":"number"},"math_hogql":{"type":"string"},"math_property":{"type":"string"},"math_property_type":{"type":"string"},"name":{"type":"string"},"properties":{"description":"Properties configurable in the interface","items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},"response":{"type":"object"}},"required":["kind"],"type":"object"},"EntityType":{"enum":["actions","events","data_warehouse","new_entity"],"type":"string"},"ErrorTrackingIssue":{"additionalProperties":false,"properties":{"assignee":{"type":["number","null"]},"description":{"type":["string","null"]},"earliest":{"type":"string"},"first_seen":{"format":"date-time","type":"string"},"id":{"type":"string"},"last_seen":{"format":"date-time","type":"string"},"name":{"type":["string","null"]},"occurrences":{"type":"number"},"sessions":{"type":"number"},"status":{"enum":["archived","active","resolved","pending_release"],"type":"string"},"users":{"type":"number"},"volume":{}},"required":["id","name","description","occurrences","sessions","users","first_seen","last_seen","earliest","assignee","status"],"type":"object"},"ErrorTrackingQuery":{"additionalProperties":false,"properties":{"assignee":{"anyOf":[{"type":"integer"},{"type":"null"}]},"dateRange":{"$ref":"#/definitions/DateRange"},"filterGroup":{"$ref":"#/definitions/PropertyGroupFilter"},"filterTestAccounts":{"type":"boolean"},"issueId":{"type":"string"},"kind":{"const":"ErrorTrackingQuery","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"orderBy":{"enum":["last_seen","first_seen","occurrences","users","sessions"],"type":"string"},"response":{"$ref":"#/definitions/ErrorTrackingQueryResponse"},"searchQuery":{"type":"string"},"select":{"items":{"$ref":"#/definitions/HogQLExpression"},"type":"array"}},"required":["dateRange","kind"],"type":"object"},"ErrorTrackingQueryResponse":{"additionalProperties":false,"properties":{"columns":{"items":{"type":"string"},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"$ref":"#/definitions/ErrorTrackingIssue"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},"EventDefinition":{"additionalProperties":false,"properties":{"elements":{"items":{},"type":"array"},"event":{"type":"string"},"properties":{"type":"object"}},"required":["event","properties","elements"],"type":"object"},"EventOddsRatioSerialized":{"additionalProperties":false,"properties":{"correlation_type":{"enum":["success","failure"],"type":"string"},"event":{"$ref":"#/definitions/EventDefinition"},"failure_count":{"type":"integer"},"odds_ratio":{"type":"number"},"success_count":{"type":"integer"}},"required":["event","success_count","failure_count","odds_ratio","correlation_type"],"type":"object"},"EventPropertyFilter":{"additionalProperties":false,"description":"Sync with plugin-server/src/types.ts","properties":{"key":{"type":"string"},"label":{"type":"string"},"operator":{"$ref":"#/definitions/PropertyOperator","default":"exact"},"type":{"const":"event","description":"Event properties","type":"string"},"value":{"$ref":"#/definitions/PropertyFilterValue"}},"required":["key","operator","type"],"type":"object"},"EventTaxonomyItem":{"additionalProperties":false,"properties":{"property":{"type":"string"},"sample_count":{"type":"integer"},"sample_values":{"items":{"type":"string"},"type":"array"}},"required":["property","sample_values","sample_count"],"type":"object"},"EventTaxonomyQuery":{"additionalProperties":false,"properties":{"event":{"type":"string"},"kind":{"const":"EventTaxonomyQuery","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"properties":{"items":{"type":"string"},"type":"array"},"response":{"$ref":"#/definitions/EventTaxonomyQueryResponse"}},"required":["event","kind"],"type":"object"},"EventTaxonomyQueryResponse":{"additionalProperties":false,"description":"All analytics query responses must inherit from this.","properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"$ref":"#/definitions/EventTaxonomyResponse"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},"EventTaxonomyResponse":{"items":{"$ref":"#/definitions/EventTaxonomyItem"},"type":"array"},"EventType":{"additionalProperties":false,"properties":{"distinct_id":{"type":"string"},"elements":{"items":{"$ref":"#/definitions/ElementType"},"type":"array"},"elements_chain":{"type":["string","null"]},"event":{"type":"string"},"id":{"type":"string"},"person":{"additionalProperties":false,"properties":{"distinct_ids":{"items":{"type":"string"},"type":"array"},"is_identified":{"type":"boolean"},"properties":{"type":"object"}},"required":["distinct_ids","properties"],"type":"object"},"properties":{"type":"object"},"timestamp":{"type":"string"},"uuid":{"type":"string"}},"required":["id","distinct_id","properties","event","timestamp","elements"],"type":"object"},"EventsNode":{"additionalProperties":false,"properties":{"custom_name":{"type":"string"},"event":{"description":"The event or `null` for all events.","type":["string","null"]},"fixedProperties":{"description":"Fixed properties in the query, can\'t be edited in the interface (e.g. scoping down by person)","items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},"kind":{"const":"EventsNode","type":"string"},"limit":{"type":"integer"},"math":{"$ref":"#/definitions/MathType"},"math_group_type_index":{"enum":[0,1,2,3,4],"type":"number"},"math_hogql":{"type":"string"},"math_property":{"type":"string"},"math_property_type":{"type":"string"},"name":{"type":"string"},"orderBy":{"description":"Columns to order by","items":{"type":"string"},"type":"array"},"properties":{"description":"Properties configurable in the interface","items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},"response":{"type":"object"}},"required":["kind"],"type":"object"},"EventsQuery":{"additionalProperties":false,"properties":{"actionId":{"description":"Show events matching a given action","type":"integer"},"after":{"description":"Only fetch events that happened after this timestamp","type":"string"},"before":{"description":"Only fetch events that happened before this timestamp","type":"string"},"event":{"description":"Limit to events matching this string","type":["string","null"]},"filterTestAccounts":{"description":"Filter test accounts","type":"boolean"},"fixedProperties":{"description":"Fixed properties in the query, can\'t be edited in the interface (e.g. scoping down by person)","items":{"$ref":"#/definitions/AnyFilterLike"},"type":"array"},"kind":{"const":"EventsQuery","type":"string"},"limit":{"description":"Number of rows to return","type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"description":"Number of rows to skip before returning rows","type":"integer"},"orderBy":{"description":"Columns to order by","items":{"type":"string"},"type":"array"},"personId":{"description":"Show events for a given person","type":"string"},"properties":{"description":"Properties configurable in the interface","items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},"response":{"$ref":"#/definitions/EventsQueryResponse"},"select":{"description":"Return a limited set of data. Required.","items":{"$ref":"#/definitions/HogQLExpression"},"type":"array"},"where":{"description":"HogQL filters to apply on returned data","items":{"$ref":"#/definitions/HogQLExpression"},"type":"array"}},"required":["kind","select"],"type":"object"},"EventsQueryPersonColumn":{"additionalProperties":false,"properties":{"created_at":{"type":"string"},"distinct_id":{"type":"string"},"properties":{"additionalProperties":false,"properties":{"email":{"type":"string"},"name":{"type":"string"}},"type":"object"},"uuid":{"type":"string"}},"required":["uuid","created_at","properties","distinct_id"],"type":"object"},"EventsQueryResponse":{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"items":{},"type":"array"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{"type":"string"},"type":"array"}},"required":["columns","hogql","results","types"],"type":"object"},"ExperimentFunnelsQuery":{"additionalProperties":false,"properties":{"experiment_id":{"type":"integer"},"funnels_query":{"$ref":"#/definitions/FunnelsQuery"},"kind":{"const":"ExperimentFunnelsQuery","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"name":{"type":"string"},"response":{"$ref":"#/definitions/ExperimentFunnelsQueryResponse"}},"required":["funnels_query","kind"],"type":"object"},"ExperimentFunnelsQueryResponse":{"additionalProperties":false,"properties":{"credible_intervals":{"additionalProperties":{"items":{"type":"number"},"maxItems":2,"minItems":2,"type":"array"},"type":"object"},"expected_loss":{"type":"number"},"funnels_query":{"$ref":"#/definitions/FunnelsQuery"},"insight":{"items":{"items":{"type":"object"},"type":"array"},"type":"array"},"kind":{"const":"ExperimentFunnelsQuery","type":"string"},"probability":{"additionalProperties":{"type":"number"},"type":"object"},"significance_code":{"$ref":"#/definitions/ExperimentSignificanceCode"},"significant":{"type":"boolean"},"stats_version":{"type":"integer"},"variants":{"items":{"$ref":"#/definitions/ExperimentVariantFunnelsBaseStats"},"type":"array"}},"required":["kind","insight","variants","probability","significant","significance_code","expected_loss","credible_intervals"],"type":"object"},"ExperimentSignificanceCode":{"enum":["significant","not_enough_exposure","low_win_probability","high_loss","high_p_value"],"type":"string"},"ExperimentTrendsQuery":{"additionalProperties":false,"properties":{"count_query":{"$ref":"#/definitions/TrendsQuery"},"experiment_id":{"type":"integer"},"exposure_query":{"$ref":"#/definitions/TrendsQuery"},"kind":{"const":"ExperimentTrendsQuery","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"name":{"type":"string"},"response":{"$ref":"#/definitions/ExperimentTrendsQueryResponse"}},"required":["count_query","kind"],"type":"object"},"ExperimentTrendsQueryResponse":{"additionalProperties":false,"properties":{"count_query":{"$ref":"#/definitions/TrendsQuery"},"credible_intervals":{"additionalProperties":{"items":{"type":"number"},"maxItems":2,"minItems":2,"type":"array"},"type":"object"},"exposure_query":{"$ref":"#/definitions/TrendsQuery"},"insight":{"items":{"type":"object"},"type":"array"},"kind":{"const":"ExperimentTrendsQuery","type":"string"},"p_value":{"type":"number"},"probability":{"additionalProperties":{"type":"number"},"type":"object"},"significance_code":{"$ref":"#/definitions/ExperimentSignificanceCode"},"significant":{"type":"boolean"},"stats_version":{"type":"integer"},"variants":{"items":{"$ref":"#/definitions/ExperimentVariantTrendsBaseStats"},"type":"array"}},"required":["kind","insight","variants","probability","significant","significance_code","p_value","credible_intervals"],"type":"object"},"ExperimentVariantFunnelsBaseStats":{"additionalProperties":false,"properties":{"failure_count":{"type":"number"},"key":{"type":"string"},"success_count":{"type":"number"}},"required":["key","success_count","failure_count"],"type":"object"},"ExperimentVariantTrendsBaseStats":{"additionalProperties":false,"properties":{"absolute_exposure":{"type":"number"},"count":{"type":"number"},"exposure":{"type":"number"},"key":{"type":"string"}},"required":["key","count","exposure","absolute_exposure"],"type":"object"},"FailureMessage":{"additionalProperties":false,"properties":{"content":{"type":"string"},"id":{"type":"string"},"type":{"const":"ai/failure","type":"string"}},"required":["type"],"type":"object"},"FeaturePropertyFilter":{"additionalProperties":false,"properties":{"key":{"type":"string"},"label":{"type":"string"},"operator":{"$ref":"#/definitions/PropertyOperator"},"type":{"const":"feature","description":"Event property with \\"$feature/\\" prepended","type":"string"},"value":{"$ref":"#/definitions/PropertyFilterValue"}},"required":["key","operator","type"],"type":"object"},"FilterLogicalOperator":{"enum":["AND","OR"],"type":"string"},"FunnelConversionWindowTimeUnit":{"enum":["second","minute","hour","day","week","month"],"type":"string"},"FunnelCorrelationActorsQuery":{"additionalProperties":false,"properties":{"funnelCorrelationPersonConverted":{"type":"boolean"},"funnelCorrelationPersonEntity":{"$ref":"#/definitions/AnyEntityNode"},"funnelCorrelationPropertyValues":{"items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},"includeRecordings":{"type":"boolean"},"kind":{"const":"FunnelCorrelationActorsQuery","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"response":{"$ref":"#/definitions/ActorsQueryResponse"},"source":{"$ref":"#/definitions/FunnelCorrelationQuery"}},"required":["kind","source"],"type":"object"},"FunnelCorrelationQuery":{"additionalProperties":false,"properties":{"funnelCorrelationEventExcludePropertyNames":{"items":{"type":"string"},"type":"array"},"funnelCorrelationEventNames":{"items":{"type":"string"},"type":"array"},"funnelCorrelationExcludeEventNames":{"items":{"type":"string"},"type":"array"},"funnelCorrelationExcludeNames":{"items":{"type":"string"},"type":"array"},"funnelCorrelationNames":{"items":{"type":"string"},"type":"array"},"funnelCorrelationType":{"$ref":"#/definitions/FunnelCorrelationResultsType"},"kind":{"const":"FunnelCorrelationQuery","type":"string"},"response":{"$ref":"#/definitions/FunnelCorrelationResponse"},"source":{"$ref":"#/definitions/FunnelsActorsQuery"}},"required":["funnelCorrelationType","kind","source"],"type":"object"},"FunnelCorrelationResponse":{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"$ref":"#/definitions/FunnelCorrelationResult"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["results"],"type":"object"},"FunnelCorrelationResult":{"additionalProperties":false,"properties":{"events":{"items":{"$ref":"#/definitions/EventOddsRatioSerialized"},"type":"array"},"skewed":{"type":"boolean"}},"required":["events","skewed"],"type":"object"},"FunnelCorrelationResultsType":{"enum":["events","properties","event_with_properties"],"type":"string"},"FunnelExclusion":{"anyOf":[{"$ref":"#/definitions/FunnelExclusionEventsNode"},{"$ref":"#/definitions/FunnelExclusionActionsNode"}]},"FunnelExclusionActionsNode":{"additionalProperties":false,"properties":{"custom_name":{"type":"string"},"fixedProperties":{"description":"Fixed properties in the query, can\'t be edited in the interface (e.g. scoping down by person)","items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},"funnelFromStep":{"type":"integer"},"funnelToStep":{"type":"integer"},"id":{"type":"integer"},"kind":{"const":"ActionsNode","type":"string"},"math":{"$ref":"#/definitions/MathType"},"math_group_type_index":{"enum":[0,1,2,3,4],"type":"number"},"math_hogql":{"type":"string"},"math_property":{"type":"string"},"math_property_type":{"type":"string"},"name":{"type":"string"},"properties":{"description":"Properties configurable in the interface","items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},"response":{"type":"object"}},"required":["funnelFromStep","funnelToStep","id","kind"],"type":"object"},"FunnelExclusionEventsNode":{"additionalProperties":false,"properties":{"custom_name":{"type":"string"},"event":{"description":"The event or `null` for all events.","type":["string","null"]},"fixedProperties":{"description":"Fixed properties in the query, can\'t be edited in the interface (e.g. scoping down by person)","items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},"funnelFromStep":{"type":"integer"},"funnelToStep":{"type":"integer"},"kind":{"const":"EventsNode","type":"string"},"limit":{"type":"integer"},"math":{"$ref":"#/definitions/MathType"},"math_group_type_index":{"enum":[0,1,2,3,4],"type":"number"},"math_hogql":{"type":"string"},"math_property":{"type":"string"},"math_property_type":{"type":"string"},"name":{"type":"string"},"orderBy":{"description":"Columns to order by","items":{"type":"string"},"type":"array"},"properties":{"description":"Properties configurable in the interface","items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},"response":{"type":"object"}},"required":["funnelFromStep","funnelToStep","kind"],"type":"object"},"FunnelExclusionLegacy":{"additionalProperties":false,"properties":{"custom_name":{"type":["string","null"]},"funnel_from_step":{"type":"number"},"funnel_to_step":{"type":"number"},"id":{"type":["string","number","null"]},"index":{"type":"number"},"name":{"type":["string","null"]},"order":{"type":"number"},"type":{"$ref":"#/definitions/EntityType"}},"required":["funnel_from_step","funnel_to_step"],"type":"object"},"FunnelExclusionSteps":{"additionalProperties":false,"properties":{"funnelFromStep":{"type":"integer"},"funnelToStep":{"type":"integer"}},"required":["funnelFromStep","funnelToStep"],"type":"object"},"FunnelLayout":{"enum":["horizontal","vertical"],"type":"string"},"FunnelMathType":{"enum":["total","first_time_for_user","first_time_for_user_with_filters"],"type":"string"},"FunnelPathType":{"enum":["funnel_path_before_step","funnel_path_between_steps","funnel_path_after_step"],"type":"string"},"FunnelPathsFilter":{"additionalProperties":false,"properties":{"funnelPathType":{"$ref":"#/definitions/FunnelPathType"},"funnelSource":{"$ref":"#/definitions/FunnelsQuery"},"funnelStep":{"type":"integer"}},"required":["funnelSource"],"type":"object"},"FunnelStepReference":{"enum":["total","previous"],"type":"string"},"FunnelStepsBreakdownResults":{"items":{"items":{"type":"object"},"type":"array"},"type":"array"},"FunnelStepsResults":{"items":{"type":"object"},"type":"array"},"FunnelTimeToConvertResults":{"additionalProperties":false,"properties":{"average_conversion_time":{"type":["number","null"]},"bins":{"items":{"items":{"type":"integer"},"maxItems":2,"minItems":2,"type":"array"},"type":"array"}},"required":["average_conversion_time","bins"],"type":"object"},"FunnelTrendsResults":{"items":{"type":"object"},"type":"array"},"FunnelVizType":{"enum":["steps","time_to_convert","trends"],"type":"string"},"FunnelsActorsQuery":{"additionalProperties":false,"properties":{"funnelCustomSteps":{"description":"Custom step numbers to get persons for. This overrides `funnelStep`. Primarily for correlation use.","items":{"type":"integer"},"type":"array"},"funnelStep":{"description":"Index of the step for which we want to get the timestamp for, per person. Positive for converted persons, negative for dropped of persons.","type":"integer"},"funnelStepBreakdown":{"$ref":"#/definitions/BreakdownKeyType","description":"The breakdown value for which to get persons for. This is an array for person and event properties, a string for groups and an integer for cohorts."},"funnelTrendsDropOff":{"type":"boolean"},"funnelTrendsEntrancePeriodStart":{"description":"Used together with `funnelTrendsDropOff` for funnels time conversion date for the persons modal.","type":"string"},"includeRecordings":{"type":"boolean"},"kind":{"const":"FunnelsActorsQuery","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"response":{"$ref":"#/definitions/ActorsQueryResponse"},"source":{"$ref":"#/definitions/FunnelsQuery"}},"required":["kind","source"],"type":"object"},"FunnelsFilter":{"additionalProperties":false,"properties":{"binCount":{"type":"integer"},"breakdownAttributionType":{"$ref":"#/definitions/BreakdownAttributionType","default":"first_touch"},"breakdownAttributionValue":{"type":"integer"},"exclusions":{"default":[],"items":{"$ref":"#/definitions/FunnelExclusion"},"type":"array"},"funnelAggregateByHogQL":{"type":"string"},"funnelFromStep":{"type":"integer"},"funnelOrderType":{"$ref":"#/definitions/StepOrderValue","default":"ordered"},"funnelStepReference":{"$ref":"#/definitions/FunnelStepReference","default":"total"},"funnelToStep":{"type":"integer"},"funnelVizType":{"$ref":"#/definitions/FunnelVizType","default":"steps"},"funnelWindowInterval":{"default":14,"type":"integer"},"funnelWindowIntervalUnit":{"$ref":"#/definitions/FunnelConversionWindowTimeUnit","default":"day"},"hiddenLegendBreakdowns":{"items":{"type":"string"},"type":"array"},"layout":{"$ref":"#/definitions/FunnelLayout","default":"vertical"},"resultCustomizations":{"additionalProperties":{"$ref":"#/definitions/ResultCustomizationByValue"},"description":"Customizations for the appearance of result datasets.","type":"object"},"useUdf":{"type":"boolean"}},"type":"object"},"FunnelsFilterLegacy":{"additionalProperties":false,"description":"`FunnelsFilterType` minus everything inherited from `FilterType` and persons modal related params","properties":{"bin_count":{"$ref":"#/definitions/BinCountValue"},"breakdown_attribution_type":{"$ref":"#/definitions/BreakdownAttributionType"},"breakdown_attribution_value":{"type":"number"},"exclusions":{"items":{"$ref":"#/definitions/FunnelExclusionLegacy"},"type":"array"},"funnel_aggregate_by_hogql":{"type":"string"},"funnel_from_step":{"type":"number"},"funnel_order_type":{"$ref":"#/definitions/StepOrderValue"},"funnel_step_reference":{"$ref":"#/definitions/FunnelStepReference"},"funnel_to_step":{"type":"number"},"funnel_viz_type":{"$ref":"#/definitions/FunnelVizType"},"funnel_window_interval":{"type":"number"},"funnel_window_interval_unit":{"$ref":"#/definitions/FunnelConversionWindowTimeUnit"},"hidden_legend_keys":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"not":{}}]},"type":"object"},"layout":{"$ref":"#/definitions/FunnelLayout"}},"type":"object"},"FunnelsQuery":{"additionalProperties":false,"properties":{"aggregation_group_type_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Groups aggregation"},"breakdownFilter":{"$ref":"#/definitions/BreakdownFilter","description":"Breakdown of the events and actions"},"dataColorTheme":{"description":"Colors used in the insight\'s visualization","type":["number","null"]},"dateRange":{"$ref":"#/definitions/DateRange","description":"Date range for the query"},"filterTestAccounts":{"default":false,"description":"Exclude internal and test users by applying the respective filters","type":"boolean"},"funnelsFilter":{"$ref":"#/definitions/FunnelsFilter","description":"Properties specific to the funnels insight"},"interval":{"$ref":"#/definitions/IntervalType","description":"Granularity of the response. Can be one of `hour`, `day`, `week` or `month`"},"kind":{"const":"FunnelsQuery","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"properties":{"anyOf":[{"items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},{"$ref":"#/definitions/PropertyGroupFilter"}],"default":[],"description":"Property filters for all series"},"response":{"$ref":"#/definitions/FunnelsQueryResponse"},"samplingFactor":{"description":"Sampling rate","type":["number","null"]},"series":{"description":"Events and actions to include","items":{"$ref":"#/definitions/AnyEntityNode"},"type":"array"}},"required":["kind","series"],"type":"object"},"FunnelsQueryResponse":{"additionalProperties":false,"properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"isUdf":{"type":"boolean"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"anyOf":[{"$ref":"#/definitions/FunnelStepsResults"},{"$ref":"#/definitions/FunnelStepsBreakdownResults"},{"$ref":"#/definitions/FunnelTimeToConvertResults"},{"$ref":"#/definitions/FunnelTrendsResults"}]},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},"GenericCachedQueryResponse":{"properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"timezone":{"type":"string"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","timezone"],"type":"object"},"GoalLine":{"additionalProperties":false,"properties":{"label":{"type":"string"},"value":{"type":"number"}},"required":["label","value"],"type":"object"},"GroupMathType":{"const":"unique_group","type":"string"},"GroupPropertyFilter":{"additionalProperties":false,"properties":{"group_type_index":{"anyOf":[{"type":"integer"},{"type":"null"}]},"key":{"type":"string"},"label":{"type":"string"},"operator":{"$ref":"#/definitions/PropertyOperator"},"type":{"const":"group","type":"string"},"value":{"$ref":"#/definitions/PropertyFilterValue"}},"required":["key","operator","type"],"type":"object"},"HasPropertiesNode":{"anyOf":[{"$ref":"#/definitions/EventsNode"},{"$ref":"#/definitions/EventsQuery"},{"$ref":"#/definitions/PersonsNode"}]},"HogCompileResponse":{"additionalProperties":false,"properties":{"bytecode":{"items":{},"type":"array"},"locals":{"items":{},"type":"array"}},"required":["bytecode","locals"],"type":"object"},"HogLanguage":{"enum":["hog","hogJson","hogQL","hogQLExpr","hogTemplate"],"type":"string"},"HogQLAutocomplete":{"additionalProperties":false,"properties":{"endPosition":{"description":"End position of the editor word","type":"integer"},"filters":{"$ref":"#/definitions/HogQLFilters","description":"Table to validate the expression against"},"globals":{"description":"Global values in scope","type":"object"},"kind":{"const":"HogQLAutocomplete","type":"string"},"language":{"$ref":"#/definitions/HogLanguage","description":"Language to validate"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query":{"description":"Query to validate","type":"string"},"response":{"$ref":"#/definitions/HogQLAutocompleteResponse"},"sourceQuery":{"$ref":"#/definitions/AnyDataNode","description":"Query in whose context to validate."},"startPosition":{"description":"Start position of the editor word","type":"integer"}},"required":["endPosition","kind","language","query","startPosition"],"type":"object"},"HogQLAutocompleteResponse":{"additionalProperties":false,"properties":{"incomplete_list":{"description":"Whether or not the suggestions returned are complete","type":"boolean"},"suggestions":{"items":{"$ref":"#/definitions/AutocompleteCompletionItem"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["suggestions","incomplete_list"],"type":"object"},"HogQLExpression":{"type":"string"},"HogQLFilters":{"additionalProperties":false,"description":"Filters object that will be converted to a HogQL {filters} placeholder","properties":{"dateRange":{"$ref":"#/definitions/DateRange"},"filterTestAccounts":{"type":"boolean"},"properties":{"items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"}},"type":"object"},"HogQLMathType":{"const":"hogql","type":"string"},"HogQLMetadata":{"additionalProperties":false,"properties":{"debug":{"description":"Enable more verbose output, usually run from the /debug page","type":"boolean"},"filters":{"$ref":"#/definitions/HogQLFilters","description":"Extra filters applied to query via {filters}"},"globals":{"description":"Extra globals for the query","type":"object"},"kind":{"const":"HogQLMetadata","type":"string"},"language":{"$ref":"#/definitions/HogLanguage","description":"Language to validate"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query":{"description":"Query to validate","type":"string"},"response":{"$ref":"#/definitions/HogQLMetadataResponse"},"sourceQuery":{"$ref":"#/definitions/AnyDataNode","description":"Query within which \\"expr\\" and \\"template\\" are validated. Defaults to \\"select * from events\\""},"variables":{"additionalProperties":{"$ref":"#/definitions/HogQLVariable"},"description":"Variables to be subsituted into the query","type":"object"}},"required":["kind","language","query"],"type":"object"},"HogQLMetadataResponse":{"additionalProperties":false,"properties":{"errors":{"items":{"$ref":"#/definitions/HogQLNotice"},"type":"array"},"isValid":{"type":"boolean"},"isValidView":{"type":"boolean"},"notices":{"items":{"$ref":"#/definitions/HogQLNotice"},"type":"array"},"query":{"type":"string"},"table_names":{"items":{"type":"string"},"type":"array"},"warnings":{"items":{"$ref":"#/definitions/HogQLNotice"},"type":"array"}},"required":["errors","warnings","notices"],"type":"object"},"HogQLNotice":{"additionalProperties":false,"properties":{"end":{"type":"integer"},"fix":{"type":"string"},"message":{"type":"string"},"start":{"type":"integer"}},"required":["message"],"type":"object"},"HogQLPropertyFilter":{"additionalProperties":false,"properties":{"key":{"type":"string"},"label":{"type":"string"},"type":{"const":"hogql","type":"string"},"value":{"$ref":"#/definitions/PropertyFilterValue"}},"required":["key","type"],"type":"object"},"HogQLQuery":{"additionalProperties":false,"properties":{"explain":{"deprecated":"use modifiers.debug instead","type":"boolean"},"filters":{"$ref":"#/definitions/HogQLFilters"},"kind":{"const":"HogQLQuery","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query":{"type":"string"},"response":{"$ref":"#/definitions/HogQLQueryResponse"},"values":{"description":"Constant values that can be referenced with the {placeholder} syntax in the query","type":"object"},"variables":{"additionalProperties":{"$ref":"#/definitions/HogQLVariable"},"description":"Variables to be subsituted into the query","type":"object"}},"required":["kind","query"],"type":"object"},"HogQLQueryModifiers":{"additionalProperties":false,"description":"HogQL Query Options are automatically set per team. However, they can be overridden in the query.","properties":{"bounceRateDurationSeconds":{"type":"number"},"bounceRatePageViewMode":{"enum":["count_pageviews","uniq_urls","uniq_page_screen_autocaptures"],"type":"string"},"customChannelTypeRules":{"items":{"$ref":"#/definitions/CustomChannelRule"},"type":"array"},"dataWarehouseEventsModifiers":{"items":{"$ref":"#/definitions/DataWarehouseEventsModifier"},"type":"array"},"debug":{"type":"boolean"},"inCohortVia":{"enum":["auto","leftjoin","subquery","leftjoin_conjoined"],"type":"string"},"materializationMode":{"enum":["auto","legacy_null_as_string","legacy_null_as_null","disabled"],"type":"string"},"optimizeJoinedFilters":{"type":"boolean"},"personsArgMaxVersion":{"enum":["auto","v1","v2"],"type":"string"},"personsJoinMode":{"enum":["inner","left"],"type":"string"},"personsOnEventsMode":{"enum":["disabled","person_id_no_override_properties_on_events","person_id_override_properties_on_events","person_id_override_properties_joined"],"type":"string"},"propertyGroupsMode":{"enum":["enabled","disabled","optimized"],"type":"string"},"s3TableUseInvalidColumns":{"type":"boolean"},"sessionTableVersion":{"enum":["auto","v1","v2"],"type":"string"},"useMaterializedViews":{"type":"boolean"}},"type":"object"},"HogQLQueryResponse":{"additionalProperties":false,"properties":{"clickhouse":{"description":"Executed ClickHouse query","type":"string"},"columns":{"description":"Returned columns","items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"explain":{"description":"Query explanation output","items":{"type":"string"},"type":"array"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"metadata":{"$ref":"#/definitions/HogQLMetadataResponse","description":"Query metadata output"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query":{"description":"Input query string","type":"string"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"description":"Types of returned columns","items":{},"type":"array"}},"required":["results"],"type":"object"},"HogQLVariable":{"additionalProperties":false,"properties":{"code_name":{"type":"string"},"value":{},"variableId":{"type":"string"}},"required":["variableId","code_name"],"type":"object"},"HogQuery":{"additionalProperties":false,"properties":{"code":{"type":"string"},"kind":{"const":"HogQuery","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"response":{"$ref":"#/definitions/HogQueryResponse"}},"required":["kind"],"type":"object"},"HogQueryResponse":{"additionalProperties":false,"properties":{"bytecode":{"items":{},"type":"array"},"coloredBytecode":{"items":{},"type":"array"},"results":{},"stdout":{"type":"string"}},"required":["results"],"type":"object"},"HumanMessage":{"additionalProperties":false,"properties":{"content":{"type":"string"},"id":{"type":"string"},"type":{"const":"human","type":"string"}},"required":["type","content"],"type":"object"},"InsightActorsQuery":{"additionalProperties":false,"properties":{"breakdown":{"anyOf":[{"type":"string"},{"$ref":"#/definitions/BreakdownValueInt"},{"items":{"type":"string"},"type":"array"}]},"compare":{"enum":["current","previous"],"type":"string"},"day":{"anyOf":[{"type":"string"},{"$ref":"#/definitions/Day"}]},"includeRecordings":{"type":"boolean"},"interval":{"description":"An interval selected out of available intervals in source query.","type":"integer"},"kind":{"const":"InsightActorsQuery","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"response":{"$ref":"#/definitions/ActorsQueryResponse"},"series":{"type":"integer"},"source":{"$ref":"#/definitions/InsightQuerySource"},"status":{"type":"string"}},"required":["kind","source"],"type":"object"},"InsightActorsQueryBase":{"additionalProperties":false,"properties":{"includeRecordings":{"type":"boolean"},"kind":{"$ref":"#/definitions/NodeKind"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"response":{"$ref":"#/definitions/ActorsQueryResponse"}},"required":["kind"],"type":"object"},"InsightActorsQueryOptions":{"additionalProperties":false,"properties":{"kind":{"const":"InsightActorsQueryOptions","type":"string"},"response":{"$ref":"#/definitions/InsightActorsQueryOptionsResponse"},"source":{"anyOf":[{"$ref":"#/definitions/InsightActorsQuery"},{"$ref":"#/definitions/FunnelsActorsQuery"},{"$ref":"#/definitions/FunnelCorrelationActorsQuery"}]}},"required":["kind","source"],"type":"object"},"InsightActorsQueryOptionsResponse":{"additionalProperties":false,"properties":{"breakdown":{"items":{"$ref":"#/definitions/BreakdownItem"},"type":"array"},"breakdowns":{"items":{"$ref":"#/definitions/MultipleBreakdownOptions"},"type":"array"},"compare":{"items":{"additionalProperties":false,"properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"type":"object"},"type":"array"},"day":{"items":{"additionalProperties":false,"properties":{"label":{"type":"string"},"value":{"anyOf":[{"type":"string"},{"$ref":"#/definitions/DatetimeDay"},{"$ref":"#/definitions/Day"}]}},"required":["label","value"],"type":"object"},"type":"array"},"interval":{"items":{"additionalProperties":false,"properties":{"label":{"type":"string"},"value":{"description":"An interval selected out of available intervals in source query","type":"integer"}},"required":["label","value"],"type":"object"},"type":"array"},"series":{"items":{"additionalProperties":false,"properties":{"label":{"type":"string"},"value":{"type":"integer"}},"required":["label","value"],"type":"object"},"type":"array"},"status":{"items":{"additionalProperties":false,"properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"type":"object"},"type":"array"}},"type":"object"},"InsightFilter":{"anyOf":[{"$ref":"#/definitions/TrendsFilter"},{"$ref":"#/definitions/FunnelsFilter"},{"$ref":"#/definitions/RetentionFilter"},{"$ref":"#/definitions/PathsFilter"},{"$ref":"#/definitions/StickinessFilter"},{"$ref":"#/definitions/LifecycleFilter"}]},"InsightFilterProperty":{"enum":["trendsFilter","funnelsFilter","retentionFilter","pathsFilter","stickinessFilter","lifecycleFilter"],"type":"string"},"InsightNodeKind":{"enum":["TrendsQuery","FunnelsQuery","RetentionQuery","PathsQuery","StickinessQuery","LifecycleQuery"],"type":"string"},"InsightQueryNode":{"discriminator":{"propertyName":"kind"},"oneOf":[{"$ref":"#/definitions/TrendsQuery"},{"$ref":"#/definitions/FunnelsQuery"},{"$ref":"#/definitions/RetentionQuery"},{"$ref":"#/definitions/PathsQuery"},{"$ref":"#/definitions/StickinessQuery"},{"$ref":"#/definitions/LifecycleQuery"}],"required":["kind"],"type":"object"},"InsightQuerySource":{"$ref":"#/definitions/InsightQueryNode"},"InsightShortId":{"type":"string"},"InsightThreshold":{"additionalProperties":false,"properties":{"bounds":{"$ref":"#/definitions/InsightsThresholdBounds"},"type":{"$ref":"#/definitions/InsightThresholdType"}},"required":["type"],"type":"object"},"InsightThresholdType":{"enum":["absolute","percentage"],"type":"string"},"InsightVizNode":{"additionalProperties":false,"properties":{"embedded":{"description":"Query is embedded inside another bordered component","type":"boolean"},"full":{"description":"Show with most visual options enabled. Used in insight scene.","type":"boolean"},"hidePersonsModal":{"type":"boolean"},"kind":{"const":"InsightVizNode","type":"string"},"showCorrelationTable":{"type":"boolean"},"showFilters":{"type":"boolean"},"showHeader":{"type":"boolean"},"showLastComputation":{"type":"boolean"},"showLastComputationRefresh":{"type":"boolean"},"showResults":{"type":"boolean"},"showTable":{"type":"boolean"},"source":{"$ref":"#/definitions/InsightQueryNode"},"suppressSessionAnalysisWarning":{"type":"boolean"},"vizSpecificOptions":{"$ref":"#/definitions/VizSpecificOptions"}},"required":["kind","source"],"type":"object"},"InsightsQueryBase":{"additionalProperties":false,"description":"Base class for insight query nodes. Should not be used directly.","properties":{"aggregation_group_type_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Groups aggregation"},"dataColorTheme":{"description":"Colors used in the insight\'s visualization","type":["number","null"]},"dateRange":{"$ref":"#/definitions/DateRange","description":"Date range for the query"},"filterTestAccounts":{"default":false,"description":"Exclude internal and test users by applying the respective filters","type":"boolean"},"kind":{"$ref":"#/definitions/NodeKind"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"properties":{"anyOf":[{"items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},{"$ref":"#/definitions/PropertyGroupFilter"}],"default":[],"description":"Property filters for all series"},"response":{"$ref":"#/definitions/FunnelsQueryResponse"},"samplingFactor":{"description":"Sampling rate","type":["number","null"]}},"required":["kind"],"type":"object"},"InsightsQueryBase":{"additionalProperties":false,"description":"Base class for insight query nodes. Should not be used directly.","properties":{"aggregation_group_type_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Groups aggregation"},"dataColorTheme":{"description":"Colors used in the insight\'s visualization","type":["number","null"]},"dateRange":{"$ref":"#/definitions/DateRange","description":"Date range for the query"},"filterTestAccounts":{"default":false,"description":"Exclude internal and test users by applying the respective filters","type":"boolean"},"kind":{"$ref":"#/definitions/NodeKind"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"properties":{"anyOf":[{"items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},{"$ref":"#/definitions/PropertyGroupFilter"}],"default":[],"description":"Property filters for all series"},"response":{"$ref":"#/definitions/LifecycleQueryResponse"},"samplingFactor":{"description":"Sampling rate","type":["number","null"]}},"required":["kind"],"type":"object"},"InsightsQueryBase":{"additionalProperties":false,"description":"Base class for insight query nodes. Should not be used directly.","properties":{"aggregation_group_type_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Groups aggregation"},"dataColorTheme":{"description":"Colors used in the insight\'s visualization","type":["number","null"]},"dateRange":{"$ref":"#/definitions/DateRange","description":"Date range for the query"},"filterTestAccounts":{"default":false,"description":"Exclude internal and test users by applying the respective filters","type":"boolean"},"kind":{"$ref":"#/definitions/NodeKind"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"properties":{"anyOf":[{"items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},{"$ref":"#/definitions/PropertyGroupFilter"}],"default":[],"description":"Property filters for all series"},"response":{"$ref":"#/definitions/PathsQueryResponse"},"samplingFactor":{"description":"Sampling rate","type":["number","null"]}},"required":["kind"],"type":"object"},"InsightsQueryBase":{"additionalProperties":false,"description":"Base class for insight query nodes. Should not be used directly.","properties":{"aggregation_group_type_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Groups aggregation"},"dataColorTheme":{"description":"Colors used in the insight\'s visualization","type":["number","null"]},"dateRange":{"$ref":"#/definitions/DateRange","description":"Date range for the query"},"filterTestAccounts":{"default":false,"description":"Exclude internal and test users by applying the respective filters","type":"boolean"},"kind":{"$ref":"#/definitions/NodeKind"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"properties":{"anyOf":[{"items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},{"$ref":"#/definitions/PropertyGroupFilter"}],"default":[],"description":"Property filters for all series"},"response":{"$ref":"#/definitions/RetentionQueryResponse"},"samplingFactor":{"description":"Sampling rate","type":["number","null"]}},"required":["kind"],"type":"object"},"InsightsQueryBase":{"additionalProperties":false,"description":"Base class for insight query nodes. Should not be used directly.","properties":{"aggregation_group_type_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Groups aggregation"},"dataColorTheme":{"description":"Colors used in the insight\'s visualization","type":["number","null"]},"dateRange":{"$ref":"#/definitions/DateRange","description":"Date range for the query"},"filterTestAccounts":{"default":false,"description":"Exclude internal and test users by applying the respective filters","type":"boolean"},"kind":{"$ref":"#/definitions/NodeKind"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"properties":{"anyOf":[{"items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},{"$ref":"#/definitions/PropertyGroupFilter"}],"default":[],"description":"Property filters for all series"},"response":{"$ref":"#/definitions/TrendsQueryResponse"},"samplingFactor":{"description":"Sampling rate","type":["number","null"]}},"required":["kind"],"type":"object"},"InsightsThresholdBounds":{"additionalProperties":false,"properties":{"lower":{"type":"number"},"upper":{"type":"number"}},"type":"object"},"IntervalType":{"enum":["minute","hour","day","week","month"],"type":"string"},"LifecycleFilter":{"additionalProperties":false,"properties":{"showLegend":{"default":false,"type":"boolean"},"showValuesOnSeries":{"type":"boolean"},"toggledLifecycles":{"items":{"$ref":"#/definitions/LifecycleToggle"},"type":"array"}},"type":"object"},"LifecycleFilterLegacy":{"additionalProperties":false,"description":"`LifecycleFilterType` minus everything inherited from `FilterType`","properties":{"show_legend":{"type":"boolean"},"show_values_on_series":{"type":"boolean"},"toggledLifecycles":{"items":{"$ref":"#/definitions/LifecycleToggle"},"type":"array"}},"type":"object"},"LifecycleQuery":{"additionalProperties":false,"properties":{"aggregation_group_type_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Groups aggregation"},"dataColorTheme":{"description":"Colors used in the insight\'s visualization","type":["number","null"]},"dateRange":{"$ref":"#/definitions/DateRange","description":"Date range for the query"},"filterTestAccounts":{"default":false,"description":"Exclude internal and test users by applying the respective filters","type":"boolean"},"interval":{"$ref":"#/definitions/IntervalType","default":"day","description":"Granularity of the response. Can be one of `hour`, `day`, `week` or `month`"},"kind":{"const":"LifecycleQuery","type":"string"},"lifecycleFilter":{"$ref":"#/definitions/LifecycleFilter","description":"Properties specific to the lifecycle insight"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"properties":{"anyOf":[{"items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},{"$ref":"#/definitions/PropertyGroupFilter"}],"default":[],"description":"Property filters for all series"},"response":{"$ref":"#/definitions/LifecycleQueryResponse"},"samplingFactor":{"description":"Sampling rate","type":["number","null"]},"series":{"description":"Events and actions to include","items":{"$ref":"#/definitions/AnyEntityNode"},"type":"array"}},"required":["kind","series"],"type":"object"},"LifecycleQueryResponse":{"additionalProperties":false,"properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"type":"object"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},"LifecycleToggle":{"enum":["new","resurrecting","returning","dormant"],"type":"string"},"LogEntryPropertyFilter":{"additionalProperties":false,"properties":{"key":{"type":"string"},"label":{"type":"string"},"operator":{"$ref":"#/definitions/PropertyOperator"},"type":{"const":"log_entry","type":"string"},"value":{"$ref":"#/definitions/PropertyFilterValue"}},"required":["key","operator","type"],"type":"object"},"MatchedRecording":{"additionalProperties":false,"properties":{"events":{"items":{"$ref":"#/definitions/MatchedRecordingEvent"},"type":"array"},"session_id":{"type":"string"}},"required":["events"],"type":"object"},"MatchedRecordingEvent":{"additionalProperties":false,"properties":{"uuid":{"type":"string"}},"required":["uuid"],"type":"object"},"MathType":{"anyOf":[{"$ref":"#/definitions/BaseMathType"},{"$ref":"#/definitions/FunnelMathType"},{"$ref":"#/definitions/PropertyMathType"},{"$ref":"#/definitions/CountPerActorMathType"},{"$ref":"#/definitions/GroupMathType"},{"$ref":"#/definitions/HogQLMathType"}]},"MultipleBreakdownOptions":{"additionalProperties":false,"properties":{"values":{"items":{"$ref":"#/definitions/BreakdownItem"},"type":"array"}},"required":["values"],"type":"object"},"MultipleBreakdownType":{"enum":["person","event","group","session","hogql"],"type":"string"},"NodeKind":{"description":"PostHog Query Schema definition.\\n\\nThis file acts as the source of truth for:\\n\\n- frontend/src/queries/schema.json - generated from typescript via \\"pnpm run schema:build:json\\"\\n\\n- posthog/schema.py - generated from json the above json via \\"pnpm run schema:build:python\\"","enum":["EventsNode","ActionsNode","DataWarehouseNode","EventsQuery","PersonsNode","HogQuery","HogQLQuery","HogQLMetadata","HogQLAutocomplete","ActorsQuery","FunnelsActorsQuery","FunnelCorrelationActorsQuery","SessionsTimelineQuery","RecordingsQuery","SessionAttributionExplorerQuery","ErrorTrackingQuery","DataTableNode","DataVisualizationNode","SavedInsightNode","InsightVizNode","TrendsQuery","FunnelsQuery","RetentionQuery","PathsQuery","StickinessQuery","LifecycleQuery","InsightActorsQuery","InsightActorsQueryOptions","FunnelCorrelationQuery","WebOverviewQuery","WebStatsTableQuery","WebExternalClicksTableQuery","WebGoalsQuery","ExperimentFunnelsQuery","ExperimentTrendsQuery","DatabaseSchemaQuery","SuggestedQuestionsQuery","TeamTaxonomyQuery","EventTaxonomyQuery","ActorsPropertyTaxonomyQuery"],"type":"string"},"PathCleaningFilter":{"additionalProperties":false,"properties":{"alias":{"type":"string"},"regex":{"type":"string"}},"type":"object"},"PathType":{"enum":["$pageview","$screen","custom_event","hogql"],"type":"string"},"PathsFilter":{"additionalProperties":false,"properties":{"edgeLimit":{"default":50,"type":"integer"},"endPoint":{"type":"string"},"excludeEvents":{"items":{"type":"string"},"type":"array"},"includeEventTypes":{"items":{"$ref":"#/definitions/PathType"},"type":"array"},"localPathCleaningFilters":{"anyOf":[{"items":{"$ref":"#/definitions/PathCleaningFilter"},"type":"array"},{"type":"null"}]},"maxEdgeWeight":{"type":"integer"},"minEdgeWeight":{"type":"integer"},"pathDropoffKey":{"description":"Relevant only within actors query","type":"string"},"pathEndKey":{"description":"Relevant only within actors query","type":"string"},"pathGroupings":{"items":{"type":"string"},"type":"array"},"pathReplacements":{"type":"boolean"},"pathStartKey":{"description":"Relevant only within actors query","type":"string"},"pathsHogQLExpression":{"type":"string"},"startPoint":{"type":"string"},"stepLimit":{"default":5,"type":"integer"}},"type":"object"},"PathsFilterLegacy":{"additionalProperties":false,"description":"`PathsFilterType` minus everything inherited from `FilterType` and persons modal related params","properties":{"edge_limit":{"type":"integer"},"end_point":{"type":"string"},"exclude_events":{"items":{"type":"string"},"type":"array"},"funnel_filter":{"type":"object"},"funnel_paths":{"$ref":"#/definitions/FunnelPathType"},"include_event_types":{"items":{"$ref":"#/definitions/PathType"},"type":"array"},"local_path_cleaning_filters":{"anyOf":[{"items":{"$ref":"#/definitions/PathCleaningFilter"},"type":"array"},{"type":"null"}]},"max_edge_weight":{"type":"integer"},"min_edge_weight":{"type":"integer"},"path_groupings":{"items":{"type":"string"},"type":"array"},"path_replacements":{"type":"boolean"},"path_type":{"$ref":"#/definitions/PathType"},"paths_hogql_expression":{"type":"string"},"start_point":{"type":"string"},"step_limit":{"type":"integer"}},"type":"object"},"PathsQuery":{"additionalProperties":false,"properties":{"aggregation_group_type_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Groups aggregation"},"dataColorTheme":{"description":"Colors used in the insight\'s visualization","type":["number","null"]},"dateRange":{"$ref":"#/definitions/DateRange","description":"Date range for the query"},"filterTestAccounts":{"default":false,"description":"Exclude internal and test users by applying the respective filters","type":"boolean"},"funnelPathsFilter":{"$ref":"#/definitions/FunnelPathsFilter","description":"Used for displaying paths in relation to funnel steps."},"kind":{"const":"PathsQuery","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"pathsFilter":{"$ref":"#/definitions/PathsFilter","description":"Properties specific to the paths insight"},"properties":{"anyOf":[{"items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},{"$ref":"#/definitions/PropertyGroupFilter"}],"default":[],"description":"Property filters for all series"},"response":{"$ref":"#/definitions/PathsQueryResponse"},"samplingFactor":{"description":"Sampling rate","type":["number","null"]}},"required":["kind","pathsFilter"],"type":"object"},"PathsQueryResponse":{"additionalProperties":false,"properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"type":"object"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},"PersonPropertyFilter":{"additionalProperties":false,"description":"Sync with plugin-server/src/types.ts","properties":{"key":{"type":"string"},"label":{"type":"string"},"operator":{"$ref":"#/definitions/PropertyOperator"},"type":{"const":"person","description":"Person properties","type":"string"},"value":{"$ref":"#/definitions/PropertyFilterValue"}},"required":["key","operator","type"],"type":"object"},"PersonType":{"additionalProperties":false,"properties":{"created_at":{"type":"string"},"distinct_ids":{"items":{"type":"string"},"type":"array"},"id":{"type":"string"},"is_identified":{"type":"boolean"},"name":{"type":"string"},"properties":{"type":"object"},"uuid":{"type":"string"}},"required":["distinct_ids","properties"],"type":"object"},"PersonsNode":{"additionalProperties":false,"deprecated":"Use `ActorsQuery` instead.","properties":{"cohort":{"type":"integer"},"distinctId":{"type":"string"},"fixedProperties":{"description":"Fixed properties in the query, can\'t be edited in the interface (e.g. scoping down by person)","items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},"kind":{"const":"PersonsNode","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"properties":{"description":"Properties configurable in the interface","items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},"response":{"type":"object"},"search":{"type":"string"}},"required":["kind"],"type":"object"},"PropertyFilterType":{"enum":["meta","event","person","element","feature","session","cohort","recording","log_entry","group","hogql","data_warehouse","data_warehouse_person_property"],"type":"string"},"PropertyFilterValue":{"anyOf":[{"type":"string"},{"type":"number"},{"items":{"type":["string","number"]},"type":"array"},{"type":"null"}]},"PropertyGroupFilter":{"additionalProperties":false,"properties":{"type":{"$ref":"#/definitions/FilterLogicalOperator"},"values":{"items":{"$ref":"#/definitions/PropertyGroupFilterValue"},"type":"array"}},"required":["type","values"],"type":"object"},"PropertyGroupFilterValue":{"additionalProperties":false,"properties":{"type":{"$ref":"#/definitions/FilterLogicalOperator"},"values":{"items":{"anyOf":[{"$ref":"#/definitions/AnyPropertyFilter"},{"$ref":"#/definitions/PropertyGroupFilterValue"}]},"type":"array"}},"required":["type","values"],"type":"object"},"PropertyMathType":{"enum":["avg","sum","min","max","median","p90","p95","p99"],"type":"string"},"PropertyOperator":{"description":"Sync with plugin-server/src/types.ts","enum":["exact","is_not","icontains","not_icontains","regex","not_regex","gt","gte","lt","lte","is_set","is_not_set","is_date_exact","is_date_before","is_date_after","between","not_between","min","max","in","not_in"],"type":"string"},"QueryRequest":{"additionalProperties":false,"properties":{"async":{"deprecated":"Use `refresh` instead.","type":"boolean"},"client_query_id":{"description":"Client provided query ID. Can be used to retrieve the status or cancel the query.","type":"string"},"filters_override":{"$ref":"#/definitions/DashboardFilter"},"query":{"$ref":"#/definitions/QuerySchema","description":"Submit a JSON string representing a query for PostHog data analysis, for example a HogQL query.\\n\\nExample payload:\\n\\n```\\n\\n{\\"query\\": {\\"kind\\": \\"HogQLQuery\\", \\"query\\": \\"select * from events limit 100\\"}}\\n\\n```\\n\\nFor more details on HogQL queries, see the [PostHog HogQL documentation](/docs/hogql#api-access)."},"refresh":{"$ref":"#/definitions/RefreshType","default":"blocking","description":"Whether results should be calculated sync or async, and how much to rely on the cache:\\n- `\'blocking\'` - calculate synchronously (returning only when the query is done), UNLESS there are very fresh results in the cache\\n- `\'async\'` - kick off background calculation (returning immediately with a query status), UNLESS there are very fresh results in the cache\\n- `\'lazy_async\'` - kick off background calculation, UNLESS there are somewhat fresh results in the cache\\n- `\'force_blocking\'` - calculate synchronously, even if fresh results are already cached\\n- `\'force_async\'` - kick off background calculation, even if fresh results are already cached\\n- `\'force_cache\'` - return cached data or a cache miss; always completes immediately as it never calculates Background calculation can be tracked using the `query_status` response field."},"variables_override":{"additionalProperties":{"type":"object"},"type":"object"}},"required":["query"],"type":"object"},"QueryResponseAlternative":{"anyOf":[{"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"items":{},"type":"array"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{"type":"string"},"type":"array"}},"required":["columns","hogql","results","types"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"missing_actors_count":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"items":{},"type":"array"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{"type":"string"},"type":"array"}},"required":["columns","hogql","limit","offset","results","types"],"type":"object"},{"additionalProperties":false,"properties":{"breakdown":{"items":{"$ref":"#/definitions/BreakdownItem"},"type":"array"},"breakdowns":{"items":{"$ref":"#/definitions/MultipleBreakdownOptions"},"type":"array"},"compare":{"items":{"additionalProperties":false,"properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"type":"object"},"type":"array"},"day":{"items":{"additionalProperties":false,"properties":{"label":{"type":"string"},"value":{"anyOf":[{"type":"string"},{"$ref":"#/definitions/DatetimeDay"},{"$ref":"#/definitions/Day"}]}},"required":["label","value"],"type":"object"},"type":"array"},"interval":{"items":{"additionalProperties":false,"properties":{"label":{"type":"string"},"value":{"description":"An interval selected out of available intervals in source query","type":"integer"}},"required":["label","value"],"type":"object"},"type":"array"},"series":{"items":{"additionalProperties":false,"properties":{"label":{"type":"string"},"value":{"type":"integer"}},"required":["label","value"],"type":"object"},"type":"array"},"status":{"items":{"additionalProperties":false,"properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"type":"object"},"type":"array"}},"type":"object"},{"additionalProperties":false,"properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"$ref":"#/definitions/TimelineEntry"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"bytecode":{"items":{},"type":"array"},"coloredBytecode":{"items":{},"type":"array"},"results":{},"stdout":{"type":"string"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"clickhouse":{"description":"Executed ClickHouse query","type":"string"},"columns":{"description":"Returned columns","items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"explain":{"description":"Query explanation output","items":{"type":"string"},"type":"array"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"metadata":{"$ref":"#/definitions/HogQLMetadataResponse","description":"Query metadata output"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query":{"description":"Input query string","type":"string"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"description":"Types of returned columns","items":{},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"errors":{"items":{"$ref":"#/definitions/HogQLNotice"},"type":"array"},"isValid":{"type":"boolean"},"isValidView":{"type":"boolean"},"notices":{"items":{"$ref":"#/definitions/HogQLNotice"},"type":"array"},"query":{"type":"string"},"table_names":{"items":{"type":"string"},"type":"array"},"warnings":{"items":{"$ref":"#/definitions/HogQLNotice"},"type":"array"}},"required":["errors","warnings","notices"],"type":"object"},{"additionalProperties":false,"properties":{"incomplete_list":{"description":"Whether or not the suggestions returned are complete","type":"boolean"},"suggestions":{"items":{"$ref":"#/definitions/AutocompleteCompletionItem"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["suggestions","incomplete_list"],"type":"object"},{"additionalProperties":false,"properties":{"dateFrom":{"type":"string"},"dateTo":{"type":"string"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"$ref":"#/definitions/WebOverviewItem"},"type":"array"},"samplingRate":{"$ref":"#/definitions/SamplingRate"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"samplingRate":{"$ref":"#/definitions/SamplingRate"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"samplingRate":{"$ref":"#/definitions/SamplingRate"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"samplingRate":{"$ref":"#/definitions/SamplingRate"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{"type":"string"},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"$ref":"#/definitions/ErrorTrackingIssue"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"credible_intervals":{"additionalProperties":{"items":{"type":"number"},"maxItems":2,"minItems":2,"type":"array"},"type":"object"},"expected_loss":{"type":"number"},"funnels_query":{"$ref":"#/definitions/FunnelsQuery"},"insight":{"items":{"items":{"type":"object"},"type":"array"},"type":"array"},"kind":{"const":"ExperimentFunnelsQuery","type":"string"},"probability":{"additionalProperties":{"type":"number"},"type":"object"},"significance_code":{"$ref":"#/definitions/ExperimentSignificanceCode"},"significant":{"type":"boolean"},"stats_version":{"type":"integer"},"variants":{"items":{"$ref":"#/definitions/ExperimentVariantFunnelsBaseStats"},"type":"array"}},"required":["kind","insight","variants","probability","significant","significance_code","expected_loss","credible_intervals"],"type":"object"},{"additionalProperties":false,"properties":{"count_query":{"$ref":"#/definitions/TrendsQuery"},"credible_intervals":{"additionalProperties":{"items":{"type":"number"},"maxItems":2,"minItems":2,"type":"array"},"type":"object"},"exposure_query":{"$ref":"#/definitions/TrendsQuery"},"insight":{"items":{"type":"object"},"type":"array"},"kind":{"const":"ExperimentTrendsQuery","type":"string"},"p_value":{"type":"number"},"probability":{"additionalProperties":{"type":"number"},"type":"object"},"significance_code":{"$ref":"#/definitions/ExperimentSignificanceCode"},"significant":{"type":"boolean"},"stats_version":{"type":"integer"},"variants":{"items":{"$ref":"#/definitions/ExperimentVariantTrendsBaseStats"},"type":"array"}},"required":["kind","insight","variants","probability","significant","significance_code","p_value","credible_intervals"],"type":"object"},{"properties":{},"type":"object"},{"not":{}},{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"items":{},"type":"array"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{"type":"string"},"type":"array"}},"required":["columns","hogql","results","types"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"missing_actors_count":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"items":{},"type":"array"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{"type":"string"},"type":"array"}},"required":["columns","hogql","limit","offset","results","types"],"type":"object"},{"additionalProperties":false,"properties":{"clickhouse":{"description":"Executed ClickHouse query","type":"string"},"columns":{"description":"Returned columns","items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"explain":{"description":"Query explanation output","items":{"type":"string"},"type":"array"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"metadata":{"$ref":"#/definitions/HogQLMetadataResponse","description":"Query metadata output"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query":{"description":"Input query string","type":"string"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"description":"Types of returned columns","items":{},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"dateFrom":{"type":"string"},"dateTo":{"type":"string"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"$ref":"#/definitions/WebOverviewItem"},"type":"array"},"samplingRate":{"$ref":"#/definitions/SamplingRate"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"samplingRate":{"$ref":"#/definitions/SamplingRate"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"samplingRate":{"$ref":"#/definitions/SamplingRate"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"samplingRate":{"$ref":"#/definitions/SamplingRate"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{"type":"string"},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"$ref":"#/definitions/ErrorTrackingIssue"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"credible_intervals":{"additionalProperties":{"items":{"type":"number"},"maxItems":2,"minItems":2,"type":"array"},"type":"object"},"expected_loss":{"type":"number"},"funnels_query":{"$ref":"#/definitions/FunnelsQuery"},"insight":{"items":{"items":{"type":"object"},"type":"array"},"type":"array"},"kind":{"const":"ExperimentFunnelsQuery","type":"string"},"probability":{"additionalProperties":{"type":"number"},"type":"object"},"significance_code":{"$ref":"#/definitions/ExperimentSignificanceCode"},"significant":{"type":"boolean"},"stats_version":{"type":"integer"},"variants":{"items":{"$ref":"#/definitions/ExperimentVariantFunnelsBaseStats"},"type":"array"}},"required":["credible_intervals","expected_loss","insight","kind","probability","significance_code","significant","variants"],"type":"object"},{"additionalProperties":false,"properties":{"count_query":{"$ref":"#/definitions/TrendsQuery"},"credible_intervals":{"additionalProperties":{"items":{"type":"number"},"maxItems":2,"minItems":2,"type":"array"},"type":"object"},"exposure_query":{"$ref":"#/definitions/TrendsQuery"},"insight":{"items":{"type":"object"},"type":"array"},"kind":{"const":"ExperimentTrendsQuery","type":"string"},"p_value":{"type":"number"},"probability":{"additionalProperties":{"type":"number"},"type":"object"},"significance_code":{"$ref":"#/definitions/ExperimentSignificanceCode"},"significant":{"type":"boolean"},"stats_version":{"type":"integer"},"variants":{"items":{"$ref":"#/definitions/ExperimentVariantTrendsBaseStats"},"type":"array"}},"required":["credible_intervals","insight","kind","p_value","probability","significance_code","significant","variants"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"description":"Wether more breakdown values are available.","type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"type":"object"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"isUdf":{"type":"boolean"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"anyOf":[{"$ref":"#/definitions/FunnelStepsResults"},{"$ref":"#/definitions/FunnelStepsBreakdownResults"},{"$ref":"#/definitions/FunnelTimeToConvertResults"},{"$ref":"#/definitions/FunnelTrendsResults"}]},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"$ref":"#/definitions/RetentionResult"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"type":"object"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"type":"object"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"type":"object"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"$ref":"#/definitions/FunnelCorrelationResult"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"tables":{"additionalProperties":{"$ref":"#/definitions/DatabaseSchemaTable"},"type":"object"}},"required":["tables"],"type":"object"},{"additionalProperties":false,"properties":{"questions":{"items":{"type":"string"},"type":"array"}},"required":["questions"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"$ref":"#/definitions/TeamTaxonomyResponse"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"$ref":"#/definitions/EventTaxonomyResponse"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"$ref":"#/definitions/ActorsPropertyTaxonomyResponse"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"}]},"QuerySchema":{"discriminator":{"propertyName":"kind"},"oneOf":[{"$ref":"#/definitions/EventsNode"},{"$ref":"#/definitions/ActionsNode"},{"$ref":"#/definitions/PersonsNode"},{"$ref":"#/definitions/DataWarehouseNode"},{"$ref":"#/definitions/EventsQuery"},{"$ref":"#/definitions/ActorsQuery"},{"$ref":"#/definitions/InsightActorsQuery"},{"$ref":"#/definitions/InsightActorsQueryOptions"},{"$ref":"#/definitions/SessionsTimelineQuery"},{"$ref":"#/definitions/HogQuery"},{"$ref":"#/definitions/HogQLQuery"},{"$ref":"#/definitions/HogQLMetadata"},{"$ref":"#/definitions/HogQLAutocomplete"},{"$ref":"#/definitions/WebOverviewQuery"},{"$ref":"#/definitions/WebStatsTableQuery"},{"$ref":"#/definitions/WebExternalClicksTableQuery"},{"$ref":"#/definitions/WebGoalsQuery"},{"$ref":"#/definitions/SessionAttributionExplorerQuery"},{"$ref":"#/definitions/ErrorTrackingQuery"},{"$ref":"#/definitions/ExperimentFunnelsQuery"},{"$ref":"#/definitions/ExperimentTrendsQuery"},{"$ref":"#/definitions/DataVisualizationNode"},{"$ref":"#/definitions/DataTableNode"},{"$ref":"#/definitions/SavedInsightNode"},{"$ref":"#/definitions/InsightVizNode"},{"$ref":"#/definitions/TrendsQuery"},{"$ref":"#/definitions/FunnelsQuery"},{"$ref":"#/definitions/RetentionQuery"},{"$ref":"#/definitions/PathsQuery"},{"$ref":"#/definitions/StickinessQuery"},{"$ref":"#/definitions/LifecycleQuery"},{"$ref":"#/definitions/FunnelCorrelationQuery"},{"$ref":"#/definitions/DatabaseSchemaQuery"},{"$ref":"#/definitions/SuggestedQuestionsQuery"},{"$ref":"#/definitions/TeamTaxonomyQuery"},{"$ref":"#/definitions/EventTaxonomyQuery"},{"$ref":"#/definitions/ActorsPropertyTaxonomyQuery"}],"required":["kind"],"type":"object"},"QuerySchemaRoot":{"$ref":"#/definitions/QuerySchema"},"QueryStatus":{"additionalProperties":false,"properties":{"complete":{"default":false,"description":"Whether the query is still running. Will be true if the query is complete, even if it errored. Either result or error will be set.","type":"boolean"},"dashboard_id":{"type":"integer"},"end_time":{"description":"When did the query execution task finish (whether successfully or not).","format":"date-time","type":"string"},"error":{"default":false,"description":"If the query failed, this will be set to true. More information can be found in the error_message field.","type":"boolean"},"error_message":{"default":null,"type":["string","null"]},"expiration_time":{"format":"date-time","type":"string"},"id":{"type":"string"},"insight_id":{"type":"integer"},"labels":{"items":{"type":"string"},"type":"array"},"pickup_time":{"description":"When was the query execution task picked up by a worker.","format":"date-time","type":"string"},"query_async":{"const":true,"default":true,"description":"ONLY async queries use QueryStatus.","type":"boolean"},"query_progress":{"$ref":"#/definitions/ClickhouseQueryProgress"},"results":{},"start_time":{"description":"When was query execution task enqueued.","format":"date-time","type":"string"},"task_id":{"type":"string"},"team_id":{"type":"integer"}},"required":["id","query_async","team_id","error","complete","error_message"],"type":"object"},"QueryStatusResponse":{"additionalProperties":false,"properties":{"query_status":{"$ref":"#/definitions/QueryStatus"}},"required":["query_status"],"type":"object"},"QueryTiming":{"additionalProperties":false,"properties":{"k":{"description":"Key. Shortened to \'k\' to save on data.","type":"string"},"t":{"description":"Time in seconds. Shortened to \'t\' to save on data.","type":"number"}},"required":["k","t"],"type":"object"},"ReasoningMessage":{"additionalProperties":false,"properties":{"content":{"type":"string"},"id":{"type":"string"},"substeps":{"items":{"type":"string"},"type":"array"},"type":{"const":"ai/reasoning","type":"string"}},"required":["type","content"],"type":"object"},"RecordingOrder":{"enum":["duration","recording_duration","inactive_seconds","active_seconds","start_time","console_error_count","click_count","keypress_count","mouse_activity_count","activity_score"],"type":"string"},"RecordingPropertyFilter":{"additionalProperties":false,"properties":{"key":{"anyOf":[{"$ref":"#/definitions/DurationType"},{"const":"snapshot_source","type":"string"},{"const":"visited_page","type":"string"}]},"label":{"type":"string"},"operator":{"$ref":"#/definitions/PropertyOperator"},"type":{"const":"recording","type":"string"},"value":{"$ref":"#/definitions/PropertyFilterValue"}},"required":["key","operator","type"],"type":"object"},"RecordingsQuery":{"additionalProperties":false,"properties":{"actions":{"items":{"type":"object"},"type":"array"},"console_log_filters":{"items":{"$ref":"#/definitions/LogEntryPropertyFilter"},"type":"array"},"date_from":{"default":"-3d","type":["string","null"]},"date_to":{"type":["string","null"]},"events":{"items":{"type":"object"},"type":"array"},"filter_test_accounts":{"type":"boolean"},"having_predicates":{"items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},"kind":{"const":"RecordingsQuery","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"operand":{"$ref":"#/definitions/FilterLogicalOperator","default":"AND"},"order":{"$ref":"#/definitions/RecordingOrder","default":"start_time"},"person_uuid":{"type":"string"},"properties":{"items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},"response":{"$ref":"#/definitions/RecordingsQueryResponse"},"session_ids":{"items":{"type":"string"},"type":"array"},"user_modified_filters":{"type":"object"}},"required":["kind"],"type":"object"},"RecordingsQueryResponse":{"additionalProperties":false,"properties":{"has_next":{"type":"boolean"},"results":{"items":{"$ref":"#/definitions/SessionRecordingType"},"type":"array"}},"required":["results","has_next"],"type":"object"},"RefreshType":{"anyOf":[{"type":"boolean"},{"const":"async","type":"string"},{"const":"async_except_on_cache_miss","type":"string"},{"const":"blocking","type":"string"},{"const":"force_async","type":"string"},{"const":"force_blocking","type":"string"},{"const":"force_cache","type":"string"},{"const":"lazy_async","type":"string"}]},"ResultCustomization":{"anyOf":[{"$ref":"#/definitions/ResultCustomizationByValue"},{"$ref":"#/definitions/ResultCustomizationByPosition"}]},"ResultCustomizationBase":{"additionalProperties":false,"properties":{"color":{"$ref":"#/definitions/DataColorToken"}},"required":["color"],"type":"object"},"ResultCustomizationBy":{"enum":["value","position"],"type":"string"},"ResultCustomizationByPosition":{"additionalProperties":false,"properties":{"assignmentBy":{"const":"position","type":"string"},"color":{"$ref":"#/definitions/DataColorToken"}},"required":["assignmentBy","color"],"type":"object"},"ResultCustomizationByValue":{"additionalProperties":false,"properties":{"assignmentBy":{"const":"value","type":"string"},"color":{"$ref":"#/definitions/DataColorToken"}},"required":["assignmentBy","color"],"type":"object"},"RetentionEntity":{"additionalProperties":false,"properties":{"custom_name":{"type":"string"},"id":{"type":["string","number"]},"kind":{"$ref":"#/definitions/RetentionEntityKind"},"name":{"type":"string"},"order":{"type":"integer"},"type":{"$ref":"#/definitions/EntityType"},"uuid":{"type":"string"}},"type":"object"},"RetentionEntityKind":{"enum":["ActionsNode","EventsNode"],"type":"string"},"RetentionFilter":{"additionalProperties":false,"properties":{"cumulative":{"type":"boolean"},"period":{"$ref":"#/definitions/RetentionPeriod","default":"Day"},"retentionReference":{"description":"Whether retention is with regard to initial cohort size, or that of the previous period.","enum":["total","previous"],"type":"string"},"retentionType":{"$ref":"#/definitions/RetentionType"},"returningEntity":{"$ref":"#/definitions/RetentionEntity"},"showMean":{"type":"boolean"},"targetEntity":{"$ref":"#/definitions/RetentionEntity"},"totalIntervals":{"default":11,"type":"integer"}},"type":"object"},"RetentionFilterLegacy":{"additionalProperties":false,"description":"`RetentionFilterType` minus everything inherited from `FilterType`","properties":{"cumulative":{"type":"boolean"},"period":{"$ref":"#/definitions/RetentionPeriod"},"retention_reference":{"description":"Whether retention is with regard to initial cohort size, or that of the previous period.","enum":["total","previous"],"type":"string"},"retention_type":{"$ref":"#/definitions/RetentionType"},"returning_entity":{"$ref":"#/definitions/RetentionEntity"},"show_mean":{"type":"boolean"},"target_entity":{"$ref":"#/definitions/RetentionEntity"},"total_intervals":{"type":"integer"}},"type":"object"},"RetentionPeriod":{"enum":["Hour","Day","Week","Month"],"type":"string"},"RetentionQuery":{"additionalProperties":false,"properties":{"aggregation_group_type_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Groups aggregation"},"dataColorTheme":{"description":"Colors used in the insight\'s visualization","type":["number","null"]},"dateRange":{"$ref":"#/definitions/DateRange","description":"Date range for the query"},"filterTestAccounts":{"default":false,"description":"Exclude internal and test users by applying the respective filters","type":"boolean"},"kind":{"const":"RetentionQuery","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"properties":{"anyOf":[{"items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},{"$ref":"#/definitions/PropertyGroupFilter"}],"default":[],"description":"Property filters for all series"},"response":{"$ref":"#/definitions/RetentionQueryResponse"},"retentionFilter":{"$ref":"#/definitions/RetentionFilter","description":"Properties specific to the retention insight"},"samplingFactor":{"description":"Sampling rate","type":["number","null"]}},"required":["kind","retentionFilter"],"type":"object"},"RetentionQueryResponse":{"additionalProperties":false,"properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"$ref":"#/definitions/RetentionResult"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},"RetentionResult":{"additionalProperties":false,"properties":{"date":{"format":"date-time","type":"string"},"label":{"type":"string"},"values":{"items":{"$ref":"#/definitions/RetentionValue"},"type":"array"}},"required":["values","label","date"],"type":"object"},"RetentionType":{"enum":["retention_recurring","retention_first_time"],"type":"string"},"RetentionValue":{"additionalProperties":false,"properties":{"count":{"type":"integer"}},"required":["count"],"type":"object"},"RootAssistantMessage":{"anyOf":[{"$ref":"#/definitions/VisualizationMessage"},{"$ref":"#/definitions/ReasoningMessage"},{"$ref":"#/definitions/AssistantMessage"},{"$ref":"#/definitions/HumanMessage"},{"$ref":"#/definitions/FailureMessage"},{"$ref":"#/definitions/RouterMessage"}]},"RouterMessage":{"additionalProperties":false,"properties":{"content":{"type":"string"},"id":{"type":"string"},"type":{"const":"ai/router","type":"string"}},"required":["type","content"],"type":"object"},"SamplingRate":{"additionalProperties":false,"properties":{"denominator":{"type":"number"},"numerator":{"type":"number"}},"required":["numerator"],"type":"object"},"SavedInsightNode":{"additionalProperties":false,"properties":{"allowSorting":{"description":"Can the user click on column headers to sort the table? (default: true)","type":"boolean"},"embedded":{"description":"Query is embedded inside another bordered component","type":"boolean"},"expandable":{"description":"Can expand row to show raw event data (default: true)","type":"boolean"},"full":{"description":"Show with most visual options enabled. Used in insight scene.","type":"boolean"},"hidePersonsModal":{"type":"boolean"},"kind":{"const":"SavedInsightNode","type":"string"},"propertiesViaUrl":{"description":"Link properties via the URL (default: false)","type":"boolean"},"shortId":{"$ref":"#/definitions/InsightShortId"},"showActions":{"description":"Show the kebab menu at the end of the row","type":"boolean"},"showColumnConfigurator":{"description":"Show a button to configure the table\'s columns if possible","type":"boolean"},"showCorrelationTable":{"type":"boolean"},"showDateRange":{"description":"Show date range selector","type":"boolean"},"showElapsedTime":{"description":"Show the time it takes to run a query","type":"boolean"},"showEventFilter":{"description":"Include an event filter above the table (EventsNode only)","type":"boolean"},"showExport":{"description":"Show the export button","type":"boolean"},"showFilters":{"type":"boolean"},"showHeader":{"type":"boolean"},"showHogQLEditor":{"description":"Include a HogQL query editor above HogQL tables","type":"boolean"},"showLastComputation":{"type":"boolean"},"showLastComputationRefresh":{"type":"boolean"},"showOpenEditorButton":{"description":"Show a button to open the current query as a new insight. (default: true)","type":"boolean"},"showPersistentColumnConfigurator":{"description":"Show a button to configure and persist the table\'s default columns if possible","type":"boolean"},"showPropertyFilter":{"anyOf":[{"type":"boolean"},{"items":{"$ref":"#/definitions/TaxonomicFilterGroupType"},"type":"array"}],"description":"Include a property filter above the table"},"showReload":{"description":"Show a reload button","type":"boolean"},"showResults":{"type":"boolean"},"showResultsTable":{"description":"Show a results table","type":"boolean"},"showSavedQueries":{"description":"Shows a list of saved queries","type":"boolean"},"showSearch":{"description":"Include a free text search field (PersonsNode only)","type":"boolean"},"showTable":{"type":"boolean"},"showTestAccountFilters":{"description":"Show filter to exclude test accounts","type":"boolean"},"showTimings":{"description":"Show a detailed query timing breakdown","type":"boolean"},"suppressSessionAnalysisWarning":{"type":"boolean"},"vizSpecificOptions":{"$ref":"#/definitions/VizSpecificOptions"}},"required":["kind","shortId"],"type":"object"},"SessionAttributionExplorerQuery":{"additionalProperties":false,"properties":{"filters":{"additionalProperties":false,"properties":{"dateRange":{"$ref":"#/definitions/DateRange"},"properties":{"items":{"$ref":"#/definitions/SessionPropertyFilter"},"type":"array"}},"type":"object"},"groupBy":{"items":{"$ref":"#/definitions/SessionAttributionGroupBy"},"type":"array"},"kind":{"const":"SessionAttributionExplorerQuery","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"response":{"$ref":"#/definitions/SessionAttributionExplorerQueryResponse"}},"required":["groupBy","kind"],"type":"object"},"SessionAttributionExplorerQueryResponse":{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["results"],"type":"object"},"SessionAttributionGroupBy":{"enum":["ChannelType","Medium","Source","Campaign","AdIds","ReferringDomain","InitialURL"],"type":"string"},"SessionPropertyFilter":{"additionalProperties":false,"properties":{"key":{"type":"string"},"label":{"type":"string"},"operator":{"$ref":"#/definitions/PropertyOperator"},"type":{"const":"session","type":"string"},"value":{"$ref":"#/definitions/PropertyFilterValue"}},"required":["key","operator","type"],"type":"object"},"SessionRecordingType":{"additionalProperties":false,"properties":{"active_seconds":{"type":"number"},"activity_score":{"description":"calculated on the backend so that we can sort by it, definition may change over time","type":"number"},"click_count":{"type":"number"},"console_error_count":{"type":"number"},"console_log_count":{"type":"number"},"console_warn_count":{"type":"number"},"distinct_id":{"type":"string"},"email":{"type":"string"},"end_time":{"description":"When the recording ends in ISO format.","type":"string"},"id":{"type":"string"},"inactive_seconds":{"type":"number"},"keypress_count":{"type":"number"},"matching_events":{"description":"List of matching events. *","items":{"$ref":"#/definitions/MatchedRecording"},"type":"array"},"mouse_activity_count":{"description":"count of all mouse activity in the recording, not just clicks","type":"number"},"ongoing":{"description":"whether we have received data for this recording in the last 5 minutes (assumes the recording was loaded from ClickHouse)\\n*","type":"boolean"},"person":{"$ref":"#/definitions/PersonType"},"recording_duration":{"description":"Length of recording in seconds.","type":"number"},"snapshot_source":{"enum":["web","mobile","unknown"],"type":"string"},"start_time":{"description":"When the recording starts in ISO format.","type":"string"},"start_url":{"type":"string"},"storage":{"description":"Where this recording information was loaded from","enum":["object_storage_lts","object_storage"],"type":"string"},"summary":{"type":"string"},"viewed":{"description":"Whether this recording has been viewed already.","type":"boolean"}},"required":["id","viewed","recording_duration","start_time","end_time","snapshot_source"],"type":"object"},"SessionsTimelineQuery":{"additionalProperties":false,"properties":{"after":{"description":"Only fetch sessions that started after this timestamp (default: \'-24h\')","type":"string"},"before":{"description":"Only fetch sessions that started before this timestamp (default: \'+5s\')","type":"string"},"kind":{"const":"SessionsTimelineQuery","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"personId":{"description":"Fetch sessions only for a given person","type":"string"},"response":{"$ref":"#/definitions/SessionsTimelineQueryResponse"}},"required":["kind"],"type":"object"},"SessionsTimelineQueryResponse":{"additionalProperties":false,"properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"$ref":"#/definitions/TimelineEntry"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},"StepOrderValue":{"enum":["strict","unordered","ordered"],"type":"string"},"StickinessFilter":{"additionalProperties":false,"properties":{"display":{"$ref":"#/definitions/ChartDisplayType"},"hiddenLegendIndexes":{"items":{"type":"integer"},"type":"array"},"showLegend":{"type":"boolean"},"showValuesOnSeries":{"type":"boolean"},"stickinessCriteria":{"additionalProperties":false,"properties":{"operator":{"$ref":"#/definitions/StickinessOperator"},"value":{"type":"integer"}},"required":["operator","value"],"type":"object"}},"type":"object"},"StickinessFilterLegacy":{"additionalProperties":false,"description":"`StickinessFilterType` minus everything inherited from `FilterType` and persons modal related params","properties":{"compare":{"type":"boolean"},"compare_to":{"type":"string"},"display":{"$ref":"#/definitions/ChartDisplayType"},"hidden_legend_keys":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"not":{}}]},"type":"object"},"show_legend":{"type":"boolean"},"show_values_on_series":{"type":"boolean"}},"type":"object"},"StickinessOperator":{"enum":["gte","lte","exact"],"type":"string"},"StickinessQuery":{"additionalProperties":false,"properties":{"compareFilter":{"$ref":"#/definitions/CompareFilter","description":"Compare to date range"},"dataColorTheme":{"description":"Colors used in the insight\'s visualization","type":["number","null"]},"dateRange":{"$ref":"#/definitions/DateRange","description":"Date range for the query"},"filterTestAccounts":{"default":false,"description":"Exclude internal and test users by applying the respective filters","type":"boolean"},"interval":{"$ref":"#/definitions/IntervalType","default":"day","description":"Granularity of the response. Can be one of `hour`, `day`, `week` or `month`"},"kind":{"const":"StickinessQuery","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"properties":{"anyOf":[{"items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},{"$ref":"#/definitions/PropertyGroupFilter"}],"default":[],"description":"Property filters for all series"},"response":{"$ref":"#/definitions/StickinessQueryResponse"},"samplingFactor":{"description":"Sampling rate","type":["number","null"]},"series":{"description":"Events and actions to include","items":{"$ref":"#/definitions/AnyEntityNode"},"type":"array"},"stickinessFilter":{"$ref":"#/definitions/StickinessFilter","description":"Properties specific to the stickiness insight"}},"required":["kind","series"],"type":"object"},"StickinessQueryResponse":{"additionalProperties":false,"properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"type":"object"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},"SuggestedQuestionsQuery":{"additionalProperties":false,"properties":{"kind":{"const":"SuggestedQuestionsQuery","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"response":{"$ref":"#/definitions/SuggestedQuestionsQueryResponse"}},"required":["kind"],"type":"object"},"SuggestedQuestionsQueryResponse":{"additionalProperties":false,"properties":{"questions":{"items":{"type":"string"},"type":"array"}},"required":["questions"],"type":"object"},"TableSettings":{"additionalProperties":false,"properties":{"columns":{"items":{"$ref":"#/definitions/ChartAxis"},"type":"array"},"conditionalFormatting":{"items":{"$ref":"#/definitions/ConditionalFormattingRule"},"type":"array"}},"type":"object"},"TaxonomicFilterGroupType":{"enum":["metadata","actions","cohorts","cohorts_with_all","data_warehouse","data_warehouse_properties","data_warehouse_person_properties","elements","events","event_properties","event_feature_flags","numerical_event_properties","person_properties","pageview_urls","screens","custom_events","wildcard","groups","persons","feature_flags","insights","experiments","plugins","dashboards","name_groups","session_properties","hogql_expression","notebooks","log_entries","replay"],"type":"string"},"TeamTaxonomyItem":{"additionalProperties":false,"properties":{"count":{"type":"integer"},"event":{"type":"string"}},"required":["event","count"],"type":"object"},"TeamTaxonomyQuery":{"additionalProperties":false,"properties":{"kind":{"const":"TeamTaxonomyQuery","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"response":{"$ref":"#/definitions/TeamTaxonomyQueryResponse"}},"required":["kind"],"type":"object"},"TeamTaxonomyQueryResponse":{"additionalProperties":false,"description":"All analytics query responses must inherit from this.","properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"$ref":"#/definitions/TeamTaxonomyResponse"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},"TeamTaxonomyResponse":{"items":{"$ref":"#/definitions/TeamTaxonomyItem"},"type":"array"},"TestBasicQueryResponse":{"additionalProperties":false,"deprecated":"Only exported for use in test_query_runner.py! Don\'t use anywhere else.","properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},"TestCachedBasicQueryResponse":{"additionalProperties":false,"deprecated":"Only exported for use in test_query_runner.py! Don\'t use anywhere else.","properties":{"cache_key":{"type":"string"},"cache_target_age":{"format":"date-time","type":"string"},"calculation_trigger":{"description":"What triggered the calculation of the query, leave empty if user/immediate","type":"string"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"is_cached":{"type":"boolean"},"last_refresh":{"format":"date-time","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"next_allowed_client_refresh":{"format":"date-time","type":"string"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"timezone":{"type":"string"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["cache_key","is_cached","last_refresh","next_allowed_client_refresh","results","timezone"],"type":"object"},"TimelineEntry":{"additionalProperties":false,"properties":{"events":{"items":{"$ref":"#/definitions/EventType"},"type":"array"},"recording_duration_s":{"description":"Duration of the recording in seconds.","type":"number"},"sessionId":{"description":"Session ID. None means out-of-session events","type":"string"}},"required":["events"],"type":"object"},"TrendsAlertConfig":{"additionalProperties":false,"properties":{"check_ongoing_interval":{"type":"boolean"},"series_index":{"type":"integer"},"type":{"const":"TrendsAlertConfig","type":"string"}},"required":["type","series_index"],"type":"object"},"TrendsFilter":{"additionalProperties":false,"properties":{"aggregationAxisFormat":{"$ref":"#/definitions/AggregationAxisFormat","default":"numeric"},"aggregationAxisPostfix":{"type":"string"},"aggregationAxisPrefix":{"type":"string"},"breakdown_histogram_bin_count":{"type":"number"},"decimalPlaces":{"type":"number"},"display":{"$ref":"#/definitions/ChartDisplayType","default":"ActionsLineGraph"},"formula":{"type":"string"},"hiddenLegendIndexes":{"items":{"type":"integer"},"type":"array"},"resultCustomizationBy":{"$ref":"#/definitions/ResultCustomizationBy","default":"value","description":"Wether result datasets are associated by their values or by their order."},"resultCustomizations":{"anyOf":[{"additionalProperties":{"$ref":"#/definitions/ResultCustomizationByValue"},"type":"object"},{"additionalProperties":{"$ref":"#/definitions/ResultCustomizationByPosition"},"propertyNames":{"type":"string"},"type":"object"}],"description":"Customizations for the appearance of result datasets."},"showAlertThresholdLines":{"default":false,"type":"boolean"},"showLabelsOnSeries":{"type":"boolean"},"showLegend":{"default":false,"type":"boolean"},"showPercentStackView":{"default":false,"type":"boolean"},"showValuesOnSeries":{"default":false,"type":"boolean"},"smoothingIntervals":{"default":1,"type":"integer"},"yAxisScaleType":{"enum":["log10","linear"],"type":"string"}},"type":"object"},"TrendsFilterLegacy":{"additionalProperties":false,"description":"`TrendsFilterType` minus everything inherited from `FilterType` and `shown_as`","properties":{"aggregation_axis_format":{"$ref":"#/definitions/AggregationAxisFormat"},"aggregation_axis_postfix":{"type":"string"},"aggregation_axis_prefix":{"type":"string"},"breakdown_histogram_bin_count":{"type":"number"},"compare":{"type":"boolean"},"compare_to":{"type":"string"},"decimal_places":{"type":"number"},"display":{"$ref":"#/definitions/ChartDisplayType"},"formula":{"type":"string"},"hidden_legend_keys":{"additionalProperties":{"anyOf":[{"type":"boolean"},{"not":{}}]},"type":"object"},"show_alert_threshold_lines":{"type":"boolean"},"show_labels_on_series":{"type":"boolean"},"show_legend":{"type":"boolean"},"show_percent_stack_view":{"type":"boolean"},"show_values_on_series":{"type":"boolean"},"smoothing_intervals":{"type":"number"},"y_axis_scale_type":{"enum":["log10","linear"],"type":"string"}},"type":"object"},"TrendsQuery":{"additionalProperties":false,"properties":{"aggregation_group_type_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Groups aggregation"},"breakdownFilter":{"$ref":"#/definitions/BreakdownFilter","description":"Breakdown of the events and actions"},"compareFilter":{"$ref":"#/definitions/CompareFilter","description":"Compare to date range"},"conversionGoal":{"anyOf":[{"$ref":"#/definitions/WebAnalyticsConversionGoal"},{"type":"null"}],"description":"Whether we should be comparing against a specific conversion goal"},"dataColorTheme":{"description":"Colors used in the insight\'s visualization","type":["number","null"]},"dateRange":{"$ref":"#/definitions/DateRange","description":"Date range for the query"},"filterTestAccounts":{"default":false,"description":"Exclude internal and test users by applying the respective filters","type":"boolean"},"interval":{"$ref":"#/definitions/IntervalType","default":"day","description":"Granularity of the response. Can be one of `hour`, `day`, `week` or `month`"},"kind":{"const":"TrendsQuery","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"properties":{"anyOf":[{"items":{"$ref":"#/definitions/AnyPropertyFilter"},"type":"array"},{"$ref":"#/definitions/PropertyGroupFilter"}],"default":[],"description":"Property filters for all series"},"response":{"$ref":"#/definitions/TrendsQueryResponse"},"samplingFactor":{"description":"Sampling rate","type":["number","null"]},"series":{"description":"Events and actions to include","items":{"$ref":"#/definitions/AnyEntityNode"},"type":"array"},"trendsFilter":{"$ref":"#/definitions/TrendsFilter","description":"Properties specific to the trends insight"}},"required":["kind","series"],"type":"object"},"TrendsQueryResponse":{"additionalProperties":false,"properties":{"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"description":"Wether more breakdown values are available.","type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"type":"object"},"type":"array"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},"VisualizationMessage":{"additionalProperties":false,"properties":{"answer":{"anyOf":[{"$ref":"#/definitions/AssistantTrendsQuery"},{"$ref":"#/definitions/AssistantFunnelsQuery"},{"$ref":"#/definitions/AssistantRetentionQuery"}]},"id":{"type":"string"},"initiator":{"type":"string"},"plan":{"type":"string"},"type":{"const":"ai/viz","type":"string"}},"required":["type"],"type":"object"},"VizSpecificOptions":{"additionalProperties":false,"description":"Chart specific rendering options. Use ChartRenderingMetadata for non-serializable values, e.g. onClick handlers","properties":{"ActionsPie":{"additionalProperties":false,"properties":{"disableHoverOffset":{"type":"boolean"},"hideAggregation":{"type":"boolean"}},"type":"object"},"RETENTION":{"additionalProperties":false,"properties":{"hideLineGraph":{"type":"boolean"},"hideSizeColumn":{"type":"boolean"},"useSmallLayout":{"type":"boolean"}},"type":"object"}},"type":"object"},"WebAnalyticsConversionGoal":{"anyOf":[{"$ref":"#/definitions/ActionConversionGoal"},{"$ref":"#/definitions/CustomEventConversionGoal"}]},"WebAnalyticsPropertyFilter":{"anyOf":[{"$ref":"#/definitions/EventPropertyFilter"},{"$ref":"#/definitions/PersonPropertyFilter"},{"$ref":"#/definitions/SessionPropertyFilter"}]},"WebAnalyticsPropertyFilters":{"items":{"$ref":"#/definitions/WebAnalyticsPropertyFilter"},"type":"array"},"WebExternalClicksTableQuery":{"additionalProperties":false,"properties":{"compareFilter":{"$ref":"#/definitions/CompareFilter"},"conversionGoal":{"anyOf":[{"$ref":"#/definitions/WebAnalyticsConversionGoal"},{"type":"null"}]},"dateRange":{"$ref":"#/definitions/DateRange"},"filterTestAccounts":{"type":"boolean"},"kind":{"const":"WebExternalClicksTableQuery","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"properties":{"$ref":"#/definitions/WebAnalyticsPropertyFilters"},"response":{"$ref":"#/definitions/WebExternalClicksTableQueryResponse"},"sampling":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"},"forceSamplingRate":{"$ref":"#/definitions/SamplingRate"}},"type":"object"},"stripQueryParams":{"type":"boolean"},"useSessionsTable":{"deprecated":"ignored, always treated as enabled *","type":"boolean"}},"required":["kind","properties"],"type":"object"},"WebExternalClicksTableQueryResponse":{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"samplingRate":{"$ref":"#/definitions/SamplingRate"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["results"],"type":"object"},"WebGoalsQuery":{"additionalProperties":false,"properties":{"compareFilter":{"$ref":"#/definitions/CompareFilter"},"conversionGoal":{"anyOf":[{"$ref":"#/definitions/WebAnalyticsConversionGoal"},{"type":"null"}]},"dateRange":{"$ref":"#/definitions/DateRange"},"filterTestAccounts":{"type":"boolean"},"kind":{"const":"WebGoalsQuery","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"properties":{"$ref":"#/definitions/WebAnalyticsPropertyFilters"},"response":{"$ref":"#/definitions/WebGoalsQueryResponse"},"sampling":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"},"forceSamplingRate":{"$ref":"#/definitions/SamplingRate"}},"type":"object"},"useSessionsTable":{"deprecated":"ignored, always treated as enabled *","type":"boolean"}},"required":["kind","properties"],"type":"object"},"WebGoalsQueryResponse":{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"samplingRate":{"$ref":"#/definitions/SamplingRate"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["results"],"type":"object"},"WebOverviewItem":{"additionalProperties":false,"properties":{"changeFromPreviousPct":{"type":"number"},"isIncreaseBad":{"type":"boolean"},"key":{"type":"string"},"kind":{"$ref":"#/definitions/WebOverviewItemKind"},"previous":{"type":"number"},"value":{"type":"number"}},"required":["key","kind"],"type":"object"},"WebOverviewItemKind":{"enum":["unit","duration_s","percentage"],"type":"string"},"WebOverviewQuery":{"additionalProperties":false,"properties":{"compareFilter":{"$ref":"#/definitions/CompareFilter"},"conversionGoal":{"anyOf":[{"$ref":"#/definitions/WebAnalyticsConversionGoal"},{"type":"null"}]},"dateRange":{"$ref":"#/definitions/DateRange"},"filterTestAccounts":{"type":"boolean"},"includeLCPScore":{"type":"boolean"},"kind":{"const":"WebOverviewQuery","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"properties":{"$ref":"#/definitions/WebAnalyticsPropertyFilters"},"response":{"$ref":"#/definitions/WebOverviewQueryResponse"},"sampling":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"},"forceSamplingRate":{"$ref":"#/definitions/SamplingRate"}},"type":"object"},"useSessionsTable":{"deprecated":"ignored, always treated as enabled *","type":"boolean"}},"required":["kind","properties"],"type":"object"},"WebOverviewQueryResponse":{"additionalProperties":false,"properties":{"dateFrom":{"type":"string"},"dateTo":{"type":"string"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hogql":{"description":"Generated HogQL query.","type":"string"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{"$ref":"#/definitions/WebOverviewItem"},"type":"array"},"samplingRate":{"$ref":"#/definitions/SamplingRate"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"}},"required":["results"],"type":"object"},"WebStatsBreakdown":{"enum":["Page","InitialPage","ExitPage","ExitClick","ScreenName","InitialChannelType","InitialReferringDomain","InitialUTMSource","InitialUTMCampaign","InitialUTMMedium","InitialUTMTerm","InitialUTMContent","InitialUTMSourceMediumCampaign","Browser","OS","Viewport","DeviceType","Country","Region","City","Timezone","Language"],"type":"string"},"WebStatsTableQuery":{"additionalProperties":false,"properties":{"breakdownBy":{"$ref":"#/definitions/WebStatsBreakdown"},"compareFilter":{"$ref":"#/definitions/CompareFilter"},"conversionGoal":{"anyOf":[{"$ref":"#/definitions/WebAnalyticsConversionGoal"},{"type":"null"}]},"dateRange":{"$ref":"#/definitions/DateRange"},"doPathCleaning":{"type":"boolean"},"filterTestAccounts":{"type":"boolean"},"includeBounceRate":{"type":"boolean"},"includeScrollDepth":{"type":"boolean"},"kind":{"const":"WebStatsTableQuery","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"properties":{"$ref":"#/definitions/WebAnalyticsPropertyFilters"},"response":{"$ref":"#/definitions/WebStatsTableQueryResponse"},"sampling":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"},"forceSamplingRate":{"$ref":"#/definitions/SamplingRate"}},"type":"object"},"useSessionsTable":{"deprecated":"ignored, always treated as enabled *","type":"boolean"}},"required":["breakdownBy","kind","properties"],"type":"object"},"WebStatsTableQueryResponse":{"additionalProperties":false,"properties":{"columns":{"items":{},"type":"array"},"error":{"description":"Query error. Returned only if \'explain\' or `modifiers.debug` is true. Throws an error otherwise.","type":"string"},"hasMore":{"type":"boolean"},"hogql":{"description":"Generated HogQL query.","type":"string"},"limit":{"type":"integer"},"modifiers":{"$ref":"#/definitions/HogQLQueryModifiers","description":"Modifiers used when performing the query"},"offset":{"type":"integer"},"query_status":{"$ref":"#/definitions/QueryStatus","description":"Query status indicates whether next to the provided data, a query is still running."},"results":{"items":{},"type":"array"},"samplingRate":{"$ref":"#/definitions/SamplingRate"},"timings":{"description":"Measured timings for different parts of the query generation process","items":{"$ref":"#/definitions/QueryTiming"},"type":"array"},"types":{"items":{},"type":"array"}},"required":["results"],"type":"object"},"YAxisSettings":{"additionalProperties":false,"properties":{"scale":{"enum":["linear","logarithmic"],"type":"string"},"startAtZero":{"description":"Whether the Y axis should start at zero","type":"boolean"}},"type":"object"},"numerical_key":{"type":"string"}}}')}},__webpack_require__=>{var __webpack_exec__=moduleId=>__webpack_require__(__webpack_require__.s=moduleId);__webpack_require__.O(0,[97192],()=>__webpack_exec__("./storybook-config-entry.js")),__webpack_require__.O()}]); +//# sourceMappingURL=main.3c6c669a.iframe.bundle.js.map \ No newline at end of file diff --git a/docs/main.8757ec66.iframe.bundle.js.map b/docs/main.3c6c669a.iframe.bundle.js.map similarity index 99% rename from docs/main.8757ec66.iframe.bundle.js.map rename to docs/main.3c6c669a.iframe.bundle.js.map index e5f5430e3..d242dad30 100644 --- a/docs/main.8757ec66.iframe.bundle.js.map +++ b/docs/main.3c6c669a.iframe.bundle.js.map @@ -1 +1 @@ -{"version":3,"file":"main.8757ec66.iframe.bundle.js","mappings":";;;;;AAyBA;ACqKA;;;;;;;ACiCA;AC7LA;AAAA;AAKA;;;ACVA;;;AAsBA;;AAEA;;ACYA;ACrCA;AAUA;AAOA;AAkDA;;AAuXA;AAAA;AAAA;AAAA;AAlZA;AAaA;AAOA;;;;;;;ACWA;;AC5EA;;;;;;;;;;;ACmPA;;;;;AAeA;;;AAcA;;;;;;;AAyDA;AC9QA;ACqhBA;AACA;AC9fA;AASA;;;AAWA;AC1GA;;;AAoBA;;;AAIA;AAKA;AACA;AAGA;;AAIA;;AAEA;AAGA;AACA;AAGA;AAGA;;AAEA;;AAWA;AACA;AACA;;;;;AAiCA;;;AAIA;AAKA;;;AAGA;AACA;AAGA;AACA;AACA;;AAWA;AACA;AACA;;;AAwBA;;;AAIA;;AAMA;;AAEA;;AAEA;;AAGA;AACA;AACA;;AAUA;AACA;AACA;;;AAwBA;;;AAIA;AAKA;;AAEA;AACA;AAGA;AACA;AACA;;AAUA;AACA;AACA;;;AA6BA;;;AAIA;AAKA;;AAEA;AACA;AAGA;AACA;AACA;;AAUA;AACA;AACA;;;AA8BA;;;AAyBA;;AAuBA;;;;AAyBA;;;;;;;AAOA;;;;AAIA;AACA;AAkBA;;;AAGA;;AAEA;;;AAGA;AAUA;;;AASA;AACA;;AAEA;;;AA6BA;;AAMA;;AAWA;;AAEA;;;;;;AAMA;;AAEA;;;;AAaA;;;;;;;;;;;;;AAaA;ACxeA;;;;;;;;;;;ACyLA;;;;;;;;;;;;;;;;;;;AC8nCA;;AChtBA;AAGA;AAGA;AACA;;;;;;;;;;;ACjoBA;AACA;;;;;AAKA;AACA;AACA;;;ACFA;AC0EA;;;;;ACoJA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;;AAuCA;;;;AAIA;AACA;AACA;AACA;;AAEA;;;AA0CA;;;;AAIA;AACA;AACA;;AAEA;;AAuEA;;;;AAIA;AACA;AACA;;AAEA;;;AAkCA;;;AAGA;AACA;AACA;;;AAGA;;;;AA+CA;AACA;AACA;AACA;;AAEA","sources":["webpack://posthog/./frontend/src/lib/components/ReverseProxyChecker/reverseProxyCheckerLogic.ts","webpack://posthog/./frontend/src/lib/components/Alerts/views/EditAlertModal.tsx","webpack://posthog/./frontend/src/lib/components/AuthorizedUrlList/authorizedUrlListLogic.ts","webpack://posthog/./frontend/src/lib/components/JSSnippet.tsx","webpack://posthog/./frontend/src/lib/components/Metalytics/metalyticsLogic.ts","webpack://posthog/./frontend/src/lib/components/Support/SupportForm.tsx","webpack://posthog/./frontend/src/lib/components/Support/supportLogic.ts","webpack://posthog/./frontend/src/lib/components/VersionChecker/versionCheckerLogic.ts","webpack://posthog/./frontend/src/lib/lemon-ui/LemonTextArea/LemonTextAreaMarkdown.tsx","webpack://posthog/./frontend/src/queries/examples.ts","webpack://posthog/./frontend/src/scenes/paths/renderPaths.ts","webpack://posthog/./frontend/src/scenes/billing/billingLogic.tsx","webpack://posthog/./frontend/src/scenes/early-access-features/InstructionsModal.tsx","webpack://posthog/./frontend/src/scenes/feature-flags/FeatureFlagSnippets.tsx","webpack://posthog/./frontend/src/scenes/notebooks/Nodes/NotebookNodeReplayTimestamp.tsx","webpack://posthog/./frontend/src/scenes/notebooks/Notebook/SlashCommands.tsx","webpack://posthog/./ee/frontend/mobile-replay/transformer/transformers.ts","webpack://posthog/./frontend/src/scenes/session-recordings/player/sessionRecordingDataLogic.ts","webpack://posthog/./frontend/src/scenes/session-recordings/playlist/sessionRecordingsListPropertiesLogic.ts","webpack://posthog/./frontend/src/scenes/settings/organization/VerifiedDomains/ConfigureSAMLModal.tsx","webpack://posthog/./frontend/src/scenes/settings/environment/ManagedReverseProxy.tsx","webpack://posthog/./frontend/src/scenes/surveys/surveyLogic.tsx"],"sourcesContent":["import { afterMount, kea, path, reducers } from 'kea'\nimport { loaders } from 'kea-loaders'\nimport api from 'lib/api'\n\nimport { HogQLQuery, NodeKind } from '~/queries/schema'\nimport { hogql } from '~/queries/utils'\n\nimport type { reverseProxyCheckerLogicType } from './reverseProxyCheckerLogicType'\n\nconst CHECK_INTERVAL_MS = 1000 * 60 * 60 // 1 hour\n\nexport const reverseProxyCheckerLogic = kea([\n path(['components', 'ReverseProxyChecker', 'reverseProxyCheckerLogic']),\n loaders({\n hasReverseProxy: [\n false as boolean | null,\n {\n loadHasReverseProxy: async () => {\n const query: HogQLQuery = {\n kind: NodeKind.HogQLQuery,\n query: hogql`SELECT properties.$lib_custom_api_host AS lib_custom_api_host\n FROM events\n WHERE timestamp >= now() - INTERVAL 1 DAY \n AND timestamp <= now()\n ORDER BY timestamp DESC\n limit 10`,\n }\n\n const res = await api.query(query)\n return !!res.results?.find((x) => !!x[0])\n },\n },\n ],\n }),\n reducers({\n lastCheckedTimestamp: [\n 0,\n { persist: true },\n {\n loadHasReverseProxySuccess: () => Date.now(),\n },\n ],\n }),\n afterMount(({ actions, values }) => {\n if (values.lastCheckedTimestamp < Date.now() - CHECK_INTERVAL_MS) {\n actions.loadHasReverseProxy()\n }\n }),\n])\n","import { IconInfo } from '@posthog/icons'\nimport {\n LemonBanner,\n LemonCheckbox,\n LemonInput,\n LemonSegmentedButton,\n LemonSelect,\n SpinnerOverlay,\n Tooltip,\n} from '@posthog/lemon-ui'\nimport { useActions, useValues } from 'kea'\nimport { Form, Group } from 'kea-forms'\nimport { AlertStateIndicator } from 'lib/components/Alerts/views/ManageAlertsModal'\nimport { MemberSelectMultiple } from 'lib/components/MemberSelectMultiple'\nimport { TZLabel } from 'lib/components/TZLabel'\nimport { UserActivityIndicator } from 'lib/components/UserActivityIndicator/UserActivityIndicator'\nimport { dayjs } from 'lib/dayjs'\nimport { IconChevronLeft } from 'lib/lemon-ui/icons'\nimport { LemonButton } from 'lib/lemon-ui/LemonButton'\nimport { LemonField } from 'lib/lemon-ui/LemonField'\nimport { LemonModal } from 'lib/lemon-ui/LemonModal'\nimport { alphabet, formatDate } from 'lib/utils'\nimport { useCallback } from 'react'\nimport { trendsDataLogic } from 'scenes/trends/trendsDataLogic'\n\nimport { AlertCalculationInterval, AlertConditionType, AlertState, InsightThresholdType } from '~/queries/schema'\nimport { InsightShortId, QueryBasedInsightModel } from '~/types'\n\nimport { alertFormLogic, canCheckOngoingInterval } from '../alertFormLogic'\nimport { alertLogic } from '../alertLogic'\nimport { SnoozeButton } from '../SnoozeButton'\nimport { AlertType } from '../types'\n\nexport function AlertStateTable({ alert }: { alert: AlertType }): JSX.Element | null {\n if (!alert.checks || alert.checks.length === 0) {\n return null\n }\n\n return (\n
\n
\n

Current status:

\n \n

\n {alert.snoozed_until && ` until ${formatDate(dayjs(alert?.snoozed_until), 'MMM D, HH:mm')}`}\n

\n
\n \n \n \n \n \n \n \n \n \n \n {alert.checks.map((check) => (\n \n \n \n \n \n \n ))}\n \n
StatusTimeValueTargets notified
{check.state}\n \n {check.calculated_value}{check.targets_notified ? 'Yes' : 'No'}
\n
\n )\n}\n\ninterface EditAlertModalProps {\n isOpen: boolean | undefined\n alertId?: AlertType['id']\n insightId: QueryBasedInsightModel['id']\n insightShortId: InsightShortId\n onEditSuccess: () => void\n onClose?: () => void\n}\n\nexport function EditAlertModal({\n isOpen,\n alertId,\n insightId,\n insightShortId,\n onClose,\n onEditSuccess,\n}: EditAlertModalProps): JSX.Element {\n const _alertLogic = alertLogic({ alertId })\n const { alert, alertLoading } = useValues(_alertLogic)\n const { loadAlert } = useActions(_alertLogic)\n\n // need to reload edited alert as well\n const _onEditSuccess = useCallback(() => {\n loadAlert()\n onEditSuccess()\n }, [loadAlert, onEditSuccess])\n\n const formLogicProps = { alert, insightId, onEditSuccess: _onEditSuccess }\n const formLogic = alertFormLogic(formLogicProps)\n const { alertForm, isAlertFormSubmitting, alertFormChanged } = useValues(formLogic)\n const { deleteAlert, snoozeAlert, clearSnooze } = useActions(formLogic)\n const { setAlertFormValue } = useActions(formLogic)\n\n const trendsLogic = trendsDataLogic({ dashboardItemId: insightShortId })\n const { alertSeries, isNonTimeSeriesDisplay, isBreakdownValid, formula } = useValues(trendsLogic)\n\n const creatingNewAlert = alertForm.id === undefined\n // can only check ongoing interval for absolute value/increase alerts with upper threshold\n const can_check_ongoing_interval = canCheckOngoingInterval(alertForm)\n\n return (\n \n {alertLoading ? (\n \n ) : (\n \n \n
\n } onClick={onClose} size=\"xsmall\" />\n\n

{creatingNewAlert ? 'New' : 'Edit '} Alert

\n
\n
\n\n \n
\n
\n
\n \n \n \n \n \n \n
\n {alert?.created_by ? (\n \n ) : null}\n
\n\n
\n

Definition

\n
\n {isBreakdownValid && (\n \n For trends with breakdown, the alert will fire if any of the breakdown\n values breaches the threshold.\n \n )}\n
\n
When
\n \n \n ({\n label: isBreakdownValid\n ? 'any breakdown value'\n : formula\n ? `Formula (${formula})`\n : `${alphabet[index]} - ${\n custom_name ?? name ?? event\n }`,\n value: isBreakdownValid || formula ? 0 : index,\n })\n )}\n disabledReason={\n (isBreakdownValid &&\n `For trends with breakdown, the alert will fire if any of the breakdown\n values breaches the threshold.`) ||\n (formula &&\n `When using formula mode, can only alert on formula value`)\n }\n />\n \n \n \n \n \n \n \n
\n
\n
less than
\n \n \n setAlertFormValue('threshold', {\n configuration: {\n type: alertForm.threshold.configuration.type,\n bounds: {\n ...alertForm.threshold.configuration.bounds,\n lower:\n value &&\n alertForm.threshold.configuration.type ===\n InsightThresholdType.PERCENTAGE\n ? value / 100\n : value,\n },\n },\n })\n }\n />\n \n
or more than
\n \n \n setAlertFormValue('threshold', {\n configuration: {\n type: alertForm.threshold.configuration.type,\n bounds: {\n ...alertForm.threshold.configuration.bounds,\n upper:\n value &&\n alertForm.threshold.configuration.type ===\n InsightThresholdType.PERCENTAGE\n ? value / 100\n : value,\n },\n },\n })\n }\n />\n \n {alertForm.condition.type !== AlertConditionType.ABSOLUTE_VALUE && (\n \n \n \n \n \n )}\n
\n
\n
\n {alertForm.condition.type === AlertConditionType.ABSOLUTE_VALUE\n ? 'check'\n : 'compare'}\n
\n \n ({\n label: interval,\n value: interval,\n }))}\n />\n \n
and notify
\n
\n u.id) ?? []}\n idKey=\"id\"\n onChange={(value) => setAlertFormValue('subscribed_users', value)}\n />\n
\n
\n
\n
\n\n
\n

Advanced

\n \n
\n \n \n \n \n \n \n
\n
\n \n \n \n
\n
\n\n {alert && }\n
\n\n \n
\n
\n {!creatingNewAlert ? (\n \n Delete alert\n \n ) : null}\n {!creatingNewAlert && alert?.state === AlertState.FIRING ? (\n \n ) : null}\n {!creatingNewAlert && alert?.state === AlertState.SNOOZED ? (\n \n Clear snooze\n \n ) : null}\n
\n
\n \n {creatingNewAlert ? 'Create alert' : 'Save'}\n \n
\n \n )}\n
\n )\n}\n","import Fuse from 'fuse.js'\nimport {\n actions,\n afterMount,\n connect,\n kea,\n key,\n listeners,\n path,\n props,\n reducers,\n selectors,\n sharedListeners,\n} from 'kea'\nimport { forms } from 'kea-forms'\nimport { loaders } from 'kea-loaders'\nimport { encodeParams, urlToAction } from 'kea-router'\nimport { subscriptions } from 'kea-subscriptions'\nimport api from 'lib/api'\nimport { isDomain, isURL } from 'lib/utils'\nimport { apiHostOrigin } from 'lib/utils/apiHost'\nimport { teamLogic } from 'scenes/teamLogic'\nimport { urls } from 'scenes/urls'\n\nimport { HogQLQuery, NodeKind } from '~/queries/schema'\nimport { hogql } from '~/queries/utils'\nimport { ExperimentIdType, ToolbarParams, ToolbarUserIntent } from '~/types'\n\nimport type { authorizedUrlListLogicType } from './authorizedUrlListLogicType'\n\nexport interface ProposeNewUrlFormType {\n url: string\n}\n\nexport enum AuthorizedUrlListType {\n TOOLBAR_URLS = 'TOOLBAR_URLS',\n RECORDING_DOMAINS = 'RECORDING_DOMAINS',\n WEB_EXPERIMENTS = 'WEB_EXPERIMENTS',\n}\n\n/**\n * Firefox does not allow you construct a new URL with e.g. https://*.example.com (which is to be fair more standards compliant than Chrome)\n * when used to probe for e.g. for authorized urls we only care if the proposed URL has a path so we can safely replace the wildcard with a character\n * NB this changes its input and shouldn't be used for general purpose URL parsing\n */\nexport function sanitizePossibleWildCardedURL(url: string): URL {\n const deWildCardedURL = url.replace(/\\*/g, 'x')\n return new URL(deWildCardedURL)\n}\n\n/**\n * Checks if the URL has a wildcard (*) in the port position e.g. http://localhost:*\n */\nexport function hasPortWildcard(input: unknown): boolean {\n if (!input || typeof input !== 'string') {\n return false\n }\n // This regex matches URLs with a wildcard (*) in the port position\n const portWildcardRegex = /^(https?:\\/\\/[^:/]+):\\*(.*)$/\n return portWildcardRegex.test(input.trim())\n}\n\nexport const validateProposedUrl = (\n proposedUrl: string,\n currentUrls: string[],\n onlyAllowDomains: boolean = false\n): string | undefined => {\n if (!isURL(proposedUrl)) {\n return 'Please enter a valid URL'\n }\n\n if (hasPortWildcard(proposedUrl)) {\n return 'Wildcards are not allowed in the port position'\n }\n\n if (onlyAllowDomains && !isDomain(sanitizePossibleWildCardedURL(proposedUrl))) {\n return \"Please enter a valid domain (URLs with a path aren't allowed)\"\n }\n\n if (proposedUrl.indexOf('*') > -1 && !proposedUrl.match(/^(.*)\\*[^*]*\\.[^*]+\\.[^*]+$/)) {\n return 'Wildcards can only be used for subdomains'\n }\n\n if (currentUrls.indexOf(proposedUrl) > -1) {\n return `This ${onlyAllowDomains ? 'domains' : 'URL'} already is registered`\n }\n\n return\n}\n\n/** defaultIntent: whether to launch with empty intent (i.e. toolbar mode is default) */\nexport function appEditorUrl(\n appUrl: string,\n options?: { actionId?: number | null; experimentId?: ExperimentIdType; userIntent?: ToolbarUserIntent }\n): string {\n // See https://github.com/PostHog/posthog-js/blob/f7119c/src/extensions/toolbar.ts#L52 for where these params\n // are passed. `appUrl` is an extra `redirect_to_site` param.\n const params: ToolbarParams & { appUrl: string } = {\n userIntent:\n options?.userIntent ??\n (options?.actionId ? 'edit-action' : options?.experimentId ? 'edit-experiment' : 'add-action'),\n // Make sure to pass the app url, otherwise the api_host will be used by\n // the toolbar, which isn't correct when used behind a reverse proxy as\n // we require e.g. SSO login to the app, which will not work when placed\n // behind a proxy unless we register each domain with the OAuth2 client.\n apiURL: apiHostOrigin(),\n appUrl,\n ...(options?.actionId ? { actionId: options.actionId } : {}),\n ...(options?.experimentId ? { experimentId: options.experimentId } : {}),\n }\n return '/api/user/redirect_to_site/' + encodeParams(params, '?')\n}\n\nexport const checkUrlIsAuthorized = (url: string | URL, authorizedUrls: string[]): boolean => {\n try {\n const parsedUrl = typeof url === 'string' ? sanitizePossibleWildCardedURL(url) : url\n const urlWithoutPath = parsedUrl.protocol + '//' + parsedUrl.host\n // Is this domain already in the list of urls?\n const exactMatch =\n authorizedUrls.filter((authorizedUrl) => authorizedUrl.indexOf(urlWithoutPath) > -1).length > 0\n\n if (exactMatch) {\n return true\n }\n\n const wildcardMatch = !!authorizedUrls.find((authorizedUrl) => {\n // Matches something like `https://*.example.com` against the urlWithoutPath\n const regex = new RegExp(authorizedUrl.replace(/\\./g, '\\\\.').replace(/\\*/g, '.*'))\n return urlWithoutPath.match(regex)\n })\n\n if (wildcardMatch) {\n return true\n }\n } catch (error) {\n // Ignore invalid URLs\n }\n\n return false\n}\n\nexport interface SuggestedDomain {\n url: string\n count: number\n}\n\nexport const filterNotAuthorizedUrls = (\n suggestions: SuggestedDomain[],\n authorizedUrls: string[]\n): SuggestedDomain[] => {\n const suggestedDomains: SuggestedDomain[] = []\n\n suggestions.forEach(({ url, count }) => {\n const parsedUrl = sanitizePossibleWildCardedURL(url)\n const urlWithoutPath = parsedUrl.protocol + '//' + parsedUrl.host\n // Have we already added this domain?\n if (suggestedDomains.some((sd) => sd.url === urlWithoutPath)) {\n return\n }\n\n if (!checkUrlIsAuthorized(parsedUrl, authorizedUrls)) {\n suggestedDomains.push({ url: urlWithoutPath, count })\n }\n })\n\n return suggestedDomains\n}\n\nexport const NEW_URL = 'https://'\n\nexport interface KeyedAppUrl {\n url: string\n type: 'authorized' | 'suggestion'\n originalIndex: number\n // how many seen in the last three days\n count?: number\n}\n\nexport interface AuthorizedUrlListLogicProps {\n actionId: number | null\n experimentId: ExperimentIdType | null\n type: AuthorizedUrlListType\n query: string | null | undefined\n}\n\nexport const defaultAuthorizedUrlProperties = {\n actionId: null,\n experimentId: null,\n query: null,\n}\n\nexport const authorizedUrlListLogic = kea([\n path((key) => ['lib', 'components', 'AuthorizedUrlList', 'authorizedUrlListLogic', key]),\n key((props) => (props.experimentId ? `${props.type}-${props.experimentId}` : `${props.type}-${props.actionId}`)),\n props({} as AuthorizedUrlListLogicProps),\n connect({\n values: [teamLogic, ['currentTeam', 'currentTeamId']],\n actions: [teamLogic, ['updateCurrentTeam']],\n }),\n actions(() => ({\n setAuthorizedUrls: (authorizedUrls: string[]) => ({ authorizedUrls }),\n addUrl: (url: string, launch?: boolean) => ({ url, launch }),\n newUrl: true,\n removeUrl: (index: number) => ({ index }),\n updateUrl: (index: number, url: string) => ({ index, url }),\n launchAtUrl: (url: string) => ({ url }),\n setSearchTerm: (term: string) => ({ term }),\n setEditUrlIndex: (originalIndex: number | null) => ({ originalIndex }),\n cancelProposingUrl: true,\n })),\n loaders(({ values }) => ({\n suggestions: {\n __default: [] as SuggestedDomain[],\n loadSuggestions: async () => {\n const query: HogQLQuery = {\n kind: NodeKind.HogQLQuery,\n query: hogql`select properties.$current_url, count()\n from events\n where event = '$pageview'\n and timestamp >= now() - interval 3 day \n and timestamp <= now()\n group by properties.$current_url\n order by count() desc\n limit 25`,\n }\n\n const response = await api.query(query)\n const result = response.results as [string, number][]\n\n if (result && result.length === 0) {\n return []\n }\n\n const suggestedDomains = filterNotAuthorizedUrls(\n result.map(([url, count]) => ({ url, count })),\n values.authorizedUrls\n )\n\n return suggestedDomains.slice(0, 20)\n },\n },\n })),\n subscriptions(({ props, actions }) => ({\n currentTeam: (currentTeam) => {\n actions.setAuthorizedUrls(\n (props.type === AuthorizedUrlListType.RECORDING_DOMAINS\n ? currentTeam.recording_domains\n : currentTeam.app_urls) || []\n )\n },\n })),\n afterMount(({ actions }) => {\n actions.loadSuggestions()\n }),\n forms(({ values, actions }) => ({\n proposedUrl: {\n defaults: { url: '' } as ProposeNewUrlFormType,\n errors: ({ url }) => ({\n url: validateProposedUrl(url, values.authorizedUrls, values.onlyAllowDomains),\n }),\n submit: async ({ url }) => {\n if (values.editUrlIndex !== null && values.editUrlIndex >= 0) {\n actions.updateUrl(values.editUrlIndex, url)\n } else {\n actions.addUrl(url)\n }\n },\n },\n })),\n reducers(() => ({\n showProposedURLForm: [\n false as boolean,\n {\n newUrl: () => true,\n submitProposedUrlSuccess: () => false,\n cancelProposingUrl: () => false,\n },\n ],\n authorizedUrls: [\n [] as string[],\n {\n setAuthorizedUrls: (_, { authorizedUrls }) => authorizedUrls,\n addUrl: (state, { url }) => (!state.includes(url) ? state.concat([url]) : state),\n updateUrl: (state, { index, url }) => Object.assign([...state], { [index]: url }),\n removeUrl: (state, { index }) => {\n const newUrls = [...state]\n newUrls.splice(index, 1)\n return newUrls\n },\n },\n ],\n suggestions: [\n [],\n {\n addUrl: (state, { url }) => [...state].filter((sd) => url !== sd.url),\n },\n ],\n searchTerm: [\n '',\n {\n setSearchTerm: (_, { term }) => term,\n },\n ],\n editUrlIndex: [\n null as number | null,\n {\n setEditUrlIndex: (_, { originalIndex }) => originalIndex,\n removeUrl: (editUrlIndex, { index }) =>\n editUrlIndex && index < editUrlIndex\n ? editUrlIndex - 1\n : index === editUrlIndex\n ? null\n : editUrlIndex,\n newUrl: () => -1,\n updateUrl: () => null,\n addUrl: () => null,\n cancelProposingUrl: () => null,\n },\n ],\n })),\n sharedListeners(({ values, props }) => ({\n saveUrls: async () => {\n if (props.type === AuthorizedUrlListType.RECORDING_DOMAINS) {\n await teamLogic.asyncActions.updateCurrentTeam({ recording_domains: values.authorizedUrls })\n } else {\n await teamLogic.asyncActions.updateCurrentTeam({ app_urls: values.authorizedUrls })\n }\n },\n })),\n listeners(({ sharedListeners, values, actions }) => ({\n setEditUrlIndex: () => {\n actions.setProposedUrlValue('url', values.urlToEdit)\n },\n newUrl: () => {\n actions.setProposedUrlValue('url', NEW_URL)\n },\n addUrl: [\n sharedListeners.saveUrls,\n ({ url, launch }) => {\n if (launch) {\n actions.launchAtUrl(url)\n }\n },\n ],\n removeUrl: sharedListeners.saveUrls,\n updateUrl: sharedListeners.saveUrls,\n launchAtUrl: ({ url }) => {\n window.location.href = values.launchUrl(url)\n },\n cancelProposingUrl: () => {\n actions.resetProposedUrl()\n },\n submitProposedUrlSuccess: () => {\n actions.setEditUrlIndex(null)\n actions.resetProposedUrl()\n },\n })),\n selectors({\n urlToEdit: [\n (s) => [s.authorizedUrls, s.editUrlIndex],\n (authorizedUrls, editUrlIndex) => {\n if (editUrlIndex === null || editUrlIndex === -1) {\n return NEW_URL\n }\n return authorizedUrls[editUrlIndex]\n },\n ],\n urlsKeyed: [\n (s) => [s.authorizedUrls, s.suggestions, s.searchTerm],\n (authorizedUrls, suggestions, searchTerm): KeyedAppUrl[] => {\n const keyedUrls = authorizedUrls\n .map((url, index) => ({\n url,\n type: 'authorized',\n originalIndex: index,\n }))\n .concat(\n suggestions.map(({ url, count }, index) => ({\n url,\n type: 'suggestion',\n originalIndex: index,\n count,\n }))\n ) as KeyedAppUrl[]\n\n if (!searchTerm) {\n return keyedUrls\n }\n\n return new Fuse(keyedUrls, {\n keys: ['url'],\n threshold: 0.3,\n })\n .search(searchTerm)\n .map((result) => result.item)\n },\n ],\n launchUrl: [\n (_, p) => [p.actionId, p.experimentId],\n (actionId, experimentId) => (url: string) => {\n if (experimentId) {\n return appEditorUrl(url, {\n experimentId,\n })\n }\n\n return appEditorUrl(url, {\n actionId,\n })\n },\n ],\n isAddUrlFormVisible: [(s) => [s.editUrlIndex], (editUrlIndex) => editUrlIndex === -1],\n onlyAllowDomains: [(_, p) => [p.type], (type) => type === AuthorizedUrlListType.RECORDING_DOMAINS],\n\n checkUrlIsAuthorized: [\n (s) => [s.authorizedUrls],\n (authorizedUrls) => (url: string) => {\n return checkUrlIsAuthorized(url, authorizedUrls)\n },\n ],\n }),\n urlToAction(({ actions }) => ({\n [urls.toolbarLaunch()]: (_, searchParams) => {\n if (searchParams.addNew) {\n actions.newUrl()\n }\n },\n })),\n])\n","import { useValues } from 'kea'\nimport { CodeSnippet, Language } from 'lib/components/CodeSnippet'\nimport { FEATURE_FLAGS } from 'lib/constants'\nimport { featureFlagLogic } from 'lib/logic/featureFlagLogic'\nimport { apiHostOrigin } from 'lib/utils/apiHost'\nimport posthog from 'posthog-js'\nimport { teamLogic } from 'scenes/teamLogic'\n\nfunction snippetFunctions(arrayJs = '/static/array.js'): string {\n const methods: string[] = []\n const posthogPrototype = Object.getPrototypeOf(posthog)\n for (const key of Object.getOwnPropertyNames(posthogPrototype)) {\n if (\n typeof posthogPrototype[key] === 'function' &&\n !key.startsWith('_') &&\n !['constructor', 'toString', 'push'].includes(key)\n ) {\n methods.push(key)\n }\n }\n const snippetMethods = methods.join(' ')\n\n return `!function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(\".\");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement(\"script\")).type=\"text/javascript\",p.crossOrigin=\"anonymous\",p.async=!0,p.src=s.api_host.replace(\".i.posthog.com\",\"-assets.i.posthog.com\")+\"${arrayJs}\",(r=t.getElementsByTagName(\"script\")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a=\"posthog\",u.people=u.people||[],u.toString=function(t){var e=\"posthog\";return\"posthog\"!==a&&(e+=\".\"+a),t||(e+=\" (stub)\"),e},u.people.toString=function(){return u.toString(1)+\".people (stub)\"},o=\"${snippetMethods}\".split(\" \"),n=0;n',\n ` ${snippetFunctions(arrayJs)}`,\n ` posthog.init('${currentTeam?.api_token}', {\n api_host:'${apiHostOrigin()}'${\n isPersonProfilesDisabled\n ? ``\n : `,\\n person_profiles: 'identified_only' // or 'always' to create profiles for anonymous users as well`\n }\n })`,\n '',\n ]\n .map((x) => ' '.repeat(indent) + x)\n .join('\\n')\n}\n\nexport function JSSnippet(): JSX.Element {\n const snippet = useJsSnippet()\n\n return {snippet}\n}\n\nexport function JSSnippetV2(): JSX.Element {\n const { currentTeam } = useValues(teamLogic)\n\n const snippet = useJsSnippet(0, `/array/${currentTeam?.api_token}/array.js`)\n\n return {snippet}\n}\n","import { connect, kea, path, selectors } from 'kea'\nimport { loaders } from 'kea-loaders'\nimport { subscriptions } from 'kea-subscriptions'\nimport api from 'lib/api'\nimport { membersLogic } from 'scenes/organization/membersLogic'\n\nimport { sidePanelContextLogic } from '~/layout/navigation-3000/sidepanel/panels/sidePanelContextLogic'\nimport { SidePanelSceneContext } from '~/layout/navigation-3000/sidepanel/types'\nimport { HogQLQuery, NodeKind } from '~/queries/schema'\nimport { hogql } from '~/queries/utils'\n\nimport type { metalyticsLogicType } from './metalyticsLogicType'\n\nexport const metalyticsLogic = kea([\n path(['lib', 'components', 'metalytics', 'metalyticsLogic']),\n connect({\n values: [sidePanelContextLogic, ['sceneSidePanelContext'], membersLogic, ['members']],\n }),\n\n loaders(({ values }) => ({\n viewCount: [\n null as { views: number; users: number } | null,\n {\n loadViewCount: async () => {\n const query: HogQLQuery = {\n kind: NodeKind.HogQLQuery,\n query: hogql`SELECT SUM(count) AS count, COUNT(DISTINCT app_source_id) AS unique_users\n FROM app_metrics\n WHERE app_source = 'metalytics'\n AND instance_id = ${values.instanceId}`,\n }\n\n // NOTE: I think this gets cached heavily - how to correctly invalidate?\n const response = await api.query(query, undefined, undefined, true)\n const result = response.results as number[][]\n return {\n views: result[0][0],\n users: result[0][1],\n }\n },\n },\n ],\n recentUsers: [\n [] as string[],\n {\n loadUsersLast30days: async () => {\n const query: HogQLQuery = {\n kind: NodeKind.HogQLQuery,\n query: hogql`SELECT DISTINCT app_source_id\n FROM app_metrics\n WHERE app_source = 'metalytics'\n AND instance_id = ${values.instanceId}\n AND timestamp >= NOW() - INTERVAL 30 DAY\n ORDER BY timestamp DESC`,\n }\n\n const response = await api.query(query, undefined, undefined, true)\n return response.results.map((result) => result[0]) as string[]\n },\n },\n ],\n })),\n\n selectors({\n instanceId: [\n (s) => [s.sceneSidePanelContext],\n (sidePanelContext: SidePanelSceneContext) =>\n sidePanelContext?.activity_item_id\n ? `${sidePanelContext.activity_scope}:${sidePanelContext.activity_item_id}`\n : null,\n ],\n scope: [\n (s) => [s.sceneSidePanelContext],\n (sidePanelContext: SidePanelSceneContext) => sidePanelContext?.activity_scope,\n ],\n\n recentUserMembers: [\n (s) => [s.recentUsers, s.members],\n (recentUsers, members) => {\n if (!members || !recentUsers) {\n return []\n }\n // Filter members whose IDs match the recentUsers array\n const filteredMembers = members.filter((member) => recentUsers.includes(String(member.user.id)))\n return filteredMembers\n },\n ],\n }),\n\n subscriptions(({ actions }) => ({\n instanceId: async (instanceId) => {\n if (instanceId) {\n actions.loadViewCount()\n actions.loadUsersLast30days()\n\n await api.create('/api/projects/@current/metalytics/', {\n metric_name: 'viewed',\n instance_id: instanceId,\n })\n }\n },\n })),\n])\n","import { IconBug, IconInfo, IconQuestion } from '@posthog/icons'\nimport {\n LemonInput,\n LemonSegmentedButton,\n LemonSegmentedButtonOption,\n lemonToast,\n Link,\n Tooltip,\n} from '@posthog/lemon-ui'\nimport { useActions, useValues } from 'kea'\nimport { Form } from 'kea-forms'\nimport { useUploadFiles } from 'lib/hooks/useUploadFiles'\nimport { IconFeedback } from 'lib/lemon-ui/icons'\nimport { LemonField } from 'lib/lemon-ui/LemonField'\nimport { LemonFileInput } from 'lib/lemon-ui/LemonFileInput/LemonFileInput'\nimport { LemonSelect } from 'lib/lemon-ui/LemonSelect/LemonSelect'\nimport { LemonTextArea } from 'lib/lemon-ui/LemonTextArea/LemonTextArea'\nimport { useRef } from 'react'\nimport { preflightLogic } from 'scenes/PreflightCheck/preflightLogic'\nimport { userLogic } from 'scenes/userLogic'\n\nimport {\n SEVERITY_LEVEL_TO_NAME,\n SUPPORT_TICKET_TEMPLATES,\n supportLogic,\n SupportTicketKind,\n TARGET_AREA_TO_NAME,\n} from './supportLogic'\n\nconst SUPPORT_TICKET_OPTIONS: LemonSegmentedButtonOption[] = [\n {\n value: 'support',\n label: 'Question',\n icon: ,\n },\n {\n value: 'feedback',\n label: 'Feedback',\n icon: ,\n },\n {\n value: 'bug',\n label: 'Bug',\n icon: ,\n },\n]\n\nconst SUPPORT_TICKET_KIND_TO_PROMPT: Record = {\n bug: \"What's the bug?\",\n feedback: 'What feedback do you have?',\n support: 'What can we help you with?',\n}\n\nexport function SupportForm(): JSX.Element | null {\n const { sendSupportRequest } = useValues(supportLogic)\n const { setSendSupportRequestValue } = useActions(supportLogic)\n const { objectStorageAvailable } = useValues(preflightLogic)\n // the support model can be shown when logged out, file upload is not offered to anonymous users\n const { user } = useValues(userLogic)\n // only allow authentication issues for logged out users\n\n const dropRef = useRef(null)\n\n const { setFilesToUpload, filesToUpload, uploading } = useUploadFiles({\n onUpload: (url, fileName) => {\n setSendSupportRequestValue('message', sendSupportRequest.message + `\\n\\nAttachment \"${fileName}\": ${url}`)\n },\n onError: (detail) => {\n lemonToast.error(`Error uploading image: ${detail}`)\n },\n })\n\n const changeKind = (kind: SupportTicketKind): void => {\n setSendSupportRequestValue('kind', kind)\n if (kind === 'bug') {\n setSendSupportRequestValue('severity_level', 'medium')\n } else {\n setSendSupportRequestValue('severity_level', 'low')\n }\n }\n\n return (\n \n {!user && (\n <>\n \n \n \n \n \n \n \n )}\n \n \n \n \n \n \n \n {(props) => (\n
\n \n {objectStorageAvailable && !!user && (\n \n )}\n
\n )}\n \n
\n
\n \n \n Definitions\n \n
\n \n ({\n label: value,\n value: key,\n }))}\n />\n \n
\n \n )\n}\n","import { captureException } from '@sentry/react'\nimport * as Sentry from '@sentry/react'\nimport { actions, connect, kea, listeners, path, props, reducers, selectors } from 'kea'\nimport { forms } from 'kea-forms'\nimport { urlToAction } from 'kea-router'\nimport { lemonToast } from 'lib/lemon-ui/LemonToast/LemonToast'\nimport { uuid } from 'lib/utils'\nimport posthog from 'posthog-js'\nimport { organizationLogic } from 'scenes/organizationLogic'\nimport { preflightLogic } from 'scenes/PreflightCheck/preflightLogic'\nimport { teamLogic } from 'scenes/teamLogic'\nimport { userLogic } from 'scenes/userLogic'\n\nimport { sidePanelStateLogic } from '~/layout/navigation-3000/sidepanel/sidePanelStateLogic'\nimport { AvailableFeature, OrganizationBasicType, Region, SidePanelTab, TeamPublicType, UserType } from '~/types'\n\nimport type { supportLogicType } from './supportLogicType'\nimport { openSupportModal } from './SupportModal'\n\nexport function getPublicSupportSnippet(\n cloudRegion: Region | null | undefined,\n currentOrganization: OrganizationBasicType | null,\n currentTeam: TeamPublicType | null,\n includeCurrentLocation = true\n): string {\n if (!cloudRegion) {\n return ''\n }\n return (\n (includeCurrentLocation ? getCurrentLocationLink() : '') +\n getSessionReplayLink() +\n `\\nAdmin: http://go/adminOrg${cloudRegion}/${currentOrganization?.id} (project ID ${currentTeam?.id})` +\n getSentryLink(cloudRegion, currentTeam)\n ).trimStart()\n}\n\nfunction getCurrentLocationLink(): string {\n const cleanedCurrentUrl = window.location.href.replace(/panel=support[^&]*(&)?/, '').replace(/#$/, '')\n return `\\nLocation: ${cleanedCurrentUrl}`\n}\n\nfunction getSessionReplayLink(): string {\n const replayUrl = posthog\n .get_session_replay_url({ withTimestamp: true, timestampLookBack: 30 })\n .replace(window.location.origin + '/replay/', 'http://go/session/')\n return `\\nSession: ${replayUrl}`\n}\n\nfunction getErrorTrackingLink(): string {\n const filterGroup = encodeURIComponent(\n JSON.stringify({\n type: 'AND',\n values: [\n {\n type: 'AND',\n values: [\n {\n key: '$session_id',\n value: [posthog.get_session_id()],\n operator: 'exact',\n type: 'event',\n },\n ],\n },\n ],\n })\n )\n\n return `\\nExceptions: https://us.posthog.com/project/2/error_tracking?filterGroup=${filterGroup}`\n}\n\nfunction getDjangoAdminLink(\n user: UserType | null,\n cloudRegion: Region | null | undefined,\n currentOrganization: OrganizationBasicType | null,\n currentTeam: TeamPublicType | null\n): string {\n if (!user || !cloudRegion) {\n return ''\n }\n const link = `http://go/admin${cloudRegion}/${user.email}`\n return `\\nAdmin: ${link} (organization ID ${currentOrganization?.id}: ${currentOrganization?.name}, project ID ${currentTeam?.id}: ${currentTeam?.name})`\n}\n\nfunction getBillingAdminLink(currentOrganization: OrganizationBasicType | null): string {\n if (!currentOrganization) {\n return ''\n }\n return `\\nBilling admin: http://go/billing/${currentOrganization.id}`\n}\n\nfunction getSentryLink(cloudRegion: Region | null | undefined, currentTeam: TeamPublicType | null): string {\n if (!cloudRegion || !currentTeam) {\n return ''\n }\n return `\\nSentry: http://go/sentry${cloudRegion}/${currentTeam.id}`\n}\n\nconst SUPPORT_TICKET_KIND_TO_TITLE: Record = {\n support: 'Contact support',\n feedback: 'Give feedback',\n bug: 'Report a bug',\n}\n\nexport const TARGET_AREA_TO_NAME = [\n {\n title: 'General',\n options: [\n {\n value: 'apps',\n 'data-attr': `support-form-target-area-apps`,\n label: 'Data pipelines',\n },\n {\n value: 'login',\n 'data-attr': `support-form-target-area-login`,\n label: 'Authentication (incl. login, sign-up, invites)',\n },\n {\n value: 'billing',\n 'data-attr': `support-form-target-area-billing`,\n label: 'Billing',\n },\n {\n value: 'onboarding',\n 'data-attr': `support-form-target-area-onboarding`,\n label: 'Onboarding',\n },\n {\n value: 'sdk',\n 'data-attr': `support-form-target-area-onboarding`,\n label: 'SDK / Implementation',\n },\n {\n value: 'cohorts',\n 'data-attr': `support-form-target-area-cohorts`,\n label: 'Cohorts',\n },\n {\n value: 'data_management',\n 'data-attr': `support-form-target-area-data_management`,\n label: 'Data management (incl. events, actions, properties)',\n },\n {\n value: 'notebooks',\n 'data-attr': `support-form-target-area-notebooks`,\n label: 'Notebooks',\n },\n {\n value: 'mobile',\n 'data-attr': `support-form-target-area-mobile`,\n label: 'Mobile',\n },\n ],\n },\n {\n title: 'Individual product',\n options: [\n {\n value: 'experiments',\n 'data-attr': `support-form-target-area-experiments`,\n label: 'Experiments',\n },\n {\n value: 'data_warehouse',\n 'data-attr': `support-form-target-area-data_warehouse`,\n label: 'Data warehouse',\n },\n {\n value: 'batch_exports',\n 'data-attr': `support-form-target-area-batch-exports`,\n label: 'Batch exports',\n },\n {\n value: 'feature_flags',\n 'data-attr': `support-form-target-area-feature_flags`,\n label: 'Feature flags',\n },\n {\n value: 'analytics',\n 'data-attr': `support-form-target-area-analytics`,\n label: 'Product analytics (incl. insights, dashboards, annotations)',\n },\n {\n value: 'session_replay',\n 'data-attr': `support-form-target-area-session_replay`,\n label: 'Session replay (incl. recordings)',\n },\n {\n value: 'toolbar',\n 'data-attr': `support-form-target-area-toolbar`,\n label: 'Toolbar (incl. heatmaps)',\n },\n {\n value: 'surveys',\n 'data-attr': `support-form-target-area-surveys`,\n label: 'Surveys',\n },\n {\n value: 'web_analytics',\n 'data-attr': `support-form-target-area-web_analytics`,\n label: 'Web Analytics',\n },\n {\n value: 'error_tracking',\n 'data-attr': `support-form-target-area-error_tracking`,\n label: 'Error tracking',\n },\n ],\n },\n]\n\nexport const SEVERITY_LEVEL_TO_NAME = {\n critical: 'Outage, data loss, or data breach',\n high: 'Feature is not working at all',\n medium: 'Feature not working as expected',\n low: 'Question or feature request',\n}\n\nexport const SUPPORT_KIND_TO_SUBJECT = {\n bug: 'Bug Report',\n feedback: 'Feedback',\n support: 'Support Ticket',\n}\n\nexport type SupportTicketTargetArea =\n | 'experiments'\n | 'apps'\n | 'login'\n | 'billing'\n | 'onboarding'\n | 'cohorts'\n | 'data_management'\n | 'notebooks'\n | 'data_warehouse'\n | 'feature_flags'\n | 'analytics'\n | 'session_replay'\n | 'toolbar'\n | 'surveys'\n | 'web_analytics'\n | 'error_tracking'\nexport type SupportTicketSeverityLevel = keyof typeof SEVERITY_LEVEL_TO_NAME\nexport type SupportTicketKind = keyof typeof SUPPORT_KIND_TO_SUBJECT\n\nexport const getLabelBasedOnTargetArea = (target_area: SupportTicketTargetArea): null | string => {\n for (const category of TARGET_AREA_TO_NAME) {\n for (const option of category.options) {\n if (option.value === target_area) {\n return option.label\n }\n }\n }\n return null // Return null if the value is not found\n}\n\nexport const URL_PATH_TO_TARGET_AREA: Record = {\n insights: 'analytics',\n recordings: 'session_replay',\n replay: 'session_replay',\n dashboard: 'analytics',\n feature_flags: 'feature_flags',\n experiments: 'experiments',\n 'web-performance': 'session_replay',\n events: 'analytics',\n 'data-management': 'data_management',\n cohorts: 'cohorts',\n annotations: 'analytics',\n persons: 'analytics',\n groups: 'analytics',\n app: 'apps',\n toolbar: 'session_replay',\n warehouse: 'data_warehouse',\n surveys: 'surveys',\n web: 'web_analytics',\n}\n\nexport const SUPPORT_TICKET_TEMPLATES = {\n bug: 'Please describe the bug you saw, and how to reproduce it.\\n\\nIf the bug appeared on a specific insight or dashboard, please include a link to it.',\n feedback:\n \"If your request is due to a problem, please describe the problem as best you can.\\n\\nPlease also describe the solution you'd like to see, and any alternatives you considered.\\n\\nYou can add images below to help illustrate your request, if needed!\",\n support:\n \"Please explain as fully as possible what you're aiming to do, and what you'd like help with.\\n\\nIf your question involves an existing insight or dashboard, please include a link to it.\",\n}\n\nexport function getURLPathToTargetArea(pathname: string): SupportTicketTargetArea | null {\n const first_part = pathname.split('/')[1]\n return URL_PATH_TO_TARGET_AREA[first_part] ?? null\n}\n\nexport type SupportFormLogicProps = {\n onClose?: () => void\n}\n\nexport type SupportFormFields = {\n name: string\n email: string\n kind: SupportTicketKind\n target_area: SupportTicketTargetArea | null\n severity_level: SupportTicketSeverityLevel | null\n message: string\n isEmailFormOpen?: boolean | 'true' | 'false'\n}\n\nexport const supportLogic = kea([\n props({} as SupportFormLogicProps),\n path(['lib', 'components', 'support', 'supportLogic']),\n connect(() => ({\n values: [\n userLogic,\n ['user'],\n preflightLogic,\n ['preflight'],\n sidePanelStateLogic,\n ['sidePanelAvailable'],\n userLogic,\n ['hasAvailableFeature'],\n ],\n actions: [sidePanelStateLogic, ['openSidePanel', 'setSidePanelOptions']],\n })),\n actions(() => ({\n closeSupportForm: true,\n openSupportForm: (values: Partial) => values,\n submitZendeskTicket: (form: SupportFormFields) => form,\n updateUrlParams: true,\n openEmailForm: true,\n closeEmailForm: true,\n })),\n reducers(() => ({\n isSupportFormOpen: [\n false,\n {\n openSupportForm: () => true,\n closeSupportForm: () => false,\n },\n ],\n isEmailFormOpen: [\n false,\n {\n openEmailForm: () => true,\n closeEmailForm: () => false,\n },\n ],\n })),\n forms(({ actions, values }) => ({\n sendSupportRequest: {\n defaults: {\n name: '',\n email: '',\n kind: 'support',\n severity_level: null,\n target_area: null,\n message: '',\n } as SupportFormFields,\n errors: ({ name, email, message, kind, target_area, severity_level }) => {\n return {\n name: !values.user ? (!name ? 'Please enter your name' : '') : '',\n email: !values.user ? (!email ? 'Please enter your email' : '') : '',\n message: !message ? 'Please enter a message' : '',\n kind: !kind ? 'Please choose' : undefined,\n severity_level: !severity_level ? 'Please choose' : undefined,\n target_area: !target_area ? 'Please choose' : undefined,\n }\n },\n submit: async (formValues) => {\n // name must be present for zendesk to accept the ticket\n formValues.name = values.user?.first_name ?? formValues.name ?? 'name not set'\n formValues.email = values.user?.email ?? formValues.email ?? ''\n actions.submitZendeskTicket(formValues)\n actions.closeSupportForm()\n actions.resetSendSupportRequest()\n },\n },\n })),\n selectors({\n title: [\n (s) => [s.sendSupportRequest ?? null],\n (sendSupportRequest) =>\n sendSupportRequest.kind\n ? SUPPORT_TICKET_KIND_TO_TITLE[sendSupportRequest.kind]\n : 'Leave a message with PostHog',\n ],\n }),\n listeners(({ actions, props, values }) => ({\n updateUrlParams: async () => {\n const panelOptions = [\n values.sendSupportRequest.kind ?? '',\n values.sendSupportRequest.target_area ?? '',\n values.sendSupportRequest.severity_level ?? '',\n values.isEmailFormOpen ?? 'false',\n ].join(':')\n\n if (panelOptions !== ':') {\n actions.setSidePanelOptions(panelOptions)\n }\n },\n openSupportForm: async ({ name, email, isEmailFormOpen, kind, target_area, severity_level, message }) => {\n let area = target_area ?? getURLPathToTargetArea(window.location.pathname)\n if (!userLogic.values.user) {\n area = 'login'\n }\n kind = kind ?? 'support'\n actions.resetSendSupportRequest({\n name: name ?? '',\n email: email ?? '',\n kind,\n target_area: area,\n severity_level: severity_level ?? null,\n message: message ?? '',\n })\n\n if (isEmailFormOpen === 'true' || isEmailFormOpen === true) {\n actions.openEmailForm()\n } else {\n actions.closeEmailForm()\n }\n\n if (values.sidePanelAvailable) {\n const panelOptions = [kind ?? '', area ?? ''].join(':')\n actions.openSidePanel(SidePanelTab.Support, panelOptions === ':' ? undefined : panelOptions)\n } else {\n openSupportModal()\n }\n\n actions.updateUrlParams()\n },\n submitZendeskTicket: async ({ name, email, kind, target_area, severity_level, message }) => {\n const zendesk_ticket_uuid = uuid()\n const subject =\n SUPPORT_KIND_TO_SUBJECT[kind ?? 'support'] +\n ': ' +\n (target_area\n ? getLabelBasedOnTargetArea(target_area) ?? `${target_area} (feature preview)`\n : 'General') +\n ' (' +\n zendesk_ticket_uuid +\n ')'\n const cloudRegion = preflightLogic.values.preflight?.region\n\n const payload = {\n request: {\n requester: { name: name, email: email },\n subject: subject,\n custom_fields: [\n {\n id: 22084126888475,\n value: severity_level,\n },\n {\n id: 22129191462555,\n value: posthog.get_distinct_id(),\n },\n {\n id: 27242745654043,\n value: target_area ?? '',\n },\n {\n id: 27031528411291,\n value: userLogic?.values?.user?.organization?.id ?? '',\n },\n {\n id: 26073267652251,\n value: values.hasAvailableFeature(AvailableFeature.PRIORITY_SUPPORT)\n ? 'priority_support'\n : values.hasAvailableFeature(AvailableFeature.EMAIL_SUPPORT)\n ? 'email_support'\n : 'free_support',\n },\n ],\n comment: {\n body:\n message +\n `\\n\\n-----` +\n `\\nKind: ${kind}` +\n `\\nTarget area: ${target_area}` +\n `\\nReport event: http://go/ticketByUUID/${zendesk_ticket_uuid}` +\n getSessionReplayLink() +\n getErrorTrackingLink() +\n getCurrentLocationLink() +\n getDjangoAdminLink(\n userLogic.values.user,\n cloudRegion,\n organizationLogic.values.currentOrganization,\n teamLogic.values.currentTeam\n ) +\n (target_area === 'billing' || target_area === 'login' || target_area === 'onboarding'\n ? getBillingAdminLink(organizationLogic.values.currentOrganization)\n : '') +\n getSentryLink(cloudRegion, teamLogic.values.currentTeam) +\n (cloudRegion && teamLogic.values.currentTeam\n ? '\\nPersons-on-events mode for project: ' +\n (teamLogic.values.currentTeam.modifiers?.personsOnEventsMode ??\n teamLogic.values.currentTeam.default_modifiers?.personsOnEventsMode ??\n 'unknown')\n : ''),\n },\n },\n }\n\n try {\n const zendeskRequestBody = JSON.stringify(payload, undefined, 4)\n const response = await fetch('https://posthoghelp.zendesk.com/api/v2/requests.json', {\n method: 'POST',\n body: zendeskRequestBody,\n headers: { 'Content-Type': 'application/json' },\n })\n if (!response.ok) {\n const error = new Error(`There was an error creating the support ticket with zendesk.`)\n const extra: Record = { zendeskBody: zendeskRequestBody }\n Object.entries(payload).forEach(([key, value]) => {\n extra[`payload_${key}`] = value\n })\n const body = await response.text()\n const contexts = {\n response: {\n status_code: response.status,\n data: body,\n body_size: body?.length,\n },\n }\n captureException(error, {\n extra,\n contexts,\n })\n lemonToast.error(`There was an error sending the message.`)\n return\n }\n\n const json = await response.json()\n\n const zendesk_ticket_id = json.request.id\n const zendesk_ticket_link = `https://posthoghelp.zendesk.com/agent/tickets/${zendesk_ticket_id}`\n const properties = {\n zendesk_ticket_uuid,\n kind,\n target_area,\n message,\n zendesk_ticket_id,\n zendesk_ticket_link,\n }\n posthog.capture('support_ticket', properties)\n Sentry.captureMessage('User submitted Zendesk ticket', {\n tags: {\n zendesk_ticket_uuid,\n zendesk_ticket_link,\n support_request_kind: kind,\n support_request_area: target_area,\n team_id: teamLogic.values.currentTeamId,\n },\n extra: properties,\n level: 'log',\n })\n lemonToast.success(\"Got the message! If we have follow-up information for you, we'll reply via email.\")\n } catch (e) {\n captureException(e)\n lemonToast.error(`There was an error sending the message.`)\n }\n },\n\n closeSupportForm: () => {\n props.onClose?.()\n },\n\n setSendSupportRequestValue: () => {\n actions.updateUrlParams()\n },\n })),\n\n urlToAction(({ actions, values }) => ({\n '*': (_, _search, hashParams) => {\n if (values.isSupportFormOpen) {\n return\n }\n\n const [panel, ...panelOptions] = (hashParams['panel'] ?? '').split(':')\n\n if (panel === SidePanelTab.Support) {\n const [kind, area, severity, isEmailFormOpen] = panelOptions\n\n actions.openSupportForm({\n kind: Object.keys(SUPPORT_KIND_TO_SUBJECT).includes(kind) ? kind : null,\n target_area: getLabelBasedOnTargetArea(area) ? area : null,\n severity_level: Object.keys(SEVERITY_LEVEL_TO_NAME).includes(severity) ? severity : null,\n isEmailFormOpen: isEmailFormOpen ?? 'false',\n })\n return\n }\n\n // Legacy supportModal param\n if ('supportModal' in hashParams) {\n const [kind, area, severity] = (hashParams['supportModal'] || '').split(':')\n\n actions.openSupportForm({\n kind: Object.keys(SUPPORT_KIND_TO_SUBJECT).includes(kind) ? kind : null,\n target_area: Object.keys(TARGET_AREA_TO_NAME).includes(area) ? area : null,\n severity_level: Object.keys(SEVERITY_LEVEL_TO_NAME).includes(severity) ? severity : null,\n })\n }\n },\n })),\n])\n","import { actions, afterMount, kea, key, listeners, path, props, reducers, sharedListeners } from 'kea'\nimport { loaders } from 'kea-loaders'\nimport api from 'lib/api'\nimport { isNotNil } from 'lib/utils'\nimport {\n diffVersions,\n highestVersion,\n isEqualVersion,\n parseVersion,\n SemanticVersion,\n tryParseVersion,\n versionToString,\n} from 'lib/utils/semver'\n\nimport { HogQLQuery, NodeKind } from '~/queries/schema'\nimport { hogql } from '~/queries/utils'\n\nimport type { versionCheckerLogicType } from './versionCheckerLogicType'\n\n// If you would like to deprecate all posthog-js versions older than a specific version\n// (i.e. after fixing an important bug) please edit\n// https://github.com/PostHog/posthog-js/blob/main/deprecation.json\n\nconst CHECK_INTERVAL_MS = 1000 * 60 * 60 * 6 // 6 hour\n\nexport type SDKVersion = {\n version: SemanticVersion\n timestamp?: string\n}\n\nexport type SDKVersionWarning = {\n latestUsedVersion: string\n latestAvailableVersion: string\n numVersionsBehind?: number\n level: 'warning' | 'info' | 'error'\n}\n\nexport interface PosthogJSDeprecation {\n deprecateBeforeVersion?: string\n deprecateOlderThanDays?: number\n}\n\nexport interface AvailableVersions {\n sdkVersions?: SemanticVersion[]\n deprecation?: PosthogJSDeprecation\n}\n\nexport interface VersionCheckerLogicProps {\n teamId: number | null\n}\n\nexport const versionCheckerLogic = kea([\n props({ teamId: null } as VersionCheckerLogicProps),\n key(({ teamId }) => teamId || 'no-team-id'),\n path((key) => ['components', 'VersionChecker', 'versionCheckerLogic', key]),\n actions({\n setVersionWarning: (versionWarning: SDKVersionWarning | null) => ({ versionWarning }),\n setSdkVersions: (sdkVersions: SDKVersion[]) => ({ sdkVersions }),\n }),\n loaders(({ values }) => ({\n availableVersions: [\n {} as AvailableVersions,\n {\n loadAvailableVersions: async (): Promise => {\n // Make both requests simultaneously and don't return until both have finished, to avoid a flash\n // of partial results in the UI.\n const availableVersionsPromise: Promise = fetch(\n 'https://api.github.com/repos/posthog/posthog-js/tags'\n )\n .then((r) => r.json())\n .then((r) => r.map((x: any) => tryParseVersion(x.name)).filter(isNotNil))\n const deprecationPromise: Promise = fetch(\n 'https://raw.githubusercontent.com/PostHog/posthog-js/main/deprecation.json'\n ).then((r) => r.json())\n const settled = await Promise.allSettled([availableVersionsPromise, deprecationPromise])\n const availableVersions = settled[0].status === 'fulfilled' ? settled[0].value : []\n const deprecation = settled[1].status === 'fulfilled' ? settled[1].value : {}\n // if one or more of the requests failed, merge in the previous value if we have one\n return {\n ...values.availableVersions,\n sdkVersions: availableVersions,\n deprecation: deprecation,\n }\n },\n },\n ],\n usedVersions: [\n null as SDKVersion[] | null,\n {\n loadUsedVersions: async () => {\n const query: HogQLQuery = {\n kind: NodeKind.HogQLQuery,\n query: hogql`SELECT properties.$lib_version AS lib_version, max(timestamp) AS latest_timestamp, count(lib_version) as count\n FROM events\n WHERE timestamp >= now() - INTERVAL 1 DAY \n AND timestamp <= now()\n AND properties.$lib = 'web'\n GROUP BY lib_version\n ORDER BY latest_timestamp DESC\n limit 10`,\n }\n\n const res = await api.query(query, undefined, undefined, true)\n\n return (\n res.results\n ?.map((x) => {\n const version = tryParseVersion(x[0])\n if (!version) {\n return null\n }\n return {\n version,\n timestamp: x[1],\n }\n })\n .filter(isNotNil) ?? null\n )\n },\n },\n ],\n })),\n\n reducers({\n lastCheckTimestamp: [\n 0,\n { persist: true },\n {\n loadUsedVersionsSuccess: () => Date.now(),\n },\n ],\n versionWarning: [\n null as SDKVersionWarning | null,\n // bumping cache key due to an incorrect tag being cached on 2024-02-12\n { persist: true, prefix: '2024-02-12' },\n {\n setVersionWarning: (_, { versionWarning }) => versionWarning,\n },\n ],\n }),\n\n sharedListeners(({ values, actions }) => ({\n checkForVersionWarning: () => {\n if (!values.usedVersions?.length) {\n return\n }\n const { deprecation, sdkVersions } = values.availableVersions\n\n // We want the highest semantic version to be the latest used one, rather than\n // the one with the latest timestamp, because secondary installations can spew old versions\n const latestUsedVersion = highestVersion(values.usedVersions.map((v) => v.version))\n\n // the latest version published on github\n const latestAvailableVersion = sdkVersions?.[0]\n\n // the version where, anything before this deprecated (i.e. this version is allowed, before it is not)\n const deprecateBeforeVersion = deprecation?.deprecateBeforeVersion\n ? parseVersion(deprecation.deprecateBeforeVersion)\n : null\n\n let warning: SDKVersionWarning | null = null\n\n if (deprecateBeforeVersion) {\n const diff = diffVersions(deprecateBeforeVersion, latestUsedVersion)\n // if they are behind the deprecatedBeforeVersion by any amount, show an error\n if (diff && diff.diff > 0) {\n warning = {\n latestUsedVersion: versionToString(latestUsedVersion),\n latestAvailableVersion: versionToString(latestAvailableVersion || deprecateBeforeVersion),\n level: 'error',\n }\n }\n }\n\n if (!warning && sdkVersions && latestAvailableVersion) {\n const diff = diffVersions(latestAvailableVersion, latestUsedVersion)\n\n if (diff && diff.diff > 0) {\n // there's a difference between the latest used version and the latest available version\n\n let numVersionsBehind = sdkVersions.findIndex((v) => isEqualVersion(v, latestUsedVersion))\n if (numVersionsBehind === -1) {\n // if we couldn't find the versions, use the length of the list as a fallback\n numVersionsBehind = sdkVersions.length - 1\n }\n if (numVersionsBehind < diff.diff) {\n // we might have deleted versions, but if the actual diff is X then we must be at least X versions behind\n numVersionsBehind = diff.diff\n }\n\n let level: 'warning' | 'info' | 'error' | undefined\n if (diff.kind === 'major') {\n level = 'info' // it is desirable to be on the latest major version, but not critical\n } else if (diff.kind === 'minor') {\n level = numVersionsBehind >= 40 ? 'warning' : undefined\n }\n\n if (level === undefined && numVersionsBehind >= 50) {\n level = 'error'\n }\n\n // we check if there is a \"latest user version string\" to avoid returning odd data in unexpected cases\n if (level && !!versionToString(latestUsedVersion).trim().length) {\n warning = {\n latestUsedVersion: versionToString(latestUsedVersion),\n latestAvailableVersion: versionToString(latestAvailableVersion),\n level,\n numVersionsBehind,\n }\n }\n }\n }\n\n actions.setVersionWarning(warning)\n },\n })),\n\n listeners(({ sharedListeners }) => ({\n loadAvailableVersionsSuccess: sharedListeners.checkForVersionWarning,\n loadUsedVersionsSuccess: sharedListeners.checkForVersionWarning,\n })),\n\n afterMount(({ actions, values }) => {\n if (values.lastCheckTimestamp < Date.now() - CHECK_INTERVAL_MS) {\n actions.loadAvailableVersions()\n actions.loadUsedVersions()\n }\n }),\n])\n","import { useValues } from 'kea'\nimport { TextContent } from 'lib/components/Cards/TextCard/TextCard'\nimport { useUploadFiles } from 'lib/hooks/useUploadFiles'\nimport { IconMarkdown, IconTools } from 'lib/lemon-ui/icons'\nimport { LemonFileInput } from 'lib/lemon-ui/LemonFileInput'\nimport { LemonTabs } from 'lib/lemon-ui/LemonTabs'\nimport { LemonTextArea, LemonTextAreaProps } from 'lib/lemon-ui/LemonTextArea/LemonTextArea'\nimport { lemonToast } from 'lib/lemon-ui/LemonToast'\nimport { Link } from 'lib/lemon-ui/Link'\nimport { Tooltip } from 'lib/lemon-ui/Tooltip'\nimport posthog from 'posthog-js'\nimport React, { useRef, useState } from 'react'\nimport { preflightLogic } from 'scenes/PreflightCheck/preflightLogic'\n\nexport const LemonTextAreaMarkdown = React.forwardRef(\n function _LemonTextAreaMarkdown({ value, onChange, ...editAreaProps }, ref): JSX.Element {\n const { objectStorageAvailable } = useValues(preflightLogic)\n\n const [isPreviewShown, setIsPreviewShown] = useState(false)\n const dropRef = useRef(null)\n\n const { setFilesToUpload, filesToUpload, uploading } = useUploadFiles({\n onUpload: (url, fileName) => {\n onChange?.(value + `\\n\\n![${fileName}](${url})`)\n posthog.capture('markdown image uploaded', { name: fileName })\n },\n onError: (detail) => {\n posthog.capture('markdown image upload failed', { error: detail })\n lemonToast.error(`Error uploading image: ${detail}`)\n },\n })\n\n return (\n setIsPreviewShown(key === 'preview')}\n tabs={[\n {\n key: 'write',\n label: 'Write',\n content: (\n
\n \n
\n \n Markdown formatting support\n
\n {objectStorageAvailable ? (\n \n ) : (\n
\n \n \n \n \n \n \n Add external images using{' '}\n \n {' '}\n Markdown image links\n \n .\n \n
\n )}\n
\n ),\n },\n {\n key: 'preview',\n label: 'Preview',\n content: value ? (\n \n ) : (\n Nothing to preview\n ),\n },\n ]}\n />\n )\n }\n)\n","// This file contains example queries, used in storybook and in the /query interface.\nimport { defaultDataTableColumns } from '~/queries/nodes/DataTable/utils'\nimport {\n ActionsNode,\n DataTableNode,\n DataVisualizationNode,\n EventsNode,\n EventsQuery,\n FunnelsQuery,\n HogQLQuery,\n HogQuery,\n InsightVizNode,\n LifecycleQuery,\n Node,\n NodeKind,\n PathsQuery,\n PersonsNode,\n RetentionQuery,\n StickinessQuery,\n TrendsQuery,\n} from '~/queries/schema'\nimport {\n ChartDisplayType,\n FilterLogicalOperator,\n PropertyFilterType,\n PropertyGroupFilter,\n PropertyOperator,\n StepOrderValue,\n} from '~/types'\n\nconst Events: EventsQuery = {\n kind: NodeKind.EventsQuery,\n select: defaultDataTableColumns(NodeKind.EventsQuery),\n properties: [\n { type: PropertyFilterType.Event, key: '$browser', operator: PropertyOperator.Exact, value: 'Chrome' },\n ],\n after: '-24h',\n limit: 100,\n}\n\nconst EventsTable: DataTableNode = {\n kind: NodeKind.DataTableNode,\n source: Events,\n}\nconst EventsTableFull: DataTableNode = {\n kind: NodeKind.DataTableNode,\n full: true,\n source: Events,\n}\n\nconst TotalEvents: EventsQuery = {\n kind: NodeKind.EventsQuery,\n select: ['count()'],\n}\n\nexport const TotalEventsTable: DataTableNode = {\n kind: NodeKind.DataTableNode,\n full: true,\n source: TotalEvents,\n}\n\nconst PropertyFormulas: EventsQuery = {\n kind: NodeKind.EventsQuery,\n select: [\n '1 + 2 + 3',\n 'event',\n 'person.created_at',\n \"concat(properties['$browser'], ' 💚 ', properties['$geoip_city_name']) -- Browser 💚 City\",\n \"'random string'\",\n ],\n limit: 100,\n}\n\nconst PropertyFormulasTable: DataTableNode = {\n kind: NodeKind.DataTableNode,\n full: true,\n source: PropertyFormulas,\n}\n\nconst EventAggregations: DataTableNode = {\n kind: NodeKind.DataTableNode,\n full: true,\n source: {\n kind: NodeKind.EventsQuery,\n select: [\n \"concat(properties['$geoip_city_name'], ' ', 'Rocks') -- City\",\n 'event',\n 'count() + 100000 -- Inflamed total',\n '1 + 2',\n ],\n orderBy: ['-count()'],\n },\n}\n\nconst Persons: PersonsNode = {\n kind: NodeKind.PersonsNode,\n properties: [\n { type: PropertyFilterType.Person, key: '$browser', operator: PropertyOperator.Exact, value: 'Chrome' },\n ],\n}\n\nconst PersonsTable: DataTableNode = {\n kind: NodeKind.DataTableNode,\n columns: defaultDataTableColumns(NodeKind.PersonsNode),\n source: Persons,\n}\n\nconst PersonsTableFull: DataTableNode = {\n kind: NodeKind.DataTableNode,\n full: true,\n columns: defaultDataTableColumns(NodeKind.PersonsNode),\n source: Persons,\n}\n\nconst properties: PropertyGroupFilter = {\n type: FilterLogicalOperator.And,\n values: [\n {\n type: FilterLogicalOperator.Or,\n values: [\n {\n type: PropertyFilterType.Event,\n key: '$current_url',\n operator: PropertyOperator.Exact,\n value: ['https://hedgebox.net/files/'],\n },\n {\n type: PropertyFilterType.Event,\n key: '$geoip_country_code',\n operator: PropertyOperator.Exact,\n value: ['US', 'AU'],\n },\n ],\n },\n ],\n}\n\nconst filterTestAccounts = false\nconst series: (EventsNode | ActionsNode)[] = [\n {\n kind: NodeKind.EventsNode,\n name: '$pageview',\n custom_name: 'Views',\n event: '$pageview',\n properties: [\n {\n type: PropertyFilterType.Event,\n key: '$browser',\n operator: PropertyOperator.Exact,\n value: 'Chrome',\n },\n {\n type: PropertyFilterType.Cohort,\n key: 'id',\n operator: PropertyOperator.In,\n value: 2,\n },\n ],\n },\n // {\n // kind: NodeKind.ActionsNode,\n // id: 1,\n // name: 'Interacted with file',\n // custom_name: 'Interactions',\n // properties: [\n // {\n // type: PropertyFilterType.Event,\n // key: '$geoip_country_code',\n // operator: PropertyOperator.Exact,\n // value: ['US'],\n // },\n // ],\n // math: PropertyMathType.Average,\n // math_property: '$session_duration',\n // },\n]\n\nconst InsightTrendsQuery: TrendsQuery = {\n kind: NodeKind.TrendsQuery,\n properties,\n filterTestAccounts,\n interval: 'day',\n dateRange: {\n date_from: '-7d',\n },\n series,\n trendsFilter: {\n display: ChartDisplayType.ActionsAreaGraph,\n },\n breakdownFilter: {\n breakdown: '$geoip_country_code',\n breakdown_type: 'event',\n },\n}\n\nconst InsightFunnelsQuery: FunnelsQuery = {\n kind: NodeKind.FunnelsQuery,\n properties,\n filterTestAccounts,\n interval: 'day',\n dateRange: {\n date_from: '-7d',\n },\n series,\n funnelsFilter: {\n funnelOrderType: StepOrderValue.ORDERED,\n },\n breakdownFilter: {\n breakdown: '$geoip_country_code',\n breakdown_type: 'event',\n },\n}\n\nconst InsightRetentionQuery: RetentionQuery = {\n kind: NodeKind.RetentionQuery,\n properties,\n filterTestAccounts,\n retentionFilter: {\n // TODO: this should be typed as (EventsNode | ActionsNode)[] without math and properties\n targetEntity: { type: 'events', id: '$pageview', name: '$pageview' },\n returningEntity: { type: 'events', id: '$pageview', name: '$pageview' },\n },\n}\n\nconst InsightPathsQuery: PathsQuery = {\n kind: NodeKind.PathsQuery,\n properties,\n filterTestAccounts,\n pathsFilter: {},\n}\n\nconst InsightStickinessQuery: StickinessQuery = {\n kind: NodeKind.StickinessQuery,\n properties,\n filterTestAccounts,\n interval: 'day',\n dateRange: {\n date_from: '-7d',\n },\n series,\n stickinessFilter: {},\n}\n\nconst InsightLifecycleQuery: LifecycleQuery = {\n kind: NodeKind.LifecycleQuery,\n properties,\n filterTestAccounts,\n dateRange: {\n date_from: '-7d',\n },\n series, // TODO: Visualization only supports one event or action\n}\n\nconst HogQLRaw: HogQLQuery = {\n kind: NodeKind.HogQLQuery,\n query: ` select event,\n person.properties.email,\n properties.$browser,\n count()\n from events\n where {filters} -- replaced with global date and property filters\n and person.properties.email is not null\n group by event,\n properties.$browser,\n person.properties.email\n order by count() desc\n limit 100`,\n filters: {\n dateRange: {\n date_from: '-24h',\n },\n },\n}\n\nconst HogQLForDataVisualization: HogQLQuery = {\n kind: NodeKind.HogQLQuery,\n query: `select toDate(timestamp) as timestamp, count()\nfrom events\nwhere {filters} and timestamp <= now()\ngroup by timestamp\norder by timestamp asc\nlimit 100`,\n explain: true,\n filters: {\n dateRange: {\n date_from: '-7d',\n },\n },\n}\n\nconst HogQLForDataWarehouse: HogQLQuery = {\n kind: NodeKind.HogQLQuery,\n query: `select toDate(timestamp) as timestamp, count()\nfrom events\ngroup by timestamp\nlimit 100`,\n explain: true,\n}\n\nconst DataWarehouse: DataVisualizationNode = {\n kind: NodeKind.DataVisualizationNode,\n source: HogQLForDataWarehouse,\n}\n\nconst HogQLTable: DataTableNode = {\n kind: NodeKind.DataTableNode,\n full: true,\n source: HogQLRaw,\n}\n\nconst DataVisualization: DataVisualizationNode = {\n kind: NodeKind.DataVisualizationNode,\n source: HogQLForDataVisualization,\n tableSettings: {\n columns: [\n {\n column: 'timestamp',\n settings: {\n formatting: {\n prefix: '',\n suffix: '',\n },\n },\n },\n {\n column: 'count()',\n settings: {\n formatting: {\n prefix: '',\n suffix: '',\n },\n },\n },\n ],\n },\n chartSettings: { goalLines: undefined },\n}\n\nconst Hog: HogQuery = {\n kind: NodeKind.HogQuery,\n code: 'return 1 + 2;',\n}\n\nconst Hoggonacci: HogQuery = {\n kind: NodeKind.HogQuery,\n code: `fn fibonacci(number) {\n if (number < 2) {\n return number;\n } else {\n return fibonacci(number - 1) + fibonacci(number - 2);\n }\n}\nreturn fibonacci(16);`,\n}\n/* a subset of examples including only those we can show all users and that don't use HogQL */\nexport const queryExamples: Record = {\n Events,\n EventsTable,\n EventsTableFull,\n TotalEventsTable,\n PropertyFormulasTable,\n EventAggregations,\n Persons,\n PersonsTable,\n PersonsTableFull,\n InsightTrendsQuery,\n InsightTrends: { kind: NodeKind.InsightVizNode, source: InsightTrendsQuery } as InsightVizNode,\n InsightFunnelsQuery,\n InsightFunnels: { kind: NodeKind.InsightVizNode, source: InsightFunnelsQuery } as InsightVizNode,\n InsightRetentionQuery,\n InsightRetention: {\n kind: NodeKind.InsightVizNode,\n source: InsightRetentionQuery,\n } as InsightVizNode,\n InsightPathsQuery,\n InsightPaths: { kind: NodeKind.InsightVizNode, source: InsightPathsQuery } as InsightVizNode,\n InsightStickinessQuery,\n InsightStickiness: {\n kind: NodeKind.InsightVizNode,\n source: InsightStickinessQuery,\n } as InsightVizNode,\n InsightLifecycleQuery,\n InsightLifecycle: {\n kind: NodeKind.InsightVizNode,\n source: InsightLifecycleQuery,\n } as InsightVizNode,\n}\n\nexport const stringifiedQueryExamples: Record = Object.fromEntries(\n Object.entries(queryExamples).map(([key, node]) => [key, JSON.stringify(node)])\n)\n\nexport const examples: Record = {\n ...queryExamples,\n HogQLRaw,\n HogQLTable,\n DataVisualization,\n Hog,\n Hoggonacci,\n DataWarehouse,\n}\n\nexport const stringifiedExamples: Record = Object.fromEntries(\n Object.entries(examples).map(([key, node]) => [key, JSON.stringify(node)])\n)\n","import * as d3 from 'd3'\nimport * as Sankey from 'd3-sankey'\nimport { D3Selector } from 'lib/hooks/useD3'\nimport { stripHTTP } from 'lib/utils'\nimport { Dispatch, RefObject, SetStateAction } from 'react'\n\nimport { FunnelPathsFilter, PathsFilter } from '~/queries/schema'\n\nimport { FALLBACK_CANVAS_WIDTH, HIDE_PATH_CARD_HEIGHT } from './Paths'\nimport { PathNode } from './pathsDataLogic'\nimport { isSelectedPathStartOrEnd, PathNodeData, PathTargetLink, roundedRect } from './pathUtils'\n\nconst createCanvas = (canvasRef: RefObject, width: number, height: number): D3Selector => {\n return d3\n .select(canvasRef.current)\n .append('svg')\n .classed('Paths__canvas', true)\n .style('background', 'var(--item-background)')\n .style('width', `${width}px`)\n .style('height', `${height}px`)\n}\n\nconst createSankey = (width: number, height: number): Sankey.SankeyLayout => {\n // @ts-expect-error - d3 sankey typing things\n return new Sankey.sankey()\n .nodeId((d: PathNodeData) => d.name)\n .nodeAlign(Sankey.sankeyJustify)\n .nodeSort(null)\n .nodeWidth(15)\n .size([width, height])\n}\n\nconst appendPathNodes = (\n svg: any,\n nodes: PathNodeData[],\n pathsFilter: PathsFilter,\n funnelPathsFilter: FunnelPathsFilter,\n setNodeCards: Dispatch>\n): void => {\n svg.append('g')\n .selectAll('rect')\n .data(nodes)\n .join('rect')\n .attr('x', (d: PathNodeData) => d.x0 + 1)\n .attr('y', (d: PathNodeData) => d.y0)\n .attr('height', (d: PathNodeData) => d.y1 - d.y0)\n .attr('width', (d: PathNodeData) => d.x1 - d.x0 - 2)\n .attr('fill', (d: PathNodeData) => {\n let c\n for (const link of d.sourceLinks) {\n if (c === undefined) {\n c = link.color\n } else if (c !== link.color) {\n c = null\n }\n }\n if (c === undefined) {\n for (const link of d.targetLinks) {\n if (c === undefined) {\n c = link.color\n } else if (c !== link.color) {\n c = null\n }\n }\n }\n if (isSelectedPathStartOrEnd(pathsFilter, funnelPathsFilter, d)) {\n return d3.color('purple')\n }\n const startNodeColor = c && d3.color(c) ? d3.color(c) : d3.color('#5375ff')\n return startNodeColor\n })\n .on('mouseover', (_event: MouseEvent, data: PathNodeData) => {\n if (data.y1 - data.y0 > HIDE_PATH_CARD_HEIGHT) {\n return\n }\n setNodeCards(\n nodes.map((node: PathNodeData) =>\n node.index === data.index\n ? { ...node, visible: true }\n : { ...node, visible: node.y1 - node.y0 > HIDE_PATH_CARD_HEIGHT }\n )\n )\n })\n .append('title')\n .text((d: PathNodeData) => `${stripHTTP(d.name)}\\n${d.value.toLocaleString()}`)\n}\n\nconst appendDropoffs = (svg: D3Selector): void => {\n const dropOffGradient = svg\n .append('defs')\n .append('linearGradient')\n .attr('id', 'dropoff-gradient')\n .attr('gradientTransform', 'rotate(90)')\n\n dropOffGradient.append('stop').attr('offset', '0%').attr('stop-color', 'rgba(220,53,69,0.7)')\n\n dropOffGradient.append('stop').attr('offset', '100%').attr('stop-color', 'var(--bg-light)')\n}\n\nconst appendPathLinks = (\n svg: any,\n links: PathNodeData[],\n nodes: PathNodeData[],\n setNodeCards: Dispatch>\n): void => {\n const link = svg\n .append('g')\n .attr('fill', 'none')\n .selectAll('g')\n .data(links)\n .join('g')\n .attr('stroke', 'var(--primary)')\n .attr('opacity', 0.35)\n\n link.append('path')\n .attr('d', Sankey.sankeyLinkHorizontal())\n .attr('id', (d: PathNodeData) => `path-${d.index}`)\n .attr('stroke-width', (d: PathNodeData) => {\n return Math.max(1, d.width)\n })\n .on('mouseover', (_event: MouseEvent, data: PathNodeData) => {\n svg.select(`#path-${data.index}`).attr('stroke', 'blue')\n if (data?.source?.targetLinks.length === 0) {\n return\n }\n const nodesToColor = [data.source]\n const pathCardsToShow: number[] = []\n while (nodesToColor.length > 0) {\n const _node = nodesToColor.pop()\n _node?.targetLinks.forEach((_link: PathTargetLink) => {\n svg.select(`#path-${_link.index}`).attr('stroke', 'blue')\n nodesToColor.push(_link.source)\n pathCardsToShow.push(_link.source.index)\n })\n }\n const pathCards = [data.target]\n pathCardsToShow.push(data.target.index, data.source.index)\n while (pathCards.length > 0) {\n const node = pathCards.pop()\n node?.sourceLinks.forEach((l: PathTargetLink) => {\n pathCards.push(l.target)\n pathCardsToShow.push(l.target.index)\n })\n }\n setNodeCards(\n nodes.map((node: PathNodeData) => ({\n ...node,\n ...{\n visible: pathCardsToShow.includes(node.index)\n ? true\n : node.y1 - node.y0 > HIDE_PATH_CARD_HEIGHT,\n },\n }))\n )\n })\n .on('mouseleave', () => {\n svg.selectAll('path').attr('stroke', 'var(--primary)')\n })\n\n link.append('g')\n .append('path')\n .attr('d', (data: PathNodeData) => {\n if (data.source.layer === 0) {\n return\n }\n const _height =\n data.source.y1 - data.source.y0 - data.source.sourceLinks.reduce((prev, curr) => prev + curr.width, 0)\n return roundedRect(0, 0, 30, _height, Math.min(25, _height), false, true, false, false)\n })\n .attr('fill', 'url(#dropoff-gradient)')\n .attr('stroke-width', 0)\n .attr('transform', (data: PathNodeData) => {\n return (\n 'translate(' +\n Math.round(data.source.x1) +\n ',' +\n Math.round(data.source.y0 + data.source.sourceLinks.reduce((prev, curr) => prev + curr.width, 0)) +\n ')'\n )\n })\n}\n\nconst addChartAxisLines = (svg: D3Selector, height: number, nodes: PathNodeData[], maxLayer: number): void => {\n if (maxLayer > 5) {\n const arr = [...Array(maxLayer)]\n const minWidthApart = nodes[1].x0 - nodes[0].x0\n arr.forEach((_, i) => {\n svg.append('line')\n .style('stroke', 'var(--border)')\n .attr('stroke-width', 2)\n .attr('x1', minWidthApart * (i + 1) - 20)\n .attr('y1', 0)\n .attr('x2', minWidthApart * (i + 1) - 20)\n .attr('y2', height)\n })\n }\n}\n\nexport function renderPaths(\n canvasRef: RefObject,\n canvasWidth: number,\n canvasHeight: number,\n paths: { links: PathNode[]; nodes: any[] },\n pathsFilter: PathsFilter,\n funnelPathsFilter: FunnelPathsFilter,\n setNodeCards: Dispatch>\n): void {\n if (!paths || paths.nodes.length === 0) {\n return\n }\n\n const maxLayer = paths.links.reduce((prev, curr) => {\n // @ts-expect-error - sometimes target is an object instead of string\n const currNum = curr.target.name || curr.target\n return Math.max(prev, Number(currNum.match(/[^_]*/)))\n }, 0)\n\n const minWidth = canvasWidth > FALLBACK_CANVAS_WIDTH || maxLayer < 3 ? canvasWidth : FALLBACK_CANVAS_WIDTH\n\n const width = maxLayer > 5 && canvasWidth ? (minWidth / 5) * maxLayer : minWidth\n const height = canvasHeight\n\n const svg = createCanvas(canvasRef, width, height)\n const sankey = createSankey(width, height)\n const { nodes, links } = sankey({\n nodes: paths.nodes.map((d) => ({ ...d })),\n links: paths.links.map((d) => ({ ...d })),\n })\n\n setNodeCards(nodes.map((node: PathNodeData) => ({ ...node, visible: node.y1 - node.y0 > HIDE_PATH_CARD_HEIGHT })))\n\n appendPathNodes(svg, nodes, pathsFilter, funnelPathsFilter, setNodeCards)\n appendDropoffs(svg)\n appendPathLinks(svg, links, nodes, setNodeCards)\n addChartAxisLines(svg, height, nodes, maxLayer)\n}\n","import { LemonDialog, lemonToast, Link } from '@posthog/lemon-ui'\nimport { actions, afterMount, connect, kea, listeners, path, reducers, selectors } from 'kea'\nimport { FieldNamePath, forms } from 'kea-forms'\nimport { loaders } from 'kea-loaders'\nimport { router, urlToAction } from 'kea-router'\nimport api, { getJSONOrNull } from 'lib/api'\nimport { FEATURE_FLAGS } from 'lib/constants'\nimport { dayjs } from 'lib/dayjs'\nimport { LemonBannerAction } from 'lib/lemon-ui/LemonBanner/LemonBanner'\nimport { lemonBannerLogic } from 'lib/lemon-ui/LemonBanner/lemonBannerLogic'\nimport { LemonButtonPropsBase } from 'lib/lemon-ui/LemonButton'\nimport { featureFlagLogic } from 'lib/logic/featureFlagLogic'\nimport { pluralize } from 'lib/utils'\nimport { eventUsageLogic } from 'lib/utils/eventUsageLogic'\nimport posthog from 'posthog-js'\nimport { preflightLogic } from 'scenes/PreflightCheck/preflightLogic'\nimport { userLogic } from 'scenes/userLogic'\n\nimport { BillingPlanType, BillingProductV2Type, BillingType, ProductKey } from '~/types'\n\nimport type { billingLogicType } from './billingLogicType'\nimport { DEFAULT_ESTIMATED_MONTHLY_CREDIT_AMOUNT_USD } from './CreditCTAHero'\n\nexport const ALLOCATION_THRESHOLD_ALERT = 0.85 // Threshold to show warning of event usage near limit\nexport const ALLOCATION_THRESHOLD_BLOCK = 1.2 // Threshold to block usage\n\nexport interface BillingAlertConfig {\n status: 'info' | 'warning' | 'error'\n title: string\n message?: string\n contactSupport?: boolean\n buttonCTA?: string\n dismissKey?: string\n action?: LemonBannerAction\n pathName?: string\n onClose?: () => void\n}\n\nexport enum BillingAPIErrorCodes {\n OPEN_INVOICES_ERROR = 'open_invoices_error',\n NO_ACTIVE_PAYMENT_METHOD_ERROR = 'no_active_payment_method_error',\n COULD_NOT_PAY_INVOICES_ERROR = 'could_not_pay_invoices_error',\n}\n\nexport interface UnsubscribeError {\n detail: string | JSX.Element\n link: JSX.Element\n}\n\nexport interface BillingError {\n status: 'info' | 'warning' | 'error'\n message: string\n action: LemonButtonPropsBase\n}\n\nconst parseBillingResponse = (data: Partial): BillingType => {\n if (data.billing_period) {\n data.billing_period = {\n current_period_start: dayjs(data.billing_period.current_period_start),\n current_period_end: dayjs(data.billing_period.current_period_end),\n interval: data.billing_period.interval,\n }\n }\n\n data.free_trial_until = data.free_trial_until ? dayjs(data.free_trial_until) : undefined\n data.amount_off_expires_at = data.amount_off_expires_at ? dayjs(data.amount_off_expires_at) : undefined\n // If expiration is in the middle of the current period, we let it expire at the end of the period\n if (\n data.amount_off_expires_at &&\n data.billing_period &&\n data.amount_off_expires_at.isBefore(data.billing_period.current_period_end) &&\n data.amount_off_expires_at.isAfter(data.billing_period.current_period_start)\n ) {\n data.amount_off_expires_at = data.billing_period.current_period_end\n }\n\n return data as BillingType\n}\n\nexport const billingLogic = kea([\n path(['scenes', 'billing', 'billingLogic']),\n actions({\n setProductSpecificAlert: (productSpecificAlert: BillingAlertConfig | null) => ({ productSpecificAlert }),\n setScrollToProductKey: (scrollToProductKey: ProductKey | null) => ({ scrollToProductKey }),\n setShowLicenseDirectInput: (show: boolean) => ({ show }),\n reportBillingAlertShown: (alertConfig: BillingAlertConfig) => ({ alertConfig }),\n reportBillingAlertActionClicked: (alertConfig: BillingAlertConfig) => ({ alertConfig }),\n reportCreditsFormSubmitted: (creditInput: number) => ({ creditInput }),\n reportCreditsModalShown: true,\n reportBillingShown: true,\n registerInstrumentationProps: true,\n reportCreditsCTAShown: (creditOverview: any) => ({ creditOverview }),\n setRedirectPath: true,\n setIsOnboarding: true,\n determineBillingAlert: true,\n setUnsubscribeError: (error: null | UnsubscribeError) => ({ error }),\n resetUnsubscribeError: true,\n setBillingAlert: (billingAlert: BillingAlertConfig | null) => ({ billingAlert }),\n showPurchaseCreditsModal: (isOpen: boolean) => ({ isOpen }),\n toggleCreditCTAHeroDismissed: (isDismissed: boolean) => ({ isDismissed }),\n setComputedDiscount: (discount: number) => ({ discount }),\n }),\n connect(() => ({\n values: [featureFlagLogic, ['featureFlags'], preflightLogic, ['preflight']],\n actions: [\n userLogic,\n ['loadUser'],\n eventUsageLogic,\n ['reportProductUnsubscribed'],\n lemonBannerLogic({ dismissKey: 'usage-limit-exceeded' }),\n ['resetDismissKey as resetUsageLimitExceededKey'],\n lemonBannerLogic({ dismissKey: 'usage-limit-approaching' }),\n ['resetDismissKey as resetUsageLimitApproachingKey'],\n ],\n })),\n reducers({\n billingAlert: [\n null as BillingAlertConfig | null,\n {\n setBillingAlert: (_, { billingAlert }) => billingAlert,\n },\n ],\n scrollToProductKey: [\n null as ProductKey | null,\n {\n setScrollToProductKey: (_, { scrollToProductKey }) => scrollToProductKey,\n },\n ],\n productSpecificAlert: [\n null as BillingAlertConfig | null,\n {\n setProductSpecificAlert: (_, { productSpecificAlert }) => productSpecificAlert,\n },\n ],\n showLicenseDirectInput: [\n false,\n {\n setShowLicenseDirectInput: (_, { show }) => show,\n },\n ],\n redirectPath: [\n '' as string,\n {\n setRedirectPath: () => {\n return window.location.pathname.includes('/onboarding')\n ? window.location.pathname + window.location.search\n : ''\n },\n },\n ],\n isOnboarding: [\n false,\n {\n setIsOnboarding: () => window.location.pathname.includes('/onboarding'),\n },\n ],\n unsubscribeError: [\n null as null | UnsubscribeError,\n {\n resetUnsubscribeError: () => null,\n setUnsubscribeError: (_, { error }) => error,\n },\n ],\n timeRemainingInSeconds: [\n 0,\n {\n loadBillingSuccess: (_, { billing }) => {\n if (!billing?.billing_period) {\n return 0\n }\n const currentTime = dayjs()\n const periodEnd = dayjs(billing.billing_period.current_period_end)\n return periodEnd.diff(currentTime, 'second')\n },\n },\n ],\n timeTotalInSeconds: [\n 0,\n {\n loadBillingSuccess: (_, { billing }) => {\n if (!billing?.billing_period) {\n return 0\n }\n const periodStart = dayjs(billing.billing_period.current_period_start)\n const periodEnd = dayjs(billing.billing_period.current_period_end)\n return periodEnd.diff(periodStart, 'second')\n },\n },\n ],\n isPurchaseCreditsModalOpen: [\n false,\n {\n showPurchaseCreditsModal: (_, { isOpen }) => isOpen,\n },\n ],\n isCreditCTAHeroDismissed: [\n false,\n { persist: true },\n {\n toggleCreditCTAHeroDismissed: (_, { isDismissed }) => isDismissed,\n },\n ],\n computedDiscount: [\n 0,\n {\n setComputedDiscount: (_, { discount }) => discount,\n },\n ],\n }),\n loaders(({ actions, values }) => ({\n billing: [\n null as BillingType | null,\n {\n loadBilling: async () => {\n // Note: this is a temporary flag to skip forecasting in the billing page\n // for customers running into performance issues until we have a more permanent fix\n // of splitting the billing and forecasting data.\n const skipForecasting = values.featureFlags[FEATURE_FLAGS.BILLING_SKIP_FORECASTING]\n const response = await api.get(\n 'api/billing' + (skipForecasting ? '?include_forecasting=false' : '')\n )\n\n return parseBillingResponse(response)\n },\n\n updateBillingLimits: async (limits: { [key: string]: number | null }) => {\n try {\n const response = await api.update('api/billing', { custom_limits_usd: limits })\n lemonToast.success('Billing limits updated')\n return parseBillingResponse(response)\n } catch (error: any) {\n lemonToast.error(\n 'There was an error updating your billing limits. Please try again or contact support.'\n )\n throw error\n }\n },\n\n deactivateProduct: async (key: string) => {\n // clear upgrade params from URL\n // Note(@zach): This is not working properly. We need to look into this.\n const currentURL = new URL(window.location.href)\n currentURL.searchParams.delete('upgraded')\n currentURL.searchParams.delete('products')\n router.actions.push(currentURL.pathname + currentURL.search)\n\n actions.resetUnsubscribeError()\n try {\n const response = await api.getResponse('api/billing/deactivate?products=' + key)\n const jsonRes = await getJSONOrNull(response)\n\n lemonToast.success(\n \"You have been unsubscribed. We're sad to see you go. May the hedgehogs be ever in your favor.\"\n )\n actions.reportProductUnsubscribed(key)\n\n return parseBillingResponse(jsonRes)\n } catch (error: any) {\n if (error.code) {\n if (error.code === BillingAPIErrorCodes.OPEN_INVOICES_ERROR) {\n actions.setUnsubscribeError({\n detail: error.detail,\n link: (\n \n View invoices\n \n ),\n } as UnsubscribeError)\n } else if (error.code === BillingAPIErrorCodes.NO_ACTIVE_PAYMENT_METHOD_ERROR) {\n actions.setUnsubscribeError({\n detail: error.detail,\n } as UnsubscribeError)\n } else if (error.code === BillingAPIErrorCodes.COULD_NOT_PAY_INVOICES_ERROR) {\n actions.setUnsubscribeError({\n detail: error.detail,\n link: (\n \n {error.link ? 'View invoice' : 'View invoices'}\n \n ),\n } as UnsubscribeError)\n }\n } else {\n actions.setUnsubscribeError({\n detail:\n typeof error.detail === 'string'\n ? error.detail\n : `We encountered a problem. Please try again or submit a support ticket.`,\n } as UnsubscribeError)\n }\n console.error(error)\n // This is a bit of a hack to prevent the page from re-rendering.\n return values.billing\n }\n },\n },\n ],\n billingError: [\n null as BillingError | null,\n {\n getInvoices: async () => {\n // First check to see if there are open invoices\n try {\n const res = await api.getResponse('api/billing/get_invoices?status=open')\n const jsonRes = await getJSONOrNull(res)\n const numOpenInvoices = jsonRes['count']\n if (numOpenInvoices > 0) {\n const viewInvoicesButton = {\n to:\n numOpenInvoices == 1 && jsonRes['link']\n ? jsonRes['link']\n : values.billing?.stripe_portal_url,\n children: `View invoice${numOpenInvoices > 1 ? 's' : ''}`,\n targetBlank: true,\n }\n return {\n status: 'warning',\n message: `You have ${numOpenInvoices} open invoice${\n numOpenInvoices > 1 ? 's' : ''\n }. Please pay ${\n numOpenInvoices > 1 ? 'them' : 'it'\n } before adding items to your subscription.`,\n action: viewInvoicesButton,\n }\n }\n } catch (error: any) {\n console.error(error)\n }\n return null\n },\n },\n ],\n creditOverview: [\n {\n eligible: false,\n estimated_monthly_credit_amount_usd: DEFAULT_ESTIMATED_MONTHLY_CREDIT_AMOUNT_USD,\n status: 'none',\n invoice_url: null,\n collection_method: null,\n cc_last_four: null,\n email: null,\n },\n {\n loadCreditOverview: async () => {\n // Check if the user is subscribed\n if (values.billing?.has_active_subscription) {\n const response = await api.get('api/billing/credits/overview')\n if (!values.creditForm.creditInput) {\n actions.setCreditFormValue(\n 'creditInput',\n Math.round(\n (response.estimated_monthly_credit_amount_usd ||\n DEFAULT_ESTIMATED_MONTHLY_CREDIT_AMOUNT_USD) * 12\n )\n )\n }\n\n if (response.eligible && response.status === 'none') {\n actions.reportCreditsCTAShown(response)\n }\n return response\n }\n // Return default values if not subscribed\n return {\n eligible: false,\n estimated_monthly_credit_amount_usd: DEFAULT_ESTIMATED_MONTHLY_CREDIT_AMOUNT_USD,\n status: 'none',\n invoice_url: null,\n collection_method: null,\n cc_last_four: null,\n email: null,\n }\n },\n },\n ],\n products: [\n [] as BillingProductV2Type[],\n {\n loadProducts: async () => {\n const response = await api.get('api/billing/available_products')\n return response\n },\n },\n ],\n })),\n selectors({\n upgradeLink: [(s) => [s.preflight], (): string => '/organization/billing'],\n isUnlicensedDebug: [\n (s) => [s.preflight, s.billing],\n (preflight, billing): boolean => !!preflight?.is_debug && !billing?.billing_period,\n ],\n projectedTotalAmountUsdWithBillingLimits: [\n (s) => [s.billing],\n (billing: BillingType): number => {\n if (!billing) {\n return 0\n }\n let projectedTotal = 0\n for (const product of billing.products || []) {\n const billingLimit =\n billing?.custom_limits_usd?.[product.type] ||\n (product.usage_key ? billing?.custom_limits_usd?.[product.usage_key] || 0 : 0)\n projectedTotal += Math.min(parseFloat(product.projected_amount_usd || '0'), billingLimit)\n }\n return projectedTotal\n },\n ],\n supportPlans: [\n (s) => [s.billing],\n (billing: BillingType): BillingPlanType[] => {\n const platformAndSupportProduct = billing?.products?.find(\n (product) => product.type == ProductKey.PLATFORM_AND_SUPPORT\n )\n if (!platformAndSupportProduct?.plans) {\n return []\n }\n\n const addonPlans = platformAndSupportProduct?.addons?.map((addon) => addon.plans).flat()\n const insertionIndex = Math.max(0, (platformAndSupportProduct?.plans?.length ?? 1) - 1)\n const allPlans = platformAndSupportProduct?.plans?.slice(0) || []\n allPlans.splice(insertionIndex, 0, ...addonPlans)\n return allPlans\n },\n ],\n hasSupportAddonPlan: [\n (s) => [s.billing],\n (billing: BillingType): boolean => {\n return !!billing?.products\n ?.find((product) => product.type == ProductKey.PLATFORM_AND_SUPPORT)\n ?.addons.find((addon) => addon.plans.find((plan) => plan.current_plan))\n },\n ],\n creditDiscount: [(s) => [s.computedDiscount], (computedDiscount) => computedDiscount || 0],\n }),\n forms(({ actions, values }) => ({\n activateLicense: {\n defaults: { license: '' } as { license: string },\n errors: ({ license }) => ({\n license: !license ? 'Please enter your license key' : undefined,\n }),\n submit: async ({ license }, breakpoint) => {\n await breakpoint(500)\n try {\n await api.update('api/billing/license', {\n license,\n })\n\n // Reset the URL so we don't trigger the license submission again\n router.actions.replace(\n `/${values.isOnboarding ? 'ingestion' : 'organization'}/billing?success=true`\n )\n setTimeout(() => {\n window.location.reload() // Permissions, projects etc will be out of date at this point, so refresh\n }, 100)\n } catch (e: any) {\n actions.setActivateLicenseManualErrors({\n license: e.detail || 'License could not be activated. Please contact support.',\n })\n throw e\n }\n },\n },\n creditForm: {\n defaults: {\n creditInput: '',\n collectionMethod: 'charge_automatically',\n },\n submit: async ({ creditInput, collectionMethod }) => {\n await api.create('api/billing/credits/purchase', {\n annual_amount_usd: +Math.round(+creditInput - +creditInput * values.creditDiscount),\n discount_percent: values.computedDiscount * 100,\n collection_method: collectionMethod,\n })\n\n actions.showPurchaseCreditsModal(false)\n actions.loadCreditOverview()\n actions.reportCreditsFormSubmitted(+creditInput)\n\n LemonDialog.open({\n title: 'Your credit purchase has been submitted',\n width: 536,\n content:\n collectionMethod === 'send_invoice' ? (\n <>\n

\n The invoice for your credits has been created and it will be emailed to the email on\n file.\n

\n

\n Once the invoice is paid we will apply the credits to your account. Until the\n invoice is paid you will be charged for usage as normal.\n

\n \n ) : (\n <>\n

\n Your card will be charged soon and the credits will be applied to your account.\n Please make sure your{' '}\n \n card on file\n {' '}\n is up to date. You will receive an email when the credits are applied.\n

\n \n ),\n })\n },\n errors: ({ creditInput, collectionMethod }) => ({\n creditInput: !creditInput\n ? 'Please enter the amount of credits you want to purchase'\n : // This value is used because 3333 - 10% = 3000\n +creditInput < 3333\n ? 'Please enter a credit amount of at least $3,333'\n : undefined,\n collectionMethod: !collectionMethod ? 'Please select a collection method' : undefined,\n }),\n },\n })),\n listeners(({ actions, values }) => ({\n reportBillingShown: () => {\n posthog.capture('billing v2 shown')\n },\n reportBillingAlertShown: ({ alertConfig }) => {\n posthog.capture('billing alert shown', {\n ...alertConfig,\n })\n },\n reportBillingAlertActionClicked: ({ alertConfig }) => {\n posthog.capture('billing alert action clicked', {\n ...alertConfig,\n })\n },\n reportCreditsModalShown: () => {\n posthog.capture('credits modal shown')\n },\n reportCreditsFormSubmitted: ({ creditInput }) => {\n posthog.capture('credits modal credit form submitted', {\n credit_amount_usd: creditInput,\n })\n },\n reportCreditsCTAShown: ({ creditOverview }) => {\n posthog.capture('credits cta shown', {\n eligible: creditOverview.eligible,\n status: creditOverview.status,\n estimated_monthly_credit_amount_usd:\n creditOverview.estimated_monthly_credit_amount_usd || DEFAULT_ESTIMATED_MONTHLY_CREDIT_AMOUNT_USD,\n })\n },\n toggleCreditCTAHeroDismissed: ({ isDismissed }) => {\n if (isDismissed) {\n posthog.capture('credits cta hero dismissed')\n }\n },\n loadBillingSuccess: () => {\n if (\n router.values.location.pathname.includes('/organization/billing') &&\n router.values.searchParams['success']\n ) {\n // if the activation is successful, we reload the user to get the updated billing info on the organization\n actions.loadUser()\n router.actions.replace('/organization/billing')\n }\n actions.registerInstrumentationProps()\n\n actions.determineBillingAlert()\n\n actions.loadCreditOverview()\n },\n determineBillingAlert: () => {\n if (values.productSpecificAlert) {\n actions.setBillingAlert(values.productSpecificAlert)\n return\n }\n\n if (!values.billing || !values.preflight?.cloud) {\n return\n }\n\n if (values.billing.free_trial_until && values.billing.free_trial_until.isAfter(dayjs())) {\n const remainingDays = values.billing.free_trial_until.diff(dayjs(), 'days')\n const remainingHours = values.billing.free_trial_until.diff(dayjs(), 'hours')\n\n if (remainingHours > 72) {\n return\n }\n\n actions.setBillingAlert({\n status: 'info',\n title: `Your free trial will end in ${\n remainingHours < 24 ? pluralize(remainingHours, 'hour') : pluralize(remainingDays, 'day')\n }.`,\n message: `Setup billing now to ensure you don't lose access to premium features.`,\n })\n return\n }\n\n if (values.billing.deactivated) {\n actions.setBillingAlert({\n status: 'error',\n title: 'Your organization has been temporarily suspended.',\n message: 'Please contact support to reactivate it.',\n contactSupport: true,\n })\n return\n }\n\n const productOverLimit = values.billing.products?.find((x: BillingProductV2Type) => {\n return x.percentage_usage > 1 && x.usage_key\n })\n\n if (productOverLimit) {\n actions.setBillingAlert({\n status: 'error',\n title: 'Usage limit exceeded',\n message: `You have exceeded the usage limit for ${productOverLimit.name}. Please \n ${productOverLimit.subscribed ? 'increase your billing limit' : 'upgrade your plan'}\n or ${\n productOverLimit.name === 'Data warehouse'\n ? 'data will not be synced'\n : 'data loss may occur'\n }.`,\n dismissKey: 'usage-limit-exceeded',\n })\n return\n }\n\n actions.resetUsageLimitExceededKey()\n\n const productApproachingLimit = values.billing.products?.find(\n (x) => x.percentage_usage > ALLOCATION_THRESHOLD_ALERT\n )\n\n if (productApproachingLimit) {\n actions.setBillingAlert({\n status: 'info',\n title: 'You will soon hit your usage limit',\n message: `You have currently used ${parseFloat(\n (productApproachingLimit.percentage_usage * 100).toFixed(2)\n )}% of your ${\n productApproachingLimit.usage_key && productApproachingLimit.usage_key.toLowerCase()\n } allocation.`,\n dismissKey: 'usage-limit-approaching',\n })\n return\n }\n\n actions.resetUsageLimitApproachingKey()\n },\n setCreditFormValue: ({ name, value }) => {\n if (name === 'creditInput' || (name as FieldNamePath)?.[0] === 'creditInput') {\n const spend = +value\n let discount = 0\n if (spend >= 100000) {\n discount = 0.35\n } else if (spend >= 60000) {\n discount = 0.25\n } else if (spend >= 20000) {\n discount = 0.2\n } else if (spend >= 3000) {\n discount = 0.1\n }\n actions.setComputedDiscount(discount)\n }\n },\n registerInstrumentationProps: async (_, breakpoint) => {\n await breakpoint(100)\n if (posthog && values.billing) {\n const payload = {\n has_billing_plan: !!values.billing.has_active_subscription,\n free_trial_until: values.billing.free_trial_until?.toISOString(),\n customer_deactivated: values.billing.deactivated,\n current_total_amount_usd: values.billing.current_total_amount_usd,\n }\n if (values.billing.custom_limits_usd) {\n for (const product of Object.keys(values.billing.custom_limits_usd)) {\n payload[`custom_limits_usd.${product}`] = values.billing.custom_limits_usd[product]\n }\n }\n if (values.billing.products) {\n for (const product of values.billing.products) {\n const type = product.type.toLowerCase()\n payload[`percentage_usage.${type}`] = product.percentage_usage\n payload[`current_amount_usd.${type}`] = product.current_amount_usd\n payload[`unit_amount_usd.${type}`] = product.unit_amount_usd\n payload[`usage_limit.${type}`] = product.usage_limit\n payload[`current_usage.${type}`] = product.current_usage\n payload[`projected_usage.${type}`] = product.projected_usage\n payload[`free_allocation.${type}`] = product.free_allocation\n }\n }\n if (values.billing.billing_period) {\n payload['billing_period_start'] = values.billing.billing_period.current_period_start\n payload['billing_period_end'] = values.billing.billing_period.current_period_end\n }\n posthog.register(payload)\n }\n },\n showPurchaseCreditsModal: ({ isOpen }) => {\n if (isOpen) {\n actions.reportCreditsModalShown()\n }\n },\n })),\n afterMount(({ actions }) => {\n actions.loadBilling()\n actions.getInvoices()\n }),\n urlToAction(({ actions }) => ({\n // IMPORTANT: This needs to be above the \"*\" so it takes precedence\n '/*/billing': (_params, _search, hash) => {\n if (hash.license) {\n actions.setShowLicenseDirectInput(true)\n actions.setActivateLicenseValues({ license: hash.license })\n actions.submitActivateLicense()\n }\n if (_search.products) {\n const products = _search.products.split(',')\n actions.setScrollToProductKey(products[0])\n }\n if (_search.billing_error) {\n actions.setBillingAlert({\n status: 'error',\n title: 'Error',\n message: _search.billing_error,\n })\n }\n actions.setRedirectPath()\n actions.setIsOnboarding()\n },\n '*': () => {\n actions.setRedirectPath()\n actions.setIsOnboarding()\n },\n })),\n])\n","import { LemonCollapse, LemonModal, Link } from '@posthog/lemon-ui'\nimport { useValues } from 'kea'\nimport { CodeSnippet, Language } from 'lib/components/CodeSnippet'\nimport EarlyAccessFeatureImage from 'public/early-access-feature-demo.png'\nimport { preflightLogic } from 'scenes/PreflightCheck/preflightLogic'\nimport { urls } from 'scenes/urls'\n\nimport { FeatureFlagType, PipelineStage, Region } from '~/types'\n\ninterface InstructionsModalProps {\n flag: FeatureFlagType['key']\n visible: boolean\n onClose: () => void\n}\n\nexport function InstructionsModal({ onClose, visible, flag }: InstructionsModalProps): JSX.Element {\n const { preflight } = useValues(preflightLogic)\n\n const getCloudPanels = (): JSX.Element => (\n \n Give your users a{' '}\n \n prebuilt widget\n {' '}\n to opt-in to features\n \n \n ),\n },\n {\n key: '2',\n header: 'Option 2: Custom implementation',\n content: (\n
\n Opt user in\n
\n \n
\n\n Opt user out\n
\n \n
\n\n Retrieve Previews\n
\n \n
\n
\n ),\n },\n ]}\n />\n )\n\n const getSelfHostedPanels = (): JSX.Element => (\n
\n Opt user in\n
\n \n
\n\n Opt user out\n
\n \n
\n\n Retrieve Previews\n
\n \n
\n
\n )\n\n const panels: JSX.Element = preflight?.cloud ? getCloudPanels() : getSelfHostedPanels()\n\n return (\n \n
\n
\n Implement manual release condition toggles to give your users the ability choose which features they\n want to try\n
\n {panels}\n
\n
\n )\n}\n\nfunction FeatureEnrollInstructions({ flag }: { flag: string }): JSX.Element {\n return (\n \n {`posthog.updateEarlyAccessFeatureEnrollment(\"${flag}\", true)\n`}\n \n )\n}\n\nfunction FeatureUnenrollInstructions({ flag }: { flag: string }): JSX.Element {\n return (\n \n {`posthog.updateEarlyAccessFeatureEnrollment(\"${flag}\", false)\n`}\n \n )\n}\n\nfunction RetrievePreviewsInstructions(): JSX.Element {\n return (\n \n {`posthog.getEarlyAccessFeatures((previewItemData) => {\n // do something with early access feature\n})\n`}\n \n )\n}\n","import { useValues } from 'kea'\nimport { CodeSnippet, Language } from 'lib/components/CodeSnippet'\nimport { apiHostOrigin } from 'lib/utils/apiHost'\nimport { teamLogic } from 'scenes/teamLogic'\n\nimport { GroupType } from '~/types'\n\nexport const UTM_TAGS = '?utm_medium=in-product&utm_campaign=feature-flag'\n\nexport interface FeatureFlagSnippet {\n flagKey: string\n multivariant?: boolean\n groupType?: GroupType\n localEvaluation?: boolean\n payload?: boolean\n samplePropertyName?: string\n instantlyAvailableProperties?: boolean\n}\n\nconst LOCAL_EVAL_REMINDER = `Remember to set a personal API key in the SDK to enable local evaluation.\n`\n\nexport function NodeJSSnippet({\n flagKey,\n groupType,\n multivariant,\n localEvaluation,\n payload,\n samplePropertyName,\n}: FeatureFlagSnippet): JSX.Element {\n const clientSuffix = 'await client.'\n const flagFunction = payload ? 'getFeatureFlagPayload' : multivariant ? 'getFeatureFlag' : 'isFeatureEnabled'\n\n const propertyName = samplePropertyName || 'is_authorized'\n\n const localEvalAddition = localEvaluation\n ? groupType\n ? `\n // add group properties used in the flag to ensure the flag\n // is evaluated locally, vs. going to our servers\n groupProperties: { ${groupType.group_type}: {'${propertyName}': 'value', 'name': 'xyz'}}`\n : `\n // add person properties used in the flag to ensure the flag\n // is evaluated locally, vs. going to our servers\n personProperties: {'${propertyName}': 'value'}`\n : ''\n\n const flagSnippet = groupType\n ? `${clientSuffix}${flagFunction}(\n '${flagKey}',\n 'user distinct id',${\n payload\n ? `\n undefined,`\n : ''\n }\n {\n groups: { '${groupType.group_type}': '<${groupType.name_singular || 'group'} ID>' },${localEvalAddition}\n }\n)`\n : localEvalAddition\n ? `${clientSuffix}${flagFunction}(\n '${flagKey}',\n 'user distinct id',${\n payload\n ? `\n undefined,`\n : ''\n }\n {${localEvalAddition}\n }\n)`\n : `${clientSuffix}${flagFunction}('${flagKey}', 'user distinct id')`\n\n const variableName = payload ? 'matchedFlagPayload' : multivariant ? 'enabledVariant' : 'isMyFlagEnabledForUser'\n\n const conditional = multivariant ? `${variableName} === 'example-variant'` : `${variableName}`\n\n const followUpCode = payload\n ? ''\n : `\n\nif (${conditional}) {\n // Do something differently for this ${groupType ? groupType.name_singular || 'group' : 'user'}\n}`\n\n return (\n <>\n \n {`${\n localEvaluation ? '// ' + LOCAL_EVAL_REMINDER : ''\n }const ${variableName} = ${flagSnippet}${followUpCode}`}\n \n \n )\n}\n\nexport function PHPSnippet({\n flagKey,\n groupType,\n multivariant,\n localEvaluation,\n samplePropertyName,\n}: FeatureFlagSnippet): JSX.Element {\n const clientSuffix = 'PostHog::'\n\n const flagFunction = multivariant ? 'getFeatureFlag' : 'isFeatureEnabled'\n\n const propertyName = samplePropertyName || 'is_authorized'\n\n const localEvalAddition = localEvaluation\n ? groupType\n ? `\n // empty person properties\n [],\n // add group properties used in the flag to ensure the flag\n // is evaluated locally, vs. going to our servers\n [${groupType.group_type} => ['${propertyName}' => 'value', 'name' => 'xyz']]`\n : `\n // add person properties used in the flag to ensure the flag\n // is evaluated locally, vs. going to our servers\n ['${propertyName}' => 'value']`\n : ''\n\n const flagSnippet = groupType\n ? `${clientSuffix}${flagFunction}(\n '${flagKey}',\n 'user distinct id',\n // group types\n ['${groupType.group_type}' => '<${groupType.name_singular || 'group'} ID>'],${localEvalAddition}\n)`\n : localEvalAddition\n ? `${clientSuffix}${flagFunction}(\n '${flagKey}',\n 'user distinct id',${localEvalAddition}\n)`\n : `${clientSuffix}${flagFunction}('${flagKey}', 'user distinct id')`\n const variableName = multivariant ? '$enabledVariant' : '$isMyFlagEnabledForUser'\n\n const conditional = multivariant ? `${variableName} === 'example-variant'` : `${variableName}`\n\n return (\n <>\n \n {`${localEvaluation ? '// ' + LOCAL_EVAL_REMINDER : ''}${variableName} = ${flagSnippet}\n\nif (${conditional}) {\n // Do something differently for this ${groupType ? groupType.name_singular || 'group' : 'user'}\n}`}\n \n \n )\n}\n\nexport function GolangSnippet({\n flagKey,\n groupType,\n multivariant,\n localEvaluation,\n samplePropertyName,\n}: FeatureFlagSnippet): JSX.Element {\n const clientSuffix = 'client.'\n\n const flagFunction = multivariant ? 'GetFeatureFlag' : 'IsFeatureEnabled'\n\n const propertyName = samplePropertyName || 'is_authorized'\n\n const localEvalAddition = localEvaluation\n ? groupType\n ? `\n // add group properties used in the flag to ensure the flag\n // is evaluated locally, vs. going to our servers\n groupProperties: map[string]Properties{\"${groupType.group_type}\": posthog.NewProperties().Set(\"${propertyName}\", \"value\").Set(\"name\", \"xyz\")}`\n : `\n // add person properties used in the flag to ensure the flag\n // is evaluated locally, vs. going to our servers\n PersonProperties: posthog.NewProperties().Set(\"${propertyName}\", \"value\")`\n : ''\n\n const flagSnippet = groupType\n ? `${clientSuffix}${flagFunction}(\n FeatureFlagPayload{\n Key: \"${flagKey}\",\n DistinctId: \"distinct-id\",\n Groups: Groups{'${groupType.group_type}': '<${groupType.name_singular || 'group'} ID>'},${localEvalAddition}\n }\n)`\n : `${clientSuffix}${flagFunction}(\n FeatureFlagPayload{\n Key: '${flagKey}',\n DistinctId: \"distinct-id\",${localEvalAddition}\n })`\n const variableName = multivariant ? 'enabledVariant, err' : 'isMyFlagEnabledForUser, err'\n\n const conditional = multivariant ? `enabledVariant == 'example-variant'` : `isMyFlagEnabledForUser`\n\n return (\n <>\n \n {`${localEvaluation ? '// ' + LOCAL_EVAL_REMINDER : ''}${variableName} := ${flagSnippet}\n\nif ${conditional} {\n // Do something differently for this ${groupType ? groupType.name_singular || 'group' : 'user'}\n}`}\n \n \n )\n}\n\nexport function RubySnippet({\n flagKey,\n groupType,\n multivariant,\n localEvaluation,\n payload,\n samplePropertyName,\n}: FeatureFlagSnippet): JSX.Element {\n const clientSuffix = 'posthog.'\n const flagFunction = payload ? 'get_feature_flag_payload' : multivariant ? 'get_feature_flag' : 'is_feature_enabled'\n\n const propertyName = samplePropertyName || 'is_authorized'\n\n const localEvalAddition = localEvaluation\n ? groupType\n ? `\n # add group properties used in the flag to ensure the flag\n # is evaluated locally, vs. going to our servers\n group_properties: { ${groupType.group_type}: {'${propertyName}': 'value', 'name': 'xyz'}}`\n : `\n # add person properties used in the flag to ensure the flag\n # is evaluated locally, vs. going to our servers\n person_properties: {'${propertyName}': 'value'}`\n : ''\n\n const flagSnippet = groupType\n ? `${clientSuffix}${flagFunction}(\n '${flagKey}',\n 'user distinct id',\n groups: { '${groupType.group_type}': '<${groupType.name_singular || 'group'} ID>' },${localEvalAddition}\n)`\n : localEvalAddition\n ? `${clientSuffix}${flagFunction}(\n '${flagKey}',\n 'user distinct id',${localEvalAddition}\n)`\n : `${clientSuffix}${flagFunction}('${flagKey}', 'user distinct id')`\n const variableName = payload ? 'matched_flag_payload' : multivariant ? 'enabled_variant' : 'is_my_flag_enabled'\n\n const conditional = multivariant ? `${variableName} == 'example-variant'` : `${variableName}`\n\n const followUpCode = payload\n ? ''\n : `\n\nif ${conditional}\n # Do something differently for this ${groupType ? groupType.name_singular || 'group' : 'user'}\nend`\n\n return (\n <>\n \n {`${localEvaluation ? '# ' + LOCAL_EVAL_REMINDER : ''}${variableName} = ${flagSnippet}${followUpCode}`}\n \n \n )\n}\n\nexport function PythonSnippet({\n flagKey,\n groupType,\n multivariant,\n localEvaluation,\n payload,\n samplePropertyName,\n}: FeatureFlagSnippet): JSX.Element {\n const clientSuffix = 'posthog.'\n const flagFunction = payload ? 'get_feature_flag_payload' : multivariant ? 'get_feature_flag' : 'feature_enabled'\n\n const propertyName = samplePropertyName || 'is_authorized'\n\n const localEvalAddition = localEvaluation\n ? groupType\n ? `\n # add group properties used in the flag to ensure the flag\n # is evaluated locally, vs. going to our servers\n group_properties={ ${groupType.group_type}: {'${propertyName}': 'value', 'name': 'xyz'}}`\n : `\n # add person properties used in the flag to ensure the flag\n # is evaluated locally, vs. going to our servers\n person_properties={'${propertyName}': 'value'}`\n : ''\n\n const flagSnippet = groupType\n ? `${clientSuffix}${flagFunction}(\n '${flagKey}',\n 'user distinct id',\n groups={ '${groupType.group_type}': '<${groupType.name_singular || 'group'} ID>' },${localEvalAddition}\n)`\n : localEvalAddition\n ? `${clientSuffix}${flagFunction}(\n '${flagKey}',\n 'user distinct id',${localEvalAddition}\n)`\n : `${clientSuffix}${flagFunction}('${flagKey}', 'user distinct id')`\n const variableName = payload ? 'matched_flag_payload' : multivariant ? 'enabled_variant' : 'is_my_flag_enabled'\n\n const conditional = multivariant ? `${variableName} == 'example-variant'` : `${variableName}`\n\n const followUpCode = payload\n ? ''\n : `\n\nif ${conditional}:\n # Do something differently for this ${groupType ? groupType.name_singular || 'group' : 'user'}\n`\n\n return (\n <>\n \n {`${localEvaluation ? '# ' + LOCAL_EVAL_REMINDER : ''}${variableName} = ${flagSnippet}${followUpCode}`}\n \n \n )\n}\n\nexport function AndroidSnippet({ flagKey, multivariant, payload }: FeatureFlagSnippet): JSX.Element {\n const clientSuffix = 'PostHog.'\n\n if (payload) {\n return (\n \n {`${clientSuffix}getFeatureFlagPayload(\"${flagKey}\")`}\n \n )\n }\n\n const flagFunction = multivariant ? 'getFeatureFlag' : 'isFeatureEnabled'\n\n const variantSuffix = multivariant ? ` == \"example-variant\"` : ''\n return (\n \n {`if (${clientSuffix}${flagFunction}(\"${flagKey}\")${variantSuffix}) {\n // do something\n}\n `}\n \n )\n}\n\nexport function FlutterSnippet({ flagKey, multivariant, payload }: FeatureFlagSnippet): JSX.Element {\n const clientSuffix = 'await Posthog().'\n\n if (payload) {\n return (\n \n {`${clientSuffix}getFeatureFlagPayload('${flagKey}');`}\n \n )\n }\n\n const flagFunction = multivariant ? 'getFeatureFlag' : 'isFeatureEnabled'\n\n const variantSuffix = multivariant ? ` == 'example-variant'` : ''\n\n return (\n \n {`if (${clientSuffix}${flagFunction}('${flagKey}')${variantSuffix}) {\n // do something\n}\n `}\n \n )\n}\n\nexport function iOSSnippet({ flagKey, multivariant, payload }: FeatureFlagSnippet): JSX.Element {\n const clientSuffix = 'PostHogSDK.shared.'\n\n if (payload) {\n return (\n \n {`${clientSuffix}getFeatureFlagPayload(\"${flagKey}\")`}\n \n )\n }\n\n const flagFunction = multivariant ? 'getFeatureFlag' : 'isFeatureEnabled'\n\n const variantSuffix = multivariant ? `as? String == \"example-variant\"` : ''\n return (\n \n {`if ${clientSuffix}${flagFunction}(\"${flagKey}\")${variantSuffix} {\n // do something\n}`}\n \n )\n}\n\nexport function ReactNativeSnippet({ flagKey, multivariant, payload }: FeatureFlagSnippet): JSX.Element {\n const clientSuffix = 'posthog.'\n\n if (payload) {\n return (\n \n {`${clientSuffix}getFeatureFlagPayload('${flagKey}')`}\n \n )\n }\n\n const flagFunction = multivariant ? 'getFeatureFlag' : 'isFeatureEnabled'\n\n const variantSuffix = multivariant ? ` == 'example-variant'` : ''\n return (\n \n {`// With a hook\nimport { useFeatureFlag } from 'posthog-react-native'\n\nconst MyComponent = () => {\n const showFlaggedFeature = useFeatureFlag('${flagKey}')\n\n if (showFlaggedFeature === undefined) {\n // the response is undefined if the flags are being loaded\n return null\n }\n\n return showFlaggedFeature ${variantSuffix} ? Testing feature 😄 : Not Testing feature 😢\n}\n\n// Or calling on the method directly\n${clientSuffix}${flagFunction}('${flagKey}')\n `}\n \n )\n}\n\nexport function ReactSnippet({ flagKey, multivariant, payload }: FeatureFlagSnippet): JSX.Element {\n const flagFunction = payload\n ? 'useFeatureFlagPayload'\n : multivariant\n ? 'useFeatureFlagVariantKey'\n : 'useFeatureFlagEnabled'\n\n const variable = payload ? 'payload' : multivariant ? 'variant' : 'flagEnabled'\n const variantSuffix = multivariant ? ` == 'example-variant'` : ''\n\n return (\n \n {`\nimport { ${flagFunction} } from 'posthog-js/react'\n\nfunction App() {\n const ${variable} = ${flagFunction}('${flagKey}')\n\n if (${variable}${variantSuffix}) {\n // do something\n }\n}`}\n \n )\n}\n\nexport function APISnippet({ groupType }: FeatureFlagSnippet): JSX.Element {\n const { currentTeam } = useValues(teamLogic)\n\n const groupAddition = groupType\n ? `\n \"groups\": { \"${groupType.group_type}\": \"<${groupType.name_singular || 'group'} ID>\" },`\n : ''\n\n return (\n <>\n \n {`curl ${apiHostOrigin()}/decide?v=3/ \\\\\n-X POST -H 'Content-Type: application/json' \\\\\n-d '{\n \"api_key\": \"${currentTeam ? currentTeam.api_token : '[project_api_key]'}\",\n \"distinct_id\": \"[user distinct id]\",${groupAddition}\n}'\n `}\n \n \n )\n}\n\nexport function JSSnippet({\n flagKey,\n multivariant,\n payload,\n groupType,\n instantlyAvailableProperties,\n samplePropertyName,\n}: FeatureFlagSnippet): JSX.Element {\n if (payload) {\n return (\n <>\n \n {`posthog.getFeatureFlagPayload('${flagKey ?? ''}')`}\n \n \n )\n }\n\n const propertyName = samplePropertyName || 'is_authorized'\n\n const propertyOverrideSnippet = `// Your flag depends on properties that are not instantly available. If you want\n// to make them available without waiting for server delays, send these properties for flag evaluation, like so:\n// Make sure to call this before evaluating flags. More info: https://posthog.com/docs/libraries/js#overriding-server-properties \nposthog.${\n groupType\n ? `setGroupPropertiesForFlags({ '${groupType.group_type}': {'${propertyName}': 'value'}})`\n : `setPersonPropertiesForFlags({'${propertyName}': 'value'})`\n }\n\n`\n\n const clientSuffix = 'posthog.'\n const flagFunction = multivariant ? 'getFeatureFlag' : 'isFeatureEnabled'\n\n const variantSuffix = multivariant ? ` == 'example-variant'` : ''\n return (\n <>\n \n {`${instantlyAvailableProperties ? '' : propertyOverrideSnippet}// Ensure flags are loaded before usage.\n// You'll only need to call this on the code for when the first time a user visits.\n${clientSuffix}onFeatureFlags(function() {\n // feature flags should be available at this point\n if (${clientSuffix}${flagFunction}('${flagKey ?? ''}') ${variantSuffix}) {\n // do something\n }\n})\n\n// Otherwise, you can just do:\nif (${clientSuffix}${flagFunction}('${flagKey ?? ''}') ${variantSuffix}) {\n // do something\n}`}\n \n \n )\n}\n\nexport function JSBootstrappingSnippet(): JSX.Element {\n return (\n \n {`// Initialise the posthog library with a distinct ID and feature flags for immediate loading\n// This avoids the delay between the library loading and feature flags becoming available to use.\n\nposthog.init('{project_api_key}', {\n api_host: '${apiHostOrigin()}'\n bootstrap:\n {\n distinctID: 'your-anonymous-id',\n featureFlags: {\n // input the flag values here from 'posthog.getAllFlags(distinct_id)' which you can find in the server-side libraries.\n // example:\n // 'flag-1': true,\n // 'variant-flag': 'control',\n // 'other-flag': false\n },\n }\n})\n `}\n \n )\n}\n","import { mergeAttributes, Node, NodeViewProps } from '@tiptap/core'\nimport { NodeViewWrapper, ReactNodeViewRenderer } from '@tiptap/react'\nimport { NotebookNodeType, NotebookTarget } from '~/types'\nimport { dayjs } from 'lib/dayjs'\nimport { JSONContent } from '../Notebook/utils'\nimport clsx from 'clsx'\nimport { urls } from 'scenes/urls'\nimport { LemonButton } from '@posthog/lemon-ui'\nimport { notebookLogic } from '../Notebook/notebookLogic'\nimport { useValues } from 'kea'\nimport { useMemo } from 'react'\nimport { openNotebook } from '~/models/notebooksModel'\n\nexport interface NotebookNodeReplayTimestampAttrs {\n playbackTime?: number\n sessionRecordingId: string\n sourceNodeId?: string\n}\n\nconst Component = (props: NodeViewProps): JSX.Element => {\n const { shortId, findNodeLogic, findNodeLogicById } = useValues(notebookLogic)\n const { sessionRecordingId, playbackTime = 0, sourceNodeId } = props.node.attrs as NotebookNodeReplayTimestampAttrs\n\n const relatedNodeInNotebook = useMemo(() => {\n const logicById = sourceNodeId ? findNodeLogicById(sourceNodeId) : null\n\n return logicById ?? findNodeLogic(NotebookNodeType.Recording, { id: sessionRecordingId })\n }, [findNodeLogic])\n\n const handlePlayInNotebook = (): void => {\n // TODO: Figure out how to send this action info to the playlist OR the replay node...\n\n relatedNodeInNotebook?.values.sendMessage('play-replay', {\n sessionRecordingId,\n time: playbackTime ?? 0,\n })\n }\n\n return (\n \n openNotebook(shortId, NotebookTarget.Popover)\n }\n to={\n !relatedNodeInNotebook\n ? urls.replaySingle(sessionRecordingId) + `?t=${playbackTime / 1000}`\n : undefined\n }\n >\n {formatTimestamp(playbackTime)}\n \n \n )\n}\n\nexport const NotebookNodeReplayTimestamp = Node.create({\n name: NotebookNodeType.ReplayTimestamp,\n inline: true,\n group: 'inline',\n atom: true,\n\n serializedText: (attrs: NotebookNodeReplayTimestampAttrs): string => {\n // timestamp is not a block so `getText` does not add a separator.\n // we need to add it manually\n return `${attrs.playbackTime ? formatTimestamp(attrs.playbackTime) : '00:00'}:\\n`\n },\n\n addAttributes() {\n return {\n playbackTime: { default: null, keepOnSplit: false },\n sessionRecordingId: { default: null, keepOnSplit: true, isRequired: true },\n sourceNodeId: { default: null, keepOnSplit: true },\n }\n },\n\n parseHTML() {\n return [{ tag: NotebookNodeType.ReplayTimestamp }]\n },\n\n renderHTML({ HTMLAttributes }) {\n return [NotebookNodeType.ReplayTimestamp, mergeAttributes(HTMLAttributes)]\n },\n\n addNodeView() {\n return ReactNodeViewRenderer(Component)\n },\n})\n\nexport function formatTimestamp(time: number): string {\n return dayjs.duration(time, 'milliseconds').format('HH:mm:ss').replace(/^00:/, '').trim()\n}\n\nexport function buildTimestampCommentContent(attrs: NotebookNodeReplayTimestampAttrs): JSONContent {\n return {\n type: 'paragraph',\n content: [\n {\n type: NotebookNodeType.ReplayTimestamp,\n attrs,\n },\n { type: 'text', text: ' ' },\n ],\n }\n}\n","import {\n IconCursor,\n IconFunnels,\n IconHogQL,\n IconLifecycle,\n IconPeople,\n IconRetention,\n IconRewindPlay,\n IconStickiness,\n IconTrends,\n IconUpload,\n IconUserPaths,\n} from '@posthog/icons'\nimport { IconCode } from '@posthog/icons'\nimport { LemonButton, LemonDivider, lemonToast } from '@posthog/lemon-ui'\nimport { Extension } from '@tiptap/core'\nimport { ReactRenderer } from '@tiptap/react'\nimport Suggestion from '@tiptap/suggestion'\nimport Fuse from 'fuse.js'\nimport { useValues } from 'kea'\nimport { IconBold, IconItalic } from 'lib/lemon-ui/icons'\nimport { Popover } from 'lib/lemon-ui/Popover'\nimport { selectFiles } from 'lib/utils/file-utils'\nimport { forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useState } from 'react'\n\nimport { KeyboardShortcut } from '~/layout/navigation-3000/components/KeyboardShortcut'\nimport { defaultDataTableColumns } from '~/queries/nodes/DataTable/utils'\nimport { NodeKind } from '~/queries/schema'\nimport { BaseMathType, ChartDisplayType, FunnelVizType, NotebookNodeType, PathType, RetentionPeriod } from '~/types'\n\nimport { buildNodeEmbed } from '../Nodes/NotebookNodeEmbed'\nimport { buildInsightVizQueryContent, buildNodeQueryContent } from '../Nodes/NotebookNodeQuery'\nimport NotebookIconHeading from './NotebookIconHeading'\nimport { notebookLogic } from './notebookLogic'\nimport { EditorCommands, EditorRange } from './utils'\n\ntype SlashCommandConditionalProps =\n | {\n mode: 'add'\n getPos: () => number\n range?: never\n }\n | {\n mode: 'slash'\n getPos?: never\n range: EditorRange\n }\n\ntype SlashCommandsProps = SlashCommandConditionalProps & {\n query?: string\n decorationNode?: any\n onClose?: () => void\n}\n\ntype SlashCommandsPopoverProps = SlashCommandsProps & {\n visible: boolean\n children?: JSX.Element\n}\n\ntype SlashCommandsRef = {\n onKeyDown: (event: KeyboardEvent) => boolean\n}\n\ntype SlashCommandsItem = {\n title: string\n search?: string\n icon?: JSX.Element\n command: (chain: EditorCommands, pos: number | EditorRange) => EditorCommands | Promise\n}\n\nconst TEXT_CONTROLS: SlashCommandsItem[] = [\n {\n title: 'h1',\n icon: ,\n command: (chain) => chain.toggleHeading({ level: 1 }),\n },\n {\n title: 'h2',\n icon: ,\n command: (chain) => chain.toggleHeading({ level: 2 }),\n },\n {\n title: 'h3',\n icon: ,\n command: (chain) => chain.toggleHeading({ level: 3 }),\n },\n {\n title: 'bold',\n icon: ,\n command: (chain) => chain.toggleBold(),\n },\n {\n title: 'italic',\n icon: ,\n command: (chain) => chain.toggleItalic(),\n },\n]\n\nconst SLASH_COMMANDS: SlashCommandsItem[] = [\n {\n title: 'Trend',\n search: 'graph trend insight',\n icon: ,\n command: (chain, pos) =>\n chain.insertContentAt(\n pos,\n buildInsightVizQueryContent({\n kind: NodeKind.TrendsQuery,\n filterTestAccounts: false,\n series: [\n {\n kind: NodeKind.EventsNode,\n event: '$pageview',\n name: '$pageview',\n math: BaseMathType.TotalCount,\n },\n ],\n interval: 'day',\n trendsFilter: {\n display: ChartDisplayType.ActionsLineGraph,\n },\n })\n ),\n },\n {\n title: 'Funnel',\n search: 'funnel insight',\n icon: ,\n command: (chain, pos) =>\n chain.insertContentAt(\n pos,\n buildInsightVizQueryContent({\n kind: NodeKind.FunnelsQuery,\n series: [\n {\n kind: NodeKind.EventsNode,\n name: '$pageview',\n event: '$pageview',\n },\n {\n kind: NodeKind.EventsNode,\n name: '$pageview',\n event: '$pageview',\n },\n ],\n funnelsFilter: {\n funnelVizType: FunnelVizType.Steps,\n },\n })\n ),\n },\n {\n title: 'Retention',\n search: 'retention insight',\n icon: ,\n command: (chain, pos) =>\n chain.insertContentAt(\n pos,\n buildInsightVizQueryContent({\n kind: NodeKind.RetentionQuery,\n retentionFilter: {\n period: RetentionPeriod.Day,\n totalIntervals: 11,\n targetEntity: {\n id: '$pageview',\n name: '$pageview',\n type: 'events',\n },\n returningEntity: {\n id: '$pageview',\n name: '$pageview',\n type: 'events',\n },\n retentionType: 'retention_first_time',\n },\n })\n ),\n },\n {\n title: 'Paths',\n search: 'user paths insight',\n icon: ,\n command: (chain, pos) =>\n chain.insertContentAt(\n pos,\n buildInsightVizQueryContent({\n kind: NodeKind.PathsQuery,\n pathsFilter: {\n includeEventTypes: [PathType.PageView],\n },\n })\n ),\n },\n {\n title: 'Stickiness',\n search: 'stickiness insight',\n icon: ,\n command: (chain, pos) =>\n chain.insertContentAt(\n pos,\n buildInsightVizQueryContent({\n kind: NodeKind.StickinessQuery,\n series: [\n {\n kind: NodeKind.EventsNode,\n name: '$pageview',\n event: '$pageview',\n math: BaseMathType.TotalCount,\n },\n ],\n stickinessFilter: {},\n })\n ),\n },\n {\n title: 'Lifecycle',\n search: 'lifecycle insight',\n icon: ,\n command: (chain, pos) =>\n chain.insertContentAt(\n pos,\n buildInsightVizQueryContent({\n kind: NodeKind.LifecycleQuery,\n series: [\n {\n kind: NodeKind.EventsNode,\n name: '$pageview',\n event: '$pageview',\n math: BaseMathType.TotalCount,\n },\n ],\n })\n ),\n },\n {\n title: 'HogQL',\n search: 'sql',\n icon: ,\n command: (chain, pos) =>\n chain.insertContentAt(\n pos,\n buildNodeQueryContent({\n kind: NodeKind.DataTableNode,\n source: {\n kind: NodeKind.HogQLQuery,\n query: `select event,\n person.properties.email,\n properties.$browser,\n count()\n from events\n where {filters} -- replaced with global date and property filters\n and person.properties.email is not null\ngroup by event,\n properties.$browser,\n person.properties.email\norder by count() desc\n limit 100`,\n filters: {\n dateRange: {\n date_from: '-24h',\n },\n },\n },\n })\n ),\n },\n {\n title: 'Events',\n search: 'data explore',\n icon: ,\n command: (chain, pos) =>\n chain.insertContentAt(\n pos,\n buildNodeQueryContent({\n kind: NodeKind.DataTableNode,\n source: {\n kind: NodeKind.EventsQuery,\n select: defaultDataTableColumns(NodeKind.EventsQuery),\n properties: [],\n after: '-24h',\n limit: 100,\n },\n })\n ),\n },\n {\n title: 'People',\n search: 'persons users',\n icon: ,\n command: (chain, pos) =>\n chain.insertContentAt(\n pos,\n buildNodeQueryContent({\n kind: NodeKind.DataTableNode,\n columns: defaultDataTableColumns(NodeKind.ActorsQuery),\n source: {\n kind: NodeKind.ActorsQuery,\n properties: [],\n },\n })\n ),\n },\n {\n title: 'Session recordings',\n search: 'video replay',\n icon: ,\n command: (chain, pos) => chain.insertContentAt(pos, { type: NotebookNodeType.RecordingPlaylist, attrs: {} }),\n },\n {\n title: 'Image',\n search: 'picture gif',\n icon: ,\n command: async (chain, pos) => {\n // Trigger upload followed by insert\n try {\n const files = await selectFiles({ contentType: 'image/*', multiple: false })\n\n if (files.length) {\n return chain.insertContentAt(pos, { type: NotebookNodeType.Image, attrs: { file: files[0] } })\n }\n } catch (e) {\n lemonToast.error('Something went wrong when trying to select a file.')\n }\n\n return chain\n },\n },\n {\n title: 'Embedded iframe',\n search: 'iframe embed',\n icon: ,\n command: async (chain, pos) => {\n return chain.insertContentAt(pos, buildNodeEmbed())\n },\n },\n]\n\nexport const SlashCommands = forwardRef(function SlashCommands(\n { mode, range, getPos, onClose, query }: SlashCommandsProps,\n ref\n): JSX.Element | null {\n const { editor } = useValues(notebookLogic)\n // We start with 1 because the first item is the text controls\n const [selectedIndex, setSelectedIndex] = useState(0)\n const [selectedHorizontalIndex, setSelectedHorizontalIndex] = useState(0)\n\n const allCommmands = [...TEXT_CONTROLS, ...SLASH_COMMANDS]\n\n const fuse = useMemo(() => {\n return new Fuse(allCommmands, {\n keys: ['title', 'search'],\n threshold: 0.3,\n })\n }, [allCommmands])\n\n const filteredCommands = useMemo(() => {\n if (!query) {\n return allCommmands\n }\n return fuse.search(query).map((result) => result.item)\n }, [query, fuse])\n\n const filteredSlashCommands = useMemo(\n () => filteredCommands.filter((item) => SLASH_COMMANDS.includes(item)),\n [filteredCommands]\n )\n\n useEffect(() => {\n setSelectedIndex(0)\n setSelectedHorizontalIndex(0)\n }, [query])\n\n const execute = async (item: SlashCommandsItem): Promise => {\n if (editor) {\n const selectedNode = editor.getSelectedNode()\n const isTextNode = selectedNode === null || selectedNode.isText\n const isTextCommand = TEXT_CONTROLS.map((c) => c.title).includes(item.title)\n\n const position = mode === 'slash' ? range.from : getPos()\n let chain = mode === 'slash' ? editor.deleteRange(range) : editor.chain()\n\n if (!isTextNode && isTextCommand) {\n chain = chain.insertContentAt(position, { type: 'paragraph' })\n }\n\n const partialCommand = await item.command(chain, position)\n partialCommand.run()\n\n onClose?.()\n }\n }\n\n const onPressEnter = async (): Promise => {\n const command =\n selectedIndex === -1 ? TEXT_CONTROLS[selectedHorizontalIndex] : filteredSlashCommands[selectedIndex]\n\n await execute(command)\n }\n const onPressUp = (): void => {\n setSelectedIndex(Math.max(selectedIndex - 1, -1))\n }\n const onPressDown = (): void => {\n setSelectedIndex(Math.min(selectedIndex + 1, SLASH_COMMANDS.length - 1))\n }\n\n const onPressLeft = (): void => {\n setSelectedHorizontalIndex(Math.max(selectedHorizontalIndex - 1, 0))\n }\n const onPressRight = (): void => {\n setSelectedHorizontalIndex(Math.min(selectedHorizontalIndex + 1, TEXT_CONTROLS.length - 1))\n }\n\n const onKeyDown = useCallback(\n (event: KeyboardEvent): boolean => {\n const keyMappings = {\n ArrowUp: onPressUp,\n ArrowDown: onPressDown,\n ArrowLeft: onPressLeft,\n ArrowRight: onPressRight,\n Enter: onPressEnter,\n }\n\n if (keyMappings[event.key]) {\n keyMappings[event.key]()\n return true\n }\n\n return false\n },\n [selectedIndex, selectedHorizontalIndex, filteredCommands]\n )\n\n // Expose the keydown handler to the tiptap extension\n useImperativeHandle(ref, () => ({ onKeyDown }), [onKeyDown])\n\n useEffect(() => {\n if (mode !== 'add') {\n return\n }\n\n // If not opened from a slash command, we want to add our own keyboard listeners\n const keyDownListener = (event: KeyboardEvent): void => {\n const preventDefault = onKeyDown(event)\n if (preventDefault) {\n event.preventDefault()\n }\n }\n\n window.addEventListener('keydown', keyDownListener, true)\n\n return () => window.removeEventListener('keydown', keyDownListener, true)\n }, [onKeyDown, mode])\n\n if (!editor) {\n return null\n }\n\n return (\n
\n
\n {TEXT_CONTROLS.map((item, index) => (\n void execute(item)}\n icon={item.icon}\n />\n ))}\n
\n\n \n\n {filteredSlashCommands.map((item, index) => (\n void execute(item)}\n >\n {item.title}\n \n ))}\n\n {filteredSlashCommands.length === 0 && (\n
\n Nothing matching /{query}\n
\n )}\n\n {mode === 'add' && (\n <>\n \n
\n You can trigger this menu by typing \n
\n \n )}\n
\n )\n})\n\nexport const SlashCommandsPopover = forwardRef(\n function SlashCommandsPopover(\n { visible = true, decorationNode, children, onClose, ...props }: SlashCommandsPopoverProps,\n ref\n ): JSX.Element | null {\n return (\n }\n referenceElement={decorationNode}\n visible={visible}\n onClickOutside={onClose}\n >\n {children}\n \n )\n }\n)\n\nexport const SlashCommandsExtension = Extension.create({\n name: 'slash-commands',\n\n addProseMirrorPlugins() {\n return [\n Suggestion({\n editor: this.editor,\n char: '/',\n startOfLine: true,\n render: () => {\n let renderer: ReactRenderer\n\n return {\n onStart: (props) => {\n renderer = new ReactRenderer(SlashCommandsPopover, {\n props: { ...props, mode: 'slash' },\n editor: props.editor,\n })\n },\n\n onUpdate(props) {\n renderer.updateProps(props)\n\n if (!props.clientRect) {\n return\n }\n },\n\n onKeyDown(props) {\n if (props.event.key === 'Escape') {\n renderer.destroy()\n return true\n }\n return renderer.ref?.onKeyDown(props.event) ?? false\n },\n\n onExit() {\n renderer.destroy()\n },\n }\n },\n }),\n ]\n },\n})\n","import {\n addedNodeMutation,\n customEvent,\n EventType,\n fullSnapshotEvent,\n incrementalSnapshotEvent,\n IncrementalSource,\n metaEvent,\n mutationData,\n removedNodeMutation,\n} from '@rrweb/types'\nimport { captureMessage } from '@sentry/react'\nimport { isObject } from 'lib/utils'\nimport { PLACEHOLDER_SVG_DATA_IMAGE_URL } from 'scenes/session-recordings/player/rrweb'\n\nimport {\n attributes,\n documentNode,\n elementNode,\n fullSnapshotEvent as MobileFullSnapshotEvent,\n keyboardEvent,\n metaEvent as MobileMetaEvent,\n MobileIncrementalSnapshotEvent,\n MobileNodeMutation,\n MobileNodeType,\n NodeType,\n serializedNodeWithId,\n textNode,\n wireframe,\n wireframeButton,\n wireframeCheckBox,\n wireframeDiv,\n wireframeImage,\n wireframeInputComponent,\n wireframeNavigationBar,\n wireframePlaceholder,\n wireframeProgress,\n wireframeRadio,\n wireframeRadioGroup,\n wireframeRectangle,\n wireframeScreenshot,\n wireframeSelect,\n wireframeStatusBar,\n wireframeText,\n wireframeToggle,\n} from '../mobile.types'\nimport { makeNavigationBar, makeOpenKeyboardPlaceholder, makeStatusBar } from './screen-chrome'\nimport { ConversionContext, ConversionResult } from './types'\nimport {\n asStyleString,\n makeBodyStyles,\n makeColorStyles,\n makeDeterminateProgressStyles,\n makeHTMLStyles,\n makeIndeterminateProgressStyles,\n makeMinimalStyles,\n makePositionStyles,\n makeStylesString,\n} from './wireframeStyle'\n\nexport const BACKGROUND = '#f3f4ef'\nconst FOREGROUND = '#35373e'\n\n/**\n * generates a sequence of ids\n * from 100 to 9,999,999\n * the transformer reserves ids in the range 0 to 9,999,999\n * we reserve a range of ids because we need nodes to have stable ids across snapshots\n * in order for incremental snapshots to work\n * some mobile elements have to be wrapped in other elements in order to be styled correctly\n * which means the web version of a mobile replay will use ids that don't exist in the mobile replay,\n * and we need to ensure they don't clash\n * -----\n * id is typed as a number in rrweb\n * and there's a few places in their code where rrweb uses a check for `id === -1` to bail out of processing\n * so, it's safest to assume that id is expected to be a positive integer\n */\nfunction* ids(): Generator {\n let i = 100\n while (i < 9999999) {\n yield i++\n }\n}\n\nlet globalIdSequence = ids()\n\n// there are some fixed ids that we need to use for fixed elements or artificial mutations\nconst DOCUMENT_ID = 1\nconst HTML_DOC_TYPE_ID = 2\nconst HTML_ELEMENT_ID = 3\nconst HEAD_ID = 4\nconst BODY_ID = 5\n// the nav bar should always be the last item in the body so that it is at the top of the stack\nconst NAVIGATION_BAR_PARENT_ID = 7\nexport const NAVIGATION_BAR_ID = 8\n// the keyboard so that it is still before the nav bar\nconst KEYBOARD_PARENT_ID = 9\nexport const KEYBOARD_ID = 10\nexport const STATUS_BAR_PARENT_ID = 11\nexport const STATUS_BAR_ID = 12\n\nfunction isKeyboardEvent(x: unknown): x is keyboardEvent {\n return isObject(x) && 'data' in x && isObject(x.data) && 'tag' in x.data && x.data.tag === 'keyboard'\n}\n\nexport function _isPositiveInteger(id: unknown): id is number {\n return typeof id === 'number' && id > 0 && id % 1 === 0\n}\n\nfunction _isNullish(x: unknown): x is null | undefined {\n return x === null || x === undefined\n}\n\nfunction isRemovedNodeMutation(x: addedNodeMutation | removedNodeMutation): x is removedNodeMutation {\n return isObject(x) && 'id' in x\n}\n\nexport const makeCustomEvent = (\n mobileCustomEvent: (customEvent | keyboardEvent) & {\n timestamp: number\n delay?: number\n }\n): (customEvent | incrementalSnapshotEvent) & {\n timestamp: number\n delay?: number\n} => {\n if (isKeyboardEvent(mobileCustomEvent)) {\n // keyboard events are handled as incremental snapshots to add or remove a keyboard from the DOM\n // TODO eventually we can pass something to makeIncrementalEvent here\n const adds: addedNodeMutation[] = []\n const removes = []\n if (mobileCustomEvent.data.payload.open) {\n const keyboardPlaceHolder = makeOpenKeyboardPlaceholder(mobileCustomEvent, {\n timestamp: mobileCustomEvent.timestamp,\n idSequence: globalIdSequence,\n })\n if (keyboardPlaceHolder) {\n adds.push({\n parentId: KEYBOARD_PARENT_ID,\n nextId: null,\n node: keyboardPlaceHolder.result,\n })\n // mutations seem not to want a tree of nodes to add\n // so even though `keyboardPlaceholder` is a tree with content\n // we have to add the text content as well\n adds.push({\n parentId: keyboardPlaceHolder.result.id,\n nextId: null,\n node: {\n type: NodeType.Text,\n id: globalIdSequence.next().value,\n textContent: 'keyboard',\n },\n })\n } else {\n captureMessage('Failed to create keyboard placeholder', { extra: { mobileCustomEvent } })\n }\n } else {\n removes.push({\n parentId: KEYBOARD_PARENT_ID,\n id: KEYBOARD_ID,\n })\n }\n const mutation: mutationData = { adds, attributes: [], removes, source: IncrementalSource.Mutation, texts: [] }\n return {\n type: EventType.IncrementalSnapshot,\n data: mutation,\n timestamp: mobileCustomEvent.timestamp,\n }\n }\n return mobileCustomEvent\n}\n\nexport const makeMetaEvent = (\n mobileMetaEvent: MobileMetaEvent & {\n timestamp: number\n }\n): metaEvent & {\n timestamp: number\n delay?: number\n} => ({\n type: EventType.Meta,\n data: {\n href: mobileMetaEvent.data.href || '', // the replay doesn't use the href, so we safely ignore any absence\n // mostly we need width and height in order to size the viewport\n width: mobileMetaEvent.data.width,\n height: mobileMetaEvent.data.height,\n },\n timestamp: mobileMetaEvent.timestamp,\n})\n\nexport function makeDivElement(\n wireframe: wireframeDiv,\n children: serializedNodeWithId[],\n context: ConversionContext\n): ConversionResult | null {\n const _id = _isPositiveInteger(wireframe.id) ? wireframe.id : context.idSequence.next().value\n return {\n result: {\n type: NodeType.Element,\n tagName: 'div',\n attributes: {\n style: asStyleString([makeStylesString(wireframe), 'overflow:hidden', 'white-space:nowrap']),\n 'data-rrweb-id': _id,\n },\n id: _id,\n childNodes: children,\n },\n context,\n }\n}\n\nfunction makeTextElement(\n wireframe: wireframeText,\n children: serializedNodeWithId[],\n context: ConversionContext\n): ConversionResult | null {\n if (wireframe.type !== 'text') {\n console.error('Passed incorrect wireframe type to makeTextElement')\n return null\n }\n\n // because we might have to style the text, we always wrap it in a div\n // and apply styles to that\n const id = context.idSequence.next().value\n\n const childNodes = [...children]\n if (!_isNullish(wireframe.text)) {\n childNodes.unshift({\n type: NodeType.Text,\n textContent: wireframe.text,\n // since the text node is wrapped, we assign it a synthetic id\n id,\n })\n }\n\n return {\n result: {\n type: NodeType.Element,\n tagName: 'div',\n attributes: {\n style: asStyleString([makeStylesString(wireframe), 'overflow:hidden', 'white-space:normal']),\n 'data-rrweb-id': wireframe.id,\n },\n id: wireframe.id,\n childNodes,\n },\n context,\n }\n}\n\nfunction makeWebViewElement(\n wireframe: wireframe,\n children: serializedNodeWithId[],\n context: ConversionContext\n): ConversionResult | null {\n const labelledWireframe: wireframePlaceholder = { ...wireframe } as wireframePlaceholder\n if ('url' in wireframe) {\n labelledWireframe.label = wireframe.url\n }\n\n return makePlaceholderElement(labelledWireframe, children, context)\n}\n\nexport function makePlaceholderElement(\n wireframe: wireframe,\n children: serializedNodeWithId[],\n context: ConversionContext\n): ConversionResult | null {\n const txt = 'label' in wireframe && wireframe.label ? wireframe.label : wireframe.type || 'PLACEHOLDER'\n return {\n result: {\n type: NodeType.Element,\n tagName: 'div',\n attributes: {\n style: makeStylesString(wireframe, {\n verticalAlign: 'center',\n horizontalAlign: 'center',\n backgroundColor: wireframe.style?.backgroundColor || BACKGROUND,\n color: wireframe.style?.color || FOREGROUND,\n backgroundImage: PLACEHOLDER_SVG_DATA_IMAGE_URL,\n backgroundSize: 'auto',\n backgroundRepeat: 'unset',\n ...context.styleOverride,\n }),\n 'data-rrweb-id': wireframe.id,\n },\n id: wireframe.id,\n childNodes: [\n {\n type: NodeType.Text,\n // since the text node is wrapped, we assign it a synthetic id\n id: context.idSequence.next().value,\n textContent: txt,\n },\n ...children,\n ],\n },\n context,\n }\n}\n\nexport function dataURIOrPNG(src: string): string {\n // replace all new lines in src\n src = src.replace(/\\r?\\n|\\r/g, '')\n if (!src.startsWith('data:image/')) {\n return 'data:image/png;base64,' + src\n }\n return src\n}\n\nfunction makeImageElement(\n wireframe: wireframeImage | wireframeScreenshot,\n children: serializedNodeWithId[],\n context: ConversionContext\n): ConversionResult | null {\n if (!wireframe.base64) {\n return makePlaceholderElement(wireframe, children, context)\n }\n\n const src = dataURIOrPNG(wireframe.base64)\n return {\n result: {\n type: NodeType.Element,\n tagName: 'img',\n attributes: {\n src: src,\n width: wireframe.width,\n height: wireframe.height,\n style: makeStylesString(wireframe),\n 'data-rrweb-id': wireframe.id,\n },\n id: wireframe.id,\n childNodes: children,\n },\n context,\n }\n}\n\nfunction inputAttributes(wireframe: T): attributes {\n const attributes = {\n style: makeStylesString(wireframe),\n type: wireframe.inputType,\n ...(wireframe.disabled ? { disabled: wireframe.disabled } : {}),\n 'data-rrweb-id': wireframe.id,\n }\n\n switch (wireframe.inputType) {\n case 'checkbox':\n return {\n ...attributes,\n style: null, // checkboxes are styled by being combined with a label\n ...(wireframe.checked ? { checked: wireframe.checked } : {}),\n }\n case 'toggle':\n return {\n ...attributes,\n style: null, // toggle are styled by being combined with a label\n ...(wireframe.checked ? { checked: wireframe.checked } : {}),\n }\n case 'radio':\n return {\n ...attributes,\n style: null, // radio buttons are styled by being combined with a label\n ...(wireframe.checked ? { checked: wireframe.checked } : {}),\n // radio value defaults to the string \"on\" if not specified\n // we're not really submitting the form, so it doesn't matter 🤞\n // radio name is used to correctly uncheck values when one is checked\n // mobile doesn't really have it, and we will be checking based on snapshots,\n // so we can ignore it for now\n }\n case 'button':\n return {\n ...attributes,\n }\n case 'text_area':\n return {\n ...attributes,\n value: wireframe.value || '',\n }\n case 'progress':\n return {\n ...attributes,\n // indeterminate when omitted\n value: wireframe.value || null,\n // defaults to 1 when omitted\n max: wireframe.max || null,\n type: null, // progress has no type attribute\n }\n default:\n return {\n ...attributes,\n value: wireframe.value || '',\n }\n }\n}\n\nfunction makeButtonElement(\n wireframe: wireframeButton,\n children: serializedNodeWithId[],\n context: ConversionContext\n): ConversionResult | null {\n const buttonText: textNode | null = wireframe.value\n ? {\n type: NodeType.Text,\n textContent: wireframe.value,\n }\n : null\n\n return {\n result: {\n type: NodeType.Element,\n tagName: 'button',\n attributes: inputAttributes(wireframe),\n id: wireframe.id,\n childNodes: buttonText ? [{ ...buttonText, id: context.idSequence.next().value }, ...children] : children,\n },\n context,\n }\n}\n\nfunction makeSelectOptionElement(\n option: string,\n selected: boolean,\n context: ConversionContext\n): ConversionResult {\n const optionId = context.idSequence.next().value\n return {\n result: {\n type: NodeType.Element,\n tagName: 'option',\n attributes: {\n ...(selected ? { selected: selected } : {}),\n 'data-rrweb-id': optionId,\n },\n id: optionId,\n childNodes: [\n {\n type: NodeType.Text,\n textContent: option,\n id: context.idSequence.next().value,\n },\n ],\n },\n context,\n }\n}\n\nfunction makeSelectElement(\n wireframe: wireframeSelect,\n children: serializedNodeWithId[],\n context: ConversionContext\n): ConversionResult | null {\n const selectOptions: serializedNodeWithId[] = []\n if (wireframe.options) {\n let optionContext = context\n for (let i = 0; i < wireframe.options.length; i++) {\n const option = wireframe.options[i]\n const conversion = makeSelectOptionElement(option, wireframe.value === option, optionContext)\n selectOptions.push(conversion.result)\n optionContext = conversion.context\n }\n }\n return {\n result: {\n type: NodeType.Element,\n tagName: 'select',\n attributes: inputAttributes(wireframe),\n id: wireframe.id,\n childNodes: [...selectOptions, ...children],\n },\n context,\n }\n}\n\nfunction groupRadioButtons(children: serializedNodeWithId[], radioGroupName: string): serializedNodeWithId[] {\n return children.map((child) => {\n if (child.type === NodeType.Element && child.tagName === 'input' && child.attributes.type === 'radio') {\n return {\n ...child,\n attributes: {\n ...child.attributes,\n name: radioGroupName,\n 'data-rrweb-id': child.id,\n },\n }\n }\n return child\n })\n}\n\nfunction makeRadioGroupElement(\n wireframe: wireframeRadioGroup,\n children: serializedNodeWithId[],\n context: ConversionContext\n): ConversionResult | null {\n const radioGroupName = 'radio_group_' + wireframe.id\n return {\n result: {\n type: NodeType.Element,\n tagName: 'div',\n attributes: {\n style: makeStylesString(wireframe),\n 'data-rrweb-id': wireframe.id,\n },\n id: wireframe.id,\n childNodes: groupRadioButtons(children, radioGroupName),\n },\n context,\n }\n}\n\nfunction makeStar(title: string, path: string, context: ConversionContext): serializedNodeWithId {\n const svgId = context.idSequence.next().value\n const titleId = context.idSequence.next().value\n const pathId = context.idSequence.next().value\n return {\n type: NodeType.Element,\n tagName: 'svg',\n isSVG: true,\n attributes: {\n style: asStyleString(['height: 100%', 'overflow-clip-margin: content-box', 'overflow:hidden']),\n viewBox: '0 0 24 24',\n fill: 'currentColor',\n 'data-rrweb-id': svgId,\n },\n id: svgId,\n childNodes: [\n {\n type: NodeType.Element,\n tagName: 'title',\n isSVG: true,\n attributes: {\n 'data-rrweb-id': titleId,\n },\n id: titleId,\n childNodes: [\n {\n type: NodeType.Text,\n textContent: title,\n id: context.idSequence.next().value,\n },\n ],\n },\n {\n type: NodeType.Element,\n tagName: 'path',\n isSVG: true,\n attributes: {\n d: path,\n 'data-rrweb-id': pathId,\n },\n id: pathId,\n childNodes: [],\n },\n ],\n }\n}\n\nfunction filledStar(context: ConversionContext): serializedNodeWithId {\n return makeStar(\n 'filled star',\n 'M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z',\n context\n )\n}\n\nfunction halfStar(context: ConversionContext): serializedNodeWithId {\n return makeStar(\n 'half-filled star',\n 'M12,15.4V6.1L13.71,10.13L18.09,10.5L14.77,13.39L15.76,17.67M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z',\n context\n )\n}\n\nfunction emptyStar(context: ConversionContext): serializedNodeWithId {\n return makeStar(\n 'empty star',\n 'M12,15.39L8.24,17.66L9.23,13.38L5.91,10.5L10.29,10.13L12,6.09L13.71,10.13L18.09,10.5L14.77,13.38L15.76,17.66M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z',\n context\n )\n}\n\nfunction makeRatingBar(\n wireframe: wireframeProgress,\n children: serializedNodeWithId[],\n context: ConversionContext\n): ConversionResult | null {\n // max is the number of stars... and value is the number of stars to fill\n\n // deliberate double equals, because we want to allow null and undefined\n if (wireframe.value == null || wireframe.max == null) {\n return makePlaceholderElement(wireframe, children, context)\n }\n\n const numberOfFilledStars = Math.floor(wireframe.value)\n const numberOfHalfStars = wireframe.value - numberOfFilledStars > 0 ? 1 : 0\n const numberOfEmptyStars = wireframe.max - numberOfFilledStars - numberOfHalfStars\n\n const filledStars = Array(numberOfFilledStars)\n .fill(undefined)\n .map(() => filledStar(context))\n const halfStars = Array(numberOfHalfStars)\n .fill(undefined)\n .map(() => halfStar(context))\n const emptyStars = Array(numberOfEmptyStars)\n .fill(undefined)\n .map(() => emptyStar(context))\n\n const ratingBarId = context.idSequence.next().value\n const ratingBar = {\n type: NodeType.Element,\n tagName: 'div',\n id: ratingBarId,\n attributes: {\n style: asStyleString([\n makeColorStyles(wireframe),\n 'position: relative',\n 'display: flex',\n 'flex-direction: row',\n 'padding: 2px 4px',\n ]),\n 'data-rrweb-id': ratingBarId,\n },\n childNodes: [...filledStars, ...halfStars, ...emptyStars],\n } as serializedNodeWithId\n\n return {\n result: {\n type: NodeType.Element,\n tagName: 'div',\n attributes: {\n style: makeStylesString(wireframe),\n 'data-rrweb-id': wireframe.id,\n },\n id: wireframe.id,\n childNodes: [ratingBar, ...children],\n },\n context,\n }\n}\n\nfunction makeProgressElement(\n wireframe: wireframeProgress,\n children: serializedNodeWithId[],\n context: ConversionContext\n): ConversionResult | null {\n if (wireframe.style?.bar === 'circular') {\n // value needs to be expressed as a number between 0 and 100\n const max = wireframe.max || 1\n let value = wireframe.value || null\n if (_isPositiveInteger(value) && value <= max) {\n value = (value / max) * 100\n } else {\n value = null\n }\n\n const styleOverride = {\n color: wireframe.style?.color || FOREGROUND,\n backgroundColor: wireframe.style?.backgroundColor || BACKGROUND,\n }\n\n // if not _isPositiveInteger(value) then we render a spinner,\n // so we need to add a style element with the spin keyframe\n const stylingChildren: serializedNodeWithId[] = _isPositiveInteger(value)\n ? []\n : [\n {\n type: NodeType.Element,\n tagName: 'style',\n attributes: {\n type: 'text/css',\n },\n id: context.idSequence.next().value,\n childNodes: [\n {\n type: NodeType.Text,\n textContent: `@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }`,\n id: context.idSequence.next().value,\n },\n ],\n },\n ]\n\n const wrappingDivId = context.idSequence.next().value\n return {\n result: {\n type: NodeType.Element,\n tagName: 'div',\n attributes: {\n style: makeMinimalStyles(wireframe),\n 'data-rrweb-id': wireframe.id,\n },\n id: wireframe.id,\n childNodes: [\n {\n type: NodeType.Element,\n tagName: 'div',\n attributes: {\n // with no provided value we render a spinner\n style: _isPositiveInteger(value)\n ? makeDeterminateProgressStyles(wireframe, styleOverride)\n : makeIndeterminateProgressStyles(wireframe, styleOverride),\n 'data-rrweb-id': wrappingDivId,\n },\n id: wrappingDivId,\n childNodes: stylingChildren,\n },\n ...children,\n ],\n },\n context,\n }\n } else if (wireframe.style?.bar === 'rating') {\n return makeRatingBar(wireframe, children, context)\n }\n return {\n result: {\n type: NodeType.Element,\n tagName: 'progress',\n attributes: inputAttributes(wireframe),\n id: wireframe.id,\n childNodes: children,\n },\n context,\n }\n}\n\nfunction makeToggleParts(wireframe: wireframeToggle, context: ConversionContext): serializedNodeWithId[] {\n const togglePosition = wireframe.checked ? 'right' : 'left'\n const defaultColor = wireframe.checked ? '#1d4aff' : BACKGROUND\n const sliderPartId = context.idSequence.next().value\n const handlePartId = context.idSequence.next().value\n return [\n {\n type: NodeType.Element,\n tagName: 'div',\n attributes: {\n 'data-toggle-part': 'slider',\n style: asStyleString([\n 'position:absolute',\n 'top:33%',\n 'left:5%',\n 'display:inline-block',\n 'width:75%',\n 'height:33%',\n 'opacity: 0.2',\n 'border-radius:7.5%',\n `background-color:${wireframe.style?.color || defaultColor}`,\n ]),\n 'data-rrweb-id': sliderPartId,\n },\n id: sliderPartId,\n childNodes: [],\n },\n {\n type: NodeType.Element,\n tagName: 'div',\n attributes: {\n 'data-toggle-part': 'handle',\n style: asStyleString([\n 'position:absolute',\n 'top:1.5%',\n `${togglePosition}:5%`,\n 'display:flex',\n 'align-items:center',\n 'justify-content:center',\n 'width:40%',\n 'height:75%',\n 'cursor:inherit',\n 'border-radius:50%',\n `background-color:${wireframe.style?.color || defaultColor}`,\n `border:2px solid ${wireframe.style?.borderColor || wireframe.style?.color || defaultColor}`,\n ]),\n 'data-rrweb-id': handlePartId,\n },\n id: handlePartId,\n childNodes: [],\n },\n ]\n}\n\nfunction makeToggleElement(\n wireframe: wireframeToggle,\n context: ConversionContext\n): ConversionResult<\n elementNode & {\n id: number\n }\n> | null {\n const isLabelled = 'label' in wireframe\n const wrappingDivId = context.idSequence.next().value\n return {\n result: {\n type: NodeType.Element,\n tagName: 'div',\n attributes: {\n // if labelled take up available space, otherwise use provided positioning\n style: isLabelled ? asStyleString(['height:100%', 'flex:1']) : makePositionStyles(wireframe),\n 'data-rrweb-id': wireframe.id,\n },\n id: wireframe.id,\n childNodes: [\n {\n type: NodeType.Element,\n tagName: 'div',\n attributes: {\n // relative position, fills parent\n style: asStyleString(['position:relative', 'width:100%', 'height:100%']),\n 'data-rrweb-id': wrappingDivId,\n },\n id: wrappingDivId,\n childNodes: makeToggleParts(wireframe, context),\n },\n ],\n },\n context,\n }\n}\n\nfunction makeLabelledInput(\n wireframe: wireframeCheckBox | wireframeRadio | wireframeToggle,\n theInputElement: serializedNodeWithId,\n context: ConversionContext\n): ConversionResult {\n const theLabel: serializedNodeWithId = {\n type: NodeType.Text,\n textContent: wireframe.label || '',\n id: context.idSequence.next().value,\n }\n\n const orderedChildren = wireframe.inputType === 'toggle' ? [theLabel, theInputElement] : [theInputElement, theLabel]\n\n const labelId = context.idSequence.next().value\n return {\n result: {\n type: NodeType.Element,\n tagName: 'label',\n attributes: {\n style: makeStylesString(wireframe),\n 'data-rrweb-id': labelId,\n },\n id: labelId,\n childNodes: orderedChildren,\n },\n context,\n }\n}\n\nfunction makeInputElement(\n wireframe: wireframeInputComponent,\n children: serializedNodeWithId[],\n context: ConversionContext\n): ConversionResult | null {\n if (!wireframe.inputType) {\n return null\n }\n\n if (wireframe.inputType === 'button') {\n return makeButtonElement(wireframe, children, context)\n }\n\n if (wireframe.inputType === 'select') {\n return makeSelectElement(wireframe, children, context)\n }\n\n if (wireframe.inputType === 'progress') {\n return makeProgressElement(wireframe, children, context)\n }\n\n const theInputElement: ConversionResult | null =\n wireframe.inputType === 'toggle'\n ? makeToggleElement(wireframe, context)\n : {\n result: {\n type: NodeType.Element,\n tagName: 'input',\n attributes: inputAttributes(wireframe),\n id: wireframe.id,\n childNodes: children,\n },\n context,\n }\n\n if (!theInputElement) {\n return null\n }\n\n if ('label' in wireframe) {\n return makeLabelledInput(wireframe, theInputElement.result, theInputElement.context)\n }\n // when labelled no styles are needed, when un-labelled as here - we add the styling in.\n ;(theInputElement.result as elementNode).attributes.style = makeStylesString(wireframe)\n return theInputElement\n}\n\nfunction makeRectangleElement(\n wireframe: wireframeRectangle,\n children: serializedNodeWithId[],\n context: ConversionContext\n): ConversionResult | null {\n return {\n result: {\n type: NodeType.Element,\n tagName: 'div',\n attributes: {\n style: makeStylesString(wireframe),\n 'data-rrweb-id': wireframe.id,\n },\n id: wireframe.id,\n childNodes: children,\n },\n context,\n }\n}\n\nfunction chooseConverter(\n wireframe: T\n): (\n wireframe: T,\n children: serializedNodeWithId[],\n context: ConversionContext\n) => ConversionResult | null {\n // in theory type is always present\n // but since this is coming over the wire we can't really be sure,\n // and so we default to div\n const converterType: MobileNodeType = wireframe.type || 'div'\n const converterMapping: Record<\n MobileNodeType,\n (wireframe: T, children: serializedNodeWithId[]) => ConversionResult | null\n > = {\n // KLUDGE: TS can't tell that the wireframe type of each function is safe based on the converter type\n text: makeTextElement as any,\n image: makeImageElement as any,\n rectangle: makeRectangleElement as any,\n div: makeDivElement as any,\n input: makeInputElement as any,\n radio_group: makeRadioGroupElement as any,\n web_view: makeWebViewElement as any,\n placeholder: makePlaceholderElement as any,\n status_bar: makeStatusBar as any,\n navigation_bar: makeNavigationBar as any,\n screenshot: makeImageElement as any,\n }\n return converterMapping[converterType]\n}\n\nfunction convertWireframe(\n wireframe: wireframe,\n context: ConversionContext\n): ConversionResult | null {\n const children = convertWireframesFor(wireframe.childWireframes, context)\n const converted = chooseConverter(wireframe)?.(wireframe, children.result, children.context)\n return converted || null\n}\n\nfunction convertWireframesFor(\n wireframes: wireframe[] | undefined,\n context: ConversionContext\n): ConversionResult {\n if (!wireframes) {\n return { result: [], context }\n }\n\n const result: serializedNodeWithId[] = []\n for (const wireframe of wireframes) {\n const converted = convertWireframe(wireframe, context)\n if (converted) {\n result.push(converted.result)\n context = converted.context\n }\n }\n return { result, context }\n}\n\nfunction isMobileIncrementalSnapshotEvent(x: unknown): x is MobileIncrementalSnapshotEvent {\n const isIncrementalSnapshot = isObject(x) && 'type' in x && x.type === EventType.IncrementalSnapshot\n if (!isIncrementalSnapshot) {\n return false\n }\n const hasData = isObject(x) && 'data' in x\n const data = hasData ? x.data : null\n\n const hasMutationSource = isObject(data) && 'source' in data && data.source === IncrementalSource.Mutation\n\n const adds = isObject(data) && 'adds' in data && Array.isArray(data.adds) ? data.adds : null\n const updates = isObject(data) && 'updates' in data && Array.isArray(data.updates) ? data.updates : null\n\n const hasUpdatedWireframe = !!updates && updates.length > 0 && isObject(updates[0]) && 'wireframe' in updates[0]\n const hasAddedWireframe = !!adds && adds.length > 0 && isObject(adds[0]) && 'wireframe' in adds[0]\n\n return hasMutationSource && (hasAddedWireframe || hasUpdatedWireframe)\n}\n\nfunction chooseParentId(nodeType: MobileNodeType, providedParentId: number): number {\n return nodeType === 'screenshot' ? BODY_ID : providedParentId\n}\n\nfunction makeIncrementalAdd(add: MobileNodeMutation, context: ConversionContext): addedNodeMutation[] | null {\n const converted = convertWireframe(add.wireframe, context)\n\n if (!converted) {\n return null\n }\n\n const addition: addedNodeMutation = {\n parentId: chooseParentId(add.wireframe.type, add.parentId),\n nextId: null,\n node: converted.result,\n }\n const adds: addedNodeMutation[] = []\n if (addition) {\n const flattened = flattenMutationAdds(addition)\n flattened.forEach((x) => adds.push(x))\n return adds\n }\n return null\n}\n\n/**\n * When processing an update we remove the entire item, and then add it back in.\n */\nfunction makeIncrementalRemoveForUpdate(update: MobileNodeMutation): removedNodeMutation {\n return {\n parentId: chooseParentId(update.wireframe.type, update.parentId),\n id: update.wireframe.id,\n }\n}\n\nfunction isNode(x: unknown): x is serializedNodeWithId {\n // KLUDGE: really we should check that x.type is valid, but we're safe enough already\n return isObject(x) && 'type' in x && 'id' in x\n}\n\nfunction isNodeWithChildren(x: unknown): x is elementNode | documentNode {\n return isNode(x) && 'childNodes' in x && Array.isArray(x.childNodes)\n}\n\n/**\n * when creating incremental adds we have to flatten the node tree structure\n * there's no point, then keeping those child nodes in place\n */\nfunction cloneWithoutChildren(converted: addedNodeMutation): addedNodeMutation {\n const cloned = { ...converted }\n const clonedNode: serializedNodeWithId = { ...converted.node }\n if (isNodeWithChildren(clonedNode)) {\n clonedNode.childNodes = []\n }\n cloned.node = clonedNode\n return cloned\n}\n\nfunction flattenMutationAdds(converted: addedNodeMutation): addedNodeMutation[] {\n const flattened: addedNodeMutation[] = []\n\n flattened.push(cloneWithoutChildren(converted))\n\n const node: unknown = converted.node\n const newParentId = converted.node.id\n if (isNodeWithChildren(node)) {\n node.childNodes.forEach((child) => {\n flattened.push(\n cloneWithoutChildren({\n parentId: newParentId,\n nextId: null,\n node: child,\n })\n )\n if (isNodeWithChildren(child)) {\n flattened.push(...flattenMutationAdds({ parentId: newParentId, nextId: null, node: child }))\n }\n })\n }\n return flattened\n}\n\n/**\n * each update wireframe carries the entire tree because we don't want to diff on the client\n * that means that we might create multiple mutations for the same node\n * we only want to add it once, so we dedupe the mutations\n * the app guarantees that for a given ID that is present more than once in a single snapshot\n * every instance of that ID is identical\n * it might change in the next snapshot but for a single incremental snapshot there is one\n * and only one version of any given ID\n */\nfunction dedupeMutations(mutations: T[]): T[] {\n // KLUDGE: it's slightly yucky to stringify everything but since synthetic nodes\n // introduce a new id, we can't just compare the id\n const seen = new Set()\n\n // in case later mutations are the ones we want to keep, we reverse the array\n // this does help with the deduping, so, it's likely that the view for a single ID\n // is not consistent over a snapshot, but it's cheap to reverse so :YOLO:\n return mutations\n .reverse()\n .filter((mutation: addedNodeMutation | removedNodeMutation) => {\n let toCompare: string\n if (isRemovedNodeMutation(mutation)) {\n toCompare = JSON.stringify(mutation)\n } else {\n // if this is a synthetic addition, then we need to ignore the id,\n // since duplicates won't have duplicate ids\n toCompare = JSON.stringify({\n ...mutation.node,\n id: 0,\n })\n }\n\n if (seen.has(toCompare)) {\n return false\n }\n seen.add(toCompare)\n return true\n })\n .reverse()\n}\n\n/**\n * We want to ensure that any events don't use id = 0.\n * They must always represent a valid ID from the dom, so we swap in the body id when the id = 0.\n *\n * For \"removes\", we don't need to do anything, the id of the element to be removed remains valid. We won't try and remove other elements that we added during transformation in order to show that element.\n *\n * \"adds\" are converted from wireframes to nodes and converted to `incrementalSnapshotEvent.adds`\n *\n * \"updates\" are converted to a remove and an add.\n *\n */\nexport const makeIncrementalEvent = (\n mobileEvent: (MobileIncrementalSnapshotEvent | incrementalSnapshotEvent) & {\n timestamp: number\n delay?: number\n }\n): incrementalSnapshotEvent & {\n timestamp: number\n delay?: number\n} => {\n const converted = mobileEvent as unknown as incrementalSnapshotEvent & {\n timestamp: number\n delay?: number\n }\n if ('id' in converted.data && converted.data.id === 0) {\n converted.data.id = BODY_ID\n }\n\n if (isMobileIncrementalSnapshotEvent(mobileEvent)) {\n const adds: addedNodeMutation[] = []\n const removes: removedNodeMutation[] = mobileEvent.data.removes || []\n if ('adds' in mobileEvent.data && Array.isArray(mobileEvent.data.adds)) {\n const addsContext = {\n timestamp: mobileEvent.timestamp,\n idSequence: globalIdSequence,\n }\n\n mobileEvent.data.adds.forEach((add) => {\n makeIncrementalAdd(add, addsContext)?.forEach((x) => adds.push(x))\n })\n }\n if ('updates' in mobileEvent.data && Array.isArray(mobileEvent.data.updates)) {\n const updatesContext = {\n timestamp: mobileEvent.timestamp,\n idSequence: globalIdSequence,\n }\n const updateAdditions: addedNodeMutation[] = []\n mobileEvent.data.updates.forEach((update) => {\n const removal = makeIncrementalRemoveForUpdate(update)\n if (removal) {\n removes.push(removal)\n }\n makeIncrementalAdd(update, updatesContext)?.forEach((x) => updateAdditions.push(x))\n })\n dedupeMutations(updateAdditions).forEach((x) => adds.push(x))\n }\n\n converted.data = {\n source: IncrementalSource.Mutation,\n attributes: [],\n texts: [],\n adds: dedupeMutations(adds),\n // TODO: this assumes that removes are processed before adds 🤞\n removes: dedupeMutations(removes),\n }\n }\n\n return converted\n}\n\nfunction makeKeyboardParent(): serializedNodeWithId {\n return {\n type: NodeType.Element,\n tagName: 'div',\n attributes: {\n 'data-render-reason': 'a fixed placeholder to contain the keyboard in the correct stacking position',\n 'data-rrweb-id': KEYBOARD_PARENT_ID,\n },\n id: KEYBOARD_PARENT_ID,\n childNodes: [],\n }\n}\n\nfunction makeStatusBarNode(\n statusBar: wireframeStatusBar | undefined,\n context: ConversionContext\n): serializedNodeWithId {\n const childNodes = statusBar ? convertWireframesFor([statusBar], context).result : []\n return {\n type: NodeType.Element,\n tagName: 'div',\n attributes: {\n 'data-rrweb-id': STATUS_BAR_PARENT_ID,\n },\n id: STATUS_BAR_PARENT_ID,\n childNodes,\n }\n}\n\nfunction makeNavBarNode(\n navigationBar: wireframeNavigationBar | undefined,\n context: ConversionContext\n): serializedNodeWithId {\n const childNodes = navigationBar ? convertWireframesFor([navigationBar], context).result : []\n return {\n type: NodeType.Element,\n tagName: 'div',\n attributes: {\n 'data-rrweb-id': NAVIGATION_BAR_PARENT_ID,\n },\n id: NAVIGATION_BAR_PARENT_ID,\n childNodes,\n }\n}\n\nfunction stripBarsFromWireframe(wireframe: wireframe): {\n wireframe: wireframe | undefined\n statusBar: wireframeStatusBar | undefined\n navBar: wireframeNavigationBar | undefined\n} {\n if (wireframe.type === 'status_bar') {\n return { wireframe: undefined, statusBar: wireframe, navBar: undefined }\n } else if (wireframe.type === 'navigation_bar') {\n return { wireframe: undefined, statusBar: undefined, navBar: wireframe }\n }\n let statusBar: wireframeStatusBar | undefined\n let navBar: wireframeNavigationBar | undefined\n const wireframeToReturn: wireframe | undefined = { ...wireframe }\n wireframeToReturn.childWireframes = []\n for (const child of wireframe.childWireframes || []) {\n const {\n wireframe: childWireframe,\n statusBar: childStatusBar,\n navBar: childNavBar,\n } = stripBarsFromWireframe(child)\n statusBar = statusBar || childStatusBar\n navBar = navBar || childNavBar\n if (childWireframe) {\n wireframeToReturn.childWireframes.push(childWireframe)\n }\n }\n return { wireframe: wireframeToReturn, statusBar, navBar }\n}\n\n/**\n * We want to be able to place the status bar and navigation bar in the correct stacking order.\n * So, we lift them out of the tree, and return them separately.\n */\nexport function stripBarsFromWireframes(wireframes: wireframe[]): {\n statusBar: wireframeStatusBar | undefined\n navigationBar: wireframeNavigationBar | undefined\n appNodes: wireframe[]\n} {\n let statusBar: wireframeStatusBar | undefined\n let navigationBar: wireframeNavigationBar | undefined\n const copiedNodes: wireframe[] = []\n\n wireframes.forEach((w) => {\n const matches = stripBarsFromWireframe(w)\n if (matches.statusBar) {\n statusBar = matches.statusBar\n }\n if (matches.navBar) {\n navigationBar = matches.navBar\n }\n if (matches.wireframe) {\n copiedNodes.push(matches.wireframe)\n }\n })\n return { statusBar, navigationBar, appNodes: copiedNodes }\n}\n\nexport const makeFullEvent = (\n mobileEvent: MobileFullSnapshotEvent & {\n timestamp: number\n delay?: number\n }\n): fullSnapshotEvent & {\n timestamp: number\n delay?: number\n} => {\n // we can restart the id sequence on each full snapshot\n globalIdSequence = ids()\n\n if (!('wireframes' in mobileEvent.data)) {\n return mobileEvent as unknown as fullSnapshotEvent & {\n timestamp: number\n delay?: number\n }\n }\n\n const conversionContext = {\n timestamp: mobileEvent.timestamp,\n idSequence: globalIdSequence,\n }\n\n const { statusBar, navigationBar, appNodes } = stripBarsFromWireframes(mobileEvent.data.wireframes)\n\n const nodeGroups = {\n appNodes: convertWireframesFor(appNodes, conversionContext).result || [],\n statusBarNode: makeStatusBarNode(statusBar, conversionContext),\n navBarNode: makeNavBarNode(navigationBar, conversionContext),\n }\n\n return {\n type: EventType.FullSnapshot,\n timestamp: mobileEvent.timestamp,\n data: {\n node: {\n type: NodeType.Document,\n childNodes: [\n {\n type: NodeType.DocumentType,\n name: 'html',\n publicId: '',\n systemId: '',\n id: HTML_DOC_TYPE_ID,\n },\n {\n type: NodeType.Element,\n tagName: 'html',\n attributes: { style: makeHTMLStyles(), 'data-rrweb-id': HTML_ELEMENT_ID },\n id: HTML_ELEMENT_ID,\n childNodes: [\n {\n type: NodeType.Element,\n tagName: 'head',\n attributes: { 'data-rrweb-id': HEAD_ID },\n id: HEAD_ID,\n childNodes: [makeCSSReset(conversionContext)],\n },\n {\n type: NodeType.Element,\n tagName: 'body',\n attributes: { style: makeBodyStyles(), 'data-rrweb-id': BODY_ID },\n id: BODY_ID,\n childNodes: [\n // in the order they should stack if they ever clash\n // lower is higher in the stacking context\n ...nodeGroups.appNodes,\n makeKeyboardParent(),\n nodeGroups.navBarNode,\n nodeGroups.statusBarNode,\n ],\n },\n ],\n },\n ],\n id: DOCUMENT_ID,\n },\n initialOffset: {\n top: 0,\n left: 0,\n },\n },\n }\n}\n\nfunction makeCSSReset(context: ConversionContext): serializedNodeWithId {\n // we need to normalize CSS so browsers don't do unexpected things\n return {\n type: NodeType.Element,\n tagName: 'style',\n attributes: {\n type: 'text/css',\n },\n id: context.idSequence.next().value,\n childNodes: [\n {\n type: NodeType.Text,\n textContent: `\n body {\n margin: unset;\n }\n input, button, select, textarea {\n font: inherit;\n margin: 0;\n padding: 0;\n border: 0;\n outline: 0;\n background: transparent;\n padding-block: 0 !important;\n }\n .input:focus {\n outline: none;\n }\n img {\n border-style: none;\n }\n `,\n id: context.idSequence.next().value,\n },\n ],\n }\n}\n","import posthogEE from '@posthog/ee/exports'\nimport { customEvent, EventType, eventWithTime, fullSnapshotEvent, IncrementalSource } from '@rrweb/types'\nimport { captureException } from '@sentry/react'\nimport { gunzipSync, strFromU8, strToU8 } from 'fflate'\nimport {\n actions,\n afterMount,\n beforeUnmount,\n connect,\n defaults,\n kea,\n key,\n listeners,\n path,\n props,\n reducers,\n selectors,\n} from 'kea'\nimport { loaders } from 'kea-loaders'\nimport { subscriptions } from 'kea-subscriptions'\nimport api from 'lib/api'\nimport { FEATURE_FLAGS } from 'lib/constants'\nimport { Dayjs, dayjs } from 'lib/dayjs'\nimport { featureFlagLogic, FeatureFlagsSet } from 'lib/logic/featureFlagLogic'\nimport { isObject } from 'lib/utils'\nimport { chainToElements } from 'lib/utils/elements-chain'\nimport { eventUsageLogic } from 'lib/utils/eventUsageLogic'\nimport posthog from 'posthog-js'\nimport { compressedEventWithTime } from 'posthog-js/lib/src/extensions/replay/sessionrecording'\nimport { RecordingComment } from 'scenes/session-recordings/player/inspector/playerInspectorLogic'\nimport { teamLogic } from 'scenes/teamLogic'\n\nimport { HogQLQuery, NodeKind } from '~/queries/schema'\nimport { hogql } from '~/queries/utils'\nimport {\n AnyPropertyFilter,\n EncodedRecordingSnapshot,\n PersonType,\n PropertyFilterType,\n PropertyOperator,\n RecordingEventsFilters,\n RecordingEventType,\n RecordingReportLoadTimes,\n RecordingSegment,\n RecordingSnapshot,\n SessionPlayerData,\n SessionRecordingId,\n SessionRecordingSnapshotParams,\n SessionRecordingSnapshotSource,\n SessionRecordingSnapshotSourceResponse,\n SessionRecordingType,\n SessionRecordingUsageType,\n SnapshotSourceType,\n} from '~/types'\n\nimport { PostHogEE } from '../../../../@posthog/ee/types'\nimport { ExportedSessionRecordingFileV2 } from '../file-playback/types'\nimport type { sessionRecordingDataLogicType } from './sessionRecordingDataLogicType'\nimport { createSegments, mapSnapshotsToWindowId } from './utils/segmenter'\n\nconst IS_TEST_MODE = process.env.NODE_ENV === 'test'\nconst BUFFER_MS = 60000 // +- before and after start and end of a recording to query for.\nconst DEFAULT_REALTIME_POLLING_MILLIS = 3000\n\nlet postHogEEModule: PostHogEE\n\nfunction isRecordingSnapshot(x: unknown): x is RecordingSnapshot {\n return typeof x === 'object' && x !== null && 'type' in x && 'timestamp' in x\n}\n\n/*\n there was a bug in mobile SDK that didn't consistently send a meta event with a full snapshot.\n rrweb player hides itself until it has seen the meta event 🤷\n but we can patch a meta event into the recording data to make it work\n*/\nfunction patchMetaEventIntoMobileData(parsedLines: RecordingSnapshot[]): RecordingSnapshot[] {\n let fullSnapshotIndex: number = -1\n let metaIndex: number = -1\n try {\n fullSnapshotIndex = parsedLines.findIndex((l) => l.type === EventType.FullSnapshot)\n metaIndex = parsedLines.findIndex((l) => l.type === EventType.Meta)\n\n // then we need to patch the meta event into the snapshot data\n if (fullSnapshotIndex > -1 && metaIndex === -1) {\n const fullSnapshot = parsedLines[fullSnapshotIndex] as RecordingSnapshot & fullSnapshotEvent & eventWithTime\n // a full snapshot (particularly from the mobile transformer) has a relatively fixed structure,\n // but the types exposed by rrweb don't quite cover what we need , so...\n const mainNode = fullSnapshot.data.node as any\n const targetNode = mainNode.childNodes[1].childNodes[1].childNodes[0]\n const { width, height } = targetNode.attributes\n const metaEvent: RecordingSnapshot = {\n windowId: fullSnapshot.windowId,\n type: EventType.Meta,\n timestamp: fullSnapshot.timestamp,\n data: {\n href: getHrefFromSnapshot(fullSnapshot) || '',\n width,\n height,\n },\n }\n parsedLines.splice(fullSnapshotIndex, 0, metaEvent)\n }\n } catch (e) {\n captureException(e, {\n tags: { feature: 'session-recording-missing-meta-patching' },\n extra: { fullSnapshotIndex, metaIndex },\n })\n }\n\n return parsedLines\n}\n\nfunction hasAnyWireframes(snapshotData: Record[]): boolean {\n return snapshotData.some((d) => {\n return isObject(d.data) && 'wireframes' in d.data\n })\n}\n\nfunction isCompressedEvent(ev: unknown): ev is compressedEventWithTime {\n return typeof ev === 'object' && ev !== null && 'cv' in ev\n}\n\nfunction unzip(compressedStr: string): any {\n return JSON.parse(strFromU8(gunzipSync(strToU8(compressedStr, true))))\n}\n\n/**\n *\n * takes an event that might be from web, might be from mobile,\n * and might be partially compressed,\n * and decompresses it when possible\n *\n * you can't return a union of `KnownType | unknown`\n * so even though this returns `eventWithTime | unknown`\n * it has to be typed as only unknown\n */\nfunction decompressEvent(ev: unknown): unknown {\n try {\n if (isCompressedEvent(ev)) {\n if (ev.cv === '2024-10') {\n if (ev.type === EventType.FullSnapshot) {\n return {\n ...ev,\n data: unzip(ev.data),\n }\n } else if (ev.type === EventType.IncrementalSnapshot) {\n if (ev.data.source === IncrementalSource.StyleSheetRule) {\n return {\n ...ev,\n data: {\n ...ev.data,\n source: IncrementalSource.StyleSheetRule,\n adds: unzip(ev.data.adds),\n removes: unzip(ev.data.removes),\n },\n }\n } else if (ev.data.source === IncrementalSource.Mutation) {\n return {\n ...ev,\n data: {\n ...ev.data,\n source: IncrementalSource.Mutation,\n adds: unzip(ev.data.adds),\n removes: unzip(ev.data.removes),\n texts: unzip(ev.data.texts),\n attributes: unzip(ev.data.attributes),\n },\n }\n }\n }\n } else {\n posthog.captureException(new Error('Unknown compressed event version'), {\n feature: 'session-recording-compressed-event-decompression',\n compressedEvent: ev,\n compressionVersion: ev.cv,\n })\n // probably unplayable but we don't know how to decompress it\n return ev\n }\n }\n return ev\n } catch (e) {\n posthog.captureException((e as Error) || new Error('Could not decompress event'), {\n feature: 'session-recording-compressed-event-decompression',\n compressedEvent: ev,\n })\n return ev\n }\n}\n\n/**\n * We can receive data in one of multiple formats, so we treat it as unknown\n * And if we can't process it force it into eventWithTime\n *\n * If it can't be case as eventWithTime by this point then it's probably not a valid event anyway\n */\nfunction coerceToEventWithTime(d: unknown, withMobileTransformer: boolean): eventWithTime {\n // we decompress first so that we could support partial compression on mobile in future\n const currentEvent = decompressEvent(d)\n return withMobileTransformer\n ? postHogEEModule?.mobileReplay?.transformEventToWeb(currentEvent) || (currentEvent as eventWithTime)\n : (currentEvent as eventWithTime)\n}\n\nexport const parseEncodedSnapshots = async (\n items: (RecordingSnapshot | EncodedRecordingSnapshot | string)[],\n sessionId: string,\n // this is only kept so that we can export the untransformed data for debugging\n withMobileTransformer: boolean = true\n): Promise => {\n if (!postHogEEModule) {\n postHogEEModule = await posthogEE()\n }\n\n const lineCount = items.length\n const unparseableLines: string[] = []\n let isMobileSnapshots = false\n\n const parsedLines: RecordingSnapshot[] = items.flatMap((l) => {\n if (!l) {\n // blob files have an empty line at the end\n return []\n }\n try {\n let snapshotLine: { windowId: string } | EncodedRecordingSnapshot\n if (typeof l === 'string') {\n // is loaded from blob or realtime storage\n snapshotLine = JSON.parse(l) as EncodedRecordingSnapshot\n } else {\n // is loaded from file export\n snapshotLine = l\n }\n let snapshotData: ({ windowId: string } | EncodedRecordingSnapshot)[]\n if (isRecordingSnapshot(snapshotLine)) {\n // is loaded from file export\n snapshotData = [snapshotLine]\n } else {\n // is loaded from blob or realtime storage\n snapshotData = snapshotLine['data']\n }\n\n if (!isMobileSnapshots) {\n isMobileSnapshots = hasAnyWireframes(snapshotData)\n }\n\n return snapshotData.map((d: unknown) => {\n const snap = coerceToEventWithTime(d, withMobileTransformer)\n\n return {\n // this handles parsing data that was loaded from blob storage \"window_id\"\n // and data that was exported from the front-end \"windowId\"\n // we have more than one format of data that we store/pass around\n // but only one that we play back\n windowId: snapshotLine['window_id'] || snapshotLine['windowId'],\n ...snap,\n }\n })\n } catch (e) {\n if (typeof l === 'string') {\n unparseableLines.push(l)\n }\n return []\n }\n })\n\n if (unparseableLines.length) {\n const extra = {\n playbackSessionId: sessionId,\n totalLineCount: lineCount,\n unparseableLinesCount: unparseableLines.length,\n exampleLines: unparseableLines.slice(0, 3),\n }\n posthog.capture('session recording had unparseable lines', {\n ...extra,\n feature: 'session-recording-snapshot-processing',\n })\n }\n\n return isMobileSnapshots ? patchMetaEventIntoMobileData(parsedLines) : parsedLines\n}\n\nconst getHrefFromSnapshot = (snapshot: unknown): string | undefined => {\n return isObject(snapshot) && 'data' in snapshot\n ? (snapshot.data as any)?.href || (snapshot.data as any)?.payload?.href\n : undefined\n}\n\n/*\n cyrb53 (c) 2018 bryc (github.com/bryc)\n License: Public domain. Attribution appreciated.\n A fast and simple 53-bit string hash function with decent collision resistance.\n Largely inspired by MurmurHash2/3, but with a focus on speed/simplicity.\n*/\nconst cyrb53 = function (str: string, seed = 0): number {\n let h1 = 0xdeadbeef ^ seed,\n h2 = 0x41c6ce57 ^ seed\n for (let i = 0, ch; i < str.length; i++) {\n ch = str.charCodeAt(i)\n h1 = Math.imul(h1 ^ ch, 2654435761)\n h2 = Math.imul(h2 ^ ch, 1597334677)\n }\n h1 = Math.imul(h1 ^ (h1 >>> 16), 2246822507)\n h1 ^= Math.imul(h2 ^ (h2 >>> 13), 3266489909)\n h2 = Math.imul(h2 ^ (h2 >>> 16), 2246822507)\n h2 ^= Math.imul(h1 ^ (h1 >>> 13), 3266489909)\n return 4294967296 * (2097151 & h2) + (h1 >>> 0)\n}\n\nexport const deduplicateSnapshots = (snapshots: RecordingSnapshot[] | null): RecordingSnapshot[] => {\n const seenHashes: Set = new Set()\n\n return (snapshots ?? [])\n .filter((snapshot) => {\n // For a multitude of reasons, there can be duplicate snapshots in the same recording.\n // we have to stringify the snapshot to compare it to other snapshots.\n // so we can filter by storing them all in a set\n\n // we can see duplicates that only differ by delay - these still count as duplicates\n // even though the delay would hide that\n const { delay: _delay, ...delayFreeSnapshot } = snapshot\n // we check each item multiple times as new snapshots come in\n // so store the computer value on the object to save recalculating it so much\n const key = (snapshot as any).seen || cyrb53(JSON.stringify(delayFreeSnapshot))\n ;(snapshot as any).seen = key\n\n if (seenHashes.has(key)) {\n return false\n }\n seenHashes.add(key)\n return true\n })\n .sort((a, b) => a.timestamp - b.timestamp)\n}\n\nconst generateRecordingReportDurations = (cache: Record): RecordingReportLoadTimes => {\n return {\n metadata: cache.metadataLoadDuration || Math.round(performance.now() - cache.metaStartTime),\n snapshots: cache.snapshotsLoadDuration || Math.round(performance.now() - cache.snapshotsStartTime),\n events: cache.eventsLoadDuration || Math.round(performance.now() - cache.eventsStartTime),\n firstPaint: cache.firstPaintDuration,\n }\n}\n\nconst resetTimingsCache = (cache: Record): void => {\n cache.metaStartTime = null\n cache.metadataLoadDuration = null\n cache.snapshotsStartTime = null\n cache.snapshotsLoadDuration = null\n cache.eventsStartTime = null\n cache.eventsLoadDuration = null\n cache.firstPaintDuration = null\n}\n\nexport interface SessionRecordingDataLogicProps {\n sessionRecordingId: SessionRecordingId\n realTimePollingIntervalMilliseconds?: number\n}\n\nfunction makeEventsQuery(\n person: PersonType | null,\n distinctId: string | null,\n start: Dayjs,\n end: Dayjs,\n properties: AnyPropertyFilter[]\n): Promise {\n return api.query({\n kind: NodeKind.EventsQuery,\n // NOTE: Be careful adding fields here. We want to keep the payload as small as possible to load all events quickly\n select: [\n 'uuid',\n 'event',\n 'timestamp',\n 'elements_chain',\n 'properties.$window_id',\n 'properties.$current_url',\n 'properties.$event_type',\n ],\n orderBy: ['timestamp ASC'],\n limit: 1000000,\n personId: person ? String(person.id) : undefined,\n after: start.subtract(BUFFER_MS, 'ms').format(),\n before: end.add(BUFFER_MS, 'ms').format(),\n properties: properties,\n where: distinctId ? [`distinct_id = ('${distinctId}')`] : undefined,\n })\n}\n\nasync function processEncodedResponse(\n encodedResponse: (EncodedRecordingSnapshot | string)[],\n props: SessionRecordingDataLogicProps,\n featureFlags: FeatureFlagsSet\n): Promise<{ transformed: RecordingSnapshot[]; untransformed: RecordingSnapshot[] | null }> {\n let untransformed: RecordingSnapshot[] | null = null\n\n const transformed = await parseEncodedSnapshots(encodedResponse, props.sessionRecordingId)\n\n if (featureFlags[FEATURE_FLAGS.SESSION_REPLAY_EXPORT_MOBILE_DATA]) {\n untransformed = await parseEncodedSnapshots(\n encodedResponse,\n props.sessionRecordingId,\n false // don't transform mobile data\n )\n }\n\n return { transformed, untransformed }\n}\n\nconst getSourceKey = (source: SessionRecordingSnapshotSource): string => {\n // realtime sources vary so blob_key is not always present and is either null or undefined...\n // we only care about key when not realtime\n // and we'll always have a key when not realtime\n return `${source.source}-${source.blob_key || source.source}`\n}\n\nexport const sessionRecordingDataLogic = kea([\n path((key) => ['scenes', 'session-recordings', 'sessionRecordingDataLogic', key]),\n props({} as SessionRecordingDataLogicProps),\n key(({ sessionRecordingId }) => sessionRecordingId || 'no-session-recording-id'),\n connect({\n logic: [eventUsageLogic],\n values: [featureFlagLogic, ['featureFlags'], teamLogic, ['currentTeam']],\n }),\n defaults({\n sessionPlayerMetaData: null as SessionRecordingType | null,\n }),\n actions({\n setFilters: (filters: Partial) => ({ filters }),\n loadRecordingMeta: true,\n loadRecordingComments: true,\n maybeLoadRecordingMeta: true,\n loadSnapshots: true,\n loadSnapshotSources: true,\n loadNextSnapshotSource: true,\n loadSnapshotsForSource: (source: Pick) => ({ source }),\n loadEvents: true,\n loadFullEventData: (event: RecordingEventType | RecordingEventType[]) => ({ event }),\n markViewed: (delay?: number) => ({ delay }),\n reportUsageIfFullyLoaded: true,\n persistRecording: true,\n maybePersistRecording: true,\n pollRealtimeSnapshots: true,\n stopRealtimePolling: true,\n setTrackedWindow: (windowId: string | null) => ({ windowId }),\n setWasMarkedViewed: (wasMarkedViewed: boolean) => ({ wasMarkedViewed }),\n }),\n reducers(() => ({\n trackedWindow: [\n null as string | null,\n {\n setTrackedWindow: (_, { windowId }) => windowId,\n },\n ],\n filters: [\n {} as Partial,\n {\n setFilters: (state, { filters }) => ({ ...state, ...filters }),\n },\n ],\n isRealtimePolling: [\n false as boolean,\n {\n pollRealtimeSnapshots: () => true,\n stopRealtimePolling: () => false,\n },\n ],\n isNotFound: [\n false as boolean,\n {\n loadRecordingMeta: () => false,\n loadRecordingMetaSuccess: () => false,\n loadRecordingMetaFailure: () => true,\n },\n ],\n snapshotsBySource: [\n null as Record | null,\n {\n loadSnapshotsForSourceSuccess: (state, { snapshotsForSource }) => {\n const sourceKey = getSourceKey(snapshotsForSource.source)\n\n return {\n ...state,\n [sourceKey]: snapshotsForSource,\n }\n },\n },\n ],\n wasMarkedViewed: [\n false as boolean,\n {\n setWasMarkedViewed: (_, { wasMarkedViewed }) => wasMarkedViewed,\n },\n ],\n })),\n loaders(({ values, props, cache }) => ({\n sessionComments: {\n loadRecordingComments: async (_, breakpoint) => {\n const empty: RecordingComment[] = []\n if (!props.sessionRecordingId) {\n return empty\n }\n\n const response = await api.notebooks.recordingComments(props.sessionRecordingId)\n breakpoint()\n\n return response.results || empty\n },\n },\n sessionPlayerMetaData: {\n loadRecordingMeta: async (_, breakpoint) => {\n if (!props.sessionRecordingId) {\n return null\n }\n\n cache.metaStartTime = performance.now()\n\n const response = await api.recordings.get(props.sessionRecordingId)\n breakpoint()\n\n return response\n },\n\n persistRecording: async (_, breakpoint) => {\n if (!values.sessionPlayerMetaData) {\n return null\n }\n await breakpoint(100)\n await api.recordings.persist(props.sessionRecordingId)\n\n return {\n ...values.sessionPlayerMetaData,\n storage: 'object_storage_lts',\n }\n },\n },\n snapshotSources: [\n null as SessionRecordingSnapshotSource[] | null,\n {\n loadSnapshotSources: async () => {\n const response = await api.recordings.listSnapshotSources(props.sessionRecordingId)\n return response.sources ?? []\n },\n },\n ],\n snapshotsForSource: [\n null as SessionRecordingSnapshotSourceResponse | null,\n {\n loadSnapshotsForSource: async ({ source }, breakpoint) => {\n let params: SessionRecordingSnapshotParams\n\n if (source.source === SnapshotSourceType.blob) {\n if (!source.blob_key) {\n throw new Error('Missing key')\n }\n params = { blob_key: source.blob_key, source: 'blob' }\n } else if (source.source === SnapshotSourceType.realtime) {\n params = { source: 'realtime', version: '2024-04-30' }\n } else {\n throw new Error(`Unsupported source: ${source.source}`)\n }\n\n const snapshotLoadingStartTime = performance.now()\n\n if (!cache.snapshotsStartTime) {\n cache.snapshotsStartTime = snapshotLoadingStartTime\n }\n\n await breakpoint(1)\n\n const response = await api.recordings.getSnapshots(props.sessionRecordingId, params).catch((e) => {\n if (source.source === 'realtime' && e.status === 404) {\n // Realtime source is not always available so a 404 is expected\n return []\n }\n throw e\n })\n\n const { transformed, untransformed } = await processEncodedResponse(\n response,\n props,\n values.featureFlags\n )\n\n return { snapshots: transformed, untransformed_snapshots: untransformed ?? undefined, source }\n },\n },\n ],\n sessionEventsData: [\n null as null | RecordingEventType[],\n {\n loadEvents: async () => {\n if (!cache.eventsStartTime) {\n cache.eventsStartTime = performance.now()\n }\n\n const { start, end, person } = values.sessionPlayerData\n\n if (!person || !start || !end) {\n return null\n }\n\n const [sessionEvents, relatedEvents]: any[] = await Promise.all([\n // make one query for all events that are part of the session\n makeEventsQuery(null, null, start, end, [\n {\n key: '$session_id',\n value: [props.sessionRecordingId],\n operator: PropertyOperator.Exact,\n type: PropertyFilterType.Event,\n },\n ]),\n // make a second for all events from that person,\n // not marked as part of the session\n // but in the same time range\n // these are probably e.g. backend events for the session\n // but with no session id\n // since posthog-js must always add session id we can also\n // take advantage of lib being materialized and further filter\n makeEventsQuery(null, values.sessionPlayerMetaData?.distinct_id || null, start, end, [\n {\n key: '$session_id',\n value: '',\n operator: PropertyOperator.Exact,\n type: PropertyFilterType.Event,\n },\n {\n key: '$lib',\n value: ['web'],\n operator: PropertyOperator.IsNot,\n type: PropertyFilterType.Event,\n },\n ]),\n ])\n\n return [...sessionEvents.results, ...relatedEvents.results].map(\n (event: any): RecordingEventType => {\n const currentUrl = event[5]\n // We use the pathname to simplify the UI - we build it here instead of fetching it to keep data usage small\n let pathname: string | undefined\n try {\n pathname = event[5] ? new URL(event[5]).pathname : undefined\n } catch {\n pathname = undefined\n }\n\n return {\n id: event[0],\n event: event[1],\n timestamp: event[2],\n elements: chainToElements(event[3]),\n properties: {\n $window_id: event[4],\n $current_url: currentUrl,\n $event_type: event[6],\n $pathname: pathname,\n },\n playerTime: +dayjs(event[2]) - +start,\n fullyLoaded: false,\n }\n }\n )\n },\n\n loadFullEventData: async ({ event }) => {\n // box so we're always dealing with a list\n const events = Array.isArray(event) ? event : [event]\n\n let existingEvents = values.sessionEventsData?.filter((x) => events.some((e) => e.id === x.id))\n\n const allEventsAreFullyLoaded =\n existingEvents?.every((e) => e.fullyLoaded) && existingEvents.length === events.length\n if (!existingEvents || allEventsAreFullyLoaded) {\n return values.sessionEventsData\n }\n\n existingEvents = existingEvents.filter((e) => !e.fullyLoaded)\n const timestamps = existingEvents.map((ee) => dayjs(ee.timestamp).utc().valueOf())\n const eventNames = Array.from(new Set(existingEvents.map((ee) => ee.event)))\n const eventIds = existingEvents.map((ee) => ee.id)\n const earliestTimestamp = timestamps.reduce((a, b) => Math.min(a, b))\n const latestTimestamp = timestamps.reduce((a, b) => Math.max(a, b))\n\n try {\n const query: HogQLQuery = {\n kind: NodeKind.HogQLQuery,\n query: hogql`SELECT properties, uuid\n FROM events\n WHERE timestamp > ${dayjs(earliestTimestamp - 1000)\n .utc()\n .format('YYYY-MM-DD HH:mm:ss.SSS')}\n AND timestamp < ${dayjs(latestTimestamp + 1000)\n .utc()\n .format('YYYY-MM-DD HH:mm:ss.SSS')}\n AND event in ${eventNames}\n AND uuid in ${eventIds}`,\n }\n const response = await api.query(query)\n if (response.error) {\n throw new Error(response.error)\n }\n\n for (const event of existingEvents) {\n const result = response.results.find((x: any) => {\n return x[1] === event.id\n })\n\n if (result) {\n event.properties = JSON.parse(result[0])\n event.fullyLoaded = true\n }\n }\n } catch (e) {\n // NOTE: This is not ideal but should happen so rarely that it is tolerable.\n existingEvents.forEach((e) => (e.fullyLoaded = true))\n captureException(e, {\n tags: { feature: 'session-recording-load-full-event-data' },\n })\n }\n\n // here we map the events list because we want the result to be a new instance to trigger downstream recalculation\n return !values.sessionEventsData\n ? values.sessionEventsData\n : values.sessionEventsData.map((x) => {\n const event = existingEvents?.find((ee) => ee.id === x.id)\n return event\n ? ({\n ...x,\n properties: event.properties,\n fullyLoaded: event.fullyLoaded,\n } as RecordingEventType)\n : x\n })\n },\n },\n ],\n })),\n listeners(({ values, actions, cache, props }) => ({\n loadSnapshots: () => {\n // This kicks off the loading chain\n if (!values.snapshotSourcesLoading) {\n actions.loadSnapshotSources()\n }\n },\n maybeLoadRecordingMeta: () => {\n if (!values.sessionPlayerMetaDataLoading) {\n actions.loadRecordingMeta()\n }\n if (!values.sessionCommentsLoading) {\n actions.loadRecordingComments()\n }\n },\n loadSnapshotSources: () => {\n // We only load events once we actually start loading the recording\n actions.loadEvents()\n },\n loadRecordingMetaSuccess: () => {\n cache.metadataLoadDuration = Math.round(performance.now() - cache.metaStartTime)\n actions.reportUsageIfFullyLoaded()\n },\n loadRecordingMetaFailure: () => {\n cache.metadataLoadDuration = Math.round(performance.now() - cache.metaStartTime)\n },\n\n loadSnapshotSourcesSuccess: () => {\n // When we receive the list of sources we can kick off the loading chain\n actions.loadNextSnapshotSource()\n },\n\n loadSnapshotsForSourceSuccess: ({ snapshotsForSource }) => {\n const sources = values.snapshotSources\n const snapshots = snapshotsForSource.snapshots\n\n // Cache the last response count to detect if we're getting the same data over and over\n const newSnapshotsCount = snapshots.length\n\n if ((cache.lastSnapshotsCount ?? newSnapshotsCount) === newSnapshotsCount) {\n // if we're getting no results from realtime polling we can increment faster\n // so that we stop polling sooner\n const increment = newSnapshotsCount === 0 ? 2 : 1\n cache.lastSnapshotsUnchangedCount = (cache.lastSnapshotsUnchangedCount ?? 0) + increment\n } else {\n cache.lastSnapshotsUnchangedCount = 0\n }\n cache.lastSnapshotsCount = newSnapshotsCount\n\n if (!snapshots.length && sources?.length === 1) {\n // We got only a single source to load, loaded it successfully, but it had no snapshots.\n posthog.capture('recording_snapshots_v2_empty_response', {\n source: sources[0],\n })\n } else if (!cache.firstPaintDuration) {\n cache.firstPaintDuration = Math.round(performance.now() - cache.snapshotsStartTime)\n }\n if (!values.wasMarkedViewed) {\n actions.markViewed()\n }\n\n actions.loadNextSnapshotSource()\n },\n\n loadNextSnapshotSource: () => {\n const nextSourceToLoad = values.snapshotSources?.find((s) => {\n const sourceKey = getSourceKey(s)\n return !values.snapshotsBySource?.[sourceKey]\n })\n\n if (nextSourceToLoad) {\n return actions.loadSnapshotsForSource(nextSourceToLoad)\n }\n\n // TODO: Move this to a one time check - only report once per recording\n cache.snapshotsLoadDuration = Math.round(performance.now() - cache.snapshotsStartTime)\n actions.reportUsageIfFullyLoaded()\n\n // If we have a realtime source, start polling it\n const realTimeSource = values.snapshotSources?.find((s) => s.source === SnapshotSourceType.realtime)\n if (realTimeSource) {\n actions.pollRealtimeSnapshots()\n }\n },\n loadSnapshotsForSourceFailure: () => {\n cache.snapshotsLoadDuration = Math.round(performance.now() - cache.snapshotsStartTime)\n },\n pollRealtimeSnapshots: () => {\n // always make sure we've cleared up the last timeout\n clearTimeout(cache.realTimePollingTimeoutID)\n cache.realTimePollingTimeoutID = null\n\n // ten is an arbitrary limit to try to avoid sending requests to our backend unnecessarily\n // we could change this or add to it e.g. only poll if browser is visible to user\n if ((cache.lastSnapshotsUnchangedCount ?? 0) <= 10) {\n cache.realTimePollingTimeoutID = setTimeout(() => {\n actions.loadSnapshotsForSource({ source: SnapshotSourceType.realtime })\n }, props.realTimePollingIntervalMilliseconds || DEFAULT_REALTIME_POLLING_MILLIS)\n } else {\n actions.stopRealtimePolling()\n }\n },\n loadEventsSuccess: () => {\n cache.eventsLoadDuration = Math.round(performance.now() - cache.eventsStartTime)\n actions.reportUsageIfFullyLoaded()\n },\n loadEventsFailure: () => {\n cache.eventsLoadDuration = Math.round(performance.now() - cache.eventsStartTime)\n },\n reportUsageIfFullyLoaded: (_, breakpoint) => {\n breakpoint()\n if (values.fullyLoaded) {\n eventUsageLogic.actions.reportRecording(\n values.sessionPlayerData,\n generateRecordingReportDurations(cache),\n SessionRecordingUsageType.LOADED,\n values.sessionPlayerMetaData,\n 0\n )\n // Reset cache now that final usage report has been sent\n resetTimingsCache(cache)\n }\n },\n markViewed: async ({ delay }, breakpoint) => {\n const durations = generateRecordingReportDurations(cache)\n // Triggered on first paint\n breakpoint()\n if (values.wasMarkedViewed) {\n return\n }\n actions.setWasMarkedViewed(true) // this prevents us from calling the function multiple times\n\n await breakpoint(IS_TEST_MODE ? 1 : delay ?? 3000)\n await api.recordings.update(props.sessionRecordingId, {\n viewed: true,\n player_metadata: values.sessionPlayerMetaData,\n durations,\n })\n await breakpoint(IS_TEST_MODE ? 1 : 10000)\n await api.recordings.update(props.sessionRecordingId, {\n analyzed: true,\n player_metadata: values.sessionPlayerMetaData,\n durations,\n })\n },\n\n maybePersistRecording: () => {\n if (values.sessionPlayerMetaDataLoading) {\n return\n }\n\n if (values.sessionPlayerMetaData?.storage === 'object_storage') {\n actions.persistRecording()\n }\n },\n })),\n selectors(({ cache }) => ({\n webVitalsEvents: [\n (s) => [s.sessionEventsData],\n (sessionEventsData): RecordingEventType[] =>\n (sessionEventsData || []).filter((e) => e.event === '$web_vitals'),\n ],\n\n windowIdForTimestamp: [\n (s) => [s.segments],\n (segments) =>\n (timestamp: number): string | undefined => {\n return segments.find(\n (segment) => segment.startTimestamp <= timestamp && segment.endTimestamp >= timestamp\n )?.windowId\n },\n ],\n\n sessionPlayerData: [\n (s, p) => [\n s.sessionPlayerMetaData,\n s.snapshotsByWindowId,\n s.segments,\n s.bufferedToTime,\n s.start,\n s.end,\n s.durationMs,\n s.fullyLoaded,\n p.sessionRecordingId,\n ],\n (\n meta,\n snapshotsByWindowId,\n segments,\n bufferedToTime,\n start,\n end,\n durationMs,\n fullyLoaded,\n sessionRecordingId\n ): SessionPlayerData => ({\n person: meta?.person ?? null,\n start,\n end,\n durationMs,\n snapshotsByWindowId,\n segments,\n bufferedToTime,\n fullyLoaded,\n sessionRecordingId,\n }),\n ],\n\n snapshotsLoading: [\n (s) => [s.snapshotSourcesLoading, s.snapshotsForSourceLoading],\n (snapshotSourcesLoading, snapshotsForSourceLoading): boolean => {\n // if there's a realTimePollingTimeoutID, don't signal that we're loading\n // we don't want the UI to flip to \"loading\" every time we poll\n return !cache.realTimePollingTimeoutID && (snapshotSourcesLoading || snapshotsForSourceLoading)\n },\n ],\n\n snapshotsLoaded: [(s) => [s.snapshotSources], (snapshotSources): boolean => !!snapshotSources],\n\n fullyLoaded: [\n (s) => [s.snapshots, s.sessionPlayerMetaDataLoading, s.snapshotsLoading, s.sessionEventsDataLoading],\n (snapshots, sessionPlayerMetaDataLoading, snapshotsLoading, sessionEventsDataLoading): boolean => {\n // TODO: Do a proper check for all sources having been loaded\n return (\n !!snapshots.length &&\n !sessionPlayerMetaDataLoading &&\n !snapshotsLoading &&\n !sessionEventsDataLoading\n )\n },\n ],\n\n firstSnapshot: [\n (s) => [s.snapshots],\n (snapshots): RecordingSnapshot | null => {\n return snapshots[0] || null\n },\n ],\n\n lastSnapshot: [\n (s) => [s.snapshots],\n (snapshots): RecordingSnapshot | null => {\n return snapshots[snapshots.length - 1] || null\n },\n ],\n\n start: [\n (s) => [s.firstSnapshot, s.sessionPlayerMetaData],\n (firstSnapshot, meta): Dayjs | null => {\n const eventStart = meta?.start_time ? dayjs(meta.start_time) : null\n const snapshotStart = firstSnapshot ? dayjs(firstSnapshot.timestamp) : null\n\n // whichever is earliest\n if (eventStart && snapshotStart) {\n return eventStart.isBefore(snapshotStart) ? eventStart : snapshotStart\n }\n return eventStart || snapshotStart\n },\n ],\n\n end: [\n (s) => [s.lastSnapshot, s.sessionPlayerMetaData],\n (lastSnapshot, meta): Dayjs | null => {\n const eventEnd = meta?.end_time ? dayjs(meta.end_time) : null\n const snapshotEnd = lastSnapshot ? dayjs(lastSnapshot.timestamp) : null\n\n // whichever is latest\n if (eventEnd && snapshotEnd) {\n return eventEnd.isAfter(snapshotEnd) ? eventEnd : snapshotEnd\n }\n return eventEnd || snapshotEnd\n },\n ],\n\n durationMs: [\n (s) => [s.start, s.end],\n (start, end): number => {\n return !!start && !!end ? end.diff(start) : 0\n },\n ],\n\n segments: [\n (s) => [s.snapshots, s.start, s.end, s.trackedWindow],\n (snapshots, start, end, trackedWindow): RecordingSegment[] => {\n return createSegments(snapshots || [], start, end, trackedWindow)\n },\n ],\n\n urls: [\n (s) => [s.snapshots],\n (snapshots): { url: string; timestamp: number }[] => {\n return (\n snapshots\n .filter((snapshot) => getHrefFromSnapshot(snapshot))\n .map((snapshot) => {\n return {\n url: getHrefFromSnapshot(snapshot) as string,\n timestamp: snapshot.timestamp,\n }\n }) ?? []\n )\n },\n ],\n\n snapshots: [\n (s) => [s.snapshotSources, s.snapshotsBySource],\n (sources, snapshotsBySource): RecordingSnapshot[] => {\n const allSnapshots =\n sources?.flatMap((source) => {\n const sourceKey = getSourceKey(source)\n return snapshotsBySource?.[sourceKey]?.snapshots || []\n }) ?? []\n\n return deduplicateSnapshots(allSnapshots)\n },\n ],\n\n untransformedSnapshots: [\n (s) => [s.snapshotSources, s.snapshotsBySource],\n (sources, snapshotsBySource): RecordingSnapshot[] => {\n const allSnapshots =\n sources?.flatMap((source) => {\n const sourceKey = getSourceKey(source)\n return snapshotsBySource?.[sourceKey]?.untransformed_snapshots || []\n }) ?? []\n\n return deduplicateSnapshots(allSnapshots)\n },\n ],\n\n snapshotsByWindowId: [\n (s) => [s.snapshots],\n (snapshots): Record => {\n return mapSnapshotsToWindowId(snapshots || [])\n },\n ],\n\n snapshotsInvalid: [\n (s, p) => [s.snapshotsByWindowId, s.fullyLoaded, s.start, p.sessionRecordingId, s.currentTeam],\n (snapshotsByWindowId, fullyLoaded, start, sessionRecordingId, currentTeam): boolean => {\n if (!fullyLoaded || !start) {\n return false\n }\n\n const windowsHaveFullSnapshot = Object.entries(snapshotsByWindowId).reduce(\n (acc, [windowId, events]) => {\n acc[`window-id-${windowId}-has-full-snapshot`] = events.some(\n (event) => event.type === EventType.FullSnapshot\n )\n return acc\n },\n {}\n )\n const anyWindowMissingFullSnapshot = !Object.values(windowsHaveFullSnapshot).some((x) => x)\n const everyWindowMissingFullSnapshot = !Object.values(windowsHaveFullSnapshot).every((x) => x)\n\n if (everyWindowMissingFullSnapshot) {\n // video is definitely unplayable\n posthog.capture('recording_has_no_full_snapshot', {\n watchedSession: sessionRecordingId,\n teamId: currentTeam?.id,\n teamName: currentTeam?.name,\n })\n } else if (anyWindowMissingFullSnapshot) {\n posthog.capture('recording_window_missing_full_snapshot', {\n watchedSession: sessionRecordingId,\n teamID: currentTeam?.id,\n teamName: currentTeam?.name,\n })\n }\n\n return everyWindowMissingFullSnapshot\n },\n ],\n\n isRecentAndInvalid: [\n (s) => [s.start, s.snapshotsInvalid],\n (start, snapshotsInvalid) => {\n const lessThanFiveMinutesOld = dayjs().diff(start, 'minute') <= 5\n return snapshotsInvalid && lessThanFiveMinutesOld\n },\n ],\n\n bufferedToTime: [\n (s) => [s.segments],\n (segments): number | null => {\n if (!segments.length) {\n return null\n }\n\n const startTime = segments[0].startTimestamp\n const lastSegment = segments[segments.length - 1]\n\n if (lastSegment.kind === 'buffer') {\n return lastSegment.startTimestamp - startTime\n }\n\n return lastSegment.endTimestamp - startTime\n },\n ],\n\n windowIds: [\n (s) => [s.snapshotsByWindowId],\n (snapshotsByWindowId) => {\n return Object.keys(snapshotsByWindowId)\n },\n ],\n\n createExportJSON: [\n (s) => [s.sessionPlayerMetaData, s.snapshots, s.untransformedSnapshots],\n (\n sessionPlayerMetaData,\n snapshots,\n untransformedSnapshots\n ): ((exportUntransformedMobileSnapshotData: boolean) => ExportedSessionRecordingFileV2) => {\n return (exportUntransformedMobileSnapshotData: boolean) => ({\n version: '2023-04-28',\n data: {\n id: sessionPlayerMetaData?.id ?? '',\n person: sessionPlayerMetaData?.person,\n snapshots: exportUntransformedMobileSnapshotData ? untransformedSnapshots : snapshots,\n },\n })\n },\n ],\n\n customRRWebEvents: [\n (s) => [s.snapshots],\n (snapshots): customEvent[] => {\n return snapshots.filter((snapshot) => snapshot.type === EventType.Custom).map((x) => x as customEvent)\n },\n ],\n })),\n subscriptions(({ actions, values }) => ({\n webVitalsEvents: (value: RecordingEventType[]) => {\n // we preload all web vitals data, so it can be used before user interaction\n if (!values.sessionEventsDataLoading) {\n actions.loadFullEventData(value)\n }\n },\n isRecentAndInvalid: (prev: boolean, next: boolean) => {\n if (!prev && next) {\n posthog.capture('recording cannot playback yet', {\n watchedSession: values.sessionPlayerData.sessionRecordingId,\n })\n }\n },\n })),\n afterMount(({ cache }) => {\n resetTimingsCache(cache)\n }),\n beforeUnmount(({ cache }) => {\n resetTimingsCache(cache)\n }),\n])\n","import { actions, connect, kea, listeners, path, reducers } from 'kea'\nimport { loaders } from 'kea-loaders'\nimport api from 'lib/api'\nimport { dayjs } from 'lib/dayjs'\nimport { CORE_FILTER_DEFINITIONS_BY_GROUP } from 'lib/taxonomy'\nimport { eventUsageLogic } from 'lib/utils/eventUsageLogic'\n\nimport { HogQLQuery, NodeKind } from '~/queries/schema'\nimport { hogql } from '~/queries/utils'\nimport { SessionRecordingPropertiesType, SessionRecordingType } from '~/types'\n\nimport type { sessionRecordingsListPropertiesLogicType } from './sessionRecordingsListPropertiesLogicType'\n\n// This logic is used to fetch properties for a list of recordings\n// It is used in a global way as the cached values can be re-used\nexport const sessionRecordingsListPropertiesLogic = kea([\n path(() => ['scenes', 'session-recordings', 'playlist', 'sessionRecordingsListPropertiesLogic']),\n connect(() => ({\n actions: [eventUsageLogic, ['reportRecordingsListPropertiesFetched']],\n })),\n\n actions({\n loadPropertiesForSessions: (sessions: SessionRecordingType[]) => ({ sessions }),\n maybeLoadPropertiesForSessions: (sessions: SessionRecordingType[]) => ({ sessions }),\n }),\n\n loaders(({ actions }) => ({\n recordingProperties: [\n [] as SessionRecordingPropertiesType[],\n {\n loadPropertiesForSessions: async ({ sessions }, breakpoint) => {\n await breakpoint(100)\n\n const startTime = performance.now()\n const sessionIds = sessions.map((x) => x.id)\n\n const oldestTimestamp = sessions.map((x) => x.start_time).sort()[0]\n const newestTimestamp = sessions.map((x) => x.end_time).sort()[sessions.length - 1]\n\n const query: HogQLQuery = {\n kind: NodeKind.HogQLQuery,\n query: hogql`SELECT \n $session_id as session_id, \n any(properties.$geoip_country_code) as $geoip_country_code, \n any(properties.$browser) as $browser, \n any(properties.$device_type) as $device_type, \n any(properties.$os) as $os, \n any(properties.$os_name) as $os_name,\n argMin(properties.$referring_domain, timestamp) as $referring_domain,\n any(properties.$geoip_subdivision_1_name) as $geoip_subdivision_1_name,\n any(properties.$geoip_city_name) as $geoip_city_name\n FROM events\n WHERE event IN ${Object.keys(CORE_FILTER_DEFINITIONS_BY_GROUP['events'])}\n AND session_id IN ${sessionIds}\n -- the timestamp range here is only to avoid querying too much of the events table\n -- we don't really care about the absolute value, \n -- but we do care about whether timezones have an odd impact\n -- so, we extend the range by a day on each side so that timezones don't cause issues\n AND timestamp >= ${dayjs(oldestTimestamp).subtract(1, 'day')}\n AND timestamp <= ${dayjs(newestTimestamp).add(1, 'day')}\n GROUP BY session_id`,\n }\n\n const response = await api.query(query)\n const loadTimeMs = performance.now() - startTime\n\n actions.reportRecordingsListPropertiesFetched(loadTimeMs)\n\n breakpoint()\n return (response.results || []).map((x: any): SessionRecordingPropertiesType => {\n return {\n id: x[0],\n properties: {\n $geoip_country_code: x[1],\n $browser: x[2],\n $device_type: x[3],\n $os: x[4],\n $os_name: x[5],\n $referring_domain: x[6],\n $geoip_subdivision_1_name: x[7],\n $geoip_city_name: x[8],\n },\n }\n })\n },\n },\n ],\n })),\n\n listeners(({ actions, values }) => ({\n maybeLoadPropertiesForSessions: ({ sessions }) => {\n const newSessions = sessions.filter((session) => !values.recordingPropertiesById[session.id])\n\n if (newSessions.length > 0) {\n actions.loadPropertiesForSessions(newSessions)\n }\n },\n })),\n\n reducers({\n recordingPropertiesById: [\n {} as Record,\n {\n loadPropertiesForSessionsSuccess: (\n state,\n { recordingProperties }\n ): Record => {\n const newState = { ...state }\n recordingProperties.forEach((properties) => {\n newState[properties.id] = properties.properties\n })\n\n return newState\n },\n },\n ],\n }),\n])\n","import { Link } from '@posthog/lemon-ui'\nimport { useActions, useValues } from 'kea'\nimport { Form } from 'kea-forms'\nimport { CopyToClipboardInline } from 'lib/components/CopyToClipboard'\nimport { LemonBanner } from 'lib/lemon-ui/LemonBanner'\nimport { LemonButton } from 'lib/lemon-ui/LemonButton'\nimport { LemonField } from 'lib/lemon-ui/LemonField'\nimport { LemonInput } from 'lib/lemon-ui/LemonInput/LemonInput'\nimport { LemonModal } from 'lib/lemon-ui/LemonModal'\nimport { LemonTextArea } from 'lib/lemon-ui/LemonTextArea/LemonTextArea'\nimport { preflightLogic } from 'scenes/PreflightCheck/preflightLogic'\n\nimport { verifiedDomainsLogic } from './verifiedDomainsLogic'\n\nexport function ConfigureSAMLModal(): JSX.Element {\n const { configureSAMLModalId, isSamlConfigSubmitting, samlConfig } = useValues(verifiedDomainsLogic)\n const { setConfigureSAMLModalId } = useActions(verifiedDomainsLogic)\n const { preflight } = useValues(preflightLogic)\n const siteUrl = preflight?.site_url ?? window.location.origin\n\n const samlReady = samlConfig.saml_acs_url && samlConfig.saml_entity_id && samlConfig.saml_x509_cert\n\n const handleClose = (): void => {\n setConfigureSAMLModalId(null)\n // clean()\n }\n\n return (\n \n
\n \n

Configure SAML authentication and provisioning

\n
\n \n

\n \n Read the docs\n \n

\n \n {`${siteUrl}/complete/saml/`}\n \n \n {configureSAMLModalId || 'unknown'}\n \n \n {siteUrl}\n \n \n \n \n \n \n \n \n \n \n {!samlReady && (\n \n SAML will not be enabled unless you enter all attributes above. However you can still\n settings as draft.\n \n )}\n
\n \n \n Save settings\n \n \n
\n
\n )\n}\n","import { IconEllipsis, IconInfo } from '@posthog/icons'\nimport {\n LemonBanner,\n LemonButton,\n LemonDialog,\n LemonInput,\n LemonMenu,\n LemonTable,\n LemonTableColumns,\n LemonTabs,\n Spinner,\n Tooltip,\n} from '@posthog/lemon-ui'\nimport clsx from 'clsx'\nimport { useActions, useValues } from 'kea'\nimport { Form } from 'kea-forms'\nimport { CodeSnippet, Language } from 'lib/components/CodeSnippet'\nimport { PayGateMini } from 'lib/components/PayGateMini/PayGateMini'\nimport { RestrictionScope, useRestrictedArea } from 'lib/components/RestrictedArea'\nimport { OrganizationMembershipLevel } from 'lib/constants'\nimport { LemonField } from 'lib/lemon-ui/LemonField'\nimport { LemonMarkdown } from 'lib/lemon-ui/LemonMarkdown'\n\nimport { AvailableFeature } from '~/types'\n\nimport { proxyLogic, ProxyRecord } from './proxyLogic'\n\nconst MAX_PROXY_RECORDS = 3\n\nconst statusText = {\n valid: 'live',\n timed_out: 'timed out',\n}\n\nexport function ManagedReverseProxy(): JSX.Element {\n const { formState, proxyRecords, proxyRecordsLoading } = useValues(proxyLogic)\n const { showForm, deleteRecord } = useActions(proxyLogic)\n\n const restrictionReason = useRestrictedArea({\n minimumAccessLevel: OrganizationMembershipLevel.Admin,\n scope: RestrictionScope.Organization,\n })\n\n const maxRecordsReached = proxyRecords.length >= MAX_PROXY_RECORDS\n\n const recordsWithMessages = proxyRecords.filter((record) => !!record.message)\n\n const columns: LemonTableColumns = [\n {\n title: 'Domain',\n dataIndex: 'domain',\n },\n {\n title: 'Status',\n dataIndex: 'status',\n render: function RenderStatus(status) {\n if (!status) {\n return Unknown\n }\n\n return (\n \n {status === 'issuing' && }\n {statusText[status] || status}\n {status === 'waiting' && (\n \n \n \n )}\n {status === 'timed_out' && (\n \n \n \n )}\n \n )\n },\n },\n {\n title: ,\n width: 20,\n className: 'flex justify-center',\n render: function Render(_, { id, status }) {\n return (\n status != 'deleting' &&\n !restrictionReason && (\n {\n LemonDialog.open({\n title: 'Delete managed proxy',\n width: '20rem',\n content:\n 'Are you sure you want to delete this managed proxy? This cannot be undone and if it is in use then events sent to the domain will not be processed.',\n primaryButton: {\n status: 'danger',\n onClick: () => deleteRecord(id),\n children: 'Delete',\n },\n secondaryButton: {\n children: 'Cancel',\n },\n })\n },\n },\n ]}\n >\n } />\n \n )\n )\n },\n },\n ]\n\n return (\n \n
\n {recordsWithMessages.map((r) => (\n \n {`**${r.domain}**\\n ${r.message}`}\n \n ))}\n ,\n }}\n />\n {formState === 'collapsed' ? (\n maxRecordsReached ? (\n \n There is a maximum of {MAX_PROXY_RECORDS} records allowed per organization\n \n ) : (\n
\n \n Add managed proxy\n \n
\n )\n ) : (\n \n )}\n
\n
\n )\n}\n\nconst ExpandedRow = ({ record }: { record: ProxyRecord }): JSX.Element => {\n return (\n
\n \n {record.target_cname}\n \n ),\n },\n ]}\n />\n
\n )\n}\n\nfunction CreateRecordForm(): JSX.Element {\n const { formState, proxyRecordsLoading, proxyRecords } = useValues(proxyLogic)\n const { collapseForm } = useActions(proxyLogic)\n\n const waitingRecords = proxyRecords.filter((r) => r.status === 'waiting')\n\n return (\n
\n {formState == 'active' ? (\n
\n \n \n \n
\n \n Cancel\n \n \n Add\n \n
\n
\n ) : (\n <>\n
Almost there
\n
\n You need to set the following CNAME records in your DNS provider:\n
\n {waitingRecords.map((r) => (\n
\n {r.domain}\n \n {r.target_cname}\n \n
\n ))}\n
\n \n Done\n \n
\n \n )}\n
\n )\n}\n","import { lemonToast } from '@posthog/lemon-ui'\nimport { actions, afterMount, connect, kea, key, listeners, path, props, reducers, selectors } from 'kea'\nimport { forms } from 'kea-forms'\nimport { loaders } from 'kea-loaders'\nimport { actionToUrl, router, urlToAction } from 'kea-router'\nimport api from 'lib/api'\nimport { dayjs } from 'lib/dayjs'\nimport { featureFlagLogic as enabledFlagLogic } from 'lib/logic/featureFlagLogic'\nimport { hasFormErrors, isObject } from 'lib/utils'\nimport { eventUsageLogic } from 'lib/utils/eventUsageLogic'\nimport { Scene } from 'scenes/sceneTypes'\nimport { teamLogic } from 'scenes/teamLogic'\nimport { urls } from 'scenes/urls'\n\nimport { DataTableNode, HogQLQuery, InsightVizNode, NodeKind } from '~/queries/schema'\nimport { hogql } from '~/queries/utils'\nimport {\n BaseMathType,\n Breadcrumb,\n FeatureFlagFilters,\n MultipleSurveyQuestion,\n PropertyFilterType,\n PropertyOperator,\n RatingSurveyQuestion,\n Survey,\n SurveyQuestionBase,\n SurveyQuestionBranchingType,\n SurveyQuestionType,\n SurveyUrlMatchType,\n} from '~/types'\n\nimport { defaultSurveyAppearance, defaultSurveyFieldValues, NEW_SURVEY, NewSurvey } from './constants'\nimport type { surveyLogicType } from './surveyLogicType'\nimport { surveysLogic } from './surveysLogic'\nimport { sanitizeHTML } from './utils'\n\nexport enum SurveyEditSection {\n Steps = 'steps',\n Widget = 'widget',\n Presentation = 'presentation',\n Appearance = 'appearance',\n Customization = 'customization',\n DisplayConditions = 'DisplayConditions',\n Scheduling = 'scheduling',\n CompletionConditions = 'CompletionConditions',\n}\nexport interface SurveyLogicProps {\n /** Either a UUID or 'new'. */\n id: string\n}\n\nexport interface SurveyMetricsQueries {\n surveysShown: DataTableNode\n surveysDismissed: DataTableNode\n}\n\nexport interface SurveyUserStats {\n seen: number\n dismissed: number\n sent: number\n}\n\nexport interface SurveyRatingResults {\n [key: number]: {\n data: number[]\n total: number\n }\n}\n\nexport interface SurveyRecurringNPSResults {\n [key: number]: {\n data: number[]\n total: number\n }\n}\n\ntype SurveyNPSResult = {\n Promoters: number\n Detractors: number\n Passives: number\n}\n\nexport interface SurveySingleChoiceResults {\n [key: number]: {\n labels: string[]\n data: number[]\n total: number\n }\n}\n\nexport interface SurveyMultipleChoiceResults {\n [key: number]: {\n labels: string[]\n data: number[]\n }\n}\n\nexport interface SurveyOpenTextResults {\n [key: number]: {\n events: { distinct_id: string; properties: Record; personProperties: Record }[]\n }\n}\n\nexport interface QuestionResultsReady {\n [key: string]: boolean\n}\n\nexport type DataCollectionType = 'until_stopped' | 'until_limit' | 'until_adaptive_limit'\nexport type ScheduleType = 'once' | 'recurring'\n\nconst getResponseField = (i: number): string => (i === 0 ? '$survey_response' : `$survey_response_${i}`)\n\nfunction duplicateExistingSurvey(survey: Survey | NewSurvey): Partial {\n return {\n ...survey,\n id: NEW_SURVEY.id,\n name: `${survey.name} (copy)`,\n archived: false,\n start_date: null,\n end_date: null,\n targeting_flag_filters: survey.targeting_flag?.filters ?? NEW_SURVEY.targeting_flag_filters,\n linked_flag_id: survey.linked_flag?.id ?? NEW_SURVEY.linked_flag_id,\n }\n}\n\nexport const surveyLogic = kea([\n props({} as SurveyLogicProps),\n key(({ id }) => id),\n path((key) => ['scenes', 'surveys', 'surveyLogic', key]),\n connect(() => ({\n actions: [\n surveysLogic,\n ['loadSurveys'],\n eventUsageLogic,\n [\n 'reportSurveyCreated',\n 'reportSurveyEdited',\n 'reportSurveyArchived',\n 'reportSurveyViewed',\n 'reportSurveyCycleDetected',\n ],\n ],\n values: [enabledFlagLogic, ['featureFlags as enabledFlags'], surveysLogic, ['surveys']],\n })),\n actions({\n setSurveyMissing: true,\n editingSurvey: (editing: boolean) => ({ editing }),\n setDefaultForQuestionType: (\n idx: number,\n type: SurveyQuestionType,\n isEditingQuestion: boolean,\n isEditingDescription: boolean,\n isEditingThankYouMessage: boolean\n ) => ({\n idx,\n type,\n isEditingQuestion,\n isEditingDescription,\n isEditingThankYouMessage,\n }),\n setQuestionBranchingType: (questionIndex, type, specificQuestionIndex) => ({\n questionIndex,\n type,\n specificQuestionIndex,\n }),\n setResponseBasedBranchingForQuestion: (questionIndex, responseValue, nextStep, specificQuestionIndex) => ({\n questionIndex,\n responseValue,\n nextStep,\n specificQuestionIndex,\n }),\n setDataCollectionType: (dataCollectionType: DataCollectionType) => ({\n dataCollectionType,\n }),\n resetBranchingForQuestion: (questionIndex) => ({ questionIndex }),\n deleteBranchingLogic: true,\n archiveSurvey: true,\n setWritingHTMLDescription: (writingHTML: boolean) => ({ writingHTML }),\n setSurveyTemplateValues: (template: any) => ({ template }),\n setSelectedPageIndex: (idx: number | null) => ({ idx }),\n setSelectedSection: (section: SurveyEditSection | null) => ({ section }),\n\n setSchedule: (schedule: ScheduleType) => ({ schedule }),\n resetTargeting: true,\n resetSurveyAdaptiveSampling: true,\n resetSurveyResponseLimits: true,\n setFlagPropertyErrors: (errors: any) => ({ errors }),\n }),\n loaders(({ props, actions, values }) => ({\n responseSummary: {\n summarize: async ({ questionIndex }: { questionIndex?: number }) => {\n return api.surveys.summarize_responses(props.id, questionIndex)\n },\n },\n survey: {\n loadSurvey: async () => {\n if (props.id && props.id !== 'new') {\n try {\n const survey = await api.surveys.get(props.id)\n actions.reportSurveyViewed(survey)\n return survey\n } catch (error: any) {\n if (error.status === 404) {\n actions.setSurveyMissing()\n return { ...NEW_SURVEY }\n }\n throw error\n }\n }\n if (props.id === 'new' && router.values.hashParams.fromTemplate) {\n const templatedSurvey = values.survey\n templatedSurvey.appearance = {\n ...defaultSurveyAppearance,\n ...teamLogic.values.currentTeam?.survey_config?.appearance,\n ...templatedSurvey.appearance,\n }\n return templatedSurvey\n }\n\n const newSurvey = NEW_SURVEY\n newSurvey.appearance = {\n ...defaultSurveyAppearance,\n ...teamLogic.values.currentTeam?.survey_config?.appearance,\n ...newSurvey.appearance,\n }\n\n return newSurvey\n },\n createSurvey: async (surveyPayload: Partial) => {\n return await api.surveys.create(sanitizeQuestions(surveyPayload))\n },\n updateSurvey: async (surveyPayload: Partial) => {\n return await api.surveys.update(props.id, sanitizeQuestions(surveyPayload))\n },\n launchSurvey: async () => {\n const startDate = dayjs()\n return await api.surveys.update(props.id, { start_date: startDate.toISOString() })\n },\n stopSurvey: async () => {\n return await api.surveys.update(props.id, { end_date: dayjs().toISOString() })\n },\n resumeSurvey: async () => {\n return await api.surveys.update(props.id, { end_date: null })\n },\n },\n duplicatedSurvey: {\n duplicateSurvey: async () => {\n const { survey } = values\n const payload = duplicateExistingSurvey(survey)\n const createdSurvey = await api.surveys.create(sanitizeQuestions(payload))\n\n lemonToast.success('Survey duplicated.', {\n toastId: `survey-duplicated-${createdSurvey.id}`,\n button: {\n label: 'View Survey',\n action: () => {\n router.actions.push(urls.survey(createdSurvey.id))\n },\n },\n })\n\n actions.reportSurveyCreated(createdSurvey, true)\n return survey\n },\n },\n surveyUserStats: {\n loadSurveyUserStats: async (): Promise => {\n const survey: Survey = values.survey as Survey\n const startDate = dayjs(survey.start_date || survey.created_at).format('YYYY-MM-DD')\n const endDate = survey.end_date\n ? dayjs(survey.end_date).add(1, 'day').format('YYYY-MM-DD')\n : dayjs().add(1, 'day').format('YYYY-MM-DD')\n\n const query: HogQLQuery = {\n kind: NodeKind.HogQLQuery,\n query: hogql`\n SELECT\n (SELECT COUNT(DISTINCT person_id)\n FROM events\n WHERE event = 'survey shown'\n AND properties.$survey_id = ${props.id}\n AND timestamp >= ${startDate}\n AND timestamp <= ${endDate}),\n (SELECT COUNT(DISTINCT person_id)\n FROM events\n WHERE event = 'survey dismissed'\n AND properties.$survey_id = ${props.id}\n AND timestamp >= ${startDate}\n AND timestamp <= ${endDate}),\n (SELECT COUNT(DISTINCT person_id)\n FROM events\n WHERE event = 'survey sent'\n AND properties.$survey_id = ${props.id}\n AND timestamp >= ${startDate}\n AND timestamp <= ${endDate})\n `,\n }\n const responseJSON = await api.query(query)\n const { results } = responseJSON\n if (results && results[0]) {\n const [totalSeen, dismissed, sent] = results[0]\n const onlySeen = totalSeen - dismissed - sent\n return { seen: onlySeen < 0 ? 0 : onlySeen, dismissed, sent }\n }\n return { seen: 0, dismissed: 0, sent: 0 }\n },\n },\n surveyRatingResults: {\n loadSurveyRatingResults: async ({\n questionIndex,\n iteration,\n }: {\n questionIndex: number\n iteration?: number | null | undefined\n }): Promise => {\n const question = values.survey.questions[questionIndex]\n if (question.type !== SurveyQuestionType.Rating) {\n throw new Error(`Survey question type must be ${SurveyQuestionType.Rating}`)\n }\n\n const survey: Survey = values.survey as Survey\n const startDate = dayjs(survey.start_date || survey.created_at).format('YYYY-MM-DD')\n const endDate = survey.end_date\n ? dayjs(survey.end_date).add(1, 'day').format('YYYY-MM-DD')\n : dayjs().add(1, 'day').format('YYYY-MM-DD')\n\n let iterationCondition = ''\n if (iteration && iteration > 0) {\n iterationCondition = ` AND properties.$survey_iteration='${iteration}' `\n }\n const query: HogQLQuery = {\n kind: NodeKind.HogQLQuery,\n query: `\n SELECT\n JSONExtractString(properties, '${getResponseField(questionIndex)}') AS survey_response,\n COUNT(survey_response)\n FROM events\n WHERE event = 'survey sent' \n AND properties.$survey_id = '${props.id}'\n ${iterationCondition}\n AND timestamp >= '${startDate}'\n AND timestamp <= '${endDate}'\n GROUP BY survey_response\n `,\n }\n const responseJSON = await api.query(query)\n // TODO:Dylan - I don't like how we lose our types here\n // would be cool if we could parse this in a more type-safe way\n const { results } = responseJSON\n\n let total = 0\n const dataSize = question.scale === 10 ? 11 : question.scale\n const data = new Array(dataSize).fill(0)\n results?.forEach(([value, count]) => {\n total += count\n\n const index = question.scale === 10 ? value : value - 1\n data[index] = count\n })\n\n return { ...values.surveyRatingResults, [questionIndex]: { total, data } }\n },\n },\n surveyRecurringNPSResults: {\n loadSurveyRecurringNPSResults: async ({\n questionIndex,\n }: {\n questionIndex: number\n }): Promise => {\n const question = values.survey.questions[questionIndex]\n if (question.type !== SurveyQuestionType.Rating) {\n throw new Error(`Survey question type must be ${SurveyQuestionType.Rating}`)\n }\n\n const survey: Survey = values.survey as Survey\n const startDate = dayjs(survey.start_date || survey.created_at).format('YYYY-MM-DD')\n const endDate = survey.end_date\n ? dayjs(survey.end_date).add(1, 'day').format('YYYY-MM-DD')\n : dayjs().add(1, 'day').format('YYYY-MM-DD')\n\n const query: HogQLQuery = {\n kind: NodeKind.HogQLQuery,\n query: `\n SELECT\n JSONExtractString(properties, '$survey_iteration') AS survey_iteration,\n JSONExtractString(properties, '${getResponseField(questionIndex)}') AS survey_response,\n COUNT(survey_response)\n FROM events\n WHERE event = 'survey sent'\n AND properties.$survey_id = '${props.id}'\n AND timestamp >= '${startDate}'\n AND timestamp <= '${endDate}'\n GROUP BY survey_response, survey_iteration\n `,\n }\n\n const responseJSON = await api.query(query)\n const { results } = responseJSON\n let total = 100\n const data = new Array(survey.iteration_count).fill(0)\n\n const iterations = new Map()\n\n results?.forEach(([iteration, response, count]) => {\n let promoters = 0\n let passives = 0\n let detractors = 0\n\n if (parseInt(response) >= 9) {\n // a Promoter is someone who gives a survey response of 9 or 10\n promoters += parseInt(count)\n } else if (parseInt(response) > 6) {\n // a Passive is someone who gives a survey response of 7 or 8\n passives += parseInt(count)\n } else {\n // a Detractor is someone who gives a survey response of 0 - 6\n detractors += parseInt(count)\n }\n\n if (iterations.has(iteration)) {\n const currentValue = iterations.get(iteration)\n if (currentValue !== undefined) {\n currentValue.Detractors += detractors\n currentValue.Promoters += promoters\n currentValue.Passives += passives\n }\n } else {\n iterations.set(iteration, {\n Detractors: detractors,\n Passives: passives,\n Promoters: promoters,\n })\n }\n })\n\n iterations.forEach((value: SurveyNPSResult, key: string) => {\n // NPS score is calculated with this formula\n // (Promoters / (Promoters + Passives + Detractors) * 100) - (Detractors / (Promoters + Passives + Detractors)* 100)\n const totalResponses = value.Promoters + value.Passives + value.Detractors\n const npsScore =\n (value.Promoters / totalResponses) * 100 - (value.Detractors / totalResponses) * 100\n data[parseInt(key) - 1] = npsScore\n total += 100\n })\n\n return { ...values.surveyRecurringNPSResults, [questionIndex]: { total, data } }\n },\n },\n surveySingleChoiceResults: {\n loadSurveySingleChoiceResults: async ({\n questionIndex,\n }: {\n questionIndex: number\n }): Promise => {\n const survey: Survey = values.survey as Survey\n const startDate = dayjs(survey.start_date || survey.created_at).format('YYYY-MM-DD')\n const endDate = survey.end_date\n ? dayjs(survey.end_date).add(1, 'day').format('YYYY-MM-DD')\n : dayjs().add(1, 'day').format('YYYY-MM-DD')\n\n const query: HogQLQuery = {\n kind: NodeKind.HogQLQuery,\n query: `\n SELECT\n JSONExtractString(properties, '${getResponseField(questionIndex)}') AS survey_response,\n COUNT(survey_response)\n FROM events\n WHERE event = 'survey sent' \n AND properties.$survey_id = '${props.id}'\n AND timestamp >= '${startDate}'\n AND timestamp <= '${endDate}'\n GROUP BY survey_response\n `,\n }\n const responseJSON = await api.query(query)\n const { results } = responseJSON\n\n const labels = results?.map((r) => r[0])\n const data = results?.map((r) => r[1])\n const total = data?.reduce((a, b) => a + b, 0)\n\n return { ...values.surveySingleChoiceResults, [questionIndex]: { labels, data, total } }\n },\n },\n surveyMultipleChoiceResults: {\n loadSurveyMultipleChoiceResults: async ({\n questionIndex,\n }: {\n questionIndex: number\n }): Promise => {\n const question = values.survey.questions[questionIndex]\n if (question.type !== SurveyQuestionType.MultipleChoice) {\n throw new Error(`Survey question type must be ${SurveyQuestionType.MultipleChoice}`)\n }\n\n const survey: Survey = values.survey as Survey\n const startDate = dayjs(survey.start_date || survey.created_at).format('YYYY-MM-DD')\n const endDate = survey.end_date\n ? dayjs(survey.end_date).add(1, 'day').format('YYYY-MM-DD')\n : dayjs().add(1, 'day').format('YYYY-MM-DD')\n\n const query: HogQLQuery = {\n kind: NodeKind.HogQLQuery,\n query: `\n SELECT \n count(),\n arrayJoin(JSONExtractArrayRaw(properties, '${getResponseField(questionIndex)}')) AS choice\n FROM events\n WHERE event == 'survey sent'\n AND properties.$survey_id == '${survey.id}'\n AND timestamp >= '${startDate}'\n AND timestamp <= '${endDate}'\n GROUP BY choice\n ORDER BY count() DESC\n `,\n }\n const responseJSON = await api.query(query)\n let { results } = responseJSON\n\n // Remove outside quotes\n results = results?.map((r) => {\n return [r[0], r[1].slice(1, r[1].length - 1)]\n })\n\n // Zero-fill choices that are not open-ended\n question.choices.forEach((choice, idx) => {\n const isOpenChoice = idx == question.choices.length - 1 && question?.hasOpenChoice\n if (results?.length && !isOpenChoice && !results.some((r) => r[1] === choice)) {\n results.push([0, choice])\n }\n })\n\n const data = results?.map((r) => r[0])\n const labels = results?.map((r) => r[1])\n\n return { ...values.surveyMultipleChoiceResults, [questionIndex]: { labels, data } }\n },\n },\n surveyOpenTextResults: {\n loadSurveyOpenTextResults: async ({\n questionIndex,\n }: {\n questionIndex: number\n }): Promise => {\n const question = values.survey.questions[questionIndex]\n if (question.type !== SurveyQuestionType.Open) {\n throw new Error(`Survey question type must be ${SurveyQuestionType.Open}`)\n }\n\n const survey: Survey = values.survey as Survey\n const startDate = dayjs(survey.start_date || survey.created_at).format('YYYY-MM-DD')\n const endDate = survey.end_date\n ? dayjs(survey.end_date).add(1, 'day').format('YYYY-MM-DD')\n : dayjs().add(1, 'day').format('YYYY-MM-DD')\n\n const query: HogQLQuery = {\n kind: NodeKind.HogQLQuery,\n query: `\n SELECT distinct_id, properties, person.properties\n FROM events\n WHERE event == 'survey sent'\n AND properties.$survey_id == '${survey.id}'\n AND trim(JSONExtractString(properties, '${getResponseField(questionIndex)}')) != ''\n AND timestamp >= '${startDate}'\n AND timestamp <= '${endDate}'\n LIMIT 20\n `,\n }\n\n const responseJSON = await api.query(query)\n const { results } = responseJSON\n\n const events =\n results?.map((r) => {\n const distinct_id = r[0]\n const properties = JSON.parse(r[1])\n const personProperties = JSON.parse(r[2])\n return { distinct_id, properties, personProperties }\n }) || []\n\n return { ...values.surveyOpenTextResults, [questionIndex]: { events } }\n },\n },\n })),\n listeners(({ actions, values }) => ({\n createSurveySuccess: ({ survey }) => {\n lemonToast.success(<>Survey {survey.name} created)\n actions.loadSurveys()\n router.actions.replace(urls.survey(survey.id))\n actions.reportSurveyCreated(survey)\n },\n updateSurveySuccess: ({ survey }) => {\n lemonToast.success(<>Survey {survey.name} updated)\n actions.editingSurvey(false)\n actions.reportSurveyEdited(survey)\n actions.loadSurveys()\n },\n duplicateSurveySuccess: () => {\n actions.loadSurveys()\n },\n launchSurveySuccess: ({ survey }) => {\n lemonToast.success(<>Survey {survey.name} launched)\n actions.loadSurveys()\n },\n stopSurveySuccess: () => {\n actions.loadSurveys()\n },\n resumeSurveySuccess: () => {\n actions.loadSurveys()\n },\n archiveSurvey: () => {\n actions.updateSurvey({ archived: true })\n },\n loadSurveySuccess: () => {\n actions.loadSurveyUserStats()\n },\n resetSurveyResponseLimits: () => {\n actions.setSurveyValue('responses_limit', null)\n },\n\n resetSurveyAdaptiveSampling: () => {\n actions.setSurveyValues({\n response_sampling_interval: null,\n response_sampling_interval_type: null,\n response_sampling_limit: null,\n response_sampling_start_date: null,\n response_sampling_daily_limits: null,\n })\n },\n resetTargeting: () => {\n actions.setSurveyValue('linked_flag_id', NEW_SURVEY.linked_flag_id)\n actions.setSurveyValue('targeting_flag_filters', NEW_SURVEY.targeting_flag_filters)\n actions.setSurveyValue('linked_flag', NEW_SURVEY.linked_flag)\n actions.setSurveyValue('targeting_flag', NEW_SURVEY.targeting_flag)\n actions.setSurveyValue('conditions', NEW_SURVEY.conditions)\n actions.setSurveyValue('remove_targeting_flag', true)\n actions.setSurveyValue('responses_limit', NEW_SURVEY.responses_limit)\n actions.setSurveyValues({\n iteration_count: NEW_SURVEY.iteration_count,\n iteration_frequency_days: NEW_SURVEY.iteration_frequency_days,\n })\n },\n submitSurveyFailure: async () => {\n // When errors occur, scroll to the error, but wait for errors to be set in the DOM first\n if (hasFormErrors(values.flagPropertyErrors) || values.urlMatchTypeValidationError) {\n actions.setSelectedSection(SurveyEditSection.DisplayConditions)\n } else {\n actions.setSelectedSection(SurveyEditSection.Steps)\n }\n setTimeout(\n () => document.querySelector(`.Field--error`)?.scrollIntoView({ block: 'center', behavior: 'smooth' }),\n 5\n )\n },\n })),\n reducers({\n isEditingSurvey: [\n false,\n {\n editingSurvey: (_, { editing }) => editing,\n },\n ],\n surveyMissing: [\n false,\n {\n setSurveyMissing: () => true,\n },\n ],\n dataCollectionType: [\n 'until_stopped' as DataCollectionType,\n {\n setDataCollectionType: (_, { dataCollectionType }) => dataCollectionType,\n },\n ],\n\n survey: [\n { ...NEW_SURVEY } as NewSurvey | Survey,\n {\n setDefaultForQuestionType: (\n state,\n { idx, type, isEditingQuestion, isEditingDescription, isEditingThankYouMessage }\n ) => {\n const question = isEditingQuestion\n ? state.questions[idx].question\n : defaultSurveyFieldValues[type].questions[0].question\n const description = isEditingDescription\n ? state.questions[idx].description\n : defaultSurveyFieldValues[type].questions[0].description\n const thankYouMessageHeader = isEditingThankYouMessage\n ? state.appearance?.thankYouMessageHeader\n : defaultSurveyFieldValues[type].appearance.thankYouMessageHeader\n const newQuestions = [...state.questions]\n newQuestions[idx] = {\n ...state.questions[idx],\n ...(defaultSurveyFieldValues[type].questions[0] as SurveyQuestionBase),\n question,\n description,\n }\n return {\n ...state,\n questions: newQuestions,\n appearance: {\n ...state.appearance,\n ...defaultSurveyFieldValues[type].appearance,\n thankYouMessageHeader,\n },\n }\n },\n setSurveyTemplateValues: (_, { template }) => {\n const newTemplateSurvey = { ...NEW_SURVEY, ...template }\n return newTemplateSurvey\n },\n setQuestionBranchingType: (state, { questionIndex, type, specificQuestionIndex }) => {\n const newQuestions = [...state.questions]\n const question = newQuestions[questionIndex]\n\n if (type === SurveyQuestionBranchingType.NextQuestion) {\n delete question.branching\n } else if (type === SurveyQuestionBranchingType.End) {\n question.branching = {\n type: SurveyQuestionBranchingType.End,\n }\n } else if (type === SurveyQuestionBranchingType.ResponseBased) {\n if (\n question.type !== SurveyQuestionType.Rating &&\n question.type !== SurveyQuestionType.SingleChoice\n ) {\n throw new Error(\n `Survey question type must be ${SurveyQuestionType.Rating} or ${SurveyQuestionType.SingleChoice}`\n )\n }\n\n question.branching = {\n type: SurveyQuestionBranchingType.ResponseBased,\n responseValues: {},\n }\n } else if (type === SurveyQuestionBranchingType.SpecificQuestion) {\n question.branching = {\n type: SurveyQuestionBranchingType.SpecificQuestion,\n index: specificQuestionIndex,\n }\n }\n\n newQuestions[questionIndex] = question\n return {\n ...state,\n questions: newQuestions,\n }\n },\n setResponseBasedBranchingForQuestion: (\n state,\n { questionIndex, responseValue, nextStep, specificQuestionIndex }\n ) => {\n const newQuestions = [...state.questions]\n const question = newQuestions[questionIndex]\n\n if (\n question.type !== SurveyQuestionType.Rating &&\n question.type !== SurveyQuestionType.SingleChoice\n ) {\n throw new Error(\n `Survey question type must be ${SurveyQuestionType.Rating} or ${SurveyQuestionType.SingleChoice}`\n )\n }\n\n if (question.branching?.type !== SurveyQuestionBranchingType.ResponseBased) {\n throw new Error(\n `Survey question branching type must be ${SurveyQuestionBranchingType.ResponseBased}`\n )\n }\n\n if ('responseValues' in question.branching) {\n if (nextStep === SurveyQuestionBranchingType.NextQuestion) {\n delete question.branching.responseValues[responseValue]\n } else if (nextStep === SurveyQuestionBranchingType.End) {\n question.branching.responseValues[responseValue] = SurveyQuestionBranchingType.End\n } else if (nextStep === SurveyQuestionBranchingType.SpecificQuestion) {\n question.branching.responseValues[responseValue] = specificQuestionIndex\n }\n }\n\n newQuestions[questionIndex] = question\n return {\n ...state,\n questions: newQuestions,\n }\n },\n resetBranchingForQuestion: (state, { questionIndex }) => {\n const newQuestions = [...state.questions]\n const question = newQuestions[questionIndex]\n delete question.branching\n\n newQuestions[questionIndex] = question\n return {\n ...state,\n questions: newQuestions,\n }\n },\n deleteBranchingLogic: (state) => {\n const newQuestions = [...state.questions]\n newQuestions.forEach((question) => {\n delete question.branching\n })\n\n return {\n ...state,\n questions: newQuestions,\n }\n },\n },\n ],\n selectedPageIndex: [\n 0 as number | null,\n {\n setSelectedPageIndex: (_, { idx }) => idx,\n },\n ],\n selectedSection: [\n SurveyEditSection.Steps as SurveyEditSection | null,\n {\n setSelectedSection: (_, { section }) => section,\n },\n ],\n surveyRatingResultsReady: [\n {},\n {\n loadSurveyRatingResultsSuccess: (state, { payload }) => {\n if (!payload || !payload.hasOwnProperty('questionIndex')) {\n return { ...state }\n }\n return { ...state, [payload.questionIndex]: true }\n },\n },\n ],\n surveyRecurringNPSResultsReady: [\n {},\n {\n loadSurveyRecurringNPSResultsSuccess: (state, { payload }) => {\n if (!payload || !payload.hasOwnProperty('questionIndex')) {\n return { ...state }\n }\n return { ...state, [payload.questionIndex]: true }\n },\n },\n ],\n surveySingleChoiceResultsReady: [\n {},\n {\n loadSurveySingleChoiceResultsSuccess: (state, { payload }) => {\n if (!payload || !payload.hasOwnProperty('questionIndex')) {\n return { ...state }\n }\n return { ...state, [payload.questionIndex]: true }\n },\n },\n ],\n surveyMultipleChoiceResultsReady: [\n {},\n {\n loadSurveyMultipleChoiceResultsSuccess: (state, { payload }) => {\n if (!payload || !payload.hasOwnProperty('questionIndex')) {\n return { ...state }\n }\n return { ...state, [payload.questionIndex]: true }\n },\n },\n ],\n surveyOpenTextResultsReady: [\n {},\n {\n loadSurveyOpenTextResultsSuccess: (state, { payload }) => {\n if (!payload || !payload.hasOwnProperty('questionIndex')) {\n return { ...state }\n }\n return { ...state, [payload.questionIndex]: true }\n },\n },\n ],\n writingHTMLDescription: [\n false,\n {\n setWritingHTMLDescription: (_, { writingHTML }) => writingHTML,\n },\n ],\n schedule: [\n 'once',\n {\n setSchedule: (_, { schedule }) => schedule,\n },\n ],\n flagPropertyErrors: [\n null as any,\n {\n setFlagPropertyErrors: (_, { errors }) => errors,\n },\n ],\n }),\n selectors({\n isSurveyRunning: [\n (s) => [s.survey],\n (survey: Survey): boolean => {\n return !!(survey.start_date && !survey.end_date)\n },\n ],\n surveyUsesLimit: [\n (s) => [s.survey],\n (survey: Survey): boolean => {\n return !!(survey.responses_limit && survey.responses_limit > 0)\n },\n ],\n surveyUsesAdaptiveLimit: [\n (s) => [s.survey],\n (survey: Survey): boolean => {\n return !!(\n survey.response_sampling_interval &&\n survey.response_sampling_interval > 0 &&\n survey.response_sampling_interval_type !== '' &&\n survey.response_sampling_limit &&\n survey.response_sampling_limit > 0\n )\n },\n ],\n surveyShufflingQuestionsAvailable: [\n (s) => [s.survey],\n (survey: Survey): boolean => {\n return survey.questions.length > 1\n },\n ],\n showSurveyRepeatSchedule: [(s) => [s.schedule], (schedule: ScheduleType) => schedule == 'recurring'],\n descriptionContentType: [\n (s) => [s.survey],\n (survey: Survey) => (questionIndex: number) => {\n return survey.questions[questionIndex].descriptionContentType\n },\n ],\n surveyRepeatedActivationAvailable: [\n (s) => [s.survey],\n (survey: Survey): boolean =>\n survey.conditions?.events?.values != undefined && survey.conditions?.events?.values?.length > 0,\n ],\n hasTargetingSet: [\n (s) => [s.survey],\n (survey: Survey): boolean => {\n const hasLinkedFlag =\n !!survey.linked_flag_id || (survey.linked_flag && Object.keys(survey.linked_flag).length > 0)\n const hasTargetingFlag =\n (survey.targeting_flag && Object.keys(survey.targeting_flag).length > 0) ||\n (survey.targeting_flag_filters && Object.keys(survey.targeting_flag_filters).length > 0)\n const hasOtherConditions = survey.conditions && Object.keys(survey.conditions).length > 0\n return !!hasLinkedFlag || !!hasTargetingFlag || !!hasOtherConditions\n },\n ],\n breadcrumbs: [\n (s) => [s.survey],\n (survey: Survey): Breadcrumb[] => [\n {\n key: Scene.Surveys,\n name: 'Surveys',\n path: urls.surveys(),\n },\n { key: [Scene.Survey, survey?.id || 'new'], name: survey.name },\n ],\n ],\n dataTableQuery: [\n (s) => [s.survey],\n (survey): DataTableNode | null => {\n if (survey.id === 'new') {\n return null\n }\n const surveyWithResults = survey as Survey\n const startDate = surveyWithResults.start_date || surveyWithResults.created_at\n return {\n kind: NodeKind.DataTableNode,\n source: {\n kind: NodeKind.EventsQuery,\n select: [\n '*',\n ...survey.questions.map((q, i) => {\n if (q.type === SurveyQuestionType.MultipleChoice) {\n // Join array items into a string\n return `coalesce(arrayStringConcat(JSONExtractArrayRaw(properties, '${getResponseField(\n i\n )}'), ', ')) -- ${q.question}`\n }\n\n return `coalesce(JSONExtractString(properties, '${getResponseField(i)}')) -- ${\n q.question\n }`\n }),\n 'timestamp',\n 'person',\n `coalesce(JSONExtractString(properties, '$lib_version')) -- Library Version`,\n `coalesce(JSONExtractString(properties, '$lib')) -- Library`,\n `coalesce(JSONExtractString(properties, '$current_url')) -- URL`,\n ],\n orderBy: ['timestamp DESC'],\n where: [`event == 'survey sent'`],\n after: startDate,\n properties: [\n {\n type: PropertyFilterType.Event,\n key: '$survey_id',\n operator: PropertyOperator.Exact,\n value: survey.id,\n },\n ],\n },\n propertiesViaUrl: true,\n showExport: true,\n showReload: true,\n showEventFilter: false,\n showPropertyFilter: true,\n showTimings: false,\n }\n },\n ],\n targetingFlagFilters: [\n (s) => [s.survey],\n (survey): FeatureFlagFilters | undefined => {\n if (survey.targeting_flag_filters) {\n return {\n ...survey.targeting_flag_filters,\n groups: survey.targeting_flag_filters.groups,\n multivariate: null,\n payloads: {},\n super_groups: undefined,\n }\n }\n return survey.targeting_flag?.filters || undefined\n },\n ],\n urlMatchTypeValidationError: [\n (s) => [s.survey],\n (survey): string | null => {\n if (survey.conditions?.urlMatchType === SurveyUrlMatchType.Regex && survey.conditions.url) {\n try {\n new RegExp(survey.conditions.url)\n } catch (e: any) {\n return e.message\n }\n }\n return null\n },\n ],\n surveyNPSScore: [\n (s) => [s.surveyRatingResults],\n (surveyRatingResults) => {\n if (surveyRatingResults) {\n const questionIdx = Object.keys(surveyRatingResults)[0]\n const questionResults = surveyRatingResults[questionIdx]\n\n // If we don't have any results, return 'No data available' instead of NaN.\n if (questionResults.total === 0) {\n return 'No data available'\n }\n\n const data: number[] = questionResults.data\n if (data.length === 11) {\n const promoters = data.slice(9, 11).reduce((a, b) => a + b, 0)\n const passives = data.slice(7, 9).reduce((a, b) => a + b, 0)\n const detractors = data.slice(0, 7).reduce((a, b) => a + b, 0)\n const npsScore = ((promoters - detractors) / (promoters + passives + detractors)) * 100\n return npsScore.toFixed(1)\n }\n }\n },\n ],\n\n getBranchingDropdownValue: [\n (s) => [s.survey],\n (survey) => (questionIndex: number, question: RatingSurveyQuestion | MultipleSurveyQuestion) => {\n if (question.branching?.type) {\n const { type } = question.branching\n\n if (type === SurveyQuestionBranchingType.SpecificQuestion) {\n const nextQuestionIndex = question.branching.index\n return `${SurveyQuestionBranchingType.SpecificQuestion}:${nextQuestionIndex}`\n }\n\n return type\n }\n\n // No branching specified, default to Next question / Confirmation message\n if (questionIndex < survey.questions.length - 1) {\n return SurveyQuestionBranchingType.NextQuestion\n }\n\n return SurveyQuestionBranchingType.End\n },\n ],\n getResponseBasedBranchingDropdownValue: [\n (s) => [s.survey],\n (survey) => (questionIndex: number, question: RatingSurveyQuestion | MultipleSurveyQuestion, response) => {\n if (!question.branching || !('responseValues' in question.branching)) {\n return SurveyQuestionBranchingType.NextQuestion\n }\n\n // If a value is mapped onto an integer, we're redirecting to a specific question\n if (Number.isInteger(question.branching.responseValues[response])) {\n const nextQuestionIndex = question.branching.responseValues[response]\n return `${SurveyQuestionBranchingType.SpecificQuestion}:${nextQuestionIndex}`\n }\n\n // If any other value is present (practically only Confirmation message), return that value\n if (question.branching?.responseValues?.[response]) {\n return question.branching.responseValues[response]\n }\n\n // No branching specified, default to Next question / Confirmation message\n if (questionIndex < survey.questions.length - 1) {\n return SurveyQuestionBranchingType.NextQuestion\n }\n\n return SurveyQuestionBranchingType.End\n },\n ],\n hasCycle: [\n (s) => [s.survey],\n (survey) => {\n const graph = new Map()\n survey.questions.forEach((question, fromIndex: number) => {\n if (!graph.has(fromIndex)) {\n graph.set(fromIndex, new Set())\n }\n\n if (question.branching?.type === SurveyQuestionBranchingType.End) {\n return\n } else if (\n question.branching?.type === SurveyQuestionBranchingType.SpecificQuestion &&\n Number.isInteger(question.branching.index)\n ) {\n const toIndex = question.branching.index\n graph.get(fromIndex).add(toIndex)\n return\n } else if (\n question.branching?.type === SurveyQuestionBranchingType.ResponseBased &&\n isObject(question.branching?.responseValues)\n ) {\n for (const [_, toIndex] of Object.entries(question.branching?.responseValues)) {\n if (Number.isInteger(toIndex)) {\n graph.get(fromIndex).add(toIndex)\n }\n }\n }\n\n // No branching - still need to connect the next question\n if (fromIndex < survey.questions.length - 1) {\n const toIndex = fromIndex + 1\n graph.get(fromIndex).add(toIndex)\n }\n })\n\n let cycleDetected = false\n function dfs(node: number, seen: number[]): void {\n if (cycleDetected) {\n return\n }\n\n for (const neighbor of graph.get(node) || []) {\n if (seen.includes(neighbor)) {\n cycleDetected = true\n return\n }\n dfs(neighbor, seen.concat(neighbor))\n }\n }\n dfs(0, [0])\n\n return cycleDetected\n },\n ],\n hasBranchingLogic: [\n (s) => [s.survey],\n (survey) =>\n survey.questions.some((question) => question.branching && Object.keys(question.branching).length > 0),\n ],\n surveyAsInsightURL: [\n (s) => [s.survey],\n (survey) => {\n const query: InsightVizNode = {\n kind: NodeKind.InsightVizNode,\n source: {\n kind: NodeKind.TrendsQuery,\n properties: [\n {\n key: '$survey_id',\n value: survey.id,\n operator: PropertyOperator.Exact,\n type: PropertyFilterType.Event,\n },\n ],\n series: [\n {\n kind: NodeKind.EventsNode,\n event: 'survey sent',\n name: 'survey sent',\n math: BaseMathType.TotalCount,\n },\n {\n kind: NodeKind.EventsNode,\n event: 'survey shown',\n name: 'survey shown',\n math: BaseMathType.TotalCount,\n },\n {\n kind: NodeKind.EventsNode,\n event: 'survey dismissed',\n name: 'survey dismissed',\n math: BaseMathType.TotalCount,\n },\n ],\n },\n }\n\n return urls.insightNew(undefined, undefined, query)\n },\n ],\n }),\n forms(({ actions, props, values }) => ({\n survey: {\n defaults: { ...NEW_SURVEY } as NewSurvey | Survey,\n errors: ({ name, questions }) => ({\n // NOTE: When more validation errors are added, the submitSurveyFailure listener should be updated\n // to scroll to the right error section\n name: !name && 'Please enter a name.',\n questions: questions.map((question) => {\n const questionErrors = {\n question: !question.question && 'Please enter a question label.',\n }\n\n if (question.type === SurveyQuestionType.Rating) {\n return {\n ...questionErrors,\n display: !question.display && 'Please choose a display type.',\n scale: !question.scale && 'Please choose a scale.',\n lowerBoundLabel: !question.lowerBoundLabel && 'Please enter a lower bound label.',\n upperBoundLabel: !question.upperBoundLabel && 'Please enter an upper bound label.',\n }\n } else if (\n question.type === SurveyQuestionType.SingleChoice ||\n question.type === SurveyQuestionType.MultipleChoice\n ) {\n return {\n ...questionErrors,\n choices: question.choices.some((choice) => !choice.trim())\n ? 'Please ensure all choices are non-empty.'\n : undefined,\n }\n }\n\n return questionErrors\n }),\n // release conditions controlled using a PureField in the form\n targeting_flag_filters: values.flagPropertyErrors,\n // controlled using a PureField in the form\n urlMatchType: values.urlMatchTypeValidationError,\n }),\n submit: (surveyPayload) => {\n if (values.hasCycle) {\n actions.reportSurveyCycleDetected(values.survey)\n\n return lemonToast.error(\n 'Your survey contains an endless cycle. Please revisit your branching rules.'\n )\n }\n\n // when the survey is being submitted, we should turn off editing mode\n actions.editingSurvey(false)\n if (props.id && props.id !== 'new') {\n actions.updateSurvey(surveyPayload)\n } else {\n actions.createSurvey(surveyPayload)\n }\n },\n },\n })),\n urlToAction(({ actions, props }) => ({\n [urls.survey(props.id ?? 'new')]: (_, { edit }, __, { method }) => {\n // We always set the editingSurvey to true when we create a new survey\n if (props.id === 'new') {\n actions.editingSurvey(true)\n }\n // If the URL was pushed (user clicked on a link), reset the scene's data.\n // This avoids resetting form fields if you click back/forward.\n if (method === 'PUSH') {\n if (props.id) {\n actions.loadSurvey()\n } else {\n actions.resetSurvey()\n }\n }\n\n if (edit) {\n actions.editingSurvey(true)\n }\n },\n })),\n actionToUrl(({ values }) => ({\n setSurveyTemplateValues: () => {\n const hashParams = router.values.hashParams\n hashParams['fromTemplate'] = true\n\n return [urls.survey(values.survey.id), router.values.searchParams, hashParams]\n },\n editingSurvey: ({ editing }) => {\n const searchParams = router.values.searchParams\n if (editing) {\n searchParams['edit'] = true\n } else {\n delete searchParams['edit']\n }\n\n return [router.values.location.pathname, router.values.searchParams, router.values.hashParams]\n },\n })),\n afterMount(({ props, actions }) => {\n if (props.id !== 'new') {\n actions.loadSurvey()\n }\n if (props.id === 'new') {\n actions.resetSurvey()\n }\n }),\n])\n\nfunction sanitizeQuestions(surveyPayload: Partial): Partial {\n if (!surveyPayload.questions) {\n return surveyPayload\n }\n\n const sanitizedThankYouHeader = sanitizeHTML(surveyPayload.appearance?.thankYouMessageHeader || '')\n const sanitizedThankYouDescription = sanitizeHTML(surveyPayload.appearance?.thankYouMessageDescription || '')\n\n return {\n ...surveyPayload,\n questions: surveyPayload.questions?.map((rawQuestion) => {\n return {\n ...rawQuestion,\n description: sanitizeHTML(rawQuestion.description || ''),\n question: sanitizeHTML(rawQuestion.question || ''),\n }\n }),\n appearance: {\n ...surveyPayload.appearance,\n ...(sanitizedThankYouHeader && { thankYouMessageHeader: sanitizedThankYouHeader }),\n ...(sanitizedThankYouDescription && { thankYouMessageDescription: sanitizedThankYouDescription }),\n },\n }\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"main.3c6c669a.iframe.bundle.js","mappings":";;;;;AAyBA;ACqKA;;;;;;;ACiCA;AC7LA;AAAA;AAKA;;;ACVA;;;AAsBA;;AAEA;;ACYA;ACrCA;AAUA;AAOA;AAkDA;;AAuXA;AAAA;AAAA;AAAA;AAlZA;AAaA;AAOA;;;;;;;ACWA;;AC5EA;;;;;;;;;;;ACmPA;;;;;AAeA;;;AAcA;;;;;;;AAyDA;AC9QA;ACqhBA;AACA;AC9fA;AASA;;;AAWA;AC1GA;;;AAoBA;;;AAIA;AAKA;AACA;AAGA;;AAIA;;AAEA;AAGA;AACA;AAGA;AAGA;;AAEA;;AAWA;AACA;AACA;;;;;AAiCA;;;AAIA;AAKA;;;AAGA;AACA;AAGA;AACA;AACA;;AAWA;AACA;AACA;;;AAwBA;;;AAIA;;AAMA;;AAEA;;AAEA;;AAGA;AACA;AACA;;AAUA;AACA;AACA;;;AAwBA;;;AAIA;AAKA;;AAEA;AACA;AAGA;AACA;AACA;;AAUA;AACA;AACA;;;AA6BA;;;AAIA;AAKA;;AAEA;AACA;AAGA;AACA;AACA;;AAUA;AACA;AACA;;;AA8BA;;;AAyBA;;AAuBA;;;;AAyBA;;;;;;;AAOA;;;;AAIA;AACA;AAkBA;;;AAGA;;AAEA;;;AAGA;AAUA;;;AASA;AACA;;AAEA;;;AA6BA;;AAMA;;AAWA;;AAEA;;;;;;AAMA;;AAEA;;;;AAaA;;;;;;;;;;;;;AAaA;ACxeA;;;;;;;;;;;ACyLA;;;;;;;;;;;;;;;;;;;AC8nCA;;AChtBA;AAGA;AAGA;AACA;;;;;;;;;;;ACjoBA;AACA;;;;;AAKA;AACA;AACA;;;ACFA;AC0EA;;;;;ACoJA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;;AAuCA;;;;AAIA;AACA;AACA;AACA;;AAEA;;;AA0CA;;;;AAIA;AACA;AACA;;AAEA;;AAuEA;;;;AAIA;AACA;AACA;;AAEA;;;AAkCA;;;AAGA;AACA;AACA;;;AAGA;;;;AA+CA;AACA;AACA;AACA;;AAEA","sources":["webpack://posthog/./frontend/src/lib/components/ReverseProxyChecker/reverseProxyCheckerLogic.ts","webpack://posthog/./frontend/src/lib/components/Alerts/views/EditAlertModal.tsx","webpack://posthog/./frontend/src/lib/components/AuthorizedUrlList/authorizedUrlListLogic.ts","webpack://posthog/./frontend/src/lib/components/JSSnippet.tsx","webpack://posthog/./frontend/src/lib/components/Metalytics/metalyticsLogic.ts","webpack://posthog/./frontend/src/lib/components/Support/SupportForm.tsx","webpack://posthog/./frontend/src/lib/components/Support/supportLogic.ts","webpack://posthog/./frontend/src/lib/components/VersionChecker/versionCheckerLogic.ts","webpack://posthog/./frontend/src/lib/lemon-ui/LemonTextArea/LemonTextAreaMarkdown.tsx","webpack://posthog/./frontend/src/queries/examples.ts","webpack://posthog/./frontend/src/scenes/paths/renderPaths.ts","webpack://posthog/./frontend/src/scenes/billing/billingLogic.tsx","webpack://posthog/./frontend/src/scenes/early-access-features/InstructionsModal.tsx","webpack://posthog/./frontend/src/scenes/feature-flags/FeatureFlagSnippets.tsx","webpack://posthog/./frontend/src/scenes/notebooks/Nodes/NotebookNodeReplayTimestamp.tsx","webpack://posthog/./frontend/src/scenes/notebooks/Notebook/SlashCommands.tsx","webpack://posthog/./ee/frontend/mobile-replay/transformer/transformers.ts","webpack://posthog/./frontend/src/scenes/session-recordings/player/sessionRecordingDataLogic.ts","webpack://posthog/./frontend/src/scenes/session-recordings/playlist/sessionRecordingsListPropertiesLogic.ts","webpack://posthog/./frontend/src/scenes/settings/organization/VerifiedDomains/ConfigureSAMLModal.tsx","webpack://posthog/./frontend/src/scenes/settings/environment/ManagedReverseProxy.tsx","webpack://posthog/./frontend/src/scenes/surveys/surveyLogic.tsx"],"sourcesContent":["import { afterMount, kea, path, reducers } from 'kea'\nimport { loaders } from 'kea-loaders'\nimport api from 'lib/api'\n\nimport { HogQLQuery, NodeKind } from '~/queries/schema'\nimport { hogql } from '~/queries/utils'\n\nimport type { reverseProxyCheckerLogicType } from './reverseProxyCheckerLogicType'\n\nconst CHECK_INTERVAL_MS = 1000 * 60 * 60 // 1 hour\n\nexport const reverseProxyCheckerLogic = kea([\n path(['components', 'ReverseProxyChecker', 'reverseProxyCheckerLogic']),\n loaders({\n hasReverseProxy: [\n false as boolean | null,\n {\n loadHasReverseProxy: async () => {\n const query: HogQLQuery = {\n kind: NodeKind.HogQLQuery,\n query: hogql`SELECT properties.$lib_custom_api_host AS lib_custom_api_host\n FROM events\n WHERE timestamp >= now() - INTERVAL 1 DAY \n AND timestamp <= now()\n ORDER BY timestamp DESC\n limit 10`,\n }\n\n const res = await api.query(query)\n return !!res.results?.find((x) => !!x[0])\n },\n },\n ],\n }),\n reducers({\n lastCheckedTimestamp: [\n 0,\n { persist: true },\n {\n loadHasReverseProxySuccess: () => Date.now(),\n },\n ],\n }),\n afterMount(({ actions, values }) => {\n if (values.lastCheckedTimestamp < Date.now() - CHECK_INTERVAL_MS) {\n actions.loadHasReverseProxy()\n }\n }),\n])\n","import { IconInfo } from '@posthog/icons'\nimport {\n LemonBanner,\n LemonCheckbox,\n LemonInput,\n LemonSegmentedButton,\n LemonSelect,\n SpinnerOverlay,\n Tooltip,\n} from '@posthog/lemon-ui'\nimport { useActions, useValues } from 'kea'\nimport { Form, Group } from 'kea-forms'\nimport { AlertStateIndicator } from 'lib/components/Alerts/views/ManageAlertsModal'\nimport { MemberSelectMultiple } from 'lib/components/MemberSelectMultiple'\nimport { TZLabel } from 'lib/components/TZLabel'\nimport { UserActivityIndicator } from 'lib/components/UserActivityIndicator/UserActivityIndicator'\nimport { dayjs } from 'lib/dayjs'\nimport { IconChevronLeft } from 'lib/lemon-ui/icons'\nimport { LemonButton } from 'lib/lemon-ui/LemonButton'\nimport { LemonField } from 'lib/lemon-ui/LemonField'\nimport { LemonModal } from 'lib/lemon-ui/LemonModal'\nimport { alphabet, formatDate } from 'lib/utils'\nimport { useCallback } from 'react'\nimport { trendsDataLogic } from 'scenes/trends/trendsDataLogic'\n\nimport { AlertCalculationInterval, AlertConditionType, AlertState, InsightThresholdType } from '~/queries/schema'\nimport { InsightShortId, QueryBasedInsightModel } from '~/types'\n\nimport { alertFormLogic, canCheckOngoingInterval } from '../alertFormLogic'\nimport { alertLogic } from '../alertLogic'\nimport { SnoozeButton } from '../SnoozeButton'\nimport { AlertType } from '../types'\n\nexport function AlertStateTable({ alert }: { alert: AlertType }): JSX.Element | null {\n if (!alert.checks || alert.checks.length === 0) {\n return null\n }\n\n return (\n
\n
\n

Current status:

\n \n

\n {alert.snoozed_until && ` until ${formatDate(dayjs(alert?.snoozed_until), 'MMM D, HH:mm')}`}\n

\n
\n \n \n \n \n \n \n \n \n \n \n {alert.checks.map((check) => (\n \n \n \n \n \n \n ))}\n \n
StatusTimeValueTargets notified
{check.state}\n \n {check.calculated_value}{check.targets_notified ? 'Yes' : 'No'}
\n
\n )\n}\n\ninterface EditAlertModalProps {\n isOpen: boolean | undefined\n alertId?: AlertType['id']\n insightId: QueryBasedInsightModel['id']\n insightShortId: InsightShortId\n onEditSuccess: () => void\n onClose?: () => void\n}\n\nexport function EditAlertModal({\n isOpen,\n alertId,\n insightId,\n insightShortId,\n onClose,\n onEditSuccess,\n}: EditAlertModalProps): JSX.Element {\n const _alertLogic = alertLogic({ alertId })\n const { alert, alertLoading } = useValues(_alertLogic)\n const { loadAlert } = useActions(_alertLogic)\n\n // need to reload edited alert as well\n const _onEditSuccess = useCallback(() => {\n loadAlert()\n onEditSuccess()\n }, [loadAlert, onEditSuccess])\n\n const formLogicProps = { alert, insightId, onEditSuccess: _onEditSuccess }\n const formLogic = alertFormLogic(formLogicProps)\n const { alertForm, isAlertFormSubmitting, alertFormChanged } = useValues(formLogic)\n const { deleteAlert, snoozeAlert, clearSnooze } = useActions(formLogic)\n const { setAlertFormValue } = useActions(formLogic)\n\n const trendsLogic = trendsDataLogic({ dashboardItemId: insightShortId })\n const { alertSeries, isNonTimeSeriesDisplay, isBreakdownValid, formula } = useValues(trendsLogic)\n\n const creatingNewAlert = alertForm.id === undefined\n // can only check ongoing interval for absolute value/increase alerts with upper threshold\n const can_check_ongoing_interval = canCheckOngoingInterval(alertForm)\n\n return (\n \n {alertLoading ? (\n \n ) : (\n \n \n
\n } onClick={onClose} size=\"xsmall\" />\n\n

{creatingNewAlert ? 'New' : 'Edit '} Alert

\n
\n
\n\n \n
\n
\n
\n \n \n \n \n \n \n
\n {alert?.created_by ? (\n \n ) : null}\n
\n\n
\n

Definition

\n
\n {isBreakdownValid && (\n \n For trends with breakdown, the alert will fire if any of the breakdown\n values breaches the threshold.\n \n )}\n
\n
When
\n \n \n ({\n label: isBreakdownValid\n ? 'any breakdown value'\n : formula\n ? `Formula (${formula})`\n : `${alphabet[index]} - ${\n custom_name ?? name ?? event\n }`,\n value: isBreakdownValid || formula ? 0 : index,\n })\n )}\n disabledReason={\n (isBreakdownValid &&\n `For trends with breakdown, the alert will fire if any of the breakdown\n values breaches the threshold.`) ||\n (formula &&\n `When using formula mode, can only alert on formula value`)\n }\n />\n \n \n \n \n \n \n \n
\n
\n
less than
\n \n \n setAlertFormValue('threshold', {\n configuration: {\n type: alertForm.threshold.configuration.type,\n bounds: {\n ...alertForm.threshold.configuration.bounds,\n lower:\n value &&\n alertForm.threshold.configuration.type ===\n InsightThresholdType.PERCENTAGE\n ? value / 100\n : value,\n },\n },\n })\n }\n />\n \n
or more than
\n \n \n setAlertFormValue('threshold', {\n configuration: {\n type: alertForm.threshold.configuration.type,\n bounds: {\n ...alertForm.threshold.configuration.bounds,\n upper:\n value &&\n alertForm.threshold.configuration.type ===\n InsightThresholdType.PERCENTAGE\n ? value / 100\n : value,\n },\n },\n })\n }\n />\n \n {alertForm.condition.type !== AlertConditionType.ABSOLUTE_VALUE && (\n \n \n \n \n \n )}\n
\n
\n
\n {alertForm.condition.type === AlertConditionType.ABSOLUTE_VALUE\n ? 'check'\n : 'compare'}\n
\n \n ({\n label: interval,\n value: interval,\n }))}\n />\n \n
and notify
\n
\n u.id) ?? []}\n idKey=\"id\"\n onChange={(value) => setAlertFormValue('subscribed_users', value)}\n />\n
\n
\n
\n
\n\n
\n

Advanced

\n \n
\n \n \n \n \n \n \n
\n
\n \n \n \n
\n
\n\n {alert && }\n
\n\n \n
\n
\n {!creatingNewAlert ? (\n \n Delete alert\n \n ) : null}\n {!creatingNewAlert && alert?.state === AlertState.FIRING ? (\n \n ) : null}\n {!creatingNewAlert && alert?.state === AlertState.SNOOZED ? (\n \n Clear snooze\n \n ) : null}\n
\n
\n \n {creatingNewAlert ? 'Create alert' : 'Save'}\n
\n \n \n )}\n \n )\n}\n","import Fuse from 'fuse.js'\nimport {\n actions,\n afterMount,\n connect,\n kea,\n key,\n listeners,\n path,\n props,\n reducers,\n selectors,\n sharedListeners,\n} from 'kea'\nimport { forms } from 'kea-forms'\nimport { loaders } from 'kea-loaders'\nimport { encodeParams, urlToAction } from 'kea-router'\nimport { subscriptions } from 'kea-subscriptions'\nimport api from 'lib/api'\nimport { isDomain, isURL } from 'lib/utils'\nimport { apiHostOrigin } from 'lib/utils/apiHost'\nimport { teamLogic } from 'scenes/teamLogic'\nimport { urls } from 'scenes/urls'\n\nimport { HogQLQuery, NodeKind } from '~/queries/schema'\nimport { hogql } from '~/queries/utils'\nimport { ExperimentIdType, ToolbarParams, ToolbarUserIntent } from '~/types'\n\nimport type { authorizedUrlListLogicType } from './authorizedUrlListLogicType'\n\nexport interface ProposeNewUrlFormType {\n url: string\n}\n\nexport enum AuthorizedUrlListType {\n TOOLBAR_URLS = 'TOOLBAR_URLS',\n RECORDING_DOMAINS = 'RECORDING_DOMAINS',\n WEB_EXPERIMENTS = 'WEB_EXPERIMENTS',\n}\n\n/**\n * Firefox does not allow you construct a new URL with e.g. https://*.example.com (which is to be fair more standards compliant than Chrome)\n * when used to probe for e.g. for authorized urls we only care if the proposed URL has a path so we can safely replace the wildcard with a character\n * NB this changes its input and shouldn't be used for general purpose URL parsing\n */\nexport function sanitizePossibleWildCardedURL(url: string): URL {\n const deWildCardedURL = url.replace(/\\*/g, 'x')\n return new URL(deWildCardedURL)\n}\n\n/**\n * Checks if the URL has a wildcard (*) in the port position e.g. http://localhost:*\n */\nexport function hasPortWildcard(input: unknown): boolean {\n if (!input || typeof input !== 'string') {\n return false\n }\n // This regex matches URLs with a wildcard (*) in the port position\n const portWildcardRegex = /^(https?:\\/\\/[^:/]+):\\*(.*)$/\n return portWildcardRegex.test(input.trim())\n}\n\nexport const validateProposedUrl = (\n proposedUrl: string,\n currentUrls: string[],\n onlyAllowDomains: boolean = false\n): string | undefined => {\n if (!isURL(proposedUrl)) {\n return 'Please enter a valid URL'\n }\n\n if (hasPortWildcard(proposedUrl)) {\n return 'Wildcards are not allowed in the port position'\n }\n\n if (onlyAllowDomains && !isDomain(sanitizePossibleWildCardedURL(proposedUrl))) {\n return \"Please enter a valid domain (URLs with a path aren't allowed)\"\n }\n\n if (proposedUrl.indexOf('*') > -1 && !proposedUrl.match(/^(.*)\\*[^*]*\\.[^*]+\\.[^*]+$/)) {\n return 'Wildcards can only be used for subdomains'\n }\n\n if (currentUrls.indexOf(proposedUrl) > -1) {\n return `This ${onlyAllowDomains ? 'domains' : 'URL'} already is registered`\n }\n\n return\n}\n\n/** defaultIntent: whether to launch with empty intent (i.e. toolbar mode is default) */\nexport function appEditorUrl(\n appUrl: string,\n options?: { actionId?: number | null; experimentId?: ExperimentIdType; userIntent?: ToolbarUserIntent }\n): string {\n // See https://github.com/PostHog/posthog-js/blob/f7119c/src/extensions/toolbar.ts#L52 for where these params\n // are passed. `appUrl` is an extra `redirect_to_site` param.\n const params: ToolbarParams & { appUrl: string } = {\n userIntent:\n options?.userIntent ??\n (options?.actionId ? 'edit-action' : options?.experimentId ? 'edit-experiment' : 'add-action'),\n // Make sure to pass the app url, otherwise the api_host will be used by\n // the toolbar, which isn't correct when used behind a reverse proxy as\n // we require e.g. SSO login to the app, which will not work when placed\n // behind a proxy unless we register each domain with the OAuth2 client.\n apiURL: apiHostOrigin(),\n appUrl,\n ...(options?.actionId ? { actionId: options.actionId } : {}),\n ...(options?.experimentId ? { experimentId: options.experimentId } : {}),\n }\n return '/api/user/redirect_to_site/' + encodeParams(params, '?')\n}\n\nexport const checkUrlIsAuthorized = (url: string | URL, authorizedUrls: string[]): boolean => {\n try {\n const parsedUrl = typeof url === 'string' ? sanitizePossibleWildCardedURL(url) : url\n const urlWithoutPath = parsedUrl.protocol + '//' + parsedUrl.host\n // Is this domain already in the list of urls?\n const exactMatch =\n authorizedUrls.filter((authorizedUrl) => authorizedUrl.indexOf(urlWithoutPath) > -1).length > 0\n\n if (exactMatch) {\n return true\n }\n\n const wildcardMatch = !!authorizedUrls.find((authorizedUrl) => {\n // Matches something like `https://*.example.com` against the urlWithoutPath\n const regex = new RegExp(authorizedUrl.replace(/\\./g, '\\\\.').replace(/\\*/g, '.*'))\n return urlWithoutPath.match(regex)\n })\n\n if (wildcardMatch) {\n return true\n }\n } catch (error) {\n // Ignore invalid URLs\n }\n\n return false\n}\n\nexport interface SuggestedDomain {\n url: string\n count: number\n}\n\nexport const filterNotAuthorizedUrls = (\n suggestions: SuggestedDomain[],\n authorizedUrls: string[]\n): SuggestedDomain[] => {\n const suggestedDomains: SuggestedDomain[] = []\n\n suggestions.forEach(({ url, count }) => {\n const parsedUrl = sanitizePossibleWildCardedURL(url)\n const urlWithoutPath = parsedUrl.protocol + '//' + parsedUrl.host\n // Have we already added this domain?\n if (suggestedDomains.some((sd) => sd.url === urlWithoutPath)) {\n return\n }\n\n if (!checkUrlIsAuthorized(parsedUrl, authorizedUrls)) {\n suggestedDomains.push({ url: urlWithoutPath, count })\n }\n })\n\n return suggestedDomains\n}\n\nexport const NEW_URL = 'https://'\n\nexport interface KeyedAppUrl {\n url: string\n type: 'authorized' | 'suggestion'\n originalIndex: number\n // how many seen in the last three days\n count?: number\n}\n\nexport interface AuthorizedUrlListLogicProps {\n actionId: number | null\n experimentId: ExperimentIdType | null\n type: AuthorizedUrlListType\n query: string | null | undefined\n}\n\nexport const defaultAuthorizedUrlProperties = {\n actionId: null,\n experimentId: null,\n query: null,\n}\n\nexport const authorizedUrlListLogic = kea([\n path((key) => ['lib', 'components', 'AuthorizedUrlList', 'authorizedUrlListLogic', key]),\n key((props) => (props.experimentId ? `${props.type}-${props.experimentId}` : `${props.type}-${props.actionId}`)),\n props({} as AuthorizedUrlListLogicProps),\n connect({\n values: [teamLogic, ['currentTeam', 'currentTeamId']],\n actions: [teamLogic, ['updateCurrentTeam']],\n }),\n actions(() => ({\n setAuthorizedUrls: (authorizedUrls: string[]) => ({ authorizedUrls }),\n addUrl: (url: string, launch?: boolean) => ({ url, launch }),\n newUrl: true,\n removeUrl: (index: number) => ({ index }),\n updateUrl: (index: number, url: string) => ({ index, url }),\n launchAtUrl: (url: string) => ({ url }),\n setSearchTerm: (term: string) => ({ term }),\n setEditUrlIndex: (originalIndex: number | null) => ({ originalIndex }),\n cancelProposingUrl: true,\n })),\n loaders(({ values }) => ({\n suggestions: {\n __default: [] as SuggestedDomain[],\n loadSuggestions: async () => {\n const query: HogQLQuery = {\n kind: NodeKind.HogQLQuery,\n query: hogql`select properties.$current_url, count()\n from events\n where event = '$pageview'\n and timestamp >= now() - interval 3 day \n and timestamp <= now()\n group by properties.$current_url\n order by count() desc\n limit 25`,\n }\n\n const response = await api.query(query)\n const result = response.results as [string, number][]\n\n if (result && result.length === 0) {\n return []\n }\n\n const suggestedDomains = filterNotAuthorizedUrls(\n result.map(([url, count]) => ({ url, count })),\n values.authorizedUrls\n )\n\n return suggestedDomains.slice(0, 20)\n },\n },\n })),\n subscriptions(({ props, actions }) => ({\n currentTeam: (currentTeam) => {\n actions.setAuthorizedUrls(\n (props.type === AuthorizedUrlListType.RECORDING_DOMAINS\n ? currentTeam.recording_domains\n : currentTeam.app_urls) || []\n )\n },\n })),\n afterMount(({ actions }) => {\n actions.loadSuggestions()\n }),\n forms(({ values, actions }) => ({\n proposedUrl: {\n defaults: { url: '' } as ProposeNewUrlFormType,\n errors: ({ url }) => ({\n url: validateProposedUrl(url, values.authorizedUrls, values.onlyAllowDomains),\n }),\n submit: async ({ url }) => {\n if (values.editUrlIndex !== null && values.editUrlIndex >= 0) {\n actions.updateUrl(values.editUrlIndex, url)\n } else {\n actions.addUrl(url)\n }\n },\n },\n })),\n reducers(() => ({\n showProposedURLForm: [\n false as boolean,\n {\n newUrl: () => true,\n submitProposedUrlSuccess: () => false,\n cancelProposingUrl: () => false,\n },\n ],\n authorizedUrls: [\n [] as string[],\n {\n setAuthorizedUrls: (_, { authorizedUrls }) => authorizedUrls,\n addUrl: (state, { url }) => (!state.includes(url) ? state.concat([url]) : state),\n updateUrl: (state, { index, url }) => Object.assign([...state], { [index]: url }),\n removeUrl: (state, { index }) => {\n const newUrls = [...state]\n newUrls.splice(index, 1)\n return newUrls\n },\n },\n ],\n suggestions: [\n [],\n {\n addUrl: (state, { url }) => [...state].filter((sd) => url !== sd.url),\n },\n ],\n searchTerm: [\n '',\n {\n setSearchTerm: (_, { term }) => term,\n },\n ],\n editUrlIndex: [\n null as number | null,\n {\n setEditUrlIndex: (_, { originalIndex }) => originalIndex,\n removeUrl: (editUrlIndex, { index }) =>\n editUrlIndex && index < editUrlIndex\n ? editUrlIndex - 1\n : index === editUrlIndex\n ? null\n : editUrlIndex,\n newUrl: () => -1,\n updateUrl: () => null,\n addUrl: () => null,\n cancelProposingUrl: () => null,\n },\n ],\n })),\n sharedListeners(({ values, props }) => ({\n saveUrls: async () => {\n if (props.type === AuthorizedUrlListType.RECORDING_DOMAINS) {\n await teamLogic.asyncActions.updateCurrentTeam({ recording_domains: values.authorizedUrls })\n } else {\n await teamLogic.asyncActions.updateCurrentTeam({ app_urls: values.authorizedUrls })\n }\n },\n })),\n listeners(({ sharedListeners, values, actions }) => ({\n setEditUrlIndex: () => {\n actions.setProposedUrlValue('url', values.urlToEdit)\n },\n newUrl: () => {\n actions.setProposedUrlValue('url', NEW_URL)\n },\n addUrl: [\n sharedListeners.saveUrls,\n ({ url, launch }) => {\n if (launch) {\n actions.launchAtUrl(url)\n }\n },\n ],\n removeUrl: sharedListeners.saveUrls,\n updateUrl: sharedListeners.saveUrls,\n launchAtUrl: ({ url }) => {\n window.location.href = values.launchUrl(url)\n },\n cancelProposingUrl: () => {\n actions.resetProposedUrl()\n },\n submitProposedUrlSuccess: () => {\n actions.setEditUrlIndex(null)\n actions.resetProposedUrl()\n },\n })),\n selectors({\n urlToEdit: [\n (s) => [s.authorizedUrls, s.editUrlIndex],\n (authorizedUrls, editUrlIndex) => {\n if (editUrlIndex === null || editUrlIndex === -1) {\n return NEW_URL\n }\n return authorizedUrls[editUrlIndex]\n },\n ],\n urlsKeyed: [\n (s) => [s.authorizedUrls, s.suggestions, s.searchTerm],\n (authorizedUrls, suggestions, searchTerm): KeyedAppUrl[] => {\n const keyedUrls = authorizedUrls\n .map((url, index) => ({\n url,\n type: 'authorized',\n originalIndex: index,\n }))\n .concat(\n suggestions.map(({ url, count }, index) => ({\n url,\n type: 'suggestion',\n originalIndex: index,\n count,\n }))\n ) as KeyedAppUrl[]\n\n if (!searchTerm) {\n return keyedUrls\n }\n\n return new Fuse(keyedUrls, {\n keys: ['url'],\n threshold: 0.3,\n })\n .search(searchTerm)\n .map((result) => result.item)\n },\n ],\n launchUrl: [\n (_, p) => [p.actionId, p.experimentId],\n (actionId, experimentId) => (url: string) => {\n if (experimentId) {\n return appEditorUrl(url, {\n experimentId,\n })\n }\n\n return appEditorUrl(url, {\n actionId,\n })\n },\n ],\n isAddUrlFormVisible: [(s) => [s.editUrlIndex], (editUrlIndex) => editUrlIndex === -1],\n onlyAllowDomains: [(_, p) => [p.type], (type) => type === AuthorizedUrlListType.RECORDING_DOMAINS],\n\n checkUrlIsAuthorized: [\n (s) => [s.authorizedUrls],\n (authorizedUrls) => (url: string) => {\n return checkUrlIsAuthorized(url, authorizedUrls)\n },\n ],\n }),\n urlToAction(({ actions }) => ({\n [urls.toolbarLaunch()]: (_, searchParams) => {\n if (searchParams.addNew) {\n actions.newUrl()\n }\n },\n })),\n])\n","import { useValues } from 'kea'\nimport { CodeSnippet, Language } from 'lib/components/CodeSnippet'\nimport { FEATURE_FLAGS } from 'lib/constants'\nimport { featureFlagLogic } from 'lib/logic/featureFlagLogic'\nimport { apiHostOrigin } from 'lib/utils/apiHost'\nimport posthog from 'posthog-js'\nimport { teamLogic } from 'scenes/teamLogic'\n\nfunction snippetFunctions(arrayJs = '/static/array.js'): string {\n const methods: string[] = []\n const posthogPrototype = Object.getPrototypeOf(posthog)\n for (const key of Object.getOwnPropertyNames(posthogPrototype)) {\n if (\n typeof posthogPrototype[key] === 'function' &&\n !key.startsWith('_') &&\n !['constructor', 'toString', 'push'].includes(key)\n ) {\n methods.push(key)\n }\n }\n const snippetMethods = methods.join(' ')\n\n return `!function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(\".\");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement(\"script\")).type=\"text/javascript\",p.crossOrigin=\"anonymous\",p.async=!0,p.src=s.api_host.replace(\".i.posthog.com\",\"-assets.i.posthog.com\")+\"${arrayJs}\",(r=t.getElementsByTagName(\"script\")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a=\"posthog\",u.people=u.people||[],u.toString=function(t){var e=\"posthog\";return\"posthog\"!==a&&(e+=\".\"+a),t||(e+=\" (stub)\"),e},u.people.toString=function(){return u.toString(1)+\".people (stub)\"},o=\"${snippetMethods}\".split(\" \"),n=0;n',\n ` ${snippetFunctions(arrayJs)}`,\n ` posthog.init('${currentTeam?.api_token}', {\n api_host:'${apiHostOrigin()}'${\n isPersonProfilesDisabled\n ? ``\n : `,\\n person_profiles: 'identified_only' // or 'always' to create profiles for anonymous users as well`\n }\n })`,\n '',\n ]\n .map((x) => ' '.repeat(indent) + x)\n .join('\\n')\n}\n\nexport function JSSnippet(): JSX.Element {\n const snippet = useJsSnippet()\n\n return {snippet}\n}\n\nexport function JSSnippetV2(): JSX.Element {\n const { currentTeam } = useValues(teamLogic)\n\n const snippet = useJsSnippet(0, `/array/${currentTeam?.api_token}/array.js`)\n\n return {snippet}\n}\n","import { connect, kea, path, selectors } from 'kea'\nimport { loaders } from 'kea-loaders'\nimport { subscriptions } from 'kea-subscriptions'\nimport api from 'lib/api'\nimport { membersLogic } from 'scenes/organization/membersLogic'\n\nimport { sidePanelContextLogic } from '~/layout/navigation-3000/sidepanel/panels/sidePanelContextLogic'\nimport { SidePanelSceneContext } from '~/layout/navigation-3000/sidepanel/types'\nimport { HogQLQuery, NodeKind } from '~/queries/schema'\nimport { hogql } from '~/queries/utils'\n\nimport type { metalyticsLogicType } from './metalyticsLogicType'\n\nexport const metalyticsLogic = kea([\n path(['lib', 'components', 'metalytics', 'metalyticsLogic']),\n connect({\n values: [sidePanelContextLogic, ['sceneSidePanelContext'], membersLogic, ['members']],\n }),\n\n loaders(({ values }) => ({\n viewCount: [\n null as { views: number; users: number } | null,\n {\n loadViewCount: async () => {\n const query: HogQLQuery = {\n kind: NodeKind.HogQLQuery,\n query: hogql`SELECT SUM(count) AS count, COUNT(DISTINCT app_source_id) AS unique_users\n FROM app_metrics\n WHERE app_source = 'metalytics'\n AND instance_id = ${values.instanceId}`,\n }\n\n // NOTE: I think this gets cached heavily - how to correctly invalidate?\n const response = await api.query(query, undefined, undefined, true)\n const result = response.results as number[][]\n return {\n views: result[0][0],\n users: result[0][1],\n }\n },\n },\n ],\n recentUsers: [\n [] as string[],\n {\n loadUsersLast30days: async () => {\n const query: HogQLQuery = {\n kind: NodeKind.HogQLQuery,\n query: hogql`SELECT DISTINCT app_source_id\n FROM app_metrics\n WHERE app_source = 'metalytics'\n AND instance_id = ${values.instanceId}\n AND timestamp >= NOW() - INTERVAL 30 DAY\n ORDER BY timestamp DESC`,\n }\n\n const response = await api.query(query, undefined, undefined, true)\n return response.results.map((result) => result[0]) as string[]\n },\n },\n ],\n })),\n\n selectors({\n instanceId: [\n (s) => [s.sceneSidePanelContext],\n (sidePanelContext: SidePanelSceneContext) =>\n sidePanelContext?.activity_item_id\n ? `${sidePanelContext.activity_scope}:${sidePanelContext.activity_item_id}`\n : null,\n ],\n scope: [\n (s) => [s.sceneSidePanelContext],\n (sidePanelContext: SidePanelSceneContext) => sidePanelContext?.activity_scope,\n ],\n\n recentUserMembers: [\n (s) => [s.recentUsers, s.members],\n (recentUsers, members) => {\n if (!members || !recentUsers) {\n return []\n }\n // Filter members whose IDs match the recentUsers array\n const filteredMembers = members.filter((member) => recentUsers.includes(String(member.user.id)))\n return filteredMembers\n },\n ],\n }),\n\n subscriptions(({ actions }) => ({\n instanceId: async (instanceId) => {\n if (instanceId) {\n actions.loadViewCount()\n actions.loadUsersLast30days()\n\n await api.create('/api/projects/@current/metalytics/', {\n metric_name: 'viewed',\n instance_id: instanceId,\n })\n }\n },\n })),\n])\n","import { IconBug, IconInfo, IconQuestion } from '@posthog/icons'\nimport {\n LemonInput,\n LemonSegmentedButton,\n LemonSegmentedButtonOption,\n lemonToast,\n Link,\n Tooltip,\n} from '@posthog/lemon-ui'\nimport { useActions, useValues } from 'kea'\nimport { Form } from 'kea-forms'\nimport { useUploadFiles } from 'lib/hooks/useUploadFiles'\nimport { IconFeedback } from 'lib/lemon-ui/icons'\nimport { LemonField } from 'lib/lemon-ui/LemonField'\nimport { LemonFileInput } from 'lib/lemon-ui/LemonFileInput/LemonFileInput'\nimport { LemonSelect } from 'lib/lemon-ui/LemonSelect/LemonSelect'\nimport { LemonTextArea } from 'lib/lemon-ui/LemonTextArea/LemonTextArea'\nimport { useRef } from 'react'\nimport { preflightLogic } from 'scenes/PreflightCheck/preflightLogic'\nimport { userLogic } from 'scenes/userLogic'\n\nimport {\n SEVERITY_LEVEL_TO_NAME,\n SUPPORT_TICKET_TEMPLATES,\n supportLogic,\n SupportTicketKind,\n TARGET_AREA_TO_NAME,\n} from './supportLogic'\n\nconst SUPPORT_TICKET_OPTIONS: LemonSegmentedButtonOption[] = [\n {\n value: 'support',\n label: 'Question',\n icon: ,\n },\n {\n value: 'feedback',\n label: 'Feedback',\n icon: ,\n },\n {\n value: 'bug',\n label: 'Bug',\n icon: ,\n },\n]\n\nconst SUPPORT_TICKET_KIND_TO_PROMPT: Record = {\n bug: \"What's the bug?\",\n feedback: 'What feedback do you have?',\n support: 'What can we help you with?',\n}\n\nexport function SupportForm(): JSX.Element | null {\n const { sendSupportRequest } = useValues(supportLogic)\n const { setSendSupportRequestValue } = useActions(supportLogic)\n const { objectStorageAvailable } = useValues(preflightLogic)\n // the support model can be shown when logged out, file upload is not offered to anonymous users\n const { user } = useValues(userLogic)\n // only allow authentication issues for logged out users\n\n const dropRef = useRef(null)\n\n const { setFilesToUpload, filesToUpload, uploading } = useUploadFiles({\n onUpload: (url, fileName) => {\n setSendSupportRequestValue('message', sendSupportRequest.message + `\\n\\nAttachment \"${fileName}\": ${url}`)\n },\n onError: (detail) => {\n lemonToast.error(`Error uploading image: ${detail}`)\n },\n })\n\n const changeKind = (kind: SupportTicketKind): void => {\n setSendSupportRequestValue('kind', kind)\n if (kind === 'bug') {\n setSendSupportRequestValue('severity_level', 'medium')\n } else {\n setSendSupportRequestValue('severity_level', 'low')\n }\n }\n\n return (\n \n {!user && (\n <>\n \n \n \n \n \n \n \n )}\n \n \n \n \n \n \n \n {(props) => (\n
\n \n {objectStorageAvailable && !!user && (\n \n )}\n
\n )}\n \n
\n
\n \n \n Definitions\n \n
\n \n ({\n label: value,\n value: key,\n }))}\n />\n \n
\n \n )\n}\n","import { captureException } from '@sentry/react'\nimport * as Sentry from '@sentry/react'\nimport { actions, connect, kea, listeners, path, props, reducers, selectors } from 'kea'\nimport { forms } from 'kea-forms'\nimport { urlToAction } from 'kea-router'\nimport { lemonToast } from 'lib/lemon-ui/LemonToast/LemonToast'\nimport { uuid } from 'lib/utils'\nimport posthog from 'posthog-js'\nimport { organizationLogic } from 'scenes/organizationLogic'\nimport { preflightLogic } from 'scenes/PreflightCheck/preflightLogic'\nimport { teamLogic } from 'scenes/teamLogic'\nimport { userLogic } from 'scenes/userLogic'\n\nimport { sidePanelStateLogic } from '~/layout/navigation-3000/sidepanel/sidePanelStateLogic'\nimport { AvailableFeature, OrganizationBasicType, Region, SidePanelTab, TeamPublicType, UserType } from '~/types'\n\nimport type { supportLogicType } from './supportLogicType'\nimport { openSupportModal } from './SupportModal'\n\nexport function getPublicSupportSnippet(\n cloudRegion: Region | null | undefined,\n currentOrganization: OrganizationBasicType | null,\n currentTeam: TeamPublicType | null,\n includeCurrentLocation = true\n): string {\n if (!cloudRegion) {\n return ''\n }\n return (\n (includeCurrentLocation ? getCurrentLocationLink() : '') +\n getSessionReplayLink() +\n `\\nAdmin: http://go/adminOrg${cloudRegion}/${currentOrganization?.id} (project ID ${currentTeam?.id})` +\n getSentryLink(cloudRegion, currentTeam)\n ).trimStart()\n}\n\nfunction getCurrentLocationLink(): string {\n const cleanedCurrentUrl = window.location.href.replace(/panel=support[^&]*(&)?/, '').replace(/#$/, '')\n return `\\nLocation: ${cleanedCurrentUrl}`\n}\n\nfunction getSessionReplayLink(): string {\n const replayUrl = posthog\n .get_session_replay_url({ withTimestamp: true, timestampLookBack: 30 })\n .replace(window.location.origin + '/replay/', 'http://go/session/')\n return `\\nSession: ${replayUrl}`\n}\n\nfunction getErrorTrackingLink(): string {\n const filterGroup = encodeURIComponent(\n JSON.stringify({\n type: 'AND',\n values: [\n {\n type: 'AND',\n values: [\n {\n key: '$session_id',\n value: [posthog.get_session_id()],\n operator: 'exact',\n type: 'event',\n },\n ],\n },\n ],\n })\n )\n\n return `\\nExceptions: https://us.posthog.com/project/2/error_tracking?filterGroup=${filterGroup}`\n}\n\nfunction getDjangoAdminLink(\n user: UserType | null,\n cloudRegion: Region | null | undefined,\n currentOrganization: OrganizationBasicType | null,\n currentTeam: TeamPublicType | null\n): string {\n if (!user || !cloudRegion) {\n return ''\n }\n const link = `http://go/admin${cloudRegion}/${user.email}`\n return `\\nAdmin: ${link} (organization ID ${currentOrganization?.id}: ${currentOrganization?.name}, project ID ${currentTeam?.id}: ${currentTeam?.name})`\n}\n\nfunction getBillingAdminLink(currentOrganization: OrganizationBasicType | null): string {\n if (!currentOrganization) {\n return ''\n }\n return `\\nBilling admin: http://go/billing/${currentOrganization.id}`\n}\n\nfunction getSentryLink(cloudRegion: Region | null | undefined, currentTeam: TeamPublicType | null): string {\n if (!cloudRegion || !currentTeam) {\n return ''\n }\n return `\\nSentry: http://go/sentry${cloudRegion}/${currentTeam.id}`\n}\n\nconst SUPPORT_TICKET_KIND_TO_TITLE: Record = {\n support: 'Contact support',\n feedback: 'Give feedback',\n bug: 'Report a bug',\n}\n\nexport const TARGET_AREA_TO_NAME = [\n {\n title: 'General',\n options: [\n {\n value: 'apps',\n 'data-attr': `support-form-target-area-apps`,\n label: 'Data pipelines',\n },\n {\n value: 'login',\n 'data-attr': `support-form-target-area-login`,\n label: 'Authentication (incl. login, sign-up, invites)',\n },\n {\n value: 'billing',\n 'data-attr': `support-form-target-area-billing`,\n label: 'Billing',\n },\n {\n value: 'onboarding',\n 'data-attr': `support-form-target-area-onboarding`,\n label: 'Onboarding',\n },\n {\n value: 'sdk',\n 'data-attr': `support-form-target-area-onboarding`,\n label: 'SDK / Implementation',\n },\n {\n value: 'cohorts',\n 'data-attr': `support-form-target-area-cohorts`,\n label: 'Cohorts',\n },\n {\n value: 'data_management',\n 'data-attr': `support-form-target-area-data_management`,\n label: 'Data management (incl. events, actions, properties)',\n },\n {\n value: 'notebooks',\n 'data-attr': `support-form-target-area-notebooks`,\n label: 'Notebooks',\n },\n {\n value: 'mobile',\n 'data-attr': `support-form-target-area-mobile`,\n label: 'Mobile',\n },\n ],\n },\n {\n title: 'Individual product',\n options: [\n {\n value: 'experiments',\n 'data-attr': `support-form-target-area-experiments`,\n label: 'Experiments',\n },\n {\n value: 'data_warehouse',\n 'data-attr': `support-form-target-area-data_warehouse`,\n label: 'Data warehouse',\n },\n {\n value: 'batch_exports',\n 'data-attr': `support-form-target-area-batch-exports`,\n label: 'Batch exports',\n },\n {\n value: 'feature_flags',\n 'data-attr': `support-form-target-area-feature_flags`,\n label: 'Feature flags',\n },\n {\n value: 'analytics',\n 'data-attr': `support-form-target-area-analytics`,\n label: 'Product analytics (incl. insights, dashboards, annotations)',\n },\n {\n value: 'session_replay',\n 'data-attr': `support-form-target-area-session_replay`,\n label: 'Session replay (incl. recordings)',\n },\n {\n value: 'toolbar',\n 'data-attr': `support-form-target-area-toolbar`,\n label: 'Toolbar (incl. heatmaps)',\n },\n {\n value: 'surveys',\n 'data-attr': `support-form-target-area-surveys`,\n label: 'Surveys',\n },\n {\n value: 'web_analytics',\n 'data-attr': `support-form-target-area-web_analytics`,\n label: 'Web Analytics',\n },\n {\n value: 'error_tracking',\n 'data-attr': `support-form-target-area-error_tracking`,\n label: 'Error tracking',\n },\n ],\n },\n]\n\nexport const SEVERITY_LEVEL_TO_NAME = {\n critical: 'Outage, data loss, or data breach',\n high: 'Feature is not working at all',\n medium: 'Feature not working as expected',\n low: 'Question or feature request',\n}\n\nexport const SUPPORT_KIND_TO_SUBJECT = {\n bug: 'Bug Report',\n feedback: 'Feedback',\n support: 'Support Ticket',\n}\n\nexport type SupportTicketTargetArea =\n | 'experiments'\n | 'apps'\n | 'login'\n | 'billing'\n | 'onboarding'\n | 'cohorts'\n | 'data_management'\n | 'notebooks'\n | 'data_warehouse'\n | 'feature_flags'\n | 'analytics'\n | 'session_replay'\n | 'toolbar'\n | 'surveys'\n | 'web_analytics'\n | 'error_tracking'\nexport type SupportTicketSeverityLevel = keyof typeof SEVERITY_LEVEL_TO_NAME\nexport type SupportTicketKind = keyof typeof SUPPORT_KIND_TO_SUBJECT\n\nexport const getLabelBasedOnTargetArea = (target_area: SupportTicketTargetArea): null | string => {\n for (const category of TARGET_AREA_TO_NAME) {\n for (const option of category.options) {\n if (option.value === target_area) {\n return option.label\n }\n }\n }\n return null // Return null if the value is not found\n}\n\nexport const URL_PATH_TO_TARGET_AREA: Record = {\n insights: 'analytics',\n recordings: 'session_replay',\n replay: 'session_replay',\n dashboard: 'analytics',\n feature_flags: 'feature_flags',\n experiments: 'experiments',\n 'web-performance': 'session_replay',\n events: 'analytics',\n 'data-management': 'data_management',\n cohorts: 'cohorts',\n annotations: 'analytics',\n persons: 'analytics',\n groups: 'analytics',\n app: 'apps',\n toolbar: 'session_replay',\n warehouse: 'data_warehouse',\n surveys: 'surveys',\n web: 'web_analytics',\n}\n\nexport const SUPPORT_TICKET_TEMPLATES = {\n bug: 'Please describe the bug you saw, and how to reproduce it.\\n\\nIf the bug appeared on a specific insight or dashboard, please include a link to it.',\n feedback:\n \"If your request is due to a problem, please describe the problem as best you can.\\n\\nPlease also describe the solution you'd like to see, and any alternatives you considered.\\n\\nYou can add images below to help illustrate your request, if needed!\",\n support:\n \"Please explain as fully as possible what you're aiming to do, and what you'd like help with.\\n\\nIf your question involves an existing insight or dashboard, please include a link to it.\",\n}\n\nexport function getURLPathToTargetArea(pathname: string): SupportTicketTargetArea | null {\n const first_part = pathname.split('/')[1]\n return URL_PATH_TO_TARGET_AREA[first_part] ?? null\n}\n\nexport type SupportFormLogicProps = {\n onClose?: () => void\n}\n\nexport type SupportFormFields = {\n name: string\n email: string\n kind: SupportTicketKind\n target_area: SupportTicketTargetArea | null\n severity_level: SupportTicketSeverityLevel | null\n message: string\n isEmailFormOpen?: boolean | 'true' | 'false'\n}\n\nexport const supportLogic = kea([\n props({} as SupportFormLogicProps),\n path(['lib', 'components', 'support', 'supportLogic']),\n connect(() => ({\n values: [\n userLogic,\n ['user'],\n preflightLogic,\n ['preflight'],\n sidePanelStateLogic,\n ['sidePanelAvailable'],\n userLogic,\n ['hasAvailableFeature'],\n ],\n actions: [sidePanelStateLogic, ['openSidePanel', 'setSidePanelOptions']],\n })),\n actions(() => ({\n closeSupportForm: true,\n openSupportForm: (values: Partial) => values,\n submitZendeskTicket: (form: SupportFormFields) => form,\n updateUrlParams: true,\n openEmailForm: true,\n closeEmailForm: true,\n })),\n reducers(() => ({\n isSupportFormOpen: [\n false,\n {\n openSupportForm: () => true,\n closeSupportForm: () => false,\n },\n ],\n isEmailFormOpen: [\n false,\n {\n openEmailForm: () => true,\n closeEmailForm: () => false,\n },\n ],\n })),\n forms(({ actions, values }) => ({\n sendSupportRequest: {\n defaults: {\n name: '',\n email: '',\n kind: 'support',\n severity_level: null,\n target_area: null,\n message: '',\n } as SupportFormFields,\n errors: ({ name, email, message, kind, target_area, severity_level }) => {\n return {\n name: !values.user ? (!name ? 'Please enter your name' : '') : '',\n email: !values.user ? (!email ? 'Please enter your email' : '') : '',\n message: !message ? 'Please enter a message' : '',\n kind: !kind ? 'Please choose' : undefined,\n severity_level: !severity_level ? 'Please choose' : undefined,\n target_area: !target_area ? 'Please choose' : undefined,\n }\n },\n submit: async (formValues) => {\n // name must be present for zendesk to accept the ticket\n formValues.name = values.user?.first_name ?? formValues.name ?? 'name not set'\n formValues.email = values.user?.email ?? formValues.email ?? ''\n actions.submitZendeskTicket(formValues)\n actions.closeSupportForm()\n actions.resetSendSupportRequest()\n },\n },\n })),\n selectors({\n title: [\n (s) => [s.sendSupportRequest ?? null],\n (sendSupportRequest) =>\n sendSupportRequest.kind\n ? SUPPORT_TICKET_KIND_TO_TITLE[sendSupportRequest.kind]\n : 'Leave a message with PostHog',\n ],\n }),\n listeners(({ actions, props, values }) => ({\n updateUrlParams: async () => {\n const panelOptions = [\n values.sendSupportRequest.kind ?? '',\n values.sendSupportRequest.target_area ?? '',\n values.sendSupportRequest.severity_level ?? '',\n values.isEmailFormOpen ?? 'false',\n ].join(':')\n\n if (panelOptions !== ':') {\n actions.setSidePanelOptions(panelOptions)\n }\n },\n openSupportForm: async ({ name, email, isEmailFormOpen, kind, target_area, severity_level, message }) => {\n let area = target_area ?? getURLPathToTargetArea(window.location.pathname)\n if (!userLogic.values.user) {\n area = 'login'\n }\n kind = kind ?? 'support'\n actions.resetSendSupportRequest({\n name: name ?? '',\n email: email ?? '',\n kind,\n target_area: area,\n severity_level: severity_level ?? null,\n message: message ?? '',\n })\n\n if (isEmailFormOpen === 'true' || isEmailFormOpen === true) {\n actions.openEmailForm()\n } else {\n actions.closeEmailForm()\n }\n\n if (values.sidePanelAvailable) {\n const panelOptions = [kind ?? '', area ?? ''].join(':')\n actions.openSidePanel(SidePanelTab.Support, panelOptions === ':' ? undefined : panelOptions)\n } else {\n openSupportModal()\n }\n\n actions.updateUrlParams()\n },\n submitZendeskTicket: async ({ name, email, kind, target_area, severity_level, message }) => {\n const zendesk_ticket_uuid = uuid()\n const subject =\n SUPPORT_KIND_TO_SUBJECT[kind ?? 'support'] +\n ': ' +\n (target_area\n ? getLabelBasedOnTargetArea(target_area) ?? `${target_area} (feature preview)`\n : 'General') +\n ' (' +\n zendesk_ticket_uuid +\n ')'\n const cloudRegion = preflightLogic.values.preflight?.region\n\n const payload = {\n request: {\n requester: { name: name, email: email },\n subject: subject,\n custom_fields: [\n {\n id: 22084126888475,\n value: severity_level,\n },\n {\n id: 22129191462555,\n value: posthog.get_distinct_id(),\n },\n {\n id: 27242745654043,\n value: target_area ?? '',\n },\n {\n id: 27031528411291,\n value: userLogic?.values?.user?.organization?.id ?? '',\n },\n {\n id: 26073267652251,\n value: values.hasAvailableFeature(AvailableFeature.PRIORITY_SUPPORT)\n ? 'priority_support'\n : values.hasAvailableFeature(AvailableFeature.EMAIL_SUPPORT)\n ? 'email_support'\n : 'free_support',\n },\n ],\n comment: {\n body:\n message +\n `\\n\\n-----` +\n `\\nKind: ${kind}` +\n `\\nTarget area: ${target_area}` +\n `\\nReport event: http://go/ticketByUUID/${zendesk_ticket_uuid}` +\n getSessionReplayLink() +\n getErrorTrackingLink() +\n getCurrentLocationLink() +\n getDjangoAdminLink(\n userLogic.values.user,\n cloudRegion,\n organizationLogic.values.currentOrganization,\n teamLogic.values.currentTeam\n ) +\n (target_area === 'billing' || target_area === 'login' || target_area === 'onboarding'\n ? getBillingAdminLink(organizationLogic.values.currentOrganization)\n : '') +\n getSentryLink(cloudRegion, teamLogic.values.currentTeam) +\n (cloudRegion && teamLogic.values.currentTeam\n ? '\\nPersons-on-events mode for project: ' +\n (teamLogic.values.currentTeam.modifiers?.personsOnEventsMode ??\n teamLogic.values.currentTeam.default_modifiers?.personsOnEventsMode ??\n 'unknown')\n : ''),\n },\n },\n }\n\n try {\n const zendeskRequestBody = JSON.stringify(payload, undefined, 4)\n const response = await fetch('https://posthoghelp.zendesk.com/api/v2/requests.json', {\n method: 'POST',\n body: zendeskRequestBody,\n headers: { 'Content-Type': 'application/json' },\n })\n if (!response.ok) {\n const error = new Error(`There was an error creating the support ticket with zendesk.`)\n const extra: Record = { zendeskBody: zendeskRequestBody }\n Object.entries(payload).forEach(([key, value]) => {\n extra[`payload_${key}`] = value\n })\n const body = await response.text()\n const contexts = {\n response: {\n status_code: response.status,\n data: body,\n body_size: body?.length,\n },\n }\n captureException(error, {\n extra,\n contexts,\n })\n lemonToast.error(`There was an error sending the message.`)\n return\n }\n\n const json = await response.json()\n\n const zendesk_ticket_id = json.request.id\n const zendesk_ticket_link = `https://posthoghelp.zendesk.com/agent/tickets/${zendesk_ticket_id}`\n const properties = {\n zendesk_ticket_uuid,\n kind,\n target_area,\n message,\n zendesk_ticket_id,\n zendesk_ticket_link,\n }\n posthog.capture('support_ticket', properties)\n Sentry.captureMessage('User submitted Zendesk ticket', {\n tags: {\n zendesk_ticket_uuid,\n zendesk_ticket_link,\n support_request_kind: kind,\n support_request_area: target_area,\n team_id: teamLogic.values.currentTeamId,\n },\n extra: properties,\n level: 'log',\n })\n lemonToast.success(\"Got the message! If we have follow-up information for you, we'll reply via email.\")\n } catch (e) {\n captureException(e)\n lemonToast.error(`There was an error sending the message.`)\n }\n },\n\n closeSupportForm: () => {\n props.onClose?.()\n },\n\n setSendSupportRequestValue: () => {\n actions.updateUrlParams()\n },\n })),\n\n urlToAction(({ actions, values }) => ({\n '*': (_, _search, hashParams) => {\n if (values.isSupportFormOpen) {\n return\n }\n\n const [panel, ...panelOptions] = (hashParams['panel'] ?? '').split(':')\n\n if (panel === SidePanelTab.Support) {\n const [kind, area, severity, isEmailFormOpen] = panelOptions\n\n actions.openSupportForm({\n kind: Object.keys(SUPPORT_KIND_TO_SUBJECT).includes(kind) ? kind : null,\n target_area: getLabelBasedOnTargetArea(area) ? area : null,\n severity_level: Object.keys(SEVERITY_LEVEL_TO_NAME).includes(severity) ? severity : null,\n isEmailFormOpen: isEmailFormOpen ?? 'false',\n })\n return\n }\n\n // Legacy supportModal param\n if ('supportModal' in hashParams) {\n const [kind, area, severity] = (hashParams['supportModal'] || '').split(':')\n\n actions.openSupportForm({\n kind: Object.keys(SUPPORT_KIND_TO_SUBJECT).includes(kind) ? kind : null,\n target_area: Object.keys(TARGET_AREA_TO_NAME).includes(area) ? area : null,\n severity_level: Object.keys(SEVERITY_LEVEL_TO_NAME).includes(severity) ? severity : null,\n })\n }\n },\n })),\n])\n","import { actions, afterMount, kea, key, listeners, path, props, reducers, sharedListeners } from 'kea'\nimport { loaders } from 'kea-loaders'\nimport api from 'lib/api'\nimport { isNotNil } from 'lib/utils'\nimport {\n diffVersions,\n highestVersion,\n isEqualVersion,\n parseVersion,\n SemanticVersion,\n tryParseVersion,\n versionToString,\n} from 'lib/utils/semver'\n\nimport { HogQLQuery, NodeKind } from '~/queries/schema'\nimport { hogql } from '~/queries/utils'\n\nimport type { versionCheckerLogicType } from './versionCheckerLogicType'\n\n// If you would like to deprecate all posthog-js versions older than a specific version\n// (i.e. after fixing an important bug) please edit\n// https://github.com/PostHog/posthog-js/blob/main/deprecation.json\n\nconst CHECK_INTERVAL_MS = 1000 * 60 * 60 * 6 // 6 hour\n\nexport type SDKVersion = {\n version: SemanticVersion\n timestamp?: string\n}\n\nexport type SDKVersionWarning = {\n latestUsedVersion: string\n latestAvailableVersion: string\n numVersionsBehind?: number\n level: 'warning' | 'info' | 'error'\n}\n\nexport interface PosthogJSDeprecation {\n deprecateBeforeVersion?: string\n deprecateOlderThanDays?: number\n}\n\nexport interface AvailableVersions {\n sdkVersions?: SemanticVersion[]\n deprecation?: PosthogJSDeprecation\n}\n\nexport interface VersionCheckerLogicProps {\n teamId: number | null\n}\n\nexport const versionCheckerLogic = kea([\n props({ teamId: null } as VersionCheckerLogicProps),\n key(({ teamId }) => teamId || 'no-team-id'),\n path((key) => ['components', 'VersionChecker', 'versionCheckerLogic', key]),\n actions({\n setVersionWarning: (versionWarning: SDKVersionWarning | null) => ({ versionWarning }),\n setSdkVersions: (sdkVersions: SDKVersion[]) => ({ sdkVersions }),\n }),\n loaders(({ values }) => ({\n availableVersions: [\n {} as AvailableVersions,\n {\n loadAvailableVersions: async (): Promise => {\n // Make both requests simultaneously and don't return until both have finished, to avoid a flash\n // of partial results in the UI.\n const availableVersionsPromise: Promise = fetch(\n 'https://api.github.com/repos/posthog/posthog-js/tags'\n )\n .then((r) => r.json())\n .then((r) => r.map((x: any) => tryParseVersion(x.name)).filter(isNotNil))\n const deprecationPromise: Promise = fetch(\n 'https://raw.githubusercontent.com/PostHog/posthog-js/main/deprecation.json'\n ).then((r) => r.json())\n const settled = await Promise.allSettled([availableVersionsPromise, deprecationPromise])\n const availableVersions = settled[0].status === 'fulfilled' ? settled[0].value : []\n const deprecation = settled[1].status === 'fulfilled' ? settled[1].value : {}\n // if one or more of the requests failed, merge in the previous value if we have one\n return {\n ...values.availableVersions,\n sdkVersions: availableVersions,\n deprecation: deprecation,\n }\n },\n },\n ],\n usedVersions: [\n null as SDKVersion[] | null,\n {\n loadUsedVersions: async () => {\n const query: HogQLQuery = {\n kind: NodeKind.HogQLQuery,\n query: hogql`SELECT properties.$lib_version AS lib_version, max(timestamp) AS latest_timestamp, count(lib_version) as count\n FROM events\n WHERE timestamp >= now() - INTERVAL 1 DAY \n AND timestamp <= now()\n AND properties.$lib = 'web'\n GROUP BY lib_version\n ORDER BY latest_timestamp DESC\n limit 10`,\n }\n\n const res = await api.query(query, undefined, undefined, true)\n\n return (\n res.results\n ?.map((x) => {\n const version = tryParseVersion(x[0])\n if (!version) {\n return null\n }\n return {\n version,\n timestamp: x[1],\n }\n })\n .filter(isNotNil) ?? null\n )\n },\n },\n ],\n })),\n\n reducers({\n lastCheckTimestamp: [\n 0,\n { persist: true },\n {\n loadUsedVersionsSuccess: () => Date.now(),\n },\n ],\n versionWarning: [\n null as SDKVersionWarning | null,\n // bumping cache key due to an incorrect tag being cached on 2024-02-12\n { persist: true, prefix: '2024-02-12' },\n {\n setVersionWarning: (_, { versionWarning }) => versionWarning,\n },\n ],\n }),\n\n sharedListeners(({ values, actions }) => ({\n checkForVersionWarning: () => {\n if (!values.usedVersions?.length) {\n return\n }\n const { deprecation, sdkVersions } = values.availableVersions\n\n // We want the highest semantic version to be the latest used one, rather than\n // the one with the latest timestamp, because secondary installations can spew old versions\n const latestUsedVersion = highestVersion(values.usedVersions.map((v) => v.version))\n\n // the latest version published on github\n const latestAvailableVersion = sdkVersions?.[0]\n\n // the version where, anything before this deprecated (i.e. this version is allowed, before it is not)\n const deprecateBeforeVersion = deprecation?.deprecateBeforeVersion\n ? parseVersion(deprecation.deprecateBeforeVersion)\n : null\n\n let warning: SDKVersionWarning | null = null\n\n if (deprecateBeforeVersion) {\n const diff = diffVersions(deprecateBeforeVersion, latestUsedVersion)\n // if they are behind the deprecatedBeforeVersion by any amount, show an error\n if (diff && diff.diff > 0) {\n warning = {\n latestUsedVersion: versionToString(latestUsedVersion),\n latestAvailableVersion: versionToString(latestAvailableVersion || deprecateBeforeVersion),\n level: 'error',\n }\n }\n }\n\n if (!warning && sdkVersions && latestAvailableVersion) {\n const diff = diffVersions(latestAvailableVersion, latestUsedVersion)\n\n if (diff && diff.diff > 0) {\n // there's a difference between the latest used version and the latest available version\n\n let numVersionsBehind = sdkVersions.findIndex((v) => isEqualVersion(v, latestUsedVersion))\n if (numVersionsBehind === -1) {\n // if we couldn't find the versions, use the length of the list as a fallback\n numVersionsBehind = sdkVersions.length - 1\n }\n if (numVersionsBehind < diff.diff) {\n // we might have deleted versions, but if the actual diff is X then we must be at least X versions behind\n numVersionsBehind = diff.diff\n }\n\n let level: 'warning' | 'info' | 'error' | undefined\n if (diff.kind === 'major') {\n level = 'info' // it is desirable to be on the latest major version, but not critical\n } else if (diff.kind === 'minor') {\n level = numVersionsBehind >= 40 ? 'warning' : undefined\n }\n\n if (level === undefined && numVersionsBehind >= 50) {\n level = 'error'\n }\n\n // we check if there is a \"latest user version string\" to avoid returning odd data in unexpected cases\n if (level && !!versionToString(latestUsedVersion).trim().length) {\n warning = {\n latestUsedVersion: versionToString(latestUsedVersion),\n latestAvailableVersion: versionToString(latestAvailableVersion),\n level,\n numVersionsBehind,\n }\n }\n }\n }\n\n actions.setVersionWarning(warning)\n },\n })),\n\n listeners(({ sharedListeners }) => ({\n loadAvailableVersionsSuccess: sharedListeners.checkForVersionWarning,\n loadUsedVersionsSuccess: sharedListeners.checkForVersionWarning,\n })),\n\n afterMount(({ actions, values }) => {\n if (values.lastCheckTimestamp < Date.now() - CHECK_INTERVAL_MS) {\n actions.loadAvailableVersions()\n actions.loadUsedVersions()\n }\n }),\n])\n","import { useValues } from 'kea'\nimport { TextContent } from 'lib/components/Cards/TextCard/TextCard'\nimport { useUploadFiles } from 'lib/hooks/useUploadFiles'\nimport { IconMarkdown, IconTools } from 'lib/lemon-ui/icons'\nimport { LemonFileInput } from 'lib/lemon-ui/LemonFileInput'\nimport { LemonTabs } from 'lib/lemon-ui/LemonTabs'\nimport { LemonTextArea, LemonTextAreaProps } from 'lib/lemon-ui/LemonTextArea/LemonTextArea'\nimport { lemonToast } from 'lib/lemon-ui/LemonToast'\nimport { Link } from 'lib/lemon-ui/Link'\nimport { Tooltip } from 'lib/lemon-ui/Tooltip'\nimport posthog from 'posthog-js'\nimport React, { useRef, useState } from 'react'\nimport { preflightLogic } from 'scenes/PreflightCheck/preflightLogic'\n\nexport const LemonTextAreaMarkdown = React.forwardRef(\n function _LemonTextAreaMarkdown({ value, onChange, ...editAreaProps }, ref): JSX.Element {\n const { objectStorageAvailable } = useValues(preflightLogic)\n\n const [isPreviewShown, setIsPreviewShown] = useState(false)\n const dropRef = useRef(null)\n\n const { setFilesToUpload, filesToUpload, uploading } = useUploadFiles({\n onUpload: (url, fileName) => {\n onChange?.(value + `\\n\\n![${fileName}](${url})`)\n posthog.capture('markdown image uploaded', { name: fileName })\n },\n onError: (detail) => {\n posthog.capture('markdown image upload failed', { error: detail })\n lemonToast.error(`Error uploading image: ${detail}`)\n },\n })\n\n return (\n setIsPreviewShown(key === 'preview')}\n tabs={[\n {\n key: 'write',\n label: 'Write',\n content: (\n
\n \n
\n \n Markdown formatting support\n
\n {objectStorageAvailable ? (\n \n ) : (\n
\n \n \n \n \n \n \n Add external images using{' '}\n \n {' '}\n Markdown image links\n \n .\n \n
\n )}\n
\n ),\n },\n {\n key: 'preview',\n label: 'Preview',\n content: value ? (\n \n ) : (\n Nothing to preview\n ),\n },\n ]}\n />\n )\n }\n)\n","// This file contains example queries, used in storybook and in the /query interface.\nimport { defaultDataTableColumns } from '~/queries/nodes/DataTable/utils'\nimport {\n ActionsNode,\n DataTableNode,\n DataVisualizationNode,\n EventsNode,\n EventsQuery,\n FunnelsQuery,\n HogQLQuery,\n HogQuery,\n InsightVizNode,\n LifecycleQuery,\n Node,\n NodeKind,\n PathsQuery,\n PersonsNode,\n RetentionQuery,\n StickinessQuery,\n TrendsQuery,\n} from '~/queries/schema'\nimport {\n ChartDisplayType,\n FilterLogicalOperator,\n PropertyFilterType,\n PropertyGroupFilter,\n PropertyOperator,\n StepOrderValue,\n} from '~/types'\n\nconst Events: EventsQuery = {\n kind: NodeKind.EventsQuery,\n select: defaultDataTableColumns(NodeKind.EventsQuery),\n properties: [\n { type: PropertyFilterType.Event, key: '$browser', operator: PropertyOperator.Exact, value: 'Chrome' },\n ],\n after: '-24h',\n limit: 100,\n}\n\nconst EventsTable: DataTableNode = {\n kind: NodeKind.DataTableNode,\n source: Events,\n}\nconst EventsTableFull: DataTableNode = {\n kind: NodeKind.DataTableNode,\n full: true,\n source: Events,\n}\n\nconst TotalEvents: EventsQuery = {\n kind: NodeKind.EventsQuery,\n select: ['count()'],\n}\n\nexport const TotalEventsTable: DataTableNode = {\n kind: NodeKind.DataTableNode,\n full: true,\n source: TotalEvents,\n}\n\nconst PropertyFormulas: EventsQuery = {\n kind: NodeKind.EventsQuery,\n select: [\n '1 + 2 + 3',\n 'event',\n 'person.created_at',\n \"concat(properties['$browser'], ' 💚 ', properties['$geoip_city_name']) -- Browser 💚 City\",\n \"'random string'\",\n ],\n limit: 100,\n}\n\nconst PropertyFormulasTable: DataTableNode = {\n kind: NodeKind.DataTableNode,\n full: true,\n source: PropertyFormulas,\n}\n\nconst EventAggregations: DataTableNode = {\n kind: NodeKind.DataTableNode,\n full: true,\n source: {\n kind: NodeKind.EventsQuery,\n select: [\n \"concat(properties['$geoip_city_name'], ' ', 'Rocks') -- City\",\n 'event',\n 'count() + 100000 -- Inflamed total',\n '1 + 2',\n ],\n orderBy: ['-count()'],\n },\n}\n\nconst Persons: PersonsNode = {\n kind: NodeKind.PersonsNode,\n properties: [\n { type: PropertyFilterType.Person, key: '$browser', operator: PropertyOperator.Exact, value: 'Chrome' },\n ],\n}\n\nconst PersonsTable: DataTableNode = {\n kind: NodeKind.DataTableNode,\n columns: defaultDataTableColumns(NodeKind.PersonsNode),\n source: Persons,\n}\n\nconst PersonsTableFull: DataTableNode = {\n kind: NodeKind.DataTableNode,\n full: true,\n columns: defaultDataTableColumns(NodeKind.PersonsNode),\n source: Persons,\n}\n\nconst properties: PropertyGroupFilter = {\n type: FilterLogicalOperator.And,\n values: [\n {\n type: FilterLogicalOperator.Or,\n values: [\n {\n type: PropertyFilterType.Event,\n key: '$current_url',\n operator: PropertyOperator.Exact,\n value: ['https://hedgebox.net/files/'],\n },\n {\n type: PropertyFilterType.Event,\n key: '$geoip_country_code',\n operator: PropertyOperator.Exact,\n value: ['US', 'AU'],\n },\n ],\n },\n ],\n}\n\nconst filterTestAccounts = false\nconst series: (EventsNode | ActionsNode)[] = [\n {\n kind: NodeKind.EventsNode,\n name: '$pageview',\n custom_name: 'Views',\n event: '$pageview',\n properties: [\n {\n type: PropertyFilterType.Event,\n key: '$browser',\n operator: PropertyOperator.Exact,\n value: 'Chrome',\n },\n {\n type: PropertyFilterType.Cohort,\n key: 'id',\n operator: PropertyOperator.In,\n value: 2,\n },\n ],\n },\n // {\n // kind: NodeKind.ActionsNode,\n // id: 1,\n // name: 'Interacted with file',\n // custom_name: 'Interactions',\n // properties: [\n // {\n // type: PropertyFilterType.Event,\n // key: '$geoip_country_code',\n // operator: PropertyOperator.Exact,\n // value: ['US'],\n // },\n // ],\n // math: PropertyMathType.Average,\n // math_property: '$session_duration',\n // },\n]\n\nconst InsightTrendsQuery: TrendsQuery = {\n kind: NodeKind.TrendsQuery,\n properties,\n filterTestAccounts,\n interval: 'day',\n dateRange: {\n date_from: '-7d',\n },\n series,\n trendsFilter: {\n display: ChartDisplayType.ActionsAreaGraph,\n },\n breakdownFilter: {\n breakdown: '$geoip_country_code',\n breakdown_type: 'event',\n },\n}\n\nconst InsightFunnelsQuery: FunnelsQuery = {\n kind: NodeKind.FunnelsQuery,\n properties,\n filterTestAccounts,\n interval: 'day',\n dateRange: {\n date_from: '-7d',\n },\n series,\n funnelsFilter: {\n funnelOrderType: StepOrderValue.ORDERED,\n },\n breakdownFilter: {\n breakdown: '$geoip_country_code',\n breakdown_type: 'event',\n },\n}\n\nconst InsightRetentionQuery: RetentionQuery = {\n kind: NodeKind.RetentionQuery,\n properties,\n filterTestAccounts,\n retentionFilter: {\n // TODO: this should be typed as (EventsNode | ActionsNode)[] without math and properties\n targetEntity: { type: 'events', id: '$pageview', name: '$pageview' },\n returningEntity: { type: 'events', id: '$pageview', name: '$pageview' },\n },\n}\n\nconst InsightPathsQuery: PathsQuery = {\n kind: NodeKind.PathsQuery,\n properties,\n filterTestAccounts,\n pathsFilter: {},\n}\n\nconst InsightStickinessQuery: StickinessQuery = {\n kind: NodeKind.StickinessQuery,\n properties,\n filterTestAccounts,\n interval: 'day',\n dateRange: {\n date_from: '-7d',\n },\n series,\n stickinessFilter: {},\n}\n\nconst InsightLifecycleQuery: LifecycleQuery = {\n kind: NodeKind.LifecycleQuery,\n properties,\n filterTestAccounts,\n dateRange: {\n date_from: '-7d',\n },\n series, // TODO: Visualization only supports one event or action\n}\n\nconst HogQLRaw: HogQLQuery = {\n kind: NodeKind.HogQLQuery,\n query: ` select event,\n person.properties.email,\n properties.$browser,\n count()\n from events\n where {filters} -- replaced with global date and property filters\n and person.properties.email is not null\n group by event,\n properties.$browser,\n person.properties.email\n order by count() desc\n limit 100`,\n filters: {\n dateRange: {\n date_from: '-24h',\n },\n },\n}\n\nconst HogQLForDataVisualization: HogQLQuery = {\n kind: NodeKind.HogQLQuery,\n query: `select toDate(timestamp) as timestamp, count()\nfrom events\nwhere {filters} and timestamp <= now()\ngroup by timestamp\norder by timestamp asc\nlimit 100`,\n explain: true,\n filters: {\n dateRange: {\n date_from: '-7d',\n },\n },\n}\n\nconst HogQLForDataWarehouse: HogQLQuery = {\n kind: NodeKind.HogQLQuery,\n query: `select toDate(timestamp) as timestamp, count()\nfrom events\ngroup by timestamp\nlimit 100`,\n explain: true,\n}\n\nconst DataWarehouse: DataVisualizationNode = {\n kind: NodeKind.DataVisualizationNode,\n source: HogQLForDataWarehouse,\n}\n\nconst HogQLTable: DataTableNode = {\n kind: NodeKind.DataTableNode,\n full: true,\n source: HogQLRaw,\n}\n\nconst DataVisualization: DataVisualizationNode = {\n kind: NodeKind.DataVisualizationNode,\n source: HogQLForDataVisualization,\n tableSettings: {\n columns: [\n {\n column: 'timestamp',\n settings: {\n formatting: {\n prefix: '',\n suffix: '',\n },\n },\n },\n {\n column: 'count()',\n settings: {\n formatting: {\n prefix: '',\n suffix: '',\n },\n },\n },\n ],\n },\n chartSettings: { goalLines: undefined },\n}\n\nconst Hog: HogQuery = {\n kind: NodeKind.HogQuery,\n code: 'return 1 + 2;',\n}\n\nconst Hoggonacci: HogQuery = {\n kind: NodeKind.HogQuery,\n code: `fn fibonacci(number) {\n if (number < 2) {\n return number;\n } else {\n return fibonacci(number - 1) + fibonacci(number - 2);\n }\n}\nreturn fibonacci(16);`,\n}\n/* a subset of examples including only those we can show all users and that don't use HogQL */\nexport const queryExamples: Record = {\n Events,\n EventsTable,\n EventsTableFull,\n TotalEventsTable,\n PropertyFormulasTable,\n EventAggregations,\n Persons,\n PersonsTable,\n PersonsTableFull,\n InsightTrendsQuery,\n InsightTrends: { kind: NodeKind.InsightVizNode, source: InsightTrendsQuery } as InsightVizNode,\n InsightFunnelsQuery,\n InsightFunnels: { kind: NodeKind.InsightVizNode, source: InsightFunnelsQuery } as InsightVizNode,\n InsightRetentionQuery,\n InsightRetention: {\n kind: NodeKind.InsightVizNode,\n source: InsightRetentionQuery,\n } as InsightVizNode,\n InsightPathsQuery,\n InsightPaths: { kind: NodeKind.InsightVizNode, source: InsightPathsQuery } as InsightVizNode,\n InsightStickinessQuery,\n InsightStickiness: {\n kind: NodeKind.InsightVizNode,\n source: InsightStickinessQuery,\n } as InsightVizNode,\n InsightLifecycleQuery,\n InsightLifecycle: {\n kind: NodeKind.InsightVizNode,\n source: InsightLifecycleQuery,\n } as InsightVizNode,\n}\n\nexport const stringifiedQueryExamples: Record = Object.fromEntries(\n Object.entries(queryExamples).map(([key, node]) => [key, JSON.stringify(node)])\n)\n\nexport const examples: Record = {\n ...queryExamples,\n HogQLRaw,\n HogQLTable,\n DataVisualization,\n Hog,\n Hoggonacci,\n DataWarehouse,\n}\n\nexport const stringifiedExamples: Record = Object.fromEntries(\n Object.entries(examples).map(([key, node]) => [key, JSON.stringify(node)])\n)\n","import * as d3 from 'd3'\nimport * as Sankey from 'd3-sankey'\nimport { D3Selector } from 'lib/hooks/useD3'\nimport { stripHTTP } from 'lib/utils'\nimport { Dispatch, RefObject, SetStateAction } from 'react'\n\nimport { FunnelPathsFilter, PathsFilter } from '~/queries/schema'\n\nimport { FALLBACK_CANVAS_WIDTH, HIDE_PATH_CARD_HEIGHT } from './Paths'\nimport { PathNode } from './pathsDataLogic'\nimport { isSelectedPathStartOrEnd, PathNodeData, PathTargetLink, roundedRect } from './pathUtils'\n\nconst createCanvas = (canvasRef: RefObject, width: number, height: number): D3Selector => {\n return d3\n .select(canvasRef.current)\n .append('svg')\n .classed('Paths__canvas', true)\n .style('background', 'var(--item-background)')\n .style('width', `${width}px`)\n .style('height', `${height}px`)\n}\n\nconst createSankey = (width: number, height: number): Sankey.SankeyLayout => {\n // @ts-expect-error - d3 sankey typing things\n return new Sankey.sankey()\n .nodeId((d: PathNodeData) => d.name)\n .nodeAlign(Sankey.sankeyJustify)\n .nodeSort(null)\n .nodeWidth(15)\n .size([width, height])\n}\n\nconst appendPathNodes = (\n svg: any,\n nodes: PathNodeData[],\n pathsFilter: PathsFilter,\n funnelPathsFilter: FunnelPathsFilter,\n setNodeCards: Dispatch>\n): void => {\n svg.append('g')\n .selectAll('rect')\n .data(nodes)\n .join('rect')\n .attr('x', (d: PathNodeData) => d.x0 + 1)\n .attr('y', (d: PathNodeData) => d.y0)\n .attr('height', (d: PathNodeData) => d.y1 - d.y0)\n .attr('width', (d: PathNodeData) => d.x1 - d.x0 - 2)\n .attr('fill', (d: PathNodeData) => {\n let c\n for (const link of d.sourceLinks) {\n if (c === undefined) {\n c = link.color\n } else if (c !== link.color) {\n c = null\n }\n }\n if (c === undefined) {\n for (const link of d.targetLinks) {\n if (c === undefined) {\n c = link.color\n } else if (c !== link.color) {\n c = null\n }\n }\n }\n if (isSelectedPathStartOrEnd(pathsFilter, funnelPathsFilter, d)) {\n return d3.color('purple')\n }\n const startNodeColor = c && d3.color(c) ? d3.color(c) : d3.color('#5375ff')\n return startNodeColor\n })\n .on('mouseover', (_event: MouseEvent, data: PathNodeData) => {\n if (data.y1 - data.y0 > HIDE_PATH_CARD_HEIGHT) {\n return\n }\n setNodeCards(\n nodes.map((node: PathNodeData) =>\n node.index === data.index\n ? { ...node, visible: true }\n : { ...node, visible: node.y1 - node.y0 > HIDE_PATH_CARD_HEIGHT }\n )\n )\n })\n .append('title')\n .text((d: PathNodeData) => `${stripHTTP(d.name)}\\n${d.value.toLocaleString()}`)\n}\n\nconst appendDropoffs = (svg: D3Selector): void => {\n const dropOffGradient = svg\n .append('defs')\n .append('linearGradient')\n .attr('id', 'dropoff-gradient')\n .attr('gradientTransform', 'rotate(90)')\n\n dropOffGradient.append('stop').attr('offset', '0%').attr('stop-color', 'rgba(220,53,69,0.7)')\n\n dropOffGradient.append('stop').attr('offset', '100%').attr('stop-color', 'var(--bg-light)')\n}\n\nconst appendPathLinks = (\n svg: any,\n links: PathNodeData[],\n nodes: PathNodeData[],\n setNodeCards: Dispatch>\n): void => {\n const link = svg\n .append('g')\n .attr('fill', 'none')\n .selectAll('g')\n .data(links)\n .join('g')\n .attr('stroke', 'var(--primary)')\n .attr('opacity', 0.35)\n\n link.append('path')\n .attr('d', Sankey.sankeyLinkHorizontal())\n .attr('id', (d: PathNodeData) => `path-${d.index}`)\n .attr('stroke-width', (d: PathNodeData) => {\n return Math.max(1, d.width)\n })\n .on('mouseover', (_event: MouseEvent, data: PathNodeData) => {\n svg.select(`#path-${data.index}`).attr('stroke', 'blue')\n if (data?.source?.targetLinks.length === 0) {\n return\n }\n const nodesToColor = [data.source]\n const pathCardsToShow: number[] = []\n while (nodesToColor.length > 0) {\n const _node = nodesToColor.pop()\n _node?.targetLinks.forEach((_link: PathTargetLink) => {\n svg.select(`#path-${_link.index}`).attr('stroke', 'blue')\n nodesToColor.push(_link.source)\n pathCardsToShow.push(_link.source.index)\n })\n }\n const pathCards = [data.target]\n pathCardsToShow.push(data.target.index, data.source.index)\n while (pathCards.length > 0) {\n const node = pathCards.pop()\n node?.sourceLinks.forEach((l: PathTargetLink) => {\n pathCards.push(l.target)\n pathCardsToShow.push(l.target.index)\n })\n }\n setNodeCards(\n nodes.map((node: PathNodeData) => ({\n ...node,\n ...{\n visible: pathCardsToShow.includes(node.index)\n ? true\n : node.y1 - node.y0 > HIDE_PATH_CARD_HEIGHT,\n },\n }))\n )\n })\n .on('mouseleave', () => {\n svg.selectAll('path').attr('stroke', 'var(--primary)')\n })\n\n link.append('g')\n .append('path')\n .attr('d', (data: PathNodeData) => {\n if (data.source.layer === 0) {\n return\n }\n const _height =\n data.source.y1 - data.source.y0 - data.source.sourceLinks.reduce((prev, curr) => prev + curr.width, 0)\n return roundedRect(0, 0, 30, _height, Math.min(25, _height), false, true, false, false)\n })\n .attr('fill', 'url(#dropoff-gradient)')\n .attr('stroke-width', 0)\n .attr('transform', (data: PathNodeData) => {\n return (\n 'translate(' +\n Math.round(data.source.x1) +\n ',' +\n Math.round(data.source.y0 + data.source.sourceLinks.reduce((prev, curr) => prev + curr.width, 0)) +\n ')'\n )\n })\n}\n\nconst addChartAxisLines = (svg: D3Selector, height: number, nodes: PathNodeData[], maxLayer: number): void => {\n if (maxLayer > 5) {\n const arr = [...Array(maxLayer)]\n const minWidthApart = nodes[1].x0 - nodes[0].x0\n arr.forEach((_, i) => {\n svg.append('line')\n .style('stroke', 'var(--border)')\n .attr('stroke-width', 2)\n .attr('x1', minWidthApart * (i + 1) - 20)\n .attr('y1', 0)\n .attr('x2', minWidthApart * (i + 1) - 20)\n .attr('y2', height)\n })\n }\n}\n\nexport function renderPaths(\n canvasRef: RefObject,\n canvasWidth: number,\n canvasHeight: number,\n paths: { links: PathNode[]; nodes: any[] },\n pathsFilter: PathsFilter,\n funnelPathsFilter: FunnelPathsFilter,\n setNodeCards: Dispatch>\n): void {\n if (!paths || paths.nodes.length === 0) {\n return\n }\n\n const maxLayer = paths.links.reduce((prev, curr) => {\n // @ts-expect-error - sometimes target is an object instead of string\n const currNum = curr.target.name || curr.target\n return Math.max(prev, Number(currNum.match(/[^_]*/)))\n }, 0)\n\n const minWidth = canvasWidth > FALLBACK_CANVAS_WIDTH || maxLayer < 3 ? canvasWidth : FALLBACK_CANVAS_WIDTH\n\n const width = maxLayer > 5 && canvasWidth ? (minWidth / 5) * maxLayer : minWidth\n const height = canvasHeight\n\n const svg = createCanvas(canvasRef, width, height)\n const sankey = createSankey(width, height)\n const { nodes, links } = sankey({\n nodes: paths.nodes.map((d) => ({ ...d })),\n links: paths.links.map((d) => ({ ...d })),\n })\n\n setNodeCards(nodes.map((node: PathNodeData) => ({ ...node, visible: node.y1 - node.y0 > HIDE_PATH_CARD_HEIGHT })))\n\n appendPathNodes(svg, nodes, pathsFilter, funnelPathsFilter, setNodeCards)\n appendDropoffs(svg)\n appendPathLinks(svg, links, nodes, setNodeCards)\n addChartAxisLines(svg, height, nodes, maxLayer)\n}\n","import { LemonDialog, lemonToast, Link } from '@posthog/lemon-ui'\nimport { actions, afterMount, connect, kea, listeners, path, reducers, selectors } from 'kea'\nimport { FieldNamePath, forms } from 'kea-forms'\nimport { loaders } from 'kea-loaders'\nimport { router, urlToAction } from 'kea-router'\nimport api, { getJSONOrNull } from 'lib/api'\nimport { FEATURE_FLAGS } from 'lib/constants'\nimport { dayjs } from 'lib/dayjs'\nimport { LemonBannerAction } from 'lib/lemon-ui/LemonBanner/LemonBanner'\nimport { lemonBannerLogic } from 'lib/lemon-ui/LemonBanner/lemonBannerLogic'\nimport { LemonButtonPropsBase } from 'lib/lemon-ui/LemonButton'\nimport { featureFlagLogic } from 'lib/logic/featureFlagLogic'\nimport { pluralize } from 'lib/utils'\nimport { eventUsageLogic } from 'lib/utils/eventUsageLogic'\nimport posthog from 'posthog-js'\nimport { preflightLogic } from 'scenes/PreflightCheck/preflightLogic'\nimport { userLogic } from 'scenes/userLogic'\n\nimport { BillingPlanType, BillingProductV2Type, BillingType, ProductKey } from '~/types'\n\nimport type { billingLogicType } from './billingLogicType'\nimport { DEFAULT_ESTIMATED_MONTHLY_CREDIT_AMOUNT_USD } from './CreditCTAHero'\n\nexport const ALLOCATION_THRESHOLD_ALERT = 0.85 // Threshold to show warning of event usage near limit\nexport const ALLOCATION_THRESHOLD_BLOCK = 1.2 // Threshold to block usage\n\nexport interface BillingAlertConfig {\n status: 'info' | 'warning' | 'error'\n title: string\n message?: string\n contactSupport?: boolean\n buttonCTA?: string\n dismissKey?: string\n action?: LemonBannerAction\n pathName?: string\n onClose?: () => void\n}\n\nexport enum BillingAPIErrorCodes {\n OPEN_INVOICES_ERROR = 'open_invoices_error',\n NO_ACTIVE_PAYMENT_METHOD_ERROR = 'no_active_payment_method_error',\n COULD_NOT_PAY_INVOICES_ERROR = 'could_not_pay_invoices_error',\n}\n\nexport interface UnsubscribeError {\n detail: string | JSX.Element\n link: JSX.Element\n}\n\nexport interface BillingError {\n status: 'info' | 'warning' | 'error'\n message: string\n action: LemonButtonPropsBase\n}\n\nconst parseBillingResponse = (data: Partial): BillingType => {\n if (data.billing_period) {\n data.billing_period = {\n current_period_start: dayjs(data.billing_period.current_period_start),\n current_period_end: dayjs(data.billing_period.current_period_end),\n interval: data.billing_period.interval,\n }\n }\n\n data.free_trial_until = data.free_trial_until ? dayjs(data.free_trial_until) : undefined\n data.amount_off_expires_at = data.amount_off_expires_at ? dayjs(data.amount_off_expires_at) : undefined\n // If expiration is in the middle of the current period, we let it expire at the end of the period\n if (\n data.amount_off_expires_at &&\n data.billing_period &&\n data.amount_off_expires_at.isBefore(data.billing_period.current_period_end) &&\n data.amount_off_expires_at.isAfter(data.billing_period.current_period_start)\n ) {\n data.amount_off_expires_at = data.billing_period.current_period_end\n }\n\n return data as BillingType\n}\n\nexport const billingLogic = kea([\n path(['scenes', 'billing', 'billingLogic']),\n actions({\n setProductSpecificAlert: (productSpecificAlert: BillingAlertConfig | null) => ({ productSpecificAlert }),\n setScrollToProductKey: (scrollToProductKey: ProductKey | null) => ({ scrollToProductKey }),\n setShowLicenseDirectInput: (show: boolean) => ({ show }),\n reportBillingAlertShown: (alertConfig: BillingAlertConfig) => ({ alertConfig }),\n reportBillingAlertActionClicked: (alertConfig: BillingAlertConfig) => ({ alertConfig }),\n reportCreditsFormSubmitted: (creditInput: number) => ({ creditInput }),\n reportCreditsModalShown: true,\n reportBillingShown: true,\n registerInstrumentationProps: true,\n reportCreditsCTAShown: (creditOverview: any) => ({ creditOverview }),\n setRedirectPath: true,\n setIsOnboarding: true,\n determineBillingAlert: true,\n setUnsubscribeError: (error: null | UnsubscribeError) => ({ error }),\n resetUnsubscribeError: true,\n setBillingAlert: (billingAlert: BillingAlertConfig | null) => ({ billingAlert }),\n showPurchaseCreditsModal: (isOpen: boolean) => ({ isOpen }),\n toggleCreditCTAHeroDismissed: (isDismissed: boolean) => ({ isDismissed }),\n setComputedDiscount: (discount: number) => ({ discount }),\n }),\n connect(() => ({\n values: [featureFlagLogic, ['featureFlags'], preflightLogic, ['preflight']],\n actions: [\n userLogic,\n ['loadUser'],\n eventUsageLogic,\n ['reportProductUnsubscribed'],\n lemonBannerLogic({ dismissKey: 'usage-limit-exceeded' }),\n ['resetDismissKey as resetUsageLimitExceededKey'],\n lemonBannerLogic({ dismissKey: 'usage-limit-approaching' }),\n ['resetDismissKey as resetUsageLimitApproachingKey'],\n ],\n })),\n reducers({\n billingAlert: [\n null as BillingAlertConfig | null,\n {\n setBillingAlert: (_, { billingAlert }) => billingAlert,\n },\n ],\n scrollToProductKey: [\n null as ProductKey | null,\n {\n setScrollToProductKey: (_, { scrollToProductKey }) => scrollToProductKey,\n },\n ],\n productSpecificAlert: [\n null as BillingAlertConfig | null,\n {\n setProductSpecificAlert: (_, { productSpecificAlert }) => productSpecificAlert,\n },\n ],\n showLicenseDirectInput: [\n false,\n {\n setShowLicenseDirectInput: (_, { show }) => show,\n },\n ],\n redirectPath: [\n '' as string,\n {\n setRedirectPath: () => {\n return window.location.pathname.includes('/onboarding')\n ? window.location.pathname + window.location.search\n : ''\n },\n },\n ],\n isOnboarding: [\n false,\n {\n setIsOnboarding: () => window.location.pathname.includes('/onboarding'),\n },\n ],\n unsubscribeError: [\n null as null | UnsubscribeError,\n {\n resetUnsubscribeError: () => null,\n setUnsubscribeError: (_, { error }) => error,\n },\n ],\n timeRemainingInSeconds: [\n 0,\n {\n loadBillingSuccess: (_, { billing }) => {\n if (!billing?.billing_period) {\n return 0\n }\n const currentTime = dayjs()\n const periodEnd = dayjs(billing.billing_period.current_period_end)\n return periodEnd.diff(currentTime, 'second')\n },\n },\n ],\n timeTotalInSeconds: [\n 0,\n {\n loadBillingSuccess: (_, { billing }) => {\n if (!billing?.billing_period) {\n return 0\n }\n const periodStart = dayjs(billing.billing_period.current_period_start)\n const periodEnd = dayjs(billing.billing_period.current_period_end)\n return periodEnd.diff(periodStart, 'second')\n },\n },\n ],\n isPurchaseCreditsModalOpen: [\n false,\n {\n showPurchaseCreditsModal: (_, { isOpen }) => isOpen,\n },\n ],\n isCreditCTAHeroDismissed: [\n false,\n { persist: true },\n {\n toggleCreditCTAHeroDismissed: (_, { isDismissed }) => isDismissed,\n },\n ],\n computedDiscount: [\n 0,\n {\n setComputedDiscount: (_, { discount }) => discount,\n },\n ],\n }),\n loaders(({ actions, values }) => ({\n billing: [\n null as BillingType | null,\n {\n loadBilling: async () => {\n // Note: this is a temporary flag to skip forecasting in the billing page\n // for customers running into performance issues until we have a more permanent fix\n // of splitting the billing and forecasting data.\n const skipForecasting = values.featureFlags[FEATURE_FLAGS.BILLING_SKIP_FORECASTING]\n const response = await api.get(\n 'api/billing' + (skipForecasting ? '?include_forecasting=false' : '')\n )\n\n return parseBillingResponse(response)\n },\n\n updateBillingLimits: async (limits: { [key: string]: number | null }) => {\n try {\n const response = await api.update('api/billing', { custom_limits_usd: limits })\n lemonToast.success('Billing limits updated')\n return parseBillingResponse(response)\n } catch (error: any) {\n lemonToast.error(\n 'There was an error updating your billing limits. Please try again or contact support.'\n )\n throw error\n }\n },\n\n deactivateProduct: async (key: string) => {\n // clear upgrade params from URL\n // Note(@zach): This is not working properly. We need to look into this.\n const currentURL = new URL(window.location.href)\n currentURL.searchParams.delete('upgraded')\n currentURL.searchParams.delete('products')\n router.actions.push(currentURL.pathname + currentURL.search)\n\n actions.resetUnsubscribeError()\n try {\n const response = await api.getResponse('api/billing/deactivate?products=' + key)\n const jsonRes = await getJSONOrNull(response)\n\n lemonToast.success(\n \"You have been unsubscribed. We're sad to see you go. May the hedgehogs be ever in your favor.\"\n )\n actions.reportProductUnsubscribed(key)\n\n return parseBillingResponse(jsonRes)\n } catch (error: any) {\n if (error.code) {\n if (error.code === BillingAPIErrorCodes.OPEN_INVOICES_ERROR) {\n actions.setUnsubscribeError({\n detail: error.detail,\n link: (\n \n View invoices\n \n ),\n } as UnsubscribeError)\n } else if (error.code === BillingAPIErrorCodes.NO_ACTIVE_PAYMENT_METHOD_ERROR) {\n actions.setUnsubscribeError({\n detail: error.detail,\n } as UnsubscribeError)\n } else if (error.code === BillingAPIErrorCodes.COULD_NOT_PAY_INVOICES_ERROR) {\n actions.setUnsubscribeError({\n detail: error.detail,\n link: (\n \n {error.link ? 'View invoice' : 'View invoices'}\n \n ),\n } as UnsubscribeError)\n }\n } else {\n actions.setUnsubscribeError({\n detail:\n typeof error.detail === 'string'\n ? error.detail\n : `We encountered a problem. Please try again or submit a support ticket.`,\n } as UnsubscribeError)\n }\n console.error(error)\n // This is a bit of a hack to prevent the page from re-rendering.\n return values.billing\n }\n },\n },\n ],\n billingError: [\n null as BillingError | null,\n {\n getInvoices: async () => {\n // First check to see if there are open invoices\n try {\n const res = await api.getResponse('api/billing/get_invoices?status=open')\n const jsonRes = await getJSONOrNull(res)\n const numOpenInvoices = jsonRes['count']\n if (numOpenInvoices > 0) {\n const viewInvoicesButton = {\n to:\n numOpenInvoices == 1 && jsonRes['link']\n ? jsonRes['link']\n : values.billing?.stripe_portal_url,\n children: `View invoice${numOpenInvoices > 1 ? 's' : ''}`,\n targetBlank: true,\n }\n return {\n status: 'warning',\n message: `You have ${numOpenInvoices} open invoice${\n numOpenInvoices > 1 ? 's' : ''\n }. Please pay ${\n numOpenInvoices > 1 ? 'them' : 'it'\n } before adding items to your subscription.`,\n action: viewInvoicesButton,\n }\n }\n } catch (error: any) {\n console.error(error)\n }\n return null\n },\n },\n ],\n creditOverview: [\n {\n eligible: false,\n estimated_monthly_credit_amount_usd: DEFAULT_ESTIMATED_MONTHLY_CREDIT_AMOUNT_USD,\n status: 'none',\n invoice_url: null,\n collection_method: null,\n cc_last_four: null,\n email: null,\n },\n {\n loadCreditOverview: async () => {\n // Check if the user is subscribed\n if (values.billing?.has_active_subscription) {\n const response = await api.get('api/billing/credits/overview')\n if (!values.creditForm.creditInput) {\n actions.setCreditFormValue(\n 'creditInput',\n Math.round(\n (response.estimated_monthly_credit_amount_usd ||\n DEFAULT_ESTIMATED_MONTHLY_CREDIT_AMOUNT_USD) * 12\n )\n )\n }\n\n if (response.eligible && response.status === 'none') {\n actions.reportCreditsCTAShown(response)\n }\n return response\n }\n // Return default values if not subscribed\n return {\n eligible: false,\n estimated_monthly_credit_amount_usd: DEFAULT_ESTIMATED_MONTHLY_CREDIT_AMOUNT_USD,\n status: 'none',\n invoice_url: null,\n collection_method: null,\n cc_last_four: null,\n email: null,\n }\n },\n },\n ],\n products: [\n [] as BillingProductV2Type[],\n {\n loadProducts: async () => {\n const response = await api.get('api/billing/available_products')\n return response\n },\n },\n ],\n })),\n selectors({\n upgradeLink: [(s) => [s.preflight], (): string => '/organization/billing'],\n isUnlicensedDebug: [\n (s) => [s.preflight, s.billing],\n (preflight, billing): boolean => !!preflight?.is_debug && !billing?.billing_period,\n ],\n projectedTotalAmountUsdWithBillingLimits: [\n (s) => [s.billing],\n (billing: BillingType): number => {\n if (!billing) {\n return 0\n }\n let projectedTotal = 0\n for (const product of billing.products || []) {\n const billingLimit =\n billing?.custom_limits_usd?.[product.type] ||\n (product.usage_key ? billing?.custom_limits_usd?.[product.usage_key] || 0 : 0)\n projectedTotal += Math.min(parseFloat(product.projected_amount_usd || '0'), billingLimit)\n }\n return projectedTotal\n },\n ],\n supportPlans: [\n (s) => [s.billing],\n (billing: BillingType): BillingPlanType[] => {\n const platformAndSupportProduct = billing?.products?.find(\n (product) => product.type == ProductKey.PLATFORM_AND_SUPPORT\n )\n if (!platformAndSupportProduct?.plans) {\n return []\n }\n\n const addonPlans = platformAndSupportProduct?.addons?.map((addon) => addon.plans).flat()\n const insertionIndex = Math.max(0, (platformAndSupportProduct?.plans?.length ?? 1) - 1)\n const allPlans = platformAndSupportProduct?.plans?.slice(0) || []\n allPlans.splice(insertionIndex, 0, ...addonPlans)\n return allPlans\n },\n ],\n hasSupportAddonPlan: [\n (s) => [s.billing],\n (billing: BillingType): boolean => {\n return !!billing?.products\n ?.find((product) => product.type == ProductKey.PLATFORM_AND_SUPPORT)\n ?.addons.find((addon) => addon.plans.find((plan) => plan.current_plan))\n },\n ],\n creditDiscount: [(s) => [s.computedDiscount], (computedDiscount) => computedDiscount || 0],\n }),\n forms(({ actions, values }) => ({\n activateLicense: {\n defaults: { license: '' } as { license: string },\n errors: ({ license }) => ({\n license: !license ? 'Please enter your license key' : undefined,\n }),\n submit: async ({ license }, breakpoint) => {\n await breakpoint(500)\n try {\n await api.update('api/billing/license', {\n license,\n })\n\n // Reset the URL so we don't trigger the license submission again\n router.actions.replace(\n `/${values.isOnboarding ? 'ingestion' : 'organization'}/billing?success=true`\n )\n setTimeout(() => {\n window.location.reload() // Permissions, projects etc will be out of date at this point, so refresh\n }, 100)\n } catch (e: any) {\n actions.setActivateLicenseManualErrors({\n license: e.detail || 'License could not be activated. Please contact support.',\n })\n throw e\n }\n },\n },\n creditForm: {\n defaults: {\n creditInput: '',\n collectionMethod: 'charge_automatically',\n },\n submit: async ({ creditInput, collectionMethod }) => {\n await api.create('api/billing/credits/purchase', {\n annual_amount_usd: +Math.round(+creditInput - +creditInput * values.creditDiscount),\n discount_percent: values.computedDiscount * 100,\n collection_method: collectionMethod,\n })\n\n actions.showPurchaseCreditsModal(false)\n actions.loadCreditOverview()\n actions.reportCreditsFormSubmitted(+creditInput)\n\n LemonDialog.open({\n title: 'Your credit purchase has been submitted',\n width: 536,\n content:\n collectionMethod === 'send_invoice' ? (\n <>\n

\n The invoice for your credits has been created and it will be emailed to the email on\n file.\n

\n

\n Once the invoice is paid we will apply the credits to your account. Until the\n invoice is paid you will be charged for usage as normal.\n

\n \n ) : (\n <>\n

\n Your card will be charged soon and the credits will be applied to your account.\n Please make sure your{' '}\n \n card on file\n {' '}\n is up to date. You will receive an email when the credits are applied.\n

\n \n ),\n })\n },\n errors: ({ creditInput, collectionMethod }) => ({\n creditInput: !creditInput\n ? 'Please enter the amount of credits you want to purchase'\n : // This value is used because 3333 - 10% = 3000\n +creditInput < 3333\n ? 'Please enter a credit amount of at least $3,333'\n : undefined,\n collectionMethod: !collectionMethod ? 'Please select a collection method' : undefined,\n }),\n },\n })),\n listeners(({ actions, values }) => ({\n reportBillingShown: () => {\n posthog.capture('billing v2 shown')\n },\n reportBillingAlertShown: ({ alertConfig }) => {\n posthog.capture('billing alert shown', {\n ...alertConfig,\n })\n },\n reportBillingAlertActionClicked: ({ alertConfig }) => {\n posthog.capture('billing alert action clicked', {\n ...alertConfig,\n })\n },\n reportCreditsModalShown: () => {\n posthog.capture('credits modal shown')\n },\n reportCreditsFormSubmitted: ({ creditInput }) => {\n posthog.capture('credits modal credit form submitted', {\n credit_amount_usd: creditInput,\n })\n },\n reportCreditsCTAShown: ({ creditOverview }) => {\n posthog.capture('credits cta shown', {\n eligible: creditOverview.eligible,\n status: creditOverview.status,\n estimated_monthly_credit_amount_usd:\n creditOverview.estimated_monthly_credit_amount_usd || DEFAULT_ESTIMATED_MONTHLY_CREDIT_AMOUNT_USD,\n })\n },\n toggleCreditCTAHeroDismissed: ({ isDismissed }) => {\n if (isDismissed) {\n posthog.capture('credits cta hero dismissed')\n }\n },\n loadBillingSuccess: () => {\n if (\n router.values.location.pathname.includes('/organization/billing') &&\n router.values.searchParams['success']\n ) {\n // if the activation is successful, we reload the user to get the updated billing info on the organization\n actions.loadUser()\n router.actions.replace('/organization/billing')\n }\n actions.registerInstrumentationProps()\n\n actions.determineBillingAlert()\n\n actions.loadCreditOverview()\n },\n determineBillingAlert: () => {\n if (values.productSpecificAlert) {\n actions.setBillingAlert(values.productSpecificAlert)\n return\n }\n\n if (!values.billing || !values.preflight?.cloud) {\n return\n }\n\n if (values.billing.free_trial_until && values.billing.free_trial_until.isAfter(dayjs())) {\n const remainingDays = values.billing.free_trial_until.diff(dayjs(), 'days')\n const remainingHours = values.billing.free_trial_until.diff(dayjs(), 'hours')\n\n if (remainingHours > 72) {\n return\n }\n\n actions.setBillingAlert({\n status: 'info',\n title: `Your free trial will end in ${\n remainingHours < 24 ? pluralize(remainingHours, 'hour') : pluralize(remainingDays, 'day')\n }.`,\n message: `Setup billing now to ensure you don't lose access to premium features.`,\n })\n return\n }\n\n if (values.billing.deactivated) {\n actions.setBillingAlert({\n status: 'error',\n title: 'Your organization has been temporarily suspended.',\n message: 'Please contact support to reactivate it.',\n contactSupport: true,\n })\n return\n }\n\n const productOverLimit = values.billing.products?.find((x: BillingProductV2Type) => {\n return x.percentage_usage > 1 && x.usage_key\n })\n\n if (productOverLimit) {\n actions.setBillingAlert({\n status: 'error',\n title: 'Usage limit exceeded',\n message: `You have exceeded the usage limit for ${productOverLimit.name}. Please \n ${productOverLimit.subscribed ? 'increase your billing limit' : 'upgrade your plan'}\n or ${\n productOverLimit.name === 'Data warehouse'\n ? 'data will not be synced'\n : 'data loss may occur'\n }.`,\n dismissKey: 'usage-limit-exceeded',\n })\n return\n }\n\n actions.resetUsageLimitExceededKey()\n\n const productApproachingLimit = values.billing.products?.find(\n (x) => x.percentage_usage > ALLOCATION_THRESHOLD_ALERT\n )\n\n if (productApproachingLimit) {\n actions.setBillingAlert({\n status: 'info',\n title: 'You will soon hit your usage limit',\n message: `You have currently used ${parseFloat(\n (productApproachingLimit.percentage_usage * 100).toFixed(2)\n )}% of your ${\n productApproachingLimit.usage_key && productApproachingLimit.usage_key.toLowerCase()\n } allocation.`,\n dismissKey: 'usage-limit-approaching',\n })\n return\n }\n\n actions.resetUsageLimitApproachingKey()\n },\n setCreditFormValue: ({ name, value }) => {\n if (name === 'creditInput' || (name as FieldNamePath)?.[0] === 'creditInput') {\n const spend = +value\n let discount = 0\n if (spend >= 100000) {\n discount = 0.35\n } else if (spend >= 60000) {\n discount = 0.25\n } else if (spend >= 20000) {\n discount = 0.2\n } else if (spend >= 3000) {\n discount = 0.1\n }\n actions.setComputedDiscount(discount)\n }\n },\n registerInstrumentationProps: async (_, breakpoint) => {\n await breakpoint(100)\n if (posthog && values.billing) {\n const payload = {\n has_billing_plan: !!values.billing.has_active_subscription,\n free_trial_until: values.billing.free_trial_until?.toISOString(),\n customer_deactivated: values.billing.deactivated,\n current_total_amount_usd: values.billing.current_total_amount_usd,\n }\n if (values.billing.custom_limits_usd) {\n for (const product of Object.keys(values.billing.custom_limits_usd)) {\n payload[`custom_limits_usd.${product}`] = values.billing.custom_limits_usd[product]\n }\n }\n if (values.billing.products) {\n for (const product of values.billing.products) {\n const type = product.type.toLowerCase()\n payload[`percentage_usage.${type}`] = product.percentage_usage\n payload[`current_amount_usd.${type}`] = product.current_amount_usd\n payload[`unit_amount_usd.${type}`] = product.unit_amount_usd\n payload[`usage_limit.${type}`] = product.usage_limit\n payload[`current_usage.${type}`] = product.current_usage\n payload[`projected_usage.${type}`] = product.projected_usage\n payload[`free_allocation.${type}`] = product.free_allocation\n }\n }\n if (values.billing.billing_period) {\n payload['billing_period_start'] = values.billing.billing_period.current_period_start\n payload['billing_period_end'] = values.billing.billing_period.current_period_end\n }\n posthog.register(payload)\n }\n },\n showPurchaseCreditsModal: ({ isOpen }) => {\n if (isOpen) {\n actions.reportCreditsModalShown()\n }\n },\n })),\n afterMount(({ actions }) => {\n actions.loadBilling()\n actions.getInvoices()\n }),\n urlToAction(({ actions }) => ({\n // IMPORTANT: This needs to be above the \"*\" so it takes precedence\n '/*/billing': (_params, _search, hash) => {\n if (hash.license) {\n actions.setShowLicenseDirectInput(true)\n actions.setActivateLicenseValues({ license: hash.license })\n actions.submitActivateLicense()\n }\n if (_search.products) {\n const products = _search.products.split(',')\n actions.setScrollToProductKey(products[0])\n }\n if (_search.billing_error) {\n actions.setBillingAlert({\n status: 'error',\n title: 'Error',\n message: _search.billing_error,\n })\n }\n actions.setRedirectPath()\n actions.setIsOnboarding()\n },\n '*': () => {\n actions.setRedirectPath()\n actions.setIsOnboarding()\n },\n })),\n])\n","import { LemonCollapse, LemonModal, Link } from '@posthog/lemon-ui'\nimport { useValues } from 'kea'\nimport { CodeSnippet, Language } from 'lib/components/CodeSnippet'\nimport EarlyAccessFeatureImage from 'public/early-access-feature-demo.png'\nimport { preflightLogic } from 'scenes/PreflightCheck/preflightLogic'\nimport { urls } from 'scenes/urls'\n\nimport { FeatureFlagType, PipelineStage, Region } from '~/types'\n\ninterface InstructionsModalProps {\n flag: FeatureFlagType['key']\n visible: boolean\n onClose: () => void\n}\n\nexport function InstructionsModal({ onClose, visible, flag }: InstructionsModalProps): JSX.Element {\n const { preflight } = useValues(preflightLogic)\n\n const getCloudPanels = (): JSX.Element => (\n \n Give your users a{' '}\n \n prebuilt widget\n {' '}\n to opt-in to features\n \n \n ),\n },\n {\n key: '2',\n header: 'Option 2: Custom implementation',\n content: (\n
\n Opt user in\n
\n \n
\n\n Opt user out\n
\n \n
\n\n Retrieve Previews\n
\n \n
\n
\n ),\n },\n ]}\n />\n )\n\n const getSelfHostedPanels = (): JSX.Element => (\n
\n Opt user in\n
\n \n
\n\n Opt user out\n
\n \n
\n\n Retrieve Previews\n
\n \n
\n
\n )\n\n const panels: JSX.Element = preflight?.cloud ? getCloudPanels() : getSelfHostedPanels()\n\n return (\n \n
\n
\n Implement manual release condition toggles to give your users the ability choose which features they\n want to try\n
\n {panels}\n
\n
\n )\n}\n\nfunction FeatureEnrollInstructions({ flag }: { flag: string }): JSX.Element {\n return (\n \n {`posthog.updateEarlyAccessFeatureEnrollment(\"${flag}\", true)\n`}\n \n )\n}\n\nfunction FeatureUnenrollInstructions({ flag }: { flag: string }): JSX.Element {\n return (\n \n {`posthog.updateEarlyAccessFeatureEnrollment(\"${flag}\", false)\n`}\n \n )\n}\n\nfunction RetrievePreviewsInstructions(): JSX.Element {\n return (\n \n {`posthog.getEarlyAccessFeatures((previewItemData) => {\n // do something with early access feature\n})\n`}\n \n )\n}\n","import { useValues } from 'kea'\nimport { CodeSnippet, Language } from 'lib/components/CodeSnippet'\nimport { apiHostOrigin } from 'lib/utils/apiHost'\nimport { teamLogic } from 'scenes/teamLogic'\n\nimport { GroupType } from '~/types'\n\nexport const UTM_TAGS = '?utm_medium=in-product&utm_campaign=feature-flag'\n\nexport interface FeatureFlagSnippet {\n flagKey: string\n multivariant?: boolean\n groupType?: GroupType\n localEvaluation?: boolean\n payload?: boolean\n samplePropertyName?: string\n instantlyAvailableProperties?: boolean\n}\n\nconst LOCAL_EVAL_REMINDER = `Remember to set a personal API key in the SDK to enable local evaluation.\n`\n\nexport function NodeJSSnippet({\n flagKey,\n groupType,\n multivariant,\n localEvaluation,\n payload,\n samplePropertyName,\n}: FeatureFlagSnippet): JSX.Element {\n const clientSuffix = 'await client.'\n const flagFunction = payload ? 'getFeatureFlagPayload' : multivariant ? 'getFeatureFlag' : 'isFeatureEnabled'\n\n const propertyName = samplePropertyName || 'is_authorized'\n\n const localEvalAddition = localEvaluation\n ? groupType\n ? `\n // add group properties used in the flag to ensure the flag\n // is evaluated locally, vs. going to our servers\n groupProperties: { ${groupType.group_type}: {'${propertyName}': 'value', 'name': 'xyz'}}`\n : `\n // add person properties used in the flag to ensure the flag\n // is evaluated locally, vs. going to our servers\n personProperties: {'${propertyName}': 'value'}`\n : ''\n\n const flagSnippet = groupType\n ? `${clientSuffix}${flagFunction}(\n '${flagKey}',\n 'user distinct id',${\n payload\n ? `\n undefined,`\n : ''\n }\n {\n groups: { '${groupType.group_type}': '<${groupType.name_singular || 'group'} ID>' },${localEvalAddition}\n }\n)`\n : localEvalAddition\n ? `${clientSuffix}${flagFunction}(\n '${flagKey}',\n 'user distinct id',${\n payload\n ? `\n undefined,`\n : ''\n }\n {${localEvalAddition}\n }\n)`\n : `${clientSuffix}${flagFunction}('${flagKey}', 'user distinct id')`\n\n const variableName = payload ? 'matchedFlagPayload' : multivariant ? 'enabledVariant' : 'isMyFlagEnabledForUser'\n\n const conditional = multivariant ? `${variableName} === 'example-variant'` : `${variableName}`\n\n const followUpCode = payload\n ? ''\n : `\n\nif (${conditional}) {\n // Do something differently for this ${groupType ? groupType.name_singular || 'group' : 'user'}\n}`\n\n return (\n <>\n \n {`${\n localEvaluation ? '// ' + LOCAL_EVAL_REMINDER : ''\n }const ${variableName} = ${flagSnippet}${followUpCode}`}\n \n \n )\n}\n\nexport function PHPSnippet({\n flagKey,\n groupType,\n multivariant,\n localEvaluation,\n samplePropertyName,\n}: FeatureFlagSnippet): JSX.Element {\n const clientSuffix = 'PostHog::'\n\n const flagFunction = multivariant ? 'getFeatureFlag' : 'isFeatureEnabled'\n\n const propertyName = samplePropertyName || 'is_authorized'\n\n const localEvalAddition = localEvaluation\n ? groupType\n ? `\n // empty person properties\n [],\n // add group properties used in the flag to ensure the flag\n // is evaluated locally, vs. going to our servers\n [${groupType.group_type} => ['${propertyName}' => 'value', 'name' => 'xyz']]`\n : `\n // add person properties used in the flag to ensure the flag\n // is evaluated locally, vs. going to our servers\n ['${propertyName}' => 'value']`\n : ''\n\n const flagSnippet = groupType\n ? `${clientSuffix}${flagFunction}(\n '${flagKey}',\n 'user distinct id',\n // group types\n ['${groupType.group_type}' => '<${groupType.name_singular || 'group'} ID>'],${localEvalAddition}\n)`\n : localEvalAddition\n ? `${clientSuffix}${flagFunction}(\n '${flagKey}',\n 'user distinct id',${localEvalAddition}\n)`\n : `${clientSuffix}${flagFunction}('${flagKey}', 'user distinct id')`\n const variableName = multivariant ? '$enabledVariant' : '$isMyFlagEnabledForUser'\n\n const conditional = multivariant ? `${variableName} === 'example-variant'` : `${variableName}`\n\n return (\n <>\n \n {`${localEvaluation ? '// ' + LOCAL_EVAL_REMINDER : ''}${variableName} = ${flagSnippet}\n\nif (${conditional}) {\n // Do something differently for this ${groupType ? groupType.name_singular || 'group' : 'user'}\n}`}\n \n \n )\n}\n\nexport function GolangSnippet({\n flagKey,\n groupType,\n multivariant,\n localEvaluation,\n samplePropertyName,\n}: FeatureFlagSnippet): JSX.Element {\n const clientSuffix = 'client.'\n\n const flagFunction = multivariant ? 'GetFeatureFlag' : 'IsFeatureEnabled'\n\n const propertyName = samplePropertyName || 'is_authorized'\n\n const localEvalAddition = localEvaluation\n ? groupType\n ? `\n // add group properties used in the flag to ensure the flag\n // is evaluated locally, vs. going to our servers\n groupProperties: map[string]Properties{\"${groupType.group_type}\": posthog.NewProperties().Set(\"${propertyName}\", \"value\").Set(\"name\", \"xyz\")}`\n : `\n // add person properties used in the flag to ensure the flag\n // is evaluated locally, vs. going to our servers\n PersonProperties: posthog.NewProperties().Set(\"${propertyName}\", \"value\")`\n : ''\n\n const flagSnippet = groupType\n ? `${clientSuffix}${flagFunction}(\n FeatureFlagPayload{\n Key: \"${flagKey}\",\n DistinctId: \"distinct-id\",\n Groups: Groups{'${groupType.group_type}': '<${groupType.name_singular || 'group'} ID>'},${localEvalAddition}\n }\n)`\n : `${clientSuffix}${flagFunction}(\n FeatureFlagPayload{\n Key: '${flagKey}',\n DistinctId: \"distinct-id\",${localEvalAddition}\n })`\n const variableName = multivariant ? 'enabledVariant, err' : 'isMyFlagEnabledForUser, err'\n\n const conditional = multivariant ? `enabledVariant == 'example-variant'` : `isMyFlagEnabledForUser`\n\n return (\n <>\n \n {`${localEvaluation ? '// ' + LOCAL_EVAL_REMINDER : ''}${variableName} := ${flagSnippet}\n\nif ${conditional} {\n // Do something differently for this ${groupType ? groupType.name_singular || 'group' : 'user'}\n}`}\n \n \n )\n}\n\nexport function RubySnippet({\n flagKey,\n groupType,\n multivariant,\n localEvaluation,\n payload,\n samplePropertyName,\n}: FeatureFlagSnippet): JSX.Element {\n const clientSuffix = 'posthog.'\n const flagFunction = payload ? 'get_feature_flag_payload' : multivariant ? 'get_feature_flag' : 'is_feature_enabled'\n\n const propertyName = samplePropertyName || 'is_authorized'\n\n const localEvalAddition = localEvaluation\n ? groupType\n ? `\n # add group properties used in the flag to ensure the flag\n # is evaluated locally, vs. going to our servers\n group_properties: { ${groupType.group_type}: {'${propertyName}': 'value', 'name': 'xyz'}}`\n : `\n # add person properties used in the flag to ensure the flag\n # is evaluated locally, vs. going to our servers\n person_properties: {'${propertyName}': 'value'}`\n : ''\n\n const flagSnippet = groupType\n ? `${clientSuffix}${flagFunction}(\n '${flagKey}',\n 'user distinct id',\n groups: { '${groupType.group_type}': '<${groupType.name_singular || 'group'} ID>' },${localEvalAddition}\n)`\n : localEvalAddition\n ? `${clientSuffix}${flagFunction}(\n '${flagKey}',\n 'user distinct id',${localEvalAddition}\n)`\n : `${clientSuffix}${flagFunction}('${flagKey}', 'user distinct id')`\n const variableName = payload ? 'matched_flag_payload' : multivariant ? 'enabled_variant' : 'is_my_flag_enabled'\n\n const conditional = multivariant ? `${variableName} == 'example-variant'` : `${variableName}`\n\n const followUpCode = payload\n ? ''\n : `\n\nif ${conditional}\n # Do something differently for this ${groupType ? groupType.name_singular || 'group' : 'user'}\nend`\n\n return (\n <>\n \n {`${localEvaluation ? '# ' + LOCAL_EVAL_REMINDER : ''}${variableName} = ${flagSnippet}${followUpCode}`}\n \n \n )\n}\n\nexport function PythonSnippet({\n flagKey,\n groupType,\n multivariant,\n localEvaluation,\n payload,\n samplePropertyName,\n}: FeatureFlagSnippet): JSX.Element {\n const clientSuffix = 'posthog.'\n const flagFunction = payload ? 'get_feature_flag_payload' : multivariant ? 'get_feature_flag' : 'feature_enabled'\n\n const propertyName = samplePropertyName || 'is_authorized'\n\n const localEvalAddition = localEvaluation\n ? groupType\n ? `\n # add group properties used in the flag to ensure the flag\n # is evaluated locally, vs. going to our servers\n group_properties={ ${groupType.group_type}: {'${propertyName}': 'value', 'name': 'xyz'}}`\n : `\n # add person properties used in the flag to ensure the flag\n # is evaluated locally, vs. going to our servers\n person_properties={'${propertyName}': 'value'}`\n : ''\n\n const flagSnippet = groupType\n ? `${clientSuffix}${flagFunction}(\n '${flagKey}',\n 'user distinct id',\n groups={ '${groupType.group_type}': '<${groupType.name_singular || 'group'} ID>' },${localEvalAddition}\n)`\n : localEvalAddition\n ? `${clientSuffix}${flagFunction}(\n '${flagKey}',\n 'user distinct id',${localEvalAddition}\n)`\n : `${clientSuffix}${flagFunction}('${flagKey}', 'user distinct id')`\n const variableName = payload ? 'matched_flag_payload' : multivariant ? 'enabled_variant' : 'is_my_flag_enabled'\n\n const conditional = multivariant ? `${variableName} == 'example-variant'` : `${variableName}`\n\n const followUpCode = payload\n ? ''\n : `\n\nif ${conditional}:\n # Do something differently for this ${groupType ? groupType.name_singular || 'group' : 'user'}\n`\n\n return (\n <>\n \n {`${localEvaluation ? '# ' + LOCAL_EVAL_REMINDER : ''}${variableName} = ${flagSnippet}${followUpCode}`}\n \n \n )\n}\n\nexport function AndroidSnippet({ flagKey, multivariant, payload }: FeatureFlagSnippet): JSX.Element {\n const clientSuffix = 'PostHog.'\n\n if (payload) {\n return (\n \n {`${clientSuffix}getFeatureFlagPayload(\"${flagKey}\")`}\n \n )\n }\n\n const flagFunction = multivariant ? 'getFeatureFlag' : 'isFeatureEnabled'\n\n const variantSuffix = multivariant ? ` == \"example-variant\"` : ''\n return (\n \n {`if (${clientSuffix}${flagFunction}(\"${flagKey}\")${variantSuffix}) {\n // do something\n}\n `}\n \n )\n}\n\nexport function FlutterSnippet({ flagKey, multivariant, payload }: FeatureFlagSnippet): JSX.Element {\n const clientSuffix = 'await Posthog().'\n\n if (payload) {\n return (\n \n {`${clientSuffix}getFeatureFlagPayload('${flagKey}');`}\n \n )\n }\n\n const flagFunction = multivariant ? 'getFeatureFlag' : 'isFeatureEnabled'\n\n const variantSuffix = multivariant ? ` == 'example-variant'` : ''\n\n return (\n \n {`if (${clientSuffix}${flagFunction}('${flagKey}')${variantSuffix}) {\n // do something\n}\n `}\n \n )\n}\n\nexport function iOSSnippet({ flagKey, multivariant, payload }: FeatureFlagSnippet): JSX.Element {\n const clientSuffix = 'PostHogSDK.shared.'\n\n if (payload) {\n return (\n \n {`${clientSuffix}getFeatureFlagPayload(\"${flagKey}\")`}\n \n )\n }\n\n const flagFunction = multivariant ? 'getFeatureFlag' : 'isFeatureEnabled'\n\n const variantSuffix = multivariant ? `as? String == \"example-variant\"` : ''\n return (\n \n {`if ${clientSuffix}${flagFunction}(\"${flagKey}\")${variantSuffix} {\n // do something\n}`}\n \n )\n}\n\nexport function ReactNativeSnippet({ flagKey, multivariant, payload }: FeatureFlagSnippet): JSX.Element {\n const clientSuffix = 'posthog.'\n\n if (payload) {\n return (\n \n {`${clientSuffix}getFeatureFlagPayload('${flagKey}')`}\n \n )\n }\n\n const flagFunction = multivariant ? 'getFeatureFlag' : 'isFeatureEnabled'\n\n const variantSuffix = multivariant ? ` == 'example-variant'` : ''\n return (\n \n {`// With a hook\nimport { useFeatureFlag } from 'posthog-react-native'\n\nconst MyComponent = () => {\n const showFlaggedFeature = useFeatureFlag('${flagKey}')\n\n if (showFlaggedFeature === undefined) {\n // the response is undefined if the flags are being loaded\n return null\n }\n\n return showFlaggedFeature ${variantSuffix} ? Testing feature 😄 : Not Testing feature 😢\n}\n\n// Or calling on the method directly\n${clientSuffix}${flagFunction}('${flagKey}')\n `}\n \n )\n}\n\nexport function ReactSnippet({ flagKey, multivariant, payload }: FeatureFlagSnippet): JSX.Element {\n const flagFunction = payload\n ? 'useFeatureFlagPayload'\n : multivariant\n ? 'useFeatureFlagVariantKey'\n : 'useFeatureFlagEnabled'\n\n const variable = payload ? 'payload' : multivariant ? 'variant' : 'flagEnabled'\n const variantSuffix = multivariant ? ` == 'example-variant'` : ''\n\n return (\n \n {`\nimport { ${flagFunction} } from 'posthog-js/react'\n\nfunction App() {\n const ${variable} = ${flagFunction}('${flagKey}')\n\n if (${variable}${variantSuffix}) {\n // do something\n }\n}`}\n \n )\n}\n\nexport function APISnippet({ groupType }: FeatureFlagSnippet): JSX.Element {\n const { currentTeam } = useValues(teamLogic)\n\n const groupAddition = groupType\n ? `\n \"groups\": { \"${groupType.group_type}\": \"<${groupType.name_singular || 'group'} ID>\" },`\n : ''\n\n return (\n <>\n \n {`curl ${apiHostOrigin()}/decide?v=3/ \\\\\n-X POST -H 'Content-Type: application/json' \\\\\n-d '{\n \"api_key\": \"${currentTeam ? currentTeam.api_token : '[project_api_key]'}\",\n \"distinct_id\": \"[user distinct id]\",${groupAddition}\n}'\n `}\n \n \n )\n}\n\nexport function JSSnippet({\n flagKey,\n multivariant,\n payload,\n groupType,\n instantlyAvailableProperties,\n samplePropertyName,\n}: FeatureFlagSnippet): JSX.Element {\n if (payload) {\n return (\n <>\n \n {`posthog.getFeatureFlagPayload('${flagKey ?? ''}')`}\n \n \n )\n }\n\n const propertyName = samplePropertyName || 'is_authorized'\n\n const propertyOverrideSnippet = `// Your flag depends on properties that are not instantly available. If you want\n// to make them available without waiting for server delays, send these properties for flag evaluation, like so:\n// Make sure to call this before evaluating flags. More info: https://posthog.com/docs/libraries/js#overriding-server-properties \nposthog.${\n groupType\n ? `setGroupPropertiesForFlags({ '${groupType.group_type}': {'${propertyName}': 'value'}})`\n : `setPersonPropertiesForFlags({'${propertyName}': 'value'})`\n }\n\n`\n\n const clientSuffix = 'posthog.'\n const flagFunction = multivariant ? 'getFeatureFlag' : 'isFeatureEnabled'\n\n const variantSuffix = multivariant ? ` == 'example-variant'` : ''\n return (\n <>\n \n {`${instantlyAvailableProperties ? '' : propertyOverrideSnippet}// Ensure flags are loaded before usage.\n// You'll only need to call this on the code for when the first time a user visits.\n${clientSuffix}onFeatureFlags(function() {\n // feature flags should be available at this point\n if (${clientSuffix}${flagFunction}('${flagKey ?? ''}') ${variantSuffix}) {\n // do something\n }\n})\n\n// Otherwise, you can just do:\nif (${clientSuffix}${flagFunction}('${flagKey ?? ''}') ${variantSuffix}) {\n // do something\n}`}\n \n \n )\n}\n\nexport function JSBootstrappingSnippet(): JSX.Element {\n return (\n \n {`// Initialise the posthog library with a distinct ID and feature flags for immediate loading\n// This avoids the delay between the library loading and feature flags becoming available to use.\n\nposthog.init('{project_api_key}', {\n api_host: '${apiHostOrigin()}'\n bootstrap:\n {\n distinctID: 'your-anonymous-id',\n featureFlags: {\n // input the flag values here from 'posthog.getAllFlags(distinct_id)' which you can find in the server-side libraries.\n // example:\n // 'flag-1': true,\n // 'variant-flag': 'control',\n // 'other-flag': false\n },\n }\n})\n `}\n \n )\n}\n","import { mergeAttributes, Node, NodeViewProps } from '@tiptap/core'\nimport { NodeViewWrapper, ReactNodeViewRenderer } from '@tiptap/react'\nimport { NotebookNodeType, NotebookTarget } from '~/types'\nimport { dayjs } from 'lib/dayjs'\nimport { JSONContent } from '../Notebook/utils'\nimport clsx from 'clsx'\nimport { urls } from 'scenes/urls'\nimport { LemonButton } from '@posthog/lemon-ui'\nimport { notebookLogic } from '../Notebook/notebookLogic'\nimport { useValues } from 'kea'\nimport { useMemo } from 'react'\nimport { openNotebook } from '~/models/notebooksModel'\n\nexport interface NotebookNodeReplayTimestampAttrs {\n playbackTime?: number\n sessionRecordingId: string\n sourceNodeId?: string\n}\n\nconst Component = (props: NodeViewProps): JSX.Element => {\n const { shortId, findNodeLogic, findNodeLogicById } = useValues(notebookLogic)\n const { sessionRecordingId, playbackTime = 0, sourceNodeId } = props.node.attrs as NotebookNodeReplayTimestampAttrs\n\n const relatedNodeInNotebook = useMemo(() => {\n const logicById = sourceNodeId ? findNodeLogicById(sourceNodeId) : null\n\n return logicById ?? findNodeLogic(NotebookNodeType.Recording, { id: sessionRecordingId })\n }, [findNodeLogic])\n\n const handlePlayInNotebook = (): void => {\n // TODO: Figure out how to send this action info to the playlist OR the replay node...\n\n relatedNodeInNotebook?.values.sendMessage('play-replay', {\n sessionRecordingId,\n time: playbackTime ?? 0,\n })\n }\n\n return (\n \n openNotebook(shortId, NotebookTarget.Popover)\n }\n to={\n !relatedNodeInNotebook\n ? urls.replaySingle(sessionRecordingId) + `?t=${playbackTime / 1000}`\n : undefined\n }\n >\n {formatTimestamp(playbackTime)}\n \n \n )\n}\n\nexport const NotebookNodeReplayTimestamp = Node.create({\n name: NotebookNodeType.ReplayTimestamp,\n inline: true,\n group: 'inline',\n atom: true,\n\n serializedText: (attrs: NotebookNodeReplayTimestampAttrs): string => {\n // timestamp is not a block so `getText` does not add a separator.\n // we need to add it manually\n return `${attrs.playbackTime ? formatTimestamp(attrs.playbackTime) : '00:00'}:\\n`\n },\n\n addAttributes() {\n return {\n playbackTime: { default: null, keepOnSplit: false },\n sessionRecordingId: { default: null, keepOnSplit: true, isRequired: true },\n sourceNodeId: { default: null, keepOnSplit: true },\n }\n },\n\n parseHTML() {\n return [{ tag: NotebookNodeType.ReplayTimestamp }]\n },\n\n renderHTML({ HTMLAttributes }) {\n return [NotebookNodeType.ReplayTimestamp, mergeAttributes(HTMLAttributes)]\n },\n\n addNodeView() {\n return ReactNodeViewRenderer(Component)\n },\n})\n\nexport function formatTimestamp(time: number): string {\n return dayjs.duration(time, 'milliseconds').format('HH:mm:ss').replace(/^00:/, '').trim()\n}\n\nexport function buildTimestampCommentContent(attrs: NotebookNodeReplayTimestampAttrs): JSONContent {\n return {\n type: 'paragraph',\n content: [\n {\n type: NotebookNodeType.ReplayTimestamp,\n attrs,\n },\n { type: 'text', text: ' ' },\n ],\n }\n}\n","import {\n IconCursor,\n IconFunnels,\n IconHogQL,\n IconLifecycle,\n IconPeople,\n IconRetention,\n IconRewindPlay,\n IconStickiness,\n IconTrends,\n IconUpload,\n IconUserPaths,\n} from '@posthog/icons'\nimport { IconCode } from '@posthog/icons'\nimport { LemonButton, LemonDivider, lemonToast } from '@posthog/lemon-ui'\nimport { Extension } from '@tiptap/core'\nimport { ReactRenderer } from '@tiptap/react'\nimport Suggestion from '@tiptap/suggestion'\nimport Fuse from 'fuse.js'\nimport { useValues } from 'kea'\nimport { IconBold, IconItalic } from 'lib/lemon-ui/icons'\nimport { Popover } from 'lib/lemon-ui/Popover'\nimport { selectFiles } from 'lib/utils/file-utils'\nimport { forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useState } from 'react'\n\nimport { KeyboardShortcut } from '~/layout/navigation-3000/components/KeyboardShortcut'\nimport { defaultDataTableColumns } from '~/queries/nodes/DataTable/utils'\nimport { NodeKind } from '~/queries/schema'\nimport { BaseMathType, ChartDisplayType, FunnelVizType, NotebookNodeType, PathType, RetentionPeriod } from '~/types'\n\nimport { buildNodeEmbed } from '../Nodes/NotebookNodeEmbed'\nimport { buildInsightVizQueryContent, buildNodeQueryContent } from '../Nodes/NotebookNodeQuery'\nimport NotebookIconHeading from './NotebookIconHeading'\nimport { notebookLogic } from './notebookLogic'\nimport { EditorCommands, EditorRange } from './utils'\n\ntype SlashCommandConditionalProps =\n | {\n mode: 'add'\n getPos: () => number\n range?: never\n }\n | {\n mode: 'slash'\n getPos?: never\n range: EditorRange\n }\n\ntype SlashCommandsProps = SlashCommandConditionalProps & {\n query?: string\n decorationNode?: any\n onClose?: () => void\n}\n\ntype SlashCommandsPopoverProps = SlashCommandsProps & {\n visible: boolean\n children?: JSX.Element\n}\n\ntype SlashCommandsRef = {\n onKeyDown: (event: KeyboardEvent) => boolean\n}\n\ntype SlashCommandsItem = {\n title: string\n search?: string\n icon?: JSX.Element\n command: (chain: EditorCommands, pos: number | EditorRange) => EditorCommands | Promise\n}\n\nconst TEXT_CONTROLS: SlashCommandsItem[] = [\n {\n title: 'h1',\n icon: ,\n command: (chain) => chain.toggleHeading({ level: 1 }),\n },\n {\n title: 'h2',\n icon: ,\n command: (chain) => chain.toggleHeading({ level: 2 }),\n },\n {\n title: 'h3',\n icon: ,\n command: (chain) => chain.toggleHeading({ level: 3 }),\n },\n {\n title: 'bold',\n icon: ,\n command: (chain) => chain.toggleBold(),\n },\n {\n title: 'italic',\n icon: ,\n command: (chain) => chain.toggleItalic(),\n },\n]\n\nconst SLASH_COMMANDS: SlashCommandsItem[] = [\n {\n title: 'Trend',\n search: 'graph trend insight',\n icon: ,\n command: (chain, pos) =>\n chain.insertContentAt(\n pos,\n buildInsightVizQueryContent({\n kind: NodeKind.TrendsQuery,\n filterTestAccounts: false,\n series: [\n {\n kind: NodeKind.EventsNode,\n event: '$pageview',\n name: '$pageview',\n math: BaseMathType.TotalCount,\n },\n ],\n interval: 'day',\n trendsFilter: {\n display: ChartDisplayType.ActionsLineGraph,\n },\n })\n ),\n },\n {\n title: 'Funnel',\n search: 'funnel insight',\n icon: ,\n command: (chain, pos) =>\n chain.insertContentAt(\n pos,\n buildInsightVizQueryContent({\n kind: NodeKind.FunnelsQuery,\n series: [\n {\n kind: NodeKind.EventsNode,\n name: '$pageview',\n event: '$pageview',\n },\n {\n kind: NodeKind.EventsNode,\n name: '$pageview',\n event: '$pageview',\n },\n ],\n funnelsFilter: {\n funnelVizType: FunnelVizType.Steps,\n },\n })\n ),\n },\n {\n title: 'Retention',\n search: 'retention insight',\n icon: ,\n command: (chain, pos) =>\n chain.insertContentAt(\n pos,\n buildInsightVizQueryContent({\n kind: NodeKind.RetentionQuery,\n retentionFilter: {\n period: RetentionPeriod.Day,\n totalIntervals: 11,\n targetEntity: {\n id: '$pageview',\n name: '$pageview',\n type: 'events',\n },\n returningEntity: {\n id: '$pageview',\n name: '$pageview',\n type: 'events',\n },\n retentionType: 'retention_first_time',\n },\n })\n ),\n },\n {\n title: 'Paths',\n search: 'user paths insight',\n icon: ,\n command: (chain, pos) =>\n chain.insertContentAt(\n pos,\n buildInsightVizQueryContent({\n kind: NodeKind.PathsQuery,\n pathsFilter: {\n includeEventTypes: [PathType.PageView],\n },\n })\n ),\n },\n {\n title: 'Stickiness',\n search: 'stickiness insight',\n icon: ,\n command: (chain, pos) =>\n chain.insertContentAt(\n pos,\n buildInsightVizQueryContent({\n kind: NodeKind.StickinessQuery,\n series: [\n {\n kind: NodeKind.EventsNode,\n name: '$pageview',\n event: '$pageview',\n math: BaseMathType.TotalCount,\n },\n ],\n stickinessFilter: {},\n })\n ),\n },\n {\n title: 'Lifecycle',\n search: 'lifecycle insight',\n icon: ,\n command: (chain, pos) =>\n chain.insertContentAt(\n pos,\n buildInsightVizQueryContent({\n kind: NodeKind.LifecycleQuery,\n series: [\n {\n kind: NodeKind.EventsNode,\n name: '$pageview',\n event: '$pageview',\n math: BaseMathType.TotalCount,\n },\n ],\n })\n ),\n },\n {\n title: 'HogQL',\n search: 'sql',\n icon: ,\n command: (chain, pos) =>\n chain.insertContentAt(\n pos,\n buildNodeQueryContent({\n kind: NodeKind.DataTableNode,\n source: {\n kind: NodeKind.HogQLQuery,\n query: `select event,\n person.properties.email,\n properties.$browser,\n count()\n from events\n where {filters} -- replaced with global date and property filters\n and person.properties.email is not null\ngroup by event,\n properties.$browser,\n person.properties.email\norder by count() desc\n limit 100`,\n filters: {\n dateRange: {\n date_from: '-24h',\n },\n },\n },\n })\n ),\n },\n {\n title: 'Events',\n search: 'data explore',\n icon: ,\n command: (chain, pos) =>\n chain.insertContentAt(\n pos,\n buildNodeQueryContent({\n kind: NodeKind.DataTableNode,\n source: {\n kind: NodeKind.EventsQuery,\n select: defaultDataTableColumns(NodeKind.EventsQuery),\n properties: [],\n after: '-24h',\n limit: 100,\n },\n })\n ),\n },\n {\n title: 'People',\n search: 'persons users',\n icon: ,\n command: (chain, pos) =>\n chain.insertContentAt(\n pos,\n buildNodeQueryContent({\n kind: NodeKind.DataTableNode,\n columns: defaultDataTableColumns(NodeKind.ActorsQuery),\n source: {\n kind: NodeKind.ActorsQuery,\n properties: [],\n },\n })\n ),\n },\n {\n title: 'Session recordings',\n search: 'video replay',\n icon: ,\n command: (chain, pos) => chain.insertContentAt(pos, { type: NotebookNodeType.RecordingPlaylist, attrs: {} }),\n },\n {\n title: 'Image',\n search: 'picture gif',\n icon: ,\n command: async (chain, pos) => {\n // Trigger upload followed by insert\n try {\n const files = await selectFiles({ contentType: 'image/*', multiple: false })\n\n if (files.length) {\n return chain.insertContentAt(pos, { type: NotebookNodeType.Image, attrs: { file: files[0] } })\n }\n } catch (e) {\n lemonToast.error('Something went wrong when trying to select a file.')\n }\n\n return chain\n },\n },\n {\n title: 'Embedded iframe',\n search: 'iframe embed',\n icon: ,\n command: async (chain, pos) => {\n return chain.insertContentAt(pos, buildNodeEmbed())\n },\n },\n]\n\nexport const SlashCommands = forwardRef(function SlashCommands(\n { mode, range, getPos, onClose, query }: SlashCommandsProps,\n ref\n): JSX.Element | null {\n const { editor } = useValues(notebookLogic)\n // We start with 1 because the first item is the text controls\n const [selectedIndex, setSelectedIndex] = useState(0)\n const [selectedHorizontalIndex, setSelectedHorizontalIndex] = useState(0)\n\n const allCommmands = [...TEXT_CONTROLS, ...SLASH_COMMANDS]\n\n const fuse = useMemo(() => {\n return new Fuse(allCommmands, {\n keys: ['title', 'search'],\n threshold: 0.3,\n })\n }, [allCommmands])\n\n const filteredCommands = useMemo(() => {\n if (!query) {\n return allCommmands\n }\n return fuse.search(query).map((result) => result.item)\n }, [query, fuse])\n\n const filteredSlashCommands = useMemo(\n () => filteredCommands.filter((item) => SLASH_COMMANDS.includes(item)),\n [filteredCommands]\n )\n\n useEffect(() => {\n setSelectedIndex(0)\n setSelectedHorizontalIndex(0)\n }, [query])\n\n const execute = async (item: SlashCommandsItem): Promise => {\n if (editor) {\n const selectedNode = editor.getSelectedNode()\n const isTextNode = selectedNode === null || selectedNode.isText\n const isTextCommand = TEXT_CONTROLS.map((c) => c.title).includes(item.title)\n\n const position = mode === 'slash' ? range.from : getPos()\n let chain = mode === 'slash' ? editor.deleteRange(range) : editor.chain()\n\n if (!isTextNode && isTextCommand) {\n chain = chain.insertContentAt(position, { type: 'paragraph' })\n }\n\n const partialCommand = await item.command(chain, position)\n partialCommand.run()\n\n onClose?.()\n }\n }\n\n const onPressEnter = async (): Promise => {\n const command =\n selectedIndex === -1 ? TEXT_CONTROLS[selectedHorizontalIndex] : filteredSlashCommands[selectedIndex]\n\n await execute(command)\n }\n const onPressUp = (): void => {\n setSelectedIndex(Math.max(selectedIndex - 1, -1))\n }\n const onPressDown = (): void => {\n setSelectedIndex(Math.min(selectedIndex + 1, SLASH_COMMANDS.length - 1))\n }\n\n const onPressLeft = (): void => {\n setSelectedHorizontalIndex(Math.max(selectedHorizontalIndex - 1, 0))\n }\n const onPressRight = (): void => {\n setSelectedHorizontalIndex(Math.min(selectedHorizontalIndex + 1, TEXT_CONTROLS.length - 1))\n }\n\n const onKeyDown = useCallback(\n (event: KeyboardEvent): boolean => {\n const keyMappings = {\n ArrowUp: onPressUp,\n ArrowDown: onPressDown,\n ArrowLeft: onPressLeft,\n ArrowRight: onPressRight,\n Enter: onPressEnter,\n }\n\n if (keyMappings[event.key]) {\n keyMappings[event.key]()\n return true\n }\n\n return false\n },\n [selectedIndex, selectedHorizontalIndex, filteredCommands]\n )\n\n // Expose the keydown handler to the tiptap extension\n useImperativeHandle(ref, () => ({ onKeyDown }), [onKeyDown])\n\n useEffect(() => {\n if (mode !== 'add') {\n return\n }\n\n // If not opened from a slash command, we want to add our own keyboard listeners\n const keyDownListener = (event: KeyboardEvent): void => {\n const preventDefault = onKeyDown(event)\n if (preventDefault) {\n event.preventDefault()\n }\n }\n\n window.addEventListener('keydown', keyDownListener, true)\n\n return () => window.removeEventListener('keydown', keyDownListener, true)\n }, [onKeyDown, mode])\n\n if (!editor) {\n return null\n }\n\n return (\n
\n
\n {TEXT_CONTROLS.map((item, index) => (\n void execute(item)}\n icon={item.icon}\n />\n ))}\n
\n\n \n\n {filteredSlashCommands.map((item, index) => (\n void execute(item)}\n >\n {item.title}\n \n ))}\n\n {filteredSlashCommands.length === 0 && (\n
\n Nothing matching /{query}\n
\n )}\n\n {mode === 'add' && (\n <>\n \n
\n You can trigger this menu by typing \n
\n \n )}\n
\n )\n})\n\nexport const SlashCommandsPopover = forwardRef(\n function SlashCommandsPopover(\n { visible = true, decorationNode, children, onClose, ...props }: SlashCommandsPopoverProps,\n ref\n ): JSX.Element | null {\n return (\n }\n referenceElement={decorationNode}\n visible={visible}\n onClickOutside={onClose}\n >\n {children}\n \n )\n }\n)\n\nexport const SlashCommandsExtension = Extension.create({\n name: 'slash-commands',\n\n addProseMirrorPlugins() {\n return [\n Suggestion({\n editor: this.editor,\n char: '/',\n startOfLine: true,\n render: () => {\n let renderer: ReactRenderer\n\n return {\n onStart: (props) => {\n renderer = new ReactRenderer(SlashCommandsPopover, {\n props: { ...props, mode: 'slash' },\n editor: props.editor,\n })\n },\n\n onUpdate(props) {\n renderer.updateProps(props)\n\n if (!props.clientRect) {\n return\n }\n },\n\n onKeyDown(props) {\n if (props.event.key === 'Escape') {\n renderer.destroy()\n return true\n }\n return renderer.ref?.onKeyDown(props.event) ?? false\n },\n\n onExit() {\n renderer.destroy()\n },\n }\n },\n }),\n ]\n },\n})\n","import {\n addedNodeMutation,\n customEvent,\n EventType,\n fullSnapshotEvent,\n incrementalSnapshotEvent,\n IncrementalSource,\n metaEvent,\n mutationData,\n removedNodeMutation,\n} from '@rrweb/types'\nimport { captureMessage } from '@sentry/react'\nimport { isObject } from 'lib/utils'\nimport { PLACEHOLDER_SVG_DATA_IMAGE_URL } from 'scenes/session-recordings/player/rrweb'\n\nimport {\n attributes,\n documentNode,\n elementNode,\n fullSnapshotEvent as MobileFullSnapshotEvent,\n keyboardEvent,\n metaEvent as MobileMetaEvent,\n MobileIncrementalSnapshotEvent,\n MobileNodeMutation,\n MobileNodeType,\n NodeType,\n serializedNodeWithId,\n textNode,\n wireframe,\n wireframeButton,\n wireframeCheckBox,\n wireframeDiv,\n wireframeImage,\n wireframeInputComponent,\n wireframeNavigationBar,\n wireframePlaceholder,\n wireframeProgress,\n wireframeRadio,\n wireframeRadioGroup,\n wireframeRectangle,\n wireframeScreenshot,\n wireframeSelect,\n wireframeStatusBar,\n wireframeText,\n wireframeToggle,\n} from '../mobile.types'\nimport { makeNavigationBar, makeOpenKeyboardPlaceholder, makeStatusBar } from './screen-chrome'\nimport { ConversionContext, ConversionResult } from './types'\nimport {\n asStyleString,\n makeBodyStyles,\n makeColorStyles,\n makeDeterminateProgressStyles,\n makeHTMLStyles,\n makeIndeterminateProgressStyles,\n makeMinimalStyles,\n makePositionStyles,\n makeStylesString,\n} from './wireframeStyle'\n\nexport const BACKGROUND = '#f3f4ef'\nconst FOREGROUND = '#35373e'\n\n/**\n * generates a sequence of ids\n * from 100 to 9,999,999\n * the transformer reserves ids in the range 0 to 9,999,999\n * we reserve a range of ids because we need nodes to have stable ids across snapshots\n * in order for incremental snapshots to work\n * some mobile elements have to be wrapped in other elements in order to be styled correctly\n * which means the web version of a mobile replay will use ids that don't exist in the mobile replay,\n * and we need to ensure they don't clash\n * -----\n * id is typed as a number in rrweb\n * and there's a few places in their code where rrweb uses a check for `id === -1` to bail out of processing\n * so, it's safest to assume that id is expected to be a positive integer\n */\nfunction* ids(): Generator {\n let i = 100\n while (i < 9999999) {\n yield i++\n }\n}\n\nlet globalIdSequence = ids()\n\n// there are some fixed ids that we need to use for fixed elements or artificial mutations\nconst DOCUMENT_ID = 1\nconst HTML_DOC_TYPE_ID = 2\nconst HTML_ELEMENT_ID = 3\nconst HEAD_ID = 4\nconst BODY_ID = 5\n// the nav bar should always be the last item in the body so that it is at the top of the stack\nconst NAVIGATION_BAR_PARENT_ID = 7\nexport const NAVIGATION_BAR_ID = 8\n// the keyboard so that it is still before the nav bar\nconst KEYBOARD_PARENT_ID = 9\nexport const KEYBOARD_ID = 10\nexport const STATUS_BAR_PARENT_ID = 11\nexport const STATUS_BAR_ID = 12\n\nfunction isKeyboardEvent(x: unknown): x is keyboardEvent {\n return isObject(x) && 'data' in x && isObject(x.data) && 'tag' in x.data && x.data.tag === 'keyboard'\n}\n\nexport function _isPositiveInteger(id: unknown): id is number {\n return typeof id === 'number' && id > 0 && id % 1 === 0\n}\n\nfunction _isNullish(x: unknown): x is null | undefined {\n return x === null || x === undefined\n}\n\nfunction isRemovedNodeMutation(x: addedNodeMutation | removedNodeMutation): x is removedNodeMutation {\n return isObject(x) && 'id' in x\n}\n\nexport const makeCustomEvent = (\n mobileCustomEvent: (customEvent | keyboardEvent) & {\n timestamp: number\n delay?: number\n }\n): (customEvent | incrementalSnapshotEvent) & {\n timestamp: number\n delay?: number\n} => {\n if (isKeyboardEvent(mobileCustomEvent)) {\n // keyboard events are handled as incremental snapshots to add or remove a keyboard from the DOM\n // TODO eventually we can pass something to makeIncrementalEvent here\n const adds: addedNodeMutation[] = []\n const removes = []\n if (mobileCustomEvent.data.payload.open) {\n const keyboardPlaceHolder = makeOpenKeyboardPlaceholder(mobileCustomEvent, {\n timestamp: mobileCustomEvent.timestamp,\n idSequence: globalIdSequence,\n })\n if (keyboardPlaceHolder) {\n adds.push({\n parentId: KEYBOARD_PARENT_ID,\n nextId: null,\n node: keyboardPlaceHolder.result,\n })\n // mutations seem not to want a tree of nodes to add\n // so even though `keyboardPlaceholder` is a tree with content\n // we have to add the text content as well\n adds.push({\n parentId: keyboardPlaceHolder.result.id,\n nextId: null,\n node: {\n type: NodeType.Text,\n id: globalIdSequence.next().value,\n textContent: 'keyboard',\n },\n })\n } else {\n captureMessage('Failed to create keyboard placeholder', { extra: { mobileCustomEvent } })\n }\n } else {\n removes.push({\n parentId: KEYBOARD_PARENT_ID,\n id: KEYBOARD_ID,\n })\n }\n const mutation: mutationData = { adds, attributes: [], removes, source: IncrementalSource.Mutation, texts: [] }\n return {\n type: EventType.IncrementalSnapshot,\n data: mutation,\n timestamp: mobileCustomEvent.timestamp,\n }\n }\n return mobileCustomEvent\n}\n\nexport const makeMetaEvent = (\n mobileMetaEvent: MobileMetaEvent & {\n timestamp: number\n }\n): metaEvent & {\n timestamp: number\n delay?: number\n} => ({\n type: EventType.Meta,\n data: {\n href: mobileMetaEvent.data.href || '', // the replay doesn't use the href, so we safely ignore any absence\n // mostly we need width and height in order to size the viewport\n width: mobileMetaEvent.data.width,\n height: mobileMetaEvent.data.height,\n },\n timestamp: mobileMetaEvent.timestamp,\n})\n\nexport function makeDivElement(\n wireframe: wireframeDiv,\n children: serializedNodeWithId[],\n context: ConversionContext\n): ConversionResult | null {\n const _id = _isPositiveInteger(wireframe.id) ? wireframe.id : context.idSequence.next().value\n return {\n result: {\n type: NodeType.Element,\n tagName: 'div',\n attributes: {\n style: asStyleString([makeStylesString(wireframe), 'overflow:hidden', 'white-space:nowrap']),\n 'data-rrweb-id': _id,\n },\n id: _id,\n childNodes: children,\n },\n context,\n }\n}\n\nfunction makeTextElement(\n wireframe: wireframeText,\n children: serializedNodeWithId[],\n context: ConversionContext\n): ConversionResult | null {\n if (wireframe.type !== 'text') {\n console.error('Passed incorrect wireframe type to makeTextElement')\n return null\n }\n\n // because we might have to style the text, we always wrap it in a div\n // and apply styles to that\n const id = context.idSequence.next().value\n\n const childNodes = [...children]\n if (!_isNullish(wireframe.text)) {\n childNodes.unshift({\n type: NodeType.Text,\n textContent: wireframe.text,\n // since the text node is wrapped, we assign it a synthetic id\n id,\n })\n }\n\n return {\n result: {\n type: NodeType.Element,\n tagName: 'div',\n attributes: {\n style: asStyleString([makeStylesString(wireframe), 'overflow:hidden', 'white-space:normal']),\n 'data-rrweb-id': wireframe.id,\n },\n id: wireframe.id,\n childNodes,\n },\n context,\n }\n}\n\nfunction makeWebViewElement(\n wireframe: wireframe,\n children: serializedNodeWithId[],\n context: ConversionContext\n): ConversionResult | null {\n const labelledWireframe: wireframePlaceholder = { ...wireframe } as wireframePlaceholder\n if ('url' in wireframe) {\n labelledWireframe.label = wireframe.url\n }\n\n return makePlaceholderElement(labelledWireframe, children, context)\n}\n\nexport function makePlaceholderElement(\n wireframe: wireframe,\n children: serializedNodeWithId[],\n context: ConversionContext\n): ConversionResult | null {\n const txt = 'label' in wireframe && wireframe.label ? wireframe.label : wireframe.type || 'PLACEHOLDER'\n return {\n result: {\n type: NodeType.Element,\n tagName: 'div',\n attributes: {\n style: makeStylesString(wireframe, {\n verticalAlign: 'center',\n horizontalAlign: 'center',\n backgroundColor: wireframe.style?.backgroundColor || BACKGROUND,\n color: wireframe.style?.color || FOREGROUND,\n backgroundImage: PLACEHOLDER_SVG_DATA_IMAGE_URL,\n backgroundSize: 'auto',\n backgroundRepeat: 'unset',\n ...context.styleOverride,\n }),\n 'data-rrweb-id': wireframe.id,\n },\n id: wireframe.id,\n childNodes: [\n {\n type: NodeType.Text,\n // since the text node is wrapped, we assign it a synthetic id\n id: context.idSequence.next().value,\n textContent: txt,\n },\n ...children,\n ],\n },\n context,\n }\n}\n\nexport function dataURIOrPNG(src: string): string {\n // replace all new lines in src\n src = src.replace(/\\r?\\n|\\r/g, '')\n if (!src.startsWith('data:image/')) {\n return 'data:image/png;base64,' + src\n }\n return src\n}\n\nfunction makeImageElement(\n wireframe: wireframeImage | wireframeScreenshot,\n children: serializedNodeWithId[],\n context: ConversionContext\n): ConversionResult | null {\n if (!wireframe.base64) {\n return makePlaceholderElement(wireframe, children, context)\n }\n\n const src = dataURIOrPNG(wireframe.base64)\n return {\n result: {\n type: NodeType.Element,\n tagName: 'img',\n attributes: {\n src: src,\n width: wireframe.width,\n height: wireframe.height,\n style: makeStylesString(wireframe),\n 'data-rrweb-id': wireframe.id,\n },\n id: wireframe.id,\n childNodes: children,\n },\n context,\n }\n}\n\nfunction inputAttributes(wireframe: T): attributes {\n const attributes = {\n style: makeStylesString(wireframe),\n type: wireframe.inputType,\n ...(wireframe.disabled ? { disabled: wireframe.disabled } : {}),\n 'data-rrweb-id': wireframe.id,\n }\n\n switch (wireframe.inputType) {\n case 'checkbox':\n return {\n ...attributes,\n style: null, // checkboxes are styled by being combined with a label\n ...(wireframe.checked ? { checked: wireframe.checked } : {}),\n }\n case 'toggle':\n return {\n ...attributes,\n style: null, // toggle are styled by being combined with a label\n ...(wireframe.checked ? { checked: wireframe.checked } : {}),\n }\n case 'radio':\n return {\n ...attributes,\n style: null, // radio buttons are styled by being combined with a label\n ...(wireframe.checked ? { checked: wireframe.checked } : {}),\n // radio value defaults to the string \"on\" if not specified\n // we're not really submitting the form, so it doesn't matter 🤞\n // radio name is used to correctly uncheck values when one is checked\n // mobile doesn't really have it, and we will be checking based on snapshots,\n // so we can ignore it for now\n }\n case 'button':\n return {\n ...attributes,\n }\n case 'text_area':\n return {\n ...attributes,\n value: wireframe.value || '',\n }\n case 'progress':\n return {\n ...attributes,\n // indeterminate when omitted\n value: wireframe.value || null,\n // defaults to 1 when omitted\n max: wireframe.max || null,\n type: null, // progress has no type attribute\n }\n default:\n return {\n ...attributes,\n value: wireframe.value || '',\n }\n }\n}\n\nfunction makeButtonElement(\n wireframe: wireframeButton,\n children: serializedNodeWithId[],\n context: ConversionContext\n): ConversionResult | null {\n const buttonText: textNode | null = wireframe.value\n ? {\n type: NodeType.Text,\n textContent: wireframe.value,\n }\n : null\n\n return {\n result: {\n type: NodeType.Element,\n tagName: 'button',\n attributes: inputAttributes(wireframe),\n id: wireframe.id,\n childNodes: buttonText ? [{ ...buttonText, id: context.idSequence.next().value }, ...children] : children,\n },\n context,\n }\n}\n\nfunction makeSelectOptionElement(\n option: string,\n selected: boolean,\n context: ConversionContext\n): ConversionResult {\n const optionId = context.idSequence.next().value\n return {\n result: {\n type: NodeType.Element,\n tagName: 'option',\n attributes: {\n ...(selected ? { selected: selected } : {}),\n 'data-rrweb-id': optionId,\n },\n id: optionId,\n childNodes: [\n {\n type: NodeType.Text,\n textContent: option,\n id: context.idSequence.next().value,\n },\n ],\n },\n context,\n }\n}\n\nfunction makeSelectElement(\n wireframe: wireframeSelect,\n children: serializedNodeWithId[],\n context: ConversionContext\n): ConversionResult | null {\n const selectOptions: serializedNodeWithId[] = []\n if (wireframe.options) {\n let optionContext = context\n for (let i = 0; i < wireframe.options.length; i++) {\n const option = wireframe.options[i]\n const conversion = makeSelectOptionElement(option, wireframe.value === option, optionContext)\n selectOptions.push(conversion.result)\n optionContext = conversion.context\n }\n }\n return {\n result: {\n type: NodeType.Element,\n tagName: 'select',\n attributes: inputAttributes(wireframe),\n id: wireframe.id,\n childNodes: [...selectOptions, ...children],\n },\n context,\n }\n}\n\nfunction groupRadioButtons(children: serializedNodeWithId[], radioGroupName: string): serializedNodeWithId[] {\n return children.map((child) => {\n if (child.type === NodeType.Element && child.tagName === 'input' && child.attributes.type === 'radio') {\n return {\n ...child,\n attributes: {\n ...child.attributes,\n name: radioGroupName,\n 'data-rrweb-id': child.id,\n },\n }\n }\n return child\n })\n}\n\nfunction makeRadioGroupElement(\n wireframe: wireframeRadioGroup,\n children: serializedNodeWithId[],\n context: ConversionContext\n): ConversionResult | null {\n const radioGroupName = 'radio_group_' + wireframe.id\n return {\n result: {\n type: NodeType.Element,\n tagName: 'div',\n attributes: {\n style: makeStylesString(wireframe),\n 'data-rrweb-id': wireframe.id,\n },\n id: wireframe.id,\n childNodes: groupRadioButtons(children, radioGroupName),\n },\n context,\n }\n}\n\nfunction makeStar(title: string, path: string, context: ConversionContext): serializedNodeWithId {\n const svgId = context.idSequence.next().value\n const titleId = context.idSequence.next().value\n const pathId = context.idSequence.next().value\n return {\n type: NodeType.Element,\n tagName: 'svg',\n isSVG: true,\n attributes: {\n style: asStyleString(['height: 100%', 'overflow-clip-margin: content-box', 'overflow:hidden']),\n viewBox: '0 0 24 24',\n fill: 'currentColor',\n 'data-rrweb-id': svgId,\n },\n id: svgId,\n childNodes: [\n {\n type: NodeType.Element,\n tagName: 'title',\n isSVG: true,\n attributes: {\n 'data-rrweb-id': titleId,\n },\n id: titleId,\n childNodes: [\n {\n type: NodeType.Text,\n textContent: title,\n id: context.idSequence.next().value,\n },\n ],\n },\n {\n type: NodeType.Element,\n tagName: 'path',\n isSVG: true,\n attributes: {\n d: path,\n 'data-rrweb-id': pathId,\n },\n id: pathId,\n childNodes: [],\n },\n ],\n }\n}\n\nfunction filledStar(context: ConversionContext): serializedNodeWithId {\n return makeStar(\n 'filled star',\n 'M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z',\n context\n )\n}\n\nfunction halfStar(context: ConversionContext): serializedNodeWithId {\n return makeStar(\n 'half-filled star',\n 'M12,15.4V6.1L13.71,10.13L18.09,10.5L14.77,13.39L15.76,17.67M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z',\n context\n )\n}\n\nfunction emptyStar(context: ConversionContext): serializedNodeWithId {\n return makeStar(\n 'empty star',\n 'M12,15.39L8.24,17.66L9.23,13.38L5.91,10.5L10.29,10.13L12,6.09L13.71,10.13L18.09,10.5L14.77,13.38L15.76,17.66M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z',\n context\n )\n}\n\nfunction makeRatingBar(\n wireframe: wireframeProgress,\n children: serializedNodeWithId[],\n context: ConversionContext\n): ConversionResult | null {\n // max is the number of stars... and value is the number of stars to fill\n\n // deliberate double equals, because we want to allow null and undefined\n if (wireframe.value == null || wireframe.max == null) {\n return makePlaceholderElement(wireframe, children, context)\n }\n\n const numberOfFilledStars = Math.floor(wireframe.value)\n const numberOfHalfStars = wireframe.value - numberOfFilledStars > 0 ? 1 : 0\n const numberOfEmptyStars = wireframe.max - numberOfFilledStars - numberOfHalfStars\n\n const filledStars = Array(numberOfFilledStars)\n .fill(undefined)\n .map(() => filledStar(context))\n const halfStars = Array(numberOfHalfStars)\n .fill(undefined)\n .map(() => halfStar(context))\n const emptyStars = Array(numberOfEmptyStars)\n .fill(undefined)\n .map(() => emptyStar(context))\n\n const ratingBarId = context.idSequence.next().value\n const ratingBar = {\n type: NodeType.Element,\n tagName: 'div',\n id: ratingBarId,\n attributes: {\n style: asStyleString([\n makeColorStyles(wireframe),\n 'position: relative',\n 'display: flex',\n 'flex-direction: row',\n 'padding: 2px 4px',\n ]),\n 'data-rrweb-id': ratingBarId,\n },\n childNodes: [...filledStars, ...halfStars, ...emptyStars],\n } as serializedNodeWithId\n\n return {\n result: {\n type: NodeType.Element,\n tagName: 'div',\n attributes: {\n style: makeStylesString(wireframe),\n 'data-rrweb-id': wireframe.id,\n },\n id: wireframe.id,\n childNodes: [ratingBar, ...children],\n },\n context,\n }\n}\n\nfunction makeProgressElement(\n wireframe: wireframeProgress,\n children: serializedNodeWithId[],\n context: ConversionContext\n): ConversionResult | null {\n if (wireframe.style?.bar === 'circular') {\n // value needs to be expressed as a number between 0 and 100\n const max = wireframe.max || 1\n let value = wireframe.value || null\n if (_isPositiveInteger(value) && value <= max) {\n value = (value / max) * 100\n } else {\n value = null\n }\n\n const styleOverride = {\n color: wireframe.style?.color || FOREGROUND,\n backgroundColor: wireframe.style?.backgroundColor || BACKGROUND,\n }\n\n // if not _isPositiveInteger(value) then we render a spinner,\n // so we need to add a style element with the spin keyframe\n const stylingChildren: serializedNodeWithId[] = _isPositiveInteger(value)\n ? []\n : [\n {\n type: NodeType.Element,\n tagName: 'style',\n attributes: {\n type: 'text/css',\n },\n id: context.idSequence.next().value,\n childNodes: [\n {\n type: NodeType.Text,\n textContent: `@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }`,\n id: context.idSequence.next().value,\n },\n ],\n },\n ]\n\n const wrappingDivId = context.idSequence.next().value\n return {\n result: {\n type: NodeType.Element,\n tagName: 'div',\n attributes: {\n style: makeMinimalStyles(wireframe),\n 'data-rrweb-id': wireframe.id,\n },\n id: wireframe.id,\n childNodes: [\n {\n type: NodeType.Element,\n tagName: 'div',\n attributes: {\n // with no provided value we render a spinner\n style: _isPositiveInteger(value)\n ? makeDeterminateProgressStyles(wireframe, styleOverride)\n : makeIndeterminateProgressStyles(wireframe, styleOverride),\n 'data-rrweb-id': wrappingDivId,\n },\n id: wrappingDivId,\n childNodes: stylingChildren,\n },\n ...children,\n ],\n },\n context,\n }\n } else if (wireframe.style?.bar === 'rating') {\n return makeRatingBar(wireframe, children, context)\n }\n return {\n result: {\n type: NodeType.Element,\n tagName: 'progress',\n attributes: inputAttributes(wireframe),\n id: wireframe.id,\n childNodes: children,\n },\n context,\n }\n}\n\nfunction makeToggleParts(wireframe: wireframeToggle, context: ConversionContext): serializedNodeWithId[] {\n const togglePosition = wireframe.checked ? 'right' : 'left'\n const defaultColor = wireframe.checked ? '#1d4aff' : BACKGROUND\n const sliderPartId = context.idSequence.next().value\n const handlePartId = context.idSequence.next().value\n return [\n {\n type: NodeType.Element,\n tagName: 'div',\n attributes: {\n 'data-toggle-part': 'slider',\n style: asStyleString([\n 'position:absolute',\n 'top:33%',\n 'left:5%',\n 'display:inline-block',\n 'width:75%',\n 'height:33%',\n 'opacity: 0.2',\n 'border-radius:7.5%',\n `background-color:${wireframe.style?.color || defaultColor}`,\n ]),\n 'data-rrweb-id': sliderPartId,\n },\n id: sliderPartId,\n childNodes: [],\n },\n {\n type: NodeType.Element,\n tagName: 'div',\n attributes: {\n 'data-toggle-part': 'handle',\n style: asStyleString([\n 'position:absolute',\n 'top:1.5%',\n `${togglePosition}:5%`,\n 'display:flex',\n 'align-items:center',\n 'justify-content:center',\n 'width:40%',\n 'height:75%',\n 'cursor:inherit',\n 'border-radius:50%',\n `background-color:${wireframe.style?.color || defaultColor}`,\n `border:2px solid ${wireframe.style?.borderColor || wireframe.style?.color || defaultColor}`,\n ]),\n 'data-rrweb-id': handlePartId,\n },\n id: handlePartId,\n childNodes: [],\n },\n ]\n}\n\nfunction makeToggleElement(\n wireframe: wireframeToggle,\n context: ConversionContext\n): ConversionResult<\n elementNode & {\n id: number\n }\n> | null {\n const isLabelled = 'label' in wireframe\n const wrappingDivId = context.idSequence.next().value\n return {\n result: {\n type: NodeType.Element,\n tagName: 'div',\n attributes: {\n // if labelled take up available space, otherwise use provided positioning\n style: isLabelled ? asStyleString(['height:100%', 'flex:1']) : makePositionStyles(wireframe),\n 'data-rrweb-id': wireframe.id,\n },\n id: wireframe.id,\n childNodes: [\n {\n type: NodeType.Element,\n tagName: 'div',\n attributes: {\n // relative position, fills parent\n style: asStyleString(['position:relative', 'width:100%', 'height:100%']),\n 'data-rrweb-id': wrappingDivId,\n },\n id: wrappingDivId,\n childNodes: makeToggleParts(wireframe, context),\n },\n ],\n },\n context,\n }\n}\n\nfunction makeLabelledInput(\n wireframe: wireframeCheckBox | wireframeRadio | wireframeToggle,\n theInputElement: serializedNodeWithId,\n context: ConversionContext\n): ConversionResult {\n const theLabel: serializedNodeWithId = {\n type: NodeType.Text,\n textContent: wireframe.label || '',\n id: context.idSequence.next().value,\n }\n\n const orderedChildren = wireframe.inputType === 'toggle' ? [theLabel, theInputElement] : [theInputElement, theLabel]\n\n const labelId = context.idSequence.next().value\n return {\n result: {\n type: NodeType.Element,\n tagName: 'label',\n attributes: {\n style: makeStylesString(wireframe),\n 'data-rrweb-id': labelId,\n },\n id: labelId,\n childNodes: orderedChildren,\n },\n context,\n }\n}\n\nfunction makeInputElement(\n wireframe: wireframeInputComponent,\n children: serializedNodeWithId[],\n context: ConversionContext\n): ConversionResult | null {\n if (!wireframe.inputType) {\n return null\n }\n\n if (wireframe.inputType === 'button') {\n return makeButtonElement(wireframe, children, context)\n }\n\n if (wireframe.inputType === 'select') {\n return makeSelectElement(wireframe, children, context)\n }\n\n if (wireframe.inputType === 'progress') {\n return makeProgressElement(wireframe, children, context)\n }\n\n const theInputElement: ConversionResult | null =\n wireframe.inputType === 'toggle'\n ? makeToggleElement(wireframe, context)\n : {\n result: {\n type: NodeType.Element,\n tagName: 'input',\n attributes: inputAttributes(wireframe),\n id: wireframe.id,\n childNodes: children,\n },\n context,\n }\n\n if (!theInputElement) {\n return null\n }\n\n if ('label' in wireframe) {\n return makeLabelledInput(wireframe, theInputElement.result, theInputElement.context)\n }\n // when labelled no styles are needed, when un-labelled as here - we add the styling in.\n ;(theInputElement.result as elementNode).attributes.style = makeStylesString(wireframe)\n return theInputElement\n}\n\nfunction makeRectangleElement(\n wireframe: wireframeRectangle,\n children: serializedNodeWithId[],\n context: ConversionContext\n): ConversionResult | null {\n return {\n result: {\n type: NodeType.Element,\n tagName: 'div',\n attributes: {\n style: makeStylesString(wireframe),\n 'data-rrweb-id': wireframe.id,\n },\n id: wireframe.id,\n childNodes: children,\n },\n context,\n }\n}\n\nfunction chooseConverter(\n wireframe: T\n): (\n wireframe: T,\n children: serializedNodeWithId[],\n context: ConversionContext\n) => ConversionResult | null {\n // in theory type is always present\n // but since this is coming over the wire we can't really be sure,\n // and so we default to div\n const converterType: MobileNodeType = wireframe.type || 'div'\n const converterMapping: Record<\n MobileNodeType,\n (wireframe: T, children: serializedNodeWithId[]) => ConversionResult | null\n > = {\n // KLUDGE: TS can't tell that the wireframe type of each function is safe based on the converter type\n text: makeTextElement as any,\n image: makeImageElement as any,\n rectangle: makeRectangleElement as any,\n div: makeDivElement as any,\n input: makeInputElement as any,\n radio_group: makeRadioGroupElement as any,\n web_view: makeWebViewElement as any,\n placeholder: makePlaceholderElement as any,\n status_bar: makeStatusBar as any,\n navigation_bar: makeNavigationBar as any,\n screenshot: makeImageElement as any,\n }\n return converterMapping[converterType]\n}\n\nfunction convertWireframe(\n wireframe: wireframe,\n context: ConversionContext\n): ConversionResult | null {\n const children = convertWireframesFor(wireframe.childWireframes, context)\n const converted = chooseConverter(wireframe)?.(wireframe, children.result, children.context)\n return converted || null\n}\n\nfunction convertWireframesFor(\n wireframes: wireframe[] | undefined,\n context: ConversionContext\n): ConversionResult {\n if (!wireframes) {\n return { result: [], context }\n }\n\n const result: serializedNodeWithId[] = []\n for (const wireframe of wireframes) {\n const converted = convertWireframe(wireframe, context)\n if (converted) {\n result.push(converted.result)\n context = converted.context\n }\n }\n return { result, context }\n}\n\nfunction isMobileIncrementalSnapshotEvent(x: unknown): x is MobileIncrementalSnapshotEvent {\n const isIncrementalSnapshot = isObject(x) && 'type' in x && x.type === EventType.IncrementalSnapshot\n if (!isIncrementalSnapshot) {\n return false\n }\n const hasData = isObject(x) && 'data' in x\n const data = hasData ? x.data : null\n\n const hasMutationSource = isObject(data) && 'source' in data && data.source === IncrementalSource.Mutation\n\n const adds = isObject(data) && 'adds' in data && Array.isArray(data.adds) ? data.adds : null\n const updates = isObject(data) && 'updates' in data && Array.isArray(data.updates) ? data.updates : null\n\n const hasUpdatedWireframe = !!updates && updates.length > 0 && isObject(updates[0]) && 'wireframe' in updates[0]\n const hasAddedWireframe = !!adds && adds.length > 0 && isObject(adds[0]) && 'wireframe' in adds[0]\n\n return hasMutationSource && (hasAddedWireframe || hasUpdatedWireframe)\n}\n\nfunction chooseParentId(nodeType: MobileNodeType, providedParentId: number): number {\n return nodeType === 'screenshot' ? BODY_ID : providedParentId\n}\n\nfunction makeIncrementalAdd(add: MobileNodeMutation, context: ConversionContext): addedNodeMutation[] | null {\n const converted = convertWireframe(add.wireframe, context)\n\n if (!converted) {\n return null\n }\n\n const addition: addedNodeMutation = {\n parentId: chooseParentId(add.wireframe.type, add.parentId),\n nextId: null,\n node: converted.result,\n }\n const adds: addedNodeMutation[] = []\n if (addition) {\n const flattened = flattenMutationAdds(addition)\n flattened.forEach((x) => adds.push(x))\n return adds\n }\n return null\n}\n\n/**\n * When processing an update we remove the entire item, and then add it back in.\n */\nfunction makeIncrementalRemoveForUpdate(update: MobileNodeMutation): removedNodeMutation {\n return {\n parentId: chooseParentId(update.wireframe.type, update.parentId),\n id: update.wireframe.id,\n }\n}\n\nfunction isNode(x: unknown): x is serializedNodeWithId {\n // KLUDGE: really we should check that x.type is valid, but we're safe enough already\n return isObject(x) && 'type' in x && 'id' in x\n}\n\nfunction isNodeWithChildren(x: unknown): x is elementNode | documentNode {\n return isNode(x) && 'childNodes' in x && Array.isArray(x.childNodes)\n}\n\n/**\n * when creating incremental adds we have to flatten the node tree structure\n * there's no point, then keeping those child nodes in place\n */\nfunction cloneWithoutChildren(converted: addedNodeMutation): addedNodeMutation {\n const cloned = { ...converted }\n const clonedNode: serializedNodeWithId = { ...converted.node }\n if (isNodeWithChildren(clonedNode)) {\n clonedNode.childNodes = []\n }\n cloned.node = clonedNode\n return cloned\n}\n\nfunction flattenMutationAdds(converted: addedNodeMutation): addedNodeMutation[] {\n const flattened: addedNodeMutation[] = []\n\n flattened.push(cloneWithoutChildren(converted))\n\n const node: unknown = converted.node\n const newParentId = converted.node.id\n if (isNodeWithChildren(node)) {\n node.childNodes.forEach((child) => {\n flattened.push(\n cloneWithoutChildren({\n parentId: newParentId,\n nextId: null,\n node: child,\n })\n )\n if (isNodeWithChildren(child)) {\n flattened.push(...flattenMutationAdds({ parentId: newParentId, nextId: null, node: child }))\n }\n })\n }\n return flattened\n}\n\n/**\n * each update wireframe carries the entire tree because we don't want to diff on the client\n * that means that we might create multiple mutations for the same node\n * we only want to add it once, so we dedupe the mutations\n * the app guarantees that for a given ID that is present more than once in a single snapshot\n * every instance of that ID is identical\n * it might change in the next snapshot but for a single incremental snapshot there is one\n * and only one version of any given ID\n */\nfunction dedupeMutations(mutations: T[]): T[] {\n // KLUDGE: it's slightly yucky to stringify everything but since synthetic nodes\n // introduce a new id, we can't just compare the id\n const seen = new Set()\n\n // in case later mutations are the ones we want to keep, we reverse the array\n // this does help with the deduping, so, it's likely that the view for a single ID\n // is not consistent over a snapshot, but it's cheap to reverse so :YOLO:\n return mutations\n .reverse()\n .filter((mutation: addedNodeMutation | removedNodeMutation) => {\n let toCompare: string\n if (isRemovedNodeMutation(mutation)) {\n toCompare = JSON.stringify(mutation)\n } else {\n // if this is a synthetic addition, then we need to ignore the id,\n // since duplicates won't have duplicate ids\n toCompare = JSON.stringify({\n ...mutation.node,\n id: 0,\n })\n }\n\n if (seen.has(toCompare)) {\n return false\n }\n seen.add(toCompare)\n return true\n })\n .reverse()\n}\n\n/**\n * We want to ensure that any events don't use id = 0.\n * They must always represent a valid ID from the dom, so we swap in the body id when the id = 0.\n *\n * For \"removes\", we don't need to do anything, the id of the element to be removed remains valid. We won't try and remove other elements that we added during transformation in order to show that element.\n *\n * \"adds\" are converted from wireframes to nodes and converted to `incrementalSnapshotEvent.adds`\n *\n * \"updates\" are converted to a remove and an add.\n *\n */\nexport const makeIncrementalEvent = (\n mobileEvent: (MobileIncrementalSnapshotEvent | incrementalSnapshotEvent) & {\n timestamp: number\n delay?: number\n }\n): incrementalSnapshotEvent & {\n timestamp: number\n delay?: number\n} => {\n const converted = mobileEvent as unknown as incrementalSnapshotEvent & {\n timestamp: number\n delay?: number\n }\n if ('id' in converted.data && converted.data.id === 0) {\n converted.data.id = BODY_ID\n }\n\n if (isMobileIncrementalSnapshotEvent(mobileEvent)) {\n const adds: addedNodeMutation[] = []\n const removes: removedNodeMutation[] = mobileEvent.data.removes || []\n if ('adds' in mobileEvent.data && Array.isArray(mobileEvent.data.adds)) {\n const addsContext = {\n timestamp: mobileEvent.timestamp,\n idSequence: globalIdSequence,\n }\n\n mobileEvent.data.adds.forEach((add) => {\n makeIncrementalAdd(add, addsContext)?.forEach((x) => adds.push(x))\n })\n }\n if ('updates' in mobileEvent.data && Array.isArray(mobileEvent.data.updates)) {\n const updatesContext = {\n timestamp: mobileEvent.timestamp,\n idSequence: globalIdSequence,\n }\n const updateAdditions: addedNodeMutation[] = []\n mobileEvent.data.updates.forEach((update) => {\n const removal = makeIncrementalRemoveForUpdate(update)\n if (removal) {\n removes.push(removal)\n }\n makeIncrementalAdd(update, updatesContext)?.forEach((x) => updateAdditions.push(x))\n })\n dedupeMutations(updateAdditions).forEach((x) => adds.push(x))\n }\n\n converted.data = {\n source: IncrementalSource.Mutation,\n attributes: [],\n texts: [],\n adds: dedupeMutations(adds),\n // TODO: this assumes that removes are processed before adds 🤞\n removes: dedupeMutations(removes),\n }\n }\n\n return converted\n}\n\nfunction makeKeyboardParent(): serializedNodeWithId {\n return {\n type: NodeType.Element,\n tagName: 'div',\n attributes: {\n 'data-render-reason': 'a fixed placeholder to contain the keyboard in the correct stacking position',\n 'data-rrweb-id': KEYBOARD_PARENT_ID,\n },\n id: KEYBOARD_PARENT_ID,\n childNodes: [],\n }\n}\n\nfunction makeStatusBarNode(\n statusBar: wireframeStatusBar | undefined,\n context: ConversionContext\n): serializedNodeWithId {\n const childNodes = statusBar ? convertWireframesFor([statusBar], context).result : []\n return {\n type: NodeType.Element,\n tagName: 'div',\n attributes: {\n 'data-rrweb-id': STATUS_BAR_PARENT_ID,\n },\n id: STATUS_BAR_PARENT_ID,\n childNodes,\n }\n}\n\nfunction makeNavBarNode(\n navigationBar: wireframeNavigationBar | undefined,\n context: ConversionContext\n): serializedNodeWithId {\n const childNodes = navigationBar ? convertWireframesFor([navigationBar], context).result : []\n return {\n type: NodeType.Element,\n tagName: 'div',\n attributes: {\n 'data-rrweb-id': NAVIGATION_BAR_PARENT_ID,\n },\n id: NAVIGATION_BAR_PARENT_ID,\n childNodes,\n }\n}\n\nfunction stripBarsFromWireframe(wireframe: wireframe): {\n wireframe: wireframe | undefined\n statusBar: wireframeStatusBar | undefined\n navBar: wireframeNavigationBar | undefined\n} {\n if (wireframe.type === 'status_bar') {\n return { wireframe: undefined, statusBar: wireframe, navBar: undefined }\n } else if (wireframe.type === 'navigation_bar') {\n return { wireframe: undefined, statusBar: undefined, navBar: wireframe }\n }\n let statusBar: wireframeStatusBar | undefined\n let navBar: wireframeNavigationBar | undefined\n const wireframeToReturn: wireframe | undefined = { ...wireframe }\n wireframeToReturn.childWireframes = []\n for (const child of wireframe.childWireframes || []) {\n const {\n wireframe: childWireframe,\n statusBar: childStatusBar,\n navBar: childNavBar,\n } = stripBarsFromWireframe(child)\n statusBar = statusBar || childStatusBar\n navBar = navBar || childNavBar\n if (childWireframe) {\n wireframeToReturn.childWireframes.push(childWireframe)\n }\n }\n return { wireframe: wireframeToReturn, statusBar, navBar }\n}\n\n/**\n * We want to be able to place the status bar and navigation bar in the correct stacking order.\n * So, we lift them out of the tree, and return them separately.\n */\nexport function stripBarsFromWireframes(wireframes: wireframe[]): {\n statusBar: wireframeStatusBar | undefined\n navigationBar: wireframeNavigationBar | undefined\n appNodes: wireframe[]\n} {\n let statusBar: wireframeStatusBar | undefined\n let navigationBar: wireframeNavigationBar | undefined\n const copiedNodes: wireframe[] = []\n\n wireframes.forEach((w) => {\n const matches = stripBarsFromWireframe(w)\n if (matches.statusBar) {\n statusBar = matches.statusBar\n }\n if (matches.navBar) {\n navigationBar = matches.navBar\n }\n if (matches.wireframe) {\n copiedNodes.push(matches.wireframe)\n }\n })\n return { statusBar, navigationBar, appNodes: copiedNodes }\n}\n\nexport const makeFullEvent = (\n mobileEvent: MobileFullSnapshotEvent & {\n timestamp: number\n delay?: number\n }\n): fullSnapshotEvent & {\n timestamp: number\n delay?: number\n} => {\n // we can restart the id sequence on each full snapshot\n globalIdSequence = ids()\n\n if (!('wireframes' in mobileEvent.data)) {\n return mobileEvent as unknown as fullSnapshotEvent & {\n timestamp: number\n delay?: number\n }\n }\n\n const conversionContext = {\n timestamp: mobileEvent.timestamp,\n idSequence: globalIdSequence,\n }\n\n const { statusBar, navigationBar, appNodes } = stripBarsFromWireframes(mobileEvent.data.wireframes)\n\n const nodeGroups = {\n appNodes: convertWireframesFor(appNodes, conversionContext).result || [],\n statusBarNode: makeStatusBarNode(statusBar, conversionContext),\n navBarNode: makeNavBarNode(navigationBar, conversionContext),\n }\n\n return {\n type: EventType.FullSnapshot,\n timestamp: mobileEvent.timestamp,\n data: {\n node: {\n type: NodeType.Document,\n childNodes: [\n {\n type: NodeType.DocumentType,\n name: 'html',\n publicId: '',\n systemId: '',\n id: HTML_DOC_TYPE_ID,\n },\n {\n type: NodeType.Element,\n tagName: 'html',\n attributes: { style: makeHTMLStyles(), 'data-rrweb-id': HTML_ELEMENT_ID },\n id: HTML_ELEMENT_ID,\n childNodes: [\n {\n type: NodeType.Element,\n tagName: 'head',\n attributes: { 'data-rrweb-id': HEAD_ID },\n id: HEAD_ID,\n childNodes: [makeCSSReset(conversionContext)],\n },\n {\n type: NodeType.Element,\n tagName: 'body',\n attributes: { style: makeBodyStyles(), 'data-rrweb-id': BODY_ID },\n id: BODY_ID,\n childNodes: [\n // in the order they should stack if they ever clash\n // lower is higher in the stacking context\n ...nodeGroups.appNodes,\n makeKeyboardParent(),\n nodeGroups.navBarNode,\n nodeGroups.statusBarNode,\n ],\n },\n ],\n },\n ],\n id: DOCUMENT_ID,\n },\n initialOffset: {\n top: 0,\n left: 0,\n },\n },\n }\n}\n\nfunction makeCSSReset(context: ConversionContext): serializedNodeWithId {\n // we need to normalize CSS so browsers don't do unexpected things\n return {\n type: NodeType.Element,\n tagName: 'style',\n attributes: {\n type: 'text/css',\n },\n id: context.idSequence.next().value,\n childNodes: [\n {\n type: NodeType.Text,\n textContent: `\n body {\n margin: unset;\n }\n input, button, select, textarea {\n font: inherit;\n margin: 0;\n padding: 0;\n border: 0;\n outline: 0;\n background: transparent;\n padding-block: 0 !important;\n }\n .input:focus {\n outline: none;\n }\n img {\n border-style: none;\n }\n `,\n id: context.idSequence.next().value,\n },\n ],\n }\n}\n","import posthogEE from '@posthog/ee/exports'\nimport { customEvent, EventType, eventWithTime, fullSnapshotEvent, IncrementalSource } from '@rrweb/types'\nimport { captureException } from '@sentry/react'\nimport { gunzipSync, strFromU8, strToU8 } from 'fflate'\nimport {\n actions,\n afterMount,\n beforeUnmount,\n connect,\n defaults,\n kea,\n key,\n listeners,\n path,\n props,\n reducers,\n selectors,\n} from 'kea'\nimport { loaders } from 'kea-loaders'\nimport { subscriptions } from 'kea-subscriptions'\nimport api from 'lib/api'\nimport { FEATURE_FLAGS } from 'lib/constants'\nimport { Dayjs, dayjs } from 'lib/dayjs'\nimport { featureFlagLogic, FeatureFlagsSet } from 'lib/logic/featureFlagLogic'\nimport { isObject } from 'lib/utils'\nimport { chainToElements } from 'lib/utils/elements-chain'\nimport { eventUsageLogic } from 'lib/utils/eventUsageLogic'\nimport posthog from 'posthog-js'\nimport { compressedEventWithTime } from 'posthog-js/lib/src/extensions/replay/sessionrecording'\nimport { RecordingComment } from 'scenes/session-recordings/player/inspector/playerInspectorLogic'\nimport { teamLogic } from 'scenes/teamLogic'\n\nimport { HogQLQuery, NodeKind } from '~/queries/schema'\nimport { hogql } from '~/queries/utils'\nimport {\n AnyPropertyFilter,\n EncodedRecordingSnapshot,\n PersonType,\n PropertyFilterType,\n PropertyOperator,\n RecordingEventsFilters,\n RecordingEventType,\n RecordingReportLoadTimes,\n RecordingSegment,\n RecordingSnapshot,\n SessionPlayerData,\n SessionRecordingId,\n SessionRecordingSnapshotParams,\n SessionRecordingSnapshotSource,\n SessionRecordingSnapshotSourceResponse,\n SessionRecordingType,\n SessionRecordingUsageType,\n SnapshotSourceType,\n} from '~/types'\n\nimport { PostHogEE } from '../../../../@posthog/ee/types'\nimport { ExportedSessionRecordingFileV2 } from '../file-playback/types'\nimport type { sessionRecordingDataLogicType } from './sessionRecordingDataLogicType'\nimport { createSegments, mapSnapshotsToWindowId } from './utils/segmenter'\n\nconst IS_TEST_MODE = process.env.NODE_ENV === 'test'\nconst BUFFER_MS = 60000 // +- before and after start and end of a recording to query for.\nconst DEFAULT_REALTIME_POLLING_MILLIS = 3000\n\nlet postHogEEModule: PostHogEE\n\nfunction isRecordingSnapshot(x: unknown): x is RecordingSnapshot {\n return typeof x === 'object' && x !== null && 'type' in x && 'timestamp' in x\n}\n\n/*\n there was a bug in mobile SDK that didn't consistently send a meta event with a full snapshot.\n rrweb player hides itself until it has seen the meta event 🤷\n but we can patch a meta event into the recording data to make it work\n*/\nfunction patchMetaEventIntoMobileData(parsedLines: RecordingSnapshot[]): RecordingSnapshot[] {\n let fullSnapshotIndex: number = -1\n let metaIndex: number = -1\n try {\n fullSnapshotIndex = parsedLines.findIndex((l) => l.type === EventType.FullSnapshot)\n metaIndex = parsedLines.findIndex((l) => l.type === EventType.Meta)\n\n // then we need to patch the meta event into the snapshot data\n if (fullSnapshotIndex > -1 && metaIndex === -1) {\n const fullSnapshot = parsedLines[fullSnapshotIndex] as RecordingSnapshot & fullSnapshotEvent & eventWithTime\n // a full snapshot (particularly from the mobile transformer) has a relatively fixed structure,\n // but the types exposed by rrweb don't quite cover what we need , so...\n const mainNode = fullSnapshot.data.node as any\n const targetNode = mainNode.childNodes[1].childNodes[1].childNodes[0]\n const { width, height } = targetNode.attributes\n const metaEvent: RecordingSnapshot = {\n windowId: fullSnapshot.windowId,\n type: EventType.Meta,\n timestamp: fullSnapshot.timestamp,\n data: {\n href: getHrefFromSnapshot(fullSnapshot) || '',\n width,\n height,\n },\n }\n parsedLines.splice(fullSnapshotIndex, 0, metaEvent)\n }\n } catch (e) {\n captureException(e, {\n tags: { feature: 'session-recording-missing-meta-patching' },\n extra: { fullSnapshotIndex, metaIndex },\n })\n }\n\n return parsedLines\n}\n\nfunction hasAnyWireframes(snapshotData: Record[]): boolean {\n return snapshotData.some((d) => {\n return isObject(d.data) && 'wireframes' in d.data\n })\n}\n\nfunction isCompressedEvent(ev: unknown): ev is compressedEventWithTime {\n return typeof ev === 'object' && ev !== null && 'cv' in ev\n}\n\nfunction unzip(compressedStr: string): any {\n return JSON.parse(strFromU8(gunzipSync(strToU8(compressedStr, true))))\n}\n\n/**\n *\n * takes an event that might be from web, might be from mobile,\n * and might be partially compressed,\n * and decompresses it when possible\n *\n * you can't return a union of `KnownType | unknown`\n * so even though this returns `eventWithTime | unknown`\n * it has to be typed as only unknown\n */\nfunction decompressEvent(ev: unknown): unknown {\n try {\n if (isCompressedEvent(ev)) {\n if (ev.cv === '2024-10') {\n if (ev.type === EventType.FullSnapshot) {\n return {\n ...ev,\n data: unzip(ev.data),\n }\n } else if (ev.type === EventType.IncrementalSnapshot) {\n if (ev.data.source === IncrementalSource.StyleSheetRule) {\n return {\n ...ev,\n data: {\n ...ev.data,\n source: IncrementalSource.StyleSheetRule,\n adds: unzip(ev.data.adds),\n removes: unzip(ev.data.removes),\n },\n }\n } else if (ev.data.source === IncrementalSource.Mutation) {\n return {\n ...ev,\n data: {\n ...ev.data,\n source: IncrementalSource.Mutation,\n adds: unzip(ev.data.adds),\n removes: unzip(ev.data.removes),\n texts: unzip(ev.data.texts),\n attributes: unzip(ev.data.attributes),\n },\n }\n }\n }\n } else {\n posthog.captureException(new Error('Unknown compressed event version'), {\n feature: 'session-recording-compressed-event-decompression',\n compressedEvent: ev,\n compressionVersion: ev.cv,\n })\n // probably unplayable but we don't know how to decompress it\n return ev\n }\n }\n return ev\n } catch (e) {\n posthog.captureException((e as Error) || new Error('Could not decompress event'), {\n feature: 'session-recording-compressed-event-decompression',\n compressedEvent: ev,\n })\n return ev\n }\n}\n\n/**\n * We can receive data in one of multiple formats, so we treat it as unknown\n * And if we can't process it force it into eventWithTime\n *\n * If it can't be case as eventWithTime by this point then it's probably not a valid event anyway\n */\nfunction coerceToEventWithTime(d: unknown, withMobileTransformer: boolean): eventWithTime {\n // we decompress first so that we could support partial compression on mobile in future\n const currentEvent = decompressEvent(d)\n return withMobileTransformer\n ? postHogEEModule?.mobileReplay?.transformEventToWeb(currentEvent) || (currentEvent as eventWithTime)\n : (currentEvent as eventWithTime)\n}\n\nexport const parseEncodedSnapshots = async (\n items: (RecordingSnapshot | EncodedRecordingSnapshot | string)[],\n sessionId: string,\n // this is only kept so that we can export the untransformed data for debugging\n withMobileTransformer: boolean = true\n): Promise => {\n if (!postHogEEModule) {\n postHogEEModule = await posthogEE()\n }\n\n const lineCount = items.length\n const unparseableLines: string[] = []\n let isMobileSnapshots = false\n\n const parsedLines: RecordingSnapshot[] = items.flatMap((l) => {\n if (!l) {\n // blob files have an empty line at the end\n return []\n }\n try {\n let snapshotLine: { windowId: string } | EncodedRecordingSnapshot\n if (typeof l === 'string') {\n // is loaded from blob or realtime storage\n snapshotLine = JSON.parse(l) as EncodedRecordingSnapshot\n } else {\n // is loaded from file export\n snapshotLine = l\n }\n let snapshotData: ({ windowId: string } | EncodedRecordingSnapshot)[]\n if (isRecordingSnapshot(snapshotLine)) {\n // is loaded from file export\n snapshotData = [snapshotLine]\n } else {\n // is loaded from blob or realtime storage\n snapshotData = snapshotLine['data']\n }\n\n if (!isMobileSnapshots) {\n isMobileSnapshots = hasAnyWireframes(snapshotData)\n }\n\n return snapshotData.map((d: unknown) => {\n const snap = coerceToEventWithTime(d, withMobileTransformer)\n\n return {\n // this handles parsing data that was loaded from blob storage \"window_id\"\n // and data that was exported from the front-end \"windowId\"\n // we have more than one format of data that we store/pass around\n // but only one that we play back\n windowId: snapshotLine['window_id'] || snapshotLine['windowId'],\n ...snap,\n }\n })\n } catch (e) {\n if (typeof l === 'string') {\n unparseableLines.push(l)\n }\n return []\n }\n })\n\n if (unparseableLines.length) {\n const extra = {\n playbackSessionId: sessionId,\n totalLineCount: lineCount,\n unparseableLinesCount: unparseableLines.length,\n exampleLines: unparseableLines.slice(0, 3),\n }\n posthog.capture('session recording had unparseable lines', {\n ...extra,\n feature: 'session-recording-snapshot-processing',\n })\n }\n\n return isMobileSnapshots ? patchMetaEventIntoMobileData(parsedLines) : parsedLines\n}\n\nconst getHrefFromSnapshot = (snapshot: unknown): string | undefined => {\n return isObject(snapshot) && 'data' in snapshot\n ? (snapshot.data as any)?.href || (snapshot.data as any)?.payload?.href\n : undefined\n}\n\n/*\n cyrb53 (c) 2018 bryc (github.com/bryc)\n License: Public domain. Attribution appreciated.\n A fast and simple 53-bit string hash function with decent collision resistance.\n Largely inspired by MurmurHash2/3, but with a focus on speed/simplicity.\n*/\nconst cyrb53 = function (str: string, seed = 0): number {\n let h1 = 0xdeadbeef ^ seed,\n h2 = 0x41c6ce57 ^ seed\n for (let i = 0, ch; i < str.length; i++) {\n ch = str.charCodeAt(i)\n h1 = Math.imul(h1 ^ ch, 2654435761)\n h2 = Math.imul(h2 ^ ch, 1597334677)\n }\n h1 = Math.imul(h1 ^ (h1 >>> 16), 2246822507)\n h1 ^= Math.imul(h2 ^ (h2 >>> 13), 3266489909)\n h2 = Math.imul(h2 ^ (h2 >>> 16), 2246822507)\n h2 ^= Math.imul(h1 ^ (h1 >>> 13), 3266489909)\n return 4294967296 * (2097151 & h2) + (h1 >>> 0)\n}\n\nexport const deduplicateSnapshots = (snapshots: RecordingSnapshot[] | null): RecordingSnapshot[] => {\n const seenHashes: Set = new Set()\n\n return (snapshots ?? [])\n .filter((snapshot) => {\n // For a multitude of reasons, there can be duplicate snapshots in the same recording.\n // we have to stringify the snapshot to compare it to other snapshots.\n // so we can filter by storing them all in a set\n\n // we can see duplicates that only differ by delay - these still count as duplicates\n // even though the delay would hide that\n const { delay: _delay, ...delayFreeSnapshot } = snapshot\n // we check each item multiple times as new snapshots come in\n // so store the computer value on the object to save recalculating it so much\n const key = (snapshot as any).seen || cyrb53(JSON.stringify(delayFreeSnapshot))\n ;(snapshot as any).seen = key\n\n if (seenHashes.has(key)) {\n return false\n }\n seenHashes.add(key)\n return true\n })\n .sort((a, b) => a.timestamp - b.timestamp)\n}\n\nconst generateRecordingReportDurations = (cache: Record): RecordingReportLoadTimes => {\n return {\n metadata: cache.metadataLoadDuration || Math.round(performance.now() - cache.metaStartTime),\n snapshots: cache.snapshotsLoadDuration || Math.round(performance.now() - cache.snapshotsStartTime),\n events: cache.eventsLoadDuration || Math.round(performance.now() - cache.eventsStartTime),\n firstPaint: cache.firstPaintDuration,\n }\n}\n\nconst resetTimingsCache = (cache: Record): void => {\n cache.metaStartTime = null\n cache.metadataLoadDuration = null\n cache.snapshotsStartTime = null\n cache.snapshotsLoadDuration = null\n cache.eventsStartTime = null\n cache.eventsLoadDuration = null\n cache.firstPaintDuration = null\n}\n\nexport interface SessionRecordingDataLogicProps {\n sessionRecordingId: SessionRecordingId\n realTimePollingIntervalMilliseconds?: number\n}\n\nfunction makeEventsQuery(\n person: PersonType | null,\n distinctId: string | null,\n start: Dayjs,\n end: Dayjs,\n properties: AnyPropertyFilter[]\n): Promise {\n return api.query({\n kind: NodeKind.EventsQuery,\n // NOTE: Be careful adding fields here. We want to keep the payload as small as possible to load all events quickly\n select: [\n 'uuid',\n 'event',\n 'timestamp',\n 'elements_chain',\n 'properties.$window_id',\n 'properties.$current_url',\n 'properties.$event_type',\n ],\n orderBy: ['timestamp ASC'],\n limit: 1000000,\n personId: person ? String(person.id) : undefined,\n after: start.subtract(BUFFER_MS, 'ms').format(),\n before: end.add(BUFFER_MS, 'ms').format(),\n properties: properties,\n where: distinctId ? [`distinct_id = ('${distinctId}')`] : undefined,\n })\n}\n\nasync function processEncodedResponse(\n encodedResponse: (EncodedRecordingSnapshot | string)[],\n props: SessionRecordingDataLogicProps,\n featureFlags: FeatureFlagsSet\n): Promise<{ transformed: RecordingSnapshot[]; untransformed: RecordingSnapshot[] | null }> {\n let untransformed: RecordingSnapshot[] | null = null\n\n const transformed = await parseEncodedSnapshots(encodedResponse, props.sessionRecordingId)\n\n if (featureFlags[FEATURE_FLAGS.SESSION_REPLAY_EXPORT_MOBILE_DATA]) {\n untransformed = await parseEncodedSnapshots(\n encodedResponse,\n props.sessionRecordingId,\n false // don't transform mobile data\n )\n }\n\n return { transformed, untransformed }\n}\n\nconst getSourceKey = (source: SessionRecordingSnapshotSource): string => {\n // realtime sources vary so blob_key is not always present and is either null or undefined...\n // we only care about key when not realtime\n // and we'll always have a key when not realtime\n return `${source.source}-${source.blob_key || source.source}`\n}\n\nexport const sessionRecordingDataLogic = kea([\n path((key) => ['scenes', 'session-recordings', 'sessionRecordingDataLogic', key]),\n props({} as SessionRecordingDataLogicProps),\n key(({ sessionRecordingId }) => sessionRecordingId || 'no-session-recording-id'),\n connect({\n logic: [eventUsageLogic],\n values: [featureFlagLogic, ['featureFlags'], teamLogic, ['currentTeam']],\n }),\n defaults({\n sessionPlayerMetaData: null as SessionRecordingType | null,\n }),\n actions({\n setFilters: (filters: Partial) => ({ filters }),\n loadRecordingMeta: true,\n loadRecordingComments: true,\n maybeLoadRecordingMeta: true,\n loadSnapshots: true,\n loadSnapshotSources: true,\n loadNextSnapshotSource: true,\n loadSnapshotsForSource: (source: Pick) => ({ source }),\n loadEvents: true,\n loadFullEventData: (event: RecordingEventType | RecordingEventType[]) => ({ event }),\n markViewed: (delay?: number) => ({ delay }),\n reportUsageIfFullyLoaded: true,\n persistRecording: true,\n maybePersistRecording: true,\n pollRealtimeSnapshots: true,\n stopRealtimePolling: true,\n setTrackedWindow: (windowId: string | null) => ({ windowId }),\n setWasMarkedViewed: (wasMarkedViewed: boolean) => ({ wasMarkedViewed }),\n }),\n reducers(() => ({\n trackedWindow: [\n null as string | null,\n {\n setTrackedWindow: (_, { windowId }) => windowId,\n },\n ],\n filters: [\n {} as Partial,\n {\n setFilters: (state, { filters }) => ({ ...state, ...filters }),\n },\n ],\n isRealtimePolling: [\n false as boolean,\n {\n pollRealtimeSnapshots: () => true,\n stopRealtimePolling: () => false,\n },\n ],\n isNotFound: [\n false as boolean,\n {\n loadRecordingMeta: () => false,\n loadRecordingMetaSuccess: () => false,\n loadRecordingMetaFailure: () => true,\n },\n ],\n snapshotsBySource: [\n null as Record | null,\n {\n loadSnapshotsForSourceSuccess: (state, { snapshotsForSource }) => {\n const sourceKey = getSourceKey(snapshotsForSource.source)\n\n return {\n ...state,\n [sourceKey]: snapshotsForSource,\n }\n },\n },\n ],\n wasMarkedViewed: [\n false as boolean,\n {\n setWasMarkedViewed: (_, { wasMarkedViewed }) => wasMarkedViewed,\n },\n ],\n })),\n loaders(({ values, props, cache }) => ({\n sessionComments: {\n loadRecordingComments: async (_, breakpoint) => {\n const empty: RecordingComment[] = []\n if (!props.sessionRecordingId) {\n return empty\n }\n\n const response = await api.notebooks.recordingComments(props.sessionRecordingId)\n breakpoint()\n\n return response.results || empty\n },\n },\n sessionPlayerMetaData: {\n loadRecordingMeta: async (_, breakpoint) => {\n if (!props.sessionRecordingId) {\n return null\n }\n\n cache.metaStartTime = performance.now()\n\n const response = await api.recordings.get(props.sessionRecordingId)\n breakpoint()\n\n return response\n },\n\n persistRecording: async (_, breakpoint) => {\n if (!values.sessionPlayerMetaData) {\n return null\n }\n await breakpoint(100)\n await api.recordings.persist(props.sessionRecordingId)\n\n return {\n ...values.sessionPlayerMetaData,\n storage: 'object_storage_lts',\n }\n },\n },\n snapshotSources: [\n null as SessionRecordingSnapshotSource[] | null,\n {\n loadSnapshotSources: async () => {\n const response = await api.recordings.listSnapshotSources(props.sessionRecordingId)\n return response.sources ?? []\n },\n },\n ],\n snapshotsForSource: [\n null as SessionRecordingSnapshotSourceResponse | null,\n {\n loadSnapshotsForSource: async ({ source }, breakpoint) => {\n let params: SessionRecordingSnapshotParams\n\n if (source.source === SnapshotSourceType.blob) {\n if (!source.blob_key) {\n throw new Error('Missing key')\n }\n params = { blob_key: source.blob_key, source: 'blob' }\n } else if (source.source === SnapshotSourceType.realtime) {\n params = { source: 'realtime', version: '2024-04-30' }\n } else {\n throw new Error(`Unsupported source: ${source.source}`)\n }\n\n const snapshotLoadingStartTime = performance.now()\n\n if (!cache.snapshotsStartTime) {\n cache.snapshotsStartTime = snapshotLoadingStartTime\n }\n\n await breakpoint(1)\n\n const response = await api.recordings.getSnapshots(props.sessionRecordingId, params).catch((e) => {\n if (source.source === 'realtime' && e.status === 404) {\n // Realtime source is not always available so a 404 is expected\n return []\n }\n throw e\n })\n\n const { transformed, untransformed } = await processEncodedResponse(\n response,\n props,\n values.featureFlags\n )\n\n return { snapshots: transformed, untransformed_snapshots: untransformed ?? undefined, source }\n },\n },\n ],\n sessionEventsData: [\n null as null | RecordingEventType[],\n {\n loadEvents: async () => {\n if (!cache.eventsStartTime) {\n cache.eventsStartTime = performance.now()\n }\n\n const { start, end, person } = values.sessionPlayerData\n\n if (!person || !start || !end) {\n return null\n }\n\n const [sessionEvents, relatedEvents]: any[] = await Promise.all([\n // make one query for all events that are part of the session\n makeEventsQuery(null, null, start, end, [\n {\n key: '$session_id',\n value: [props.sessionRecordingId],\n operator: PropertyOperator.Exact,\n type: PropertyFilterType.Event,\n },\n ]),\n // make a second for all events from that person,\n // not marked as part of the session\n // but in the same time range\n // these are probably e.g. backend events for the session\n // but with no session id\n // since posthog-js must always add session id we can also\n // take advantage of lib being materialized and further filter\n makeEventsQuery(null, values.sessionPlayerMetaData?.distinct_id || null, start, end, [\n {\n key: '$session_id',\n value: '',\n operator: PropertyOperator.Exact,\n type: PropertyFilterType.Event,\n },\n {\n key: '$lib',\n value: ['web'],\n operator: PropertyOperator.IsNot,\n type: PropertyFilterType.Event,\n },\n ]),\n ])\n\n return [...sessionEvents.results, ...relatedEvents.results].map(\n (event: any): RecordingEventType => {\n const currentUrl = event[5]\n // We use the pathname to simplify the UI - we build it here instead of fetching it to keep data usage small\n let pathname: string | undefined\n try {\n pathname = event[5] ? new URL(event[5]).pathname : undefined\n } catch {\n pathname = undefined\n }\n\n return {\n id: event[0],\n event: event[1],\n timestamp: event[2],\n elements: chainToElements(event[3]),\n properties: {\n $window_id: event[4],\n $current_url: currentUrl,\n $event_type: event[6],\n $pathname: pathname,\n },\n playerTime: +dayjs(event[2]) - +start,\n fullyLoaded: false,\n }\n }\n )\n },\n\n loadFullEventData: async ({ event }) => {\n // box so we're always dealing with a list\n const events = Array.isArray(event) ? event : [event]\n\n let existingEvents = values.sessionEventsData?.filter((x) => events.some((e) => e.id === x.id))\n\n const allEventsAreFullyLoaded =\n existingEvents?.every((e) => e.fullyLoaded) && existingEvents.length === events.length\n if (!existingEvents || allEventsAreFullyLoaded) {\n return values.sessionEventsData\n }\n\n existingEvents = existingEvents.filter((e) => !e.fullyLoaded)\n const timestamps = existingEvents.map((ee) => dayjs(ee.timestamp).utc().valueOf())\n const eventNames = Array.from(new Set(existingEvents.map((ee) => ee.event)))\n const eventIds = existingEvents.map((ee) => ee.id)\n const earliestTimestamp = timestamps.reduce((a, b) => Math.min(a, b))\n const latestTimestamp = timestamps.reduce((a, b) => Math.max(a, b))\n\n try {\n const query: HogQLQuery = {\n kind: NodeKind.HogQLQuery,\n query: hogql`SELECT properties, uuid\n FROM events\n WHERE timestamp > ${dayjs(earliestTimestamp - 1000)\n .utc()\n .format('YYYY-MM-DD HH:mm:ss.SSS')}\n AND timestamp < ${dayjs(latestTimestamp + 1000)\n .utc()\n .format('YYYY-MM-DD HH:mm:ss.SSS')}\n AND event in ${eventNames}\n AND uuid in ${eventIds}`,\n }\n const response = await api.query(query)\n if (response.error) {\n throw new Error(response.error)\n }\n\n for (const event of existingEvents) {\n const result = response.results.find((x: any) => {\n return x[1] === event.id\n })\n\n if (result) {\n event.properties = JSON.parse(result[0])\n event.fullyLoaded = true\n }\n }\n } catch (e) {\n // NOTE: This is not ideal but should happen so rarely that it is tolerable.\n existingEvents.forEach((e) => (e.fullyLoaded = true))\n captureException(e, {\n tags: { feature: 'session-recording-load-full-event-data' },\n })\n }\n\n // here we map the events list because we want the result to be a new instance to trigger downstream recalculation\n return !values.sessionEventsData\n ? values.sessionEventsData\n : values.sessionEventsData.map((x) => {\n const event = existingEvents?.find((ee) => ee.id === x.id)\n return event\n ? ({\n ...x,\n properties: event.properties,\n fullyLoaded: event.fullyLoaded,\n } as RecordingEventType)\n : x\n })\n },\n },\n ],\n })),\n listeners(({ values, actions, cache, props }) => ({\n loadSnapshots: () => {\n // This kicks off the loading chain\n if (!values.snapshotSourcesLoading) {\n actions.loadSnapshotSources()\n }\n },\n maybeLoadRecordingMeta: () => {\n if (!values.sessionPlayerMetaDataLoading) {\n actions.loadRecordingMeta()\n }\n if (!values.sessionCommentsLoading) {\n actions.loadRecordingComments()\n }\n },\n loadSnapshotSources: () => {\n // We only load events once we actually start loading the recording\n actions.loadEvents()\n },\n loadRecordingMetaSuccess: () => {\n cache.metadataLoadDuration = Math.round(performance.now() - cache.metaStartTime)\n actions.reportUsageIfFullyLoaded()\n },\n loadRecordingMetaFailure: () => {\n cache.metadataLoadDuration = Math.round(performance.now() - cache.metaStartTime)\n },\n\n loadSnapshotSourcesSuccess: () => {\n // When we receive the list of sources we can kick off the loading chain\n actions.loadNextSnapshotSource()\n },\n\n loadSnapshotsForSourceSuccess: ({ snapshotsForSource }) => {\n const sources = values.snapshotSources\n const snapshots = snapshotsForSource.snapshots\n\n // Cache the last response count to detect if we're getting the same data over and over\n const newSnapshotsCount = snapshots.length\n\n if ((cache.lastSnapshotsCount ?? newSnapshotsCount) === newSnapshotsCount) {\n // if we're getting no results from realtime polling we can increment faster\n // so that we stop polling sooner\n const increment = newSnapshotsCount === 0 ? 2 : 1\n cache.lastSnapshotsUnchangedCount = (cache.lastSnapshotsUnchangedCount ?? 0) + increment\n } else {\n cache.lastSnapshotsUnchangedCount = 0\n }\n cache.lastSnapshotsCount = newSnapshotsCount\n\n if (!snapshots.length && sources?.length === 1) {\n // We got only a single source to load, loaded it successfully, but it had no snapshots.\n posthog.capture('recording_snapshots_v2_empty_response', {\n source: sources[0],\n })\n } else if (!cache.firstPaintDuration) {\n cache.firstPaintDuration = Math.round(performance.now() - cache.snapshotsStartTime)\n }\n if (!values.wasMarkedViewed) {\n actions.markViewed()\n }\n\n actions.loadNextSnapshotSource()\n },\n\n loadNextSnapshotSource: () => {\n const nextSourceToLoad = values.snapshotSources?.find((s) => {\n const sourceKey = getSourceKey(s)\n return !values.snapshotsBySource?.[sourceKey]\n })\n\n if (nextSourceToLoad) {\n return actions.loadSnapshotsForSource(nextSourceToLoad)\n }\n\n // TODO: Move this to a one time check - only report once per recording\n cache.snapshotsLoadDuration = Math.round(performance.now() - cache.snapshotsStartTime)\n actions.reportUsageIfFullyLoaded()\n\n // If we have a realtime source, start polling it\n const realTimeSource = values.snapshotSources?.find((s) => s.source === SnapshotSourceType.realtime)\n if (realTimeSource) {\n actions.pollRealtimeSnapshots()\n }\n },\n loadSnapshotsForSourceFailure: () => {\n cache.snapshotsLoadDuration = Math.round(performance.now() - cache.snapshotsStartTime)\n },\n pollRealtimeSnapshots: () => {\n // always make sure we've cleared up the last timeout\n clearTimeout(cache.realTimePollingTimeoutID)\n cache.realTimePollingTimeoutID = null\n\n // ten is an arbitrary limit to try to avoid sending requests to our backend unnecessarily\n // we could change this or add to it e.g. only poll if browser is visible to user\n if ((cache.lastSnapshotsUnchangedCount ?? 0) <= 10) {\n cache.realTimePollingTimeoutID = setTimeout(() => {\n actions.loadSnapshotsForSource({ source: SnapshotSourceType.realtime })\n }, props.realTimePollingIntervalMilliseconds || DEFAULT_REALTIME_POLLING_MILLIS)\n } else {\n actions.stopRealtimePolling()\n }\n },\n loadEventsSuccess: () => {\n cache.eventsLoadDuration = Math.round(performance.now() - cache.eventsStartTime)\n actions.reportUsageIfFullyLoaded()\n },\n loadEventsFailure: () => {\n cache.eventsLoadDuration = Math.round(performance.now() - cache.eventsStartTime)\n },\n reportUsageIfFullyLoaded: (_, breakpoint) => {\n breakpoint()\n if (values.fullyLoaded) {\n eventUsageLogic.actions.reportRecording(\n values.sessionPlayerData,\n generateRecordingReportDurations(cache),\n SessionRecordingUsageType.LOADED,\n values.sessionPlayerMetaData,\n 0\n )\n // Reset cache now that final usage report has been sent\n resetTimingsCache(cache)\n }\n },\n markViewed: async ({ delay }, breakpoint) => {\n const durations = generateRecordingReportDurations(cache)\n // Triggered on first paint\n breakpoint()\n if (values.wasMarkedViewed) {\n return\n }\n actions.setWasMarkedViewed(true) // this prevents us from calling the function multiple times\n\n await breakpoint(IS_TEST_MODE ? 1 : delay ?? 3000)\n await api.recordings.update(props.sessionRecordingId, {\n viewed: true,\n player_metadata: values.sessionPlayerMetaData,\n durations,\n })\n await breakpoint(IS_TEST_MODE ? 1 : 10000)\n await api.recordings.update(props.sessionRecordingId, {\n analyzed: true,\n player_metadata: values.sessionPlayerMetaData,\n durations,\n })\n },\n\n maybePersistRecording: () => {\n if (values.sessionPlayerMetaDataLoading) {\n return\n }\n\n if (values.sessionPlayerMetaData?.storage === 'object_storage') {\n actions.persistRecording()\n }\n },\n })),\n selectors(({ cache }) => ({\n webVitalsEvents: [\n (s) => [s.sessionEventsData],\n (sessionEventsData): RecordingEventType[] =>\n (sessionEventsData || []).filter((e) => e.event === '$web_vitals'),\n ],\n\n windowIdForTimestamp: [\n (s) => [s.segments],\n (segments) =>\n (timestamp: number): string | undefined => {\n return segments.find(\n (segment) => segment.startTimestamp <= timestamp && segment.endTimestamp >= timestamp\n )?.windowId\n },\n ],\n\n sessionPlayerData: [\n (s, p) => [\n s.sessionPlayerMetaData,\n s.snapshotsByWindowId,\n s.segments,\n s.bufferedToTime,\n s.start,\n s.end,\n s.durationMs,\n s.fullyLoaded,\n p.sessionRecordingId,\n ],\n (\n meta,\n snapshotsByWindowId,\n segments,\n bufferedToTime,\n start,\n end,\n durationMs,\n fullyLoaded,\n sessionRecordingId\n ): SessionPlayerData => ({\n person: meta?.person ?? null,\n start,\n end,\n durationMs,\n snapshotsByWindowId,\n segments,\n bufferedToTime,\n fullyLoaded,\n sessionRecordingId,\n }),\n ],\n\n snapshotsLoading: [\n (s) => [s.snapshotSourcesLoading, s.snapshotsForSourceLoading],\n (snapshotSourcesLoading, snapshotsForSourceLoading): boolean => {\n // if there's a realTimePollingTimeoutID, don't signal that we're loading\n // we don't want the UI to flip to \"loading\" every time we poll\n return !cache.realTimePollingTimeoutID && (snapshotSourcesLoading || snapshotsForSourceLoading)\n },\n ],\n\n snapshotsLoaded: [(s) => [s.snapshotSources], (snapshotSources): boolean => !!snapshotSources],\n\n fullyLoaded: [\n (s) => [s.snapshots, s.sessionPlayerMetaDataLoading, s.snapshotsLoading, s.sessionEventsDataLoading],\n (snapshots, sessionPlayerMetaDataLoading, snapshotsLoading, sessionEventsDataLoading): boolean => {\n // TODO: Do a proper check for all sources having been loaded\n return (\n !!snapshots.length &&\n !sessionPlayerMetaDataLoading &&\n !snapshotsLoading &&\n !sessionEventsDataLoading\n )\n },\n ],\n\n firstSnapshot: [\n (s) => [s.snapshots],\n (snapshots): RecordingSnapshot | null => {\n return snapshots[0] || null\n },\n ],\n\n lastSnapshot: [\n (s) => [s.snapshots],\n (snapshots): RecordingSnapshot | null => {\n return snapshots[snapshots.length - 1] || null\n },\n ],\n\n start: [\n (s) => [s.firstSnapshot, s.sessionPlayerMetaData],\n (firstSnapshot, meta): Dayjs | null => {\n const eventStart = meta?.start_time ? dayjs(meta.start_time) : null\n const snapshotStart = firstSnapshot ? dayjs(firstSnapshot.timestamp) : null\n\n // whichever is earliest\n if (eventStart && snapshotStart) {\n return eventStart.isBefore(snapshotStart) ? eventStart : snapshotStart\n }\n return eventStart || snapshotStart\n },\n ],\n\n end: [\n (s) => [s.lastSnapshot, s.sessionPlayerMetaData],\n (lastSnapshot, meta): Dayjs | null => {\n const eventEnd = meta?.end_time ? dayjs(meta.end_time) : null\n const snapshotEnd = lastSnapshot ? dayjs(lastSnapshot.timestamp) : null\n\n // whichever is latest\n if (eventEnd && snapshotEnd) {\n return eventEnd.isAfter(snapshotEnd) ? eventEnd : snapshotEnd\n }\n return eventEnd || snapshotEnd\n },\n ],\n\n durationMs: [\n (s) => [s.start, s.end],\n (start, end): number => {\n return !!start && !!end ? end.diff(start) : 0\n },\n ],\n\n segments: [\n (s) => [s.snapshots, s.start, s.end, s.trackedWindow],\n (snapshots, start, end, trackedWindow): RecordingSegment[] => {\n return createSegments(snapshots || [], start, end, trackedWindow)\n },\n ],\n\n urls: [\n (s) => [s.snapshots],\n (snapshots): { url: string; timestamp: number }[] => {\n return (\n snapshots\n .filter((snapshot) => getHrefFromSnapshot(snapshot))\n .map((snapshot) => {\n return {\n url: getHrefFromSnapshot(snapshot) as string,\n timestamp: snapshot.timestamp,\n }\n }) ?? []\n )\n },\n ],\n\n snapshots: [\n (s) => [s.snapshotSources, s.snapshotsBySource],\n (sources, snapshotsBySource): RecordingSnapshot[] => {\n const allSnapshots =\n sources?.flatMap((source) => {\n const sourceKey = getSourceKey(source)\n return snapshotsBySource?.[sourceKey]?.snapshots || []\n }) ?? []\n\n return deduplicateSnapshots(allSnapshots)\n },\n ],\n\n untransformedSnapshots: [\n (s) => [s.snapshotSources, s.snapshotsBySource],\n (sources, snapshotsBySource): RecordingSnapshot[] => {\n const allSnapshots =\n sources?.flatMap((source) => {\n const sourceKey = getSourceKey(source)\n return snapshotsBySource?.[sourceKey]?.untransformed_snapshots || []\n }) ?? []\n\n return deduplicateSnapshots(allSnapshots)\n },\n ],\n\n snapshotsByWindowId: [\n (s) => [s.snapshots],\n (snapshots): Record => {\n return mapSnapshotsToWindowId(snapshots || [])\n },\n ],\n\n snapshotsInvalid: [\n (s, p) => [s.snapshotsByWindowId, s.fullyLoaded, s.start, p.sessionRecordingId, s.currentTeam],\n (snapshotsByWindowId, fullyLoaded, start, sessionRecordingId, currentTeam): boolean => {\n if (!fullyLoaded || !start) {\n return false\n }\n\n const windowsHaveFullSnapshot = Object.entries(snapshotsByWindowId).reduce(\n (acc, [windowId, events]) => {\n acc[`window-id-${windowId}-has-full-snapshot`] = events.some(\n (event) => event.type === EventType.FullSnapshot\n )\n return acc\n },\n {}\n )\n const anyWindowMissingFullSnapshot = !Object.values(windowsHaveFullSnapshot).some((x) => x)\n const everyWindowMissingFullSnapshot = !Object.values(windowsHaveFullSnapshot).every((x) => x)\n\n if (everyWindowMissingFullSnapshot) {\n // video is definitely unplayable\n posthog.capture('recording_has_no_full_snapshot', {\n watchedSession: sessionRecordingId,\n teamId: currentTeam?.id,\n teamName: currentTeam?.name,\n })\n } else if (anyWindowMissingFullSnapshot) {\n posthog.capture('recording_window_missing_full_snapshot', {\n watchedSession: sessionRecordingId,\n teamID: currentTeam?.id,\n teamName: currentTeam?.name,\n })\n }\n\n return everyWindowMissingFullSnapshot\n },\n ],\n\n isRecentAndInvalid: [\n (s) => [s.start, s.snapshotsInvalid],\n (start, snapshotsInvalid) => {\n const lessThanFiveMinutesOld = dayjs().diff(start, 'minute') <= 5\n return snapshotsInvalid && lessThanFiveMinutesOld\n },\n ],\n\n bufferedToTime: [\n (s) => [s.segments],\n (segments): number | null => {\n if (!segments.length) {\n return null\n }\n\n const startTime = segments[0].startTimestamp\n const lastSegment = segments[segments.length - 1]\n\n if (lastSegment.kind === 'buffer') {\n return lastSegment.startTimestamp - startTime\n }\n\n return lastSegment.endTimestamp - startTime\n },\n ],\n\n windowIds: [\n (s) => [s.snapshotsByWindowId],\n (snapshotsByWindowId) => {\n return Object.keys(snapshotsByWindowId)\n },\n ],\n\n createExportJSON: [\n (s) => [s.sessionPlayerMetaData, s.snapshots, s.untransformedSnapshots],\n (\n sessionPlayerMetaData,\n snapshots,\n untransformedSnapshots\n ): ((exportUntransformedMobileSnapshotData: boolean) => ExportedSessionRecordingFileV2) => {\n return (exportUntransformedMobileSnapshotData: boolean) => ({\n version: '2023-04-28',\n data: {\n id: sessionPlayerMetaData?.id ?? '',\n person: sessionPlayerMetaData?.person,\n snapshots: exportUntransformedMobileSnapshotData ? untransformedSnapshots : snapshots,\n },\n })\n },\n ],\n\n customRRWebEvents: [\n (s) => [s.snapshots],\n (snapshots): customEvent[] => {\n return snapshots.filter((snapshot) => snapshot.type === EventType.Custom).map((x) => x as customEvent)\n },\n ],\n })),\n subscriptions(({ actions, values }) => ({\n webVitalsEvents: (value: RecordingEventType[]) => {\n // we preload all web vitals data, so it can be used before user interaction\n if (!values.sessionEventsDataLoading) {\n actions.loadFullEventData(value)\n }\n },\n isRecentAndInvalid: (prev: boolean, next: boolean) => {\n if (!prev && next) {\n posthog.capture('recording cannot playback yet', {\n watchedSession: values.sessionPlayerData.sessionRecordingId,\n })\n }\n },\n })),\n afterMount(({ cache }) => {\n resetTimingsCache(cache)\n }),\n beforeUnmount(({ cache }) => {\n resetTimingsCache(cache)\n }),\n])\n","import { actions, connect, kea, listeners, path, reducers } from 'kea'\nimport { loaders } from 'kea-loaders'\nimport api from 'lib/api'\nimport { dayjs } from 'lib/dayjs'\nimport { CORE_FILTER_DEFINITIONS_BY_GROUP } from 'lib/taxonomy'\nimport { eventUsageLogic } from 'lib/utils/eventUsageLogic'\n\nimport { HogQLQuery, NodeKind } from '~/queries/schema'\nimport { hogql } from '~/queries/utils'\nimport { SessionRecordingPropertiesType, SessionRecordingType } from '~/types'\n\nimport type { sessionRecordingsListPropertiesLogicType } from './sessionRecordingsListPropertiesLogicType'\n\n// This logic is used to fetch properties for a list of recordings\n// It is used in a global way as the cached values can be re-used\nexport const sessionRecordingsListPropertiesLogic = kea([\n path(() => ['scenes', 'session-recordings', 'playlist', 'sessionRecordingsListPropertiesLogic']),\n connect(() => ({\n actions: [eventUsageLogic, ['reportRecordingsListPropertiesFetched']],\n })),\n\n actions({\n loadPropertiesForSessions: (sessions: SessionRecordingType[]) => ({ sessions }),\n maybeLoadPropertiesForSessions: (sessions: SessionRecordingType[]) => ({ sessions }),\n }),\n\n loaders(({ actions }) => ({\n recordingProperties: [\n [] as SessionRecordingPropertiesType[],\n {\n loadPropertiesForSessions: async ({ sessions }, breakpoint) => {\n await breakpoint(100)\n\n const startTime = performance.now()\n const sessionIds = sessions.map((x) => x.id)\n\n const oldestTimestamp = sessions.map((x) => x.start_time).sort()[0]\n const newestTimestamp = sessions.map((x) => x.end_time).sort()[sessions.length - 1]\n\n const query: HogQLQuery = {\n kind: NodeKind.HogQLQuery,\n query: hogql`SELECT \n $session_id as session_id, \n any(properties.$geoip_country_code) as $geoip_country_code, \n any(properties.$browser) as $browser, \n any(properties.$device_type) as $device_type, \n any(properties.$os) as $os, \n any(properties.$os_name) as $os_name,\n argMin(properties.$referring_domain, timestamp) as $referring_domain,\n any(properties.$geoip_subdivision_1_name) as $geoip_subdivision_1_name,\n any(properties.$geoip_city_name) as $geoip_city_name\n FROM events\n WHERE event IN ${Object.keys(CORE_FILTER_DEFINITIONS_BY_GROUP['events'])}\n AND session_id IN ${sessionIds}\n -- the timestamp range here is only to avoid querying too much of the events table\n -- we don't really care about the absolute value, \n -- but we do care about whether timezones have an odd impact\n -- so, we extend the range by a day on each side so that timezones don't cause issues\n AND timestamp >= ${dayjs(oldestTimestamp).subtract(1, 'day')}\n AND timestamp <= ${dayjs(newestTimestamp).add(1, 'day')}\n GROUP BY session_id`,\n }\n\n const response = await api.query(query)\n const loadTimeMs = performance.now() - startTime\n\n actions.reportRecordingsListPropertiesFetched(loadTimeMs)\n\n breakpoint()\n return (response.results || []).map((x: any): SessionRecordingPropertiesType => {\n return {\n id: x[0],\n properties: {\n $geoip_country_code: x[1],\n $browser: x[2],\n $device_type: x[3],\n $os: x[4],\n $os_name: x[5],\n $referring_domain: x[6],\n $geoip_subdivision_1_name: x[7],\n $geoip_city_name: x[8],\n },\n }\n })\n },\n },\n ],\n })),\n\n listeners(({ actions, values }) => ({\n maybeLoadPropertiesForSessions: ({ sessions }) => {\n const newSessions = sessions.filter((session) => !values.recordingPropertiesById[session.id])\n\n if (newSessions.length > 0) {\n actions.loadPropertiesForSessions(newSessions)\n }\n },\n })),\n\n reducers({\n recordingPropertiesById: [\n {} as Record,\n {\n loadPropertiesForSessionsSuccess: (\n state,\n { recordingProperties }\n ): Record => {\n const newState = { ...state }\n recordingProperties.forEach((properties) => {\n newState[properties.id] = properties.properties\n })\n\n return newState\n },\n },\n ],\n }),\n])\n","import { Link } from '@posthog/lemon-ui'\nimport { useActions, useValues } from 'kea'\nimport { Form } from 'kea-forms'\nimport { CopyToClipboardInline } from 'lib/components/CopyToClipboard'\nimport { LemonBanner } from 'lib/lemon-ui/LemonBanner'\nimport { LemonButton } from 'lib/lemon-ui/LemonButton'\nimport { LemonField } from 'lib/lemon-ui/LemonField'\nimport { LemonInput } from 'lib/lemon-ui/LemonInput/LemonInput'\nimport { LemonModal } from 'lib/lemon-ui/LemonModal'\nimport { LemonTextArea } from 'lib/lemon-ui/LemonTextArea/LemonTextArea'\nimport { preflightLogic } from 'scenes/PreflightCheck/preflightLogic'\n\nimport { verifiedDomainsLogic } from './verifiedDomainsLogic'\n\nexport function ConfigureSAMLModal(): JSX.Element {\n const { configureSAMLModalId, isSamlConfigSubmitting, samlConfig } = useValues(verifiedDomainsLogic)\n const { setConfigureSAMLModalId } = useActions(verifiedDomainsLogic)\n const { preflight } = useValues(preflightLogic)\n const siteUrl = preflight?.site_url ?? window.location.origin\n\n const samlReady = samlConfig.saml_acs_url && samlConfig.saml_entity_id && samlConfig.saml_x509_cert\n\n const handleClose = (): void => {\n setConfigureSAMLModalId(null)\n // clean()\n }\n\n return (\n \n
\n \n

Configure SAML authentication and provisioning

\n
\n \n

\n \n Read the docs\n \n

\n \n {`${siteUrl}/complete/saml/`}\n \n \n {configureSAMLModalId || 'unknown'}\n \n \n {siteUrl}\n \n \n \n \n \n \n \n \n \n \n {!samlReady && (\n \n SAML will not be enabled unless you enter all attributes above. However you can still\n settings as draft.\n \n )}\n
\n \n \n Save settings\n \n \n
\n
\n )\n}\n","import { IconEllipsis, IconInfo } from '@posthog/icons'\nimport {\n LemonBanner,\n LemonButton,\n LemonDialog,\n LemonInput,\n LemonMenu,\n LemonTable,\n LemonTableColumns,\n LemonTabs,\n Spinner,\n Tooltip,\n} from '@posthog/lemon-ui'\nimport clsx from 'clsx'\nimport { useActions, useValues } from 'kea'\nimport { Form } from 'kea-forms'\nimport { CodeSnippet, Language } from 'lib/components/CodeSnippet'\nimport { PayGateMini } from 'lib/components/PayGateMini/PayGateMini'\nimport { RestrictionScope, useRestrictedArea } from 'lib/components/RestrictedArea'\nimport { OrganizationMembershipLevel } from 'lib/constants'\nimport { LemonField } from 'lib/lemon-ui/LemonField'\nimport { LemonMarkdown } from 'lib/lemon-ui/LemonMarkdown'\n\nimport { AvailableFeature } from '~/types'\n\nimport { proxyLogic, ProxyRecord } from './proxyLogic'\n\nconst MAX_PROXY_RECORDS = 3\n\nconst statusText = {\n valid: 'live',\n timed_out: 'timed out',\n}\n\nexport function ManagedReverseProxy(): JSX.Element {\n const { formState, proxyRecords, proxyRecordsLoading } = useValues(proxyLogic)\n const { showForm, deleteRecord } = useActions(proxyLogic)\n\n const restrictionReason = useRestrictedArea({\n minimumAccessLevel: OrganizationMembershipLevel.Admin,\n scope: RestrictionScope.Organization,\n })\n\n const maxRecordsReached = proxyRecords.length >= MAX_PROXY_RECORDS\n\n const recordsWithMessages = proxyRecords.filter((record) => !!record.message)\n\n const columns: LemonTableColumns = [\n {\n title: 'Domain',\n dataIndex: 'domain',\n },\n {\n title: 'Status',\n dataIndex: 'status',\n render: function RenderStatus(status) {\n if (!status) {\n return Unknown\n }\n\n return (\n \n {status === 'issuing' && }\n {statusText[status] || status}\n {status === 'waiting' && (\n \n \n \n )}\n {status === 'timed_out' && (\n \n \n \n )}\n \n )\n },\n },\n {\n title: ,\n width: 20,\n className: 'flex justify-center',\n render: function Render(_, { id, status }) {\n return (\n status != 'deleting' &&\n !restrictionReason && (\n {\n LemonDialog.open({\n title: 'Delete managed proxy',\n width: '20rem',\n content:\n 'Are you sure you want to delete this managed proxy? This cannot be undone and if it is in use then events sent to the domain will not be processed.',\n primaryButton: {\n status: 'danger',\n onClick: () => deleteRecord(id),\n children: 'Delete',\n },\n secondaryButton: {\n children: 'Cancel',\n },\n })\n },\n },\n ]}\n >\n } />\n \n )\n )\n },\n },\n ]\n\n return (\n \n
\n {recordsWithMessages.map((r) => (\n \n {`**${r.domain}**\\n ${r.message}`}\n \n ))}\n ,\n }}\n />\n {formState === 'collapsed' ? (\n maxRecordsReached ? (\n \n There is a maximum of {MAX_PROXY_RECORDS} records allowed per organization\n \n ) : (\n
\n \n Add managed proxy\n \n
\n )\n ) : (\n \n )}\n
\n
\n )\n}\n\nconst ExpandedRow = ({ record }: { record: ProxyRecord }): JSX.Element => {\n return (\n
\n \n {record.target_cname}\n \n ),\n },\n ]}\n />\n
\n )\n}\n\nfunction CreateRecordForm(): JSX.Element {\n const { formState, proxyRecordsLoading, proxyRecords } = useValues(proxyLogic)\n const { collapseForm } = useActions(proxyLogic)\n\n const waitingRecords = proxyRecords.filter((r) => r.status === 'waiting')\n\n return (\n
\n {formState == 'active' ? (\n
\n \n \n \n
\n \n Cancel\n \n \n Add\n \n
\n
\n ) : (\n <>\n
Almost there
\n
\n You need to set the following CNAME records in your DNS provider:\n
\n {waitingRecords.map((r) => (\n
\n {r.domain}\n \n {r.target_cname}\n \n
\n ))}\n
\n \n Done\n \n
\n \n )}\n
\n )\n}\n","import { lemonToast } from '@posthog/lemon-ui'\nimport { actions, afterMount, connect, kea, key, listeners, path, props, reducers, selectors } from 'kea'\nimport { forms } from 'kea-forms'\nimport { loaders } from 'kea-loaders'\nimport { actionToUrl, router, urlToAction } from 'kea-router'\nimport api from 'lib/api'\nimport { dayjs } from 'lib/dayjs'\nimport { featureFlagLogic as enabledFlagLogic } from 'lib/logic/featureFlagLogic'\nimport { hasFormErrors, isObject } from 'lib/utils'\nimport { eventUsageLogic } from 'lib/utils/eventUsageLogic'\nimport { Scene } from 'scenes/sceneTypes'\nimport { teamLogic } from 'scenes/teamLogic'\nimport { urls } from 'scenes/urls'\n\nimport { DataTableNode, HogQLQuery, InsightVizNode, NodeKind } from '~/queries/schema'\nimport { hogql } from '~/queries/utils'\nimport {\n BaseMathType,\n Breadcrumb,\n FeatureFlagFilters,\n MultipleSurveyQuestion,\n PropertyFilterType,\n PropertyOperator,\n RatingSurveyQuestion,\n Survey,\n SurveyQuestionBase,\n SurveyQuestionBranchingType,\n SurveyQuestionType,\n SurveyUrlMatchType,\n} from '~/types'\n\nimport { defaultSurveyAppearance, defaultSurveyFieldValues, NEW_SURVEY, NewSurvey } from './constants'\nimport type { surveyLogicType } from './surveyLogicType'\nimport { surveysLogic } from './surveysLogic'\nimport { sanitizeHTML } from './utils'\n\nexport enum SurveyEditSection {\n Steps = 'steps',\n Widget = 'widget',\n Presentation = 'presentation',\n Appearance = 'appearance',\n Customization = 'customization',\n DisplayConditions = 'DisplayConditions',\n Scheduling = 'scheduling',\n CompletionConditions = 'CompletionConditions',\n}\nexport interface SurveyLogicProps {\n /** Either a UUID or 'new'. */\n id: string\n}\n\nexport interface SurveyMetricsQueries {\n surveysShown: DataTableNode\n surveysDismissed: DataTableNode\n}\n\nexport interface SurveyUserStats {\n seen: number\n dismissed: number\n sent: number\n}\n\nexport interface SurveyRatingResults {\n [key: number]: {\n data: number[]\n total: number\n }\n}\n\nexport interface SurveyRecurringNPSResults {\n [key: number]: {\n data: number[]\n total: number\n }\n}\n\ntype SurveyNPSResult = {\n Promoters: number\n Detractors: number\n Passives: number\n}\n\nexport interface SurveySingleChoiceResults {\n [key: number]: {\n labels: string[]\n data: number[]\n total: number\n }\n}\n\nexport interface SurveyMultipleChoiceResults {\n [key: number]: {\n labels: string[]\n data: number[]\n }\n}\n\nexport interface SurveyOpenTextResults {\n [key: number]: {\n events: { distinct_id: string; properties: Record; personProperties: Record }[]\n }\n}\n\nexport interface QuestionResultsReady {\n [key: string]: boolean\n}\n\nexport type DataCollectionType = 'until_stopped' | 'until_limit' | 'until_adaptive_limit'\nexport type ScheduleType = 'once' | 'recurring'\n\nconst getResponseField = (i: number): string => (i === 0 ? '$survey_response' : `$survey_response_${i}`)\n\nfunction duplicateExistingSurvey(survey: Survey | NewSurvey): Partial {\n return {\n ...survey,\n id: NEW_SURVEY.id,\n name: `${survey.name} (copy)`,\n archived: false,\n start_date: null,\n end_date: null,\n targeting_flag_filters: survey.targeting_flag?.filters ?? NEW_SURVEY.targeting_flag_filters,\n linked_flag_id: survey.linked_flag?.id ?? NEW_SURVEY.linked_flag_id,\n }\n}\n\nexport const surveyLogic = kea([\n props({} as SurveyLogicProps),\n key(({ id }) => id),\n path((key) => ['scenes', 'surveys', 'surveyLogic', key]),\n connect(() => ({\n actions: [\n surveysLogic,\n ['loadSurveys'],\n eventUsageLogic,\n [\n 'reportSurveyCreated',\n 'reportSurveyEdited',\n 'reportSurveyArchived',\n 'reportSurveyViewed',\n 'reportSurveyCycleDetected',\n ],\n ],\n values: [enabledFlagLogic, ['featureFlags as enabledFlags'], surveysLogic, ['surveys']],\n })),\n actions({\n setSurveyMissing: true,\n editingSurvey: (editing: boolean) => ({ editing }),\n setDefaultForQuestionType: (\n idx: number,\n type: SurveyQuestionType,\n isEditingQuestion: boolean,\n isEditingDescription: boolean,\n isEditingThankYouMessage: boolean\n ) => ({\n idx,\n type,\n isEditingQuestion,\n isEditingDescription,\n isEditingThankYouMessage,\n }),\n setQuestionBranchingType: (questionIndex, type, specificQuestionIndex) => ({\n questionIndex,\n type,\n specificQuestionIndex,\n }),\n setResponseBasedBranchingForQuestion: (questionIndex, responseValue, nextStep, specificQuestionIndex) => ({\n questionIndex,\n responseValue,\n nextStep,\n specificQuestionIndex,\n }),\n setDataCollectionType: (dataCollectionType: DataCollectionType) => ({\n dataCollectionType,\n }),\n resetBranchingForQuestion: (questionIndex) => ({ questionIndex }),\n deleteBranchingLogic: true,\n archiveSurvey: true,\n setWritingHTMLDescription: (writingHTML: boolean) => ({ writingHTML }),\n setSurveyTemplateValues: (template: any) => ({ template }),\n setSelectedPageIndex: (idx: number | null) => ({ idx }),\n setSelectedSection: (section: SurveyEditSection | null) => ({ section }),\n\n setSchedule: (schedule: ScheduleType) => ({ schedule }),\n resetTargeting: true,\n resetSurveyAdaptiveSampling: true,\n resetSurveyResponseLimits: true,\n setFlagPropertyErrors: (errors: any) => ({ errors }),\n }),\n loaders(({ props, actions, values }) => ({\n responseSummary: {\n summarize: async ({ questionIndex }: { questionIndex?: number }) => {\n return api.surveys.summarize_responses(props.id, questionIndex)\n },\n },\n survey: {\n loadSurvey: async () => {\n if (props.id && props.id !== 'new') {\n try {\n const survey = await api.surveys.get(props.id)\n actions.reportSurveyViewed(survey)\n return survey\n } catch (error: any) {\n if (error.status === 404) {\n actions.setSurveyMissing()\n return { ...NEW_SURVEY }\n }\n throw error\n }\n }\n if (props.id === 'new' && router.values.hashParams.fromTemplate) {\n const templatedSurvey = values.survey\n templatedSurvey.appearance = {\n ...defaultSurveyAppearance,\n ...teamLogic.values.currentTeam?.survey_config?.appearance,\n ...templatedSurvey.appearance,\n }\n return templatedSurvey\n }\n\n const newSurvey = NEW_SURVEY\n newSurvey.appearance = {\n ...defaultSurveyAppearance,\n ...teamLogic.values.currentTeam?.survey_config?.appearance,\n ...newSurvey.appearance,\n }\n\n return newSurvey\n },\n createSurvey: async (surveyPayload: Partial) => {\n return await api.surveys.create(sanitizeQuestions(surveyPayload))\n },\n updateSurvey: async (surveyPayload: Partial) => {\n return await api.surveys.update(props.id, sanitizeQuestions(surveyPayload))\n },\n launchSurvey: async () => {\n const startDate = dayjs()\n return await api.surveys.update(props.id, { start_date: startDate.toISOString() })\n },\n stopSurvey: async () => {\n return await api.surveys.update(props.id, { end_date: dayjs().toISOString() })\n },\n resumeSurvey: async () => {\n return await api.surveys.update(props.id, { end_date: null })\n },\n },\n duplicatedSurvey: {\n duplicateSurvey: async () => {\n const { survey } = values\n const payload = duplicateExistingSurvey(survey)\n const createdSurvey = await api.surveys.create(sanitizeQuestions(payload))\n\n lemonToast.success('Survey duplicated.', {\n toastId: `survey-duplicated-${createdSurvey.id}`,\n button: {\n label: 'View Survey',\n action: () => {\n router.actions.push(urls.survey(createdSurvey.id))\n },\n },\n })\n\n actions.reportSurveyCreated(createdSurvey, true)\n return survey\n },\n },\n surveyUserStats: {\n loadSurveyUserStats: async (): Promise => {\n const survey: Survey = values.survey as Survey\n const startDate = dayjs(survey.start_date || survey.created_at).format('YYYY-MM-DD')\n const endDate = survey.end_date\n ? dayjs(survey.end_date).add(1, 'day').format('YYYY-MM-DD')\n : dayjs().add(1, 'day').format('YYYY-MM-DD')\n\n const query: HogQLQuery = {\n kind: NodeKind.HogQLQuery,\n query: hogql`\n SELECT\n (SELECT COUNT(DISTINCT person_id)\n FROM events\n WHERE event = 'survey shown'\n AND properties.$survey_id = ${props.id}\n AND timestamp >= ${startDate}\n AND timestamp <= ${endDate}),\n (SELECT COUNT(DISTINCT person_id)\n FROM events\n WHERE event = 'survey dismissed'\n AND properties.$survey_id = ${props.id}\n AND timestamp >= ${startDate}\n AND timestamp <= ${endDate}),\n (SELECT COUNT(DISTINCT person_id)\n FROM events\n WHERE event = 'survey sent'\n AND properties.$survey_id = ${props.id}\n AND timestamp >= ${startDate}\n AND timestamp <= ${endDate})\n `,\n }\n const responseJSON = await api.query(query)\n const { results } = responseJSON\n if (results && results[0]) {\n const [totalSeen, dismissed, sent] = results[0]\n const onlySeen = totalSeen - dismissed - sent\n return { seen: onlySeen < 0 ? 0 : onlySeen, dismissed, sent }\n }\n return { seen: 0, dismissed: 0, sent: 0 }\n },\n },\n surveyRatingResults: {\n loadSurveyRatingResults: async ({\n questionIndex,\n iteration,\n }: {\n questionIndex: number\n iteration?: number | null | undefined\n }): Promise => {\n const question = values.survey.questions[questionIndex]\n if (question.type !== SurveyQuestionType.Rating) {\n throw new Error(`Survey question type must be ${SurveyQuestionType.Rating}`)\n }\n\n const survey: Survey = values.survey as Survey\n const startDate = dayjs(survey.start_date || survey.created_at).format('YYYY-MM-DD')\n const endDate = survey.end_date\n ? dayjs(survey.end_date).add(1, 'day').format('YYYY-MM-DD')\n : dayjs().add(1, 'day').format('YYYY-MM-DD')\n\n let iterationCondition = ''\n if (iteration && iteration > 0) {\n iterationCondition = ` AND properties.$survey_iteration='${iteration}' `\n }\n const query: HogQLQuery = {\n kind: NodeKind.HogQLQuery,\n query: `\n SELECT\n JSONExtractString(properties, '${getResponseField(questionIndex)}') AS survey_response,\n COUNT(survey_response)\n FROM events\n WHERE event = 'survey sent' \n AND properties.$survey_id = '${props.id}'\n ${iterationCondition}\n AND timestamp >= '${startDate}'\n AND timestamp <= '${endDate}'\n GROUP BY survey_response\n `,\n }\n const responseJSON = await api.query(query)\n // TODO:Dylan - I don't like how we lose our types here\n // would be cool if we could parse this in a more type-safe way\n const { results } = responseJSON\n\n let total = 0\n const dataSize = question.scale === 10 ? 11 : question.scale\n const data = new Array(dataSize).fill(0)\n results?.forEach(([value, count]) => {\n total += count\n\n const index = question.scale === 10 ? value : value - 1\n data[index] = count\n })\n\n return { ...values.surveyRatingResults, [questionIndex]: { total, data } }\n },\n },\n surveyRecurringNPSResults: {\n loadSurveyRecurringNPSResults: async ({\n questionIndex,\n }: {\n questionIndex: number\n }): Promise => {\n const question = values.survey.questions[questionIndex]\n if (question.type !== SurveyQuestionType.Rating) {\n throw new Error(`Survey question type must be ${SurveyQuestionType.Rating}`)\n }\n\n const survey: Survey = values.survey as Survey\n const startDate = dayjs(survey.start_date || survey.created_at).format('YYYY-MM-DD')\n const endDate = survey.end_date\n ? dayjs(survey.end_date).add(1, 'day').format('YYYY-MM-DD')\n : dayjs().add(1, 'day').format('YYYY-MM-DD')\n\n const query: HogQLQuery = {\n kind: NodeKind.HogQLQuery,\n query: `\n SELECT\n JSONExtractString(properties, '$survey_iteration') AS survey_iteration,\n JSONExtractString(properties, '${getResponseField(questionIndex)}') AS survey_response,\n COUNT(survey_response)\n FROM events\n WHERE event = 'survey sent'\n AND properties.$survey_id = '${props.id}'\n AND timestamp >= '${startDate}'\n AND timestamp <= '${endDate}'\n GROUP BY survey_response, survey_iteration\n `,\n }\n\n const responseJSON = await api.query(query)\n const { results } = responseJSON\n let total = 100\n const data = new Array(survey.iteration_count).fill(0)\n\n const iterations = new Map()\n\n results?.forEach(([iteration, response, count]) => {\n let promoters = 0\n let passives = 0\n let detractors = 0\n\n if (parseInt(response) >= 9) {\n // a Promoter is someone who gives a survey response of 9 or 10\n promoters += parseInt(count)\n } else if (parseInt(response) > 6) {\n // a Passive is someone who gives a survey response of 7 or 8\n passives += parseInt(count)\n } else {\n // a Detractor is someone who gives a survey response of 0 - 6\n detractors += parseInt(count)\n }\n\n if (iterations.has(iteration)) {\n const currentValue = iterations.get(iteration)\n if (currentValue !== undefined) {\n currentValue.Detractors += detractors\n currentValue.Promoters += promoters\n currentValue.Passives += passives\n }\n } else {\n iterations.set(iteration, {\n Detractors: detractors,\n Passives: passives,\n Promoters: promoters,\n })\n }\n })\n\n iterations.forEach((value: SurveyNPSResult, key: string) => {\n // NPS score is calculated with this formula\n // (Promoters / (Promoters + Passives + Detractors) * 100) - (Detractors / (Promoters + Passives + Detractors)* 100)\n const totalResponses = value.Promoters + value.Passives + value.Detractors\n const npsScore =\n (value.Promoters / totalResponses) * 100 - (value.Detractors / totalResponses) * 100\n data[parseInt(key) - 1] = npsScore\n total += 100\n })\n\n return { ...values.surveyRecurringNPSResults, [questionIndex]: { total, data } }\n },\n },\n surveySingleChoiceResults: {\n loadSurveySingleChoiceResults: async ({\n questionIndex,\n }: {\n questionIndex: number\n }): Promise => {\n const survey: Survey = values.survey as Survey\n const startDate = dayjs(survey.start_date || survey.created_at).format('YYYY-MM-DD')\n const endDate = survey.end_date\n ? dayjs(survey.end_date).add(1, 'day').format('YYYY-MM-DD')\n : dayjs().add(1, 'day').format('YYYY-MM-DD')\n\n const query: HogQLQuery = {\n kind: NodeKind.HogQLQuery,\n query: `\n SELECT\n JSONExtractString(properties, '${getResponseField(questionIndex)}') AS survey_response,\n COUNT(survey_response)\n FROM events\n WHERE event = 'survey sent' \n AND properties.$survey_id = '${props.id}'\n AND timestamp >= '${startDate}'\n AND timestamp <= '${endDate}'\n GROUP BY survey_response\n `,\n }\n const responseJSON = await api.query(query)\n const { results } = responseJSON\n\n const labels = results?.map((r) => r[0])\n const data = results?.map((r) => r[1])\n const total = data?.reduce((a, b) => a + b, 0)\n\n return { ...values.surveySingleChoiceResults, [questionIndex]: { labels, data, total } }\n },\n },\n surveyMultipleChoiceResults: {\n loadSurveyMultipleChoiceResults: async ({\n questionIndex,\n }: {\n questionIndex: number\n }): Promise => {\n const question = values.survey.questions[questionIndex]\n if (question.type !== SurveyQuestionType.MultipleChoice) {\n throw new Error(`Survey question type must be ${SurveyQuestionType.MultipleChoice}`)\n }\n\n const survey: Survey = values.survey as Survey\n const startDate = dayjs(survey.start_date || survey.created_at).format('YYYY-MM-DD')\n const endDate = survey.end_date\n ? dayjs(survey.end_date).add(1, 'day').format('YYYY-MM-DD')\n : dayjs().add(1, 'day').format('YYYY-MM-DD')\n\n const query: HogQLQuery = {\n kind: NodeKind.HogQLQuery,\n query: `\n SELECT \n count(),\n arrayJoin(JSONExtractArrayRaw(properties, '${getResponseField(questionIndex)}')) AS choice\n FROM events\n WHERE event == 'survey sent'\n AND properties.$survey_id == '${survey.id}'\n AND timestamp >= '${startDate}'\n AND timestamp <= '${endDate}'\n GROUP BY choice\n ORDER BY count() DESC\n `,\n }\n const responseJSON = await api.query(query)\n let { results } = responseJSON\n\n // Remove outside quotes\n results = results?.map((r) => {\n return [r[0], r[1].slice(1, r[1].length - 1)]\n })\n\n // Zero-fill choices that are not open-ended\n question.choices.forEach((choice, idx) => {\n const isOpenChoice = idx == question.choices.length - 1 && question?.hasOpenChoice\n if (results?.length && !isOpenChoice && !results.some((r) => r[1] === choice)) {\n results.push([0, choice])\n }\n })\n\n const data = results?.map((r) => r[0])\n const labels = results?.map((r) => r[1])\n\n return { ...values.surveyMultipleChoiceResults, [questionIndex]: { labels, data } }\n },\n },\n surveyOpenTextResults: {\n loadSurveyOpenTextResults: async ({\n questionIndex,\n }: {\n questionIndex: number\n }): Promise => {\n const question = values.survey.questions[questionIndex]\n if (question.type !== SurveyQuestionType.Open) {\n throw new Error(`Survey question type must be ${SurveyQuestionType.Open}`)\n }\n\n const survey: Survey = values.survey as Survey\n const startDate = dayjs(survey.start_date || survey.created_at).format('YYYY-MM-DD')\n const endDate = survey.end_date\n ? dayjs(survey.end_date).add(1, 'day').format('YYYY-MM-DD')\n : dayjs().add(1, 'day').format('YYYY-MM-DD')\n\n const query: HogQLQuery = {\n kind: NodeKind.HogQLQuery,\n query: `\n SELECT distinct_id, properties, person.properties\n FROM events\n WHERE event == 'survey sent'\n AND properties.$survey_id == '${survey.id}'\n AND trim(JSONExtractString(properties, '${getResponseField(questionIndex)}')) != ''\n AND timestamp >= '${startDate}'\n AND timestamp <= '${endDate}'\n LIMIT 20\n `,\n }\n\n const responseJSON = await api.query(query)\n const { results } = responseJSON\n\n const events =\n results?.map((r) => {\n const distinct_id = r[0]\n const properties = JSON.parse(r[1])\n const personProperties = JSON.parse(r[2])\n return { distinct_id, properties, personProperties }\n }) || []\n\n return { ...values.surveyOpenTextResults, [questionIndex]: { events } }\n },\n },\n })),\n listeners(({ actions, values }) => ({\n createSurveySuccess: ({ survey }) => {\n lemonToast.success(<>Survey {survey.name} created)\n actions.loadSurveys()\n router.actions.replace(urls.survey(survey.id))\n actions.reportSurveyCreated(survey)\n },\n updateSurveySuccess: ({ survey }) => {\n lemonToast.success(<>Survey {survey.name} updated)\n actions.editingSurvey(false)\n actions.reportSurveyEdited(survey)\n actions.loadSurveys()\n },\n duplicateSurveySuccess: () => {\n actions.loadSurveys()\n },\n launchSurveySuccess: ({ survey }) => {\n lemonToast.success(<>Survey {survey.name} launched)\n actions.loadSurveys()\n },\n stopSurveySuccess: () => {\n actions.loadSurveys()\n },\n resumeSurveySuccess: () => {\n actions.loadSurveys()\n },\n archiveSurvey: () => {\n actions.updateSurvey({ archived: true })\n },\n loadSurveySuccess: () => {\n actions.loadSurveyUserStats()\n },\n resetSurveyResponseLimits: () => {\n actions.setSurveyValue('responses_limit', null)\n },\n\n resetSurveyAdaptiveSampling: () => {\n actions.setSurveyValues({\n response_sampling_interval: null,\n response_sampling_interval_type: null,\n response_sampling_limit: null,\n response_sampling_start_date: null,\n response_sampling_daily_limits: null,\n })\n },\n resetTargeting: () => {\n actions.setSurveyValue('linked_flag_id', NEW_SURVEY.linked_flag_id)\n actions.setSurveyValue('targeting_flag_filters', NEW_SURVEY.targeting_flag_filters)\n actions.setSurveyValue('linked_flag', NEW_SURVEY.linked_flag)\n actions.setSurveyValue('targeting_flag', NEW_SURVEY.targeting_flag)\n actions.setSurveyValue('conditions', NEW_SURVEY.conditions)\n actions.setSurveyValue('remove_targeting_flag', true)\n actions.setSurveyValue('responses_limit', NEW_SURVEY.responses_limit)\n actions.setSurveyValues({\n iteration_count: NEW_SURVEY.iteration_count,\n iteration_frequency_days: NEW_SURVEY.iteration_frequency_days,\n })\n },\n submitSurveyFailure: async () => {\n // When errors occur, scroll to the error, but wait for errors to be set in the DOM first\n if (hasFormErrors(values.flagPropertyErrors) || values.urlMatchTypeValidationError) {\n actions.setSelectedSection(SurveyEditSection.DisplayConditions)\n } else {\n actions.setSelectedSection(SurveyEditSection.Steps)\n }\n setTimeout(\n () => document.querySelector(`.Field--error`)?.scrollIntoView({ block: 'center', behavior: 'smooth' }),\n 5\n )\n },\n })),\n reducers({\n isEditingSurvey: [\n false,\n {\n editingSurvey: (_, { editing }) => editing,\n },\n ],\n surveyMissing: [\n false,\n {\n setSurveyMissing: () => true,\n },\n ],\n dataCollectionType: [\n 'until_stopped' as DataCollectionType,\n {\n setDataCollectionType: (_, { dataCollectionType }) => dataCollectionType,\n },\n ],\n\n survey: [\n { ...NEW_SURVEY } as NewSurvey | Survey,\n {\n setDefaultForQuestionType: (\n state,\n { idx, type, isEditingQuestion, isEditingDescription, isEditingThankYouMessage }\n ) => {\n const question = isEditingQuestion\n ? state.questions[idx].question\n : defaultSurveyFieldValues[type].questions[0].question\n const description = isEditingDescription\n ? state.questions[idx].description\n : defaultSurveyFieldValues[type].questions[0].description\n const thankYouMessageHeader = isEditingThankYouMessage\n ? state.appearance?.thankYouMessageHeader\n : defaultSurveyFieldValues[type].appearance.thankYouMessageHeader\n const newQuestions = [...state.questions]\n newQuestions[idx] = {\n ...state.questions[idx],\n ...(defaultSurveyFieldValues[type].questions[0] as SurveyQuestionBase),\n question,\n description,\n }\n return {\n ...state,\n questions: newQuestions,\n appearance: {\n ...state.appearance,\n ...defaultSurveyFieldValues[type].appearance,\n thankYouMessageHeader,\n },\n }\n },\n setSurveyTemplateValues: (_, { template }) => {\n const newTemplateSurvey = { ...NEW_SURVEY, ...template }\n return newTemplateSurvey\n },\n setQuestionBranchingType: (state, { questionIndex, type, specificQuestionIndex }) => {\n const newQuestions = [...state.questions]\n const question = newQuestions[questionIndex]\n\n if (type === SurveyQuestionBranchingType.NextQuestion) {\n delete question.branching\n } else if (type === SurveyQuestionBranchingType.End) {\n question.branching = {\n type: SurveyQuestionBranchingType.End,\n }\n } else if (type === SurveyQuestionBranchingType.ResponseBased) {\n if (\n question.type !== SurveyQuestionType.Rating &&\n question.type !== SurveyQuestionType.SingleChoice\n ) {\n throw new Error(\n `Survey question type must be ${SurveyQuestionType.Rating} or ${SurveyQuestionType.SingleChoice}`\n )\n }\n\n question.branching = {\n type: SurveyQuestionBranchingType.ResponseBased,\n responseValues: {},\n }\n } else if (type === SurveyQuestionBranchingType.SpecificQuestion) {\n question.branching = {\n type: SurveyQuestionBranchingType.SpecificQuestion,\n index: specificQuestionIndex,\n }\n }\n\n newQuestions[questionIndex] = question\n return {\n ...state,\n questions: newQuestions,\n }\n },\n setResponseBasedBranchingForQuestion: (\n state,\n { questionIndex, responseValue, nextStep, specificQuestionIndex }\n ) => {\n const newQuestions = [...state.questions]\n const question = newQuestions[questionIndex]\n\n if (\n question.type !== SurveyQuestionType.Rating &&\n question.type !== SurveyQuestionType.SingleChoice\n ) {\n throw new Error(\n `Survey question type must be ${SurveyQuestionType.Rating} or ${SurveyQuestionType.SingleChoice}`\n )\n }\n\n if (question.branching?.type !== SurveyQuestionBranchingType.ResponseBased) {\n throw new Error(\n `Survey question branching type must be ${SurveyQuestionBranchingType.ResponseBased}`\n )\n }\n\n if ('responseValues' in question.branching) {\n if (nextStep === SurveyQuestionBranchingType.NextQuestion) {\n delete question.branching.responseValues[responseValue]\n } else if (nextStep === SurveyQuestionBranchingType.End) {\n question.branching.responseValues[responseValue] = SurveyQuestionBranchingType.End\n } else if (nextStep === SurveyQuestionBranchingType.SpecificQuestion) {\n question.branching.responseValues[responseValue] = specificQuestionIndex\n }\n }\n\n newQuestions[questionIndex] = question\n return {\n ...state,\n questions: newQuestions,\n }\n },\n resetBranchingForQuestion: (state, { questionIndex }) => {\n const newQuestions = [...state.questions]\n const question = newQuestions[questionIndex]\n delete question.branching\n\n newQuestions[questionIndex] = question\n return {\n ...state,\n questions: newQuestions,\n }\n },\n deleteBranchingLogic: (state) => {\n const newQuestions = [...state.questions]\n newQuestions.forEach((question) => {\n delete question.branching\n })\n\n return {\n ...state,\n questions: newQuestions,\n }\n },\n },\n ],\n selectedPageIndex: [\n 0 as number | null,\n {\n setSelectedPageIndex: (_, { idx }) => idx,\n },\n ],\n selectedSection: [\n SurveyEditSection.Steps as SurveyEditSection | null,\n {\n setSelectedSection: (_, { section }) => section,\n },\n ],\n surveyRatingResultsReady: [\n {},\n {\n loadSurveyRatingResultsSuccess: (state, { payload }) => {\n if (!payload || !payload.hasOwnProperty('questionIndex')) {\n return { ...state }\n }\n return { ...state, [payload.questionIndex]: true }\n },\n },\n ],\n surveyRecurringNPSResultsReady: [\n {},\n {\n loadSurveyRecurringNPSResultsSuccess: (state, { payload }) => {\n if (!payload || !payload.hasOwnProperty('questionIndex')) {\n return { ...state }\n }\n return { ...state, [payload.questionIndex]: true }\n },\n },\n ],\n surveySingleChoiceResultsReady: [\n {},\n {\n loadSurveySingleChoiceResultsSuccess: (state, { payload }) => {\n if (!payload || !payload.hasOwnProperty('questionIndex')) {\n return { ...state }\n }\n return { ...state, [payload.questionIndex]: true }\n },\n },\n ],\n surveyMultipleChoiceResultsReady: [\n {},\n {\n loadSurveyMultipleChoiceResultsSuccess: (state, { payload }) => {\n if (!payload || !payload.hasOwnProperty('questionIndex')) {\n return { ...state }\n }\n return { ...state, [payload.questionIndex]: true }\n },\n },\n ],\n surveyOpenTextResultsReady: [\n {},\n {\n loadSurveyOpenTextResultsSuccess: (state, { payload }) => {\n if (!payload || !payload.hasOwnProperty('questionIndex')) {\n return { ...state }\n }\n return { ...state, [payload.questionIndex]: true }\n },\n },\n ],\n writingHTMLDescription: [\n false,\n {\n setWritingHTMLDescription: (_, { writingHTML }) => writingHTML,\n },\n ],\n schedule: [\n 'once',\n {\n setSchedule: (_, { schedule }) => schedule,\n },\n ],\n flagPropertyErrors: [\n null as any,\n {\n setFlagPropertyErrors: (_, { errors }) => errors,\n },\n ],\n }),\n selectors({\n isSurveyRunning: [\n (s) => [s.survey],\n (survey: Survey): boolean => {\n return !!(survey.start_date && !survey.end_date)\n },\n ],\n surveyUsesLimit: [\n (s) => [s.survey],\n (survey: Survey): boolean => {\n return !!(survey.responses_limit && survey.responses_limit > 0)\n },\n ],\n surveyUsesAdaptiveLimit: [\n (s) => [s.survey],\n (survey: Survey): boolean => {\n return !!(\n survey.response_sampling_interval &&\n survey.response_sampling_interval > 0 &&\n survey.response_sampling_interval_type !== '' &&\n survey.response_sampling_limit &&\n survey.response_sampling_limit > 0\n )\n },\n ],\n surveyShufflingQuestionsAvailable: [\n (s) => [s.survey],\n (survey: Survey): boolean => {\n return survey.questions.length > 1\n },\n ],\n showSurveyRepeatSchedule: [(s) => [s.schedule], (schedule: ScheduleType) => schedule == 'recurring'],\n descriptionContentType: [\n (s) => [s.survey],\n (survey: Survey) => (questionIndex: number) => {\n return survey.questions[questionIndex].descriptionContentType\n },\n ],\n surveyRepeatedActivationAvailable: [\n (s) => [s.survey],\n (survey: Survey): boolean =>\n survey.conditions?.events?.values != undefined && survey.conditions?.events?.values?.length > 0,\n ],\n hasTargetingSet: [\n (s) => [s.survey],\n (survey: Survey): boolean => {\n const hasLinkedFlag =\n !!survey.linked_flag_id || (survey.linked_flag && Object.keys(survey.linked_flag).length > 0)\n const hasTargetingFlag =\n (survey.targeting_flag && Object.keys(survey.targeting_flag).length > 0) ||\n (survey.targeting_flag_filters && Object.keys(survey.targeting_flag_filters).length > 0)\n const hasOtherConditions = survey.conditions && Object.keys(survey.conditions).length > 0\n return !!hasLinkedFlag || !!hasTargetingFlag || !!hasOtherConditions\n },\n ],\n breadcrumbs: [\n (s) => [s.survey],\n (survey: Survey): Breadcrumb[] => [\n {\n key: Scene.Surveys,\n name: 'Surveys',\n path: urls.surveys(),\n },\n { key: [Scene.Survey, survey?.id || 'new'], name: survey.name },\n ],\n ],\n dataTableQuery: [\n (s) => [s.survey],\n (survey): DataTableNode | null => {\n if (survey.id === 'new') {\n return null\n }\n const surveyWithResults = survey as Survey\n const startDate = surveyWithResults.start_date || surveyWithResults.created_at\n return {\n kind: NodeKind.DataTableNode,\n source: {\n kind: NodeKind.EventsQuery,\n select: [\n '*',\n ...survey.questions.map((q, i) => {\n if (q.type === SurveyQuestionType.MultipleChoice) {\n // Join array items into a string\n return `coalesce(arrayStringConcat(JSONExtractArrayRaw(properties, '${getResponseField(\n i\n )}'), ', ')) -- ${q.question}`\n }\n\n return `coalesce(JSONExtractString(properties, '${getResponseField(i)}')) -- ${\n q.question\n }`\n }),\n 'timestamp',\n 'person',\n `coalesce(JSONExtractString(properties, '$lib_version')) -- Library Version`,\n `coalesce(JSONExtractString(properties, '$lib')) -- Library`,\n `coalesce(JSONExtractString(properties, '$current_url')) -- URL`,\n ],\n orderBy: ['timestamp DESC'],\n where: [`event == 'survey sent'`],\n after: startDate,\n properties: [\n {\n type: PropertyFilterType.Event,\n key: '$survey_id',\n operator: PropertyOperator.Exact,\n value: survey.id,\n },\n ],\n },\n propertiesViaUrl: true,\n showExport: true,\n showReload: true,\n showEventFilter: false,\n showPropertyFilter: true,\n showTimings: false,\n }\n },\n ],\n targetingFlagFilters: [\n (s) => [s.survey],\n (survey): FeatureFlagFilters | undefined => {\n if (survey.targeting_flag_filters) {\n return {\n ...survey.targeting_flag_filters,\n groups: survey.targeting_flag_filters.groups,\n multivariate: null,\n payloads: {},\n super_groups: undefined,\n }\n }\n return survey.targeting_flag?.filters || undefined\n },\n ],\n urlMatchTypeValidationError: [\n (s) => [s.survey],\n (survey): string | null => {\n if (survey.conditions?.urlMatchType === SurveyUrlMatchType.Regex && survey.conditions.url) {\n try {\n new RegExp(survey.conditions.url)\n } catch (e: any) {\n return e.message\n }\n }\n return null\n },\n ],\n surveyNPSScore: [\n (s) => [s.surveyRatingResults],\n (surveyRatingResults) => {\n if (surveyRatingResults) {\n const questionIdx = Object.keys(surveyRatingResults)[0]\n const questionResults = surveyRatingResults[questionIdx]\n\n // If we don't have any results, return 'No data available' instead of NaN.\n if (questionResults.total === 0) {\n return 'No data available'\n }\n\n const data: number[] = questionResults.data\n if (data.length === 11) {\n const promoters = data.slice(9, 11).reduce((a, b) => a + b, 0)\n const passives = data.slice(7, 9).reduce((a, b) => a + b, 0)\n const detractors = data.slice(0, 7).reduce((a, b) => a + b, 0)\n const npsScore = ((promoters - detractors) / (promoters + passives + detractors)) * 100\n return npsScore.toFixed(1)\n }\n }\n },\n ],\n\n getBranchingDropdownValue: [\n (s) => [s.survey],\n (survey) => (questionIndex: number, question: RatingSurveyQuestion | MultipleSurveyQuestion) => {\n if (question.branching?.type) {\n const { type } = question.branching\n\n if (type === SurveyQuestionBranchingType.SpecificQuestion) {\n const nextQuestionIndex = question.branching.index\n return `${SurveyQuestionBranchingType.SpecificQuestion}:${nextQuestionIndex}`\n }\n\n return type\n }\n\n // No branching specified, default to Next question / Confirmation message\n if (questionIndex < survey.questions.length - 1) {\n return SurveyQuestionBranchingType.NextQuestion\n }\n\n return SurveyQuestionBranchingType.End\n },\n ],\n getResponseBasedBranchingDropdownValue: [\n (s) => [s.survey],\n (survey) => (questionIndex: number, question: RatingSurveyQuestion | MultipleSurveyQuestion, response) => {\n if (!question.branching || !('responseValues' in question.branching)) {\n return SurveyQuestionBranchingType.NextQuestion\n }\n\n // If a value is mapped onto an integer, we're redirecting to a specific question\n if (Number.isInteger(question.branching.responseValues[response])) {\n const nextQuestionIndex = question.branching.responseValues[response]\n return `${SurveyQuestionBranchingType.SpecificQuestion}:${nextQuestionIndex}`\n }\n\n // If any other value is present (practically only Confirmation message), return that value\n if (question.branching?.responseValues?.[response]) {\n return question.branching.responseValues[response]\n }\n\n // No branching specified, default to Next question / Confirmation message\n if (questionIndex < survey.questions.length - 1) {\n return SurveyQuestionBranchingType.NextQuestion\n }\n\n return SurveyQuestionBranchingType.End\n },\n ],\n hasCycle: [\n (s) => [s.survey],\n (survey) => {\n const graph = new Map()\n survey.questions.forEach((question, fromIndex: number) => {\n if (!graph.has(fromIndex)) {\n graph.set(fromIndex, new Set())\n }\n\n if (question.branching?.type === SurveyQuestionBranchingType.End) {\n return\n } else if (\n question.branching?.type === SurveyQuestionBranchingType.SpecificQuestion &&\n Number.isInteger(question.branching.index)\n ) {\n const toIndex = question.branching.index\n graph.get(fromIndex).add(toIndex)\n return\n } else if (\n question.branching?.type === SurveyQuestionBranchingType.ResponseBased &&\n isObject(question.branching?.responseValues)\n ) {\n for (const [_, toIndex] of Object.entries(question.branching?.responseValues)) {\n if (Number.isInteger(toIndex)) {\n graph.get(fromIndex).add(toIndex)\n }\n }\n }\n\n // No branching - still need to connect the next question\n if (fromIndex < survey.questions.length - 1) {\n const toIndex = fromIndex + 1\n graph.get(fromIndex).add(toIndex)\n }\n })\n\n let cycleDetected = false\n function dfs(node: number, seen: number[]): void {\n if (cycleDetected) {\n return\n }\n\n for (const neighbor of graph.get(node) || []) {\n if (seen.includes(neighbor)) {\n cycleDetected = true\n return\n }\n dfs(neighbor, seen.concat(neighbor))\n }\n }\n dfs(0, [0])\n\n return cycleDetected\n },\n ],\n hasBranchingLogic: [\n (s) => [s.survey],\n (survey) =>\n survey.questions.some((question) => question.branching && Object.keys(question.branching).length > 0),\n ],\n surveyAsInsightURL: [\n (s) => [s.survey],\n (survey) => {\n const query: InsightVizNode = {\n kind: NodeKind.InsightVizNode,\n source: {\n kind: NodeKind.TrendsQuery,\n properties: [\n {\n key: '$survey_id',\n value: survey.id,\n operator: PropertyOperator.Exact,\n type: PropertyFilterType.Event,\n },\n ],\n series: [\n {\n kind: NodeKind.EventsNode,\n event: 'survey sent',\n name: 'survey sent',\n math: BaseMathType.TotalCount,\n },\n {\n kind: NodeKind.EventsNode,\n event: 'survey shown',\n name: 'survey shown',\n math: BaseMathType.TotalCount,\n },\n {\n kind: NodeKind.EventsNode,\n event: 'survey dismissed',\n name: 'survey dismissed',\n math: BaseMathType.TotalCount,\n },\n ],\n },\n }\n\n return urls.insightNew(undefined, undefined, query)\n },\n ],\n }),\n forms(({ actions, props, values }) => ({\n survey: {\n defaults: { ...NEW_SURVEY } as NewSurvey | Survey,\n errors: ({ name, questions }) => ({\n // NOTE: When more validation errors are added, the submitSurveyFailure listener should be updated\n // to scroll to the right error section\n name: !name && 'Please enter a name.',\n questions: questions.map((question) => {\n const questionErrors = {\n question: !question.question && 'Please enter a question label.',\n }\n\n if (question.type === SurveyQuestionType.Rating) {\n return {\n ...questionErrors,\n display: !question.display && 'Please choose a display type.',\n scale: !question.scale && 'Please choose a scale.',\n lowerBoundLabel: !question.lowerBoundLabel && 'Please enter a lower bound label.',\n upperBoundLabel: !question.upperBoundLabel && 'Please enter an upper bound label.',\n }\n } else if (\n question.type === SurveyQuestionType.SingleChoice ||\n question.type === SurveyQuestionType.MultipleChoice\n ) {\n return {\n ...questionErrors,\n choices: question.choices.some((choice) => !choice.trim())\n ? 'Please ensure all choices are non-empty.'\n : undefined,\n }\n }\n\n return questionErrors\n }),\n // release conditions controlled using a PureField in the form\n targeting_flag_filters: values.flagPropertyErrors,\n // controlled using a PureField in the form\n urlMatchType: values.urlMatchTypeValidationError,\n }),\n submit: (surveyPayload) => {\n if (values.hasCycle) {\n actions.reportSurveyCycleDetected(values.survey)\n\n return lemonToast.error(\n 'Your survey contains an endless cycle. Please revisit your branching rules.'\n )\n }\n\n // when the survey is being submitted, we should turn off editing mode\n actions.editingSurvey(false)\n if (props.id && props.id !== 'new') {\n actions.updateSurvey(surveyPayload)\n } else {\n actions.createSurvey(surveyPayload)\n }\n },\n },\n })),\n urlToAction(({ actions, props }) => ({\n [urls.survey(props.id ?? 'new')]: (_, { edit }, __, { method }) => {\n // We always set the editingSurvey to true when we create a new survey\n if (props.id === 'new') {\n actions.editingSurvey(true)\n }\n // If the URL was pushed (user clicked on a link), reset the scene's data.\n // This avoids resetting form fields if you click back/forward.\n if (method === 'PUSH') {\n if (props.id) {\n actions.loadSurvey()\n } else {\n actions.resetSurvey()\n }\n }\n\n if (edit) {\n actions.editingSurvey(true)\n }\n },\n })),\n actionToUrl(({ values }) => ({\n setSurveyTemplateValues: () => {\n const hashParams = router.values.hashParams\n hashParams['fromTemplate'] = true\n\n return [urls.survey(values.survey.id), router.values.searchParams, hashParams]\n },\n editingSurvey: ({ editing }) => {\n const searchParams = router.values.searchParams\n if (editing) {\n searchParams['edit'] = true\n } else {\n delete searchParams['edit']\n }\n\n return [router.values.location.pathname, router.values.searchParams, router.values.hashParams]\n },\n })),\n afterMount(({ props, actions }) => {\n if (props.id !== 'new') {\n actions.loadSurvey()\n }\n if (props.id === 'new') {\n actions.resetSurvey()\n }\n }),\n])\n\nfunction sanitizeQuestions(surveyPayload: Partial): Partial {\n if (!surveyPayload.questions) {\n return surveyPayload\n }\n\n const sanitizedThankYouHeader = sanitizeHTML(surveyPayload.appearance?.thankYouMessageHeader || '')\n const sanitizedThankYouDescription = sanitizeHTML(surveyPayload.appearance?.thankYouMessageDescription || '')\n\n return {\n ...surveyPayload,\n questions: surveyPayload.questions?.map((rawQuestion) => {\n return {\n ...rawQuestion,\n description: sanitizeHTML(rawQuestion.description || ''),\n question: sanitizeHTML(rawQuestion.question || ''),\n }\n }),\n appearance: {\n ...surveyPayload.appearance,\n ...(sanitizedThankYouHeader && { thankYouMessageHeader: sanitizedThankYouHeader }),\n ...(sanitizedThankYouDescription && { thankYouMessageDescription: sanitizedThankYouDescription }),\n },\n }\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/docs/project.json b/docs/project.json index ab3b15e66..49a50c971 100644 --- a/docs/project.json +++ b/docs/project.json @@ -1 +1 @@ -{"generatedAt":1736440478542,"hasCustomBabel":false,"hasCustomWebpack":true,"hasStaticDirs":true,"hasStorybookEslint":true,"refCount":0,"packageManager":{"type":"pnpm","version":"8.10.5"},"typescriptOptions":{"reactDocgen":"react-docgen"},"preview":{"usesGlobals":true},"framework":{"name":"@storybook/react-webpack5","options":{"builder":{"useSWC":true}}},"builder":"@storybook/builder-webpack5","renderer":"@storybook/react","storybookVersion":"7.6.4","storybookVersionSpecifier":"^7.6.4","language":"typescript","storybookPackages":{"@storybook/addon-actions":{"version":"7.6.4"},"@storybook/addons":{"version":"7.6.4"},"@storybook/api":{"version":"7.6.4"},"@storybook/blocks":{"version":"7.6.4"},"@storybook/components":{"version":"7.6.4"},"@storybook/core-events":{"version":"7.6.4"},"@storybook/csf":{"version":null},"@storybook/react":{"version":"7.6.4"},"@storybook/react-webpack5":{"version":"7.6.4"},"@storybook/test-runner":{"version":"0.16.0"},"@storybook/theming":{"version":"7.6.4"},"@storybook/types":{"version":"7.6.4"},"eslint-plugin-storybook":{"version":"0.6.15"},"storybook":{"version":"7.6.4"}},"addons":{"@storybook/addon-docs":{"version":"7.6.4"},"@storybook/addon-links":{"version":"7.6.4"},"@storybook/addon-essentials":{"version":"7.6.4"},"@storybook/addon-storysource":{"version":"7.6.4"},"@storybook/addon-a11y":{"version":"7.6.4"},"storybook-addon-pseudo-states":{"version":"2.1.2"}}} +{"generatedAt":1736441325673,"hasCustomBabel":false,"hasCustomWebpack":true,"hasStaticDirs":true,"hasStorybookEslint":true,"refCount":0,"packageManager":{"type":"pnpm","version":"8.10.5"},"typescriptOptions":{"reactDocgen":"react-docgen"},"preview":{"usesGlobals":true},"framework":{"name":"@storybook/react-webpack5","options":{"builder":{"useSWC":true}}},"builder":"@storybook/builder-webpack5","renderer":"@storybook/react","storybookVersion":"7.6.4","storybookVersionSpecifier":"^7.6.4","language":"typescript","storybookPackages":{"@storybook/addon-actions":{"version":"7.6.4"},"@storybook/addons":{"version":"7.6.4"},"@storybook/api":{"version":"7.6.4"},"@storybook/blocks":{"version":"7.6.4"},"@storybook/components":{"version":"7.6.4"},"@storybook/core-events":{"version":"7.6.4"},"@storybook/csf":{"version":null},"@storybook/react":{"version":"7.6.4"},"@storybook/react-webpack5":{"version":"7.6.4"},"@storybook/test-runner":{"version":"0.16.0"},"@storybook/theming":{"version":"7.6.4"},"@storybook/types":{"version":"7.6.4"},"eslint-plugin-storybook":{"version":"0.6.15"},"storybook":{"version":"7.6.4"}},"addons":{"@storybook/addon-docs":{"version":"7.6.4"},"@storybook/addon-links":{"version":"7.6.4"},"@storybook/addon-essentials":{"version":"7.6.4"},"@storybook/addon-storysource":{"version":"7.6.4"},"@storybook/addon-a11y":{"version":"7.6.4"},"storybook-addon-pseudo-states":{"version":"2.1.2"}}}