From 034a1de48db884c5306c7b0ca2004e456d40ebeb Mon Sep 17 00:00:00 2001 From: austensen Date: Tue, 12 Sep 2023 17:36:04 -0400 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20=20@=204152f?= =?UTF-8?q?a30a9d70d8239b390007ac2537e43aae3c0=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.html | 2 +- main.e388da8d.js => main.caddd68b.js | 4 ++-- main.e388da8d.js.map => main.caddd68b.js.map | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) rename main.e388da8d.js => main.caddd68b.js (99%) rename main.e388da8d.js.map => main.caddd68b.js.map (99%) diff --git a/index.html b/index.html index 25005b81..e84e0469 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -NY Eviction Filings Tracker
Loading…
\ No newline at end of file +NY Eviction Filings Tracker
Loading…
\ No newline at end of file diff --git a/main.e388da8d.js b/main.caddd68b.js similarity index 99% rename from main.e388da8d.js rename to main.caddd68b.js index 1fbf878a..aba42af4 100644 --- a/main.e388da8d.js +++ b/main.caddd68b.js @@ -102,7 +102,7 @@ var e,t=arguments[3];!function(t,n){"object"==typeof exports&&"undefined"!=typeo },{"../converters":"vbQr","../query":"Yro0"}],"gbT6":[function(require,module,exports) { "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BoroughPieChartsActiveCases=void 0;var e=i(require("react")),t=require("react-minimal-pie-chart"),a=require("./data"),r=require("../json-loader"),n=require("../viz-util");function l(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return l=function(){return e},e}function i(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=l();if(t&&t.has(e))return t.get(e);var a={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var i=r?Object.getOwnPropertyDescriptor(e,n):null;i&&(i.get||i.set)?Object.defineProperty(a,n,i):a[n]=e[n]}return a.default=e,t&&t.set(e,a),a}const u=()=>e.default.createElement(e.default.Fragment,null,e.default.createElement(r.JsonLoader,{url:a.BOROUGH_PIE_CHART_ACTIVE_CASES.json,fallback:e.default.createElement(n.VizFallback,{className:n.VIZ_TABLE_CLASS})},t=>e.default.createElement(o,{values:t})));exports.BoroughPieChartsActiveCases=u;const o=a=>{const r=c(a.values),n={fontSize:"5px",fontFamily:"sans-serif"},[l,i]=(0,e.useState)(void 0);function u(e,t){return l===t?{...e,title:`${e.value} filings`}:e}return e.default.createElement("div",{className:"pie-chart-section"},e.default.createElement("section",{className:"pie-chart"},e.default.createElement("h4",null,"Pre-pandemic Active Cases (NYC)"),e.default.createElement(t.PieChart,{data:r.prePandemicData.map(u),label:({dataEntry:e})=>`${e.title}: ${Math.round(e.percentage)}%`,labelStyle:{...n},style:{height:"250px"},onMouseOver:(e,t)=>{i(t)},onMouseOut:()=>{i(void 0)}})),e.default.createElement("section",{className:"pie-chart"},e.default.createElement("h4",null,"Pandemic Active Cases (NYC)"),e.default.createElement(t.PieChart,{data:r.pandemicData.map(u),label:({dataEntry:e})=>`${e.title}: ${Math.round(e.percentage)}%`,labelStyle:{...n},style:{height:"250px"},onMouseOver:(e,t)=>{i(t)},onMouseOut:()=>{i(void 0)}})))};function c(e){const t={Bronx:"#B3EFFF",Brooklyn:"#00CFFF",Manhattan:"#046B99",Queens:"#4373B1","Staten Island":"#606060"};function a(e,t){return e.title({title:e.borough,value:e.count,color:t[e.borough]});return{prePandemicData:e.filter(e=>"Issued Prepandemic"==e.timeBucket).map(r).sort(a),pandemicData:e.filter(e=>"Issued Pandemic"==e.timeBucket).map(r).sort(a)}} },{"react":"HdMw","react-minimal-pie-chart":"h54e","./data":"cyyh","../json-loader":"ZOHx","../viz-util":"teeT"}],"mj8g":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.MaintenanceChecklist=void 0;var e=l(require("react")),t=require("./query");function a(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}function l(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var l={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var u=n?Object.getOwnPropertyDescriptor(e,r):null;u&&(u.get||u.set)?Object.defineProperty(l,r,u):l[r]=e[r]}return l.default=e,t&&t.set(e,l),l}const n="https://github.com/housing-data-coalition",r=e=>new Date(e).toLocaleDateString("en-us",{weekday:"long",year:"numeric",month:"short",day:"numeric",timeZone:"UTC"}),u=()=>{const[a,l]=(0,e.useState)(null),n=new t.QueryFiles("latest-filing-date");return(0,e.useEffect)(()=>{fetch(n.json).then(e=>e.json()).then(e=>{const t=r(e[0].latest_date);l(t)})},[n.json]),null===a?e.default.createElement(e.default.Fragment,null):e.default.createElement("li",null,"NYCDB is automatically updated with the latest OCA files overnight each Tuesday. If successfully updated, the latest filing date in the data should be the latest Monday. The latest filing date in NYCDB is"," ",e.default.createElement("b",null,a),".")},i=()=>{const[t,a]=(0,e.useState)(null),l="https://oca-data.s3.amazonaws.com/public/last-updated-date.txt";return(0,e.useEffect)(()=>{fetch(l).then(e=>e.text()).then(e=>{const t=r(e);a(t)})},[l]),null===t?e.default.createElement(e.default.Fragment,null):e.default.createElement("li",null,e.default.createElement("a",{href:`${n}/oca#csv-files`,target:"_blank"},"Raw data files from Office of Court Administration")," ","should be updated every Tuesday. These files were last updated on"," ",e.default.createElement("b",null,`${t}`),".")},o=()=>e.default.createElement(e.default.Fragment,null,e.default.createElement("p",null,"Maintenance Checklist:"),e.default.createElement("ul",null,i(),u(),e.default.createElement("li",null,"Check the tracker’s"," ",e.default.createElement("a",{href:`${n}/rtc-eviction-viz/actions/workflows/deploy.yml`,target:"_blank"},"build/deploy history")," ","to confirm latest build/deploy date is today and there are no recent unsuccessful builds.")));exports.MaintenanceChecklist=o; +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.MaintenanceChecklist=void 0;var e=l(require("react")),t=require("./query");function a(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}function l(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var l={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var u=n?Object.getOwnPropertyDescriptor(e,r):null;u&&(u.get||u.set)?Object.defineProperty(l,r,u):l[r]=e[r]}return l.default=e,t&&t.set(e,l),l}const n="https://github.com/housing-data-coalition",r=e=>new Date(e).toLocaleDateString("en-us",{weekday:"long",year:"numeric",month:"short",day:"numeric",timeZone:"UTC"}),u=()=>{const[a,l]=(0,e.useState)(null),n=new t.QueryFiles("latest-filing-date");return(0,e.useEffect)(()=>{fetch(n.json).then(e=>e.json()).then(e=>{const t=r(e[0].latest_date);l(t)})},[n.json]),null===a?e.default.createElement(e.default.Fragment,null):e.default.createElement("li",null,"NYCDB is automatically updated with the latest OCA files overnight each Sunday. If successfully updated, the latest filing date in the data should be the latest Friday. The latest filing date in NYCDB is"," ",e.default.createElement("b",null,a),".")},i=()=>{const[t,a]=(0,e.useState)(null),l="https://oca-2-dev.s3.amazonaws.com/public/last-updated-date.txt";return(0,e.useEffect)(()=>{fetch(l).then(e=>e.text()).then(e=>{const t=r(e);a(t)})},[l]),null===t?e.default.createElement(e.default.Fragment,null):e.default.createElement("li",null,e.default.createElement("a",{href:`${n}/oca#csv-files`,target:"_blank"},"Raw data files from Office of Court Administration")," ","should be updated every Tuesday. These files were last updated on"," ",e.default.createElement("b",null,`${t}`),".")},o=()=>e.default.createElement(e.default.Fragment,null,e.default.createElement("p",null,"Maintenance Checklist:"),e.default.createElement("ul",null,i(),u(),e.default.createElement("li",null,"Check the tracker’s"," ",e.default.createElement("a",{href:`${n}/rtc-eviction-viz/actions/workflows/deploy.yml`,target:"_blank"},"build/deploy history")," ","to confirm latest build/deploy date is today and there are no recent unsuccessful builds.")));exports.MaintenanceChecklist=o; },{"react":"HdMw","./query":"Yro0"}],"eKDL":[function(require,module,exports) { "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.REACT_APP_PASSWORD=exports.JUDGMENTS_VIZ_DEFAULT_HEIGHT=exports.ACTIVE_CASES_VIZ_DEFAULT_HEIGHT=exports.EVICTION_VIZ_DEFAULT_HEIGHT=exports.QS_HEIGHT=exports.QS_FIELD_NAME=exports.QS_VIEW=exports.VIEW_CONFIGURE_WIDGET=exports.VIEW_WIDGET=void 0;const E="widget";exports.VIEW_WIDGET="widget";const _="config";exports.VIEW_CONFIGURE_WIDGET="config";const e="view";exports.QS_VIEW="view";const t="fieldName";exports.QS_FIELD_NAME="fieldName";const o="height";exports.QS_HEIGHT="height";const I=150;exports.EVICTION_VIZ_DEFAULT_HEIGHT=150;const s=500;exports.ACTIVE_CASES_VIZ_DEFAULT_HEIGHT=500;const T=500;exports.JUDGMENTS_VIZ_DEFAULT_HEIGHT=500;const r="housing";exports.REACT_APP_PASSWORD="housing"; },{}],"v7iN":[function(require,module,exports) { @@ -114,4 +114,4 @@ module.exports=function(n){return new Promise(function(e,o){var r=document.creat },{}],0:[function(require,module,exports) { var b=require("z1Am");b.register("js",require("Ijyk"));b.load([["vega.6d4188a5.js","saqM"]]).then(function(){require("wdqJ");}); },{}]},{},[0], null) -//# sourceMappingURL=main.e388da8d.js.map \ No newline at end of file +//# sourceMappingURL=main.caddd68b.js.map \ No newline at end of file diff --git a/main.e388da8d.js.map b/main.caddd68b.js.map similarity index 99% rename from main.e388da8d.js.map rename to main.caddd68b.js.map index efdc4b6f..a32f999a 100644 --- a/main.e388da8d.js.map +++ b/main.caddd68b.js.map @@ -1 +1 @@ -{"version":3,"sources":["node_modules/object-assign/index.js","node_modules/react/cjs/react.production.min.js","node_modules/react/index.js","node_modules/scheduler/cjs/scheduler.production.min.js","node_modules/scheduler/index.js","node_modules/react-dom/cjs/react-dom.production.min.js","node_modules/react-dom/index.js","node_modules/history/node_modules/@babel/runtime/helpers/esm/extends.js","../../../packages/react-router/index.tsx","../../../packages/react-router-dom/index.tsx","get-html-element.ts","assertions.ts","index.ts","node_modules/react-use-cookie/dist/index.js","auth.tsx","lib/converters.ts","lib/query.ts","lib/eviction-time-series/data.ts","lib/filings-by-zip/data.ts","lib/json-loader.tsx","lib/viz-util.tsx","node_modules/parcel-bundler/src/builtins/bundle-url.js","node_modules/parcel-bundler/src/builtins/bundle-loader.js","lib/vega-lazy.tsx","lib/eviction-time-series/viz.tsx","lib/total-active-cases/data.ts","lib/total-active-cases/viz.tsx","lib/marshal-evictions-by-week/data.ts","lib/marshal-evictions-by-week/viz.tsx","lib/share-represented/data.ts","lib/share-represented/viz.tsx","lib/total-judgments-statewide/data.ts","lib/total-judgments-statewide/viz.tsx","lib/total-judgments-citywide/data.ts","lib/total-judgments-citywide/viz.tsx","../src/hooks/useTable.js","../src/publicUtils.js","../src/utils.js","../src/makeDefaultPluginHooks.js","../src/hooks/useColumnVisibility.js","../src/plugin-hooks/useExpanded.js","../src/filterTypes.js","../src/plugin-hooks/useFilters.js","../src/plugin-hooks/useGlobalFilter.js","../src/aggregations.js","../src/plugin-hooks/useGroupBy.js","../src/sortTypes.js","../src/plugin-hooks/useSortBy.js","../src/plugin-hooks/usePagination.js","../src/plugin-hooks/_UNSTABLE_usePivotColumns.js","../src/plugin-hooks/useRowSelect.js","../src/plugin-hooks/useRowState.js","../src/plugin-hooks/useColumnOrder.js","../src/plugin-hooks/useResizeColumns.js","../src/plugin-hooks/useAbsoluteLayout.js","../src/plugin-hooks/useBlockLayout.js","../src/plugin-hooks/useFlexLayout.js","../src/plugin-hooks/useGridLayout.js","node_modules/react-table/index.js","lib/total-active-cases-table/data.ts","node_modules/flat/index.js","lib/total-active-cases-table/viz.tsx","lib/filings-by-zip-table-outside-nyc/data.ts","lib/filings-by-zip-table-outside-nyc/viz.tsx","lib/monthly-filings-table-by-zip/data.ts","lib/monthly-filings-table-by-zip/viz.tsx","lib/monthly-filings-table-citywide/data.ts","lib/monthly-filings-table-citywide/viz.tsx","../src/Chart/Chart.tsx","../src/utils.ts","../src/Label.tsx","../src/Chart/renderLabels.tsx","../node_modules/svg-partial-circle/index.js","../src/Path.tsx","../src/Chart/renderSegments.tsx","../src/Chart/extendData.ts","lib/borough-pie-chart-active-cases/data.ts","lib/borough-pie-chart-active-cases/viz.tsx","lib/checklist.tsx","constants.ts","dashboard.tsx","main.tsx","node_modules/parcel-bundler/src/builtins/loaders/browser/js-loader.js"],"names":["getOwnPropertySymbols","Object","hasOwnProperty","prototype","propIsEnumerable","propertyIsEnumerable","toObject","val","TypeError","shouldUseNative","assign","test1","String","getOwnPropertyNames","test2","i","fromCharCode","order2","map","n","join","test3","split","forEach","letter","keys","err","module","exports","target","source","from","symbols","to","s","arguments","length","key","call","l","require","p","Fragment","StrictMode","Profiler","q","r","t","Suspense","u","v","Symbol","for","w","x","iterator","y","a","z","b","c","encodeURIComponent","A","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","B","C","props","context","refs","updater","D","E","isReactComponent","setState","Error","forceUpdate","F","constructor","isPureReactComponent","G","current","H","I","ref","__self","__source","J","e","d","k","h","g","children","f","Array","m","defaultProps","$$typeof","type","_owner","K","L","escape","replace","M","N","toString","O","isArray","push","next","done","value","P","Q","_status","_result","then","default","R","S","T","ReactCurrentDispatcher","ReactCurrentBatchConfig","transition","ReactCurrentOwner","IsSomeRendererActing","Children","apply","count","toArray","only","Component","PureComponent","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","cloneElement","createContext","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","Provider","Consumer","_context","createElement","createFactory","bind","createRef","forwardRef","render","isValidElement","lazy","_payload","_init","memo","compare","useCallback","useContext","useDebugValue","useEffect","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useRef","useState","version","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","console","error","_extends","invariant","cond","message","warning","warn","alreadyWarned","warningOnce","NavigationContext","React","LocationContext","RouteContext","outlet","matches","MemoryRouter","basename","initialEntries","initialIndex","historyRef","createMemoryHistory","history","state","action","location","listen","React.createElement","Navigate","useInRouterContext","navigate","useNavigate","Outlet","useOutlet","Route","_props","Router","basenameProp","locationProp","navigationType","NavigationType","Pop","navigator","static","staticProp","normalizePathname","navigationContext","parsePath","pathname","search","hash","trailingPathname","stripBasename","Routes","useRoutes","createRoutesFromChildren","useHref","useResolvedPath","joinedPathname","toPathname","getToPathname","endsWithSlash","endsWith","joinPaths","createHref","useLocation","useNavigationType","useMatch","pattern","matchPath","locationPathname","routePathnamesJson","JSON","stringify","match","pathnameBase","activeRef","options","go","path","resolveTo","parse","OutletContext","useOutletContext","useParams","routeMatch","params","routes","locationArg","parentMatches","parentParams","parentPathnameBase","route","locationFromContext","parsedLocationArg","startsWith","matchRoutes","slice","_renderMatches","element","caseSensitive","index","generatePath","_","branches","flattenRoutes","rankRouteBranches","matchRouteBranch","parentsMeta","parentPath","meta","relativePath","childrenIndex","routesMeta","concat","score","computeScore","sort","compareIndexes","paramRe","dynamicSegmentValue","indexRouteValue","emptySegmentValue","staticSegmentValue","splatPenalty","isSplat","segments","initialScore","some","filter","reduce","segment","test","siblings","every","branch","matchedParams","matchedPathname","end","remainingPathname","renderMatches","reduceRight","undefined","matcher","paramNames","compilePath","captureGroups","paramName","splatValue","safelyDecodeURIComponent","regexpSource","RegExp","decodeURIComponent","resolvePath","fromPathname","resolvePathname","normalizeSearch","normalizeHash","pop","toArg","routePathnames","routePathnameIndex","toSegments","shift","toLowerCase","nextChar","charAt","paths","BrowserRouter","window","createBrowserHistory","HashRouter","createHashHistory","HistoryRouter","isModifiedEvent","event","metaKey","altKey","ctrlKey","shiftKey","Link","onClick","reloadDocument","rest","href","internalOnClick","useLinkClickHandler","handleClick","defaultPrevented","NavLink","ariaCurrentProp","className","classNameProp","style","styleProp","isActive","ariaCurrent","Boolean","replaceProp","button","preventDefault","createPath","useSearchParams","defaultInit","defaultSearchParamsRef","createSearchParams","searchParams","has","getAll","append","nextInit","navigateOptions","init","URLSearchParams","defineProperty","_default","setCookie","getCookie","_react","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","name","len","arr2","_i","_arr","_s","_e","_n","_d","ownKeys","object","enumerableOnly","sym","getOwnPropertyDescriptor","enumerable","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","obj","configurable","writable","isBrowser","optionsWithDefaults","days","expires","Date","now","toUTCString","document","cookie","initialValue","parts","_useState","_useState2","item","setItem","bundleURL","getBundleURLCached","getBundleURL","stack","getBaseURL","url","loadBundlesLazy","bundles","id","Promise","resolve","code","LazyPromise","reject","loadBundles","all","loadBundle","bundleLoaders","registerBundleLoader","loader","load","register","bundle","substring","lastIndexOf","bundleLoader","resolved","catch","executor","promise","onSuccess","onError","getInstance","actions","defaultRenderer","emptyRenderer","defaultColumn","Cell","width","minWidth","maxWidth","Number","MAX_SAFE_INTEGER","mergeProps","propList","makePropGetter","hooks","userProps","prev","handlePropGetter","prevProps","reduceHooks","initial","allowUndefined","loopHooks","hook","ensurePluginOrder","plugins","befores","pluginName","afters","findIndex","plugin","before","functionalUpdate","old","useGetLatest","safeUseLayoutEffect","useMountedLayoutEffect","fn","deps","mountedRef","makeRenderer","instance","column","Comp","info","flexRender","component","proto","getPrototypeOf","includes","description","flattenColumns","columns","flattenBy","assignColumnAccessor","accessor","Header","accessorPath","row","def","cacheKey","pathObj","pathObjCache","get","flattenDeep","newArr","reOpenBracket","reCloseBracket","set","cursor","pathPart","decorateColumn","userDefaultColumn","Footer","originalWidth","Map","getFirstDefined","args","isFunction","flat","recurse","expandRows","rows","manualExpandedKey","expanded","expandSubRows","expandedRows","handleRow","addToExpandedRows","isExpanded","original","canExpand","subRows","getFilterMethod","userFilterTypes","filterTypes","text","shouldAutoRemoveFilter","autoRemove","unpreparedAccessWarning","passiveSupported","defaultGetTableProps","role","defaultGetTableBodyProps","defaultGetHeaderProps","colSpan","totalVisibleHeaderCount","defaultGetFooterProps","defaultGetHeaderGroupProps","defaultGetFooterGroupProps","defaultGetRowProps","defaultGetCellProps","cell","makeDefaultPluginHooks","useOptions","stateReducers","useControlledState","columnsDeps","allColumns","allColumnsDeps","accessValue","materializedColumns","materializedColumnsDeps","useInstanceAfterData","visibleColumns","visibleColumnsDeps","headerGroups","headerGroupsDeps","useInstanceBeforeDimensions","useInstance","prepareRow","getTableProps","getTableBodyProps","getHeaderGroupProps","getFooterGroupProps","getHeaderProps","getFooterProps","getRowProps","getCellProps","useFinalInstance","resetHiddenColumns","toggleHideColumn","setHiddenColumns","toggleHideAllColumns","useColumnVisibility","getToggleHiddenProps","defaultGetToggleHiddenProps","getToggleHideAllColumnsProps","defaultGetToggleHideAllColumnsProps","reducer","hiddenColumns","onChange","toggleHidden","checked","isVisible","title","allColumnsHidden","indeterminate","previousState","initialState","columnId","headers","subHeader","handleColumn","parentVisible","subColumn","flatHeaders","dispatch","getHooks","autoResetHiddenColumns","getAutoResetHiddenColumns","defaultInitialState","defaultColumnInstance","defaultReducer","prevState","defaultGetSubRows","defaultGetRowId","parent","defaultUseControlledState","applyDefaults","getSubRows","getRowId","stateReducer","accessRowsForColumn","data","flatRows","rowsById","accessValueHooks","originalRow","rowIndex","accessRow","depth","parentRows","originalSubRows","cells","values","resetExpanded","toggleRowExpanded","toggleAllRowsExpanded","useExpanded","getToggleAllRowsExpandedProps","defaultGetToggleAllRowsExpandedProps","getToggleRowExpandedProps","defaultGetToggleRowExpandedProps","isAllRowsExpanded","rowId","setExpanded","exists","shouldExist","paginateExpandedRows","autoResetExpanded","getAutoResetExpanded","expandedDepth","maxDepth","splitId","Math","max","preExpandedRows","ids","filterValue","rowValue","exactText","exactTextCase","includesAll","includesSome","includesValue","exact","equals","between","min","Infinity","temp","resetFilters","setFilter","setAllFilters","useFilters","filters","find","filterMethod","previousfilter","newFilter","manualFilters","defaultCanFilter","disableFilters","autoResetFilters","columnDefaultCanFilter","columnDisableFilters","canFilter","found","filteredFlatRows","filteredRowsById","filterRows","filteredRows","filteredSoFar","preFilteredRows","getAutoResetFilters","preFilteredFlatRows","preFilteredRowsById","resetGlobalFilter","setGlobalFilter","useGlobalFilter","globalFilter","manualGlobalFilter","globalFilterValue","autoResetGlobalFilter","disableGlobalFilter","columnDisableGlobalFilter","filterableColumns","globalFilteredRows","globalFilteredFlatRows","globalFilteredRowsById","getAutoResetGlobalFilter","preGlobalFilteredRows","preGlobalFilteredFlatRows","preGlobalFilteredRowsById","sum","aggregatedValues","mid","floor","nums","Set","size","emptyArray","emptyObject","resetGroupBy","setGroupBy","toggleGroupBy","useGroupBy","getGroupByToggleProps","defaultGetGroupByToggleProps","groupBy","header","canGroupBy","persist","resolvedGroupBy","groupByColumns","col","nonGroupByColumns","isGrouped","groupedIndex","indexOf","defaultUserAggregations","groupByFn","defaultGroupByFn","manualGroupBy","aggregations","userAggregations","autoResetGroupBy","disableGroupBy","defaultCanGroupBy","defaultColumnGroupBy","defaultGroupBy","columnDisableGroupBy","Aggregated","existingGroupBy","groupedFlatRows","groupedRowsById","onlyGroupedFlatRows","onlyGroupedRowsById","nonGroupedFlatRows","nonGroupedRowsById","groupedRows","groupUpRecursively","parentId","rowGroupsMap","entries","groupByVal","leafRows","aggregateFn","aggregate","groupedValues","leafValues","columnValue","aggregateValue","aggregateValueFn","groupByID","subRow","getAutoResetGroupBy","preGroupedRows","preGroupedFlatRow","preGroupedRowsById","allCells","isPlaceholder","isAggregated","_row$subRows","resKey","reSplitAlphaNumeric","compareBasic","getRowValuesByColumnID","row1","row2","isNaN","rowA","rowB","aa","bb","an","parseInt","bn","combo","getTime","alower","blower","replaceNonNumeric","resetSortBy","setSortBy","toggleSortBy","clearSortBy","sortType","sortDescFirst","useSortBy","getSortByToggleProps","defaultGetSortByToggleProps","isMultiSortEvent","canSort","disableMultiSort","sortBy","sortAction","desc","multi","disableSortRemove","disableMultiRemove","maxMultiSortColCount","existingSortBy","existingIndex","hasDescDefined","newSortBy","splice","orderByFn","defaultOrderByFn","userSortTypes","sortTypes","manualSortBy","defaultCanSort","disableSortBy","autoResetSortBy","defaultColumnCanSort","columnDisableSortBy","columnSort","isSorted","sortedIndex","isSortedDesc","sortedFlatRows","availableSortBy","sortData","sortedData","sortMethod","sortInverted","sortedRows","getAutoResetSortBy","preSortedRows","preSortedFlatRows","funcs","dirs","sortFn","sortInt","resetPage","gotoPage","setPageSize","usePagination","pageSize","pageIndex","pageCount","page","newPageIndex","canNavigate","topRowIndex","autoResetPage","userPageCount","manualPagination","getAutoResetPage","ceil","pageOptions","fill","pageStart","pageEnd","canPreviousPage","canNextPage","previousPage","nextPage","resetPivot","togglePivot","_UNSTABLE_usePivotColumns","getPivotToggleProps","defaultGetPivotToggleProps","defaultPivotColumns","canPivot","pivotColumns","setPivot","resolvedPivot","isPivotSource","uniqueValues","add","materialized","sourceColumns","newMaterialized","buildPivotColumns","pivotFilters","pivotColumn","uniqueValue","columnGroup","PivotHeader","isPivotGroup","pivotValue","sourceColumn","isPivoted","autoResetPivot","manaulPivot","disablePivot","defaultCanPivot","defaultColumnPivot","defaultPivot","columnDisablePivot","getAutoResetPivot","resetSelectedRows","toggleAllRowsSelected","toggleRowSelected","toggleAllPageRowsSelected","useRowSelect","getToggleRowSelectedProps","defaultGetToggleRowSelectedProps","getToggleAllRowsSelectedProps","defaultGetToggleAllRowsSelectedProps","getToggleAllPageRowsSelectedProps","defaultGetToggleAllPageRowsSelectedProps","manualRowSelectedKey","isSelected","isSomeSelected","isAllRowsSelected","selectedRowIds","isAllPageRowsSelected","setSelected","selectAll","selectSubRows","newSelectedRowIds","handleRowById","autoResetSelectedRows","selectedFlatRows","getRowIsSelected","allChildrenSelected","someSelected","getAutoResetSelectedRows","defaultInitialRowStateAccessor","defaultInitialCellStateAccessor","setRowState","setCellState","resetRowState","useRowState","initialRowStateAccessor","initialCellStateAccessor","rowState","oldRowState","oldCellState","cellState","_oldRowState$cellStat","_rowsById$_rowId","_rowsById$_rowId$cell","autoResetRowState","getAutoResetRowState","resetColumnOrder","setColumnOrder","useColumnOrder","columnOrder","columnOrderCopy","columnsCopy","columnsInOrder","targetColumnId","foundIndex","canResize","columnStartResizing","columnResizing","columnDoneResizing","resetResize","useResizeColumns","getResizerProps","defaultGetResizerProps","position","onResizeStart","isTouchEvent","touches","headerIdWidths","leafHeaders","recurseHeader","totalWidth","clientX","round","dispatchMove","clientXPos","dispatchEnd","handlersAndEvents","mouse","moveEvent","moveHandler","upEvent","upHandler","removeEventListener","touch","cancelable","stopPropagation","events","passiveIfSupported","supported","addEventListener","passive","columnWidth","onMouseDown","onTouchStart","draggable","columnWidths","startX","isResizingColumn","percentageDeltaX","newColumnWidths","headerId","headerWidth","disableResizing","isResizing","autoResetResize","getAutoResetResize","resetResizing","cellStyles","top","useAbsoluteLayout","getRowStyles","left","totalLeft","totalColumnsWidth","display","boxSizing","useBlockLayout","useFlexLayout","totalColumnsMinWidth","flex","totalFlexWidth","totalMinWidth","useGridLayout","gridTemplateColumns","gridLayout","columnIndex","elWidth","getElementById","_document$getElementB","offsetWidth","startingWidth","newWidth","columnWidthsCopy","defaultFn","defaultWait","debounceRef","getDefaultFn","getDefaultWait","timeout","clearTimeout","setTimeout","instanceRef","userColumns","getStateReducer","handler","reducerState","linkColumnStructure","allColumnsQueue","initialRows","makeHeaderGroups","additionalHeaderProperties","scanColumns","uid","getUID","headerGroup","parentColumns","hasParents","newParent","latestParentColumn","reverse","originalId","placeholderOf","visibleColumnsDep","calculateHeaderWidths","sumTotalMinWidth","sumTotalWidth","sumTotalMaxWidth","sumTotalFlexWidth","subHeaders","totalMaxWidth","totalColumnsMaxWidth","footerGroups","degreesToRadians","degrees","PI","valueBetween","extractPercentage","percentage","bisectorAngle","startAngle","lengthAngle","shiftVectorAlongAngle","angle","distance","angleRadians","dx","cos","dy","sin","isNumber","functionProp","prop","payload","ReactMinimalPieChartLabel","dataEntry","dataIndex","evaluateTextAnchorPosition","labelPosition","number","lineWidth","labelHorizontalShift","EPSILON","renderLabels","renderLabel","labelProps","label","segmentsShift","distanceFromCenter","radius","labelRenderProps","center","textAnchor","labelStyle","DefaultLabel","cx","cy","start","fromX","fromY","toX","toY","abs","ReactMinimalPieChartPath","strokeDasharray","strokeDashoffset","reveal","rounded","pathRadius","pathCommands","patchedLengthAngle","partialCircle","command","makePathCommands","pathLength","makeEventHandler","eventHandler","renderSegments","revealOverride","animate","getRevealValue","segmentsStyle","duration","easing","customStyle","Path","animationDuration","animationEasing","color","segmentsTabIndex","onBlur","onFocus","onKeyDown","onMouseOver","onMouseOut","background","unshift","ReactMinimalPieChart","setRevealOverride","startInitialAnimation","animationTimerId","animationRAFId","requestAnimationFrame","cancelAnimationFrame","extendedData","totalAngle","totalValue","paddingAngle","chartStartAngle","total","sumValues","normalizedTotalAngle","numberOfPaddings","singlePaddingDegrees","sign","degreesTakenByPaths","lastSegmentEnd","valueInPercentage","extendData","viewBoxSize","script","async","charset","src","onerror","onload","getElementsByTagName","appendChild"],"mappings":"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","file":"main.e388da8d.js","sourceRoot":"..","sourcesContent":["/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/** @license React v17.0.1\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=require(\"object-assign\"),n=60103,p=60106;exports.Fragment=60107;exports.StrictMode=60108;exports.Profiler=60114;var q=60109,r=60110,t=60112;exports.Suspense=60113;var u=60115,v=60116;\nif(\"function\"===typeof Symbol&&Symbol.for){var w=Symbol.for;n=w(\"react.element\");p=w(\"react.portal\");exports.Fragment=w(\"react.fragment\");exports.StrictMode=w(\"react.strict_mode\");exports.Profiler=w(\"react.profiler\");q=w(\"react.provider\");r=w(\"react.context\");t=w(\"react.forward_ref\");exports.Suspense=w(\"react.suspense\");u=w(\"react.memo\");v=w(\"react.lazy\")}var x=\"function\"===typeof Symbol&&Symbol.iterator;\nfunction y(a){if(null===a||\"object\"!==typeof a)return null;a=x&&a[x]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}function z(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c=\nE};k=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0I(n,c))void 0!==r&&0>I(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>I(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function I(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var L=[],M=[],N=1,O=null,P=3,Q=!1,R=!1,S=!1;\nfunction T(a){for(var b=J(M);null!==b;){if(null===b.callback)K(M);else if(b.startTime<=a)K(M),b.sortIndex=b.expirationTime,H(L,b);else break;b=J(M)}}function U(a){S=!1;T(a);if(!R)if(null!==J(L))R=!0,f(V);else{var b=J(M);null!==b&&g(U,b.startTime-a)}}\nfunction V(a,b){R=!1;S&&(S=!1,h());Q=!0;var c=P;try{T(b);for(O=J(L);null!==O&&(!(O.expirationTime>b)||a&&!exports.unstable_shouldYield());){var d=O.callback;if(\"function\"===typeof d){O.callback=null;P=O.priorityLevel;var e=d(O.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?O.callback=e:O===J(L)&&K(L);T(b)}else K(L);O=J(L)}if(null!==O)var m=!0;else{var n=J(M);null!==n&&g(U,n.startTime-b);m=!1}return m}finally{O=null,P=c,Q=!1}}var W=k;exports.unstable_IdlePriority=5;\nexports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){R||Q||(R=!0,f(V))};exports.unstable_getCurrentPriorityLevel=function(){return P};exports.unstable_getFirstCallbackNode=function(){return J(L)};\nexports.unstable_next=function(a){switch(P){case 1:case 2:case 3:var b=3;break;default:b=P}var c=P;P=b;try{return a()}finally{P=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=W;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=P;P=a;try{return b()}finally{P=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0d?(a.sortIndex=c,H(M,a),null===J(L)&&a===J(M)&&(S?h():S=!0,g(U,c-d))):(a.sortIndex=e,H(L,a),R||Q||(R=!0,f(V)));return a};\nexports.unstable_wrapCallback=function(a){var b=P;return function(){var c=P;P=b;try{return a.apply(this,arguments)}finally{P=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/** @license React v17.0.1\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),m=require(\"object-assign\"),r=require(\"scheduler\");function y(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function B(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var D={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){D[a]=new B(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];D[b]=new B(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){D[a]=new B(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){D[a]=new B(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){D[a]=new B(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){D[a]=new B(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){D[a]=new B(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){D[a]=new B(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){D[a]=new B(a,5,!1,a.toLowerCase(),null,!1,!1)});var oa=/[\\-:]([a-z])/g;function pa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(oa,\npa);D[b]=new B(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!1,!1)});\nD.xlinkHref=new B(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction qa(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2h||e[g]!==f[h])return\"\\n\"+e[g].replace(\" at new \",\" at \");while(1<=g&&0<=h)}break}}}finally{Oa=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Na(a):\"\"}\nfunction Qa(a){switch(a.tag){case 5:return Na(a.type);case 16:return Na(\"Lazy\");case 13:return Na(\"Suspense\");case 19:return Na(\"SuspenseList\");case 0:case 2:case 15:return a=Pa(a.type,!1),a;case 11:return a=Pa(a.type.render,!1),a;case 22:return a=Pa(a.type._render,!1),a;case 1:return a=Pa(a.type,!0),a;default:return\"\"}}\nfunction Ra(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ua:return\"Fragment\";case ta:return\"Portal\";case xa:return\"Profiler\";case wa:return\"StrictMode\";case Ba:return\"Suspense\";case Ca:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case za:return(a.displayName||\"Context\")+\".Consumer\";case ya:return(a._context.displayName||\"Context\")+\".Provider\";case Aa:var b=a.render;b=b.displayName||b.name||\"\";\nreturn a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\"ForwardRef\");case Da:return Ra(a.type);case Fa:return Ra(a._render);case Ea:b=a._payload;a=a._init;try{return Ra(a(b))}catch(c){}}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return m({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function $a(a,b){b=b.checked;null!=b&&qa(a,\"checked\",b,!1)}\nfunction ab(a,b){$a(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?bb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&bb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction cb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction bb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}function db(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function eb(a,b){a=m({children:void 0},b);if(b=db(b.children))a.children=b;return a}\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e=c.length))throw Error(y(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var kb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction lb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function mb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?lb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar nb,ob=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==kb.svg||\"innerHTML\"in a)a.innerHTML=b;else{nb=nb||document.createElement(\"div\");nb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=nb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction pb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar qb={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},rb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(qb).forEach(function(a){rb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);qb[b]=qb[a]})});function sb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||qb.hasOwnProperty(a)&&qb[a]?(\"\"+b).trim():b+\"px\"}\nfunction tb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=sb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var ub=m({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction vb(a,b){if(b){if(ub[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(y(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(y(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw Error(y(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(y(62));}}\nfunction wb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(y(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;ad?0:1<c;c++)b.push(a);return b}\nfunction $c(a,b,c){a.pendingLanes|=b;var d=b-1;a.suspendedLanes&=d;a.pingedLanes&=d;a=a.eventTimes;b=31-Vc(b);a[b]=c}var Vc=Math.clz32?Math.clz32:ad,bd=Math.log,cd=Math.LN2;function ad(a){return 0===a?32:31-(bd(a)/cd|0)|0}var dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function gd(a,b,c,d){Kb||Ib();var e=hd,f=Kb;Kb=!0;try{Hb(e,a,b,c,d)}finally{(Kb=f)||Mb()}}function id(a,b,c,d){ed(dd,hd.bind(null,a,b,c,d))}\nfunction hd(a,b,c,d){if(fd){var e;if((e=0===(b&4))&&0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Ke(c)}}function Me(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Me(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Ne(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Oe(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nvar Pe=fa&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Oe(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Je(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Af||(a.current=zf[Af],zf[Af]=null,Af--)}function I(a,b){Af++;zf[Af]=a.current;a.current=b}var Cf={},M=Bf(Cf),N=Bf(!1),Df=Cf;\nfunction Ef(a,b){var c=a.type.contextTypes;if(!c)return Cf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function Ff(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Gf(){H(N);H(M)}function Hf(a,b,c){if(M.current!==Cf)throw Error(y(168));I(M,b);I(N,c)}\nfunction If(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(y(108,Ra(b)||\"Unknown\",e));return m({},c,d)}function Jf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Cf;Df=M.current;I(M,a);I(N,N.current);return!0}function Kf(a,b,c){var d=a.stateNode;if(!d)throw Error(y(169));c?(a=If(a,b,Df),d.__reactInternalMemoizedMergedChildContext=a,H(N),H(M),I(M,a)):H(N);I(N,c)}\nvar Lf=null,Mf=null,Nf=r.unstable_runWithPriority,Of=r.unstable_scheduleCallback,Pf=r.unstable_cancelCallback,Qf=r.unstable_shouldYield,Rf=r.unstable_requestPaint,Sf=r.unstable_now,Tf=r.unstable_getCurrentPriorityLevel,Uf=r.unstable_ImmediatePriority,Vf=r.unstable_UserBlockingPriority,Wf=r.unstable_NormalPriority,Xf=r.unstable_LowPriority,Yf=r.unstable_IdlePriority,Zf={},$f=void 0!==Rf?Rf:function(){},ag=null,bg=null,cg=!1,dg=Sf(),O=1E4>dg?Sf:function(){return Sf()-dg};\nfunction eg(){switch(Tf()){case Uf:return 99;case Vf:return 98;case Wf:return 97;case Xf:return 96;case Yf:return 95;default:throw Error(y(332));}}function fg(a){switch(a){case 99:return Uf;case 98:return Vf;case 97:return Wf;case 96:return Xf;case 95:return Yf;default:throw Error(y(332));}}function gg(a,b){a=fg(a);return Nf(a,b)}function hg(a,b,c){a=fg(a);return Of(a,b,c)}function ig(){if(null!==bg){var a=bg;bg=null;Pf(a)}jg()}\nfunction jg(){if(!cg&&null!==ag){cg=!0;var a=0;try{var b=ag;gg(99,function(){for(;az?(q=u,u=null):q=u.sibling;var n=p(e,u,h[z],k);if(null===n){null===u&&(u=q);break}a&&u&&null===\nn.alternate&&b(e,u);g=f(n,g,z);null===t?l=n:t.sibling=n;t=n;u=q}if(z===h.length)return c(e,u),l;if(null===u){for(;zz?(q=u,u=null):q=u.sibling;var w=p(e,u,n.value,k);if(null===w){null===u&&(u=q);break}a&&u&&null===w.alternate&&b(e,u);g=f(w,g,z);null===t?l=w:t.sibling=w;t=w;u=q}if(n.done)return c(e,u),l;if(null===u){for(;!n.done;z++,n=h.next())n=A(e,n.value,k),null!==n&&(g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);return l}for(u=d(e,u);!n.done;z++,n=h.next())n=C(u,e,z,n.value,k),null!==n&&(a&&null!==n.alternate&&\nu.delete(null===n.key?z:n.key),g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);a&&u.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ua&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case sa:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ua){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,k.sibling);\nd=e(k,f.props);d.ref=Qg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ua?(d=Xg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Vg(f.type,f.key,f.props,null,a.mode,h),h.ref=Qg(a,d,f),h.return=a,a=h)}return g(a);case ta:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=\nWg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Ug(f,a.mode,h),d.return=a,a=d),g(a);if(Pg(f))return x(a,d,f,h);if(La(f))return w(a,d,f,h);l&&Rg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 22:case 0:case 11:case 15:throw Error(y(152,Ra(a.type)||\"Component\"));}return c(a,d)}}var Yg=Sg(!0),Zg=Sg(!1),$g={},ah=Bf($g),bh=Bf($g),ch=Bf($g);\nfunction dh(a){if(a===$g)throw Error(y(174));return a}function eh(a,b){I(ch,b);I(bh,a);I(ah,$g);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:mb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=mb(b,a)}H(ah);I(ah,b)}function fh(){H(ah);H(bh);H(ch)}function gh(a){dh(ch.current);var b=dh(ah.current);var c=mb(b,a.type);b!==c&&(I(bh,a),I(ah,c))}function hh(a){bh.current===a&&(H(ah),H(bh))}var P=Bf(0);\nfunction ih(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var jh=null,kh=null,lh=!1;\nfunction mh(a,b){var c=nh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.flags=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function oh(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction ph(a){if(lh){var b=kh;if(b){var c=b;if(!oh(a,b)){b=rf(c.nextSibling);if(!b||!oh(a,b)){a.flags=a.flags&-1025|2;lh=!1;jh=a;return}mh(jh,c)}jh=a;kh=rf(b.firstChild)}else a.flags=a.flags&-1025|2,lh=!1,jh=a}}function qh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;jh=a}\nfunction rh(a){if(a!==jh)return!1;if(!lh)return qh(a),lh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!nf(b,a.memoizedProps))for(b=kh;b;)mh(a,b),b=rf(b.nextSibling);qh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(y(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){kh=rf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}kh=null}}else kh=jh?rf(a.stateNode.nextSibling):null;return!0}\nfunction sh(){kh=jh=null;lh=!1}var th=[];function uh(){for(var a=0;af))throw Error(y(301));f+=1;T=S=null;b.updateQueue=null;vh.current=Fh;a=c(d,e)}while(zh)}vh.current=Gh;b=null!==S&&null!==S.next;xh=0;T=S=R=null;yh=!1;if(b)throw Error(y(300));return a}function Hh(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===T?R.memoizedState=T=a:T=T.next=a;return T}\nfunction Ih(){if(null===S){var a=R.alternate;a=null!==a?a.memoizedState:null}else a=S.next;var b=null===T?R.memoizedState:T.next;if(null!==b)T=b,S=a;else{if(null===a)throw Error(y(310));S=a;a={memoizedState:S.memoizedState,baseState:S.baseState,baseQueue:S.baseQueue,queue:S.queue,next:null};null===T?R.memoizedState=T=a:T=T.next=a}return T}function Jh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Kh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=S,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.lane;if((xh&l)===l)null!==h&&(h=h.next={lane:0,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),d=k.eagerReducer===a?k.eagerState:a(d,k.action);else{var n={lane:l,action:k.action,eagerReducer:k.eagerReducer,\neagerState:k.eagerState,next:null};null===h?(g=h=n,f=d):h=h.next=n;R.lanes|=l;Dg|=l}k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;He(d,b.memoizedState)||(ug=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction Lh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction Mh(a,b,c){var d=b._getVersion;d=d(b._source);var e=b._workInProgressVersionPrimary;if(null!==e)a=e===d;else if(a=a.mutableReadLanes,a=(xh&a)===a)b._workInProgressVersionPrimary=d,th.push(b);if(a)return c(b._source);th.push(b);throw Error(y(350));}\nfunction Nh(a,b,c,d){var e=U;if(null===e)throw Error(y(349));var f=b._getVersion,g=f(b._source),h=vh.current,k=h.useState(function(){return Mh(e,b,c)}),l=k[1],n=k[0];k=T;var A=a.memoizedState,p=A.refs,C=p.getSnapshot,x=A.source;A=A.subscribe;var w=R;a.memoizedState={refs:p,source:b,subscribe:d};h.useEffect(function(){p.getSnapshot=c;p.setSnapshot=l;var a=f(b._source);if(!He(g,a)){a=c(b._source);He(n,a)||(l(a),a=Ig(w),e.mutableReadLanes|=a&e.pendingLanes);a=e.mutableReadLanes;e.entangledLanes|=a;for(var d=\ne.entanglements,h=a;0c?98:c,function(){a(!0)});gg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[wf]=b;a[xf]=d;Bi(a,b,!1,!1);b.stateNode=a;g=wb(c,d);switch(c){case \"dialog\":G(\"cancel\",a);G(\"close\",a);\ne=d;break;case \"iframe\":case \"object\":case \"embed\":G(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eJi&&(b.flags|=64,f=!0,Fi(d,!1),b.lanes=33554432)}else{if(!f)if(a=ih(g),null!==a){if(b.flags|=64,f=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Fi(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&!g.alternate&&!lh)return b=b.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*O()-d.renderingStartTime>Ji&&1073741824!==c&&(b.flags|=\n64,f=!0,Fi(d,!1),b.lanes=33554432);d.isBackwards?(g.sibling=b.child,b.child=g):(c=d.last,null!==c?c.sibling=g:b.child=g,d.last=g)}return null!==d.tail?(c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=O(),c.sibling=null,b=P.current,I(P,f?b&1|2:b&1),c):null;case 23:case 24:return Ki(),null!==a&&null!==a.memoizedState!==(null!==b.memoizedState)&&\"unstable-defer-without-hiding\"!==d.mode&&(b.flags|=4),null}throw Error(y(156,b.tag));}\nfunction Li(a){switch(a.tag){case 1:Ff(a.type)&&Gf();var b=a.flags;return b&4096?(a.flags=b&-4097|64,a):null;case 3:fh();H(N);H(M);uh();b=a.flags;if(0!==(b&64))throw Error(y(285));a.flags=b&-4097|64;return a;case 5:return hh(a),null;case 13:return H(P),b=a.flags,b&4096?(a.flags=b&-4097|64,a):null;case 19:return H(P),null;case 4:return fh(),null;case 10:return rg(a),null;case 23:case 24:return Ki(),null;default:return null}}\nfunction Mi(a,b){try{var c=\"\",d=b;do c+=Qa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e}}function Ni(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Oi=\"function\"===typeof WeakMap?WeakMap:Map;function Pi(a,b,c){c=zg(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Qi||(Qi=!0,Ri=d);Ni(a,b)};return c}\nfunction Si(a,b,c){c=zg(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){Ni(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===Ti?Ti=new Set([this]):Ti.add(this),Ni(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}var Ui=\"function\"===typeof WeakSet?WeakSet:Set;\nfunction Vi(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Wi(a,c)}else b.current=null}function Xi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.flags&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:lg(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:b.flags&256&&qf(b.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(y(163));}\nfunction Yi(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{if(3===(a.tag&3)){var d=a.create;a.destroy=d()}a=a.next}while(a!==b)}b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{var e=a;d=e.next;e=e.tag;0!==(e&4)&&0!==(e&1)&&(Zi(c,a),$i(c,a));a=d}while(a!==b)}return;case 1:a=c.stateNode;c.flags&4&&(null===b?a.componentDidMount():(d=c.elementType===c.type?b.memoizedProps:lg(c.type,b.memoizedProps),a.componentDidUpdate(d,\nb.memoizedState,a.__reactInternalSnapshotBeforeUpdate)));b=c.updateQueue;null!==b&&Eg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Eg(c,b,a)}return;case 5:a=c.stateNode;null===b&&c.flags&4&&mf(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Cc(c))));\nreturn;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(y(163));}\nfunction aj(a,b){for(var c=a;;){if(5===c.tag){var d=c.stateNode;if(b)d=d.style,\"function\"===typeof d.setProperty?d.setProperty(\"display\",\"none\",\"important\"):d.display=\"none\";else{d=c.stateNode;var e=c.memoizedProps.style;e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null;d.style.display=sb(\"display\",e)}}else if(6===c.tag)c.stateNode.nodeValue=b?\"\":c.memoizedProps;else if((23!==c.tag&&24!==c.tag||null===c.memoizedState||c===a)&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===\na)break;for(;null===c.sibling;){if(null===c.return||c.return===a)return;c=c.return}c.sibling.return=c.return;c=c.sibling}}\nfunction bj(a,b){if(Mf&&\"function\"===typeof Mf.onCommitFiberUnmount)try{Mf.onCommitFiberUnmount(Lf,b)}catch(f){}switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var c=a=a.next;do{var d=c,e=d.destroy;d=d.tag;if(void 0!==e)if(0!==(d&4))Zi(b,c);else{d=b;try{e()}catch(f){Wi(d,f)}}c=c.next}while(c!==a)}break;case 1:Vi(b);a=b.stateNode;if(\"function\"===typeof a.componentWillUnmount)try{a.props=b.memoizedProps,a.state=b.memoizedState,a.componentWillUnmount()}catch(f){Wi(b,\nf)}break;case 5:Vi(b);break;case 4:cj(a,b)}}function dj(a){a.alternate=null;a.child=null;a.dependencies=null;a.firstEffect=null;a.lastEffect=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.return=null;a.updateQueue=null}function ej(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction fj(a){a:{for(var b=a.return;null!==b;){if(ej(b))break a;b=b.return}throw Error(y(160));}var c=b;b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(y(161));}c.flags&16&&(pb(b,\"\"),c.flags&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||ej(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.flags&2)continue b;if(null===\nc.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.flags&2)){c=c.stateNode;break a}}d?gj(a,c,b):hj(a,c,b)}\nfunction gj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=jf));else if(4!==d&&(a=a.child,null!==a))for(gj(a,b,c),a=a.sibling;null!==a;)gj(a,b,c),a=a.sibling}\nfunction hj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(hj(a,b,c),a=a.sibling;null!==a;)hj(a,b,c),a=a.sibling}\nfunction cj(a,b){for(var c=b,d=!1,e,f;;){if(!d){d=c.return;a:for(;;){if(null===d)throw Error(y(160));e=d.stateNode;switch(d.tag){case 5:f=!1;break a;case 3:e=e.containerInfo;f=!0;break a;case 4:e=e.containerInfo;f=!0;break a}d=d.return}d=!0}if(5===c.tag||6===c.tag){a:for(var g=a,h=c,k=h;;)if(bj(g,k),null!==k.child&&4!==k.tag)k.child.return=k,k=k.child;else{if(k===h)break a;for(;null===k.sibling;){if(null===k.return||k.return===h)break a;k=k.return}k.sibling.return=k.return;k=k.sibling}f?(g=e,h=c.stateNode,\n8===g.nodeType?g.parentNode.removeChild(h):g.removeChild(h)):e.removeChild(c.stateNode)}else if(4===c.tag){if(null!==c.child){e=c.stateNode.containerInfo;f=!0;c.child.return=c;c=c.child;continue}}else if(bj(a,c),null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return;4===c.tag&&(d=!1)}c.sibling.return=c.return;c=c.sibling}}\nfunction ij(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:var c=b.updateQueue;c=null!==c?c.lastEffect:null;if(null!==c){var d=c=c.next;do 3===(d.tag&3)&&(a=d.destroy,d.destroy=void 0,void 0!==a&&a()),d=d.next;while(d!==c)}return;case 1:return;case 5:c=b.stateNode;if(null!=c){d=b.memoizedProps;var e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[xf]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&$a(c,d);wb(a,e);b=wb(a,d);for(e=0;ee&&(e=g);c&=~f}c=e;c=O()-c;c=(120>c?120:480>c?480:1080>c?1080:1920>c?1920:3E3>c?3E3:4320>\nc?4320:1960*nj(c/1960))-c;if(10 component higher in the tree to provide a loading indicator or placeholder to display.\")}5!==V&&(V=2);k=Mi(k,h);p=\ng;do{switch(p.tag){case 3:f=k;p.flags|=4096;b&=-b;p.lanes|=b;var J=Pi(p,f,b);Bg(p,J);break a;case 1:f=k;var K=p.type,Q=p.stateNode;if(0===(p.flags&64)&&(\"function\"===typeof K.getDerivedStateFromError||null!==Q&&\"function\"===typeof Q.componentDidCatch&&(null===Ti||!Ti.has(Q)))){p.flags|=4096;b&=-b;p.lanes|=b;var L=Si(p,f,b);Bg(p,L);break a}}p=p.return}while(null!==p)}Zj(c)}catch(va){b=va;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}\nfunction Pj(){var a=oj.current;oj.current=Gh;return null===a?Gh:a}function Tj(a,b){var c=X;X|=16;var d=Pj();U===a&&W===b||Qj(a,b);do try{ak();break}catch(e){Sj(a,e)}while(1);qg();X=c;oj.current=d;if(null!==Y)throw Error(y(261));U=null;W=0;return V}function ak(){for(;null!==Y;)bk(Y)}function Rj(){for(;null!==Y&&!Qf();)bk(Y)}function bk(a){var b=ck(a.alternate,a,qj);a.memoizedProps=a.pendingProps;null===b?Zj(a):Y=b;pj.current=null}\nfunction Zj(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&2048)){c=Gi(c,b,qj);if(null!==c){Y=c;return}c=b;if(24!==c.tag&&23!==c.tag||null===c.memoizedState||0!==(qj&1073741824)||0===(c.mode&4)){for(var d=0,e=c.child;null!==e;)d|=e.lanes|e.childLanes,e=e.sibling;c.childLanes=d}null!==a&&0===(a.flags&2048)&&(null===a.firstEffect&&(a.firstEffect=b.firstEffect),null!==b.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=b.firstEffect),a.lastEffect=b.lastEffect),1g&&(h=g,g=J,J=h),h=Le(t,J),f=Le(t,g),h&&f&&(1!==v.rangeCount||v.anchorNode!==h.node||v.anchorOffset!==h.offset||v.focusNode!==f.node||v.focusOffset!==f.offset)&&(q=q.createRange(),q.setStart(h.node,h.offset),v.removeAllRanges(),J>g?(v.addRange(q),v.extend(f.node,f.offset)):(q.setEnd(f.node,f.offset),v.addRange(q))))));q=[];for(v=t;v=v.parentNode;)1===v.nodeType&&q.push({element:v,left:v.scrollLeft,top:v.scrollTop});\"function\"===typeof t.focus&&t.focus();for(t=\n0;tO()-jj?Qj(a,0):uj|=c);Mj(a,b)}function lj(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=a.mode,0===(b&2)?b=1:0===(b&4)?b=99===eg()?1:2:(0===Gj&&(Gj=tj),b=Yc(62914560&~Gj),0===b&&(b=4194304)));c=Hg();a=Kj(a,b);null!==a&&($c(a,b,c),Mj(a,c))}var ck;\nck=function(a,b,c){var d=b.lanes;if(null!==a)if(a.memoizedProps!==b.pendingProps||N.current)ug=!0;else if(0!==(c&d))ug=0!==(a.flags&16384)?!0:!1;else{ug=!1;switch(b.tag){case 3:ri(b);sh();break;case 5:gh(b);break;case 1:Ff(b.type)&&Jf(b);break;case 4:eh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;var e=b.type._context;I(mg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){if(0!==(c&b.child.childLanes))return ti(a,b,c);I(P,P.current&1);b=hi(a,b,c);return null!==\nb?b.sibling:null}I(P,P.current&1);break;case 19:d=0!==(c&b.childLanes);if(0!==(a.flags&64)){if(d)return Ai(a,b,c);b.flags|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);I(P,P.current);if(d)break;else return null;case 23:case 24:return b.lanes=0,mi(a,b,c)}return hi(a,b,c)}else ug=!1;b.lanes=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;e=Ef(b,M.current);tg(b,c);e=Ch(null,b,d,a,e,c);b.flags|=1;if(\"object\"===\ntypeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(Ff(d)){var f=!0;Jf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;xg(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Gg(b,d,g,a);e.updater=Kg;b.stateNode=e;e._reactInternals=b;Og(b,d,a,c);b=qi(null,b,d,!0,f,c)}else b.tag=0,fi(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;a:{null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);\na=b.pendingProps;f=e._init;e=f(e._payload);b.type=e;f=b.tag=hk(e);a=lg(e,a);switch(f){case 0:b=li(null,b,e,a,c);break a;case 1:b=pi(null,b,e,a,c);break a;case 11:b=gi(null,b,e,a,c);break a;case 14:b=ii(null,b,e,lg(e.type,a),d,c);break a}throw Error(y(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),li(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),pi(a,b,d,e,c);case 3:ri(b);d=b.updateQueue;if(null===a||null===d)throw Error(y(282));\nd=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;yg(a,b);Cg(b,d,null,c);d=b.memoizedState.element;if(d===e)sh(),b=hi(a,b,c);else{e=b.stateNode;if(f=e.hydrate)kh=rf(b.stateNode.containerInfo.firstChild),jh=b,f=lh=!0;if(f){a=e.mutableSourceEagerHydrationData;if(null!=a)for(e=0;e = {};\nfunction warningOnce(key: string, cond: boolean, message: string) {\n if (!cond && !alreadyWarned[key]) {\n alreadyWarned[key] = true;\n warning(false, message);\n }\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// CONTEXT\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * A Navigator is a \"location changer\"; it's how you get to different locations.\n *\n * Every history instance conforms to the Navigator interface, but the\n * distinction is useful primarily when it comes to the low-level API\n * where both the location and a navigator must be provided separately in order\n * to avoid \"tearing\" that may occur in a suspense-enabled app if the action\n * and/or location were to be read directly from the history instance.\n */\nexport type Navigator = Pick;\n\ninterface NavigationContextObject {\n basename: string;\n navigator: Navigator;\n static: boolean;\n}\n\nconst NavigationContext = React.createContext(null!);\n\nif (__DEV__) {\n NavigationContext.displayName = \"Navigation\";\n}\n\ninterface LocationContextObject {\n location: Location;\n navigationType: NavigationType;\n}\n\nconst LocationContext = React.createContext(null!);\n\nif (__DEV__) {\n LocationContext.displayName = \"Location\";\n}\n\ninterface RouteContextObject {\n outlet: React.ReactElement | null;\n matches: RouteMatch[];\n}\n\nconst RouteContext = React.createContext({\n outlet: null,\n matches: []\n});\n\nif (__DEV__) {\n RouteContext.displayName = \"Route\";\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// COMPONENTS\n///////////////////////////////////////////////////////////////////////////////\n\nexport interface MemoryRouterProps {\n basename?: string;\n children?: React.ReactNode;\n initialEntries?: InitialEntry[];\n initialIndex?: number;\n}\n\n/**\n * A that stores all entries in memory.\n *\n * @see https://reactrouter.com/docs/en/v6/api#memoryrouter\n */\nexport function MemoryRouter({\n basename,\n children,\n initialEntries,\n initialIndex\n}: MemoryRouterProps): React.ReactElement {\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createMemoryHistory({ initialEntries, initialIndex });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nexport interface NavigateProps {\n to: To;\n replace?: boolean;\n state?: any;\n}\n\n/**\n * Changes the current location.\n *\n * Note: This API is mostly useful in React.Component subclasses that are not\n * able to use hooks. In functional components, we recommend you use the\n * `useNavigate` hook instead.\n *\n * @see https://reactrouter.com/docs/en/v6/api#navigate\n */\nexport function Navigate({ to, replace, state }: NavigateProps): null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of\n // the router loaded. We can help them understand how to avoid that.\n ` may be used only in the context of a component.`\n );\n\n warning(\n !React.useContext(NavigationContext).static,\n ` must not be used on the initial render in a . ` +\n `This is a no-op, but you should modify your code so the is ` +\n `only ever rendered in response to some user interaction or state change.`\n );\n\n let navigate = useNavigate();\n React.useEffect(() => {\n navigate(to, { replace, state });\n });\n\n return null;\n}\n\nexport interface OutletProps {\n context?: unknown;\n}\n\n/**\n * Renders the child route's element, if there is one.\n *\n * @see https://reactrouter.com/docs/en/v6/api#outlet\n */\nexport function Outlet(props: OutletProps): React.ReactElement | null {\n return useOutlet(props.context);\n}\n\nexport interface RouteProps {\n caseSensitive?: boolean;\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n index?: boolean;\n path?: string;\n}\n\nexport interface PathRouteProps {\n caseSensitive?: boolean;\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n index?: false;\n path: string;\n}\n\nexport interface LayoutRouteProps {\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n}\n\nexport interface IndexRouteProps {\n element?: React.ReactNode | null;\n index: true;\n}\n\n/**\n * Declares an element that should be rendered at a certain URL path.\n *\n * @see https://reactrouter.com/docs/en/v6/api#route\n */\nexport function Route(\n _props: PathRouteProps | LayoutRouteProps | IndexRouteProps\n): React.ReactElement | null {\n invariant(\n false,\n `A is only ever to be used as the child of element, ` +\n `never rendered directly. Please wrap your in a .`\n );\n}\n\nexport interface RouterProps {\n basename?: string;\n children?: React.ReactNode;\n location: Partial | string;\n navigationType?: NavigationType;\n navigator: Navigator;\n static?: boolean;\n}\n\n/**\n * Provides location context for the rest of the app.\n *\n * Note: You usually won't render a directly. Instead, you'll render a\n * router that is more specific to your environment such as a \n * in web browsers or a for server rendering.\n *\n * @see https://reactrouter.com/docs/en/v6/api#router\n */\nexport function Router({\n basename: basenameProp = \"/\",\n children = null,\n location: locationProp,\n navigationType = NavigationType.Pop,\n navigator,\n static: staticProp = false\n}: RouterProps): React.ReactElement | null {\n invariant(\n !useInRouterContext(),\n `You cannot render a inside another .` +\n ` You should never have more than one in your app.`\n );\n\n let basename = normalizePathname(basenameProp);\n let navigationContext = React.useMemo(\n () => ({ basename, navigator, static: staticProp }),\n [basename, navigator, staticProp]\n );\n\n if (typeof locationProp === \"string\") {\n locationProp = parsePath(locationProp);\n }\n\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n state = null,\n key = \"default\"\n } = locationProp;\n\n let location = React.useMemo(() => {\n let trailingPathname = stripBasename(pathname, basename);\n\n if (trailingPathname == null) {\n return null;\n }\n\n return {\n pathname: trailingPathname,\n search,\n hash,\n state,\n key\n };\n }, [basename, pathname, search, hash, state, key]);\n\n warning(\n location != null,\n ` is not able to match the URL ` +\n `\"${pathname}${search}${hash}\" because it does not start with the ` +\n `basename, so the won't render anything.`\n );\n\n if (location == null) {\n return null;\n }\n\n return (\n \n \n \n );\n}\n\nexport interface RoutesProps {\n children?: React.ReactNode;\n location?: Partial | string;\n}\n\n/**\n * A container for a nested tree of elements that renders the branch\n * that best matches the current location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#routes\n */\nexport function Routes({\n children,\n location\n}: RoutesProps): React.ReactElement | null {\n return useRoutes(createRoutesFromChildren(children), location);\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// HOOKS\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * Returns the full href for the given \"to\" value. This is useful for building\n * custom links that are also accessible and preserve right-click behavior.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usehref\n */\nexport function useHref(to: To): string {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useHref() may be used only in the context of a component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { hash, pathname, search } = useResolvedPath(to);\n\n let joinedPathname = pathname;\n if (basename !== \"/\") {\n let toPathname = getToPathname(to);\n let endsWithSlash = toPathname != null && toPathname.endsWith(\"/\");\n joinedPathname =\n pathname === \"/\"\n ? basename + (endsWithSlash ? \"/\" : \"\")\n : joinPaths([basename, pathname]);\n }\n\n return navigator.createHref({ pathname: joinedPathname, search, hash });\n}\n\n/**\n * Returns true if this component is a descendant of a .\n *\n * @see https://reactrouter.com/docs/en/v6/api#useinroutercontext\n */\nexport function useInRouterContext(): boolean {\n return React.useContext(LocationContext) != null;\n}\n\n/**\n * Returns the current location object, which represents the current URL in web\n * browsers.\n *\n * Note: If you're using this it may mean you're doing some of your own\n * \"routing\" in your app, and we'd like to know what your use case is. We may\n * be able to provide something higher-level to better suit your needs.\n *\n * @see https://reactrouter.com/docs/en/v6/api#uselocation\n */\nexport function useLocation(): Location {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useLocation() may be used only in the context of a component.`\n );\n\n return React.useContext(LocationContext).location;\n}\n\ntype ParamParseFailed = { failed: true };\n\ntype ParamParseSegment =\n // Check here if there exists a forward slash in the string.\n Segment extends `${infer LeftSegment}/${infer RightSegment}`\n ? // If there is a forward slash, then attempt to parse each side of the\n // forward slash.\n ParamParseSegment extends infer LeftResult\n ? ParamParseSegment extends infer RightResult\n ? LeftResult extends string\n ? // If the left side is successfully parsed as a param, then check if\n // the right side can be successfully parsed as well. If both sides\n // can be parsed, then the result is a union of the two sides\n // (read: \"foo\" | \"bar\").\n RightResult extends string\n ? LeftResult | RightResult\n : LeftResult\n : // If the left side is not successfully parsed as a param, then check\n // if only the right side can be successfully parse as a param. If it\n // can, then the result is just right, else it's a failure.\n RightResult extends string\n ? RightResult\n : ParamParseFailed\n : ParamParseFailed\n : // If the left side didn't parse into a param, then just check the right\n // side.\n ParamParseSegment extends infer RightResult\n ? RightResult extends string\n ? RightResult\n : ParamParseFailed\n : ParamParseFailed\n : // If there's no forward slash, then check if this segment starts with a\n // colon. If it does, then this is a dynamic segment, so the result is\n // just the remainder of the string. Otherwise, it's a failure.\n Segment extends `:${infer Remaining}`\n ? Remaining\n : ParamParseFailed;\n\n// Attempt to parse the given string segment. If it fails, then just return the\n// plain string type as a default fallback. Otherwise return the union of the\n// parsed string literals that were referenced as dynamic segments in the route.\ntype ParamParseKey =\n ParamParseSegment extends string\n ? ParamParseSegment\n : string;\n\n/**\n * Returns the current navigation action which describes how the router came to\n * the current location, either by a pop, push, or replace on the history stack.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usenavigationtype\n */\nexport function useNavigationType(): NavigationType {\n return React.useContext(LocationContext).navigationType;\n}\n\n/**\n * Returns true if the URL for the given \"to\" value matches the current URL.\n * This is useful for components that need to know \"active\" state, e.g.\n * .\n *\n * @see https://reactrouter.com/docs/en/v6/api#usematch\n */\nexport function useMatch<\n ParamKey extends ParamParseKey,\n Path extends string\n>(pattern: PathPattern | Path): PathMatch | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useMatch() may be used only in the context of a component.`\n );\n\n let { pathname } = useLocation();\n return React.useMemo(\n () => matchPath(pattern, pathname),\n [pathname, pattern]\n );\n}\n\n/**\n * The interface for the navigate() function returned from useNavigate().\n */\nexport interface NavigateFunction {\n (to: To, options?: NavigateOptions): void;\n (delta: number): void;\n}\n\nexport interface NavigateOptions {\n replace?: boolean;\n state?: any;\n}\n\n/**\n * Returns an imperative method for changing the location. Used by s, but\n * may also be used by other elements to change the location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usenavigate\n */\nexport function useNavigate(): NavigateFunction {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useNavigate() may be used only in the context of a component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n matches.map(match => match.pathnameBase)\n );\n\n let activeRef = React.useRef(false);\n React.useEffect(() => {\n activeRef.current = true;\n });\n\n let navigate: NavigateFunction = React.useCallback(\n (to: To | number, options: NavigateOptions = {}) => {\n warning(\n activeRef.current,\n `You should call navigate() in a React.useEffect(), not when ` +\n `your component is first rendered.`\n );\n\n if (!activeRef.current) return;\n\n if (typeof to === \"number\") {\n navigator.go(to);\n return;\n }\n\n let path = resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname\n );\n\n if (basename !== \"/\") {\n path.pathname = joinPaths([basename, path.pathname]);\n }\n\n (!!options.replace ? navigator.replace : navigator.push)(\n path,\n options.state\n );\n },\n [basename, navigator, routePathnamesJson, locationPathname]\n );\n\n return navigate;\n}\n\nconst OutletContext = React.createContext(null);\n\n/**\n * Returns the context (if provided) for the child route at this level of the route\n * hierarchy.\n * @see https://reactrouter.com/docs/en/v6/api#useoutletcontext\n */\nexport function useOutletContext(): Context {\n return React.useContext(OutletContext) as Context;\n}\n\n/**\n * Returns the element for the child route at this level of the route\n * hierarchy. Used internally by to render child routes.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useoutlet\n */\nexport function useOutlet(context?: unknown): React.ReactElement | null {\n let outlet = React.useContext(RouteContext).outlet;\n if (outlet) {\n return (\n {outlet}\n );\n }\n return outlet;\n}\n\n/**\n * Returns an object of key/value pairs of the dynamic params from the current\n * URL that were matched by the route path.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useparams\n */\nexport function useParams<\n ParamsOrKey extends string | Record = string\n>(): Readonly<\n [ParamsOrKey] extends [string] ? Params : Partial\n> {\n let { matches } = React.useContext(RouteContext);\n let routeMatch = matches[matches.length - 1];\n return routeMatch ? (routeMatch.params as any) : {};\n}\n\n/**\n * Resolves the pathname of the given `to` value against the current location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useresolvedpath\n */\nexport function useResolvedPath(to: To): Path {\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n matches.map(match => match.pathnameBase)\n );\n\n return React.useMemo(\n () => resolveTo(to, JSON.parse(routePathnamesJson), locationPathname),\n [to, routePathnamesJson, locationPathname]\n );\n}\n\n/**\n * Returns the element of the route that matched the current location, prepared\n * with the correct context to render the remainder of the route tree. Route\n * elements in the tree must render an to render their child route's\n * element.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useroutes\n */\nexport function useRoutes(\n routes: RouteObject[],\n locationArg?: Partial | string\n): React.ReactElement | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useRoutes() may be used only in the context of a component.`\n );\n\n let { matches: parentMatches } = React.useContext(RouteContext);\n let routeMatch = parentMatches[parentMatches.length - 1];\n let parentParams = routeMatch ? routeMatch.params : {};\n let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n let parentRoute = routeMatch && routeMatch.route;\n\n if (__DEV__) {\n // You won't get a warning about 2 different under a \n // without a trailing *, but this is a best-effort warning anyway since we\n // cannot even give the warning unless they land at the parent route.\n //\n // Example:\n //\n // \n // {/* This route path MUST end with /* because otherwise\n // it will never match /blog/post/123 */}\n // } />\n // } />\n // \n //\n // function Blog() {\n // return (\n // \n // } />\n // \n // );\n // }\n let parentPath = (parentRoute && parentRoute.path) || \"\";\n warningOnce(\n parentPathname,\n !parentRoute || parentPath.endsWith(\"*\"),\n `You rendered descendant (or called \\`useRoutes()\\`) at ` +\n `\"${parentPathname}\" (under ) but the ` +\n `parent route path has no trailing \"*\". This means if you navigate ` +\n `deeper, the parent won't match anymore and therefore the child ` +\n `routes will never render.\\n\\n` +\n `Please change the parent to .`\n );\n }\n\n let locationFromContext = useLocation();\n\n let location;\n if (locationArg) {\n let parsedLocationArg =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n invariant(\n parentPathnameBase === \"/\" ||\n parsedLocationArg.pathname?.startsWith(parentPathnameBase),\n `When overriding the location using \\`\\` or \\`useRoutes(routes, location)\\`, ` +\n `the location pathname must begin with the portion of the URL pathname that was ` +\n `matched by all parent routes. The current pathname base is \"${parentPathnameBase}\" ` +\n `but pathname \"${parsedLocationArg.pathname}\" was given in the \\`location\\` prop.`\n );\n\n location = parsedLocationArg;\n } else {\n location = locationFromContext;\n }\n\n let pathname = location.pathname || \"/\";\n let remainingPathname =\n parentPathnameBase === \"/\"\n ? pathname\n : pathname.slice(parentPathnameBase.length) || \"/\";\n let matches = matchRoutes(routes, { pathname: remainingPathname });\n\n if (__DEV__) {\n warning(\n parentRoute || matches != null,\n `No routes matched location \"${location.pathname}${location.search}${location.hash}\" `\n );\n\n warning(\n matches == null ||\n matches[matches.length - 1].route.element !== undefined,\n `Matched leaf route at location \"${location.pathname}${location.search}${location.hash}\" does not have an element. ` +\n `This means it will render an with a null value by default resulting in an \"empty\" page.`\n );\n }\n\n return _renderMatches(\n matches &&\n matches.map(match =>\n Object.assign({}, match, {\n params: Object.assign({}, parentParams, match.params),\n pathname: joinPaths([parentPathnameBase, match.pathname]),\n pathnameBase:\n match.pathnameBase === \"/\"\n ? parentPathnameBase\n : joinPaths([parentPathnameBase, match.pathnameBase])\n })\n ),\n parentMatches\n );\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// UTILS\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * Creates a route config from a React \"children\" object, which is usually\n * either a `` element or an array of them. Used internally by\n * `` to create a route config from its children.\n *\n * @see https://reactrouter.com/docs/en/v6/api#createroutesfromchildren\n */\nexport function createRoutesFromChildren(\n children: React.ReactNode\n): RouteObject[] {\n let routes: RouteObject[] = [];\n\n React.Children.forEach(children, element => {\n if (!React.isValidElement(element)) {\n // Ignore non-elements. This allows people to more easily inline\n // conditionals in their route config.\n return;\n }\n\n if (element.type === React.Fragment) {\n // Transparently support React.Fragment and its children.\n routes.push.apply(\n routes,\n createRoutesFromChildren(element.props.children)\n );\n return;\n }\n\n invariant(\n element.type === Route,\n `[${\n typeof element.type === \"string\" ? element.type : element.type.name\n }] is not a component. All component children of must be a or `\n );\n\n let route: RouteObject = {\n caseSensitive: element.props.caseSensitive,\n element: element.props.element,\n index: element.props.index,\n path: element.props.path\n };\n\n if (element.props.children) {\n route.children = createRoutesFromChildren(element.props.children);\n }\n\n routes.push(route);\n });\n\n return routes;\n}\n\n/**\n * The parameters that were parsed from the URL path.\n */\nexport type Params = {\n readonly [key in Key]: string | undefined;\n};\n\n/**\n * A route object represents a logical route, with (optionally) its child\n * routes organized in a tree-like structure.\n */\nexport interface RouteObject {\n caseSensitive?: boolean;\n children?: RouteObject[];\n element?: React.ReactNode;\n index?: boolean;\n path?: string;\n}\n\n/**\n * Returns a path with params interpolated.\n *\n * @see https://reactrouter.com/docs/en/v6/api#generatepath\n */\nexport function generatePath(path: string, params: Params = {}): string {\n return path\n .replace(/:(\\w+)/g, (_, key) => {\n invariant(params[key] != null, `Missing \":${key}\" param`);\n return params[key]!;\n })\n .replace(/\\/*\\*$/, _ =>\n params[\"*\"] == null ? \"\" : params[\"*\"].replace(/^\\/*/, \"/\")\n );\n}\n\n/**\n * A RouteMatch contains info about how a route matched a URL.\n */\nexport interface RouteMatch {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The route object that was used to match.\n */\n route: RouteObject;\n}\n\n/**\n * Matches the given routes to a location and returns the match data.\n *\n * @see https://reactrouter.com/docs/en/v6/api#matchroutes\n */\nexport function matchRoutes(\n routes: RouteObject[],\n locationArg: Partial | string,\n basename = \"/\"\n): RouteMatch[] | null {\n let location =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n let pathname = stripBasename(location.pathname || \"/\", basename);\n\n if (pathname == null) {\n return null;\n }\n\n let branches = flattenRoutes(routes);\n rankRouteBranches(branches);\n\n let matches = null;\n for (let i = 0; matches == null && i < branches.length; ++i) {\n matches = matchRouteBranch(branches[i], pathname);\n }\n\n return matches;\n}\n\ninterface RouteMeta {\n relativePath: string;\n caseSensitive: boolean;\n childrenIndex: number;\n route: RouteObject;\n}\n\ninterface RouteBranch {\n path: string;\n score: number;\n routesMeta: RouteMeta[];\n}\n\nfunction flattenRoutes(\n routes: RouteObject[],\n branches: RouteBranch[] = [],\n parentsMeta: RouteMeta[] = [],\n parentPath = \"\"\n): RouteBranch[] {\n routes.forEach((route, index) => {\n let meta: RouteMeta = {\n relativePath: route.path || \"\",\n caseSensitive: route.caseSensitive === true,\n childrenIndex: index,\n route\n };\n\n if (meta.relativePath.startsWith(\"/\")) {\n invariant(\n meta.relativePath.startsWith(parentPath),\n `Absolute route path \"${meta.relativePath}\" nested under path ` +\n `\"${parentPath}\" is not valid. An absolute child route path ` +\n `must start with the combined path of all its parent routes.`\n );\n\n meta.relativePath = meta.relativePath.slice(parentPath.length);\n }\n\n let path = joinPaths([parentPath, meta.relativePath]);\n let routesMeta = parentsMeta.concat(meta);\n\n // Add the children before adding this route to the array so we traverse the\n // route tree depth-first and child routes appear before their parents in\n // the \"flattened\" version.\n if (route.children && route.children.length > 0) {\n invariant(\n route.index !== true,\n `Index routes must not have child routes. Please remove ` +\n `all child routes from route path \"${path}\".`\n );\n\n flattenRoutes(route.children, branches, routesMeta, path);\n }\n\n // Routes without a path shouldn't ever match by themselves unless they are\n // index routes, so don't add them to the list of possible branches.\n if (route.path == null && !route.index) {\n return;\n }\n\n branches.push({ path, score: computeScore(path, route.index), routesMeta });\n });\n\n return branches;\n}\n\nfunction rankRouteBranches(branches: RouteBranch[]): void {\n branches.sort((a, b) =>\n a.score !== b.score\n ? b.score - a.score // Higher score first\n : compareIndexes(\n a.routesMeta.map(meta => meta.childrenIndex),\n b.routesMeta.map(meta => meta.childrenIndex)\n )\n );\n}\n\nconst paramRe = /^:\\w+$/;\nconst dynamicSegmentValue = 3;\nconst indexRouteValue = 2;\nconst emptySegmentValue = 1;\nconst staticSegmentValue = 10;\nconst splatPenalty = -2;\nconst isSplat = (s: string) => s === \"*\";\n\nfunction computeScore(path: string, index: boolean | undefined): number {\n let segments = path.split(\"/\");\n let initialScore = segments.length;\n if (segments.some(isSplat)) {\n initialScore += splatPenalty;\n }\n\n if (index) {\n initialScore += indexRouteValue;\n }\n\n return segments\n .filter(s => !isSplat(s))\n .reduce(\n (score, segment) =>\n score +\n (paramRe.test(segment)\n ? dynamicSegmentValue\n : segment === \"\"\n ? emptySegmentValue\n : staticSegmentValue),\n initialScore\n );\n}\n\nfunction compareIndexes(a: number[], b: number[]): number {\n let siblings =\n a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n\n return siblings\n ? // If two routes are siblings, we should try to match the earlier sibling\n // first. This allows people to have fine-grained control over the matching\n // behavior by simply putting routes with identical paths in the order they\n // want them tried.\n a[a.length - 1] - b[b.length - 1]\n : // Otherwise, it doesn't really make sense to rank non-siblings by index,\n // so they sort equally.\n 0;\n}\n\nfunction matchRouteBranch(\n branch: RouteBranch,\n pathname: string\n): RouteMatch[] | null {\n let { routesMeta } = branch;\n\n let matchedParams = {};\n let matchedPathname = \"/\";\n let matches: RouteMatch[] = [];\n for (let i = 0; i < routesMeta.length; ++i) {\n let meta = routesMeta[i];\n let end = i === routesMeta.length - 1;\n let remainingPathname =\n matchedPathname === \"/\"\n ? pathname\n : pathname.slice(matchedPathname.length) || \"/\";\n let match = matchPath(\n { path: meta.relativePath, caseSensitive: meta.caseSensitive, end },\n remainingPathname\n );\n\n if (!match) return null;\n\n Object.assign(matchedParams, match.params);\n\n let route = meta.route;\n\n matches.push({\n params: matchedParams,\n pathname: joinPaths([matchedPathname, match.pathname]),\n pathnameBase: joinPaths([matchedPathname, match.pathnameBase]),\n route\n });\n\n if (match.pathnameBase !== \"/\") {\n matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n }\n }\n\n return matches;\n}\n\n/**\n * Renders the result of `matchRoutes()` into a React element.\n */\nexport function renderMatches(\n matches: RouteMatch[] | null\n): React.ReactElement | null {\n return _renderMatches(matches);\n}\n\nfunction _renderMatches(\n matches: RouteMatch[] | null,\n parentMatches: RouteMatch[] = []\n): React.ReactElement | null {\n if (matches == null) return null;\n\n return matches.reduceRight((outlet, match, index) => {\n return (\n \n }\n value={{\n outlet,\n matches: parentMatches.concat(matches.slice(0, index + 1))\n }}\n />\n );\n }, null as React.ReactElement | null);\n}\n\n/**\n * A PathPattern is used to match on some portion of a URL pathname.\n */\nexport interface PathPattern {\n /**\n * A string to match against a URL pathname. May contain `:id`-style segments\n * to indicate placeholders for dynamic parameters. May also end with `/*` to\n * indicate matching the rest of the URL pathname.\n */\n path: Path;\n /**\n * Should be `true` if the static portions of the `path` should be matched in\n * the same case.\n */\n caseSensitive?: boolean;\n /**\n * Should be `true` if this pattern should match the entire URL pathname.\n */\n end?: boolean;\n}\n\n/**\n * A PathMatch contains info about how a PathPattern matched on a URL pathname.\n */\nexport interface PathMatch {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The pattern that was used to match.\n */\n pattern: PathPattern;\n}\n\ntype Mutable = {\n -readonly [P in keyof T]: T[P];\n};\n\n/**\n * Performs pattern matching on a URL pathname and returns information about\n * the match.\n *\n * @see https://reactrouter.com/docs/en/v6/api#matchpath\n */\nexport function matchPath<\n ParamKey extends ParamParseKey,\n Path extends string\n>(\n pattern: PathPattern | Path,\n pathname: string\n): PathMatch | null {\n if (typeof pattern === \"string\") {\n pattern = { path: pattern, caseSensitive: false, end: true };\n }\n\n let [matcher, paramNames] = compilePath(\n pattern.path,\n pattern.caseSensitive,\n pattern.end\n );\n\n let match = pathname.match(matcher);\n if (!match) return null;\n\n let matchedPathname = match[0];\n let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n let captureGroups = match.slice(1);\n let params: Params = paramNames.reduce>(\n (memo, paramName, index) => {\n // We need to compute the pathnameBase here using the raw splat value\n // instead of using params[\"*\"] later because it will be decoded then\n if (paramName === \"*\") {\n let splatValue = captureGroups[index] || \"\";\n pathnameBase = matchedPathname\n .slice(0, matchedPathname.length - splatValue.length)\n .replace(/(.)\\/+$/, \"$1\");\n }\n\n memo[paramName] = safelyDecodeURIComponent(\n captureGroups[index] || \"\",\n paramName\n );\n return memo;\n },\n {}\n );\n\n return {\n params,\n pathname: matchedPathname,\n pathnameBase,\n pattern\n };\n}\n\nfunction compilePath(\n path: string,\n caseSensitive = false,\n end = true\n): [RegExp, string[]] {\n warning(\n path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"),\n `Route path \"${path}\" will be treated as if it were ` +\n `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n\n let paramNames: string[] = [];\n let regexpSource =\n \"^\" +\n path\n .replace(/\\/*\\*?$/, \"\") // Ignore trailing / and /*, we'll handle it below\n .replace(/^\\/*/, \"/\") // Make sure it has a leading /\n .replace(/[\\\\.*+^$?{}|()[\\]]/g, \"\\\\$&\") // Escape special regex chars\n .replace(/:(\\w+)/g, (_: string, paramName: string) => {\n paramNames.push(paramName);\n return \"([^\\\\/]+)\";\n });\n\n if (path.endsWith(\"*\")) {\n paramNames.push(\"*\");\n regexpSource +=\n path === \"*\" || path === \"/*\"\n ? \"(.*)$\" // Already matched the initial /, just match the rest\n : \"(?:\\\\/(.+)|\\\\/*)$\"; // Don't include the / in params[\"*\"]\n } else {\n regexpSource += end\n ? \"\\\\/*$\" // When matching to the end, ignore trailing slashes\n : // Otherwise, match a word boundary or a proceeding /. The word boundary restricts\n // parent routes to matching only their own words and nothing more, e.g. parent\n // route \"/home\" should not match \"/home2\".\n \"(?:\\\\b|\\\\/|$)\";\n }\n\n let matcher = new RegExp(regexpSource, caseSensitive ? undefined : \"i\");\n\n return [matcher, paramNames];\n}\n\nfunction safelyDecodeURIComponent(value: string, paramName: string) {\n try {\n return decodeURIComponent(value);\n } catch (error) {\n warning(\n false,\n `The value for the URL param \"${paramName}\" will not be decoded because` +\n ` the string \"${value}\" is a malformed URL segment. This is probably` +\n ` due to a bad percent encoding (${error}).`\n );\n\n return value;\n }\n}\n\n/**\n * Returns a resolved path object relative to the given pathname.\n *\n * @see https://reactrouter.com/docs/en/v6/api#resolvepath\n */\nexport function resolvePath(to: To, fromPathname = \"/\"): Path {\n let {\n pathname: toPathname,\n search = \"\",\n hash = \"\"\n } = typeof to === \"string\" ? parsePath(to) : to;\n\n let pathname = toPathname\n ? toPathname.startsWith(\"/\")\n ? toPathname\n : resolvePathname(toPathname, fromPathname)\n : fromPathname;\n\n return {\n pathname,\n search: normalizeSearch(search),\n hash: normalizeHash(hash)\n };\n}\n\nfunction resolvePathname(relativePath: string, fromPathname: string): string {\n let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n let relativeSegments = relativePath.split(\"/\");\n\n relativeSegments.forEach(segment => {\n if (segment === \"..\") {\n // Keep the root \"\" segment so the pathname starts at /\n if (segments.length > 1) segments.pop();\n } else if (segment !== \".\") {\n segments.push(segment);\n }\n });\n\n return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\n\nfunction resolveTo(\n toArg: To,\n routePathnames: string[],\n locationPathname: string\n): Path {\n let to = typeof toArg === \"string\" ? parsePath(toArg) : toArg;\n let toPathname = toArg === \"\" || to.pathname === \"\" ? \"/\" : to.pathname;\n\n // If a pathname is explicitly provided in `to`, it should be relative to the\n // route context. This is explained in `Note on `` values` in our\n // migration guide from v5 as a means of disambiguation between `to` values\n // that begin with `/` and those that do not. However, this is problematic for\n // `to` values that do not provide a pathname. `to` can simply be a search or\n // hash string, in which case we should assume that the navigation is relative\n // to the current location's pathname and *not* the route pathname.\n let from: string;\n if (toPathname == null) {\n from = locationPathname;\n } else {\n let routePathnameIndex = routePathnames.length - 1;\n\n if (toPathname.startsWith(\"..\")) {\n let toSegments = toPathname.split(\"/\");\n\n // Each leading .. segment means \"go up one route\" instead of \"go up one\n // URL segment\". This is a key difference from how works and a\n // major reason we call this a \"to\" value instead of a \"href\".\n while (toSegments[0] === \"..\") {\n toSegments.shift();\n routePathnameIndex -= 1;\n }\n\n to.pathname = toSegments.join(\"/\");\n }\n\n // If there are more \"..\" segments than parent routes, resolve relative to\n // the root / URL.\n from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n }\n\n let path = resolvePath(to, from);\n\n // Ensure the pathname has a trailing slash if the original to value had one.\n if (\n toPathname &&\n toPathname !== \"/\" &&\n toPathname.endsWith(\"/\") &&\n !path.pathname.endsWith(\"/\")\n ) {\n path.pathname += \"/\";\n }\n\n return path;\n}\n\nfunction getToPathname(to: To): string | undefined {\n // Empty strings should be treated the same as / paths\n return to === \"\" || (to as Path).pathname === \"\"\n ? \"/\"\n : typeof to === \"string\"\n ? parsePath(to).pathname\n : to.pathname;\n}\n\nfunction stripBasename(pathname: string, basename: string): string | null {\n if (basename === \"/\") return pathname;\n\n if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n return null;\n }\n\n let nextChar = pathname.charAt(basename.length);\n if (nextChar && nextChar !== \"/\") {\n // pathname does not start with basename/\n return null;\n }\n\n return pathname.slice(basename.length) || \"/\";\n}\n\nconst joinPaths = (paths: string[]): string =>\n paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\n\nconst normalizePathname = (pathname: string): string =>\n pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\n\nconst normalizeSearch = (search: string): string =>\n !search || search === \"?\"\n ? \"\"\n : search.startsWith(\"?\")\n ? search\n : \"?\" + search;\n\nconst normalizeHash = (hash: string): string =>\n !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\n\n///////////////////////////////////////////////////////////////////////////////\n// DANGER! PLEASE READ ME!\n// We provide these exports as an escape hatch in the event that you need any\n// routing data that we don't provide an explicit API for. With that said, we\n// want to cover your use case if we can, so if you feel the need to use these\n// we want to hear from you. Let us know what you're building and we'll do our\n// best to make sure we can support you!\n//\n// We consider these exports an implementation detail and do not guarantee\n// against any breaking changes, regardless of the semver release. Use with\n// extreme caution and only if you understand the consequences. Godspeed.\n///////////////////////////////////////////////////////////////////////////////\n\n/** @internal */\nexport {\n NavigationContext as UNSAFE_NavigationContext,\n LocationContext as UNSAFE_LocationContext,\n RouteContext as UNSAFE_RouteContext\n};\n","import * as React from \"react\";\nimport type { BrowserHistory, HashHistory, History } from \"history\";\nimport { createBrowserHistory, createHashHistory, createPath } from \"history\";\nimport {\n MemoryRouter,\n Navigate,\n Outlet,\n Route,\n Router,\n Routes,\n createRoutesFromChildren,\n generatePath,\n matchRoutes,\n matchPath,\n resolvePath,\n renderMatches,\n useHref,\n useInRouterContext,\n useLocation,\n useMatch,\n useNavigate,\n useNavigationType,\n useOutlet,\n useParams,\n useResolvedPath,\n useRoutes,\n useOutletContext\n} from \"react-router\";\nimport type { To } from \"react-router\";\n\nfunction warning(cond: boolean, message: string): void {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging React Router!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// RE-EXPORTS\n////////////////////////////////////////////////////////////////////////////////\n\n// Note: Keep in sync with react-router exports!\nexport {\n MemoryRouter,\n Navigate,\n Outlet,\n Route,\n Router,\n Routes,\n createRoutesFromChildren,\n generatePath,\n matchRoutes,\n matchPath,\n renderMatches,\n resolvePath,\n useHref,\n useInRouterContext,\n useLocation,\n useMatch,\n useNavigate,\n useNavigationType,\n useOutlet,\n useParams,\n useResolvedPath,\n useRoutes,\n useOutletContext\n};\n\nexport type {\n Location,\n Path,\n To,\n NavigationType,\n MemoryRouterProps,\n NavigateFunction,\n NavigateOptions,\n NavigateProps,\n Navigator,\n OutletProps,\n Params,\n PathMatch,\n RouteMatch,\n RouteObject,\n RouteProps,\n PathRouteProps,\n LayoutRouteProps,\n IndexRouteProps,\n RouterProps,\n RoutesProps\n} from \"react-router\";\n\n///////////////////////////////////////////////////////////////////////////////\n// DANGER! PLEASE READ ME!\n// We provide these exports as an escape hatch in the event that you need any\n// routing data that we don't provide an explicit API for. With that said, we\n// want to cover your use case if we can, so if you feel the need to use these\n// we want to hear from you. Let us know what you're building and we'll do our\n// best to make sure we can support you!\n//\n// We consider these exports an implementation detail and do not guarantee\n// against any breaking changes, regardless of the semver release. Use with\n// extreme caution and only if you understand the consequences. Godspeed.\n///////////////////////////////////////////////////////////////////////////////\n\n/** @internal */\nexport {\n UNSAFE_NavigationContext,\n UNSAFE_LocationContext,\n UNSAFE_RouteContext\n} from \"react-router\";\n\n////////////////////////////////////////////////////////////////////////////////\n// COMPONENTS\n////////////////////////////////////////////////////////////////////////////////\n\nexport interface BrowserRouterProps {\n basename?: string;\n children?: React.ReactNode;\n window?: Window;\n}\n\n/**\n * A `` for use in web browsers. Provides the cleanest URLs.\n */\nexport function BrowserRouter({\n basename,\n children,\n window\n}: BrowserRouterProps) {\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createBrowserHistory({ window });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nexport interface HashRouterProps {\n basename?: string;\n children?: React.ReactNode;\n window?: Window;\n}\n\n/**\n * A `` for use in web browsers. Stores the location in the hash\n * portion of the URL so it is not sent to the server.\n */\nexport function HashRouter({ basename, children, window }: HashRouterProps) {\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createHashHistory({ window });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nexport interface HistoryRouterProps {\n basename?: string;\n children?: React.ReactNode;\n history: History;\n}\n\n/**\n * A `` that accepts a pre-instantiated history object. It's important\n * to note that using your own history object is highly discouraged and may add\n * two versions of the history library to your bundles unless you use the same\n * version of the history library that React Router uses internally.\n */\nfunction HistoryRouter({ basename, children, history }: HistoryRouterProps) {\n const [state, setState] = React.useState({\n action: history.action,\n location: history.location\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nif (__DEV__) {\n HistoryRouter.displayName = \"unstable_HistoryRouter\";\n}\n\nexport { HistoryRouter as unstable_HistoryRouter };\n\nfunction isModifiedEvent(event: React.MouseEvent) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nexport interface LinkProps\n extends Omit, \"href\"> {\n reloadDocument?: boolean;\n replace?: boolean;\n state?: any;\n to: To;\n}\n\n/**\n * The public API for rendering a history-aware .\n */\nexport const Link = React.forwardRef(\n function LinkWithRef(\n { onClick, reloadDocument, replace = false, state, target, to, ...rest },\n ref\n ) {\n let href = useHref(to);\n let internalOnClick = useLinkClickHandler(to, { replace, state, target });\n function handleClick(\n event: React.MouseEvent\n ) {\n if (onClick) onClick(event);\n if (!event.defaultPrevented && !reloadDocument) {\n internalOnClick(event);\n }\n }\n\n return (\n // eslint-disable-next-line jsx-a11y/anchor-has-content\n \n );\n }\n);\n\nif (__DEV__) {\n Link.displayName = \"Link\";\n}\n\nexport interface NavLinkProps\n extends Omit {\n children:\n | React.ReactNode\n | ((props: { isActive: boolean }) => React.ReactNode);\n caseSensitive?: boolean;\n className?: string | ((props: { isActive: boolean }) => string);\n end?: boolean;\n style?:\n | React.CSSProperties\n | ((props: { isActive: boolean }) => React.CSSProperties);\n}\n\n/**\n * A wrapper that knows if it's \"active\" or not.\n */\nexport const NavLink = React.forwardRef(\n function NavLinkWithRef(\n {\n \"aria-current\": ariaCurrentProp = \"page\",\n caseSensitive = false,\n className: classNameProp = \"\",\n end = false,\n style: styleProp,\n to,\n children,\n ...rest\n },\n ref\n ) {\n let location = useLocation();\n let path = useResolvedPath(to);\n\n let locationPathname = location.pathname;\n let toPathname = path.pathname;\n if (!caseSensitive) {\n locationPathname = locationPathname.toLowerCase();\n toPathname = toPathname.toLowerCase();\n }\n\n let isActive =\n locationPathname === toPathname ||\n (!end &&\n locationPathname.startsWith(toPathname) &&\n locationPathname.charAt(toPathname.length) === \"/\");\n\n let ariaCurrent = isActive ? ariaCurrentProp : undefined;\n\n let className: string;\n if (typeof classNameProp === \"function\") {\n className = classNameProp({ isActive });\n } else {\n // If the className prop is not a function, we use a default `active`\n // class for s that are active. In v5 `active` was the default\n // value for `activeClassName`, but we are removing that API and can still\n // use the old default behavior for a cleaner upgrade path and keep the\n // simple styling rules working as they currently do.\n className = [classNameProp, isActive ? \"active\" : null]\n .filter(Boolean)\n .join(\" \");\n }\n\n let style =\n typeof styleProp === \"function\" ? styleProp({ isActive }) : styleProp;\n\n return (\n \n {typeof children === \"function\" ? children({ isActive }) : children}\n \n );\n }\n);\n\nif (__DEV__) {\n NavLink.displayName = \"NavLink\";\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// HOOKS\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Handles the click behavior for router `` components. This is useful if\n * you need to create custom `` components with the same click behavior we\n * use in our exported ``.\n */\nexport function useLinkClickHandler(\n to: To,\n {\n target,\n replace: replaceProp,\n state\n }: {\n target?: React.HTMLAttributeAnchorTarget;\n replace?: boolean;\n state?: any;\n } = {}\n): (event: React.MouseEvent) => void {\n let navigate = useNavigate();\n let location = useLocation();\n let path = useResolvedPath(to);\n\n return React.useCallback(\n (event: React.MouseEvent) => {\n if (\n event.button === 0 && // Ignore everything but left clicks\n (!target || target === \"_self\") && // Let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // Ignore clicks with modifier keys\n ) {\n event.preventDefault();\n\n // If the URL hasn't changed, a regular will do a replace instead of\n // a push, so do the same here.\n let replace =\n !!replaceProp || createPath(location) === createPath(path);\n\n navigate(to, { replace, state });\n }\n },\n [location, navigate, path, replaceProp, state, target, to]\n );\n}\n\n/**\n * A convenient wrapper for reading and writing search parameters via the\n * URLSearchParams interface.\n */\nexport function useSearchParams(defaultInit?: URLSearchParamsInit) {\n warning(\n typeof URLSearchParams !== \"undefined\",\n `You cannot use the \\`useSearchParams\\` hook in a browser that does not ` +\n `support the URLSearchParams API. If you need to support Internet ` +\n `Explorer 11, we recommend you load a polyfill such as ` +\n `https://github.com/ungap/url-search-params\\n\\n` +\n `If you're unsure how to load polyfills, we recommend you check out ` +\n `https://polyfill.io/v3/ which provides some recommendations about how ` +\n `to load polyfills only for users that need them, instead of for every ` +\n `user.`\n );\n\n let defaultSearchParamsRef = React.useRef(createSearchParams(defaultInit));\n\n let location = useLocation();\n let searchParams = React.useMemo(() => {\n let searchParams = createSearchParams(location.search);\n\n for (let key of defaultSearchParamsRef.current.keys()) {\n if (!searchParams.has(key)) {\n defaultSearchParamsRef.current.getAll(key).forEach(value => {\n searchParams.append(key, value);\n });\n }\n }\n\n return searchParams;\n }, [location.search]);\n\n let navigate = useNavigate();\n let setSearchParams = React.useCallback(\n (\n nextInit: URLSearchParamsInit,\n navigateOptions?: { replace?: boolean; state?: any }\n ) => {\n navigate(\"?\" + createSearchParams(nextInit), navigateOptions);\n },\n [navigate]\n );\n\n return [searchParams, setSearchParams] as const;\n}\n\nexport type ParamKeyValuePair = [string, string];\n\nexport type URLSearchParamsInit =\n | string\n | ParamKeyValuePair[]\n | Record\n | URLSearchParams;\n\n/**\n * Creates a URLSearchParams object using the given initializer.\n *\n * This is identical to `new URLSearchParams(init)` except it also\n * supports arrays as values in the object form of the initializer\n * instead of just strings. This is convenient when you need multiple\n * values for a given key, but don't want to use an array initializer.\n *\n * For example, instead of:\n *\n * let searchParams = new URLSearchParams([\n * ['sort', 'name'],\n * ['sort', 'price']\n * ]);\n *\n * you can do:\n *\n * let searchParams = createSearchParams({\n * sort: ['name', 'price']\n * });\n */\nexport function createSearchParams(\n init: URLSearchParamsInit = \"\"\n): URLSearchParams {\n return new URLSearchParams(\n typeof init === \"string\" ||\n Array.isArray(init) ||\n init instanceof URLSearchParams\n ? init\n : Object.keys(init).reduce((memo, key) => {\n let value = init[key];\n return memo.concat(\n Array.isArray(value) ? value.map(v => [key, v]) : [[key, value]]\n );\n }, [] as ParamKeyValuePair[])\n );\n}\n","/**\n * Find an element with the given HTML tag and selector, raising an exception\n * if it's not found.\n *\n * @param tagName The name of the element's HTML tag.\n * @param selector The selector for the element, not including its HTML tag.\n * @param parent The parent node to search within (defaults to `document`).\n */\nexport function getHTMLElement(\n tagName: K,\n selector: string,\n parent: ParentNode = document\n): HTMLElementTagNameMap[K] {\n const finalSelector = `${tagName}${selector}`;\n const node = parent.querySelector(finalSelector);\n if (!node) {\n throw new Error(`Couldn't find any elements matching \"${finalSelector}\"`);\n }\n return node as HTMLElementTagNameMap[K];\n}\n","/**\n * Assert that the given argument isn't null and return it. Throw\n * an exception otherwise.\n *\n * This is primarily useful for situations where we're unable to\n * statically verify that something isn't null (e.g. due to the limitations\n * of typings we didn't write) but are sure it won't be in practice.\n */\nexport function assertNotNull(thing: T | null): T | never {\n if (thing === null) {\n throw new Error(\"Assertion failure, expected argument to not be null!\");\n }\n return thing;\n}\n\n/**\n * Assert that the given argument isn't undefined and return it. Throw\n * an exception otherwise.\n *\n * This is primarily useful for situations where we're unable to\n * statically verify that something isn't undefined (e.g. due to the limitations\n * of typings we didn't write) but are sure it won't be in practice.\n */\nexport function assertNotUndefined(thing: T | undefined): T | never {\n if (thing === undefined) {\n throw new Error(\n \"Assertion failure, expected argument to not be undefined!\"\n );\n }\n return thing;\n}\n\n/**\n * This function throws an exception with the given optional message. It's\n * useful as an assertion in combination with the logical OR or nullish\n * coalescing operators, as a way of asserting that a value must always\n * be truthy or non-nullish.\n */\nexport function hardFail(\n msg: string = \"Code should never reach this point!\"\n): never {\n throw new Error(msg);\n}\n","export { getHTMLElement } from \"./get-html-element\";\nexport { assertNotNull, assertNotUndefined, hardFail } from \"./assertions\";\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = _default;\nexports.setCookie = exports.getCookie = void 0;\n\nvar _react = require(\"react\");\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar isBrowser = typeof window !== 'undefined';\n\nvar setCookie = function setCookie(name, value, options) {\n if (!isBrowser) return;\n\n var optionsWithDefaults = _objectSpread({\n days: 7,\n path: '/'\n }, options);\n\n var expires = new Date(Date.now() + optionsWithDefaults.days * 864e5).toUTCString();\n document.cookie = name + '=' + encodeURIComponent(value) + '; expires=' + expires + '; path=' + optionsWithDefaults.path;\n};\n\nexports.setCookie = setCookie;\n\nvar getCookie = function getCookie(name) {\n var initialValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n return isBrowser && document.cookie.split('; ').reduce(function (r, v) {\n var parts = v.split('=');\n return parts[0] === name ? decodeURIComponent(parts[1]) : r;\n }, '') || initialValue;\n};\n\nexports.getCookie = getCookie;\n\nfunction _default(key, initialValue) {\n var _useState = (0, _react.useState)(function () {\n return getCookie(key, initialValue);\n }),\n _useState2 = _slicedToArray(_useState, 2),\n item = _useState2[0],\n setItem = _useState2[1];\n\n var updateItem = function updateItem(value, options) {\n setItem(value);\n setCookie(key, value, options);\n };\n\n return [item, updateItem];\n}","\r\nimport React from \"react\";\r\nimport useCookie from \"react-use-cookie\";\r\n\r\ninterface AuthContextType {\r\n isAuthenticated: string;\r\n signin: (password: string, callback: VoidFunction) => void;\r\n}\r\n\r\nexport const AuthContext = React.createContext(null!);\r\n\r\nexport function AuthProvider({ children }: { children: React.ReactNode }) {\r\n let [isAuthenticated, setAuthentication] = useCookie(\"auth\", \"\");\r\n\r\n let signin = (password: string, callback: VoidFunction) => {\r\n setAuthentication(password);\r\n callback();\r\n };\r\n\r\n let value = { isAuthenticated, signin };\r\n\r\n return {children}\r\n}\r\n","import { type } from \"os\";\n\n/**\n * Convert the given value to an integer, throwing an error if\n * the conversion doesn't work.\n */\nexport function toInt(value: any): number {\n const result = parseInt(value);\n if (isNaN(result)) {\n throw new Error(`\"${value}\" is not an integer!`);\n }\n return result;\n}\n\n/**\n * Convert the given value to either an integer or just pass it \n * through if it's null. Throw an error if the conversion doesn't work.\n */\nexport function toIntOrNull(value: any): number|null {\n if (value === null) return null;\n return toInt(value);\n}\n\n/**\n * Ensure the given value is a string, throwing an error otherwise.\n */\nexport function ensureString(value: any): string {\n if (typeof(value) !== \"string\") {\n throw new Error(`\"${value}\" is not a string!`);\n }\n\n return value;\n}\n","export type Query = {\n files: QueryFiles,\n sqlToRow: (row: any) => Row,\n csvHeader: string[],\n toCsvRow: (row: Row) => string[],\n};\n\nexport class QueryFiles {\n readonly sql: string;\n readonly json: string;\n readonly csv: string;\n\n constructor(readonly baseName: string) {\n this.sql = `${baseName}.sql`;\n this.json = `${baseName}.json`;\n this.csv = `${baseName}.csv`;\n }\n}\n","import { toInt } from \"../converters\";\nimport { Query, QueryFiles } from \"../query\";\n\nexport const EVICTION_TIME_SERIES = new QueryFiles(`eviction-time-series`);\n\nexport function convertEvictionTimeSeriesRow(row: any) {\n return {\n day: (row.day as Date).toISOString(),\n nyc_holdover_filings: toInt(row.nyc_holdover_filings),\n nyc_holdover_res_filings: toInt(row.nyc_holdover_res_filings),\n nyc_nonpay_filings: toInt(row.nyc_nonpay_filings),\n nyc_nonpay_res_filings: toInt(row.nyc_nonpay_res_filings),\n outside_nyc_holdover_filings: toInt(row.outside_nyc_holdover_filings),\n outside_nyc_nonpay_filings: toInt(row.outside_nyc_nonpay_filings),\n total_filings: toInt(row.total_filings),\n };\n}\n\nexport type EvictionTimeSeriesRow = ReturnType;\n\nexport type EvictionTimeSeriesNumericFields = Omit;\n\nfunction getEvictionTimeSeriesCsvHeader(): string[] {\n return [\n 'day',\n 'nyc_holdover_filings',\n 'nyc_holdover_res_filings',\n 'nyc_nonpay_filings',\n 'nyc_nonpay_res_filings',\n 'outside_nyc_holdover_filings',\n 'outside_nyc_nonpay_filings',\n 'total_filings',\n ];\n}\n\nfunction toEvictionTimeSeriesCsvRow(row: EvictionTimeSeriesRow): string[] {\n return [\n row.day.substr(0, 10),\n row.nyc_holdover_filings.toString(),\n row.nyc_holdover_res_filings.toString(),\n row.nyc_nonpay_filings.toString(),\n row.nyc_nonpay_res_filings.toString(),\n row.outside_nyc_holdover_filings.toString(),\n row.outside_nyc_nonpay_filings.toString(),\n row.total_filings.toString(),\n ];\n}\n\nexport const EvictionTimeSeriesQuery: Query = {\n files: EVICTION_TIME_SERIES,\n sqlToRow: convertEvictionTimeSeriesRow,\n csvHeader: getEvictionTimeSeriesCsvHeader(),\n toCsvRow: toEvictionTimeSeriesCsvRow,\n};\n","import { ensureString, toInt, toIntOrNull } from \"../converters\";\nimport { Query, QueryFiles } from \"../query\";\n\nexport const FILINGS_BY_ZIP = new QueryFiles(`filings-by-zip-since-0323`);\n\nexport const FILINGS_BY_ZIP_EMPTY_ROW: FilingsByZipRow = {\n zipcode: '',\n filings_since_032320: 0,\n unitsres_total: null,\n unitsrental: null,\n filingsrate_2plus: null,\n};\n\nexport function convertFilingsByZipRow(row: any) {\n return {\n zipcode: ensureString(row.zipcode),\n filings_since_032320: toInt(row.filings_since_032320),\n unitsres_total: toIntOrNull(row.unitsres_total),\n unitsrental: toIntOrNull(row.unitsrental),\n filingsrate_2plus: toIntOrNull(row.filingsrate_2plus),\n };\n}\n\nexport type FilingsByZipRow = ReturnType;\n\nfunction getCsvHeader(): string[] {\n return [\n 'zipcode',\n 'filings_since_032320',\n 'unitsres_total',\n 'unitsrental',\n 'filingsrate_2plus',\n ];\n}\n\nfunction toCsvRow(row: FilingsByZipRow): string[] {\n return [\n row.zipcode,\n row.filings_since_032320.toString(),\n row.unitsres_total?.toString() ?? '',\n row.unitsrental?.toString() ?? '',\n row.filingsrate_2plus?.toString() ?? '',\n ];\n}\n\nexport const FilingsByZipQuery: Query = {\n files: FILINGS_BY_ZIP,\n sqlToRow: convertFilingsByZipRow,\n csvHeader: getCsvHeader(),\n toCsvRow: toCsvRow,\n};\n","import { useEffect, useState } from \"react\";\n\n/** \n * Global singleton to cache all our data requests.\n */\nconst requests = new Map>();\n\nfunction getRequest(url: string): Promise {\n let request = requests.get(url);\n if (!request) {\n request = fetch(url).then(res => {\n if (!res.ok) {\n throw new Error(`Got HTTP ${res.status} when fetching ${url}`);\n }\n return res.json();\n });\n requests.set(url, request);\n }\n return request;\n}\n\n/**\n * Lazily-load a JSON file, showing the given fallback component until\n * the loading is complete.\n * \n * Once the loading is complete, the child is rendered and passed\n * the loaded data.\n * \n * NOTE: At present, the data, once loaded, is never freed.\n */\nexport function JsonLoader(props: {\n url: string,\n fallback: JSX.Element,\n children: (data: T) => JSX.Element,\n}): JSX.Element {\n const { url } = props;\n const [data, setData] = useState(null);\n\n useEffect(() => {\n getRequest(url).then(data => {\n setData(data);\n });\n }, [url]);\n\n if (data === null) return props.fallback;\n\n return props.children(data);\n}\n","import React from \"react\";\n\n/** A visualization that represents a geographic map (e.g. chloropeth). */\nexport const VIZ_GEO_CLASS = \"viz-geo\";\n\n/** A visualization that represents a time series. */\nexport const VIZ_TIME_SERIES_CLASS = \"viz-time-series\";\nexport const VIZ_TIME_SERIES_SHORT_CLASS = \"viz-time-series-short\";\n\n/** A visualization that represents a table. */\nexport const VIZ_TABLE_CLASS = \"viz-table\";\n\n\n// https://commons.wikimedia.org/wiki/File:Chromiumthrobber.svg\nconst ChromiumThrobber: React.FC<{}> = () => (\n \n \n \n \n \n);\n\n/**\n * Fallback component for a visualization that is still loading, letting\n * the user know that loading is occurring without causing layout\n * instability.\n */\nexport const VizFallback: React.FC<{className: string}> = ({className}) => (\n
\n);\n","var bundleURL = null;\nfunction getBundleURLCached() {\n if (!bundleURL) {\n bundleURL = getBundleURL();\n }\n\n return bundleURL;\n}\n\nfunction getBundleURL() {\n // Attempt to find the URL of the current script and use that as the base URL\n try {\n throw new Error;\n } catch (err) {\n var matches = ('' + err.stack).match(/(https?|file|ftp|chrome-extension|moz-extension):\\/\\/[^)\\n]+/g);\n if (matches) {\n return getBaseURL(matches[0]);\n }\n }\n\n return '/';\n}\n\nfunction getBaseURL(url) {\n return ('' + url).replace(/^((?:https?|file|ftp|chrome-extension|moz-extension):\\/\\/.+)\\/[^/]+$/, '$1') + '/';\n}\n\nexports.getBundleURL = getBundleURLCached;\nexports.getBaseURL = getBaseURL;\n","var getBundleURL = require('./bundle-url').getBundleURL;\n\nfunction loadBundlesLazy(bundles) {\n if (!Array.isArray(bundles)) {\n bundles = [bundles]\n }\n\n var id = bundles[bundles.length - 1];\n\n try {\n return Promise.resolve(require(id));\n } catch (err) {\n if (err.code === 'MODULE_NOT_FOUND') {\n return new LazyPromise(function (resolve, reject) {\n loadBundles(bundles.slice(0, -1))\n .then(function () {\n return require(id);\n })\n .then(resolve, reject);\n });\n }\n\n throw err;\n }\n}\n\nfunction loadBundles(bundles) {\n return Promise.all(bundles.map(loadBundle));\n}\n\nvar bundleLoaders = {};\nfunction registerBundleLoader(type, loader) {\n bundleLoaders[type] = loader;\n}\n\nmodule.exports = exports = loadBundlesLazy;\nexports.load = loadBundles;\nexports.register = registerBundleLoader;\n\nvar bundles = {};\nfunction loadBundle(bundle) {\n var id;\n if (Array.isArray(bundle)) {\n id = bundle[1];\n bundle = bundle[0];\n }\n\n if (bundles[bundle]) {\n return bundles[bundle];\n }\n\n var type = (bundle.substring(bundle.lastIndexOf('.') + 1, bundle.length) || bundle).toLowerCase();\n var bundleLoader = bundleLoaders[type];\n if (bundleLoader) {\n return bundles[bundle] = bundleLoader(getBundleURL() + bundle)\n .then(function (resolved) {\n if (resolved) {\n module.bundle.register(id, resolved);\n }\n\n return resolved;\n }).catch(function(e) {\n delete bundles[bundle];\n \n throw e;\n });\n }\n}\n\nfunction LazyPromise(executor) {\n this.executor = executor;\n this.promise = null;\n}\n\nLazyPromise.prototype.then = function (onSuccess, onError) {\n if (this.promise === null) this.promise = new Promise(this.executor)\n return this.promise.then(onSuccess, onError)\n};\n\nLazyPromise.prototype.catch = function (onError) {\n if (this.promise === null) this.promise = new Promise(this.executor)\n return this.promise.catch(onError)\n};\n","import React, { Suspense } from \"react\";\nimport type { VegaLiteProps } from \"./vega\";\nimport { VizFallback } from \"./viz-util\";\n\nconst VegaLite = React.lazy(() => import(\"./vega\"));\n\n/**\n * Lazily-load a Vega visualization, showing a throbber while it's loading.\n * This will also lazily load the Vega library itself, which can be quite large.\n */\nexport const LazyVegaLite: React.FC = props => {\n return (\n }>\n \n \n );\n};\n","import { assertNotUndefined } from \"@justfixnyc/util\";\nimport React from \"react\";\nimport { useState } from \"react\";\nimport type { VisualizationSpec } from \"vega-embed\";\nimport { JsonLoader } from \"../json-loader\";\nimport { LazyVegaLite } from \"../vega-lazy\";\nimport { VizFallback, VIZ_TIME_SERIES_CLASS, VIZ_TIME_SERIES_SHORT_CLASS } from \"../viz-util\";\nimport { EvictionTimeSeriesNumericFields, EvictionTimeSeriesRow, EVICTION_TIME_SERIES } from \"./data\";\n\n/**\n * Take the array of data rows and get the date for the latest week we\n * have data and subtract a given number of weeks. This is used to draw\n * the rectangle on the graphs for the period where we have incomplete\n * data, due to repoting lags. The result is a string in the same format\n * as the \"week\" dates stored in the input data.\n */\nfunction getEvictionDataLagDate(\n data: EvictionTimeSeriesRow[],\n lagDays: number\n): string {\n const maxEvictionDateNum = Math.max.apply(\n Math,\n data.map(row => Date.parse(row.day))\n );\n let returnDate = new Date(maxEvictionDateNum);\n returnDate.setDate(returnDate.getDate() - lagDays);\n returnDate.setHours(0, 0, 0, 0);\n return returnDate.toISOString();\n}\n\ntype EvictionTimeUnit = \"yearweek\"|\"yearmonth\"|\"yearmonthdate\";\n\ntype EvictionVizProps = {\n fieldName: keyof EvictionTimeSeriesNumericFields,\n title: string,\n timeUnit: EvictionTimeUnit,\n height: number,\n};\n\nconst EvictionViz: React.FC = (props) => {\n return (\n \n url={EVICTION_TIME_SERIES.json}\n fallback={}>\n {(values) => }\n \n );\n};\n\nconst EvictionVizWithValues: React.FC = ({values, fieldName, title, timeUnit, height}) => {\n values = values.filter(\n // If we are viewing data by week, let's grab data since the first Sunday of Jan 2020\n // Otherwise, we can grab data from 1/1/2020 onwards\n row => row.day >= (timeUnit === \"yearweek\" ? \"2020-01-05 00:00:00\" : \"2020-01-01 00:00:00\")\n );\n const casesSinceCovid = values.filter(\n row => row.day >= \"2020-03-23 00:00:00\"\n ).reduce(\n (total, row) => total + row[fieldName], 0\n );\n const EvictionDataLagStart = getEvictionDataLagDate(values, 30); // 4 weeks for lag\n const EvictionDataLagEnd = getEvictionDataLagDate(values, 0); // latest date\n const timeUnitLabel = timeUnit === \"yearmonthdate\" ? \"Day\"\n : timeUnit === \"yearweek\" ? \"Week\" \n : \"Month\";\n const lineColor = \"#AF2525\";\n const spec: VisualizationSpec = {\n $schema: \"https://vega.github.io/schema/vega-lite/v4.json\",\n description: title,\n width: \"container\",\n height,\n title: {\n text: `${title}, 2020 - Present`,\n subtitle: [\n `Cases since COVID-19 (all cases, active and disposed): ${casesSinceCovid.toLocaleString()}`,\n // This effectively adds extra padding below the subtitle.\n \"\"\n ]\n },\n layer: [\n {\n data: {\n values: [\n {\n lagDateStart: EvictionDataLagStart,\n lagDateEnd: EvictionDataLagEnd,\n },\n ],\n },\n layer: [\n {\n mark: { type: \"rect\", color: \"grey\", opacity: 0.3 },\n encoding: {\n x: { field: \"lagDateStart\", type: \"temporal\" },\n x2: { field: \"lagDateEnd\", type: \"temporal\" },\n },\n },\n {\n mark: {\n type: \"text\",\n align: \"right\",\n baseline: \"bottom\",\n dy: -(height / 2) - 1,\n text:\n \"Due to reporting lags, data for most recent weeks (in gray) is incomplete\",\n },\n encoding: {\n x: { field: \"lagDateEnd\", type: \"temporal\" },\n },\n },\n ],\n },\n {\n data: {\n values,\n },\n encoding: {\n x: {\n timeUnit,\n field: \"day\",\n },\n tooltip: [\n {\n field: \"day\",\n timeUnit,\n title: `${timeUnitLabel} of`,\n type: \"temporal\",\n format: timeUnit === \"yearmonth\" ? \"%B\" : \"%b %d, %Y\",\n },\n {\n field: fieldName,\n aggregate: \"sum\",\n title: \"Filings\",\n formatType: \"numberWithCommas\"\n },\n ],\n },\n layer: [\n {\n mark: {\n type: \"line\",\n color: lineColor,\n interpolate: \"monotone\",\n },\n encoding: {\n x: {\n timeUnit,\n field: \"day\",\n axis: {\n title: \"\",\n format: \"%b ’%y\",\n labelAngle: 45,\n },\n },\n y: {\n field: fieldName,\n aggregate: \"sum\",\n axis: {\n title: `Eviction Filings per ${timeUnitLabel}`,\n },\n },\n },\n },\n {\n selection: {\n index: {\n type: \"single\",\n on: \"mousemove\",\n encodings: [\"x\"],\n nearest: true,\n empty: \"none\",\n clear: \"mouseout\"\n },\n },\n mark: { type: \"point\", strokeWidth: 4, color: lineColor },\n encoding: {\n x: {\n timeUnit,\n field: \"day\",\n },\n y: {\n field: fieldName,\n aggregate: \"sum\",\n type: \"quantitative\",\n },\n opacity: {\n condition: {\n selection: \"index\",\n value: 1,\n },\n value: 0,\n },\n },\n },\n ],\n },\n ],\n };\n\n return ;\n};\n\nexport function isEvictionTimeSeriesNumericField(value: string): value is keyof EvictionTimeSeriesNumericFields {\n return EVICTION_VISUALIZATIONS.has(value as any);\n}\n\nexport const EVICTION_VISUALIZATIONS: Map = new Map([\n [\"total_filings\", \"Total NY State Eviction Filings\"],\n [\"nyc_holdover_filings\", \"NYC Holdover Filings\"],\n [\"nyc_holdover_res_filings\", \"NYC Holdover Residential Filings\"],\n [\"nyc_nonpay_filings\", \"NYC Non-Payment Filings\"],\n [\"nyc_nonpay_res_filings\", \"NYC Non-Payment Residential Filings\"],\n [\"outside_nyc_holdover_filings\", \"Upstate Holdover Filings\"],\n [\"outside_nyc_nonpay_filings\", \"Upstate Non-Payment Filings\"],\n]);\n\nexport const EvictionVisualizations: React.FC<{\n height: number,\n fieldNames?: (keyof EvictionTimeSeriesNumericFields)[]\n}> = ({height, fieldNames}) => {\n const [timeUnit, setTimeUnit] = useState(\"yearweek\");\n\n fieldNames = fieldNames || Array.from(EVICTION_VISUALIZATIONS.keys());\n\n return (\n <>\n

\n View by:  \n   \n   \n \n

\n {fieldNames.map(fieldName => (\n \n ))}\n \n );\n};\n","import { toInt } from \"../converters\";\nimport { Query, QueryFiles } from \"../query\";\n\nexport const ACTIVE_CASES = new QueryFiles(`total-active-cases`);\n\nexport function convertActiveCasesRow(row: any) {\n return {\n day: (row.day as Date).toISOString(),\n active_cases: toInt(row.active_cases),\n };\n}\n\nexport type ActiveCasesRow = ReturnType;\n\nexport type ActiveCasesNumericFields = Omit;\n\nfunction getActiveCasesCsvHeader(): string[] {\n return [\n 'day',\n 'active_cases',\n ];\n}\n\nfunction toActiveCasesCsvRow(row: ActiveCasesRow): string[] {\n return [\n row.day.substr(0, 10),\n row.active_cases.toString(),\n ];\n}\n\nexport const ActiveCasesQuery: Query = {\n files: ACTIVE_CASES,\n sqlToRow: convertActiveCasesRow,\n csvHeader: getActiveCasesCsvHeader(),\n toCsvRow: toActiveCasesCsvRow,\n};","import { assertNotUndefined } from \"@justfixnyc/util\";\nimport React from \"react\";\nimport { useState } from \"react\";\nimport type { VisualizationSpec } from \"vega-embed\";\nimport { JsonLoader } from \"../json-loader\";\nimport { LazyVegaLite } from \"../vega-lazy\";\nimport { VizFallback, VIZ_TIME_SERIES_CLASS } from \"../viz-util\";\nimport { ActiveCasesNumericFields, ActiveCasesRow, ACTIVE_CASES } from \"./data\";\n\n/**\n * Take the array of data rows and get the date for the latest week we\n * have data and subtract a given number of weeks. This is used to draw\n * the rectangle on the graphs for the period where we have incomplete\n * data, due to repoting lags. The result is a string in the same format\n * as the \"week\" dates stored in the input data.\n */\nfunction getActiveCasesLagDate(\n data: ActiveCasesRow[],\n lagDays: number\n): string {\n const maxActiveCasesDateNum = Math.max.apply(\n Math,\n data.map(row => Date.parse(row.day))\n );\n let returnDate = new Date(maxActiveCasesDateNum);\n returnDate.setDate(returnDate.getDate() - lagDays);\n returnDate.setHours(0, 0, 0, 0);\n return returnDate.toISOString();\n}\n\ntype ActiveCasesTimeUnit = \"yearweek\"|\"yearmonth\"|\"yearmonthdate\";\n\ntype ActiveCasesVizProps = {\n fieldName: keyof ActiveCasesNumericFields,\n title: string,\n timeUnit: ActiveCasesTimeUnit,\n height: number,\n};\n\nconst ActiveCasesViz: React.FC = (props) => {\n return (\n url={ACTIVE_CASES.json} fallback={}>\n {(values) => }\n \n );\n};\n\nfunction thousands_separators(num: any)\n {\n var num_parts = num.toString().split(\".\");\n num_parts[0] = num_parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n return num_parts.join(\".\");\n }\n\nconst ActiveCasesVizWithValues: React.FC = ({values, fieldName, title, timeUnit, height}) => {\n values = values.filter(\n // If we are viewing data by week, let's grab data since the first Sunday of Jan 2020\n // Otherwise, we can grab data from 1/1/2020 onwards\n row => row.day >= (timeUnit === \"yearweek\" ? \"2020-01-05 00:00:00\" : \"2020-01-01 00:00:00\")\n );\n // const casesSinceCovid = values.filter(\n// row => row.day >= \"2020-03-23 00:00:00\"\n// ).reduce(\n// (total, row) => total + row[fieldName], 0\n// );\n// commented this out because this counter should probably be different from total active cases\n const ActiveCasesDataLagStart = getActiveCasesLagDate(values, 30); // 4 weeks for lag\n const ActiveCasesDataLagEnd = getActiveCasesLagDate(values, 0); // latest date\n const timeUnitLabel = timeUnit === \"yearmonthdate\" ? \"Day\"\n : timeUnit === \"yearweek\" ? \"Week\" \n : \"Month\";\n const lineColor = \"#AF2525\";\n const MoratoriumStart = new Date(\"2020-03-17\");\n const MoratoriumEnd = new Date(\"2020-06-20\");\n const MoratoriumMid = new Date(\"2020-05-05\");\n const MorTwoStart = new Date(\"2020-12-28\");\n const MorTwoEnd = new Date(\"2021-02-26\");\n const MorTwoMid = new Date(\"2021-01-26\");\n const lineTop = 20;\n const lineBottom = 20;\n \n\n const casesCovidStart = values.find(datapoint => datapoint.day === '2020-03-16T04:00:00.000Z')?.active_cases;\n const casesCovidStartThousands = thousands_separators(casesCovidStart);\n\n const spec: VisualizationSpec = {\n $schema: \"https://vega.github.io/schema/vega-lite/v4.json\",\n description: title,\n width: \"container\",\n height: 400,\n title: {\n text: `${title}`,\n fontSize: 16,\n subtitle: [\n `January 2020 - Present`,\n // This effectively adds extra padding below the subtitle.\n \"\"\n ]\n },\n layer: [\n {\n data: {\n values,\n },\n encoding: {\n x: {\n timeUnit,\n field: \"day\",\n },\n tooltip: [\n {\n field: \"day\",\n timeUnit,\n title: `${timeUnitLabel} of`,\n type: \"temporal\",\n format: timeUnit === \"yearmonth\" ? \"%B\" : \"%b %d, %Y\",\n },\n {\n field: fieldName,\n aggregate: \"sum\",\n title: \"Active Cases\",\n formatType: \"numberWithCommas\"\n },\n ],\n },\n layer: [\n {\n mark: {\n type: \"area\",\n color: lineColor,\n interpolate: \"monotone\",\n opacity: 0.6,\n },\n encoding: {\n x: {\n timeUnit,\n field: \"day\",\n axis: {\n title: \"\",\n format: \"%b ’%y\",\n labelAngle: 45,\n grid: false,\n },\n },\n y: {\n field: fieldName,\n aggregate: \"sum\",\n axis: {\n title: `Total Active Cases`,\n },\n scale: {\"zero\": false},\n },\n },\n },\n {\n mark: {\n type: \"line\",\n color: lineColor,\n interpolate: \"monotone\",\n strokeWidth: 4,\n },\n encoding: {\n x: {\n timeUnit,\n field: \"day\",\n axis: {\n title: \"\",\n format: \"%b ’%y\",\n },\n },\n y: {\n field: fieldName,\n aggregate: \"sum\",\n axis: {\n },\n scale: {\"zero\": false},\n },\n },\n },\n {\n selection: {\n index: {\n type: \"single\",\n on: \"mousemove\",\n encodings: [\"x\"],\n nearest: true,\n empty: \"none\",\n clear: \"mouseout\"\n },\n },\n mark: { type: \"point\", strokeWidth: 4, color: lineColor },\n encoding: {\n x: {\n timeUnit,\n field: \"day\",\n },\n y: {\n field: fieldName,\n aggregate: \"sum\",\n type: \"quantitative\",\n },\n opacity: {\n condition: {\n selection: \"index\",\n value: 1,\n },\n value: 0,\n },\n },\n },\n ],\n },\n {\n data: {\n values: [\n {\n lagDateStart: ActiveCasesDataLagStart,\n lagDateEnd: ActiveCasesDataLagEnd,\n },\n ],\n },\n layer: [\n {\n mark: { type: \"rect\", color: \"grey\", opacity: 0 }, // made rectangle opaque because it conflicted with second moratorium\n encoding: {\n x: { field: \"lagDateStart\", type: \"temporal\" },\n x2: { field: \"lagDateEnd\", type: \"temporal\" },\n },\n },\n // Request to take this out and include as note below chart instead.\n // {\n // mark: {\n // type: \"text\",\n // align: \"center\",\n // baseline: \"bottom\",\n // dy: -(height)-35,\n // dx: -50,\n // fontSize: 12,\n // text: [\"Recent court data incomplete\", \"due to reporting lags\"]\n // },\n // encoding: {\n // x: { field: \"lagDateEnd\", type: \"temporal\" },\n // },\n // },\n\n ],\n },\n {\n data: {\n values: [\n {\n morDateStart: MoratoriumStart,\n morDateEnd: MoratoriumEnd,\n morDateMid: MoratoriumMid,\n morTwoStart: MorTwoStart,\n morTwoEnd: MorTwoEnd,\n morTwoMid: MorTwoMid,\n covidCasesStart: 150000,\n },\n ],\n },\n layer: [\n {\n // For some reason this gray rectangle and the\n mark: { type: \"rect\", color: \"gray\", opacity: 0.2 },\n encoding: {\n x: { field: \"morDateStart\", type: \"temporal\" },\n x2: { field: \"morDateEnd\", type: \"temporal\" },\n },\n },\n {\n mark: {\n type: \"text\",\n align: \"center\",\n baseline: \"bottom\",\n dy: -(height*0.05),\n fontSize: 14,\n opacity: 0.6,\n text:\n [\"Eviction\", \"Moratorium\"],\n },\n encoding: {\n x: { field: \"morDateMid\", type: \"temporal\" }, \n },\n },\n {\n mark: { type: \"rect\", color: \"gray\", opacity: 0.2 },\n encoding: {\n x: { field: \"morTwoStart\", type: \"temporal\" },\n x2: { field: \"morTwoEnd\", type: \"temporal\" },\n },\n },\n {\n mark: {\n type: \"text\",\n align: \"center\",\n baseline: \"bottom\",\n dy: -(height*0.05),\n fontSize: 14,\n opacity: 0.6,\n text:\n [\"Most Eviction\", \"Cases Paused\"],\n },\n encoding: {\n x: { field: \"morTwoMid\", type: \"temporal\" }, \n },\n },\n { \n mark: {\n type: \"text\",\n align: \"center\",\n baseline: \"bottom\",\n fontSize: 12, \n dy: height/6,\n text: [`There were ${casesCovidStartThousands}`, `eviction cases at the`,`start of the pandemic`],\n },\n encoding: {\n x: { field: \"morDateStart\", type: \"temporal\" },\n }, \n },\n // {\n // mark: { \n // type: \"rect\", \n // color: \"black\", \n // opacity: 1,\n // width: 2, \n // y: 170,\n // y2: 240,\n // },\n // encoding: {\n // x: { field: \"morDateStart\", type: \"temporal\" },\n // },\n // },\n ],\n },\n \n ],\n };\n return ;\n};\n\nexport function isActiveCasesNumericField(value: string): value is keyof ActiveCasesNumericFields {\n return ACTIVECASES_VISUALIZATIONS.has(value as any);\n}\n\nexport const ACTIVECASES_VISUALIZATIONS: Map = new Map([\n [\"active_cases\", \"Active Eviction Cases in New York State\"],\n]);\n\nexport const ActiveCasesVisualizations: React.FC<{\n height: number,\n fieldNames?: (keyof ActiveCasesNumericFields)[]\n}> = ({height, fieldNames}) => {\n const [timeUnit, setTimeUnit] = useState(\"yearweek\");\n\n fieldNames = fieldNames || Array.from(ACTIVECASES_VISUALIZATIONS.keys());\n\n return (\n <>\n {fieldNames.map(fieldName => (\n \n ))}\n \n );\n};","import { toInt } from \"../converters\";\nimport { Query, QueryFiles } from \"../query\";\n\nexport const MARSHALEVICS = new QueryFiles(`marshal-evictions-by-week`);\n\nexport function convertMarshalEvicsRow(row: any) {\n return {\n week_eviction: (row.week_eviction as Date).toISOString(),\n marshalevictions: toInt(row.marshalevictions),\n };\n}\n\nexport type MarshalEvicsRow = ReturnType;\n\nexport type MarshalEvicsNumericFields = Omit;\n\nfunction getMarshalEvicsCsvHeader(): string[] {\n return [\n 'week_eviction',\n 'marshalevictions',\n ];\n}\n\nfunction toMarshalEvicsCsvRow(row: MarshalEvicsRow): string[] {\n return [\n row.week_eviction.substr(0, 10),\n row.marshalevictions.toString(),\n ];\n}\n\nexport const MarshalEvicsQuery: Query = {\n files: MARSHALEVICS,\n sqlToRow: convertMarshalEvicsRow,\n csvHeader: getMarshalEvicsCsvHeader(),\n toCsvRow: toMarshalEvicsCsvRow,\n};","import { assertNotUndefined } from \"@justfixnyc/util\";\nimport React from \"react\";\nimport { useState } from \"react\";\nimport type { VisualizationSpec } from \"vega-embed\";\nimport { JsonLoader } from \"../json-loader\";\nimport { LazyVegaLite } from \"../vega-lazy\";\nimport { VizFallback, VIZ_TIME_SERIES_CLASS } from \"../viz-util\";\nimport { MarshalEvicsNumericFields, MarshalEvicsRow, MARSHALEVICS } from \"./data\";\n\n/**\n * Take the array of data rows and get the date for the latest week we\n * have data and subtract a given number of weeks. This is used to draw\n * the rectangle on the graphs for the period where we have incomplete\n * data, due to repoting lags. The result is a string in the same format\n * as the \"week\" dates stored in the input data.\n */\nfunction getMarshalEvicsLagDate(\n data: MarshalEvicsRow[],\n lagDays: number\n): string {\n const maxMarshalEvicsDateNum = Math.max.apply(\n Math,\n data.map(row => Date.parse(row.week_eviction))\n );\n let returnDate = new Date(maxMarshalEvicsDateNum);\n returnDate.setDate(returnDate.getDate() - lagDays);\n returnDate.setHours(0, 0, 0, 0);\n return returnDate.toISOString();\n}\n\ntype MarshalEvicsTimeUnit = \"yearweek\"|\"yearmonth\"|\"yearmonthdate\";\n\ntype MarshalEvicsVizProps = {\n fieldName: keyof MarshalEvicsNumericFields,\n title: string,\n height: number,\n};\n\nconst MarshalEvicsViz: React.FC = (props) => {\n const [timeUnit, setTimeUnit] = useState(\"yearweek\");\n\n return (\n
\n
\n setTimeUnit(\"yearweek\")}/>\n \n\n setTimeUnit(\"yearmonth\")}/>\n \n
\n url={MARSHALEVICS.json} fallback={}>\n {(values) => }\n \n
\n );\n};\n\nfunction thousands_separators(num: any)\n {\n var num_parts = num.toString().split(\".\");\n num_parts[0] = num_parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n return num_parts.join(\".\");\n }\n\nconst MarshalEvicsVizWithValues: React.FC = ({values, fieldName, title, timeUnit, height}) => {\n values = values.filter(\n // If we are viewing data by week, let's grab data since the first Sunday of Jan 2020\n // Otherwise, we can grab data from 1/1/2020 onwards\n row => row.week_eviction >= (timeUnit === \"yearweek\" ? \"2021-06-01 00:00:00\" : \"2021-06-01 00:00:00\")\n );\n const evictionsSinceJan = values.filter(\n row => row.week_eviction >= \"2022-01-14 00:00:00\"\n ).reduce(\n (total, row) => total + row[fieldName], 0\n );\n\n const timeUnitLabel = timeUnit === \"yearmonthdate\" ? \"Day\"\n : timeUnit === \"yearweek\" ? \"Week\" \n : \"Month\";\n const barColor = \"#B73A3A\"\n const selectedBarColor = \"#AF2525\";\n\n const spec: VisualizationSpec = {\n $schema: \"https://vega.github.io/schema/vega-lite/v4.json\",\n description: title,\n width: \"container\",\n height: 400,\n title: {\n align: \"left\",\n anchor: \"start\",\n text: `${title}`,\n fontSize: 24,\n subtitle: [\n `There have been ${thousands_separators(evictionsSinceJan)} residential evictions by court-ordered`, `marshals since eviction protections expired on January 15, 2022.`,\n // This effectively adds extra padding below the subtitle.\n \"\"\n ],\n subtitleFontSize: 16,\n },\n layer: [\n {\n data: {\n values,\n },\n encoding: {\n x: {\n timeUnit,\n field: \"week_eviction\",\n },\n tooltip: [\n {\n field: \"week_eviction\",\n timeUnit,\n title: `${timeUnitLabel} of`,\n type: \"temporal\",\n format: timeUnit === \"yearmonth\" ? \"%B\" : \"%b %d, %Y\",\n },\n {\n field: fieldName,\n aggregate: \"sum\",\n title: \"Evictions\",\n formatType: \"numberWithCommas\"\n },\n ],\n },\n layer: [\n {\n mark: {\n type: \"bar\",\n color: barColor,\n interpolate: \"monotone\",\n opacity: 0.9,\n },\n encoding: {\n x: {\n timeUnit,\n field: \"week_eviction\",\n axis: {\n title: \"\",\n format: \"%b ’%y\",\n labelAngle: 45,\n grid: false,\n },\n },\n y: {\n field: fieldName,\n aggregate: \"sum\",\n axis: {\n title: `Total Evictions`,\n },\n scale: {\"zero\": false},\n },\n },\n },\n {\n selection: {\n index: {\n type: \"single\",\n on: \"mousemove\",\n encodings: [\"x\"],\n nearest: true,\n empty: \"none\",\n clear: \"mouseout\"\n },\n },\n mark: { type: \"bar\", strokeWidth: 4, color: selectedBarColor },\n encoding: {\n x: {\n timeUnit,\n field: \"week_eviction\",\n },\n y: {\n field: fieldName,\n aggregate: \"sum\",\n type: \"quantitative\",\n },\n opacity: {\n condition: {\n selection: \"index\",\n value: 1,\n },\n value: 0,\n },\n },\n },\n ],\n },\n ],\n };\n return ;\n};\n\nexport function isMarshalEvicsNumericField(value: string): value is keyof MarshalEvicsNumericFields {\n return MARSHALEVICS_VISUALIZATIONS.has(value as any);\n}\n\nexport const MARSHALEVICS_VISUALIZATIONS: Map = new Map([\n [\"marshalevictions\", \"Pandemic Evictions in New York City\"],\n]);\n\nexport const MarshalEvicsVisualizations: React.FC<{\n height: number,\n fieldNames?: (keyof MarshalEvicsNumericFields)[]\n}> = ({height, fieldNames}) => {\n\n fieldNames = fieldNames || Array.from(MARSHALEVICS_VISUALIZATIONS.keys());\n\n return (\n <>\n {fieldNames.map(fieldName => (\n \n ))}\n \n );\n};\n","import { Query, QueryFiles } from \"../query\";\n\nexport const PCT_REPPED = new QueryFiles(`share-represented`);\n\nexport function convertPctReppedRow(row: any) {\n return {\n day: (row.day as Date).toISOString(),\n rep_rate: row.rep_rate,\n };\n}\n\nexport type PctReppedRow = ReturnType;\n\nexport type PctReppedNumericFields = Omit;\n\nfunction getPctReppedCsvHeader(): string[] {\n return [\n 'day',\n 'rep_rate',\n ];\n}\n\nfunction toPctReppedCsvRow(row: PctReppedRow): string[] {\n return [\n row.day.substr(0, 10),\n row.rep_rate.toString(),\n ];\n}\n\nexport const PctReppedQuery: Query = {\n files: PCT_REPPED,\n sqlToRow: convertPctReppedRow,\n csvHeader: getPctReppedCsvHeader(),\n toCsvRow: toPctReppedCsvRow,\n};","import { assertNotUndefined } from \"@justfixnyc/util\";\nimport React from \"react\";\nimport { useState } from \"react\";\nimport type { VisualizationSpec } from \"vega-embed\";\nimport { JsonLoader } from \"../json-loader\";\nimport { LazyVegaLite } from \"../vega-lazy\";\nimport { VizFallback, VIZ_TIME_SERIES_CLASS } from \"../viz-util\";\nimport { PctReppedNumericFields, PctReppedRow, PCT_REPPED } from \"./data\";\n\n\n\ntype PctReppedTimeUnit = \"yearweek\"|\"yearmonth\"|\"yearmonthdate\";\n\ntype PctReppedVizProps = {\n fieldName: keyof PctReppedNumericFields,\n title: string,\n timeUnit: PctReppedTimeUnit,\n height: number,\n};\n\nconst PctReppedViz: React.FC = (props) => {\n return (\n url={PCT_REPPED.json} fallback={}>\n {(values) => }\n \n );\n};\n\nfunction thousands_separators(num: any)\n {\n var num_parts = num.toString().split(\".\");\n num_parts[0] = num_parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n return num_parts.join(\".\");\n }\n\nconst PctReppedVizWithValues: React.FC = ({values, fieldName, title, timeUnit, height}) => {\n values = values.filter(\n // If we are viewing data by week, let's grab data since the first Sunday of Jan 2020\n // Otherwise, we can grab data from 1/1/2020 onwards\n row => row.day >= (timeUnit === \"yearweek\" ? \"2022-01-01 00:00:00\" : \"2022-01-01 00:00:00\")\n );\n // const timeUnitLabel = timeUnit === \"yearmonthdate\" ? \"Day\"\n // : timeUnit === \"yearweek\" ? \"Week\" \n // : \"Month\";\n const lineColor = \"#AF2525\";\n\n const spec: VisualizationSpec = {\n $schema: \"https://vega.github.io/schema/vega-lite/v4.json\",\n description: title,\n width: \"container\",\n height: 400,\n title: {\n align: \"left\",\n anchor: \"start\",\n text: `Share of Represented Tenants`,\n fontSize: 24,\n subtitle: [\n `Percent of all tenants with eviction cases who are represented`, `by an attorney by the week the case was filed`,\n // This effectively adds extra padding below the subtitle.\n \"\"\n ],\n subtitleFontSize: 16,\n },\n layer: [\n {\n data: {\n values,\n },\n encoding: {\n x: {\n timeUnit,\n field: \"day\",\n },\n tooltip: [\n {\n field: \"day\",\n timeUnit,\n title: `Week of`,\n type: \"temporal\",\n format: timeUnit === \"yearmonth\" ? \"%B\" : \"%b %d, %Y\",\n },\n {\n field: fieldName,\n // aggregate: \"sum\",\n title: \"Represented tenants (%)\",\n // formatType: \"numberWithCommas\"\n },\n ],\n },\n layer: [\n {\n mark: {\n type: \"line\",\n color: lineColor,\n interpolate: \"monotone\",\n opacity: 1,\n },\n encoding: {\n x: {\n timeUnit,\n field: \"day\",\n axis: {\n title: \"\",\n format: \"%b %d ’%y\",\n labelAngle: 45,\n grid: false,\n },\n },\n y: {\n field: `${fieldName}`,\n aggregate: \"sum\",\n axis: {\n title: `Percent of tenants with representation (%)`,\n },\n scale: {\"zero\": false},\n },\n },\n },\n {\n mark: {\n type: \"line\",\n color: lineColor,\n interpolate: \"monotone\",\n strokeWidth: 4,\n },\n encoding: {\n x: {\n timeUnit,\n field: \"day\",\n axis: {\n title: \"\",\n format: \"%b ’%y\",\n },\n },\n y: {\n field: fieldName,\n aggregate: \"sum\",\n axis: {\n },\n scale: {\"zero\": false},\n },\n },\n },\n {\n selection: {\n index: {\n type: \"single\",\n on: \"mousemove\",\n encodings: [\"x\"],\n nearest: true,\n empty: \"none\",\n clear: \"mouseout\"\n },\n },\n mark: { type: \"point\", strokeWidth: 4, color: lineColor },\n encoding: {\n x: {\n timeUnit,\n field: \"day\",\n },\n y: {\n field: fieldName,\n aggregate: \"sum\",\n type: \"quantitative\",\n },\n opacity: {\n condition: {\n selection: \"index\",\n value: 1,\n },\n value: 0,\n },\n },\n },\n ],\n },\n \n \n ],\n };\n return ;\n};\n\nexport function isPctReppedNumericField(value: string): value is keyof PctReppedNumericFields {\n return PCT_REPPED_VISUALIZATIONS.has(value as any);\n}\n\nexport const PCT_REPPED_VISUALIZATIONS: Map = new Map([\n [\"rep_rate\", \"PctRepped\"],\n]);\n\nexport const PctReppedVisualizations: React.FC<{\n height: number,\n fieldNames?: (keyof PctReppedNumericFields)[]\n}> = ({height, fieldNames}) => {\n const [timeUnit, setTimeUnit] = useState(\"yearweek\");\n\n fieldNames = fieldNames || Array.from(PCT_REPPED_VISUALIZATIONS.keys());\n\n return (\n <>\n {fieldNames.map(fieldName => (\n \n ))}\n \n );\n};","import { toInt } from \"../converters\";\nimport { Query, QueryFiles } from \"../query\";\n\nexport const JUDGMENTS = new QueryFiles(`total-judgments-statewide`);\n\nexport function convertJudgmentsRow(row: any) {\n return {\n day: (row.day as Date).toISOString(),\n judgments: toInt(row.judgments),\n };\n}\n\nexport type JudgmentsRow = ReturnType;\n\nexport type JudgmentsNumericFields = Omit;\n\nfunction getJudgmentsCsvHeader(): string[] {\n return [\n 'day',\n 'judgments',\n ];\n}\n\nfunction toJudgmentsCsvRow(row: JudgmentsRow): string[] {\n return [\n row.day.substr(0, 10),\n row.judgments.toString(),\n ];\n}\n\nexport const JudgmentsStatewideQuery: Query = {\n files: JUDGMENTS,\n sqlToRow: convertJudgmentsRow,\n csvHeader: getJudgmentsCsvHeader(),\n toCsvRow: toJudgmentsCsvRow,\n};","import { assertNotUndefined } from \"@justfixnyc/util\";\nimport React from \"react\";\nimport { useState } from \"react\";\nimport type { VisualizationSpec } from \"vega-embed\";\nimport { JsonLoader } from \"../json-loader\";\nimport { LazyVegaLite } from \"../vega-lazy\";\nimport { VizFallback, VIZ_TIME_SERIES_CLASS } from \"../viz-util\";\nimport { JudgmentsNumericFields, JudgmentsRow, JUDGMENTS } from \"./data\";\n\n/**\n * Take the array of data rows and get the date for the latest week we\n * have data and subtract a given number of weeks. This is used to draw\n * the rectangle on the graphs for the period where we have incomplete\n * data, due to repoting lags. The result is a string in the same format\n * as the \"week\" dates stored in the input data.\n */\nfunction getJudgmentsLagDate(\n data: JudgmentsRow[],\n lagDays: number\n): string {\n const maxJudgmentsDateNum = Math.max.apply(\n Math,\n data.map(row => Date.parse(row.day))\n );\n let returnDate = new Date(maxJudgmentsDateNum);\n returnDate.setDate(returnDate.getDate() - lagDays);\n returnDate.setHours(0, 0, 0, 0);\n return returnDate.toISOString();\n}\n\ntype JudgmentsTimeUnit = \"yearweek\"|\"yearmonth\"|\"yearmonthdate\";\n\ntype JudgmentsVizProps = {\n fieldName: keyof JudgmentsNumericFields,\n title: string,\n height: number,\n};\n\nconst JudgmentsViz: React.FC = (props) => {\n const [timeUnit, setTimeUnit] = useState(\"yearweek\");\n\n return (\n
\n
\n setTimeUnit(\"yearweek\")}/>\n \n\n setTimeUnit(\"yearmonth\")}/>\n \n
\n url={JUDGMENTS.json} fallback={}>\n {(values) => }\n \n
\n );\n};\n\nfunction thousands_separators(num: any)\n {\n var num_parts = num.toString().split(\".\");\n num_parts[0] = num_parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n return num_parts.join(\".\");\n }\n\nconst JudgmentsVizWithValues: React.FC = ({values, fieldName, title, timeUnit, height}) => {\n values = values.filter(\n // If we are viewing data by week, let's grab data since the first Sunday of Jan 2020\n // Otherwise, we can grab data from 1/1/2020 onwards\n row => row.day >= (timeUnit === \"yearweek\" ? \"2020-01-05 00:00:00\" : \"2020-01-01 00:00:00\")\n );\n // const casesSinceCovid = values.filter(\n// row => row.day >= \"2020-03-23 00:00:00\"\n// ).reduce(\n// (total, row) => total + row[fieldName], 0\n// );\n// commented this out because this counter should probably be different from total judgments\n const JudgmentsDataLagStart = getJudgmentsLagDate(values, 30); // 4 weeks for lag\n const JudgmentsDataLagEnd = getJudgmentsLagDate(values, 0); // latest date\n const timeUnitLabel = timeUnit === \"yearmonthdate\" ? \"Day\"\n : timeUnit === \"yearweek\" ? \"Week\" \n : \"Month\";\n const barColor = \"#B73A3A\"\n const selectedBarColor = \"#AF2525\";\n const MoratoriumStart = new Date(\"2020-03-17\");\n const MoratoriumEnd = new Date(\"2020-06-20\");\n const MoratoriumMid = new Date(\"2020-05-05\");\n const MorTwoStart = new Date(\"2020-12-28\");\n const MorTwoEnd = new Date(\"2021-02-26\");\n const MorTwoMid = new Date(\"2021-01-26\");\n const lineTop = 20;\n const lineBottom = 20;\n \n\n // const casesCovidStart = values.find(datapoint => datapoint.day === '2020-03-16T04:00:00.000Z')?.judgments;\n // const casesCovidStartThousands = thousands_separators(casesCovidStart);\n\n const spec: VisualizationSpec = {\n $schema: \"https://vega.github.io/schema/vega-lite/v4.json\",\n description: title,\n width: \"container\",\n height: 400,\n title: {\n text: `${title}`,\n fontSize: 16,\n subtitle: [\n `March 2020 - Present`,\n // This effectively adds extra padding below the subtitle.\n \"\"\n ]\n },\n layer: [\n {\n data: {\n values,\n },\n encoding: {\n x: {\n timeUnit,\n field: \"day\",\n },\n tooltip: [\n {\n field: \"day\",\n timeUnit,\n title: `${timeUnitLabel} of`,\n type: \"temporal\",\n format: timeUnit === \"yearmonth\" ? \"%B\" : \"%b %d, %Y\",\n },\n {\n field: fieldName,\n aggregate: \"sum\",\n title: \"Judgments\",\n formatType: \"numberWithCommas\"\n },\n ],\n },\n layer: [\n {\n mark: {\n type: \"bar\",\n color: barColor,\n interpolate: \"monotone\",\n opacity: 0.6,\n },\n encoding: {\n x: {\n timeUnit,\n field: \"day\",\n axis: {\n title: \"\",\n format: \"%b ’%y\",\n labelAngle: 45,\n grid: false,\n },\n },\n y: {\n field: fieldName,\n aggregate: \"sum\",\n axis: {\n title: `Total Judgments`,\n },\n scale: {\"zero\": false},\n },\n },\n },\n // {\n // mark: {\n // type: \"line\",\n // color: lineColor,\n // interpolate: \"monotone\",\n // strokeWidth: 4,\n // },\n // encoding: {\n // x: {\n // timeUnit,\n // field: \"day\",\n // axis: {\n // title: \"\",\n // format: \"%b ’%y\",\n // },\n // },\n // y: {\n // field: fieldName,\n // aggregate: \"sum\",\n // axis: {\n // },\n // scale: {\"zero\": false},\n // },\n // },\n // },\n {\n selection: {\n index: {\n type: \"single\",\n on: \"mousemove\",\n encodings: [\"x\"],\n nearest: true,\n empty: \"none\",\n clear: \"mouseout\"\n },\n },\n mark: { type: \"bar\", strokeWidth: 4, color: selectedBarColor },\n encoding: {\n x: {\n timeUnit,\n field: \"day\",\n },\n y: {\n field: fieldName,\n aggregate: \"sum\",\n type: \"quantitative\",\n },\n opacity: {\n condition: {\n selection: \"index\",\n value: 1,\n },\n value: 0,\n },\n },\n },\n ],\n },\n {\n data: {\n values: [\n {\n lagDateStart: JudgmentsDataLagStart,\n lagDateEnd: JudgmentsDataLagEnd,\n },\n ],\n },\n layer: [\n {\n mark: { type: \"rect\", color: \"grey\", opacity: 0 }, // made rectangle opaque because it conflicted with second moratorium\n encoding: {\n x: { field: \"lagDateStart\", type: \"temporal\" },\n x2: { field: \"lagDateEnd\", type: \"temporal\" },\n },\n },\n // Request to take this out and include as note below chart instead.\n // {\n // mark: {\n // type: \"text\",\n // align: \"center\",\n // baseline: \"bottom\",\n // dy: -(height)-35,\n // dx: -50,\n // fontSize: 12,\n // text: [\"Recent court data incomplete\", \"due to reporting lags\"]\n // },\n // encoding: {\n // x: { field: \"lagDateEnd\", type: \"temporal\" },\n // },\n // },\n\n ],\n },\n {\n data: {\n values: [\n {\n morDateStart: MoratoriumStart,\n morDateEnd: MoratoriumEnd,\n morDateMid: MoratoriumMid,\n morTwoStart: MorTwoStart,\n morTwoEnd: MorTwoEnd,\n morTwoMid: MorTwoMid,\n },\n ],\n },\n layer: [\n {\n // For some reason this gray rectangle and the\n mark: { type: \"rect\", color: \"gray\", opacity: 0.2 },\n encoding: {\n x: { field: \"morDateStart\", type: \"temporal\" },\n x2: { field: \"morDateEnd\", type: \"temporal\" },\n },\n },\n {\n mark: {\n type: \"text\",\n align: \"center\",\n baseline: \"bottom\",\n dy: -(height*0.05),\n fontSize: 14,\n opacity: 0.6,\n text:\n [\"Eviction\", \"Moratorium\"],\n },\n encoding: {\n x: { field: \"morDateMid\", type: \"temporal\" }, \n },\n },\n {\n mark: { type: \"rect\", color: \"gray\", opacity: 0.2 },\n encoding: {\n x: { field: \"morTwoStart\", type: \"temporal\" },\n x2: { field: \"morTwoEnd\", type: \"temporal\" },\n },\n },\n {\n mark: {\n type: \"text\",\n align: \"center\",\n baseline: \"bottom\",\n dy: -(height*0.05),\n fontSize: 14,\n opacity: 0.6,\n text:\n [\"Most Eviction\", \"Cases Paused\"],\n },\n encoding: {\n x: { field: \"morTwoMid\", type: \"temporal\" }, \n },\n },\n\n\n\n // { \n // mark: {\n // type: \"text\",\n // align: \"center\",\n // baseline: \"bottom\",\n // fontSize: 12, \n // dy: (height*.05),\n // text: [`There were ${casesCovidStartThousands}`, `eviction cases at the`,`start of the pandemic`],\n // },\n // encoding: {\n // x: { field: \"morDateStart\", type: \"temporal\" },\n // }, \n // },\n {\n mark: { \n type: \"rect\", \n color: \"black\", \n opacity: 1,\n width: 2, \n y: height-(height*.45),\n y2: height-(height*.48),\n },\n encoding: {\n x: { field: \"morDateStart\", type: \"temporal\" },\n },\n },\n ],\n },\n \n ],\n };\n return ;\n};\n\nexport function isJudgmentsNumericField(value: string): value is keyof JudgmentsNumericFields {\n return JUDGMENTS_VISUALIZATIONS.has(value as any);\n}\n\nexport const JUDGMENTS_VISUALIZATIONS: Map = new Map([\n [\"judgments\", \"Eviction Judgments in New York State\"],\n]);\n\nexport const JudgmentsStatewideVisualizations: React.FC<{\n height: number,\n fieldNames?: (keyof JudgmentsNumericFields)[]\n}> = ({height, fieldNames}) => {\n\n fieldNames = fieldNames || Array.from(JUDGMENTS_VISUALIZATIONS.keys());\n\n return (\n <>\n {fieldNames.map(fieldName => (\n \n ))}\n \n );\n};\n","import { toInt } from \"../converters\";\nimport { Query, QueryFiles } from \"../query\";\n\nexport const JUDGMENTS = new QueryFiles(`total-judgments-citywide`);\n\nexport function convertJudgmentsRow(row: any) {\n return {\n day: (row.day as Date).toISOString(),\n judgments: toInt(row.judgments),\n };\n}\n\nexport type JudgmentsRow = ReturnType;\n\nexport type JudgmentsNumericFields = Omit;\n\nfunction getJudgmentsCsvHeader(): string[] {\n return [\n 'day',\n 'judgments',\n ];\n}\n\nfunction toJudgmentsCsvRow(row: JudgmentsRow): string[] {\n return [\n row.day.substr(0, 10),\n row.judgments.toString(),\n ];\n}\n\nexport const JudgmentsCitywideQuery: Query = {\n files: JUDGMENTS,\n sqlToRow: convertJudgmentsRow,\n csvHeader: getJudgmentsCsvHeader(),\n toCsvRow: toJudgmentsCsvRow,\n};","import { assertNotUndefined } from \"@justfixnyc/util\";\nimport React from \"react\";\nimport { useState } from \"react\";\nimport type { VisualizationSpec } from \"vega-embed\";\nimport { JsonLoader } from \"../json-loader\";\nimport { LazyVegaLite } from \"../vega-lazy\";\nimport { VizFallback, VIZ_TIME_SERIES_CLASS } from \"../viz-util\";\nimport { JudgmentsNumericFields, JudgmentsRow, JUDGMENTS } from \"./data\";\n\n/**\n * Take the array of data rows and get the date for the latest week we\n * have data and subtract a given number of weeks. This is used to draw\n * the rectangle on the graphs for the period where we have incomplete\n * data, due to repoting lags. The result is a string in the same format\n * as the \"week\" dates stored in the input data.\n */\nfunction getJudgmentsLagDate(\n data: JudgmentsRow[],\n lagDays: number\n): string {\n const maxJudgmentsDateNum = Math.max.apply(\n Math,\n data.map(row => Date.parse(row.day))\n );\n let returnDate = new Date(maxJudgmentsDateNum);\n returnDate.setDate(returnDate.getDate() - lagDays);\n returnDate.setHours(0, 0, 0, 0);\n return returnDate.toISOString();\n}\n\ntype JudgmentsTimeUnit = \"yearweek\"|\"yearmonth\"|\"yearmonthdate\";\n\ntype JudgmentsVizProps = {\n fieldName: keyof JudgmentsNumericFields,\n title: string,\n height: number,\n};\n\nconst JudgmentsViz: React.FC = (props) => {\n const [timeUnit, setTimeUnit] = useState(\"yearweek\");\n\n return (\n
\n
\n setTimeUnit(\"yearweek\")}/>\n \n\n setTimeUnit(\"yearmonth\")}/>\n \n
\n url={JUDGMENTS.json} fallback={}>\n {(values) => }\n \n
\n );\n};\n\nfunction thousands_separators(num: any)\n {\n var num_parts = num.toString().split(\".\");\n num_parts[0] = num_parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n return num_parts.join(\".\");\n }\n\nconst JudgmentsVizWithValues: React.FC = ({values, fieldName, title, timeUnit, height}) => {\n values = values.filter(\n // If we are viewing data by week, let's grab data since the first Sunday of Jan 2020\n // Otherwise, we can grab data from 1/1/2020 onwards\n row => row.day >= (timeUnit === \"yearweek\" ? \"2020-01-05 00:00:00\" : \"2020-01-01 00:00:00\")\n );\n // const casesSinceCovid = values.filter(\n// row => row.day >= \"2020-03-23 00:00:00\"\n// ).reduce(\n// (total, row) => total + row[fieldName], 0\n// );\n// commented this out because this counter should probably be different from total judgments\n const JudgmentsDataLagStart = getJudgmentsLagDate(values, 30); // 4 weeks for lag\n const JudgmentsDataLagEnd = getJudgmentsLagDate(values, 0); // latest date\n const timeUnitLabel = timeUnit === \"yearmonthdate\" ? \"Day\"\n : timeUnit === \"yearweek\" ? \"Week\" \n : \"Month\";\n const barColor = \"#B73A3A\"\n const selectedBarColor = \"#AF2525\";\n const MoratoriumStart = new Date(\"2020-03-17\");\n const MoratoriumEnd = new Date(\"2020-06-20\");\n const MoratoriumMid = new Date(\"2020-05-05\");\n const MorTwoStart = new Date(\"2020-12-28\");\n const MorTwoEnd = new Date(\"2021-02-26\");\n const MorTwoMid = new Date(\"2021-01-26\");\n const lineTop = 20;\n const lineBottom = 20;\n \n\n // const casesCovidStart = values.find(datapoint => datapoint.day === '2020-03-16T04:00:00.000Z')?.judgments;\n // const casesCovidStartThousands = thousands_separators(casesCovidStart);\n\n const spec: VisualizationSpec = {\n $schema: \"https://vega.github.io/schema/vega-lite/v4.json\",\n description: title,\n width: \"container\",\n height: 400,\n title: {\n text: `${title}`,\n fontSize: 16,\n subtitle: [\n `March 2020 - Present`,\n // This effectively adds extra padding below the subtitle.\n \"\"\n ]\n },\n layer: [\n {\n data: {\n values,\n },\n encoding: {\n x: {\n timeUnit,\n field: \"day\",\n },\n tooltip: [\n {\n field: \"day\",\n timeUnit,\n title: `${timeUnitLabel} of`,\n type: \"temporal\",\n format: timeUnit === \"yearmonth\" ? \"%B\" : \"%b %d, %Y\",\n },\n {\n field: fieldName,\n aggregate: \"sum\",\n title: \"Judgments\",\n formatType: \"numberWithCommas\"\n },\n ],\n },\n layer: [\n {\n mark: {\n type: \"bar\",\n color: barColor,\n interpolate: \"monotone\",\n opacity: 0.6,\n },\n encoding: {\n x: {\n timeUnit,\n field: \"day\",\n axis: {\n title: \"\",\n format: \"%b ’%y\",\n labelAngle: 45,\n grid: false,\n },\n },\n y: {\n field: fieldName,\n aggregate: \"sum\",\n axis: {\n title: `Total Judgments`,\n },\n scale: {\"zero\": false},\n },\n },\n },\n {\n selection: {\n index: {\n type: \"single\",\n on: \"mousemove\",\n encodings: [\"x\"],\n nearest: true,\n empty: \"none\",\n clear: \"mouseout\"\n },\n },\n mark: { type: \"bar\", strokeWidth: 4, color: selectedBarColor },\n encoding: {\n x: {\n timeUnit,\n field: \"day\",\n },\n y: {\n field: fieldName,\n aggregate: \"sum\",\n type: \"quantitative\",\n },\n opacity: {\n condition: {\n selection: \"index\",\n value: 1,\n },\n value: 0,\n },\n },\n },\n ],\n },\n {\n data: {\n values: [\n {\n lagDateStart: JudgmentsDataLagStart,\n lagDateEnd: JudgmentsDataLagEnd,\n },\n ],\n },\n layer: [\n {\n mark: { type: \"rect\", color: \"grey\", opacity: 0 }, // made rectangle opaque because it conflicted with second moratorium\n encoding: {\n x: { field: \"lagDateStart\", type: \"temporal\" },\n x2: { field: \"lagDateEnd\", type: \"temporal\" },\n },\n },\n // Request to take this out and include as note below chart instead.\n // {\n // mark: {\n // type: \"text\",\n // align: \"center\",\n // baseline: \"bottom\",\n // dy: -(height)-35,\n // dx: -50,\n // fontSize: 12,\n // text: [\"Recent court data incomplete\", \"due to reporting lags\"]\n // },\n // encoding: {\n // x: { field: \"lagDateEnd\", type: \"temporal\" },\n // },\n // },\n\n ],\n },\n {\n data: {\n values: [\n {\n morDateStart: MoratoriumStart,\n morDateEnd: MoratoriumEnd,\n morDateMid: MoratoriumMid,\n morTwoStart: MorTwoStart,\n morTwoEnd: MorTwoEnd,\n morTwoMid: MorTwoMid,\n },\n ],\n },\n layer: [\n {\n // For some reason this gray rectangle and the\n mark: { type: \"rect\", color: \"gray\", opacity: 0.2 },\n encoding: {\n x: { field: \"morDateStart\", type: \"temporal\" },\n x2: { field: \"morDateEnd\", type: \"temporal\" },\n },\n },\n {\n mark: {\n type: \"text\",\n align: \"center\",\n baseline: \"bottom\",\n dy: -(height*0.05),\n fontSize: 14,\n opacity: 0.6,\n text:\n [\"Eviction\", \"Moratorium\"],\n },\n encoding: {\n x: { field: \"morDateMid\", type: \"temporal\" }, \n },\n },\n {\n mark: { type: \"rect\", color: \"gray\", opacity: 0.2 },\n encoding: {\n x: { field: \"morTwoStart\", type: \"temporal\" },\n x2: { field: \"morTwoEnd\", type: \"temporal\" },\n },\n },\n {\n mark: {\n type: \"text\",\n align: \"center\",\n baseline: \"bottom\",\n dy: -(height*0.05),\n fontSize: 14,\n opacity: 0.6,\n text:\n [\"Most Eviction\", \"Cases Paused\"],\n },\n encoding: {\n x: { field: \"morTwoMid\", type: \"temporal\" }, \n },\n },\n\n\n\n // { \n // mark: {\n // type: \"text\",\n // align: \"center\",\n // baseline: \"bottom\",\n // fontSize: 12, \n // dy: (height*.05),\n // text: [`There were ${casesCovidStartThousands}`, `eviction cases at the`,`start of the pandemic`],\n // },\n // encoding: {\n // x: { field: \"morDateStart\", type: \"temporal\" },\n // }, \n // },\n {\n mark: { \n type: \"rect\", \n color: \"black\", \n opacity: 1,\n width: 2, \n y: height-(height*.45),\n y2: height-(height*.48),\n },\n encoding: {\n x: { field: \"morDateStart\", type: \"temporal\" },\n },\n },\n ],\n },\n \n ],\n };\n return ;\n};\n\nexport function isJudgmentsNumericField(value: string): value is keyof JudgmentsNumericFields {\n return JUDGMENTS_VISUALIZATIONS.has(value as any);\n}\n\nexport const JUDGMENTS_VISUALIZATIONS: Map = new Map([\n [\"judgments\", \"Eviction Judgments in NYC\"],\n]);\n\nexport const JudgmentsCitywideVisualizations: React.FC<{\n height: number,\n fieldNames?: (keyof JudgmentsNumericFields)[]\n}> = ({height, fieldNames}) => {\n\n fieldNames = fieldNames || Array.from(JUDGMENTS_VISUALIZATIONS.keys());\n\n return (\n <>\n {fieldNames.map(fieldName => (\n \n ))}\n \n );\n};\n","import React from 'react'\n\n//\n\nimport {\n linkColumnStructure,\n flattenColumns,\n assignColumnAccessor,\n unpreparedAccessWarning,\n makeHeaderGroups,\n decorateColumn,\n} from '../utils'\n\nimport {\n useGetLatest,\n reduceHooks,\n actions,\n loopHooks,\n makePropGetter,\n makeRenderer,\n} from '../publicUtils'\n\nimport makeDefaultPluginHooks from '../makeDefaultPluginHooks'\n\nimport { useColumnVisibility } from './useColumnVisibility'\n\nconst defaultInitialState = {}\nconst defaultColumnInstance = {}\nconst defaultReducer = (state, action, prevState) => state\nconst defaultGetSubRows = (row, index) => row.subRows || []\nconst defaultGetRowId = (row, index, parent) =>\n `${parent ? [parent.id, index].join('.') : index}`\nconst defaultUseControlledState = d => d\n\nfunction applyDefaults(props) {\n const {\n initialState = defaultInitialState,\n defaultColumn = defaultColumnInstance,\n getSubRows = defaultGetSubRows,\n getRowId = defaultGetRowId,\n stateReducer = defaultReducer,\n useControlledState = defaultUseControlledState,\n ...rest\n } = props\n\n return {\n ...rest,\n initialState,\n defaultColumn,\n getSubRows,\n getRowId,\n stateReducer,\n useControlledState,\n }\n}\n\nexport const useTable = (props, ...plugins) => {\n // Apply default props\n props = applyDefaults(props)\n\n // Add core plugins\n plugins = [useColumnVisibility, ...plugins]\n\n // Create the table instance\n let instanceRef = React.useRef({})\n\n // Create a getter for the instance (helps avoid a lot of potential memory leaks)\n const getInstance = useGetLatest(instanceRef.current)\n\n // Assign the props, plugins and hooks to the instance\n Object.assign(getInstance(), {\n ...props,\n plugins,\n hooks: makeDefaultPluginHooks(),\n })\n\n // Allow plugins to register hooks as early as possible\n plugins.filter(Boolean).forEach(plugin => {\n plugin(getInstance().hooks)\n })\n\n // Consume all hooks and make a getter for them\n const getHooks = useGetLatest(getInstance().hooks)\n getInstance().getHooks = getHooks\n delete getInstance().hooks\n\n // Allow useOptions hooks to modify the options coming into the table\n Object.assign(\n getInstance(),\n reduceHooks(getHooks().useOptions, applyDefaults(props))\n )\n\n const {\n data,\n columns: userColumns,\n initialState,\n defaultColumn,\n getSubRows,\n getRowId,\n stateReducer,\n useControlledState,\n } = getInstance()\n\n // Setup user reducer ref\n const getStateReducer = useGetLatest(stateReducer)\n\n // Build the reducer\n const reducer = React.useCallback(\n (state, action) => {\n // Detect invalid actions\n if (!action.type) {\n console.info({ action })\n throw new Error('Unknown Action 👆')\n }\n\n // Reduce the state from all plugin reducers\n return [\n ...getHooks().stateReducers,\n // Allow the user to add their own state reducer(s)\n ...(Array.isArray(getStateReducer())\n ? getStateReducer()\n : [getStateReducer()]),\n ].reduce(\n (s, handler) => handler(s, action, state, getInstance()) || s,\n state\n )\n },\n [getHooks, getStateReducer, getInstance]\n )\n\n // Start the reducer\n const [reducerState, dispatch] = React.useReducer(reducer, undefined, () =>\n reducer(initialState, { type: actions.init })\n )\n\n // Allow the user to control the final state with hooks\n const state = reduceHooks(\n [...getHooks().useControlledState, useControlledState],\n reducerState,\n { instance: getInstance() }\n )\n\n Object.assign(getInstance(), {\n state,\n dispatch,\n })\n\n // Decorate All the columns\n const columns = React.useMemo(\n () =>\n linkColumnStructure(\n reduceHooks(getHooks().columns, userColumns, {\n instance: getInstance(),\n })\n ),\n [\n getHooks,\n getInstance,\n userColumns,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ...reduceHooks(getHooks().columnsDeps, [], { instance: getInstance() }),\n ]\n )\n getInstance().columns = columns\n\n // Get the flat list of all columns and allow hooks to decorate\n // those columns (and trigger this memoization via deps)\n let allColumns = React.useMemo(\n () =>\n reduceHooks(getHooks().allColumns, flattenColumns(columns), {\n instance: getInstance(),\n }).map(assignColumnAccessor),\n [\n columns,\n getHooks,\n getInstance,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ...reduceHooks(getHooks().allColumnsDeps, [], {\n instance: getInstance(),\n }),\n ]\n )\n getInstance().allColumns = allColumns\n\n // Access the row model using initial columns\n const [rows, flatRows, rowsById] = React.useMemo(() => {\n let rows = []\n let flatRows = []\n const rowsById = {}\n\n const allColumnsQueue = [...allColumns]\n\n while (allColumnsQueue.length) {\n const column = allColumnsQueue.shift()\n accessRowsForColumn({\n data,\n rows,\n flatRows,\n rowsById,\n column,\n getRowId,\n getSubRows,\n accessValueHooks: getHooks().accessValue,\n getInstance,\n })\n }\n\n return [rows, flatRows, rowsById]\n }, [allColumns, data, getRowId, getSubRows, getHooks, getInstance])\n\n Object.assign(getInstance(), {\n rows,\n initialRows: [...rows],\n flatRows,\n rowsById,\n // materializedColumns,\n })\n\n loopHooks(getHooks().useInstanceAfterData, getInstance())\n\n // Get the flat list of all columns AFTER the rows\n // have been access, and allow hooks to decorate\n // those columns (and trigger this memoization via deps)\n let visibleColumns = React.useMemo(\n () =>\n reduceHooks(getHooks().visibleColumns, allColumns, {\n instance: getInstance(),\n }).map(d => decorateColumn(d, defaultColumn)),\n [\n getHooks,\n allColumns,\n getInstance,\n defaultColumn,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ...reduceHooks(getHooks().visibleColumnsDeps, [], {\n instance: getInstance(),\n }),\n ]\n )\n\n // Combine new visible columns with all columns\n allColumns = React.useMemo(() => {\n const columns = [...visibleColumns]\n\n allColumns.forEach(column => {\n if (!columns.find(d => d.id === column.id)) {\n columns.push(column)\n }\n })\n\n return columns\n }, [allColumns, visibleColumns])\n getInstance().allColumns = allColumns\n\n if (process.env.NODE_ENV !== 'production') {\n const duplicateColumns = allColumns.filter((column, i) => {\n return allColumns.findIndex(d => d.id === column.id) !== i\n })\n\n if (duplicateColumns.length) {\n console.info(allColumns)\n throw new Error(\n `Duplicate columns were found with ids: \"${duplicateColumns\n .map(d => d.id)\n .join(', ')}\" in the columns array above`\n )\n }\n }\n\n // Make the headerGroups\n const headerGroups = React.useMemo(\n () =>\n reduceHooks(\n getHooks().headerGroups,\n makeHeaderGroups(visibleColumns, defaultColumn),\n getInstance()\n ),\n [\n getHooks,\n visibleColumns,\n defaultColumn,\n getInstance,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ...reduceHooks(getHooks().headerGroupsDeps, [], {\n instance: getInstance(),\n }),\n ]\n )\n getInstance().headerGroups = headerGroups\n\n // Get the first level of headers\n const headers = React.useMemo(\n () => (headerGroups.length ? headerGroups[0].headers : []),\n [headerGroups]\n )\n getInstance().headers = headers\n\n // Provide a flat header list for utilities\n getInstance().flatHeaders = headerGroups.reduce(\n (all, headerGroup) => [...all, ...headerGroup.headers],\n []\n )\n\n loopHooks(getHooks().useInstanceBeforeDimensions, getInstance())\n\n // Filter columns down to visible ones\n const visibleColumnsDep = visibleColumns\n .filter(d => d.isVisible)\n .map(d => d.id)\n .sort()\n .join('_')\n\n visibleColumns = React.useMemo(\n () => visibleColumns.filter(d => d.isVisible),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [visibleColumns, visibleColumnsDep]\n )\n getInstance().visibleColumns = visibleColumns\n\n // Header Visibility is needed by this point\n const [\n totalColumnsMinWidth,\n totalColumnsWidth,\n totalColumnsMaxWidth,\n ] = calculateHeaderWidths(headers)\n\n getInstance().totalColumnsMinWidth = totalColumnsMinWidth\n getInstance().totalColumnsWidth = totalColumnsWidth\n getInstance().totalColumnsMaxWidth = totalColumnsMaxWidth\n\n loopHooks(getHooks().useInstance, getInstance())\n\n // Each materialized header needs to be assigned a render function and other\n // prop getter properties here.\n ;[...getInstance().flatHeaders, ...getInstance().allColumns].forEach(\n column => {\n // Give columns/headers rendering power\n column.render = makeRenderer(getInstance(), column)\n\n // Give columns/headers a default getHeaderProps\n column.getHeaderProps = makePropGetter(getHooks().getHeaderProps, {\n instance: getInstance(),\n column,\n })\n\n // Give columns/headers a default getFooterProps\n column.getFooterProps = makePropGetter(getHooks().getFooterProps, {\n instance: getInstance(),\n column,\n })\n }\n )\n\n getInstance().headerGroups = React.useMemo(\n () =>\n headerGroups.filter((headerGroup, i) => {\n // Filter out any headers and headerGroups that don't have visible columns\n headerGroup.headers = headerGroup.headers.filter(column => {\n const recurse = headers =>\n headers.filter(column => {\n if (column.headers) {\n return recurse(column.headers)\n }\n return column.isVisible\n }).length\n if (column.headers) {\n return recurse(column.headers)\n }\n return column.isVisible\n })\n\n // Give headerGroups getRowProps\n if (headerGroup.headers.length) {\n headerGroup.getHeaderGroupProps = makePropGetter(\n getHooks().getHeaderGroupProps,\n { instance: getInstance(), headerGroup, index: i }\n )\n\n headerGroup.getFooterGroupProps = makePropGetter(\n getHooks().getFooterGroupProps,\n { instance: getInstance(), headerGroup, index: i }\n )\n\n return true\n }\n\n return false\n }),\n [headerGroups, getInstance, getHooks]\n )\n\n getInstance().footerGroups = [...getInstance().headerGroups].reverse()\n\n // The prepareRow function is absolutely necessary and MUST be called on\n // any rows the user wishes to be displayed.\n\n getInstance().prepareRow = React.useCallback(\n row => {\n row.getRowProps = makePropGetter(getHooks().getRowProps, {\n instance: getInstance(),\n row,\n })\n\n // Build the visible cells for each row\n row.allCells = allColumns.map(column => {\n const value = row.values[column.id]\n\n const cell = {\n column,\n row,\n value,\n }\n\n // Give each cell a getCellProps base\n cell.getCellProps = makePropGetter(getHooks().getCellProps, {\n instance: getInstance(),\n cell,\n })\n\n // Give each cell a renderer function (supports multiple renderers)\n cell.render = makeRenderer(getInstance(), column, {\n row,\n cell,\n value,\n })\n\n return cell\n })\n\n row.cells = visibleColumns.map(column =>\n row.allCells.find(cell => cell.column.id === column.id)\n )\n\n // need to apply any row specific hooks (useExpanded requires this)\n loopHooks(getHooks().prepareRow, row, { instance: getInstance() })\n },\n [getHooks, getInstance, allColumns, visibleColumns]\n )\n\n getInstance().getTableProps = makePropGetter(getHooks().getTableProps, {\n instance: getInstance(),\n })\n\n getInstance().getTableBodyProps = makePropGetter(\n getHooks().getTableBodyProps,\n {\n instance: getInstance(),\n }\n )\n\n loopHooks(getHooks().useFinalInstance, getInstance())\n\n return getInstance()\n}\n\nfunction calculateHeaderWidths(headers, left = 0) {\n let sumTotalMinWidth = 0\n let sumTotalWidth = 0\n let sumTotalMaxWidth = 0\n let sumTotalFlexWidth = 0\n\n headers.forEach(header => {\n let { headers: subHeaders } = header\n\n header.totalLeft = left\n\n if (subHeaders && subHeaders.length) {\n const [\n totalMinWidth,\n totalWidth,\n totalMaxWidth,\n totalFlexWidth,\n ] = calculateHeaderWidths(subHeaders, left)\n header.totalMinWidth = totalMinWidth\n header.totalWidth = totalWidth\n header.totalMaxWidth = totalMaxWidth\n header.totalFlexWidth = totalFlexWidth\n } else {\n header.totalMinWidth = header.minWidth\n header.totalWidth = Math.min(\n Math.max(header.minWidth, header.width),\n header.maxWidth\n )\n header.totalMaxWidth = header.maxWidth\n header.totalFlexWidth = header.canResize ? header.totalWidth : 0\n }\n if (header.isVisible) {\n left += header.totalWidth\n sumTotalMinWidth += header.totalMinWidth\n sumTotalWidth += header.totalWidth\n sumTotalMaxWidth += header.totalMaxWidth\n sumTotalFlexWidth += header.totalFlexWidth\n }\n })\n\n return [sumTotalMinWidth, sumTotalWidth, sumTotalMaxWidth, sumTotalFlexWidth]\n}\n\nfunction accessRowsForColumn({\n data,\n rows,\n flatRows,\n rowsById,\n column,\n getRowId,\n getSubRows,\n accessValueHooks,\n getInstance,\n}) {\n // Access the row's data column-by-column\n // We do it this way so we can incrementally add materialized\n // columns after the first pass and avoid excessive looping\n const accessRow = (originalRow, rowIndex, depth = 0, parent, parentRows) => {\n // Keep the original reference around\n const original = originalRow\n\n const id = getRowId(originalRow, rowIndex, parent)\n\n let row = rowsById[id]\n\n // If the row hasn't been created, let's make it\n if (!row) {\n row = {\n id,\n original,\n index: rowIndex,\n depth,\n cells: [{}], // This is a dummy cell\n }\n\n // Override common array functions (and the dummy cell's getCellProps function)\n // to show an error if it is accessed without calling prepareRow\n row.cells.map = unpreparedAccessWarning\n row.cells.filter = unpreparedAccessWarning\n row.cells.forEach = unpreparedAccessWarning\n row.cells[0].getCellProps = unpreparedAccessWarning\n\n // Create the cells and values\n row.values = {}\n\n // Push this row into the parentRows array\n parentRows.push(row)\n // Keep track of every row in a flat array\n flatRows.push(row)\n // Also keep track of every row by its ID\n rowsById[id] = row\n\n // Get the original subrows\n row.originalSubRows = getSubRows(originalRow, rowIndex)\n\n // Then recursively access them\n if (row.originalSubRows) {\n const subRows = []\n row.originalSubRows.forEach((d, i) =>\n accessRow(d, i, depth + 1, row, subRows)\n )\n // Keep the new subRows array on the row\n row.subRows = subRows\n }\n } else if (row.subRows) {\n // If the row exists, then it's already been accessed\n // Keep recursing, but don't worry about passing the\n // accumlator array (those rows already exist)\n row.originalSubRows.forEach((d, i) => accessRow(d, i, depth + 1, row))\n }\n\n // If the column has an accessor, use it to get a value\n if (column.accessor) {\n row.values[column.id] = column.accessor(\n originalRow,\n rowIndex,\n row,\n parentRows,\n data\n )\n }\n\n // Allow plugins to manipulate the column value\n row.values[column.id] = reduceHooks(\n accessValueHooks,\n row.values[column.id],\n {\n row,\n column,\n instance: getInstance(),\n },\n true\n )\n }\n\n data.forEach((originalRow, rowIndex) =>\n accessRow(originalRow, rowIndex, 0, undefined, rows)\n )\n}\n","import React from 'react'\n\nlet renderErr = 'Renderer Error ☝️'\n\nexport const actions = {\n init: 'init',\n}\n\nexport const defaultRenderer = ({ value = '' }) => value;\nexport const emptyRenderer = () => <> ;\n\nexport const defaultColumn = {\n Cell: defaultRenderer,\n width: 150,\n minWidth: 0,\n maxWidth: Number.MAX_SAFE_INTEGER,\n}\n\nfunction mergeProps(...propList) {\n return propList.reduce((props, next) => {\n const { style, className, ...rest } = next\n\n props = {\n ...props,\n ...rest,\n }\n\n if (style) {\n props.style = props.style\n ? { ...(props.style || {}), ...(style || {}) }\n : style\n }\n\n if (className) {\n props.className = props.className\n ? props.className + ' ' + className\n : className\n }\n\n if (props.className === '') {\n delete props.className\n }\n\n return props\n }, {})\n}\n\nfunction handlePropGetter(prevProps, userProps, meta) {\n // Handle a lambda, pass it the previous props\n if (typeof userProps === 'function') {\n return handlePropGetter({}, userProps(prevProps, meta))\n }\n\n // Handle an array, merge each item as separate props\n if (Array.isArray(userProps)) {\n return mergeProps(prevProps, ...userProps)\n }\n\n // Handle an object by default, merge the two objects\n return mergeProps(prevProps, userProps)\n}\n\nexport const makePropGetter = (hooks, meta = {}) => {\n return (userProps = {}) =>\n [...hooks, userProps].reduce(\n (prev, next) =>\n handlePropGetter(prev, next, {\n ...meta,\n userProps,\n }),\n {}\n )\n}\n\nexport const reduceHooks = (hooks, initial, meta = {}, allowUndefined) =>\n hooks.reduce((prev, next) => {\n const nextValue = next(prev, meta)\n if (process.env.NODE_ENV !== 'production') {\n if (!allowUndefined && typeof nextValue === 'undefined') {\n console.info(next)\n throw new Error(\n 'React Table: A reducer hook ☝️ just returned undefined! This is not allowed.'\n )\n }\n }\n return nextValue\n }, initial)\n\nexport const loopHooks = (hooks, context, meta = {}) =>\n hooks.forEach(hook => {\n const nextValue = hook(context, meta)\n if (process.env.NODE_ENV !== 'production') {\n if (typeof nextValue !== 'undefined') {\n console.info(hook, nextValue)\n throw new Error(\n 'React Table: A loop-type hook ☝️ just returned a value! This is not allowed.'\n )\n }\n }\n })\n\nexport function ensurePluginOrder(plugins, befores, pluginName, afters) {\n if (process.env.NODE_ENV !== 'production' && afters) {\n throw new Error(\n `Defining plugins in the \"after\" section of ensurePluginOrder is no longer supported (see plugin ${pluginName})`\n )\n }\n const pluginIndex = plugins.findIndex(\n plugin => plugin.pluginName === pluginName\n )\n\n if (pluginIndex === -1) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`The plugin \"${pluginName}\" was not found in the plugin list!\nThis usually means you need to need to name your plugin hook by setting the 'pluginName' property of the hook function, eg:\n\n ${pluginName}.pluginName = '${pluginName}'\n`)\n }\n }\n\n befores.forEach(before => {\n const beforeIndex = plugins.findIndex(\n plugin => plugin.pluginName === before\n )\n if (beforeIndex > -1 && beforeIndex > pluginIndex) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n `React Table: The ${pluginName} plugin hook must be placed after the ${before} plugin hook!`\n )\n }\n }\n })\n}\n\nexport function functionalUpdate(updater, old) {\n return typeof updater === 'function' ? updater(old) : updater\n}\n\nexport function useGetLatest(obj) {\n const ref = React.useRef()\n ref.current = obj\n\n return React.useCallback(() => ref.current, [])\n}\n\n// SSR has issues with useLayoutEffect still, so use useEffect during SSR\nexport const safeUseLayoutEffect =\n typeof document !== 'undefined' ? React.useLayoutEffect : React.useEffect\n\nexport function useMountedLayoutEffect(fn, deps) {\n const mountedRef = React.useRef(false)\n\n safeUseLayoutEffect(() => {\n if (mountedRef.current) {\n fn()\n }\n mountedRef.current = true\n // eslint-disable-next-line\n }, deps)\n}\n\nexport function useAsyncDebounce(defaultFn, defaultWait = 0) {\n const debounceRef = React.useRef({})\n\n const getDefaultFn = useGetLatest(defaultFn)\n const getDefaultWait = useGetLatest(defaultWait)\n\n return React.useCallback(\n async (...args) => {\n if (!debounceRef.current.promise) {\n debounceRef.current.promise = new Promise((resolve, reject) => {\n debounceRef.current.resolve = resolve\n debounceRef.current.reject = reject\n })\n }\n\n if (debounceRef.current.timeout) {\n clearTimeout(debounceRef.current.timeout)\n }\n\n debounceRef.current.timeout = setTimeout(async () => {\n delete debounceRef.current.timeout\n try {\n debounceRef.current.resolve(await getDefaultFn()(...args))\n } catch (err) {\n debounceRef.current.reject(err)\n } finally {\n delete debounceRef.current.promise\n }\n }, getDefaultWait())\n\n return debounceRef.current.promise\n },\n [getDefaultFn, getDefaultWait]\n )\n}\n\nexport function makeRenderer(instance, column, meta = {}) {\n return (type, userProps = {}) => {\n const Comp = typeof type === 'string' ? column[type] : type\n\n if (typeof Comp === 'undefined') {\n console.info(column)\n throw new Error(renderErr)\n }\n\n return flexRender(Comp, { ...instance, column, ...meta, ...userProps })\n }\n}\n\nexport function flexRender(Comp, props) {\n return isReactComponent(Comp) ? : Comp\n}\n\nfunction isReactComponent(component) {\n return (\n isClassComponent(component) ||\n typeof component === 'function' ||\n isExoticComponent(component)\n )\n}\n\nfunction isClassComponent(component) {\n return (\n typeof component === 'function' &&\n (() => {\n const proto = Object.getPrototypeOf(component)\n return proto.prototype && proto.prototype.isReactComponent\n })()\n )\n}\n\nfunction isExoticComponent(component) {\n return (\n typeof component === 'object' &&\n typeof component.$$typeof === 'symbol' &&\n ['react.memo', 'react.forward_ref'].includes(component.$$typeof.description)\n )\n}\n","import { defaultColumn, emptyRenderer } from './publicUtils'\n\n// Find the depth of the columns\nexport function findMaxDepth(columns, depth = 0) {\n return columns.reduce((prev, curr) => {\n if (curr.columns) {\n return Math.max(prev, findMaxDepth(curr.columns, depth + 1))\n }\n return depth\n }, 0)\n}\n\n// Build the visible columns, headers and flat column list\nexport function linkColumnStructure(columns, parent, depth = 0) {\n return columns.map(column => {\n column = {\n ...column,\n parent,\n depth,\n }\n\n assignColumnAccessor(column)\n\n if (column.columns) {\n column.columns = linkColumnStructure(column.columns, column, depth + 1)\n }\n return column\n })\n}\n\nexport function flattenColumns(columns) {\n return flattenBy(columns, 'columns')\n}\n\nexport function assignColumnAccessor(column) {\n // First check for string accessor\n let { id, accessor, Header } = column\n\n if (typeof accessor === 'string') {\n id = id || accessor\n const accessorPath = accessor.split('.')\n accessor = row => getBy(row, accessorPath)\n }\n\n if (!id && typeof Header === 'string' && Header) {\n id = Header\n }\n\n if (!id && column.columns) {\n console.error(column)\n throw new Error('A column ID (or unique \"Header\" value) is required!')\n }\n\n if (!id) {\n console.error(column)\n throw new Error('A column ID (or string accessor) is required!')\n }\n\n Object.assign(column, {\n id,\n accessor,\n })\n\n return column\n}\n\nexport function decorateColumn(column, userDefaultColumn) {\n if (!userDefaultColumn) {\n throw new Error()\n }\n Object.assign(column, {\n // Make sure there is a fallback header, just in case\n Header: emptyRenderer,\n Footer: emptyRenderer,\n ...defaultColumn,\n ...userDefaultColumn,\n ...column,\n })\n\n Object.assign(column, {\n originalWidth: column.width,\n })\n\n return column\n}\n\n// Build the header groups from the bottom up\nexport function makeHeaderGroups(\n allColumns,\n defaultColumn,\n additionalHeaderProperties = () => ({})\n) {\n const headerGroups = []\n\n let scanColumns = allColumns\n\n let uid = 0\n const getUID = () => uid++\n\n while (scanColumns.length) {\n // The header group we are creating\n const headerGroup = {\n headers: [],\n }\n\n // The parent columns we're going to scan next\n const parentColumns = []\n\n const hasParents = scanColumns.some(d => d.parent)\n\n // Scan each column for parents\n scanColumns.forEach(column => {\n // What is the latest (last) parent column?\n let latestParentColumn = [...parentColumns].reverse()[0]\n\n let newParent\n\n if (hasParents) {\n // If the column has a parent, add it if necessary\n if (column.parent) {\n newParent = {\n ...column.parent,\n originalId: column.parent.id,\n id: `${column.parent.id}_${getUID()}`,\n headers: [column],\n ...additionalHeaderProperties(column),\n }\n } else {\n // If other columns have parents, we'll need to add a place holder if necessary\n const originalId = `${column.id}_placeholder`\n newParent = decorateColumn(\n {\n originalId,\n id: `${column.id}_placeholder_${getUID()}`,\n placeholderOf: column,\n headers: [column],\n ...additionalHeaderProperties(column),\n },\n defaultColumn\n )\n }\n\n // If the resulting parent columns are the same, just add\n // the column and increment the header span\n if (\n latestParentColumn &&\n latestParentColumn.originalId === newParent.originalId\n ) {\n latestParentColumn.headers.push(column)\n } else {\n parentColumns.push(newParent)\n }\n }\n\n headerGroup.headers.push(column)\n })\n\n headerGroups.push(headerGroup)\n\n // Start scanning the parent columns\n scanColumns = parentColumns\n }\n\n return headerGroups.reverse()\n}\n\nconst pathObjCache = new Map()\n\nexport function getBy(obj, path, def) {\n if (!path) {\n return obj\n }\n const cacheKey = typeof path === 'function' ? path : JSON.stringify(path)\n\n const pathObj =\n pathObjCache.get(cacheKey) ||\n (() => {\n const pathObj = makePathArray(path)\n pathObjCache.set(cacheKey, pathObj)\n return pathObj\n })()\n\n let val\n\n try {\n val = pathObj.reduce((cursor, pathPart) => cursor[pathPart], obj)\n } catch (e) {\n // continue regardless of error\n }\n return typeof val !== 'undefined' ? val : def\n}\n\nexport function getFirstDefined(...args) {\n for (let i = 0; i < args.length; i += 1) {\n if (typeof args[i] !== 'undefined') {\n return args[i]\n }\n }\n}\n\nexport function getElementDimensions(element) {\n const rect = element.getBoundingClientRect()\n const style = window.getComputedStyle(element)\n const margins = {\n left: parseInt(style.marginLeft),\n right: parseInt(style.marginRight),\n }\n const padding = {\n left: parseInt(style.paddingLeft),\n right: parseInt(style.paddingRight),\n }\n return {\n left: Math.ceil(rect.left),\n width: Math.ceil(rect.width),\n outerWidth: Math.ceil(\n rect.width + margins.left + margins.right + padding.left + padding.right\n ),\n marginLeft: margins.left,\n marginRight: margins.right,\n paddingLeft: padding.left,\n paddingRight: padding.right,\n scrollWidth: element.scrollWidth,\n }\n}\n\nexport function isFunction(a) {\n if (typeof a === 'function') {\n return a\n }\n}\n\nexport function flattenBy(arr, key) {\n const flat = []\n\n const recurse = arr => {\n arr.forEach(d => {\n if (!d[key]) {\n flat.push(d)\n } else {\n recurse(d[key])\n }\n })\n }\n\n recurse(arr)\n\n return flat\n}\n\nexport function expandRows(\n rows,\n { manualExpandedKey, expanded, expandSubRows = true }\n) {\n const expandedRows = []\n\n const handleRow = (row, addToExpandedRows = true) => {\n row.isExpanded =\n (row.original && row.original[manualExpandedKey]) || expanded[row.id]\n\n row.canExpand = row.subRows && !!row.subRows.length\n\n if (addToExpandedRows) {\n expandedRows.push(row)\n }\n\n if (row.subRows && row.subRows.length && row.isExpanded) {\n row.subRows.forEach(row => handleRow(row, expandSubRows))\n }\n }\n\n rows.forEach(row => handleRow(row))\n\n return expandedRows\n}\n\nexport function getFilterMethod(filter, userFilterTypes, filterTypes) {\n return (\n isFunction(filter) ||\n userFilterTypes[filter] ||\n filterTypes[filter] ||\n filterTypes.text\n )\n}\n\nexport function shouldAutoRemoveFilter(autoRemove, value, column) {\n return autoRemove ? autoRemove(value, column) : typeof value === 'undefined'\n}\n\nexport function unpreparedAccessWarning() {\n throw new Error(\n 'React-Table: You have not called prepareRow(row) one or more rows you are attempting to render.'\n )\n}\n\nlet passiveSupported = null\nexport function passiveEventSupported() {\n // memoize support to avoid adding multiple test events\n if (typeof passiveSupported === 'boolean') return passiveSupported\n\n let supported = false\n try {\n const options = {\n get passive() {\n supported = true\n return false\n },\n }\n\n window.addEventListener('test', null, options)\n window.removeEventListener('test', null, options)\n } catch (err) {\n supported = false\n }\n passiveSupported = supported\n return passiveSupported\n}\n\n//\n\nconst reOpenBracket = /\\[/g\nconst reCloseBracket = /\\]/g\n\nfunction makePathArray(obj) {\n return (\n flattenDeep(obj)\n // remove all periods in parts\n .map(d => String(d).replace('.', '_'))\n // join parts using period\n .join('.')\n // replace brackets with periods\n .replace(reOpenBracket, '.')\n .replace(reCloseBracket, '')\n // split it back out on periods\n .split('.')\n )\n}\n\nfunction flattenDeep(arr, newArr = []) {\n if (!Array.isArray(arr)) {\n newArr.push(arr)\n } else {\n for (let i = 0; i < arr.length; i += 1) {\n flattenDeep(arr[i], newArr)\n }\n }\n return newArr\n}\n","const defaultGetTableProps = props => ({\n role: 'table',\n ...props,\n})\n\nconst defaultGetTableBodyProps = props => ({\n role: 'rowgroup',\n ...props,\n})\n\nconst defaultGetHeaderProps = (props, { column }) => ({\n key: `header_${column.id}`,\n colSpan: column.totalVisibleHeaderCount,\n role: 'columnheader',\n ...props,\n})\n\nconst defaultGetFooterProps = (props, { column }) => ({\n key: `footer_${column.id}`,\n colSpan: column.totalVisibleHeaderCount,\n ...props,\n})\n\nconst defaultGetHeaderGroupProps = (props, { index }) => ({\n key: `headerGroup_${index}`,\n role: 'row',\n ...props,\n})\n\nconst defaultGetFooterGroupProps = (props, { index }) => ({\n key: `footerGroup_${index}`,\n ...props,\n})\n\nconst defaultGetRowProps = (props, { row }) => ({\n key: `row_${row.id}`,\n role: 'row',\n ...props,\n})\n\nconst defaultGetCellProps = (props, { cell }) => ({\n key: `cell_${cell.row.id}_${cell.column.id}`,\n role: 'cell',\n ...props,\n})\n\nexport default function makeDefaultPluginHooks() {\n return {\n useOptions: [],\n stateReducers: [],\n useControlledState: [],\n columns: [],\n columnsDeps: [],\n allColumns: [],\n allColumnsDeps: [],\n accessValue: [],\n materializedColumns: [],\n materializedColumnsDeps: [],\n useInstanceAfterData: [],\n visibleColumns: [],\n visibleColumnsDeps: [],\n headerGroups: [],\n headerGroupsDeps: [],\n useInstanceBeforeDimensions: [],\n useInstance: [],\n prepareRow: [],\n getTableProps: [defaultGetTableProps],\n getTableBodyProps: [defaultGetTableBodyProps],\n getHeaderGroupProps: [defaultGetHeaderGroupProps],\n getFooterGroupProps: [defaultGetFooterGroupProps],\n getHeaderProps: [defaultGetHeaderProps],\n getFooterProps: [defaultGetFooterProps],\n getRowProps: [defaultGetRowProps],\n getCellProps: [defaultGetCellProps],\n useFinalInstance: [],\n }\n}\n","import React from 'react'\n\nimport {\n actions,\n functionalUpdate,\n useGetLatest,\n makePropGetter,\n useMountedLayoutEffect,\n} from '../publicUtils'\n\nactions.resetHiddenColumns = 'resetHiddenColumns'\nactions.toggleHideColumn = 'toggleHideColumn'\nactions.setHiddenColumns = 'setHiddenColumns'\nactions.toggleHideAllColumns = 'toggleHideAllColumns'\n\nexport const useColumnVisibility = hooks => {\n hooks.getToggleHiddenProps = [defaultGetToggleHiddenProps]\n hooks.getToggleHideAllColumnsProps = [defaultGetToggleHideAllColumnsProps]\n\n hooks.stateReducers.push(reducer)\n hooks.useInstanceBeforeDimensions.push(useInstanceBeforeDimensions)\n hooks.headerGroupsDeps.push((deps, { instance }) => [\n ...deps,\n instance.state.hiddenColumns,\n ])\n hooks.useInstance.push(useInstance)\n}\n\nuseColumnVisibility.pluginName = 'useColumnVisibility'\n\nconst defaultGetToggleHiddenProps = (props, { column }) => [\n props,\n {\n onChange: e => {\n column.toggleHidden(!e.target.checked)\n },\n style: {\n cursor: 'pointer',\n },\n checked: column.isVisible,\n title: 'Toggle Column Visible',\n },\n]\n\nconst defaultGetToggleHideAllColumnsProps = (props, { instance }) => [\n props,\n {\n onChange: e => {\n instance.toggleHideAllColumns(!e.target.checked)\n },\n style: {\n cursor: 'pointer',\n },\n checked: !instance.allColumnsHidden && !instance.state.hiddenColumns.length,\n title: 'Toggle All Columns Hidden',\n indeterminate:\n !instance.allColumnsHidden && instance.state.hiddenColumns.length,\n },\n]\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n hiddenColumns: [],\n ...state,\n }\n }\n\n if (action.type === actions.resetHiddenColumns) {\n return {\n ...state,\n hiddenColumns: instance.initialState.hiddenColumns || [],\n }\n }\n\n if (action.type === actions.toggleHideColumn) {\n const should =\n typeof action.value !== 'undefined'\n ? action.value\n : !state.hiddenColumns.includes(action.columnId)\n\n const hiddenColumns = should\n ? [...state.hiddenColumns, action.columnId]\n : state.hiddenColumns.filter(d => d !== action.columnId)\n\n return {\n ...state,\n hiddenColumns,\n }\n }\n\n if (action.type === actions.setHiddenColumns) {\n return {\n ...state,\n hiddenColumns: functionalUpdate(action.value, state.hiddenColumns),\n }\n }\n\n if (action.type === actions.toggleHideAllColumns) {\n const shouldAll =\n typeof action.value !== 'undefined'\n ? action.value\n : !state.hiddenColumns.length\n\n return {\n ...state,\n hiddenColumns: shouldAll ? instance.allColumns.map(d => d.id) : [],\n }\n }\n}\n\nfunction useInstanceBeforeDimensions(instance) {\n const {\n headers,\n state: { hiddenColumns },\n } = instance\n\n const isMountedRef = React.useRef(false)\n\n if (!isMountedRef.current) {\n }\n\n const handleColumn = (column, parentVisible) => {\n column.isVisible = parentVisible && !hiddenColumns.includes(column.id)\n\n let totalVisibleHeaderCount = 0\n\n if (column.headers && column.headers.length) {\n column.headers.forEach(\n subColumn =>\n (totalVisibleHeaderCount += handleColumn(subColumn, column.isVisible))\n )\n } else {\n totalVisibleHeaderCount = column.isVisible ? 1 : 0\n }\n\n column.totalVisibleHeaderCount = totalVisibleHeaderCount\n\n return totalVisibleHeaderCount\n }\n\n let totalVisibleHeaderCount = 0\n\n headers.forEach(\n subHeader => (totalVisibleHeaderCount += handleColumn(subHeader, true))\n )\n}\n\nfunction useInstance(instance) {\n const {\n columns,\n flatHeaders,\n dispatch,\n allColumns,\n getHooks,\n state: { hiddenColumns },\n autoResetHiddenColumns = true,\n } = instance\n\n const getInstance = useGetLatest(instance)\n\n const allColumnsHidden = allColumns.length === hiddenColumns.length\n\n const toggleHideColumn = React.useCallback(\n (columnId, value) =>\n dispatch({ type: actions.toggleHideColumn, columnId, value }),\n [dispatch]\n )\n\n const setHiddenColumns = React.useCallback(\n value => dispatch({ type: actions.setHiddenColumns, value }),\n [dispatch]\n )\n\n const toggleHideAllColumns = React.useCallback(\n value => dispatch({ type: actions.toggleHideAllColumns, value }),\n [dispatch]\n )\n\n const getToggleHideAllColumnsProps = makePropGetter(\n getHooks().getToggleHideAllColumnsProps,\n { instance: getInstance() }\n )\n\n flatHeaders.forEach(column => {\n column.toggleHidden = value => {\n dispatch({\n type: actions.toggleHideColumn,\n columnId: column.id,\n value,\n })\n }\n\n column.getToggleHiddenProps = makePropGetter(\n getHooks().getToggleHiddenProps,\n {\n instance: getInstance(),\n column,\n }\n )\n })\n\n const getAutoResetHiddenColumns = useGetLatest(autoResetHiddenColumns)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetHiddenColumns()) {\n dispatch({ type: actions.resetHiddenColumns })\n }\n }, [dispatch, columns])\n\n Object.assign(instance, {\n allColumnsHidden,\n toggleHideColumn,\n setHiddenColumns,\n toggleHideAllColumns,\n getToggleHideAllColumnsProps,\n })\n}\n","import React from 'react'\n\nimport { expandRows } from '../utils'\n\nimport {\n useGetLatest,\n actions,\n useMountedLayoutEffect,\n makePropGetter,\n ensurePluginOrder,\n} from '../publicUtils'\n\n// Actions\nactions.resetExpanded = 'resetExpanded'\nactions.toggleRowExpanded = 'toggleRowExpanded'\nactions.toggleAllRowsExpanded = 'toggleAllRowsExpanded'\n\nexport const useExpanded = hooks => {\n hooks.getToggleAllRowsExpandedProps = [defaultGetToggleAllRowsExpandedProps]\n hooks.getToggleRowExpandedProps = [defaultGetToggleRowExpandedProps]\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\nuseExpanded.pluginName = 'useExpanded'\n\nconst defaultGetToggleAllRowsExpandedProps = (props, { instance }) => [\n props,\n {\n onClick: e => {\n instance.toggleAllRowsExpanded()\n },\n style: {\n cursor: 'pointer',\n },\n title: 'Toggle All Rows Expanded',\n },\n]\n\nconst defaultGetToggleRowExpandedProps = (props, { row }) => [\n props,\n {\n onClick: () => {\n row.toggleRowExpanded()\n },\n style: {\n cursor: 'pointer',\n },\n title: 'Toggle Row Expanded',\n },\n]\n\n// Reducer\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n expanded: {},\n ...state,\n }\n }\n\n if (action.type === actions.resetExpanded) {\n return {\n ...state,\n expanded: instance.initialState.expanded || {},\n }\n }\n\n if (action.type === actions.toggleAllRowsExpanded) {\n const { value } = action\n const { isAllRowsExpanded, rowsById } = instance\n\n const expandAll = typeof value !== 'undefined' ? value : !isAllRowsExpanded\n\n if (expandAll) {\n const expanded = {}\n\n Object.keys(rowsById).forEach(rowId => {\n expanded[rowId] = true\n })\n\n return {\n ...state,\n expanded,\n }\n }\n\n return {\n ...state,\n expanded: {},\n }\n }\n\n if (action.type === actions.toggleRowExpanded) {\n const { id, value: setExpanded } = action\n const exists = state.expanded[id]\n\n const shouldExist =\n typeof setExpanded !== 'undefined' ? setExpanded : !exists\n\n if (!exists && shouldExist) {\n return {\n ...state,\n expanded: {\n ...state.expanded,\n [id]: true,\n },\n }\n } else if (exists && !shouldExist) {\n const { [id]: _, ...rest } = state.expanded\n return {\n ...state,\n expanded: rest,\n }\n } else {\n return state\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n rowsById,\n manualExpandedKey = 'expanded',\n paginateExpandedRows = true,\n expandSubRows = true,\n autoResetExpanded = true,\n getHooks,\n plugins,\n state: { expanded },\n dispatch,\n } = instance\n\n ensurePluginOrder(\n plugins,\n ['useSortBy', 'useGroupBy', 'usePivotColumns', 'useGlobalFilter'],\n 'useExpanded'\n )\n\n const getAutoResetExpanded = useGetLatest(autoResetExpanded)\n\n let isAllRowsExpanded = Boolean(\n Object.keys(rowsById).length && Object.keys(expanded).length\n )\n\n if (isAllRowsExpanded) {\n if (Object.keys(rowsById).some(id => !expanded[id])) {\n isAllRowsExpanded = false\n }\n }\n\n // Bypass any effects from firing when this changes\n useMountedLayoutEffect(() => {\n if (getAutoResetExpanded()) {\n dispatch({ type: actions.resetExpanded })\n }\n }, [dispatch, data])\n\n const toggleRowExpanded = React.useCallback(\n (id, value) => {\n dispatch({ type: actions.toggleRowExpanded, id, value })\n },\n [dispatch]\n )\n\n const toggleAllRowsExpanded = React.useCallback(\n value => dispatch({ type: actions.toggleAllRowsExpanded, value }),\n [dispatch]\n )\n\n const expandedRows = React.useMemo(() => {\n if (paginateExpandedRows) {\n return expandRows(rows, { manualExpandedKey, expanded, expandSubRows })\n }\n\n return rows\n }, [paginateExpandedRows, rows, manualExpandedKey, expanded, expandSubRows])\n\n const expandedDepth = React.useMemo(() => findExpandedDepth(expanded), [\n expanded,\n ])\n\n const getInstance = useGetLatest(instance)\n\n const getToggleAllRowsExpandedProps = makePropGetter(\n getHooks().getToggleAllRowsExpandedProps,\n { instance: getInstance() }\n )\n\n Object.assign(instance, {\n preExpandedRows: rows,\n expandedRows,\n rows: expandedRows,\n expandedDepth,\n isAllRowsExpanded,\n toggleRowExpanded,\n toggleAllRowsExpanded,\n getToggleAllRowsExpandedProps,\n })\n}\n\nfunction prepareRow(row, { instance: { getHooks }, instance }) {\n row.toggleRowExpanded = set => instance.toggleRowExpanded(row.id, set)\n\n row.getToggleRowExpandedProps = makePropGetter(\n getHooks().getToggleRowExpandedProps,\n {\n instance,\n row,\n }\n )\n}\n\nfunction findExpandedDepth(expanded) {\n let maxDepth = 0\n\n Object.keys(expanded).forEach(id => {\n const splitId = id.split('.')\n maxDepth = Math.max(maxDepth, splitId.length)\n })\n\n return maxDepth\n}\n","export const text = (rows, ids, filterValue) => {\n rows = rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return String(rowValue)\n .toLowerCase()\n .includes(String(filterValue).toLowerCase())\n })\n })\n return rows\n}\n\ntext.autoRemove = val => !val\n\nexport const exactText = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return rowValue !== undefined\n ? String(rowValue).toLowerCase() === String(filterValue).toLowerCase()\n : true\n })\n })\n}\n\nexactText.autoRemove = val => !val\n\nexport const exactTextCase = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return rowValue !== undefined\n ? String(rowValue) === String(filterValue)\n : true\n })\n })\n}\n\nexactTextCase.autoRemove = val => !val\n\nexport const includes = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return rowValue.includes(filterValue)\n })\n })\n}\n\nincludes.autoRemove = val => !val || !val.length\n\nexport const includesAll = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return (\n rowValue &&\n rowValue.length &&\n filterValue.every(val => rowValue.includes(val))\n )\n })\n })\n}\n\nincludesAll.autoRemove = val => !val || !val.length\n\nexport const includesSome = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return (\n rowValue &&\n rowValue.length &&\n filterValue.some(val => rowValue.includes(val))\n )\n })\n })\n}\n\nincludesSome.autoRemove = val => !val || !val.length\n\nexport const includesValue = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return filterValue.includes(rowValue)\n })\n })\n}\n\nincludesValue.autoRemove = val => !val || !val.length\n\nexport const exact = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return rowValue === filterValue\n })\n })\n}\n\nexact.autoRemove = val => typeof val === 'undefined'\n\nexport const equals = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n // eslint-disable-next-line eqeqeq\n return rowValue == filterValue\n })\n })\n}\n\nequals.autoRemove = val => val == null\n\nexport const between = (rows, ids, filterValue) => {\n let [min, max] = filterValue || []\n\n min = typeof min === 'number' ? min : -Infinity\n max = typeof max === 'number' ? max : Infinity\n\n if (min > max) {\n const temp = min\n min = max\n max = temp\n }\n\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return rowValue >= min && rowValue <= max\n })\n })\n}\n\nbetween.autoRemove = val =>\n !val || (typeof val[0] !== 'number' && typeof val[1] !== 'number')\n","import React from 'react'\n\nimport {\n getFirstDefined,\n getFilterMethod,\n shouldAutoRemoveFilter,\n} from '../utils'\n\nimport {\n actions,\n useGetLatest,\n functionalUpdate,\n useMountedLayoutEffect,\n} from '../publicUtils'\n\nimport * as filterTypes from '../filterTypes'\n\n// Actions\nactions.resetFilters = 'resetFilters'\nactions.setFilter = 'setFilter'\nactions.setAllFilters = 'setAllFilters'\n\nexport const useFilters = hooks => {\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n}\n\nuseFilters.pluginName = 'useFilters'\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n filters: [],\n ...state,\n }\n }\n\n if (action.type === actions.resetFilters) {\n return {\n ...state,\n filters: instance.initialState.filters || [],\n }\n }\n\n if (action.type === actions.setFilter) {\n const { columnId, filterValue } = action\n const { allColumns, filterTypes: userFilterTypes } = instance\n\n const column = allColumns.find(d => d.id === columnId)\n\n if (!column) {\n throw new Error(\n `React-Table: Could not find a column with id: ${columnId}`\n )\n }\n\n const filterMethod = getFilterMethod(\n column.filter,\n userFilterTypes || {},\n filterTypes\n )\n\n const previousfilter = state.filters.find(d => d.id === columnId)\n\n const newFilter = functionalUpdate(\n filterValue,\n previousfilter && previousfilter.value\n )\n\n //\n if (shouldAutoRemoveFilter(filterMethod.autoRemove, newFilter, column)) {\n return {\n ...state,\n filters: state.filters.filter(d => d.id !== columnId),\n }\n }\n\n if (previousfilter) {\n return {\n ...state,\n filters: state.filters.map(d => {\n if (d.id === columnId) {\n return { id: columnId, value: newFilter }\n }\n return d\n }),\n }\n }\n\n return {\n ...state,\n filters: [...state.filters, { id: columnId, value: newFilter }],\n }\n }\n\n if (action.type === actions.setAllFilters) {\n const { filters } = action\n const { allColumns, filterTypes: userFilterTypes } = instance\n\n return {\n ...state,\n // Filter out undefined values\n filters: functionalUpdate(filters, state.filters).filter(filter => {\n const column = allColumns.find(d => d.id === filter.id)\n const filterMethod = getFilterMethod(\n column.filter,\n userFilterTypes || {},\n filterTypes\n )\n\n if (\n shouldAutoRemoveFilter(filterMethod.autoRemove, filter.value, column)\n ) {\n return false\n }\n return true\n }),\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n flatRows,\n rowsById,\n allColumns,\n filterTypes: userFilterTypes,\n manualFilters,\n defaultCanFilter = false,\n disableFilters,\n state: { filters },\n dispatch,\n autoResetFilters = true,\n } = instance\n\n const setFilter = React.useCallback(\n (columnId, filterValue) => {\n dispatch({ type: actions.setFilter, columnId, filterValue })\n },\n [dispatch]\n )\n\n const setAllFilters = React.useCallback(\n filters => {\n dispatch({\n type: actions.setAllFilters,\n filters,\n })\n },\n [dispatch]\n )\n\n allColumns.forEach(column => {\n const {\n id,\n accessor,\n defaultCanFilter: columnDefaultCanFilter,\n disableFilters: columnDisableFilters,\n } = column\n\n // Determine if a column is filterable\n column.canFilter = accessor\n ? getFirstDefined(\n columnDisableFilters === true ? false : undefined,\n disableFilters === true ? false : undefined,\n true\n )\n : getFirstDefined(columnDefaultCanFilter, defaultCanFilter, false)\n\n // Provide the column a way of updating the filter value\n column.setFilter = val => setFilter(column.id, val)\n\n // Provide the current filter value to the column for\n // convenience\n const found = filters.find(d => d.id === id)\n column.filterValue = found && found.value\n })\n\n const [\n filteredRows,\n filteredFlatRows,\n filteredRowsById,\n ] = React.useMemo(() => {\n if (manualFilters || !filters.length) {\n return [rows, flatRows, rowsById]\n }\n\n const filteredFlatRows = []\n const filteredRowsById = {}\n\n // Filters top level and nested rows\n const filterRows = (rows, depth = 0) => {\n let filteredRows = rows\n\n filteredRows = filters.reduce(\n (filteredSoFar, { id: columnId, value: filterValue }) => {\n // Find the filters column\n const column = allColumns.find(d => d.id === columnId)\n\n if (!column) {\n return filteredSoFar\n }\n\n if (depth === 0) {\n column.preFilteredRows = filteredSoFar\n }\n\n const filterMethod = getFilterMethod(\n column.filter,\n userFilterTypes || {},\n filterTypes\n )\n\n if (!filterMethod) {\n console.warn(\n `Could not find a valid 'column.filter' for column with the ID: ${column.id}.`\n )\n return filteredSoFar\n }\n\n // Pass the rows, id, filterValue and column to the filterMethod\n // to get the filtered rows back\n column.filteredRows = filterMethod(\n filteredSoFar,\n [columnId],\n filterValue\n )\n\n return column.filteredRows\n },\n rows\n )\n\n // Apply the filter to any subRows\n // We technically could do this recursively in the above loop,\n // but that would severely hinder the API for the user, since they\n // would be required to do that recursion in some scenarios\n filteredRows.forEach(row => {\n filteredFlatRows.push(row)\n filteredRowsById[row.id] = row\n if (!row.subRows) {\n return\n }\n\n row.subRows =\n row.subRows && row.subRows.length > 0\n ? filterRows(row.subRows, depth + 1)\n : row.subRows\n })\n\n return filteredRows\n }\n\n return [filterRows(rows), filteredFlatRows, filteredRowsById]\n }, [\n manualFilters,\n filters,\n rows,\n flatRows,\n rowsById,\n allColumns,\n userFilterTypes,\n ])\n\n React.useMemo(() => {\n // Now that each filtered column has it's partially filtered rows,\n // lets assign the final filtered rows to all of the other columns\n const nonFilteredColumns = allColumns.filter(\n column => !filters.find(d => d.id === column.id)\n )\n\n // This essentially enables faceted filter options to be built easily\n // using every column's preFilteredRows value\n nonFilteredColumns.forEach(column => {\n column.preFilteredRows = filteredRows\n column.filteredRows = filteredRows\n })\n }, [filteredRows, filters, allColumns])\n\n const getAutoResetFilters = useGetLatest(autoResetFilters)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetFilters()) {\n dispatch({ type: actions.resetFilters })\n }\n }, [dispatch, manualFilters ? null : data])\n\n Object.assign(instance, {\n preFilteredRows: rows,\n preFilteredFlatRows: flatRows,\n preFilteredRowsById: rowsById,\n filteredRows,\n filteredFlatRows,\n filteredRowsById,\n rows: filteredRows,\n flatRows: filteredFlatRows,\n rowsById: filteredRowsById,\n setFilter,\n setAllFilters,\n })\n}\n","import React from 'react'\n\nimport {\n getFilterMethod,\n shouldAutoRemoveFilter,\n getFirstDefined,\n} from '../utils'\n\nimport {\n actions,\n useMountedLayoutEffect,\n functionalUpdate,\n useGetLatest,\n} from '../publicUtils'\n\nimport * as filterTypes from '../filterTypes'\n\n// Actions\nactions.resetGlobalFilter = 'resetGlobalFilter'\nactions.setGlobalFilter = 'setGlobalFilter'\n\nexport const useGlobalFilter = hooks => {\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n}\n\nuseGlobalFilter.pluginName = 'useGlobalFilter'\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.resetGlobalFilter) {\n return {\n ...state,\n globalFilter: instance.initialState.globalFilter || undefined,\n }\n }\n\n if (action.type === actions.setGlobalFilter) {\n const { filterValue } = action\n const { userFilterTypes } = instance\n\n const filterMethod = getFilterMethod(\n instance.globalFilter,\n userFilterTypes || {},\n filterTypes\n )\n\n const newFilter = functionalUpdate(filterValue, state.globalFilter)\n\n //\n if (shouldAutoRemoveFilter(filterMethod.autoRemove, newFilter)) {\n const { globalFilter, ...stateWithoutGlobalFilter } = state\n return stateWithoutGlobalFilter\n }\n\n return {\n ...state,\n globalFilter: newFilter,\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n flatRows,\n rowsById,\n allColumns,\n filterTypes: userFilterTypes,\n globalFilter,\n manualGlobalFilter,\n state: { globalFilter: globalFilterValue },\n dispatch,\n autoResetGlobalFilter = true,\n disableGlobalFilter,\n } = instance\n\n const setGlobalFilter = React.useCallback(\n filterValue => {\n dispatch({ type: actions.setGlobalFilter, filterValue })\n },\n [dispatch]\n )\n\n // TODO: Create a filter cache for incremental high speed multi-filtering\n // This gets pretty complicated pretty fast, since you have to maintain a\n // cache for each row group (top-level rows, and each row's recursive subrows)\n // This would make multi-filtering a lot faster though. Too far?\n\n const [\n globalFilteredRows,\n globalFilteredFlatRows,\n globalFilteredRowsById,\n ] = React.useMemo(() => {\n if (manualGlobalFilter || typeof globalFilterValue === 'undefined') {\n return [rows, flatRows, rowsById]\n }\n\n const filteredFlatRows = []\n const filteredRowsById = {}\n\n const filterMethod = getFilterMethod(\n globalFilter,\n userFilterTypes || {},\n filterTypes\n )\n\n if (!filterMethod) {\n console.warn(`Could not find a valid 'globalFilter' option.`)\n return rows\n }\n\n allColumns.forEach(column => {\n const { disableGlobalFilter: columnDisableGlobalFilter } = column\n\n column.canFilter = getFirstDefined(\n columnDisableGlobalFilter === true ? false : undefined,\n disableGlobalFilter === true ? false : undefined,\n true\n )\n })\n\n const filterableColumns = allColumns.filter(c => c.canFilter === true)\n\n // Filters top level and nested rows\n const filterRows = filteredRows => {\n filteredRows = filterMethod(\n filteredRows,\n filterableColumns.map(d => d.id),\n globalFilterValue\n )\n\n filteredRows.forEach(row => {\n filteredFlatRows.push(row)\n filteredRowsById[row.id] = row\n\n row.subRows =\n row.subRows && row.subRows.length\n ? filterRows(row.subRows)\n : row.subRows\n })\n\n return filteredRows\n }\n\n return [filterRows(rows), filteredFlatRows, filteredRowsById]\n }, [\n manualGlobalFilter,\n globalFilterValue,\n globalFilter,\n userFilterTypes,\n allColumns,\n rows,\n flatRows,\n rowsById,\n disableGlobalFilter,\n ])\n\n const getAutoResetGlobalFilter = useGetLatest(autoResetGlobalFilter)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetGlobalFilter()) {\n dispatch({ type: actions.resetGlobalFilter })\n }\n }, [dispatch, manualGlobalFilter ? null : data])\n\n Object.assign(instance, {\n preGlobalFilteredRows: rows,\n preGlobalFilteredFlatRows: flatRows,\n preGlobalFilteredRowsById: rowsById,\n globalFilteredRows,\n globalFilteredFlatRows,\n globalFilteredRowsById,\n rows: globalFilteredRows,\n flatRows: globalFilteredFlatRows,\n rowsById: globalFilteredRowsById,\n setGlobalFilter,\n disableGlobalFilter,\n })\n}\n","export function sum(values, aggregatedValues) {\n // It's faster to just add the aggregations together instead of\n // process leaf nodes individually\n return aggregatedValues.reduce(\n (sum, next) => sum + (typeof next === 'number' ? next : 0),\n 0\n )\n}\n\nexport function min(values) {\n let min = values[0] || 0\n\n values.forEach(value => {\n if (typeof value === 'number') {\n min = Math.min(min, value)\n }\n })\n\n return min\n}\n\nexport function max(values) {\n let max = values[0] || 0\n\n values.forEach(value => {\n if (typeof value === 'number') {\n max = Math.max(max, value)\n }\n })\n\n return max\n}\n\nexport function minMax(values) {\n let min = values[0] || 0\n let max = values[0] || 0\n\n values.forEach(value => {\n if (typeof value === 'number') {\n min = Math.min(min, value)\n max = Math.max(max, value)\n }\n })\n\n return `${min}..${max}`\n}\n\nexport function average(values) {\n return sum(null, values) / values.length\n}\n\nexport function median(values) {\n if (!values.length) {\n return null\n }\n\n const mid = Math.floor(values.length / 2)\n const nums = [...values].sort((a, b) => a - b)\n return values.length % 2 !== 0 ? nums[mid] : (nums[mid - 1] + nums[mid]) / 2\n}\n\nexport function unique(values) {\n return Array.from(new Set(values).values())\n}\n\nexport function uniqueCount(values) {\n return new Set(values).size\n}\n\nexport function count(values) {\n return values.length\n}\n","import React from 'react'\n\nimport * as aggregations from '../aggregations'\n\nimport { getFirstDefined, flattenBy } from '../utils'\n\nimport {\n actions,\n makePropGetter,\n ensurePluginOrder,\n useMountedLayoutEffect,\n useGetLatest,\n} from '../publicUtils'\n\nconst emptyArray = []\nconst emptyObject = {}\n\n// Actions\nactions.resetGroupBy = 'resetGroupBy'\nactions.setGroupBy = 'setGroupBy'\nactions.toggleGroupBy = 'toggleGroupBy'\n\nexport const useGroupBy = hooks => {\n hooks.getGroupByToggleProps = [defaultGetGroupByToggleProps]\n hooks.stateReducers.push(reducer)\n hooks.visibleColumnsDeps.push((deps, { instance }) => [\n ...deps,\n instance.state.groupBy,\n ])\n hooks.visibleColumns.push(visibleColumns)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\nuseGroupBy.pluginName = 'useGroupBy'\n\nconst defaultGetGroupByToggleProps = (props, { header }) => [\n props,\n {\n onClick: header.canGroupBy\n ? e => {\n e.persist()\n header.toggleGroupBy()\n }\n : undefined,\n style: {\n cursor: header.canGroupBy ? 'pointer' : undefined,\n },\n title: 'Toggle GroupBy',\n },\n]\n\n// Reducer\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n groupBy: [],\n ...state,\n }\n }\n\n if (action.type === actions.resetGroupBy) {\n return {\n ...state,\n groupBy: instance.initialState.groupBy || [],\n }\n }\n\n if (action.type === actions.setGroupBy) {\n const { value } = action\n return {\n ...state,\n groupBy: value,\n }\n }\n\n if (action.type === actions.toggleGroupBy) {\n const { columnId, value: setGroupBy } = action\n\n const resolvedGroupBy =\n typeof setGroupBy !== 'undefined'\n ? setGroupBy\n : !state.groupBy.includes(columnId)\n\n if (resolvedGroupBy) {\n return {\n ...state,\n groupBy: [...state.groupBy, columnId],\n }\n }\n\n return {\n ...state,\n groupBy: state.groupBy.filter(d => d !== columnId),\n }\n }\n}\n\nfunction visibleColumns(\n columns,\n {\n instance: {\n state: { groupBy },\n },\n }\n) {\n // Sort grouped columns to the start of the column list\n // before the headers are built\n\n const groupByColumns = groupBy\n .map(g => columns.find(col => col.id === g))\n .filter(Boolean)\n\n const nonGroupByColumns = columns.filter(col => !groupBy.includes(col.id))\n\n columns = [...groupByColumns, ...nonGroupByColumns]\n\n columns.forEach(column => {\n column.isGrouped = groupBy.includes(column.id)\n column.groupedIndex = groupBy.indexOf(column.id)\n })\n\n return columns\n}\n\nconst defaultUserAggregations = {}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n flatRows,\n rowsById,\n allColumns,\n flatHeaders,\n groupByFn = defaultGroupByFn,\n manualGroupBy,\n aggregations: userAggregations = defaultUserAggregations,\n plugins,\n state: { groupBy },\n dispatch,\n autoResetGroupBy = true,\n disableGroupBy,\n defaultCanGroupBy,\n getHooks,\n } = instance\n\n ensurePluginOrder(plugins, ['useColumnOrder', 'useFilters'], 'useGroupBy')\n\n const getInstance = useGetLatest(instance)\n\n allColumns.forEach(column => {\n const {\n accessor,\n defaultGroupBy: defaultColumnGroupBy,\n disableGroupBy: columnDisableGroupBy,\n } = column\n\n column.canGroupBy = accessor\n ? getFirstDefined(\n column.canGroupBy,\n columnDisableGroupBy === true ? false : undefined,\n disableGroupBy === true ? false : undefined,\n true\n )\n : getFirstDefined(\n column.canGroupBy,\n defaultColumnGroupBy,\n defaultCanGroupBy,\n false\n )\n\n if (column.canGroupBy) {\n column.toggleGroupBy = () => instance.toggleGroupBy(column.id)\n }\n\n column.Aggregated = column.Aggregated || column.Cell\n })\n\n const toggleGroupBy = React.useCallback(\n (columnId, value) => {\n dispatch({ type: actions.toggleGroupBy, columnId, value })\n },\n [dispatch]\n )\n\n const setGroupBy = React.useCallback(\n value => {\n dispatch({ type: actions.setGroupBy, value })\n },\n [dispatch]\n )\n\n flatHeaders.forEach(header => {\n header.getGroupByToggleProps = makePropGetter(\n getHooks().getGroupByToggleProps,\n { instance: getInstance(), header }\n )\n })\n\n const [\n groupedRows,\n groupedFlatRows,\n groupedRowsById,\n onlyGroupedFlatRows,\n onlyGroupedRowsById,\n nonGroupedFlatRows,\n nonGroupedRowsById,\n ] = React.useMemo(() => {\n if (manualGroupBy || !groupBy.length) {\n return [\n rows,\n flatRows,\n rowsById,\n emptyArray,\n emptyObject,\n flatRows,\n rowsById,\n ]\n }\n\n // Ensure that the list of filtered columns exist\n const existingGroupBy = groupBy.filter(g =>\n allColumns.find(col => col.id === g)\n )\n\n // Find the columns that can or are aggregating\n // Uses each column to aggregate rows into a single value\n const aggregateRowsToValues = (leafRows, groupedRows, depth) => {\n const values = {}\n\n allColumns.forEach(column => {\n // Don't aggregate columns that are in the groupBy\n if (existingGroupBy.includes(column.id)) {\n values[column.id] = groupedRows[0]\n ? groupedRows[0].values[column.id]\n : null\n return\n }\n\n // Aggregate the values\n let aggregateFn =\n typeof column.aggregate === 'function'\n ? column.aggregate\n : userAggregations[column.aggregate] ||\n aggregations[column.aggregate]\n\n if (aggregateFn) {\n // Get the columnValues to aggregate\n const groupedValues = groupedRows.map(row => row.values[column.id])\n\n // Get the columnValues to aggregate\n const leafValues = leafRows.map(row => {\n let columnValue = row.values[column.id]\n\n if (!depth && column.aggregateValue) {\n const aggregateValueFn =\n typeof column.aggregateValue === 'function'\n ? column.aggregateValue\n : userAggregations[column.aggregateValue] ||\n aggregations[column.aggregateValue]\n\n if (!aggregateValueFn) {\n console.info({ column })\n throw new Error(\n `React Table: Invalid column.aggregateValue option for column listed above`\n )\n }\n\n columnValue = aggregateValueFn(columnValue, row, column)\n }\n return columnValue\n })\n\n values[column.id] = aggregateFn(leafValues, groupedValues)\n } else if (column.aggregate) {\n console.info({ column })\n throw new Error(\n `React Table: Invalid column.aggregate option for column listed above`\n )\n } else {\n values[column.id] = null\n }\n })\n\n return values\n }\n\n let groupedFlatRows = []\n const groupedRowsById = {}\n const onlyGroupedFlatRows = []\n const onlyGroupedRowsById = {}\n const nonGroupedFlatRows = []\n const nonGroupedRowsById = {}\n\n // Recursively group the data\n const groupUpRecursively = (rows, depth = 0, parentId) => {\n // This is the last level, just return the rows\n if (depth === existingGroupBy.length) {\n return rows\n }\n\n const columnId = existingGroupBy[depth]\n\n // Group the rows together for this level\n let rowGroupsMap = groupByFn(rows, columnId)\n\n // Peform aggregations for each group\n const aggregatedGroupedRows = Object.entries(rowGroupsMap).map(\n ([groupByVal, groupedRows], index) => {\n let id = `${columnId}:${groupByVal}`\n id = parentId ? `${parentId}>${id}` : id\n\n // First, Recurse to group sub rows before aggregation\n const subRows = groupUpRecursively(groupedRows, depth + 1, id)\n\n // Flatten the leaf rows of the rows in this group\n const leafRows = depth\n ? flattenBy(groupedRows, 'leafRows')\n : groupedRows\n\n const values = aggregateRowsToValues(leafRows, groupedRows, depth)\n\n const row = {\n id,\n isGrouped: true,\n groupByID: columnId,\n groupByVal,\n values,\n subRows,\n leafRows,\n depth,\n index,\n }\n\n subRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n if (subRow.isGrouped) {\n onlyGroupedFlatRows.push(subRow)\n onlyGroupedRowsById[subRow.id] = subRow\n } else {\n nonGroupedFlatRows.push(subRow)\n nonGroupedRowsById[subRow.id] = subRow\n }\n })\n\n return row\n }\n )\n\n return aggregatedGroupedRows\n }\n\n const groupedRows = groupUpRecursively(rows)\n\n groupedRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n if (subRow.isGrouped) {\n onlyGroupedFlatRows.push(subRow)\n onlyGroupedRowsById[subRow.id] = subRow\n } else {\n nonGroupedFlatRows.push(subRow)\n nonGroupedRowsById[subRow.id] = subRow\n }\n })\n\n // Assign the new data\n return [\n groupedRows,\n groupedFlatRows,\n groupedRowsById,\n onlyGroupedFlatRows,\n onlyGroupedRowsById,\n nonGroupedFlatRows,\n nonGroupedRowsById,\n ]\n }, [\n manualGroupBy,\n groupBy,\n rows,\n flatRows,\n rowsById,\n allColumns,\n userAggregations,\n groupByFn,\n ])\n\n const getAutoResetGroupBy = useGetLatest(autoResetGroupBy)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetGroupBy()) {\n dispatch({ type: actions.resetGroupBy })\n }\n }, [dispatch, manualGroupBy ? null : data])\n\n Object.assign(instance, {\n preGroupedRows: rows,\n preGroupedFlatRow: flatRows,\n preGroupedRowsById: rowsById,\n groupedRows,\n groupedFlatRows,\n groupedRowsById,\n onlyGroupedFlatRows,\n onlyGroupedRowsById,\n nonGroupedFlatRows,\n nonGroupedRowsById,\n rows: groupedRows,\n flatRows: groupedFlatRows,\n rowsById: groupedRowsById,\n toggleGroupBy,\n setGroupBy,\n })\n}\n\nfunction prepareRow(row) {\n row.allCells.forEach(cell => {\n // Grouped cells are in the groupBy and the pivot cell for the row\n cell.isGrouped = cell.column.isGrouped && cell.column.id === row.groupByID\n // Placeholder cells are any columns in the groupBy that are not grouped\n cell.isPlaceholder = !cell.isGrouped && cell.column.isGrouped\n // Aggregated cells are not grouped, not repeated, but still have subRows\n cell.isAggregated =\n !cell.isGrouped && !cell.isPlaceholder && row.subRows?.length\n })\n}\n\nexport function defaultGroupByFn(rows, columnId) {\n return rows.reduce((prev, row, i) => {\n // TODO: Might want to implement a key serializer here so\n // irregular column values can still be grouped if needed?\n const resKey = `${row.values[columnId]}`\n prev[resKey] = Array.isArray(prev[resKey]) ? prev[resKey] : []\n prev[resKey].push(row)\n return prev\n }, {})\n}\n","const reSplitAlphaNumeric = /([0-9]+)/gm\n\n// Mixed sorting is slow, but very inclusive of many edge cases.\n// It handles numbers, mixed alphanumeric combinations, and even\n// null, undefined, and Infinity\nexport const alphanumeric = (rowA, rowB, columnId) => {\n let [a, b] = getRowValuesByColumnID(rowA, rowB, columnId)\n\n // Force to strings (or \"\" for unsupported types)\n a = toString(a)\n b = toString(b)\n\n // Split on number groups, but keep the delimiter\n // Then remove falsey split values\n a = a.split(reSplitAlphaNumeric).filter(Boolean)\n b = b.split(reSplitAlphaNumeric).filter(Boolean)\n\n // While\n while (a.length && b.length) {\n let aa = a.shift()\n let bb = b.shift()\n\n const an = parseInt(aa, 10)\n const bn = parseInt(bb, 10)\n\n const combo = [an, bn].sort()\n\n // Both are string\n if (isNaN(combo[0])) {\n if (aa > bb) {\n return 1\n }\n if (bb > aa) {\n return -1\n }\n continue\n }\n\n // One is a string, one is a number\n if (isNaN(combo[1])) {\n return isNaN(an) ? -1 : 1\n }\n\n // Both are numbers\n if (an > bn) {\n return 1\n }\n if (bn > an) {\n return -1\n }\n }\n\n return a.length - b.length\n}\nexport function datetime(rowA, rowB, columnId) {\n let [a, b] = getRowValuesByColumnID(rowA, rowB, columnId)\n\n a = a.getTime()\n b = b.getTime()\n\n return compareBasic(a, b)\n}\n\nexport function basic(rowA, rowB, columnId) {\n let [a, b] = getRowValuesByColumnID(rowA, rowB, columnId)\n\n return compareBasic(a, b)\n}\n\nexport function string(rowA, rowB, columnId) {\n let [a, b] = getRowValuesByColumnID(rowA, rowB, columnId)\n\n a = a.split('').filter(Boolean)\n b = b.split('').filter(Boolean)\n\n while (a.length && b.length) {\n let aa = a.shift()\n let bb = b.shift()\n\n let alower = aa.toLowerCase()\n let blower = bb.toLowerCase()\n\n // Case insensitive comparison until characters match\n if (alower > blower) {\n return 1\n }\n if (blower > alower) {\n return -1\n }\n // If lowercase characters are identical\n if (aa > bb) {\n return 1\n }\n if (bb > aa) {\n return -1\n }\n continue\n }\n\n return a.length - b.length\n}\n\nexport function number(rowA, rowB, columnId) {\n let [a, b] = getRowValuesByColumnID(rowA, rowB, columnId)\n\n const replaceNonNumeric = /[^0-9.]/gi\n\n a = Number(String(a).replace(replaceNonNumeric, ''))\n b = Number(String(b).replace(replaceNonNumeric, ''))\n\n return compareBasic(a, b)\n}\n\n// Utils\n\nfunction compareBasic(a, b) {\n return a === b ? 0 : a > b ? 1 : -1\n}\n\nfunction getRowValuesByColumnID(row1, row2, columnId) {\n return [row1.values[columnId], row2.values[columnId]]\n}\n\nfunction toString(a) {\n if (typeof a === 'number') {\n if (isNaN(a) || a === Infinity || a === -Infinity) {\n return ''\n }\n return String(a)\n }\n if (typeof a === 'string') {\n return a\n }\n return ''\n}\n","import React from 'react'\n\nimport {\n actions,\n ensurePluginOrder,\n defaultColumn,\n makePropGetter,\n useGetLatest,\n useMountedLayoutEffect,\n} from '../publicUtils'\n\nimport { getFirstDefined, isFunction } from '../utils'\n\nimport * as sortTypes from '../sortTypes'\n\n// Actions\nactions.resetSortBy = 'resetSortBy'\nactions.setSortBy = 'setSortBy'\nactions.toggleSortBy = 'toggleSortBy'\nactions.clearSortBy = 'clearSortBy'\n\ndefaultColumn.sortType = 'alphanumeric'\ndefaultColumn.sortDescFirst = false\n\nexport const useSortBy = hooks => {\n hooks.getSortByToggleProps = [defaultGetSortByToggleProps]\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n}\n\nuseSortBy.pluginName = 'useSortBy'\n\nconst defaultGetSortByToggleProps = (props, { instance, column }) => {\n const { isMultiSortEvent = e => e.shiftKey } = instance\n\n return [\n props,\n {\n onClick: column.canSort\n ? e => {\n e.persist()\n column.toggleSortBy(\n undefined,\n !instance.disableMultiSort && isMultiSortEvent(e)\n )\n }\n : undefined,\n style: {\n cursor: column.canSort ? 'pointer' : undefined,\n },\n title: column.canSort ? 'Toggle SortBy' : undefined,\n },\n ]\n}\n\n// Reducer\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n sortBy: [],\n ...state,\n }\n }\n\n if (action.type === actions.resetSortBy) {\n return {\n ...state,\n sortBy: instance.initialState.sortBy || [],\n }\n }\n\n if (action.type === actions.clearSortBy) {\n const { sortBy } = state\n const newSortBy = sortBy.filter(d => d.id !== action.columnId)\n\n return {\n ...state,\n sortBy: newSortBy,\n }\n }\n\n if (action.type === actions.setSortBy) {\n const { sortBy } = action\n return {\n ...state,\n sortBy,\n }\n }\n\n if (action.type === actions.toggleSortBy) {\n const { columnId, desc, multi } = action\n\n const {\n allColumns,\n disableMultiSort,\n disableSortRemove,\n disableMultiRemove,\n maxMultiSortColCount = Number.MAX_SAFE_INTEGER,\n } = instance\n\n const { sortBy } = state\n\n // Find the column for this columnId\n const column = allColumns.find(d => d.id === columnId)\n const { sortDescFirst } = column\n\n // Find any existing sortBy for this column\n const existingSortBy = sortBy.find(d => d.id === columnId)\n const existingIndex = sortBy.findIndex(d => d.id === columnId)\n const hasDescDefined = typeof desc !== 'undefined' && desc !== null\n\n let newSortBy = []\n\n // What should we do with this sort action?\n let sortAction\n\n if (!disableMultiSort && multi) {\n if (existingSortBy) {\n sortAction = 'toggle'\n } else {\n sortAction = 'add'\n }\n } else {\n // Normal mode\n if (existingIndex !== sortBy.length - 1 || sortBy.length !== 1) {\n sortAction = 'replace'\n } else if (existingSortBy) {\n sortAction = 'toggle'\n } else {\n sortAction = 'replace'\n }\n }\n\n // Handle toggle states that will remove the sortBy\n if (\n sortAction === 'toggle' && // Must be toggling\n !disableSortRemove && // If disableSortRemove, disable in general\n !hasDescDefined && // Must not be setting desc\n (multi ? !disableMultiRemove : true) && // If multi, don't allow if disableMultiRemove\n ((existingSortBy && // Finally, detect if it should indeed be removed\n existingSortBy.desc &&\n !sortDescFirst) ||\n (!existingSortBy.desc && sortDescFirst))\n ) {\n sortAction = 'remove'\n }\n\n if (sortAction === 'replace') {\n newSortBy = [\n {\n id: columnId,\n desc: hasDescDefined ? desc : sortDescFirst,\n },\n ]\n } else if (sortAction === 'add') {\n newSortBy = [\n ...sortBy,\n {\n id: columnId,\n desc: hasDescDefined ? desc : sortDescFirst,\n },\n ]\n // Take latest n columns\n newSortBy.splice(0, newSortBy.length - maxMultiSortColCount)\n } else if (sortAction === 'toggle') {\n // This flips (or sets) the\n newSortBy = sortBy.map(d => {\n if (d.id === columnId) {\n return {\n ...d,\n desc: hasDescDefined ? desc : !existingSortBy.desc,\n }\n }\n return d\n })\n } else if (sortAction === 'remove') {\n newSortBy = sortBy.filter(d => d.id !== columnId)\n }\n\n return {\n ...state,\n sortBy: newSortBy,\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n flatRows,\n allColumns,\n orderByFn = defaultOrderByFn,\n sortTypes: userSortTypes,\n manualSortBy,\n defaultCanSort,\n disableSortBy,\n flatHeaders,\n state: { sortBy },\n dispatch,\n plugins,\n getHooks,\n autoResetSortBy = true,\n } = instance\n\n ensurePluginOrder(\n plugins,\n ['useFilters', 'useGlobalFilter', 'useGroupBy', 'usePivotColumns'],\n 'useSortBy'\n )\n\n const setSortBy = React.useCallback(\n sortBy => {\n dispatch({ type: actions.setSortBy, sortBy })\n },\n [dispatch]\n )\n\n // Updates sorting based on a columnId, desc flag and multi flag\n const toggleSortBy = React.useCallback(\n (columnId, desc, multi) => {\n dispatch({ type: actions.toggleSortBy, columnId, desc, multi })\n },\n [dispatch]\n )\n\n // use reference to avoid memory leak in #1608\n const getInstance = useGetLatest(instance)\n\n // Add the getSortByToggleProps method to columns and headers\n flatHeaders.forEach(column => {\n const {\n accessor,\n canSort: defaultColumnCanSort,\n disableSortBy: columnDisableSortBy,\n id,\n } = column\n\n const canSort = accessor\n ? getFirstDefined(\n columnDisableSortBy === true ? false : undefined,\n disableSortBy === true ? false : undefined,\n true\n )\n : getFirstDefined(defaultCanSort, defaultColumnCanSort, false)\n\n column.canSort = canSort\n\n if (column.canSort) {\n column.toggleSortBy = (desc, multi) =>\n toggleSortBy(column.id, desc, multi)\n\n column.clearSortBy = () => {\n dispatch({ type: actions.clearSortBy, columnId: column.id })\n }\n }\n\n column.getSortByToggleProps = makePropGetter(\n getHooks().getSortByToggleProps,\n {\n instance: getInstance(),\n column,\n }\n )\n\n const columnSort = sortBy.find(d => d.id === id)\n column.isSorted = !!columnSort\n column.sortedIndex = sortBy.findIndex(d => d.id === id)\n column.isSortedDesc = column.isSorted ? columnSort.desc : undefined\n })\n\n const [sortedRows, sortedFlatRows] = React.useMemo(() => {\n if (manualSortBy || !sortBy.length) {\n return [rows, flatRows]\n }\n\n const sortedFlatRows = []\n\n // Filter out sortBys that correspond to non existing columns\n const availableSortBy = sortBy.filter(sort =>\n allColumns.find(col => col.id === sort.id)\n )\n\n const sortData = rows => {\n // Use the orderByFn to compose multiple sortBy's together.\n // This will also perform a stable sorting using the row index\n // if needed.\n const sortedData = orderByFn(\n rows,\n availableSortBy.map(sort => {\n // Support custom sorting methods for each column\n const column = allColumns.find(d => d.id === sort.id)\n\n if (!column) {\n throw new Error(\n `React-Table: Could not find a column with id: ${sort.id} while sorting`\n )\n }\n\n const { sortType } = column\n\n // Look up sortBy functions in this order:\n // column function\n // column string lookup on user sortType\n // column string lookup on built-in sortType\n // default function\n // default string lookup on user sortType\n // default string lookup on built-in sortType\n const sortMethod =\n isFunction(sortType) ||\n (userSortTypes || {})[sortType] ||\n sortTypes[sortType]\n\n if (!sortMethod) {\n throw new Error(\n `React-Table: Could not find a valid sortType of '${sortType}' for column '${sort.id}'.`\n )\n }\n\n // Return the correct sortFn.\n // This function should always return in ascending order\n return (a, b) => sortMethod(a, b, sort.id, sort.desc)\n }),\n // Map the directions\n availableSortBy.map(sort => {\n // Detect and use the sortInverted option\n const column = allColumns.find(d => d.id === sort.id)\n\n if (column && column.sortInverted) {\n return sort.desc\n }\n\n return !sort.desc\n })\n )\n\n // If there are sub-rows, sort them\n sortedData.forEach(row => {\n sortedFlatRows.push(row)\n if (!row.subRows || row.subRows.length === 0) {\n return\n }\n row.subRows = sortData(row.subRows)\n })\n\n return sortedData\n }\n\n return [sortData(rows), sortedFlatRows]\n }, [\n manualSortBy,\n sortBy,\n rows,\n flatRows,\n allColumns,\n orderByFn,\n userSortTypes,\n ])\n\n const getAutoResetSortBy = useGetLatest(autoResetSortBy)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetSortBy()) {\n dispatch({ type: actions.resetSortBy })\n }\n }, [manualSortBy ? null : data])\n\n Object.assign(instance, {\n preSortedRows: rows,\n preSortedFlatRows: flatRows,\n sortedRows,\n sortedFlatRows,\n rows: sortedRows,\n flatRows: sortedFlatRows,\n setSortBy,\n toggleSortBy,\n })\n}\n\nexport function defaultOrderByFn(arr, funcs, dirs) {\n return [...arr].sort((rowA, rowB) => {\n for (let i = 0; i < funcs.length; i += 1) {\n const sortFn = funcs[i]\n const desc = dirs[i] === false || dirs[i] === 'desc'\n const sortInt = sortFn(rowA, rowB)\n if (sortInt !== 0) {\n return desc ? -sortInt : sortInt\n }\n }\n return dirs[0] ? rowA.index - rowB.index : rowB.index - rowA.index\n })\n}\n","import React from 'react'\n\n//\n\nimport {\n actions,\n ensurePluginOrder,\n functionalUpdate,\n useMountedLayoutEffect,\n useGetLatest,\n} from '../publicUtils'\n\nimport { expandRows } from '../utils'\n\nconst pluginName = 'usePagination'\n\n// Actions\nactions.resetPage = 'resetPage'\nactions.gotoPage = 'gotoPage'\nactions.setPageSize = 'setPageSize'\n\nexport const usePagination = hooks => {\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n}\n\nusePagination.pluginName = pluginName\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n pageSize: 10,\n pageIndex: 0,\n ...state,\n }\n }\n\n if (action.type === actions.resetPage) {\n return {\n ...state,\n pageIndex: instance.initialState.pageIndex || 0,\n }\n }\n\n if (action.type === actions.gotoPage) {\n const { pageCount, page } = instance\n const newPageIndex = functionalUpdate(action.pageIndex, state.pageIndex)\n let canNavigate = false\n\n if (newPageIndex > state.pageIndex) {\n // next page\n canNavigate =\n pageCount === -1\n ? page.length >= state.pageSize\n : newPageIndex < pageCount\n } else if (newPageIndex < state.pageIndex) {\n // prev page\n canNavigate = newPageIndex > -1\n }\n\n if (!canNavigate) {\n return state\n }\n\n return {\n ...state,\n pageIndex: newPageIndex,\n }\n }\n\n if (action.type === actions.setPageSize) {\n const { pageSize } = action\n const topRowIndex = state.pageSize * state.pageIndex\n const pageIndex = Math.floor(topRowIndex / pageSize)\n\n return {\n ...state,\n pageIndex,\n pageSize,\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n rows,\n autoResetPage = true,\n manualExpandedKey = 'expanded',\n plugins,\n pageCount: userPageCount,\n paginateExpandedRows = true,\n expandSubRows = true,\n state: {\n pageSize,\n pageIndex,\n expanded,\n globalFilter,\n filters,\n groupBy,\n sortBy,\n },\n dispatch,\n data,\n manualPagination,\n } = instance\n\n ensurePluginOrder(\n plugins,\n ['useGlobalFilter', 'useFilters', 'useGroupBy', 'useSortBy', 'useExpanded'],\n 'usePagination'\n )\n\n const getAutoResetPage = useGetLatest(autoResetPage)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetPage()) {\n dispatch({ type: actions.resetPage })\n }\n }, [\n dispatch,\n manualPagination ? null : data,\n globalFilter,\n filters,\n groupBy,\n sortBy,\n ])\n\n const pageCount = manualPagination\n ? userPageCount\n : Math.ceil(rows.length / pageSize)\n\n const pageOptions = React.useMemo(\n () =>\n pageCount > 0\n ? [...new Array(pageCount)].fill(null).map((d, i) => i)\n : [],\n [pageCount]\n )\n\n const page = React.useMemo(() => {\n let page\n\n if (manualPagination) {\n page = rows\n } else {\n const pageStart = pageSize * pageIndex\n const pageEnd = pageStart + pageSize\n\n page = rows.slice(pageStart, pageEnd)\n }\n\n if (paginateExpandedRows) {\n return page\n }\n\n return expandRows(page, { manualExpandedKey, expanded, expandSubRows })\n }, [\n expandSubRows,\n expanded,\n manualExpandedKey,\n manualPagination,\n pageIndex,\n pageSize,\n paginateExpandedRows,\n rows,\n ])\n\n const canPreviousPage = pageIndex > 0\n const canNextPage =\n pageCount === -1 ? page.length >= pageSize : pageIndex < pageCount - 1\n\n const gotoPage = React.useCallback(\n pageIndex => {\n dispatch({ type: actions.gotoPage, pageIndex })\n },\n [dispatch]\n )\n\n const previousPage = React.useCallback(() => {\n return gotoPage(old => old - 1)\n }, [gotoPage])\n\n const nextPage = React.useCallback(() => {\n return gotoPage(old => old + 1)\n }, [gotoPage])\n\n const setPageSize = React.useCallback(\n pageSize => {\n dispatch({ type: actions.setPageSize, pageSize })\n },\n [dispatch]\n )\n\n Object.assign(instance, {\n pageOptions,\n pageCount,\n page,\n canPreviousPage,\n canNextPage,\n gotoPage,\n previousPage,\n nextPage,\n setPageSize,\n })\n}\n","/* istanbul ignore file */\n\nimport {\n actions,\n makePropGetter,\n ensurePluginOrder,\n useMountedLayoutEffect,\n useGetLatest,\n} from '../publicUtils'\n\nimport { flattenColumns, getFirstDefined } from '../utils'\n\n// Actions\nactions.resetPivot = 'resetPivot'\nactions.togglePivot = 'togglePivot'\n\nexport const _UNSTABLE_usePivotColumns = hooks => {\n hooks.getPivotToggleProps = [defaultGetPivotToggleProps]\n hooks.stateReducers.push(reducer)\n hooks.useInstanceAfterData.push(useInstanceAfterData)\n hooks.allColumns.push(allColumns)\n hooks.accessValue.push(accessValue)\n hooks.materializedColumns.push(materializedColumns)\n hooks.materializedColumnsDeps.push(materializedColumnsDeps)\n hooks.visibleColumns.push(visibleColumns)\n hooks.visibleColumnsDeps.push(visibleColumnsDeps)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\n_UNSTABLE_usePivotColumns.pluginName = 'usePivotColumns'\n\nconst defaultPivotColumns = []\n\nconst defaultGetPivotToggleProps = (props, { header }) => [\n props,\n {\n onClick: header.canPivot\n ? e => {\n e.persist()\n header.togglePivot()\n }\n : undefined,\n style: {\n cursor: header.canPivot ? 'pointer' : undefined,\n },\n title: 'Toggle Pivot',\n },\n]\n\n// Reducer\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n pivotColumns: defaultPivotColumns,\n ...state,\n }\n }\n\n if (action.type === actions.resetPivot) {\n return {\n ...state,\n pivotColumns: instance.initialState.pivotColumns || defaultPivotColumns,\n }\n }\n\n if (action.type === actions.togglePivot) {\n const { columnId, value: setPivot } = action\n\n const resolvedPivot =\n typeof setPivot !== 'undefined'\n ? setPivot\n : !state.pivotColumns.includes(columnId)\n\n if (resolvedPivot) {\n return {\n ...state,\n pivotColumns: [...state.pivotColumns, columnId],\n }\n }\n\n return {\n ...state,\n pivotColumns: state.pivotColumns.filter(d => d !== columnId),\n }\n }\n}\n\nfunction useInstanceAfterData(instance) {\n instance.allColumns.forEach(column => {\n column.isPivotSource = instance.state.pivotColumns.includes(column.id)\n })\n}\n\nfunction allColumns(columns, { instance }) {\n columns.forEach(column => {\n column.isPivotSource = instance.state.pivotColumns.includes(column.id)\n column.uniqueValues = new Set()\n })\n return columns\n}\n\nfunction accessValue(value, { column }) {\n if (column.uniqueValues && typeof value !== 'undefined') {\n column.uniqueValues.add(value)\n }\n return value\n}\n\nfunction materializedColumns(materialized, { instance }) {\n const { allColumns, state } = instance\n\n if (!state.pivotColumns.length || !state.groupBy || !state.groupBy.length) {\n return materialized\n }\n\n const pivotColumns = state.pivotColumns\n .map(id => allColumns.find(d => d.id === id))\n .filter(Boolean)\n\n const sourceColumns = allColumns.filter(\n d =>\n !d.isPivotSource &&\n !state.groupBy.includes(d.id) &&\n !state.pivotColumns.includes(d.id)\n )\n\n const buildPivotColumns = (depth = 0, parent, pivotFilters = []) => {\n const pivotColumn = pivotColumns[depth]\n\n if (!pivotColumn) {\n return sourceColumns.map(sourceColumn => {\n // TODO: We could offer support here for renesting pivoted\n // columns inside copies of their header groups. For now,\n // that seems like it would be (1) overkill on nesting, considering\n // you already get nesting for every pivot level and (2)\n // really hard. :)\n\n return {\n ...sourceColumn,\n canPivot: false,\n isPivoted: true,\n parent,\n depth: depth,\n id: `${parent ? `${parent.id}.${sourceColumn.id}` : sourceColumn.id}`,\n accessor: (originalRow, i, row) => {\n if (pivotFilters.every(filter => filter(row))) {\n return row.values[sourceColumn.id]\n }\n },\n }\n })\n }\n\n const uniqueValues = Array.from(pivotColumn.uniqueValues).sort()\n\n return uniqueValues.map(uniqueValue => {\n const columnGroup = {\n ...pivotColumn,\n Header:\n pivotColumn.PivotHeader || typeof pivotColumn.header === 'string'\n ? `${pivotColumn.Header}: ${uniqueValue}`\n : uniqueValue,\n isPivotGroup: true,\n parent,\n depth,\n id: parent\n ? `${parent.id}.${pivotColumn.id}.${uniqueValue}`\n : `${pivotColumn.id}.${uniqueValue}`,\n pivotValue: uniqueValue,\n }\n\n columnGroup.columns = buildPivotColumns(depth + 1, columnGroup, [\n ...pivotFilters,\n row => row.values[pivotColumn.id] === uniqueValue,\n ])\n\n return columnGroup\n })\n }\n\n const newMaterialized = flattenColumns(buildPivotColumns())\n\n return [...materialized, ...newMaterialized]\n}\n\nfunction materializedColumnsDeps(\n deps,\n {\n instance: {\n state: { pivotColumns, groupBy },\n },\n }\n) {\n return [...deps, pivotColumns, groupBy]\n}\n\nfunction visibleColumns(visibleColumns, { instance: { state } }) {\n visibleColumns = visibleColumns.filter(d => !d.isPivotSource)\n\n if (state.pivotColumns.length && state.groupBy && state.groupBy.length) {\n visibleColumns = visibleColumns.filter(\n column => column.isGrouped || column.isPivoted\n )\n }\n\n return visibleColumns\n}\n\nfunction visibleColumnsDeps(deps, { instance }) {\n return [...deps, instance.state.pivotColumns, instance.state.groupBy]\n}\n\nfunction useInstance(instance) {\n const {\n columns,\n allColumns,\n flatHeaders,\n // pivotFn = defaultPivotFn,\n // manualPivot,\n getHooks,\n plugins,\n dispatch,\n autoResetPivot = true,\n manaulPivot,\n disablePivot,\n defaultCanPivot,\n } = instance\n\n ensurePluginOrder(plugins, ['useGroupBy'], 'usePivotColumns')\n\n const getInstance = useGetLatest(instance)\n\n allColumns.forEach(column => {\n const {\n accessor,\n defaultPivot: defaultColumnPivot,\n disablePivot: columnDisablePivot,\n } = column\n\n column.canPivot = accessor\n ? getFirstDefined(\n column.canPivot,\n columnDisablePivot === true ? false : undefined,\n disablePivot === true ? false : undefined,\n true\n )\n : getFirstDefined(\n column.canPivot,\n defaultColumnPivot,\n defaultCanPivot,\n false\n )\n\n if (column.canPivot) {\n column.togglePivot = () => instance.togglePivot(column.id)\n }\n\n column.Aggregated = column.Aggregated || column.Cell\n })\n\n const togglePivot = (columnId, value) => {\n dispatch({ type: actions.togglePivot, columnId, value })\n }\n\n flatHeaders.forEach(header => {\n header.getPivotToggleProps = makePropGetter(\n getHooks().getPivotToggleProps,\n {\n instance: getInstance(),\n header,\n }\n )\n })\n\n const getAutoResetPivot = useGetLatest(autoResetPivot)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetPivot()) {\n dispatch({ type: actions.resetPivot })\n }\n }, [dispatch, manaulPivot ? null : columns])\n\n Object.assign(instance, {\n togglePivot,\n })\n}\n\nfunction prepareRow(row) {\n row.allCells.forEach(cell => {\n // Grouped cells are in the pivotColumns and the pivot cell for the row\n cell.isPivoted = cell.column.isPivoted\n })\n}\n","import React from 'react'\n\nimport {\n actions,\n makePropGetter,\n ensurePluginOrder,\n useGetLatest,\n useMountedLayoutEffect,\n} from '../publicUtils'\n\nconst pluginName = 'useRowSelect'\n\n// Actions\nactions.resetSelectedRows = 'resetSelectedRows'\nactions.toggleAllRowsSelected = 'toggleAllRowsSelected'\nactions.toggleRowSelected = 'toggleRowSelected'\nactions.toggleAllPageRowsSelected = 'toggleAllPageRowsSelected'\n\nexport const useRowSelect = hooks => {\n hooks.getToggleRowSelectedProps = [defaultGetToggleRowSelectedProps]\n hooks.getToggleAllRowsSelectedProps = [defaultGetToggleAllRowsSelectedProps]\n hooks.getToggleAllPageRowsSelectedProps = [\n defaultGetToggleAllPageRowsSelectedProps,\n ]\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\nuseRowSelect.pluginName = pluginName\n\nconst defaultGetToggleRowSelectedProps = (props, { instance, row }) => {\n const { manualRowSelectedKey = 'isSelected' } = instance\n let checked = false\n\n if (row.original && row.original[manualRowSelectedKey]) {\n checked = true\n } else {\n checked = row.isSelected\n }\n\n return [\n props,\n {\n onChange: e => {\n row.toggleRowSelected(e.target.checked)\n },\n style: {\n cursor: 'pointer',\n },\n checked,\n title: 'Toggle Row Selected',\n indeterminate: row.isSomeSelected,\n },\n ]\n}\n\nconst defaultGetToggleAllRowsSelectedProps = (props, { instance }) => [\n props,\n {\n onChange: e => {\n instance.toggleAllRowsSelected(e.target.checked)\n },\n style: {\n cursor: 'pointer',\n },\n checked: instance.isAllRowsSelected,\n title: 'Toggle All Rows Selected',\n indeterminate: Boolean(\n !instance.isAllRowsSelected &&\n Object.keys(instance.state.selectedRowIds).length\n ),\n },\n]\n\nconst defaultGetToggleAllPageRowsSelectedProps = (props, { instance }) => [\n props,\n {\n onChange(e) {\n instance.toggleAllPageRowsSelected(e.target.checked)\n },\n style: {\n cursor: 'pointer',\n },\n checked: instance.isAllPageRowsSelected,\n title: 'Toggle All Current Page Rows Selected',\n indeterminate: Boolean(\n !instance.isAllPageRowsSelected &&\n instance.page.some(({ id }) => instance.state.selectedRowIds[id])\n ),\n },\n]\n\n// eslint-disable-next-line max-params\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n selectedRowIds: {},\n ...state,\n }\n }\n\n if (action.type === actions.resetSelectedRows) {\n return {\n ...state,\n selectedRowIds: instance.initialState.selectedRowIds || {},\n }\n }\n\n if (action.type === actions.toggleAllRowsSelected) {\n const { value: setSelected } = action\n const {\n isAllRowsSelected,\n rowsById,\n nonGroupedRowsById = rowsById,\n } = instance\n\n const selectAll =\n typeof setSelected !== 'undefined' ? setSelected : !isAllRowsSelected\n\n // Only remove/add the rows that are visible on the screen\n // Leave all the other rows that are selected alone.\n const selectedRowIds = Object.assign({}, state.selectedRowIds)\n\n if (selectAll) {\n Object.keys(nonGroupedRowsById).forEach(rowId => {\n selectedRowIds[rowId] = true\n })\n } else {\n Object.keys(nonGroupedRowsById).forEach(rowId => {\n delete selectedRowIds[rowId]\n })\n }\n\n return {\n ...state,\n selectedRowIds,\n }\n }\n\n if (action.type === actions.toggleRowSelected) {\n const { id, value: setSelected } = action\n const { rowsById, selectSubRows = true, getSubRows } = instance\n const isSelected = state.selectedRowIds[id]\n const shouldExist =\n typeof setSelected !== 'undefined' ? setSelected : !isSelected\n\n if (isSelected === shouldExist) {\n return state\n }\n\n const newSelectedRowIds = { ...state.selectedRowIds }\n\n const handleRowById = id => {\n const row = rowsById[id]\n\n if (!row.isGrouped) {\n if (shouldExist) {\n newSelectedRowIds[id] = true\n } else {\n delete newSelectedRowIds[id]\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n return getSubRows(row).forEach(row => handleRowById(row.id))\n }\n }\n\n handleRowById(id)\n\n return {\n ...state,\n selectedRowIds: newSelectedRowIds,\n }\n }\n\n if (action.type === actions.toggleAllPageRowsSelected) {\n const { value: setSelected } = action\n const {\n page,\n rowsById,\n selectSubRows = true,\n isAllPageRowsSelected,\n getSubRows,\n } = instance\n\n const selectAll =\n typeof setSelected !== 'undefined' ? setSelected : !isAllPageRowsSelected\n\n const newSelectedRowIds = { ...state.selectedRowIds }\n\n const handleRowById = id => {\n const row = rowsById[id]\n\n if (!row.isGrouped) {\n if (selectAll) {\n newSelectedRowIds[id] = true\n } else {\n delete newSelectedRowIds[id]\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n return getSubRows(row).forEach(row => handleRowById(row.id))\n }\n }\n\n page.forEach(row => handleRowById(row.id))\n\n return {\n ...state,\n selectedRowIds: newSelectedRowIds,\n }\n }\n return state\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n getHooks,\n plugins,\n rowsById,\n nonGroupedRowsById = rowsById,\n autoResetSelectedRows = true,\n state: { selectedRowIds },\n selectSubRows = true,\n dispatch,\n page,\n getSubRows,\n } = instance\n\n ensurePluginOrder(\n plugins,\n ['useFilters', 'useGroupBy', 'useSortBy', 'useExpanded', 'usePagination'],\n 'useRowSelect'\n )\n\n const selectedFlatRows = React.useMemo(() => {\n const selectedFlatRows = []\n\n rows.forEach(row => {\n const isSelected = selectSubRows\n ? getRowIsSelected(row, selectedRowIds, getSubRows)\n : !!selectedRowIds[row.id]\n row.isSelected = !!isSelected\n row.isSomeSelected = isSelected === null\n\n if (isSelected) {\n selectedFlatRows.push(row)\n }\n })\n\n return selectedFlatRows\n }, [rows, selectSubRows, selectedRowIds, getSubRows])\n\n let isAllRowsSelected = Boolean(\n Object.keys(nonGroupedRowsById).length && Object.keys(selectedRowIds).length\n )\n\n let isAllPageRowsSelected = isAllRowsSelected\n\n if (isAllRowsSelected) {\n if (Object.keys(nonGroupedRowsById).some(id => !selectedRowIds[id])) {\n isAllRowsSelected = false\n }\n }\n\n if (!isAllRowsSelected) {\n if (page && page.length && page.some(({ id }) => !selectedRowIds[id])) {\n isAllPageRowsSelected = false\n }\n }\n\n const getAutoResetSelectedRows = useGetLatest(autoResetSelectedRows)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetSelectedRows()) {\n dispatch({ type: actions.resetSelectedRows })\n }\n }, [dispatch, data])\n\n const toggleAllRowsSelected = React.useCallback(\n value => dispatch({ type: actions.toggleAllRowsSelected, value }),\n [dispatch]\n )\n\n const toggleAllPageRowsSelected = React.useCallback(\n value => dispatch({ type: actions.toggleAllPageRowsSelected, value }),\n [dispatch]\n )\n\n const toggleRowSelected = React.useCallback(\n (id, value) => dispatch({ type: actions.toggleRowSelected, id, value }),\n [dispatch]\n )\n\n const getInstance = useGetLatest(instance)\n\n const getToggleAllRowsSelectedProps = makePropGetter(\n getHooks().getToggleAllRowsSelectedProps,\n { instance: getInstance() }\n )\n\n const getToggleAllPageRowsSelectedProps = makePropGetter(\n getHooks().getToggleAllPageRowsSelectedProps,\n { instance: getInstance() }\n )\n\n Object.assign(instance, {\n selectedFlatRows,\n isAllRowsSelected,\n isAllPageRowsSelected,\n toggleRowSelected,\n toggleAllRowsSelected,\n getToggleAllRowsSelectedProps,\n getToggleAllPageRowsSelectedProps,\n toggleAllPageRowsSelected,\n })\n}\n\nfunction prepareRow(row, { instance }) {\n row.toggleRowSelected = set => instance.toggleRowSelected(row.id, set)\n\n row.getToggleRowSelectedProps = makePropGetter(\n instance.getHooks().getToggleRowSelectedProps,\n { instance: instance, row }\n )\n}\n\nfunction getRowIsSelected(row, selectedRowIds, getSubRows) {\n if (selectedRowIds[row.id]) {\n return true\n }\n\n const subRows = getSubRows(row)\n\n if (subRows && subRows.length) {\n let allChildrenSelected = true\n let someSelected = false\n\n subRows.forEach(subRow => {\n // Bail out early if we know both of these\n if (someSelected && !allChildrenSelected) {\n return\n }\n\n if (getRowIsSelected(subRow, selectedRowIds, getSubRows)) {\n someSelected = true\n } else {\n allChildrenSelected = false\n }\n })\n return allChildrenSelected ? true : someSelected ? null : false\n }\n\n return false\n}\n","import React from 'react'\n\nimport {\n actions,\n functionalUpdate,\n useMountedLayoutEffect,\n useGetLatest,\n} from '../publicUtils'\n\nconst defaultInitialRowStateAccessor = row => ({})\nconst defaultInitialCellStateAccessor = cell => ({})\n\n// Actions\nactions.setRowState = 'setRowState'\nactions.setCellState = 'setCellState'\nactions.resetRowState = 'resetRowState'\n\nexport const useRowState = hooks => {\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\nuseRowState.pluginName = 'useRowState'\n\nfunction reducer(state, action, previousState, instance) {\n const {\n initialRowStateAccessor = defaultInitialRowStateAccessor,\n initialCellStateAccessor = defaultInitialCellStateAccessor,\n rowsById,\n } = instance\n\n if (action.type === actions.init) {\n return {\n rowState: {},\n ...state,\n }\n }\n\n if (action.type === actions.resetRowState) {\n return {\n ...state,\n rowState: instance.initialState.rowState || {},\n }\n }\n\n if (action.type === actions.setRowState) {\n const { rowId, value } = action\n\n const oldRowState =\n typeof state.rowState[rowId] !== 'undefined'\n ? state.rowState[rowId]\n : initialRowStateAccessor(rowsById[rowId])\n\n return {\n ...state,\n rowState: {\n ...state.rowState,\n [rowId]: functionalUpdate(value, oldRowState),\n },\n }\n }\n\n if (action.type === actions.setCellState) {\n const { rowId, columnId, value } = action\n\n const oldRowState =\n typeof state.rowState[rowId] !== 'undefined'\n ? state.rowState[rowId]\n : initialRowStateAccessor(rowsById[rowId])\n\n const oldCellState =\n typeof oldRowState?.cellState?.[columnId] !== 'undefined'\n ? oldRowState.cellState[columnId]\n : initialCellStateAccessor(\n rowsById[rowId]?.cells?.find(cell => cell.column.id === columnId)\n )\n\n return {\n ...state,\n rowState: {\n ...state.rowState,\n [rowId]: {\n ...oldRowState,\n cellState: {\n ...(oldRowState.cellState || {}),\n [columnId]: functionalUpdate(value, oldCellState),\n },\n },\n },\n }\n }\n}\n\nfunction useInstance(instance) {\n const { autoResetRowState = true, data, dispatch } = instance\n\n const setRowState = React.useCallback(\n (rowId, value) =>\n dispatch({\n type: actions.setRowState,\n rowId,\n value,\n }),\n [dispatch]\n )\n\n const setCellState = React.useCallback(\n (rowId, columnId, value) =>\n dispatch({\n type: actions.setCellState,\n rowId,\n columnId,\n value,\n }),\n [dispatch]\n )\n\n const getAutoResetRowState = useGetLatest(autoResetRowState)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetRowState()) {\n dispatch({ type: actions.resetRowState })\n }\n }, [data])\n\n Object.assign(instance, {\n setRowState,\n setCellState,\n })\n}\n\nfunction prepareRow(row, { instance }) {\n const {\n initialRowStateAccessor = defaultInitialRowStateAccessor,\n initialCellStateAccessor = defaultInitialCellStateAccessor,\n state: { rowState },\n } = instance\n\n if (row) {\n row.state =\n typeof rowState[row.id] !== 'undefined'\n ? rowState[row.id]\n : initialRowStateAccessor(row)\n\n row.setState = updater => {\n return instance.setRowState(row.id, updater)\n }\n\n row.cells.forEach(cell => {\n if (!row.state.cellState) {\n row.state.cellState = {}\n }\n\n cell.state =\n typeof row.state.cellState[cell.column.id] !== 'undefined'\n ? row.state.cellState[cell.column.id]\n : initialCellStateAccessor(cell)\n\n cell.setState = updater => {\n return instance.setCellState(row.id, cell.column.id, updater)\n }\n })\n }\n}\n","import React from 'react'\n\nimport { functionalUpdate, actions } from '../publicUtils'\n\n// Actions\nactions.resetColumnOrder = 'resetColumnOrder'\nactions.setColumnOrder = 'setColumnOrder'\n\nexport const useColumnOrder = hooks => {\n hooks.stateReducers.push(reducer)\n hooks.visibleColumnsDeps.push((deps, { instance }) => {\n return [...deps, instance.state.columnOrder]\n })\n hooks.visibleColumns.push(visibleColumns)\n hooks.useInstance.push(useInstance)\n}\n\nuseColumnOrder.pluginName = 'useColumnOrder'\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n columnOrder: [],\n ...state,\n }\n }\n\n if (action.type === actions.resetColumnOrder) {\n return {\n ...state,\n columnOrder: instance.initialState.columnOrder || [],\n }\n }\n\n if (action.type === actions.setColumnOrder) {\n return {\n ...state,\n columnOrder: functionalUpdate(action.columnOrder, state.columnOrder),\n }\n }\n}\n\nfunction visibleColumns(\n columns,\n {\n instance: {\n state: { columnOrder },\n },\n }\n) {\n // If there is no order, return the normal columns\n if (!columnOrder || !columnOrder.length) {\n return columns\n }\n\n const columnOrderCopy = [...columnOrder]\n\n // If there is an order, make a copy of the columns\n const columnsCopy = [...columns]\n\n // And make a new ordered array of the columns\n const columnsInOrder = []\n\n // Loop over the columns and place them in order into the new array\n while (columnsCopy.length && columnOrderCopy.length) {\n const targetColumnId = columnOrderCopy.shift()\n const foundIndex = columnsCopy.findIndex(d => d.id === targetColumnId)\n if (foundIndex > -1) {\n columnsInOrder.push(columnsCopy.splice(foundIndex, 1)[0])\n }\n }\n\n // If there are any columns left, add them to the end\n return [...columnsInOrder, ...columnsCopy]\n}\n\nfunction useInstance(instance) {\n const { dispatch } = instance\n\n instance.setColumnOrder = React.useCallback(\n columnOrder => {\n return dispatch({ type: actions.setColumnOrder, columnOrder })\n },\n [dispatch]\n )\n}\n","import React from 'react'\n\nimport {\n actions,\n defaultColumn,\n makePropGetter,\n useGetLatest,\n ensurePluginOrder,\n useMountedLayoutEffect,\n} from '../publicUtils'\n\nimport { getFirstDefined, passiveEventSupported } from '../utils'\n\n// Default Column\ndefaultColumn.canResize = true\n\n// Actions\nactions.columnStartResizing = 'columnStartResizing'\nactions.columnResizing = 'columnResizing'\nactions.columnDoneResizing = 'columnDoneResizing'\nactions.resetResize = 'resetResize'\n\nexport const useResizeColumns = hooks => {\n hooks.getResizerProps = [defaultGetResizerProps]\n hooks.getHeaderProps.push({\n style: {\n position: 'relative',\n },\n })\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n hooks.useInstanceBeforeDimensions.push(useInstanceBeforeDimensions)\n}\n\nconst defaultGetResizerProps = (props, { instance, header }) => {\n const { dispatch } = instance\n\n const onResizeStart = (e, header) => {\n let isTouchEvent = false\n if (e.type === 'touchstart') {\n // lets not respond to multiple touches (e.g. 2 or 3 fingers)\n if (e.touches && e.touches.length > 1) {\n return\n }\n isTouchEvent = true\n }\n const headersToResize = getLeafHeaders(header)\n const headerIdWidths = headersToResize.map(d => [d.id, d.totalWidth])\n\n const clientX = isTouchEvent ? Math.round(e.touches[0].clientX) : e.clientX\n\n const dispatchMove = clientXPos => {\n dispatch({ type: actions.columnResizing, clientX: clientXPos })\n }\n const dispatchEnd = () => dispatch({ type: actions.columnDoneResizing })\n\n const handlersAndEvents = {\n mouse: {\n moveEvent: 'mousemove',\n moveHandler: e => dispatchMove(e.clientX),\n upEvent: 'mouseup',\n upHandler: e => {\n document.removeEventListener(\n 'mousemove',\n handlersAndEvents.mouse.moveHandler\n )\n document.removeEventListener(\n 'mouseup',\n handlersAndEvents.mouse.upHandler\n )\n dispatchEnd()\n },\n },\n touch: {\n moveEvent: 'touchmove',\n moveHandler: e => {\n if (e.cancelable) {\n e.preventDefault()\n e.stopPropagation()\n }\n dispatchMove(e.touches[0].clientX)\n return false\n },\n upEvent: 'touchend',\n upHandler: e => {\n document.removeEventListener(\n handlersAndEvents.touch.moveEvent,\n handlersAndEvents.touch.moveHandler\n )\n document.removeEventListener(\n handlersAndEvents.touch.upEvent,\n handlersAndEvents.touch.moveHandler\n )\n dispatchEnd()\n },\n },\n }\n\n const events = isTouchEvent\n ? handlersAndEvents.touch\n : handlersAndEvents.mouse\n const passiveIfSupported = passiveEventSupported()\n ? { passive: false }\n : false\n document.addEventListener(\n events.moveEvent,\n events.moveHandler,\n passiveIfSupported\n )\n document.addEventListener(\n events.upEvent,\n events.upHandler,\n passiveIfSupported\n )\n\n dispatch({\n type: actions.columnStartResizing,\n columnId: header.id,\n columnWidth: header.totalWidth,\n headerIdWidths,\n clientX,\n })\n }\n\n return [\n props,\n {\n onMouseDown: e => e.persist() || onResizeStart(e, header),\n onTouchStart: e => e.persist() || onResizeStart(e, header),\n style: {\n cursor: 'col-resize',\n },\n draggable: false,\n role: 'separator',\n },\n ]\n}\n\nuseResizeColumns.pluginName = 'useResizeColumns'\n\nfunction reducer(state, action) {\n if (action.type === actions.init) {\n return {\n columnResizing: {\n columnWidths: {},\n },\n ...state,\n }\n }\n\n if (action.type === actions.resetResize) {\n return {\n ...state,\n columnResizing: {\n columnWidths: {},\n },\n }\n }\n\n if (action.type === actions.columnStartResizing) {\n const { clientX, columnId, columnWidth, headerIdWidths } = action\n\n return {\n ...state,\n columnResizing: {\n ...state.columnResizing,\n startX: clientX,\n headerIdWidths,\n columnWidth,\n isResizingColumn: columnId,\n },\n }\n }\n\n if (action.type === actions.columnResizing) {\n const { clientX } = action\n const { startX, columnWidth, headerIdWidths = [] } = state.columnResizing\n\n const deltaX = clientX - startX\n const percentageDeltaX = deltaX / columnWidth\n\n const newColumnWidths = {}\n\n headerIdWidths.forEach(([headerId, headerWidth]) => {\n newColumnWidths[headerId] = Math.max(\n headerWidth + headerWidth * percentageDeltaX,\n 0\n )\n })\n\n return {\n ...state,\n columnResizing: {\n ...state.columnResizing,\n columnWidths: {\n ...state.columnResizing.columnWidths,\n ...newColumnWidths,\n },\n },\n }\n }\n\n if (action.type === actions.columnDoneResizing) {\n return {\n ...state,\n columnResizing: {\n ...state.columnResizing,\n startX: null,\n isResizingColumn: null,\n },\n }\n }\n}\n\nconst useInstanceBeforeDimensions = instance => {\n const {\n flatHeaders,\n disableResizing,\n getHooks,\n state: { columnResizing },\n } = instance\n\n const getInstance = useGetLatest(instance)\n\n flatHeaders.forEach(header => {\n const canResize = getFirstDefined(\n header.disableResizing === true ? false : undefined,\n disableResizing === true ? false : undefined,\n true\n )\n\n header.canResize = canResize\n header.width =\n columnResizing.columnWidths[header.id] ||\n header.originalWidth ||\n header.width\n header.isResizing = columnResizing.isResizingColumn === header.id\n\n if (canResize) {\n header.getResizerProps = makePropGetter(getHooks().getResizerProps, {\n instance: getInstance(),\n header,\n })\n }\n })\n}\n\nfunction useInstance(instance) {\n const { plugins, dispatch, autoResetResize = true, columns } = instance\n\n ensurePluginOrder(plugins, ['useAbsoluteLayout'], 'useResizeColumns')\n\n const getAutoResetResize = useGetLatest(autoResetResize)\n useMountedLayoutEffect(() => {\n if (getAutoResetResize()) {\n dispatch({ type: actions.resetResize })\n }\n }, [columns])\n\n const resetResizing = React.useCallback(\n () => dispatch({ type: actions.resetResize }),\n [dispatch]\n )\n\n Object.assign(instance, {\n resetResizing,\n })\n}\n\nfunction getLeafHeaders(header) {\n const leafHeaders = []\n const recurseHeader = header => {\n if (header.columns && header.columns.length) {\n header.columns.map(recurseHeader)\n }\n leafHeaders.push(header)\n }\n recurseHeader(header)\n return leafHeaders\n}\n","const cellStyles = {\n position: 'absolute',\n top: 0,\n}\n\nexport const useAbsoluteLayout = hooks => {\n hooks.getTableBodyProps.push(getRowStyles)\n hooks.getRowProps.push(getRowStyles)\n hooks.getHeaderGroupProps.push(getRowStyles)\n hooks.getFooterGroupProps.push(getRowStyles)\n\n hooks.getHeaderProps.push((props, { column }) => [\n props,\n {\n style: {\n ...cellStyles,\n left: `${column.totalLeft}px`,\n width: `${column.totalWidth}px`,\n },\n },\n ])\n\n hooks.getCellProps.push((props, { cell }) => [\n props,\n {\n style: {\n ...cellStyles,\n left: `${cell.column.totalLeft}px`,\n width: `${cell.column.totalWidth}px`,\n },\n },\n ])\n\n hooks.getFooterProps.push((props, { column }) => [\n props,\n {\n style: {\n ...cellStyles,\n left: `${column.totalLeft}px`,\n width: `${column.totalWidth}px`,\n },\n },\n ])\n}\n\nuseAbsoluteLayout.pluginName = 'useAbsoluteLayout'\n\nconst getRowStyles = (props, { instance }) => [\n props,\n {\n style: {\n position: 'relative',\n width: `${instance.totalColumnsWidth}px`,\n },\n },\n]\n","const cellStyles = {\n display: 'inline-block',\n boxSizing: 'border-box',\n}\n\nconst getRowStyles = (props, { instance }) => [\n props,\n {\n style: {\n display: 'flex',\n width: `${instance.totalColumnsWidth}px`,\n },\n },\n]\n\nexport const useBlockLayout = hooks => {\n hooks.getRowProps.push(getRowStyles)\n hooks.getHeaderGroupProps.push(getRowStyles)\n hooks.getFooterGroupProps.push(getRowStyles)\n\n hooks.getHeaderProps.push((props, { column }) => [\n props,\n {\n style: {\n ...cellStyles,\n width: `${column.totalWidth}px`,\n },\n },\n ])\n\n hooks.getCellProps.push((props, { cell }) => [\n props,\n {\n style: {\n ...cellStyles,\n width: `${cell.column.totalWidth}px`,\n },\n },\n ])\n\n hooks.getFooterProps.push((props, { column }) => [\n props,\n {\n style: {\n ...cellStyles,\n width: `${column.totalWidth}px`,\n },\n },\n ])\n}\n\nuseBlockLayout.pluginName = 'useBlockLayout'\n","export function useFlexLayout(hooks) {\n hooks.getTableProps.push(getTableProps)\n hooks.getRowProps.push(getRowStyles)\n hooks.getHeaderGroupProps.push(getRowStyles)\n hooks.getFooterGroupProps.push(getRowStyles)\n hooks.getHeaderProps.push(getHeaderProps)\n hooks.getCellProps.push(getCellProps)\n hooks.getFooterProps.push(getFooterProps)\n}\n\nuseFlexLayout.pluginName = 'useFlexLayout'\n\nconst getTableProps = (props, { instance }) => [\n props,\n {\n style: {\n minWidth: `${instance.totalColumnsMinWidth}px`,\n },\n },\n]\n\nconst getRowStyles = (props, { instance }) => [\n props,\n {\n style: {\n display: 'flex',\n flex: '1 0 auto',\n minWidth: `${instance.totalColumnsMinWidth}px`,\n },\n },\n]\n\nconst getHeaderProps = (props, { column }) => [\n props,\n {\n style: {\n boxSizing: 'border-box',\n flex: column.totalFlexWidth\n ? `${column.totalFlexWidth} 0 auto`\n : undefined,\n minWidth: `${column.totalMinWidth}px`,\n width: `${column.totalWidth}px`,\n },\n },\n]\n\nconst getCellProps = (props, { cell }) => [\n props,\n {\n style: {\n boxSizing: 'border-box',\n flex: `${cell.column.totalFlexWidth} 0 auto`,\n minWidth: `${cell.column.totalMinWidth}px`,\n width: `${cell.column.totalWidth}px`,\n },\n },\n]\n\nconst getFooterProps = (props, { column }) => [\n props,\n {\n style: {\n boxSizing: 'border-box',\n flex: column.totalFlexWidth\n ? `${column.totalFlexWidth} 0 auto`\n : undefined,\n minWidth: `${column.totalMinWidth}px`,\n width: `${column.totalWidth}px`,\n },\n },\n]\n","export function useGridLayout(hooks) {\n hooks.stateReducers.push(reducer)\n hooks.getTableProps.push(getTableProps)\n hooks.getHeaderProps.push(getHeaderProps)\n}\n\nuseGridLayout.pluginName = 'useGridLayout'\n\nconst getTableProps = (props, { instance }) => [\n props,\n {\n style: {\n display: `grid`,\n gridTemplateColumns: instance.state.gridLayout.columnWidths.map(w => w).join(` `),\n },\n },\n]\n\nconst getHeaderProps = (props, { column }) => [\n props,\n {\n id: `header-cell-${column.id}`,\n style: {\n position: `sticky` //enables a scroll wrapper to be placed around the table and have sticky headers\n },\n },\n]\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === `init`) {\n return {\n gridLayout: {\n columnWidths: instance.columns.map(() => `auto`),\n },\n ...state,\n }\n }\n\n if (action.type === `columnStartResizing`) {\n const { columnId } = action\n const columnIndex = instance.visibleColumns.findIndex(col => col.id === columnId)\n const elWidth = getElementWidth(columnId)\n\n if (elWidth !== undefined) {\n return {\n ...state,\n gridLayout: {\n ...state.gridLayout,\n columnId,\n columnIndex,\n startingWidth: elWidth\n },\n }\n } else {\n return state\n }\n }\n\n if (action.type === `columnResizing`) {\n const {\n columnIndex,\n startingWidth,\n columnWidths,\n } = state.gridLayout\n\n const change = state.columnResizing.startX - action.clientX\n const newWidth = startingWidth - change\n const columnWidthsCopy = [...columnWidths]\n columnWidthsCopy[columnIndex] = `${newWidth}px`\n\n return {\n ...state,\n gridLayout: {\n ...state.gridLayout,\n columnWidths: columnWidthsCopy,\n },\n }\n }\n}\n\nfunction getElementWidth(columnId) {\n const width = document.getElementById(`header-cell-${columnId}`)?.offsetWidth\n\n if (width !== undefined) {\n return width\n }\n}","if (process.env.NODE_ENV === 'production') {\n module.exports = require('./dist/react-table.production.min.js')\n} else {\n module.exports = require('./dist/react-table.development.js')\n}\n","import { toInt } from \"../converters\";\nimport { Query, QueryFiles } from \"../query\";\n\nexport const TOTAL_ACTIVE_CASES_TABLE = new QueryFiles(`total-active-cases-table`);\n\nexport function convertTotalActiveCasesRow(row: any) {\n return {\n count: toInt(row.count),\n category: row.category,\n };\n}\n\nexport type TotalActiveCasesRow = ReturnType;\n\nfunction getTotalActiveCasesCsvHeader(): string[] {\n return [\n 'count',\n 'category',\n ];\n}\n\nfunction toTotalActiveCasesCsvRow(row: TotalActiveCasesRow): string[] {\n return [\n row.count,\n row.category\n ];\n}\n\nexport const TotalActiveCasesTableQuery: Query = {\n files: TOTAL_ACTIVE_CASES_TABLE,\n sqlToRow: convertTotalActiveCasesRow,\n csvHeader: getTotalActiveCasesCsvHeader(),\n toCsvRow: toTotalActiveCasesCsvRow,\n};\n","module.exports = flatten\nflatten.flatten = flatten\nflatten.unflatten = unflatten\n\nfunction isBuffer (obj) {\n return obj &&\n obj.constructor &&\n (typeof obj.constructor.isBuffer === 'function') &&\n obj.constructor.isBuffer(obj)\n}\n\nfunction keyIdentity (key) {\n return key\n}\n\nfunction flatten (target, opts) {\n opts = opts || {}\n\n const delimiter = opts.delimiter || '.'\n const maxDepth = opts.maxDepth\n const transformKey = opts.transformKey || keyIdentity\n const output = {}\n\n function step (object, prev, currentDepth) {\n currentDepth = currentDepth || 1\n Object.keys(object).forEach(function (key) {\n const value = object[key]\n const isarray = opts.safe && Array.isArray(value)\n const type = Object.prototype.toString.call(value)\n const isbuffer = isBuffer(value)\n const isobject = (\n type === '[object Object]' ||\n type === '[object Array]'\n )\n\n const newKey = prev\n ? prev + delimiter + transformKey(key)\n : transformKey(key)\n\n if (!isarray && !isbuffer && isobject && Object.keys(value).length &&\n (!opts.maxDepth || currentDepth < maxDepth)) {\n return step(value, newKey, currentDepth + 1)\n }\n\n output[newKey] = value\n })\n }\n\n step(target)\n\n return output\n}\n\nfunction unflatten (target, opts) {\n opts = opts || {}\n\n const delimiter = opts.delimiter || '.'\n const overwrite = opts.overwrite || false\n const transformKey = opts.transformKey || keyIdentity\n const result = {}\n\n const isbuffer = isBuffer(target)\n if (isbuffer || Object.prototype.toString.call(target) !== '[object Object]') {\n return target\n }\n\n // safely ensure that the key is\n // an integer.\n function getkey (key) {\n const parsedKey = Number(key)\n\n return (\n isNaN(parsedKey) ||\n key.indexOf('.') !== -1 ||\n opts.object\n ) ? key\n : parsedKey\n }\n\n function addKeys (keyPrefix, recipient, target) {\n return Object.keys(target).reduce(function (result, key) {\n result[keyPrefix + delimiter + key] = target[key]\n\n return result\n }, recipient)\n }\n\n function isEmpty (val) {\n const type = Object.prototype.toString.call(val)\n const isArray = type === '[object Array]'\n const isObject = type === '[object Object]'\n\n if (!val) {\n return true\n } else if (isArray) {\n return !val.length\n } else if (isObject) {\n return !Object.keys(val).length\n }\n }\n\n target = Object.keys(target).reduce(function (result, key) {\n const type = Object.prototype.toString.call(target[key])\n const isObject = (type === '[object Object]' || type === '[object Array]')\n if (!isObject || isEmpty(target[key])) {\n result[key] = target[key]\n return result\n } else {\n return addKeys(\n key,\n result,\n flatten(target[key], opts)\n )\n }\n }, {})\n\n Object.keys(target).forEach(function (key) {\n const split = key.split(delimiter).map(transformKey)\n let key1 = getkey(split.shift())\n let key2 = getkey(split[0])\n let recipient = result\n\n while (key2 !== undefined) {\n if (key1 === '__proto__') {\n return\n }\n\n const type = Object.prototype.toString.call(recipient[key1])\n const isobject = (\n type === '[object Object]' ||\n type === '[object Array]'\n )\n\n // do not write over falsey, non-undefined values if overwrite is false\n if (!overwrite && !isobject && typeof recipient[key1] !== 'undefined') {\n return\n }\n\n if ((overwrite && !isobject) || (!overwrite && recipient[key1] == null)) {\n recipient[key1] = (\n typeof key2 === 'number' &&\n !opts.object ? [] : {}\n )\n }\n\n recipient = recipient[key1]\n if (split.length > 0) {\n key1 = getkey(split.shift())\n key2 = getkey(split[0])\n }\n }\n\n // unflatten again for 'messy objects'\n recipient[key1] = unflatten(target[key], opts)\n })\n\n return result\n}\n","import React from \"react\";\nimport { useTable, Column } from \"react-table\";\nimport { JsonLoader } from \"../json-loader\";\nimport { TotalActiveCasesRow, TOTAL_ACTIVE_CASES_TABLE } from \"./data\";\nimport { VizFallback, VIZ_TABLE_CLASS } from \"../viz-util\";\nimport {unflatten} from \"flat\";\nimport {numberWithCommas} from \"../vega\"\n\nexport const ActiveCasesTable: React.FC<{}> = () => {\n return (\n url={TOTAL_ACTIVE_CASES_TABLE.json} fallback={}>\n {(values) => }\n \n );\n};\n\nconst ActiveCasesTableWithValues: React.FC<{values: TotalActiveCasesRow[]}> = (values) => {\n const dataTable = constructDataTable(values);\n\n type ActiveCasesDisplayRow = {id: string, totalActiveCases: string, nonPayment: string, holdover: string}\n const rowLabels = [\n 'Statewide Totals',\n ' without NYC commercial #s',\n 'Pre-Pandemic #',\n ' without NYC commercial #s',\n 'Pandemic #',\n ' without NYC commercial #s',\n 'NYC Totals',\n ' residential only #s',\n 'Pre-Pandemic #',\n ' residential only #s',\n 'Pandemic #',\n ' residential only #s',\n 'Outside NYC Totals',\n 'Pre-Pandemic #',\n 'Pandemic #'\n ]\n var data = [];\n for (var i = 0; i < rowLabels.length; i++) {\n data[i] = {\n id: rowLabels[i],\n totalActiveCases: numberWithCommas(dataTable[i][0]),\n nonPayment: numberWithCommas(dataTable[i][1]),\n holdover: numberWithCommas(dataTable[i][2])\n };\n }\n \n const columns: Column[] = [\n {\n Header: \"\",\n accessor: \"id\",\n },\n {\n Header: \"Total Active Cases\",\n accessor: 'totalActiveCases'\n },\n {\n Header: \"Non-payment\",\n accessor: \"nonPayment\",\n },\n {\n Header: \"Holdover\",\n accessor: \"holdover\",\n }\n ];\n\n const {\n getTableProps,\n getTableBodyProps,\n headerGroups,\n rows,\n prepareRow,\n } = useTable({\n columns,\n data,\n });\n return (\n \n \n {headerGroups.map(headerGroup => (\n \n {headerGroup.headers.map(column => (\n \n ))}\n \n ))}\n \n \n {rows.map((row, i) => {\n prepareRow(row);\n return (\n \n {row.cells.map(cell => {\n return (\n );\n })}\n \n );\n })}\n \n
{column.render(\"Header\")}
\n {cell.render(\"Cell\")}\n
\n )\n};\n\n\nfunction constructDataTable(values: React.PropsWithChildren<{\n values: TotalActiveCasesRow[];\n}>) {\n var activeCasesMap = Object.fromEntries(new Map(values.values.map(key => [key.category, key.count] as [string, number])));\n var activeCasesDeepObject: any = unflatten(activeCasesMap);\n\n const easyAccessMap = {\n 'outside-pandemic-all': activeCasesDeepObject['Outside NYC']['Issued Pandemic']['All'],\n 'outside-prepandemic-all': activeCasesDeepObject['Outside NYC']['Issued Prepandemic']['All'],\n 'nyc-pandemic-residential': activeCasesDeepObject['NYC']['Issued Pandemic']['Residential'], \n 'nyc-pandemic-commercial': activeCasesDeepObject['NYC']['Issued Pandemic']['Commercial'],\n 'nyc-prepandemic-residential': activeCasesDeepObject['NYC']['Issued Prepandemic']['Residential'],\n 'nyc-prepandemic-commercial': activeCasesDeepObject['NYC']['Issued Prepandemic']['Commercial'] \n }\n var table = Array.from(Array(15), () => Array(3)); // 15 rows, 3 cols\n return fillTable(table, easyAccessMap);\n}\n\nfunction fillTable(table: number[][], easyAccessMap: {[key: string]: {'Non-Payment': number, 'Holdover': number}}) {\n const total_col = 0; // total column index\n const np_col = 1; // nonpayment column\n const ho_col = 2; // holdover column\n const state_row = 0;\n const nyc_row = 6;\n const outside_row = 12;\n\n // Set most granular counts. All other cells will hold sums of these.\n table[nyc_row+2][np_col] = easyAccessMap['nyc-prepandemic-residential']['Non-Payment'] + easyAccessMap['nyc-prepandemic-commercial']['Non-Payment']\n table[nyc_row+2][ho_col] = easyAccessMap['nyc-prepandemic-residential']['Holdover'] + easyAccessMap['nyc-prepandemic-commercial']['Holdover']\n table[nyc_row+3][np_col] = easyAccessMap['nyc-prepandemic-residential']['Non-Payment']\n table[nyc_row+3][ho_col] = easyAccessMap['nyc-prepandemic-residential']['Holdover']\n table[nyc_row+4][np_col] = easyAccessMap['nyc-pandemic-residential']['Non-Payment'] + easyAccessMap['nyc-pandemic-commercial']['Non-Payment']\n table[nyc_row+4][ho_col] = easyAccessMap['nyc-pandemic-residential']['Holdover'] + easyAccessMap['nyc-pandemic-commercial']['Holdover']\n table[nyc_row+5][np_col] = easyAccessMap['nyc-pandemic-residential']['Non-Payment']\n table[nyc_row+5][ho_col] = easyAccessMap['nyc-pandemic-residential']['Holdover']\n table[outside_row+1][np_col] = easyAccessMap['outside-prepandemic-all']['Non-Payment']\n table[outside_row+1][ho_col] = easyAccessMap['outside-prepandemic-all']['Holdover']\n table[outside_row+2][np_col] = easyAccessMap['outside-pandemic-all']['Non-Payment']\n table[outside_row+2][ho_col] = easyAccessMap['outside-pandemic-all']['Holdover']\n\n for(var col=np_col; col<=ho_col; col++) {\n // Sum outside NYC vertically\n table[outside_row][col] = table[outside_row+1][col] + table[outside_row+2][col]\n // Sum NYC vertically\n table[nyc_row][col] = table[nyc_row+2][col] + table[nyc_row+4][col]\n table[nyc_row+1][col] = table[nyc_row+3][col] + table[nyc_row+5][col]\n // Sum Statewide vertically\n table[state_row+2][col] = table[nyc_row+2][col] + table[outside_row+1][col]\n table[state_row+3][col] = table[nyc_row+3][col] + table[outside_row+1][col]\n table[state_row+4][col] = table[nyc_row+4][col] + table[outside_row+2][col]\n table[state_row+5][col] = table[nyc_row+5][col] + table[outside_row+2][col]\n // Top lines vertical\n table[state_row][col] = table[state_row+2][col] + table[state_row+4][col]\n table[state_row+1][col] = table[state_row+3][col] + table[state_row+5][col]\n }\n\n // Sum outside NYC horizontally\n for(var i=outside_row; i;\n\nfunction getCsvHeader(): string[] {\n return [\n 'court_name',\n 'zipcode',\n 'filings',\n ];\n}\n\nfunction toCsvRow(row: FilingsByZipOutsideNYCRow): string[] {\n return [\n row.court_name,\n row.zipcode,\n row.filings.toString(),\n ];\n}\n\nexport const FilingsByZipOutsideNYCQuery: Query = {\n files: FILINGS_BY_ZIP_OUTSIDE_NYC_TABLE,\n sqlToRow: convertFilingsByZipOutsideNYCRow,\n csvHeader: getCsvHeader(),\n toCsvRow: toCsvRow,\n};\n","import React from \"react\";\nimport { useTable, Column, useGroupBy, useExpanded, CellProps} from \"react-table\";\nimport { FilingsByZipOutsideNYCRow, FILINGS_BY_ZIP_OUTSIDE_NYC_TABLE } from \"./data\";\nimport { VizFallback, VIZ_TABLE_CLASS } from \"../viz-util\";\nimport { JsonLoader } from \"../json-loader\";\nimport {numberWithCommas} from \"../vega\";\n\nexport const FilingsByZipOutsideNYCTable: React.FC<{}> = () => {\n return <>\n Note: Zip codes may appear in multiple courts.\n url={FILINGS_BY_ZIP_OUTSIDE_NYC_TABLE.json} fallback={}>\n {(values) => }\n \n ;\n}\n\ntype FilingsByZipOutsideNYCDisplayRow = {court_name: string, zipcode: string, filings: number};\n\ninterface Props {\n columns: Array>;\n data: Array;\n}\n\nconst Table: React.FC = ({ columns, data }) => {\n const {\n getTableProps,\n getTableBodyProps,\n headerGroups,\n rows,\n prepareRow,\n } = useTable(\n {\n columns,\n data,\n initialState: {groupBy: ['court']},\n },\n useGroupBy,\n useExpanded\n );\n return (\n \n \n {headerGroups.map(headerGroup => (\n \n {headerGroup.headers.map(column => (\n \n ))}\n \n ))}\n \n \n {rows.map((row, i) => {\n prepareRow(row);\n return (\n \n {row.cells.map(cell => {\n return (\n );\n })\n }\n \n );\n })}\n \n
\n {column.id == 'court' ? (\n \n {column.isGrouped ? '➡️ ' : '⬇️ '}\n \n ) : null}\n {column.render(\"Header\")}\n
\n {cell.isGrouped ? (\n <>\n \n {row.isExpanded ? '⬇️' : '➡️'}\n {' '}\n {cell.render('Cell')} ({row.subRows.length})\n \n ) : cell.isAggregated ? (\n cell.render('Aggregated')\n ) : cell.isPlaceholder ? null : (\n cell.render('Cell')\n )}\n
\n )\n}\n\nfunction makeColumns(): Column[] {\n const cols: Column[] =\n React.useMemo(\n () =>\n [\n {\n Header: \"Court\",\n accessor: \"court_name\" as keyof FilingsByZipOutsideNYCDisplayRow,\n id: \"court\",\n },\n {\n Header: \"Zipcode\",\n accessor: \"zipcode\" as keyof FilingsByZipOutsideNYCDisplayRow,\n aggregate: \"count\",\n Aggregated: ({value}: CellProps) => `${value} zip codes`,\n },\n {\n Header: \"Total cases filed since March 23, 2020\",\n accessor: \"filings\" as keyof FilingsByZipOutsideNYCDisplayRow,\n aggregate: \"sum\",\n Aggregated: ({value}: CellProps) => `${numberWithCommas(value)}`,\n },\n ], []);\n return cols;\n}\n\nconst FilingsByZipOutsideNYCTableWithValues: React.FC<{values: FilingsByZipOutsideNYCRow[]}> = (values) => {\n var data = values.values;\n const columns = makeColumns();\n return ();\n}","\nimport { Query, QueryFiles } from \"../query\";\n\nexport const MONTHLY_FILINGS_BY_ZIP = new QueryFiles(`monthly-filings-table-by-zip`);\n\nexport function convertMonthlyFilingsByZipRow(row: any) {\n return {\n zipcode: row.zipcode,\n region: row.region,\n borough: row.borough,\n two_months_ago: row.two_months_ago,\n three_months_ago: row.three_months_ago,\n num_increase: row.num_increase,\n percent_increase: row.percent_increase,\n };\n}\n\nexport type MonthlyFilingsByZipRow = ReturnType;\n\nfunction getMonthlyFilingsByZipCsvHeader(): string[] {\n return [\n 'zipcode',\n 'region',\n 'borough',\n 'two_months_ago',\n 'three_months_ago',\n 'num_increase',\n 'percent_increase'\n ];\n}\n\nfunction toMonthlyFilingsByZipCsvRow(row: MonthlyFilingsByZipRow): string[] {\n return [\n row.zipcode,\n row.region,\n row.borough,\n row.two_months_ago,\n row.three_months_ago,\n row.num_increase,\n row.percent_increase,\n ];\n}\n\nexport const MonthlyFilingsByZipTableQuery: Query = {\n files: MONTHLY_FILINGS_BY_ZIP,\n sqlToRow: convertMonthlyFilingsByZipRow,\n csvHeader: getMonthlyFilingsByZipCsvHeader(),\n toCsvRow: toMonthlyFilingsByZipCsvRow,\n};","\nimport React from \"react\";\nimport { useTable, Column, CellProps} from \"react-table\";\nimport { MonthlyFilingsByZipRow, MONTHLY_FILINGS_BY_ZIP } from \"./data\";\nimport { VizFallback, VIZ_TABLE_CLASS } from \"../viz-util\";\nimport { JsonLoader } from \"../json-loader\";\nimport {numberWithCommas} from \"../vega\";\n\nexport const MonthlyFilingsTableByZip: React.FC<{}> = () => {\n return <>\n Note: Filings from past 5-6 weeks may be artificially low due to reporting lags.\n url={MONTHLY_FILINGS_BY_ZIP.json} fallback={}>\n {(values) => }\n \n ;\n}\n\ntype MonthlyFilingsByZipDisplayRow = {\n zipcode: string,\n region: string,\n borough: string,\n two_months_ago: number,\n three_months_ago: number,\n num_increase: number,\n percent_increase: number\n};\n\ninterface Props {\n columns: Array>;\n data: Array;\n}\n\nconst Table: React.FC = ({ columns, data }) => {\n const {\n getTableProps,\n getTableBodyProps,\n headerGroups,\n rows,\n prepareRow,\n } = useTable(\n {\n columns,\n data,\n }\n );\n return (\n
\n \n {headerGroups.map(headerGroup => (\n \n {headerGroup.headers.map(column => (\n \n ))}\n \n ))}\n \n \n {rows.map((row, i) => {\n prepareRow(row);\n return (\n \n {row.cells.map(cell => {\n return (\n );\n })\n }\n \n );\n })}\n \n
\n {column.render(\"Header\")}\n
\n {cell.isPlaceholder ? null : (\n cell.render('Cell')\n )}\n
\n )\n}\n\nfunction makeColumns(): Column[] {\n const cols: Column[] =\n React.useMemo(\n () =>\n [\n {\n Header: \"Zipcode\",\n accessor: \"zipcode\" as keyof MonthlyFilingsByZipDisplayRow,\n },\n {\n Header: \"Borough\",\n accessor: \"borough\" as keyof MonthlyFilingsByZipDisplayRow,\n },\n {\n Header: \"3 months ago\",\n accessor: \"three_months_ago\" as keyof MonthlyFilingsByZipDisplayRow,\n },\n {\n Header: \"2 months ago\",\n accessor: \"two_months_ago\" as keyof MonthlyFilingsByZipDisplayRow,\n },\n {\n Header: \"# Increase\",\n accessor: \"num_increase\" as keyof MonthlyFilingsByZipDisplayRow,\n },\n {\n Header: \"% Increase\",\n accessor: \"percent_increase\" as keyof MonthlyFilingsByZipDisplayRow,\n Cell: ({value}: CellProps) => `${numberWithCommas(value)}%`\n },\n ], []);\n return cols;\n}\n\n\nconst MonthlyFilingsByZipWithValues: React.FC<{values: MonthlyFilingsByZipRow[]}> = (values) => {\n var data = values.values;\n const columns = makeColumns();\n return ();\n}","import { Query, QueryFiles } from \"../query\";\n\nexport const MONTHLY_FILINGS_CITYWIDE = new QueryFiles(`monthly-filings-table-citywide`);\n\nexport function convertMonthlyFilingsCitywideRow(row: any) {\n return {\n borough: row.borough,\n region: row.region,\n two_months_ago: row.two_months_ago,\n three_months_ago: row.three_months_ago,\n num_increase: row.num_increase,\n percent_increase: row.percent_increase,\n };\n}\n\nexport type MonthlyFilingsCitywideRow = ReturnType;\n\nfunction getMonthlyFilingsCitywideCsvHeader(): string[] {\n return [\n 'borough',\n 'region',\n 'two_months_ago',\n 'three_months_ago',\n 'num_increase',\n 'percent_increase'\n ];\n}\n\nfunction toMonthlyFilingsCitywideCsvRow(row: MonthlyFilingsCitywideRow): string[] {\n return [\n row.borough,\n row.region,\n row.two_months_ago,\n row.three_months_ago,\n row.num_increase,\n row.percent_increase,\n ];\n}\n\n\nexport const MonthlyFilingsCitywideTableQuery: Query = {\n files: MONTHLY_FILINGS_CITYWIDE,\n sqlToRow: convertMonthlyFilingsCitywideRow,\n csvHeader: getMonthlyFilingsCitywideCsvHeader(),\n toCsvRow: toMonthlyFilingsCitywideCsvRow,\n};","\nimport React from \"react\";\nimport { useTable, Column, useGroupBy, useExpanded, CellProps} from \"react-table\";\nimport { MonthlyFilingsCitywideRow, MONTHLY_FILINGS_CITYWIDE } from \"./data\";\nimport { VizFallback, VIZ_TABLE_CLASS } from \"../viz-util\";\nimport { JsonLoader } from \"../json-loader\"\nimport {numberWithCommas} from \"../vega\";\nimport { toInt } from \"../converters\";\n\nexport const MonthlyFilingsTableCitywide: React.FC<{}> = () => {\n return <>\n Note: Filings from past 5-6 weeks may be artificially low due to reporting lags.\n url={MONTHLY_FILINGS_CITYWIDE.json} fallback={}>\n {(values) => }\n \n ;\n}\n\ntype MonthlyFilingsCitywideDisplayRow = {\n borough: string,\n region: string,\n two_months_ago: number,\n three_months_ago: number,\n num_increase: number,\n percent_increase: number\n};\n\ninterface Props {\n columns: Array>;\n data: Array;\n}\n\nconst Table: React.FC = ({ columns, data }) => {\n const {\n getTableProps,\n getTableBodyProps,\n headerGroups,\n rows,\n prepareRow,\n } = useTable(\n {\n columns,\n data,\n initialState: {groupBy: ['region']},\n },\n useGroupBy,\n useExpanded\n );\n return (\n
\n \n {headerGroups.map(headerGroup => (\n \n {headerGroup.headers.map(column => (\n \n ))}\n \n ))}\n \n \n {rows.map((row, i) => {\n prepareRow(row);\n return (\n \n {row.cells.map(cell => {\n return (\n );\n })\n }\n \n );\n })}\n \n
\n {column.id == 'court' ? (\n \n {column.isGrouped ? '➡️ ' : '⬇️ '}\n \n ) : null}\n {column.render(\"Header\")}\n
\n {cell.isGrouped ? (\n <>\n \n {row.isExpanded ? '⬇️' : '➡️'}\n {' '}\n {cell.render('Cell')} ({row.subRows.length})\n \n ) : cell.isAggregated ? (\n cell.render('Aggregated')\n ) : cell.isPlaceholder ? null : (\n cell.render('Cell')\n )}\n
\n )\n}\n\nfunction makeColumns(): Column[] {\n const cols: Column[] =\n React.useMemo(\n () =>\n [\n {\n Header: \"Region\",\n accessor: \"region\" as keyof MonthlyFilingsCitywideDisplayRow,\n id: \"region\",\n },\n {\n Header: \"Borough\",\n accessor: \"borough\" as keyof MonthlyFilingsCitywideDisplayRow,\n aggregate: \"count\",\n Aggregated: ({value}: CellProps) => `${value} boroughs`,\n },\n {\n Header: \"3 months ago\",\n accessor: \"three_months_ago\" as keyof MonthlyFilingsCitywideDisplayRow,\n // \"sum\" doesn't handle negative values properly: https://github.com/tannerlinsley/react-table/issues/3273\n aggregate: (leafValues) => leafValues.reduce((value, next) => parseInt(value) + parseInt(next)),\n Aggregated: ({value}: CellProps) => `${numberWithCommas(value)}`,\n Cell: ({value}: CellProps) => value\n },\n {\n Header: \"2 months ago\",\n accessor: \"two_months_ago\" as keyof MonthlyFilingsCitywideDisplayRow,\n // \"sum\" doesn't handle negative values properly: https://github.com/tannerlinsley/react-table/issues/3273\n aggregate: (leafValues) => leafValues.reduce((value, next) => parseInt(value) + parseInt(next)),\n Aggregated: ({value}: CellProps) => `${numberWithCommas(value)}`,\n Cell: ({value}: CellProps) => value\n },\n {\n Header: \"# Increase\",\n accessor: \"num_increase\" as keyof MonthlyFilingsCitywideDisplayRow,\n // \"sum\" doesn't handle negative values properly: https://github.com/tannerlinsley/react-table/issues/3273\n aggregate: (leafValues) => leafValues.reduce((value, next) => parseInt(value) + parseInt(next)),\n Aggregated: ({value}: CellProps) => `${numberWithCommas(value)}`,\n Cell: ({value}: CellProps) => value\n },\n {\n Header: \"% Increase\",\n accessor: \"percent_increase\" as keyof MonthlyFilingsCitywideDisplayRow,\n aggregate: (leafValues: string[]) => calculate_percentage_increase(leafValues),\n aggregateValue: (_value: CellProps, { original }: CellProps) => `${original.two_months_ago}-${original.three_months_ago}`,\n Aggregated: ({value}: CellProps) => `${value}%`,\n Cell: ({value}: CellProps): string => `${numberWithCommas(value)}%`\n },\n ], []);\n return cols;\n}\n\n/**\n * leafValues looks like:\n * ['123-455', '467-234']\n*/\nfunction calculate_percentage_increase(leafValues: string[]) {\n var two_months_ago_sum = 0;\n var three_months_ago_sum = 0;\n for (let idx in leafValues){\n let spl = leafValues[idx].split('-');\n two_months_ago_sum += parseInt(spl[0]);\n three_months_ago_sum += parseInt(spl[1]);\n }\n\n return Math.round((two_months_ago_sum - three_months_ago_sum) / three_months_ago_sum * 100);\n}\n\nconst MonthlyFilingsCitywideWithValues: React.FC<{values: MonthlyFilingsCitywideRow[]}> = (values) => {\n var data = values.values;\n const columns = makeColumns();\n return ();\n}","import React, { useState, useEffect } from 'react';\nimport type {\n CSSProperties,\n FocusEvent,\n KeyboardEvent,\n MouseEvent,\n ReactNode,\n} from 'react';\nimport extendData from './extendData';\nimport renderLabels from './renderLabels';\nimport renderSegments from './renderSegments';\nimport type { Data, EventHandler, LabelRenderFunction } from '../commonTypes';\n\ntype Props = {\n animate?: boolean;\n animationDuration?: number;\n animationEasing?: string;\n background?: string;\n center?: [number, number];\n children?: ReactNode;\n className?: string;\n data: Data;\n lengthAngle?: number;\n lineWidth?: number;\n label?: LabelRenderFunction;\n labelPosition?: number;\n labelStyle?:\n | CSSProperties\n | ((dataIndex: number) => CSSProperties | undefined);\n onBlur?: EventHandler;\n onClick?: EventHandler;\n onFocus?: EventHandler;\n onKeyDown?: EventHandler;\n onMouseOut?: EventHandler;\n onMouseOver?: EventHandler;\n paddingAngle?: number;\n radius?: number;\n reveal?: number;\n rounded?: boolean;\n segmentsShift?: number | ((dataIndex: number) => number | undefined);\n segmentsStyle?:\n | CSSProperties\n | ((dataIndex: number) => CSSProperties | undefined);\n segmentsTabIndex?: number;\n startAngle?: number;\n style?: CSSProperties;\n totalValue?: number;\n viewBoxSize?: [number, number];\n};\n\nconst defaultProps = {\n animationDuration: 500,\n animationEasing: 'ease-out',\n center: [50, 50] as [number, number],\n data: [] as Data,\n labelPosition: 50,\n lengthAngle: 360,\n lineWidth: 100,\n paddingAngle: 0,\n radius: 50,\n startAngle: 0,\n viewBoxSize: [100, 100] as [number, number],\n};\n\nexport type PropsWithDefaults = Props & typeof defaultProps;\n\nexport function ReactMinimalPieChart(props: PropsWithDefaults) {\n const [revealOverride, setRevealOverride] = useState(\n props.animate ? 0 : null\n );\n useEffect(() => {\n if (props.animate) {\n return startInitialAnimation();\n }\n\n function startInitialAnimation() {\n let animationTimerId: NodeJS.Timeout | null;\n let animationRAFId: number | null;\n animationTimerId = setTimeout(() => {\n animationTimerId = null;\n animationRAFId = requestAnimationFrame(() => {\n animationRAFId = null;\n setRevealOverride(null); // Start animation\n });\n });\n\n return () => {\n animationTimerId && clearTimeout(animationTimerId);\n animationRAFId && cancelAnimationFrame(animationRAFId);\n };\n }\n }, []);\n\n const extendedData = extendData(props);\n return (\n \n {renderSegments(extendedData, props, revealOverride)}\n {props.label && renderLabels(extendedData, props)}\n {props.children}\n \n );\n}\n\nReactMinimalPieChart.defaultProps = defaultProps;\n","export function degreesToRadians(degrees: number) {\n return (degrees * Math.PI) / 180;\n}\n\nexport function valueBetween(value: number, min: number, max: number) {\n if (value > max) return max;\n if (value < min) return min;\n return value;\n}\n\nexport function extractPercentage(value: number, percentage: number) {\n return (percentage / 100) * value;\n}\n\nexport function bisectorAngle(startAngle: number, lengthAngle: number) {\n return startAngle + lengthAngle / 2;\n}\n\nexport function shiftVectorAlongAngle(angle: number, distance: number) {\n const angleRadians = degreesToRadians(angle);\n return {\n dx: distance * Math.cos(angleRadians),\n dy: distance * Math.sin(angleRadians),\n };\n}\n\nexport function isNumber(value: unknown): value is number {\n return typeof value === 'number';\n}\n\nexport function functionProp(\n prop: Prop,\n payload?: Payload\n): Prop extends (...args: any) => any ? ReturnType : Prop {\n return typeof prop === 'function' ? prop(payload) : prop;\n}\n","import React from 'react';\nimport type { CSSProperties, SVGProps } from 'react';\nimport type { ExtendedDataEntry } from './commonTypes';\n\nexport type LabelRenderProps = {\n x: number;\n y: number;\n dx: number;\n dy: number;\n textAnchor: string;\n dataEntry: ExtendedDataEntry;\n dataIndex: number;\n style?: CSSProperties;\n};\n\ntype Props = SVGProps & LabelRenderProps;\n\nexport default function ReactMinimalPieChartLabel({\n dataEntry,\n dataIndex,\n ...props\n}: Props) {\n return ;\n}\n","import React from 'react';\nimport DefaultLabel from '../Label';\nimport {\n bisectorAngle,\n extractPercentage,\n functionProp,\n shiftVectorAlongAngle,\n} from '../utils';\nimport type { PropsWithDefaults as ChartProps } from './Chart';\nimport type { LabelRenderProps } from '../Label';\nimport type { ExtendedData, LabelRenderFunction } from '../commonTypes';\n\nfunction round(number: number): number {\n const divisor = 1e14; // 14 decimals\n return Math.round((number + Number.EPSILON) * divisor) / divisor;\n}\n\nfunction evaluateTextAnchorPosition({\n labelPosition,\n lineWidth,\n labelHorizontalShift,\n}: {\n labelPosition: number;\n lineWidth: number;\n labelHorizontalShift: number;\n}) {\n const dx = round(labelHorizontalShift);\n // Label in the vertical center\n if (dx === 0) {\n return 'middle';\n }\n // Outward label\n if (labelPosition > 100) {\n return dx > 0 ? 'start' : 'end';\n }\n // Inward label\n const innerRadius = 100 - lineWidth;\n if (labelPosition < innerRadius) {\n return dx > 0 ? 'end' : 'start';\n }\n // Overlying label\n return 'middle';\n}\n\nfunction renderLabelElement(\n renderLabel: LabelRenderFunction,\n labelProps: LabelRenderProps\n): JSX.Element | null {\n const label = renderLabel(labelProps);\n if (typeof label === 'string' || typeof label === 'number') {\n return (\n \n {label}\n \n );\n }\n\n if (React.isValidElement(label)) {\n return label;\n }\n return null;\n}\n\nexport default function renderLabels(data: ExtendedData, props: ChartProps) {\n return data.map((dataEntry, index) => {\n const segmentsShift = functionProp(props.segmentsShift, index) ?? 0;\n const distanceFromCenter =\n extractPercentage(props.radius, props.labelPosition) + segmentsShift;\n const { dx, dy } = shiftVectorAlongAngle(\n bisectorAngle(dataEntry.startAngle, dataEntry.degrees),\n distanceFromCenter\n );\n\n // This object is passed as argument to the \"label\" function prop\n const labelRenderProps = {\n x: props.center[0],\n y: props.center[1],\n dx,\n dy,\n textAnchor: evaluateTextAnchorPosition({\n labelPosition: props.labelPosition,\n lineWidth: props.lineWidth,\n labelHorizontalShift: dx,\n }),\n dataEntry,\n dataIndex: index,\n style: functionProp(props.labelStyle, index),\n };\n\n return props.label && renderLabelElement(props.label, labelRenderProps);\n });\n}\n","'use strict'\n\n// from http://stackoverflow.com/a/18473154\nconst partialCircle = (cx, cy, r, start, end) => {\n\tconst length = end - start\n\tif (length === 0) return []\n\n\tconst fromX = r * Math.cos(start) + cx\n\tconst fromY = r * Math.sin(start) + cy\n\tconst toX = r * Math.cos(end) + cx\n\tconst toY = r * Math.sin(end) + cy\n\tconst large = Math.abs(length) <= Math.PI ? '0' : '1'\n\tconst sweep = length < 0 ? '0' : '1'\n\n\treturn [\n\t\t['M', fromX, fromY],\n\t\t['A', r, r, 0, large, sweep, toX, toY]\n\t]\n}\n\nmodule.exports = partialCircle\n","import React from 'react';\nimport type { SVGProps } from 'react';\nimport partialCircle from 'svg-partial-circle';\nimport {\n bisectorAngle,\n degreesToRadians,\n extractPercentage,\n isNumber,\n shiftVectorAlongAngle,\n valueBetween,\n} from './utils';\n\nexport function makePathCommands(\n cx: number,\n cy: number,\n startAngle: number,\n lengthAngle: number,\n radius: number\n): string {\n const patchedLengthAngle = valueBetween(lengthAngle, -359.999, 359.999);\n\n return partialCircle(\n cx,\n cy, // center X and Y\n radius,\n degreesToRadians(startAngle),\n degreesToRadians(startAngle + patchedLengthAngle)\n )\n .map((command) => command.join(' '))\n .join(' ');\n}\n\ntype Props = SVGProps & {\n cx: number;\n cy: number;\n lengthAngle: number;\n lineWidth: number;\n radius: number;\n reveal?: number;\n rounded?: boolean;\n shift?: number;\n startAngle: number;\n title?: string | number;\n};\n\nexport default function ReactMinimalPieChartPath({\n cx,\n cy,\n lengthAngle,\n lineWidth,\n radius,\n shift = 0,\n reveal,\n rounded,\n startAngle,\n title,\n ...props\n}: Props) {\n const pathRadius = radius - lineWidth / 2;\n //@NOTE This shift might be rendered as a translation in future\n const { dx, dy } = shiftVectorAlongAngle(\n bisectorAngle(startAngle, lengthAngle),\n shift\n );\n\n const pathCommands = makePathCommands(\n cx + dx,\n cy + dy,\n startAngle,\n lengthAngle,\n pathRadius\n );\n let strokeDasharray;\n let strokeDashoffset;\n\n // Animate/hide paths with \"stroke-dasharray\" + \"stroke-dashoffset\"\n // https://css-tricks.com/svg-line-animation-works/\n if (isNumber(reveal)) {\n const pathLength = degreesToRadians(pathRadius) * lengthAngle;\n strokeDasharray = Math.abs(pathLength);\n strokeDashoffset =\n strokeDasharray - extractPercentage(strokeDasharray, reveal);\n }\n\n return (\n \n {title && {title}}\n \n );\n}\n","import React from 'react';\nimport type { CSSProperties } from 'react';\nimport Path from '../Path';\nimport { extractPercentage, functionProp, isNumber } from '../utils';\nimport type { ExtendedData } from '../commonTypes';\nimport type { PropsWithDefaults as ChartProps } from './Chart';\n\nfunction combineSegmentTransitionsStyle(\n duration: number,\n easing: string,\n customStyle?: CSSProperties\n): { transition: string } {\n // Merge chart's animation CSS transition with \"transition\" found to customStyle\n let transition = `stroke-dashoffset ${duration}ms ${easing}`;\n if (customStyle && customStyle.transition) {\n transition = `${transition},${customStyle.transition}`;\n }\n return {\n transition,\n };\n}\n\nfunction getRevealValue(props: { reveal?: Reveal; animate?: boolean }) {\n //@NOTE When animation is on, chart has to be fully revealed when reveal is not set\n if (props.animate && !isNumber(props.reveal)) {\n return 100;\n }\n return props.reveal;\n}\n\nfunction makeEventHandler(\n eventHandler: undefined | (EventHandler & Function),\n payload: Payload\n) {\n return (\n eventHandler &&\n ((e: Event) => {\n eventHandler(e, payload);\n })\n );\n}\n\nexport default function renderSegments(\n data: ExtendedData,\n props: ChartProps,\n revealOverride?: null | number\n) {\n // @NOTE this should go in Path component. Here for performance reasons\n const reveal = revealOverride ?? getRevealValue(props);\n const {\n radius,\n center: [cx, cy],\n } = props;\n const lineWidth = extractPercentage(radius, props.lineWidth);\n const paths = data.map((dataEntry, index) => {\n const segmentsStyle = functionProp(props.segmentsStyle, index);\n return (\n \n );\n });\n\n if (props.background) {\n paths.unshift(\n \n );\n }\n\n return paths;\n}\n","import { extractPercentage, valueBetween } from '../utils';\nimport type { Data, ExtendedData } from '../commonTypes';\nimport type { PropsWithDefaults as ChartProps } from './Chart';\n\nfunction sumValues(data: Data): number {\n let sum = 0;\n for (let i = 0; i < data.length; i++) {\n sum += data[i].value;\n }\n return sum;\n}\n\n// Append \"percentage\", \"degrees\" and \"startAngle\" to each data entry\nexport default function extendData({\n data,\n lengthAngle: totalAngle,\n totalValue,\n paddingAngle,\n startAngle: chartStartAngle,\n}: ChartProps): ExtendedData {\n const total = totalValue || sumValues(data);\n const normalizedTotalAngle = valueBetween(totalAngle, -360, 360);\n const numberOfPaddings =\n Math.abs(normalizedTotalAngle) === 360 ? data.length : data.length - 1;\n const singlePaddingDegrees = Math.abs(paddingAngle) * Math.sign(totalAngle);\n const degreesTakenByPadding = singlePaddingDegrees * numberOfPaddings;\n const degreesTakenByPaths = normalizedTotalAngle - degreesTakenByPadding;\n let lastSegmentEnd = 0;\n const extendedData = [];\n\n // @NOTE: Shall we evaluate percentage accordingly to dataEntry.value's sign?\n for (let i = 0; i < data.length; i++) {\n const dataEntry = data[i];\n const valueInPercentage = total === 0 ? 0 : (dataEntry.value / total) * 100;\n const degrees = extractPercentage(degreesTakenByPaths, valueInPercentage);\n const startAngle = lastSegmentEnd + chartStartAngle;\n lastSegmentEnd = lastSegmentEnd + degrees + singlePaddingDegrees;\n extendedData.push(\n Object.assign(\n {\n percentage: valueInPercentage,\n startAngle,\n degrees,\n },\n dataEntry\n )\n );\n }\n return extendedData;\n}\n","import { toInt } from \"../converters\";\nimport { Query, QueryFiles } from \"../query\";\n\nexport const BOROUGH_PIE_CHART_ACTIVE_CASES = new QueryFiles(`borough-pie-chart-active-cases`);\n\nexport function convertBoroughPieChartActiveCasesRow(row: any) {\n return {\n count: toInt(row.count),\n borough: row.borough,\n timeBucket: row.timebucket\n };\n}\n\nexport type BoroughPieChartActiveCasesRow = ReturnType;\n\nfunction getBoroughPieChartActiveCasesCsvHeader(): string[] {\n return [\n 'count',\n 'borough',\n 'timeBucket'\n ];\n}\n\nfunction toBoroughPieChartActiveCasesCsvRow(row: BoroughPieChartActiveCasesRow): string[] {\n return [\n row.count,\n row.borough,\n row.timeBucket\n ];\n}\n\nexport const BoroughPieChartActiveCasesQuery: Query = {\n files: BOROUGH_PIE_CHART_ACTIVE_CASES,\n sqlToRow: convertBoroughPieChartActiveCasesRow,\n csvHeader: getBoroughPieChartActiveCasesCsvHeader(),\n toCsvRow: toBoroughPieChartActiveCasesCsvRow,\n};\n","import React, { useState } from 'react';\nimport { PieChart } from 'react-minimal-pie-chart';\nimport { BoroughPieChartActiveCasesRow, BOROUGH_PIE_CHART_ACTIVE_CASES } from './data';\nimport { JsonLoader } from \"../json-loader\";\nimport { VizFallback, VIZ_TABLE_CLASS } from \"../viz-util\";\n\nexport const BoroughPieChartsActiveCases: React.FC<{}> = () => {\n return <>\n url={BOROUGH_PIE_CHART_ACTIVE_CASES.json} fallback={}>\n {(values) => }\n \n ;\n}\n\nconst BoroughPieChartsActiveCasesWithValues: React.FC<{values: BoroughPieChartActiveCasesRow[]}> = (values) => {\n const data = formatData(values.values);\n \n const defaultLabelStyle = {\n fontSize: '5px',\n fontFamily: 'sans-serif',\n };\n const [hovered, setHovered] = useState(undefined);\n\n function addHover(dataPoint: BoroughPieChartActiveCasesSlice, i:number) {\n if (hovered === i) {\n return {\n ...dataPoint,\n title: `${dataPoint.value} filings`,\n };\n }\n return dataPoint;\n }\n\n return (\n
\n
\n

Pre-pandemic Active Cases (NYC)

\n `${dataEntry.title}: ${Math.round(dataEntry.percentage)}%`}\n labelStyle={{\n ...defaultLabelStyle\n }}\n style={{ height: '250px' }}\n onMouseOver={(_, index) => {\n setHovered(index);\n }}\n onMouseOut={() => {\n setHovered(undefined);\n }}\n />\n
\n
\n

Pandemic Active Cases (NYC)

\n `${dataEntry.title}: ${Math.round(dataEntry.percentage)}%`}\n labelStyle={{\n ...defaultLabelStyle\n }}\n style={{ height: '250px' }}\n onMouseOver={(_, index) => {\n setHovered(index);\n }}\n onMouseOut={() => {\n setHovered(undefined);\n }}\n />\n
\n
\n );\n}\n\ntype BoroughPieChartActiveCasesSlice = {\n title: string,\n value: number,\n color: string\n};\n\nfunction formatData(data: BoroughPieChartActiveCasesRow[]): { pandemicData: BoroughPieChartActiveCasesSlice[], prePandemicData: BoroughPieChartActiveCasesSlice[]} {\n const colors: { [borough:string] : string } = {\n 'Bronx': '#B3EFFF',\n 'Brooklyn': '#00CFFF',\n 'Manhattan': '#046B99',\n 'Queens': '#4373B1',\n 'Staten Island': '#606060'\n };\n\n function compareTitles(a: BoroughPieChartActiveCasesSlice, b: BoroughPieChartActiveCasesSlice) {\n return a.title < b.title ? -1 : 0;\n }\n let rowToSection = (item:BoroughPieChartActiveCasesRow) => ({\n 'title': item.borough,\n 'value': item.count,\n 'color': colors[item.borough] \n });\n return {\n prePandemicData: data.filter(item => item.timeBucket == 'Issued Prepandemic').map(\n rowToSection\n ).sort(compareTitles), // sorting makes sure the two pie charts start with the same values\n pandemicData: data.filter(item => item.timeBucket == 'Issued Pandemic').map(\n rowToSection\n ).sort(compareTitles)\n };\n}\n\n","import React from \"react\";\nimport { useEffect, useState } from \"react\";\nimport { QueryFiles } from \"./query\";\n\nconst HDC_GITHUB = \"https://github.com/housing-data-coalition\";\n\nconst to_formatted_date = (x: string): string => {\n return new Date(x).toLocaleDateString(\"en-us\", {\n weekday: \"long\",\n year: \"numeric\",\n month: \"short\",\n day: \"numeric\",\n timeZone: \"UTC\",\n });\n};\nconst getLatestFilingDate = (): JSX.Element => {\n const [latestFilingDate, setLatestFilingDate] = useState(null);\n\n const latest_filing_date_url = new QueryFiles(`latest-filing-date`);\n\n useEffect(() => {\n fetch(latest_filing_date_url.json)\n .then((res) => res.json())\n .then((data) => {\n const date = to_formatted_date(data[0].latest_date);\n setLatestFilingDate(date);\n });\n }, [latest_filing_date_url.json]);\n\n if (latestFilingDate === null) return <>;\n\n return (\n
  • \n NYCDB is automatically updated with the latest OCA files overnight each\n Tuesday. If successfully updated, the latest filing date in the data\n should be the latest Monday. The latest filing date in NYCDB is{\" \"}\n {latestFilingDate}.\n
  • \n );\n};\n\nconst getOcaUpdateDate = (): JSX.Element => {\n const [ocaUpdateDate, setOcaUpdateDate] = useState(null);\n\n const oca_url: string =\n \"https://oca-data.s3.amazonaws.com/public/last-updated-date.txt\";\n\n useEffect(() => {\n fetch(oca_url)\n .then((res) => res.text())\n .then((data) => {\n const date = to_formatted_date(data);\n setOcaUpdateDate(date);\n });\n }, [oca_url]);\n\n if (ocaUpdateDate === null) return <>;\n\n return (\n
  • \n \n Raw data files from Office of Court Administration\n {\" \"}\n should be updated every Tuesday. These files were last updated on{\" \"}\n {`${ocaUpdateDate}`}.\n
  • \n );\n};\n\nexport const MaintenanceChecklist: React.FC<{}> = () => {\n return (\n <>\n

    Maintenance Checklist:

    \n
      \n {getOcaUpdateDate()}\n {getLatestFilingDate()}\n
    • \n Check the tracker’s{\" \"}\n \n build/deploy history\n {\" \"}\n to confirm latest build/deploy date is today and there are no recent\n unsuccessful builds.\n
    • \n
    \n \n );\n};\n","export const VIEW_WIDGET = \"widget\";\r\nexport const VIEW_CONFIGURE_WIDGET = \"config\";\r\n\r\nexport const QS_VIEW = \"view\";\r\nexport const QS_FIELD_NAME = \"fieldName\";\r\nexport const QS_HEIGHT = \"height\";\r\n\r\nexport const EVICTION_VIZ_DEFAULT_HEIGHT = 150;\r\nexport const ACTIVE_CASES_VIZ_DEFAULT_HEIGHT = 500;\r\nexport const JUDGMENTS_VIZ_DEFAULT_HEIGHT = 500;\r\n\r\nexport const REACT_APP_PASSWORD = process.env.REACT_APP_PASSWORD || \"\"","import React, { Suspense, useState } from \"react\";\nimport { EvictionTimeSeriesNumericFields, EVICTION_TIME_SERIES } from \"./lib/eviction-time-series/data\";\nimport { FILINGS_BY_ZIP } from \"./lib/filings-by-zip/data\";\nimport { QueryFiles } from \"./lib/query\";\nimport { EvictionVisualizations, EVICTION_VISUALIZATIONS } from \"./lib/eviction-time-series/viz\";\nimport { ActiveCasesVisualizations } from \"./lib/total-active-cases/viz\";\nimport { MarshalEvicsVisualizations } from \"./lib/marshal-evictions-by-week/viz\";\nimport { PctReppedVisualizations } from \"./lib/share-represented/viz\";\nimport { JudgmentsStatewideVisualizations } from \"./lib/total-judgments-statewide/viz\";\nimport { JudgmentsCitywideVisualizations } from \"./lib/total-judgments-citywide/viz\";\nimport { ActiveCasesTable } from \"./lib/total-active-cases-table/viz\";\nimport { VizFallback, VIZ_GEO_CLASS } from \"./lib/viz-util\";\nimport { FilingsByZipOutsideNYCTable } from \"./lib/filings-by-zip-table-outside-nyc/viz\";\nimport { MonthlyFilingsTableByZip } from \"./lib/monthly-filings-table-by-zip/viz\";\nimport { MonthlyFilingsTableCitywide } from \"./lib/monthly-filings-table-citywide/viz\";\nimport { BoroughPieChartsActiveCases } from \"./lib/borough-pie-chart-active-cases/viz\";\nimport { MaintenanceChecklist } from \"./lib/checklist\";\nimport {\n VIEW_CONFIGURE_WIDGET,\n EVICTION_VIZ_DEFAULT_HEIGHT,\n VIEW_WIDGET,\n QS_VIEW,\n QS_FIELD_NAME,\n QS_HEIGHT,\n ACTIVE_CASES_VIZ_DEFAULT_HEIGHT,\n JUDGMENTS_VIZ_DEFAULT_HEIGHT\n} from \"./constants\";\n\nconst ZipCodeViz = React.lazy(() => import(\"./lib/filings-by-zip/viz\"));\n\ntype OtherVisualization = \"filings_by_zip\" | \"total_active_cases\" | \"total_judgments\" | \"marshal_evictions\" | \"pct_repped\";\n\ntype WidgetVisualization = keyof EvictionTimeSeriesNumericFields | OtherVisualization;\n\nconst OTHER_VISUALIZATIONS: Map = new Map([\n [\"filings_by_zip\", \"Filings By Zip Code\"],\n [\"total_active_cases\", \"Total Active Cases\"],\n [\"total_judgments\", \"Total Eviction Judgments\"],\n [\"marshal_evictions\", \"Total Marshal Evictions\"],\n [\"pct_repped\", \"Share of Represented Tenants\"],\n]);\n\nconst DatasetDownloads: React.FC<{ files: QueryFiles, title: string }> = ({ files, title }) => (\n <>\n

    Download {title} CSV

    \n

    Download {title} JSON

    \n \n);\n\nconst LazyZipCodeViz: React.FC<{ height: number }> = ({ height }) => (\n }>\n \n \n);\n\nexport const FullDocument: React.FC<{}> = () => (\n
    \n

    New York Eviction Filings Tracker

    \n

    \n Managed by RTC Coalition's Housing Courts Must Change! Campaign
    \n Powered by the Housing Data Coalition, JustFix.nyc, and ANHD\n

    \n

    \n This website is for internal use by the Right to Counsel Coalition.\n Accuracy is not guaranteed and it should not be referenced publicly.\n If you would like to use or reference this data, please contact malika@righttocounselnyc.org.\n

    \n

    Total Active Cases

    \n \n
    \n \n
    \n

    Active Cases since 2020

    \n \n
    \n

    Marshal Evictions since Jan 15 2022

    \n \n
    \n

    Share of Represented Tenants

    \n \n
    \n

    Eviction Judgments since 3/23/2020

    \n \n \n
    \n

    Filings by zip code (NYC)

    \n \n Data sources: New York State Office of Court Administration eviction filings and PLUTO19v2 via NYCDB. By the Housing Data Coalition, JustFix.nyc, and ANHD. *Numbers of total units per zip code exclude single-unit properties to approximate the number of rental units.\n \n
    \n

    Filings by zip code (Outside NYC)

    \n \n
    \n

    Monthly filings

    \n

    By zip code

    \n \n

    Statewide

    \n \n
    \n

    Filings over time

    \n \n \n

    Configure this page as a widget

    \n

    Learn more on GitHub

    \n

    See when this site was last deployed

    \n \n
    \n);\n\nexport const Widget: React.FC<{\n fieldName: WidgetVisualization,\n height: number,\n}> = ({ fieldName, height }) => {\n if (fieldName === \"filings_by_zip\") return ;\n if (fieldName === \"total_active_cases\") return ;\n if (fieldName === \"total_judgments\") return ;\n if (fieldName === \"marshal_evictions\") return ;\n if (fieldName === \"pct_repped\") return ;\n return ;\n};\n\nexport const ConfigureWidget: React.FC<{}> = () => {\n return (\n
    \n

    New York Evictions Widget Configurator

    \n

    \n Use the following form to generate a widget. Once you submit it, grab the URL\n from the address bar and put it in an <iframe>. The widget will\n horizontally expand to fill all available space, so make sure you style your\n container as needed.\n

    \n
    \n \n

    Time series visualization:

    \n {Array.from(EVICTION_VISUALIZATIONS.entries()).map(([fieldName, title]) => (\n
    \n \n
    \n ))}\n

    Other visualization:

    \n {Array.from(OTHER_VISUALIZATIONS.entries()).map(([fieldName, title]) => (\n
    \n \n
    \n ))}\n

    \n \n \n

    \n

    \n \n

    Go back

    \n
    \n );\n};\n\nfunction isWidgetVisualization(fieldName: string): fieldName is WidgetVisualization {\n const combinedMap = new Map([\n ...EVICTION_VISUALIZATIONS.entries(),\n ...OTHER_VISUALIZATIONS.entries(),\n ]);\n return combinedMap.has(fieldName as any);\n}\n\nexport function validateFieldName(fieldName: string | null): WidgetVisualization {\n fieldName = fieldName || '';\n if (isWidgetVisualization(fieldName)) return fieldName;\n return \"total_filings\";\n}\n\nexport function validatePositiveInt(value: string | null, defaultValue: number): number {\n const num = parseInt(value || '');\n if (!isNaN(num) && num > 0) return num;\n return defaultValue;\n}","import React, { useState, useContext } from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport {\r\n Routes,\r\n Route,\r\n BrowserRouter,\r\n Navigate,\r\n useNavigate,\r\n useLocation,\r\n} from \"react-router-dom\";\r\nimport { getHTMLElement } from \"@justfixnyc/util\";\r\nimport { AuthContext, AuthProvider } from \"./auth\"\r\nimport {\r\n Widget,\r\n FullDocument,\r\n validateFieldName,\r\n validatePositiveInt,\r\n ConfigureWidget\r\n} from \"./dashboard\";\r\nimport {\r\n VIEW_CONFIGURE_WIDGET,\r\n EVICTION_VIZ_DEFAULT_HEIGHT,\r\n VIEW_WIDGET,\r\n QS_VIEW,\r\n QS_FIELD_NAME,\r\n QS_HEIGHT,\r\n REACT_APP_PASSWORD\r\n} from \"./constants\";\r\n\r\ninterface LocationState {\r\n from: {\r\n pathname: string;\r\n };\r\n}\r\n\r\nconst useAuth = () => useContext(AuthContext)\r\n\r\nfunction RequireAuth({ children }: { children: JSX.Element }) {\r\n let auth = useAuth();\r\n let location = useLocation();\r\n\r\n if (auth.isAuthenticated !== REACT_APP_PASSWORD) {\r\n return ;\r\n }\r\n\r\n return children;\r\n}\r\n\r\nconst LoginPage: React.FC<{}> = () => {\r\n let navigate = useNavigate();\r\n let location = useLocation();\r\n\r\n let auth = useAuth();\r\n let from = (location.state as LocationState)?.from?.pathname || \"/\";\r\n\r\n function handleSubmit(event: React.FormEvent) {\r\n event.preventDefault();\r\n\r\n let formData = new FormData(event.currentTarget);\r\n let password = formData.get(\"password\") as string;\r\n\r\n auth.signin(password, () => {\r\n navigate(from, { replace: true });\r\n });\r\n }\r\n\r\n return (\r\n
    \r\n

    You must log in to view the dashboard

    \r\n
    \r\n {\" \"}\r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nconst IndexPage: React.FC<{}> = () => {\r\n const search = new URLSearchParams(window.location.search);\r\n const view = search.get(QS_VIEW);\r\n return view === VIEW_WIDGET ? (\r\n \r\n ) : view === VIEW_CONFIGURE_WIDGET ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst App: React.FC<{}> = () => {\r\n const [isAuthenticated, setAuthenticated] = useState(false);\r\n\r\n return (\r\n \r\n \r\n }>\r\n }>\r\n \r\n \r\n );\r\n};\r\n\r\nasync function main() {\r\n ReactDOM.render(\r\n \r\n \r\n ,\r\n getHTMLElement(\"div\", \"#app\")\r\n );\r\n}\r\n\r\nmain();\r\n","module.exports = function loadJSBundle(bundle) {\n return new Promise(function (resolve, reject) {\n var script = document.createElement('script');\n script.async = true;\n script.type = 'text/javascript';\n script.charset = 'utf-8';\n script.src = bundle;\n script.onerror = function (e) {\n script.onerror = script.onload = null;\n reject(e);\n };\n\n script.onload = function () {\n script.onerror = script.onload = null;\n resolve();\n };\n\n document.getElementsByTagName('head')[0].appendChild(script);\n });\n};\n"]} \ No newline at end of file +{"version":3,"sources":["node_modules/object-assign/index.js","node_modules/react/cjs/react.production.min.js","node_modules/react/index.js","node_modules/scheduler/cjs/scheduler.production.min.js","node_modules/scheduler/index.js","node_modules/react-dom/cjs/react-dom.production.min.js","node_modules/react-dom/index.js","node_modules/history/node_modules/@babel/runtime/helpers/esm/extends.js","../../../packages/react-router/index.tsx","../../../packages/react-router-dom/index.tsx","get-html-element.ts","assertions.ts","index.ts","node_modules/react-use-cookie/dist/index.js","auth.tsx","lib/converters.ts","lib/query.ts","lib/eviction-time-series/data.ts","lib/filings-by-zip/data.ts","lib/json-loader.tsx","lib/viz-util.tsx","node_modules/parcel-bundler/src/builtins/bundle-url.js","node_modules/parcel-bundler/src/builtins/bundle-loader.js","lib/vega-lazy.tsx","lib/eviction-time-series/viz.tsx","lib/total-active-cases/data.ts","lib/total-active-cases/viz.tsx","lib/marshal-evictions-by-week/data.ts","lib/marshal-evictions-by-week/viz.tsx","lib/share-represented/data.ts","lib/share-represented/viz.tsx","lib/total-judgments-statewide/data.ts","lib/total-judgments-statewide/viz.tsx","lib/total-judgments-citywide/data.ts","lib/total-judgments-citywide/viz.tsx","../src/hooks/useTable.js","../src/publicUtils.js","../src/utils.js","../src/makeDefaultPluginHooks.js","../src/hooks/useColumnVisibility.js","../src/plugin-hooks/useExpanded.js","../src/filterTypes.js","../src/plugin-hooks/useFilters.js","../src/plugin-hooks/useGlobalFilter.js","../src/aggregations.js","../src/plugin-hooks/useGroupBy.js","../src/sortTypes.js","../src/plugin-hooks/useSortBy.js","../src/plugin-hooks/usePagination.js","../src/plugin-hooks/_UNSTABLE_usePivotColumns.js","../src/plugin-hooks/useRowSelect.js","../src/plugin-hooks/useRowState.js","../src/plugin-hooks/useColumnOrder.js","../src/plugin-hooks/useResizeColumns.js","../src/plugin-hooks/useAbsoluteLayout.js","../src/plugin-hooks/useBlockLayout.js","../src/plugin-hooks/useFlexLayout.js","../src/plugin-hooks/useGridLayout.js","node_modules/react-table/index.js","lib/total-active-cases-table/data.ts","node_modules/flat/index.js","lib/total-active-cases-table/viz.tsx","lib/filings-by-zip-table-outside-nyc/data.ts","lib/filings-by-zip-table-outside-nyc/viz.tsx","lib/monthly-filings-table-by-zip/data.ts","lib/monthly-filings-table-by-zip/viz.tsx","lib/monthly-filings-table-citywide/data.ts","lib/monthly-filings-table-citywide/viz.tsx","../src/Chart/Chart.tsx","../src/utils.ts","../src/Label.tsx","../src/Chart/renderLabels.tsx","../node_modules/svg-partial-circle/index.js","../src/Path.tsx","../src/Chart/renderSegments.tsx","../src/Chart/extendData.ts","lib/borough-pie-chart-active-cases/data.ts","lib/borough-pie-chart-active-cases/viz.tsx","lib/checklist.tsx","constants.ts","dashboard.tsx","main.tsx","node_modules/parcel-bundler/src/builtins/loaders/browser/js-loader.js"],"names":["getOwnPropertySymbols","Object","hasOwnProperty","prototype","propIsEnumerable","propertyIsEnumerable","toObject","val","TypeError","shouldUseNative","assign","test1","String","getOwnPropertyNames","test2","i","fromCharCode","order2","map","n","join","test3","split","forEach","letter","keys","err","module","exports","target","source","from","symbols","to","s","arguments","length","key","call","l","require","p","Fragment","StrictMode","Profiler","q","r","t","Suspense","u","v","Symbol","for","w","x","iterator","y","a","z","b","c","encodeURIComponent","A","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","B","C","props","context","refs","updater","D","E","isReactComponent","setState","Error","forceUpdate","F","constructor","isPureReactComponent","G","current","H","I","ref","__self","__source","J","e","d","k","h","g","children","f","Array","m","defaultProps","$$typeof","type","_owner","K","L","escape","replace","M","N","toString","O","isArray","push","next","done","value","P","Q","_status","_result","then","default","R","S","T","ReactCurrentDispatcher","ReactCurrentBatchConfig","transition","ReactCurrentOwner","IsSomeRendererActing","Children","apply","count","toArray","only","Component","PureComponent","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","cloneElement","createContext","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","Provider","Consumer","_context","createElement","createFactory","bind","createRef","forwardRef","render","isValidElement","lazy","_payload","_init","memo","compare","useCallback","useContext","useDebugValue","useEffect","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useRef","useState","version","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","console","error","_extends","invariant","cond","message","warning","warn","alreadyWarned","warningOnce","NavigationContext","React","LocationContext","RouteContext","outlet","matches","MemoryRouter","basename","initialEntries","initialIndex","historyRef","createMemoryHistory","history","state","action","location","listen","React.createElement","Navigate","useInRouterContext","navigate","useNavigate","Outlet","useOutlet","Route","_props","Router","basenameProp","locationProp","navigationType","NavigationType","Pop","navigator","static","staticProp","normalizePathname","navigationContext","parsePath","pathname","search","hash","trailingPathname","stripBasename","Routes","useRoutes","createRoutesFromChildren","useHref","useResolvedPath","joinedPathname","toPathname","getToPathname","endsWithSlash","endsWith","joinPaths","createHref","useLocation","useNavigationType","useMatch","pattern","matchPath","locationPathname","routePathnamesJson","JSON","stringify","match","pathnameBase","activeRef","options","go","path","resolveTo","parse","OutletContext","useOutletContext","useParams","routeMatch","params","routes","locationArg","parentMatches","parentParams","parentPathnameBase","route","locationFromContext","parsedLocationArg","startsWith","matchRoutes","slice","_renderMatches","element","caseSensitive","index","generatePath","_","branches","flattenRoutes","rankRouteBranches","matchRouteBranch","parentsMeta","parentPath","meta","relativePath","childrenIndex","routesMeta","concat","score","computeScore","sort","compareIndexes","paramRe","dynamicSegmentValue","indexRouteValue","emptySegmentValue","staticSegmentValue","splatPenalty","isSplat","segments","initialScore","some","filter","reduce","segment","test","siblings","every","branch","matchedParams","matchedPathname","end","remainingPathname","renderMatches","reduceRight","undefined","matcher","paramNames","compilePath","captureGroups","paramName","splatValue","safelyDecodeURIComponent","regexpSource","RegExp","decodeURIComponent","resolvePath","fromPathname","resolvePathname","normalizeSearch","normalizeHash","pop","toArg","routePathnames","routePathnameIndex","toSegments","shift","toLowerCase","nextChar","charAt","paths","BrowserRouter","window","createBrowserHistory","HashRouter","createHashHistory","HistoryRouter","isModifiedEvent","event","metaKey","altKey","ctrlKey","shiftKey","Link","onClick","reloadDocument","rest","href","internalOnClick","useLinkClickHandler","handleClick","defaultPrevented","NavLink","ariaCurrentProp","className","classNameProp","style","styleProp","isActive","ariaCurrent","Boolean","replaceProp","button","preventDefault","createPath","useSearchParams","defaultInit","defaultSearchParamsRef","createSearchParams","searchParams","has","getAll","append","nextInit","navigateOptions","init","URLSearchParams","defineProperty","_default","setCookie","getCookie","_react","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","name","len","arr2","_i","_arr","_s","_e","_n","_d","ownKeys","object","enumerableOnly","sym","getOwnPropertyDescriptor","enumerable","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","obj","configurable","writable","isBrowser","optionsWithDefaults","days","expires","Date","now","toUTCString","document","cookie","initialValue","parts","_useState","_useState2","item","setItem","bundleURL","getBundleURLCached","getBundleURL","stack","getBaseURL","url","loadBundlesLazy","bundles","id","Promise","resolve","code","LazyPromise","reject","loadBundles","all","loadBundle","bundleLoaders","registerBundleLoader","loader","load","register","bundle","substring","lastIndexOf","bundleLoader","resolved","catch","executor","promise","onSuccess","onError","getInstance","actions","defaultRenderer","emptyRenderer","defaultColumn","Cell","width","minWidth","maxWidth","Number","MAX_SAFE_INTEGER","mergeProps","propList","makePropGetter","hooks","userProps","prev","handlePropGetter","prevProps","reduceHooks","initial","allowUndefined","loopHooks","hook","ensurePluginOrder","plugins","befores","pluginName","afters","findIndex","plugin","before","functionalUpdate","old","useGetLatest","safeUseLayoutEffect","useMountedLayoutEffect","fn","deps","mountedRef","makeRenderer","instance","column","Comp","info","flexRender","component","proto","getPrototypeOf","includes","description","flattenColumns","columns","flattenBy","assignColumnAccessor","accessor","Header","accessorPath","row","def","cacheKey","pathObj","pathObjCache","get","flattenDeep","newArr","reOpenBracket","reCloseBracket","set","cursor","pathPart","decorateColumn","userDefaultColumn","Footer","originalWidth","Map","getFirstDefined","args","isFunction","flat","recurse","expandRows","rows","manualExpandedKey","expanded","expandSubRows","expandedRows","handleRow","addToExpandedRows","isExpanded","original","canExpand","subRows","getFilterMethod","userFilterTypes","filterTypes","text","shouldAutoRemoveFilter","autoRemove","unpreparedAccessWarning","passiveSupported","defaultGetTableProps","role","defaultGetTableBodyProps","defaultGetHeaderProps","colSpan","totalVisibleHeaderCount","defaultGetFooterProps","defaultGetHeaderGroupProps","defaultGetFooterGroupProps","defaultGetRowProps","defaultGetCellProps","cell","makeDefaultPluginHooks","useOptions","stateReducers","useControlledState","columnsDeps","allColumns","allColumnsDeps","accessValue","materializedColumns","materializedColumnsDeps","useInstanceAfterData","visibleColumns","visibleColumnsDeps","headerGroups","headerGroupsDeps","useInstanceBeforeDimensions","useInstance","prepareRow","getTableProps","getTableBodyProps","getHeaderGroupProps","getFooterGroupProps","getHeaderProps","getFooterProps","getRowProps","getCellProps","useFinalInstance","resetHiddenColumns","toggleHideColumn","setHiddenColumns","toggleHideAllColumns","useColumnVisibility","getToggleHiddenProps","defaultGetToggleHiddenProps","getToggleHideAllColumnsProps","defaultGetToggleHideAllColumnsProps","reducer","hiddenColumns","onChange","toggleHidden","checked","isVisible","title","allColumnsHidden","indeterminate","previousState","initialState","columnId","headers","subHeader","handleColumn","parentVisible","subColumn","flatHeaders","dispatch","getHooks","autoResetHiddenColumns","getAutoResetHiddenColumns","defaultInitialState","defaultColumnInstance","defaultReducer","prevState","defaultGetSubRows","defaultGetRowId","parent","defaultUseControlledState","applyDefaults","getSubRows","getRowId","stateReducer","accessRowsForColumn","data","flatRows","rowsById","accessValueHooks","originalRow","rowIndex","accessRow","depth","parentRows","originalSubRows","cells","values","resetExpanded","toggleRowExpanded","toggleAllRowsExpanded","useExpanded","getToggleAllRowsExpandedProps","defaultGetToggleAllRowsExpandedProps","getToggleRowExpandedProps","defaultGetToggleRowExpandedProps","isAllRowsExpanded","rowId","setExpanded","exists","shouldExist","paginateExpandedRows","autoResetExpanded","getAutoResetExpanded","expandedDepth","maxDepth","splitId","Math","max","preExpandedRows","ids","filterValue","rowValue","exactText","exactTextCase","includesAll","includesSome","includesValue","exact","equals","between","min","Infinity","temp","resetFilters","setFilter","setAllFilters","useFilters","filters","find","filterMethod","previousfilter","newFilter","manualFilters","defaultCanFilter","disableFilters","autoResetFilters","columnDefaultCanFilter","columnDisableFilters","canFilter","found","filteredFlatRows","filteredRowsById","filterRows","filteredRows","filteredSoFar","preFilteredRows","getAutoResetFilters","preFilteredFlatRows","preFilteredRowsById","resetGlobalFilter","setGlobalFilter","useGlobalFilter","globalFilter","manualGlobalFilter","globalFilterValue","autoResetGlobalFilter","disableGlobalFilter","columnDisableGlobalFilter","filterableColumns","globalFilteredRows","globalFilteredFlatRows","globalFilteredRowsById","getAutoResetGlobalFilter","preGlobalFilteredRows","preGlobalFilteredFlatRows","preGlobalFilteredRowsById","sum","aggregatedValues","mid","floor","nums","Set","size","emptyArray","emptyObject","resetGroupBy","setGroupBy","toggleGroupBy","useGroupBy","getGroupByToggleProps","defaultGetGroupByToggleProps","groupBy","header","canGroupBy","persist","resolvedGroupBy","groupByColumns","col","nonGroupByColumns","isGrouped","groupedIndex","indexOf","defaultUserAggregations","groupByFn","defaultGroupByFn","manualGroupBy","aggregations","userAggregations","autoResetGroupBy","disableGroupBy","defaultCanGroupBy","defaultColumnGroupBy","defaultGroupBy","columnDisableGroupBy","Aggregated","existingGroupBy","groupedFlatRows","groupedRowsById","onlyGroupedFlatRows","onlyGroupedRowsById","nonGroupedFlatRows","nonGroupedRowsById","groupedRows","groupUpRecursively","parentId","rowGroupsMap","entries","groupByVal","leafRows","aggregateFn","aggregate","groupedValues","leafValues","columnValue","aggregateValue","aggregateValueFn","groupByID","subRow","getAutoResetGroupBy","preGroupedRows","preGroupedFlatRow","preGroupedRowsById","allCells","isPlaceholder","isAggregated","_row$subRows","resKey","reSplitAlphaNumeric","compareBasic","getRowValuesByColumnID","row1","row2","isNaN","rowA","rowB","aa","bb","an","parseInt","bn","combo","getTime","alower","blower","replaceNonNumeric","resetSortBy","setSortBy","toggleSortBy","clearSortBy","sortType","sortDescFirst","useSortBy","getSortByToggleProps","defaultGetSortByToggleProps","isMultiSortEvent","canSort","disableMultiSort","sortBy","sortAction","desc","multi","disableSortRemove","disableMultiRemove","maxMultiSortColCount","existingSortBy","existingIndex","hasDescDefined","newSortBy","splice","orderByFn","defaultOrderByFn","userSortTypes","sortTypes","manualSortBy","defaultCanSort","disableSortBy","autoResetSortBy","defaultColumnCanSort","columnDisableSortBy","columnSort","isSorted","sortedIndex","isSortedDesc","sortedFlatRows","availableSortBy","sortData","sortedData","sortMethod","sortInverted","sortedRows","getAutoResetSortBy","preSortedRows","preSortedFlatRows","funcs","dirs","sortFn","sortInt","resetPage","gotoPage","setPageSize","usePagination","pageSize","pageIndex","pageCount","page","newPageIndex","canNavigate","topRowIndex","autoResetPage","userPageCount","manualPagination","getAutoResetPage","ceil","pageOptions","fill","pageStart","pageEnd","canPreviousPage","canNextPage","previousPage","nextPage","resetPivot","togglePivot","_UNSTABLE_usePivotColumns","getPivotToggleProps","defaultGetPivotToggleProps","defaultPivotColumns","canPivot","pivotColumns","setPivot","resolvedPivot","isPivotSource","uniqueValues","add","materialized","sourceColumns","newMaterialized","buildPivotColumns","pivotFilters","pivotColumn","uniqueValue","columnGroup","PivotHeader","isPivotGroup","pivotValue","sourceColumn","isPivoted","autoResetPivot","manaulPivot","disablePivot","defaultCanPivot","defaultColumnPivot","defaultPivot","columnDisablePivot","getAutoResetPivot","resetSelectedRows","toggleAllRowsSelected","toggleRowSelected","toggleAllPageRowsSelected","useRowSelect","getToggleRowSelectedProps","defaultGetToggleRowSelectedProps","getToggleAllRowsSelectedProps","defaultGetToggleAllRowsSelectedProps","getToggleAllPageRowsSelectedProps","defaultGetToggleAllPageRowsSelectedProps","manualRowSelectedKey","isSelected","isSomeSelected","isAllRowsSelected","selectedRowIds","isAllPageRowsSelected","setSelected","selectAll","selectSubRows","newSelectedRowIds","handleRowById","autoResetSelectedRows","selectedFlatRows","getRowIsSelected","allChildrenSelected","someSelected","getAutoResetSelectedRows","defaultInitialRowStateAccessor","defaultInitialCellStateAccessor","setRowState","setCellState","resetRowState","useRowState","initialRowStateAccessor","initialCellStateAccessor","rowState","oldRowState","oldCellState","cellState","_oldRowState$cellStat","_rowsById$_rowId","_rowsById$_rowId$cell","autoResetRowState","getAutoResetRowState","resetColumnOrder","setColumnOrder","useColumnOrder","columnOrder","columnOrderCopy","columnsCopy","columnsInOrder","targetColumnId","foundIndex","canResize","columnStartResizing","columnResizing","columnDoneResizing","resetResize","useResizeColumns","getResizerProps","defaultGetResizerProps","position","onResizeStart","isTouchEvent","touches","headerIdWidths","leafHeaders","recurseHeader","totalWidth","clientX","round","dispatchMove","clientXPos","dispatchEnd","handlersAndEvents","mouse","moveEvent","moveHandler","upEvent","upHandler","removeEventListener","touch","cancelable","stopPropagation","events","passiveIfSupported","supported","addEventListener","passive","columnWidth","onMouseDown","onTouchStart","draggable","columnWidths","startX","isResizingColumn","percentageDeltaX","newColumnWidths","headerId","headerWidth","disableResizing","isResizing","autoResetResize","getAutoResetResize","resetResizing","cellStyles","top","useAbsoluteLayout","getRowStyles","left","totalLeft","totalColumnsWidth","display","boxSizing","useBlockLayout","useFlexLayout","totalColumnsMinWidth","flex","totalFlexWidth","totalMinWidth","useGridLayout","gridTemplateColumns","gridLayout","columnIndex","elWidth","getElementById","_document$getElementB","offsetWidth","startingWidth","newWidth","columnWidthsCopy","defaultFn","defaultWait","debounceRef","getDefaultFn","getDefaultWait","timeout","clearTimeout","setTimeout","instanceRef","userColumns","getStateReducer","handler","reducerState","linkColumnStructure","allColumnsQueue","initialRows","makeHeaderGroups","additionalHeaderProperties","scanColumns","uid","getUID","headerGroup","parentColumns","hasParents","newParent","latestParentColumn","reverse","originalId","placeholderOf","visibleColumnsDep","calculateHeaderWidths","sumTotalMinWidth","sumTotalWidth","sumTotalMaxWidth","sumTotalFlexWidth","subHeaders","totalMaxWidth","totalColumnsMaxWidth","footerGroups","degreesToRadians","degrees","PI","valueBetween","extractPercentage","percentage","bisectorAngle","startAngle","lengthAngle","shiftVectorAlongAngle","angle","distance","angleRadians","dx","cos","dy","sin","isNumber","functionProp","prop","payload","ReactMinimalPieChartLabel","dataEntry","dataIndex","evaluateTextAnchorPosition","labelPosition","number","lineWidth","labelHorizontalShift","EPSILON","renderLabels","renderLabel","labelProps","label","segmentsShift","distanceFromCenter","radius","labelRenderProps","center","textAnchor","labelStyle","DefaultLabel","cx","cy","start","fromX","fromY","toX","toY","abs","ReactMinimalPieChartPath","strokeDasharray","strokeDashoffset","reveal","rounded","pathRadius","pathCommands","patchedLengthAngle","partialCircle","command","makePathCommands","pathLength","makeEventHandler","eventHandler","renderSegments","revealOverride","animate","getRevealValue","segmentsStyle","duration","easing","customStyle","Path","animationDuration","animationEasing","color","segmentsTabIndex","onBlur","onFocus","onKeyDown","onMouseOver","onMouseOut","background","unshift","ReactMinimalPieChart","setRevealOverride","startInitialAnimation","animationTimerId","animationRAFId","requestAnimationFrame","cancelAnimationFrame","extendedData","totalAngle","totalValue","paddingAngle","chartStartAngle","total","sumValues","normalizedTotalAngle","numberOfPaddings","singlePaddingDegrees","sign","degreesTakenByPaths","lastSegmentEnd","valueInPercentage","extendData","viewBoxSize","script","async","charset","src","onerror","onload","getElementsByTagName","appendChild"],"mappings":"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","file":"main.caddd68b.js","sourceRoot":"..","sourcesContent":["/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/** @license React v17.0.1\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=require(\"object-assign\"),n=60103,p=60106;exports.Fragment=60107;exports.StrictMode=60108;exports.Profiler=60114;var q=60109,r=60110,t=60112;exports.Suspense=60113;var u=60115,v=60116;\nif(\"function\"===typeof Symbol&&Symbol.for){var w=Symbol.for;n=w(\"react.element\");p=w(\"react.portal\");exports.Fragment=w(\"react.fragment\");exports.StrictMode=w(\"react.strict_mode\");exports.Profiler=w(\"react.profiler\");q=w(\"react.provider\");r=w(\"react.context\");t=w(\"react.forward_ref\");exports.Suspense=w(\"react.suspense\");u=w(\"react.memo\");v=w(\"react.lazy\")}var x=\"function\"===typeof Symbol&&Symbol.iterator;\nfunction y(a){if(null===a||\"object\"!==typeof a)return null;a=x&&a[x]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}function z(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c=\nE};k=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0I(n,c))void 0!==r&&0>I(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>I(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function I(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var L=[],M=[],N=1,O=null,P=3,Q=!1,R=!1,S=!1;\nfunction T(a){for(var b=J(M);null!==b;){if(null===b.callback)K(M);else if(b.startTime<=a)K(M),b.sortIndex=b.expirationTime,H(L,b);else break;b=J(M)}}function U(a){S=!1;T(a);if(!R)if(null!==J(L))R=!0,f(V);else{var b=J(M);null!==b&&g(U,b.startTime-a)}}\nfunction V(a,b){R=!1;S&&(S=!1,h());Q=!0;var c=P;try{T(b);for(O=J(L);null!==O&&(!(O.expirationTime>b)||a&&!exports.unstable_shouldYield());){var d=O.callback;if(\"function\"===typeof d){O.callback=null;P=O.priorityLevel;var e=d(O.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?O.callback=e:O===J(L)&&K(L);T(b)}else K(L);O=J(L)}if(null!==O)var m=!0;else{var n=J(M);null!==n&&g(U,n.startTime-b);m=!1}return m}finally{O=null,P=c,Q=!1}}var W=k;exports.unstable_IdlePriority=5;\nexports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){R||Q||(R=!0,f(V))};exports.unstable_getCurrentPriorityLevel=function(){return P};exports.unstable_getFirstCallbackNode=function(){return J(L)};\nexports.unstable_next=function(a){switch(P){case 1:case 2:case 3:var b=3;break;default:b=P}var c=P;P=b;try{return a()}finally{P=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=W;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=P;P=a;try{return b()}finally{P=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0d?(a.sortIndex=c,H(M,a),null===J(L)&&a===J(M)&&(S?h():S=!0,g(U,c-d))):(a.sortIndex=e,H(L,a),R||Q||(R=!0,f(V)));return a};\nexports.unstable_wrapCallback=function(a){var b=P;return function(){var c=P;P=b;try{return a.apply(this,arguments)}finally{P=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/** @license React v17.0.1\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),m=require(\"object-assign\"),r=require(\"scheduler\");function y(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function B(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var D={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){D[a]=new B(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];D[b]=new B(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){D[a]=new B(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){D[a]=new B(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){D[a]=new B(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){D[a]=new B(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){D[a]=new B(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){D[a]=new B(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){D[a]=new B(a,5,!1,a.toLowerCase(),null,!1,!1)});var oa=/[\\-:]([a-z])/g;function pa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(oa,\npa);D[b]=new B(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!1,!1)});\nD.xlinkHref=new B(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction qa(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2h||e[g]!==f[h])return\"\\n\"+e[g].replace(\" at new \",\" at \");while(1<=g&&0<=h)}break}}}finally{Oa=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Na(a):\"\"}\nfunction Qa(a){switch(a.tag){case 5:return Na(a.type);case 16:return Na(\"Lazy\");case 13:return Na(\"Suspense\");case 19:return Na(\"SuspenseList\");case 0:case 2:case 15:return a=Pa(a.type,!1),a;case 11:return a=Pa(a.type.render,!1),a;case 22:return a=Pa(a.type._render,!1),a;case 1:return a=Pa(a.type,!0),a;default:return\"\"}}\nfunction Ra(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ua:return\"Fragment\";case ta:return\"Portal\";case xa:return\"Profiler\";case wa:return\"StrictMode\";case Ba:return\"Suspense\";case Ca:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case za:return(a.displayName||\"Context\")+\".Consumer\";case ya:return(a._context.displayName||\"Context\")+\".Provider\";case Aa:var b=a.render;b=b.displayName||b.name||\"\";\nreturn a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\"ForwardRef\");case Da:return Ra(a.type);case Fa:return Ra(a._render);case Ea:b=a._payload;a=a._init;try{return Ra(a(b))}catch(c){}}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return m({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function $a(a,b){b=b.checked;null!=b&&qa(a,\"checked\",b,!1)}\nfunction ab(a,b){$a(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?bb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&bb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction cb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction bb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}function db(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function eb(a,b){a=m({children:void 0},b);if(b=db(b.children))a.children=b;return a}\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e=c.length))throw Error(y(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var kb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction lb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function mb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?lb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar nb,ob=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==kb.svg||\"innerHTML\"in a)a.innerHTML=b;else{nb=nb||document.createElement(\"div\");nb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=nb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction pb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar qb={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},rb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(qb).forEach(function(a){rb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);qb[b]=qb[a]})});function sb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||qb.hasOwnProperty(a)&&qb[a]?(\"\"+b).trim():b+\"px\"}\nfunction tb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=sb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var ub=m({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction vb(a,b){if(b){if(ub[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(y(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(y(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw Error(y(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(y(62));}}\nfunction wb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(y(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;ad?0:1<c;c++)b.push(a);return b}\nfunction $c(a,b,c){a.pendingLanes|=b;var d=b-1;a.suspendedLanes&=d;a.pingedLanes&=d;a=a.eventTimes;b=31-Vc(b);a[b]=c}var Vc=Math.clz32?Math.clz32:ad,bd=Math.log,cd=Math.LN2;function ad(a){return 0===a?32:31-(bd(a)/cd|0)|0}var dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function gd(a,b,c,d){Kb||Ib();var e=hd,f=Kb;Kb=!0;try{Hb(e,a,b,c,d)}finally{(Kb=f)||Mb()}}function id(a,b,c,d){ed(dd,hd.bind(null,a,b,c,d))}\nfunction hd(a,b,c,d){if(fd){var e;if((e=0===(b&4))&&0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Ke(c)}}function Me(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Me(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Ne(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Oe(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nvar Pe=fa&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Oe(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Je(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Af||(a.current=zf[Af],zf[Af]=null,Af--)}function I(a,b){Af++;zf[Af]=a.current;a.current=b}var Cf={},M=Bf(Cf),N=Bf(!1),Df=Cf;\nfunction Ef(a,b){var c=a.type.contextTypes;if(!c)return Cf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function Ff(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Gf(){H(N);H(M)}function Hf(a,b,c){if(M.current!==Cf)throw Error(y(168));I(M,b);I(N,c)}\nfunction If(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(y(108,Ra(b)||\"Unknown\",e));return m({},c,d)}function Jf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Cf;Df=M.current;I(M,a);I(N,N.current);return!0}function Kf(a,b,c){var d=a.stateNode;if(!d)throw Error(y(169));c?(a=If(a,b,Df),d.__reactInternalMemoizedMergedChildContext=a,H(N),H(M),I(M,a)):H(N);I(N,c)}\nvar Lf=null,Mf=null,Nf=r.unstable_runWithPriority,Of=r.unstable_scheduleCallback,Pf=r.unstable_cancelCallback,Qf=r.unstable_shouldYield,Rf=r.unstable_requestPaint,Sf=r.unstable_now,Tf=r.unstable_getCurrentPriorityLevel,Uf=r.unstable_ImmediatePriority,Vf=r.unstable_UserBlockingPriority,Wf=r.unstable_NormalPriority,Xf=r.unstable_LowPriority,Yf=r.unstable_IdlePriority,Zf={},$f=void 0!==Rf?Rf:function(){},ag=null,bg=null,cg=!1,dg=Sf(),O=1E4>dg?Sf:function(){return Sf()-dg};\nfunction eg(){switch(Tf()){case Uf:return 99;case Vf:return 98;case Wf:return 97;case Xf:return 96;case Yf:return 95;default:throw Error(y(332));}}function fg(a){switch(a){case 99:return Uf;case 98:return Vf;case 97:return Wf;case 96:return Xf;case 95:return Yf;default:throw Error(y(332));}}function gg(a,b){a=fg(a);return Nf(a,b)}function hg(a,b,c){a=fg(a);return Of(a,b,c)}function ig(){if(null!==bg){var a=bg;bg=null;Pf(a)}jg()}\nfunction jg(){if(!cg&&null!==ag){cg=!0;var a=0;try{var b=ag;gg(99,function(){for(;az?(q=u,u=null):q=u.sibling;var n=p(e,u,h[z],k);if(null===n){null===u&&(u=q);break}a&&u&&null===\nn.alternate&&b(e,u);g=f(n,g,z);null===t?l=n:t.sibling=n;t=n;u=q}if(z===h.length)return c(e,u),l;if(null===u){for(;zz?(q=u,u=null):q=u.sibling;var w=p(e,u,n.value,k);if(null===w){null===u&&(u=q);break}a&&u&&null===w.alternate&&b(e,u);g=f(w,g,z);null===t?l=w:t.sibling=w;t=w;u=q}if(n.done)return c(e,u),l;if(null===u){for(;!n.done;z++,n=h.next())n=A(e,n.value,k),null!==n&&(g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);return l}for(u=d(e,u);!n.done;z++,n=h.next())n=C(u,e,z,n.value,k),null!==n&&(a&&null!==n.alternate&&\nu.delete(null===n.key?z:n.key),g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);a&&u.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ua&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case sa:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ua){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,k.sibling);\nd=e(k,f.props);d.ref=Qg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ua?(d=Xg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Vg(f.type,f.key,f.props,null,a.mode,h),h.ref=Qg(a,d,f),h.return=a,a=h)}return g(a);case ta:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=\nWg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Ug(f,a.mode,h),d.return=a,a=d),g(a);if(Pg(f))return x(a,d,f,h);if(La(f))return w(a,d,f,h);l&&Rg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 22:case 0:case 11:case 15:throw Error(y(152,Ra(a.type)||\"Component\"));}return c(a,d)}}var Yg=Sg(!0),Zg=Sg(!1),$g={},ah=Bf($g),bh=Bf($g),ch=Bf($g);\nfunction dh(a){if(a===$g)throw Error(y(174));return a}function eh(a,b){I(ch,b);I(bh,a);I(ah,$g);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:mb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=mb(b,a)}H(ah);I(ah,b)}function fh(){H(ah);H(bh);H(ch)}function gh(a){dh(ch.current);var b=dh(ah.current);var c=mb(b,a.type);b!==c&&(I(bh,a),I(ah,c))}function hh(a){bh.current===a&&(H(ah),H(bh))}var P=Bf(0);\nfunction ih(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var jh=null,kh=null,lh=!1;\nfunction mh(a,b){var c=nh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.flags=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function oh(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction ph(a){if(lh){var b=kh;if(b){var c=b;if(!oh(a,b)){b=rf(c.nextSibling);if(!b||!oh(a,b)){a.flags=a.flags&-1025|2;lh=!1;jh=a;return}mh(jh,c)}jh=a;kh=rf(b.firstChild)}else a.flags=a.flags&-1025|2,lh=!1,jh=a}}function qh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;jh=a}\nfunction rh(a){if(a!==jh)return!1;if(!lh)return qh(a),lh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!nf(b,a.memoizedProps))for(b=kh;b;)mh(a,b),b=rf(b.nextSibling);qh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(y(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){kh=rf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}kh=null}}else kh=jh?rf(a.stateNode.nextSibling):null;return!0}\nfunction sh(){kh=jh=null;lh=!1}var th=[];function uh(){for(var a=0;af))throw Error(y(301));f+=1;T=S=null;b.updateQueue=null;vh.current=Fh;a=c(d,e)}while(zh)}vh.current=Gh;b=null!==S&&null!==S.next;xh=0;T=S=R=null;yh=!1;if(b)throw Error(y(300));return a}function Hh(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===T?R.memoizedState=T=a:T=T.next=a;return T}\nfunction Ih(){if(null===S){var a=R.alternate;a=null!==a?a.memoizedState:null}else a=S.next;var b=null===T?R.memoizedState:T.next;if(null!==b)T=b,S=a;else{if(null===a)throw Error(y(310));S=a;a={memoizedState:S.memoizedState,baseState:S.baseState,baseQueue:S.baseQueue,queue:S.queue,next:null};null===T?R.memoizedState=T=a:T=T.next=a}return T}function Jh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Kh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=S,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.lane;if((xh&l)===l)null!==h&&(h=h.next={lane:0,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),d=k.eagerReducer===a?k.eagerState:a(d,k.action);else{var n={lane:l,action:k.action,eagerReducer:k.eagerReducer,\neagerState:k.eagerState,next:null};null===h?(g=h=n,f=d):h=h.next=n;R.lanes|=l;Dg|=l}k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;He(d,b.memoizedState)||(ug=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction Lh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction Mh(a,b,c){var d=b._getVersion;d=d(b._source);var e=b._workInProgressVersionPrimary;if(null!==e)a=e===d;else if(a=a.mutableReadLanes,a=(xh&a)===a)b._workInProgressVersionPrimary=d,th.push(b);if(a)return c(b._source);th.push(b);throw Error(y(350));}\nfunction Nh(a,b,c,d){var e=U;if(null===e)throw Error(y(349));var f=b._getVersion,g=f(b._source),h=vh.current,k=h.useState(function(){return Mh(e,b,c)}),l=k[1],n=k[0];k=T;var A=a.memoizedState,p=A.refs,C=p.getSnapshot,x=A.source;A=A.subscribe;var w=R;a.memoizedState={refs:p,source:b,subscribe:d};h.useEffect(function(){p.getSnapshot=c;p.setSnapshot=l;var a=f(b._source);if(!He(g,a)){a=c(b._source);He(n,a)||(l(a),a=Ig(w),e.mutableReadLanes|=a&e.pendingLanes);a=e.mutableReadLanes;e.entangledLanes|=a;for(var d=\ne.entanglements,h=a;0c?98:c,function(){a(!0)});gg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[wf]=b;a[xf]=d;Bi(a,b,!1,!1);b.stateNode=a;g=wb(c,d);switch(c){case \"dialog\":G(\"cancel\",a);G(\"close\",a);\ne=d;break;case \"iframe\":case \"object\":case \"embed\":G(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eJi&&(b.flags|=64,f=!0,Fi(d,!1),b.lanes=33554432)}else{if(!f)if(a=ih(g),null!==a){if(b.flags|=64,f=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Fi(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&!g.alternate&&!lh)return b=b.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*O()-d.renderingStartTime>Ji&&1073741824!==c&&(b.flags|=\n64,f=!0,Fi(d,!1),b.lanes=33554432);d.isBackwards?(g.sibling=b.child,b.child=g):(c=d.last,null!==c?c.sibling=g:b.child=g,d.last=g)}return null!==d.tail?(c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=O(),c.sibling=null,b=P.current,I(P,f?b&1|2:b&1),c):null;case 23:case 24:return Ki(),null!==a&&null!==a.memoizedState!==(null!==b.memoizedState)&&\"unstable-defer-without-hiding\"!==d.mode&&(b.flags|=4),null}throw Error(y(156,b.tag));}\nfunction Li(a){switch(a.tag){case 1:Ff(a.type)&&Gf();var b=a.flags;return b&4096?(a.flags=b&-4097|64,a):null;case 3:fh();H(N);H(M);uh();b=a.flags;if(0!==(b&64))throw Error(y(285));a.flags=b&-4097|64;return a;case 5:return hh(a),null;case 13:return H(P),b=a.flags,b&4096?(a.flags=b&-4097|64,a):null;case 19:return H(P),null;case 4:return fh(),null;case 10:return rg(a),null;case 23:case 24:return Ki(),null;default:return null}}\nfunction Mi(a,b){try{var c=\"\",d=b;do c+=Qa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e}}function Ni(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Oi=\"function\"===typeof WeakMap?WeakMap:Map;function Pi(a,b,c){c=zg(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Qi||(Qi=!0,Ri=d);Ni(a,b)};return c}\nfunction Si(a,b,c){c=zg(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){Ni(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===Ti?Ti=new Set([this]):Ti.add(this),Ni(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}var Ui=\"function\"===typeof WeakSet?WeakSet:Set;\nfunction Vi(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Wi(a,c)}else b.current=null}function Xi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.flags&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:lg(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:b.flags&256&&qf(b.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(y(163));}\nfunction Yi(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{if(3===(a.tag&3)){var d=a.create;a.destroy=d()}a=a.next}while(a!==b)}b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{var e=a;d=e.next;e=e.tag;0!==(e&4)&&0!==(e&1)&&(Zi(c,a),$i(c,a));a=d}while(a!==b)}return;case 1:a=c.stateNode;c.flags&4&&(null===b?a.componentDidMount():(d=c.elementType===c.type?b.memoizedProps:lg(c.type,b.memoizedProps),a.componentDidUpdate(d,\nb.memoizedState,a.__reactInternalSnapshotBeforeUpdate)));b=c.updateQueue;null!==b&&Eg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Eg(c,b,a)}return;case 5:a=c.stateNode;null===b&&c.flags&4&&mf(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Cc(c))));\nreturn;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(y(163));}\nfunction aj(a,b){for(var c=a;;){if(5===c.tag){var d=c.stateNode;if(b)d=d.style,\"function\"===typeof d.setProperty?d.setProperty(\"display\",\"none\",\"important\"):d.display=\"none\";else{d=c.stateNode;var e=c.memoizedProps.style;e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null;d.style.display=sb(\"display\",e)}}else if(6===c.tag)c.stateNode.nodeValue=b?\"\":c.memoizedProps;else if((23!==c.tag&&24!==c.tag||null===c.memoizedState||c===a)&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===\na)break;for(;null===c.sibling;){if(null===c.return||c.return===a)return;c=c.return}c.sibling.return=c.return;c=c.sibling}}\nfunction bj(a,b){if(Mf&&\"function\"===typeof Mf.onCommitFiberUnmount)try{Mf.onCommitFiberUnmount(Lf,b)}catch(f){}switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var c=a=a.next;do{var d=c,e=d.destroy;d=d.tag;if(void 0!==e)if(0!==(d&4))Zi(b,c);else{d=b;try{e()}catch(f){Wi(d,f)}}c=c.next}while(c!==a)}break;case 1:Vi(b);a=b.stateNode;if(\"function\"===typeof a.componentWillUnmount)try{a.props=b.memoizedProps,a.state=b.memoizedState,a.componentWillUnmount()}catch(f){Wi(b,\nf)}break;case 5:Vi(b);break;case 4:cj(a,b)}}function dj(a){a.alternate=null;a.child=null;a.dependencies=null;a.firstEffect=null;a.lastEffect=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.return=null;a.updateQueue=null}function ej(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction fj(a){a:{for(var b=a.return;null!==b;){if(ej(b))break a;b=b.return}throw Error(y(160));}var c=b;b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(y(161));}c.flags&16&&(pb(b,\"\"),c.flags&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||ej(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.flags&2)continue b;if(null===\nc.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.flags&2)){c=c.stateNode;break a}}d?gj(a,c,b):hj(a,c,b)}\nfunction gj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=jf));else if(4!==d&&(a=a.child,null!==a))for(gj(a,b,c),a=a.sibling;null!==a;)gj(a,b,c),a=a.sibling}\nfunction hj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(hj(a,b,c),a=a.sibling;null!==a;)hj(a,b,c),a=a.sibling}\nfunction cj(a,b){for(var c=b,d=!1,e,f;;){if(!d){d=c.return;a:for(;;){if(null===d)throw Error(y(160));e=d.stateNode;switch(d.tag){case 5:f=!1;break a;case 3:e=e.containerInfo;f=!0;break a;case 4:e=e.containerInfo;f=!0;break a}d=d.return}d=!0}if(5===c.tag||6===c.tag){a:for(var g=a,h=c,k=h;;)if(bj(g,k),null!==k.child&&4!==k.tag)k.child.return=k,k=k.child;else{if(k===h)break a;for(;null===k.sibling;){if(null===k.return||k.return===h)break a;k=k.return}k.sibling.return=k.return;k=k.sibling}f?(g=e,h=c.stateNode,\n8===g.nodeType?g.parentNode.removeChild(h):g.removeChild(h)):e.removeChild(c.stateNode)}else if(4===c.tag){if(null!==c.child){e=c.stateNode.containerInfo;f=!0;c.child.return=c;c=c.child;continue}}else if(bj(a,c),null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return;4===c.tag&&(d=!1)}c.sibling.return=c.return;c=c.sibling}}\nfunction ij(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:var c=b.updateQueue;c=null!==c?c.lastEffect:null;if(null!==c){var d=c=c.next;do 3===(d.tag&3)&&(a=d.destroy,d.destroy=void 0,void 0!==a&&a()),d=d.next;while(d!==c)}return;case 1:return;case 5:c=b.stateNode;if(null!=c){d=b.memoizedProps;var e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[xf]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&$a(c,d);wb(a,e);b=wb(a,d);for(e=0;ee&&(e=g);c&=~f}c=e;c=O()-c;c=(120>c?120:480>c?480:1080>c?1080:1920>c?1920:3E3>c?3E3:4320>\nc?4320:1960*nj(c/1960))-c;if(10 component higher in the tree to provide a loading indicator or placeholder to display.\")}5!==V&&(V=2);k=Mi(k,h);p=\ng;do{switch(p.tag){case 3:f=k;p.flags|=4096;b&=-b;p.lanes|=b;var J=Pi(p,f,b);Bg(p,J);break a;case 1:f=k;var K=p.type,Q=p.stateNode;if(0===(p.flags&64)&&(\"function\"===typeof K.getDerivedStateFromError||null!==Q&&\"function\"===typeof Q.componentDidCatch&&(null===Ti||!Ti.has(Q)))){p.flags|=4096;b&=-b;p.lanes|=b;var L=Si(p,f,b);Bg(p,L);break a}}p=p.return}while(null!==p)}Zj(c)}catch(va){b=va;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}\nfunction Pj(){var a=oj.current;oj.current=Gh;return null===a?Gh:a}function Tj(a,b){var c=X;X|=16;var d=Pj();U===a&&W===b||Qj(a,b);do try{ak();break}catch(e){Sj(a,e)}while(1);qg();X=c;oj.current=d;if(null!==Y)throw Error(y(261));U=null;W=0;return V}function ak(){for(;null!==Y;)bk(Y)}function Rj(){for(;null!==Y&&!Qf();)bk(Y)}function bk(a){var b=ck(a.alternate,a,qj);a.memoizedProps=a.pendingProps;null===b?Zj(a):Y=b;pj.current=null}\nfunction Zj(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&2048)){c=Gi(c,b,qj);if(null!==c){Y=c;return}c=b;if(24!==c.tag&&23!==c.tag||null===c.memoizedState||0!==(qj&1073741824)||0===(c.mode&4)){for(var d=0,e=c.child;null!==e;)d|=e.lanes|e.childLanes,e=e.sibling;c.childLanes=d}null!==a&&0===(a.flags&2048)&&(null===a.firstEffect&&(a.firstEffect=b.firstEffect),null!==b.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=b.firstEffect),a.lastEffect=b.lastEffect),1g&&(h=g,g=J,J=h),h=Le(t,J),f=Le(t,g),h&&f&&(1!==v.rangeCount||v.anchorNode!==h.node||v.anchorOffset!==h.offset||v.focusNode!==f.node||v.focusOffset!==f.offset)&&(q=q.createRange(),q.setStart(h.node,h.offset),v.removeAllRanges(),J>g?(v.addRange(q),v.extend(f.node,f.offset)):(q.setEnd(f.node,f.offset),v.addRange(q))))));q=[];for(v=t;v=v.parentNode;)1===v.nodeType&&q.push({element:v,left:v.scrollLeft,top:v.scrollTop});\"function\"===typeof t.focus&&t.focus();for(t=\n0;tO()-jj?Qj(a,0):uj|=c);Mj(a,b)}function lj(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=a.mode,0===(b&2)?b=1:0===(b&4)?b=99===eg()?1:2:(0===Gj&&(Gj=tj),b=Yc(62914560&~Gj),0===b&&(b=4194304)));c=Hg();a=Kj(a,b);null!==a&&($c(a,b,c),Mj(a,c))}var ck;\nck=function(a,b,c){var d=b.lanes;if(null!==a)if(a.memoizedProps!==b.pendingProps||N.current)ug=!0;else if(0!==(c&d))ug=0!==(a.flags&16384)?!0:!1;else{ug=!1;switch(b.tag){case 3:ri(b);sh();break;case 5:gh(b);break;case 1:Ff(b.type)&&Jf(b);break;case 4:eh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;var e=b.type._context;I(mg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){if(0!==(c&b.child.childLanes))return ti(a,b,c);I(P,P.current&1);b=hi(a,b,c);return null!==\nb?b.sibling:null}I(P,P.current&1);break;case 19:d=0!==(c&b.childLanes);if(0!==(a.flags&64)){if(d)return Ai(a,b,c);b.flags|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);I(P,P.current);if(d)break;else return null;case 23:case 24:return b.lanes=0,mi(a,b,c)}return hi(a,b,c)}else ug=!1;b.lanes=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;e=Ef(b,M.current);tg(b,c);e=Ch(null,b,d,a,e,c);b.flags|=1;if(\"object\"===\ntypeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(Ff(d)){var f=!0;Jf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;xg(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Gg(b,d,g,a);e.updater=Kg;b.stateNode=e;e._reactInternals=b;Og(b,d,a,c);b=qi(null,b,d,!0,f,c)}else b.tag=0,fi(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;a:{null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);\na=b.pendingProps;f=e._init;e=f(e._payload);b.type=e;f=b.tag=hk(e);a=lg(e,a);switch(f){case 0:b=li(null,b,e,a,c);break a;case 1:b=pi(null,b,e,a,c);break a;case 11:b=gi(null,b,e,a,c);break a;case 14:b=ii(null,b,e,lg(e.type,a),d,c);break a}throw Error(y(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),li(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),pi(a,b,d,e,c);case 3:ri(b);d=b.updateQueue;if(null===a||null===d)throw Error(y(282));\nd=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;yg(a,b);Cg(b,d,null,c);d=b.memoizedState.element;if(d===e)sh(),b=hi(a,b,c);else{e=b.stateNode;if(f=e.hydrate)kh=rf(b.stateNode.containerInfo.firstChild),jh=b,f=lh=!0;if(f){a=e.mutableSourceEagerHydrationData;if(null!=a)for(e=0;e = {};\nfunction warningOnce(key: string, cond: boolean, message: string) {\n if (!cond && !alreadyWarned[key]) {\n alreadyWarned[key] = true;\n warning(false, message);\n }\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// CONTEXT\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * A Navigator is a \"location changer\"; it's how you get to different locations.\n *\n * Every history instance conforms to the Navigator interface, but the\n * distinction is useful primarily when it comes to the low-level API\n * where both the location and a navigator must be provided separately in order\n * to avoid \"tearing\" that may occur in a suspense-enabled app if the action\n * and/or location were to be read directly from the history instance.\n */\nexport type Navigator = Pick;\n\ninterface NavigationContextObject {\n basename: string;\n navigator: Navigator;\n static: boolean;\n}\n\nconst NavigationContext = React.createContext(null!);\n\nif (__DEV__) {\n NavigationContext.displayName = \"Navigation\";\n}\n\ninterface LocationContextObject {\n location: Location;\n navigationType: NavigationType;\n}\n\nconst LocationContext = React.createContext(null!);\n\nif (__DEV__) {\n LocationContext.displayName = \"Location\";\n}\n\ninterface RouteContextObject {\n outlet: React.ReactElement | null;\n matches: RouteMatch[];\n}\n\nconst RouteContext = React.createContext({\n outlet: null,\n matches: []\n});\n\nif (__DEV__) {\n RouteContext.displayName = \"Route\";\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// COMPONENTS\n///////////////////////////////////////////////////////////////////////////////\n\nexport interface MemoryRouterProps {\n basename?: string;\n children?: React.ReactNode;\n initialEntries?: InitialEntry[];\n initialIndex?: number;\n}\n\n/**\n * A that stores all entries in memory.\n *\n * @see https://reactrouter.com/docs/en/v6/api#memoryrouter\n */\nexport function MemoryRouter({\n basename,\n children,\n initialEntries,\n initialIndex\n}: MemoryRouterProps): React.ReactElement {\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createMemoryHistory({ initialEntries, initialIndex });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nexport interface NavigateProps {\n to: To;\n replace?: boolean;\n state?: any;\n}\n\n/**\n * Changes the current location.\n *\n * Note: This API is mostly useful in React.Component subclasses that are not\n * able to use hooks. In functional components, we recommend you use the\n * `useNavigate` hook instead.\n *\n * @see https://reactrouter.com/docs/en/v6/api#navigate\n */\nexport function Navigate({ to, replace, state }: NavigateProps): null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of\n // the router loaded. We can help them understand how to avoid that.\n ` may be used only in the context of a component.`\n );\n\n warning(\n !React.useContext(NavigationContext).static,\n ` must not be used on the initial render in a . ` +\n `This is a no-op, but you should modify your code so the is ` +\n `only ever rendered in response to some user interaction or state change.`\n );\n\n let navigate = useNavigate();\n React.useEffect(() => {\n navigate(to, { replace, state });\n });\n\n return null;\n}\n\nexport interface OutletProps {\n context?: unknown;\n}\n\n/**\n * Renders the child route's element, if there is one.\n *\n * @see https://reactrouter.com/docs/en/v6/api#outlet\n */\nexport function Outlet(props: OutletProps): React.ReactElement | null {\n return useOutlet(props.context);\n}\n\nexport interface RouteProps {\n caseSensitive?: boolean;\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n index?: boolean;\n path?: string;\n}\n\nexport interface PathRouteProps {\n caseSensitive?: boolean;\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n index?: false;\n path: string;\n}\n\nexport interface LayoutRouteProps {\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n}\n\nexport interface IndexRouteProps {\n element?: React.ReactNode | null;\n index: true;\n}\n\n/**\n * Declares an element that should be rendered at a certain URL path.\n *\n * @see https://reactrouter.com/docs/en/v6/api#route\n */\nexport function Route(\n _props: PathRouteProps | LayoutRouteProps | IndexRouteProps\n): React.ReactElement | null {\n invariant(\n false,\n `A is only ever to be used as the child of element, ` +\n `never rendered directly. Please wrap your in a .`\n );\n}\n\nexport interface RouterProps {\n basename?: string;\n children?: React.ReactNode;\n location: Partial | string;\n navigationType?: NavigationType;\n navigator: Navigator;\n static?: boolean;\n}\n\n/**\n * Provides location context for the rest of the app.\n *\n * Note: You usually won't render a directly. Instead, you'll render a\n * router that is more specific to your environment such as a \n * in web browsers or a for server rendering.\n *\n * @see https://reactrouter.com/docs/en/v6/api#router\n */\nexport function Router({\n basename: basenameProp = \"/\",\n children = null,\n location: locationProp,\n navigationType = NavigationType.Pop,\n navigator,\n static: staticProp = false\n}: RouterProps): React.ReactElement | null {\n invariant(\n !useInRouterContext(),\n `You cannot render a inside another .` +\n ` You should never have more than one in your app.`\n );\n\n let basename = normalizePathname(basenameProp);\n let navigationContext = React.useMemo(\n () => ({ basename, navigator, static: staticProp }),\n [basename, navigator, staticProp]\n );\n\n if (typeof locationProp === \"string\") {\n locationProp = parsePath(locationProp);\n }\n\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n state = null,\n key = \"default\"\n } = locationProp;\n\n let location = React.useMemo(() => {\n let trailingPathname = stripBasename(pathname, basename);\n\n if (trailingPathname == null) {\n return null;\n }\n\n return {\n pathname: trailingPathname,\n search,\n hash,\n state,\n key\n };\n }, [basename, pathname, search, hash, state, key]);\n\n warning(\n location != null,\n ` is not able to match the URL ` +\n `\"${pathname}${search}${hash}\" because it does not start with the ` +\n `basename, so the won't render anything.`\n );\n\n if (location == null) {\n return null;\n }\n\n return (\n \n \n \n );\n}\n\nexport interface RoutesProps {\n children?: React.ReactNode;\n location?: Partial | string;\n}\n\n/**\n * A container for a nested tree of elements that renders the branch\n * that best matches the current location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#routes\n */\nexport function Routes({\n children,\n location\n}: RoutesProps): React.ReactElement | null {\n return useRoutes(createRoutesFromChildren(children), location);\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// HOOKS\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * Returns the full href for the given \"to\" value. This is useful for building\n * custom links that are also accessible and preserve right-click behavior.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usehref\n */\nexport function useHref(to: To): string {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useHref() may be used only in the context of a component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { hash, pathname, search } = useResolvedPath(to);\n\n let joinedPathname = pathname;\n if (basename !== \"/\") {\n let toPathname = getToPathname(to);\n let endsWithSlash = toPathname != null && toPathname.endsWith(\"/\");\n joinedPathname =\n pathname === \"/\"\n ? basename + (endsWithSlash ? \"/\" : \"\")\n : joinPaths([basename, pathname]);\n }\n\n return navigator.createHref({ pathname: joinedPathname, search, hash });\n}\n\n/**\n * Returns true if this component is a descendant of a .\n *\n * @see https://reactrouter.com/docs/en/v6/api#useinroutercontext\n */\nexport function useInRouterContext(): boolean {\n return React.useContext(LocationContext) != null;\n}\n\n/**\n * Returns the current location object, which represents the current URL in web\n * browsers.\n *\n * Note: If you're using this it may mean you're doing some of your own\n * \"routing\" in your app, and we'd like to know what your use case is. We may\n * be able to provide something higher-level to better suit your needs.\n *\n * @see https://reactrouter.com/docs/en/v6/api#uselocation\n */\nexport function useLocation(): Location {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useLocation() may be used only in the context of a component.`\n );\n\n return React.useContext(LocationContext).location;\n}\n\ntype ParamParseFailed = { failed: true };\n\ntype ParamParseSegment =\n // Check here if there exists a forward slash in the string.\n Segment extends `${infer LeftSegment}/${infer RightSegment}`\n ? // If there is a forward slash, then attempt to parse each side of the\n // forward slash.\n ParamParseSegment extends infer LeftResult\n ? ParamParseSegment extends infer RightResult\n ? LeftResult extends string\n ? // If the left side is successfully parsed as a param, then check if\n // the right side can be successfully parsed as well. If both sides\n // can be parsed, then the result is a union of the two sides\n // (read: \"foo\" | \"bar\").\n RightResult extends string\n ? LeftResult | RightResult\n : LeftResult\n : // If the left side is not successfully parsed as a param, then check\n // if only the right side can be successfully parse as a param. If it\n // can, then the result is just right, else it's a failure.\n RightResult extends string\n ? RightResult\n : ParamParseFailed\n : ParamParseFailed\n : // If the left side didn't parse into a param, then just check the right\n // side.\n ParamParseSegment extends infer RightResult\n ? RightResult extends string\n ? RightResult\n : ParamParseFailed\n : ParamParseFailed\n : // If there's no forward slash, then check if this segment starts with a\n // colon. If it does, then this is a dynamic segment, so the result is\n // just the remainder of the string. Otherwise, it's a failure.\n Segment extends `:${infer Remaining}`\n ? Remaining\n : ParamParseFailed;\n\n// Attempt to parse the given string segment. If it fails, then just return the\n// plain string type as a default fallback. Otherwise return the union of the\n// parsed string literals that were referenced as dynamic segments in the route.\ntype ParamParseKey =\n ParamParseSegment extends string\n ? ParamParseSegment\n : string;\n\n/**\n * Returns the current navigation action which describes how the router came to\n * the current location, either by a pop, push, or replace on the history stack.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usenavigationtype\n */\nexport function useNavigationType(): NavigationType {\n return React.useContext(LocationContext).navigationType;\n}\n\n/**\n * Returns true if the URL for the given \"to\" value matches the current URL.\n * This is useful for components that need to know \"active\" state, e.g.\n * .\n *\n * @see https://reactrouter.com/docs/en/v6/api#usematch\n */\nexport function useMatch<\n ParamKey extends ParamParseKey,\n Path extends string\n>(pattern: PathPattern | Path): PathMatch | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useMatch() may be used only in the context of a component.`\n );\n\n let { pathname } = useLocation();\n return React.useMemo(\n () => matchPath(pattern, pathname),\n [pathname, pattern]\n );\n}\n\n/**\n * The interface for the navigate() function returned from useNavigate().\n */\nexport interface NavigateFunction {\n (to: To, options?: NavigateOptions): void;\n (delta: number): void;\n}\n\nexport interface NavigateOptions {\n replace?: boolean;\n state?: any;\n}\n\n/**\n * Returns an imperative method for changing the location. Used by s, but\n * may also be used by other elements to change the location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usenavigate\n */\nexport function useNavigate(): NavigateFunction {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useNavigate() may be used only in the context of a component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n matches.map(match => match.pathnameBase)\n );\n\n let activeRef = React.useRef(false);\n React.useEffect(() => {\n activeRef.current = true;\n });\n\n let navigate: NavigateFunction = React.useCallback(\n (to: To | number, options: NavigateOptions = {}) => {\n warning(\n activeRef.current,\n `You should call navigate() in a React.useEffect(), not when ` +\n `your component is first rendered.`\n );\n\n if (!activeRef.current) return;\n\n if (typeof to === \"number\") {\n navigator.go(to);\n return;\n }\n\n let path = resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname\n );\n\n if (basename !== \"/\") {\n path.pathname = joinPaths([basename, path.pathname]);\n }\n\n (!!options.replace ? navigator.replace : navigator.push)(\n path,\n options.state\n );\n },\n [basename, navigator, routePathnamesJson, locationPathname]\n );\n\n return navigate;\n}\n\nconst OutletContext = React.createContext(null);\n\n/**\n * Returns the context (if provided) for the child route at this level of the route\n * hierarchy.\n * @see https://reactrouter.com/docs/en/v6/api#useoutletcontext\n */\nexport function useOutletContext(): Context {\n return React.useContext(OutletContext) as Context;\n}\n\n/**\n * Returns the element for the child route at this level of the route\n * hierarchy. Used internally by to render child routes.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useoutlet\n */\nexport function useOutlet(context?: unknown): React.ReactElement | null {\n let outlet = React.useContext(RouteContext).outlet;\n if (outlet) {\n return (\n {outlet}\n );\n }\n return outlet;\n}\n\n/**\n * Returns an object of key/value pairs of the dynamic params from the current\n * URL that were matched by the route path.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useparams\n */\nexport function useParams<\n ParamsOrKey extends string | Record = string\n>(): Readonly<\n [ParamsOrKey] extends [string] ? Params : Partial\n> {\n let { matches } = React.useContext(RouteContext);\n let routeMatch = matches[matches.length - 1];\n return routeMatch ? (routeMatch.params as any) : {};\n}\n\n/**\n * Resolves the pathname of the given `to` value against the current location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useresolvedpath\n */\nexport function useResolvedPath(to: To): Path {\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n matches.map(match => match.pathnameBase)\n );\n\n return React.useMemo(\n () => resolveTo(to, JSON.parse(routePathnamesJson), locationPathname),\n [to, routePathnamesJson, locationPathname]\n );\n}\n\n/**\n * Returns the element of the route that matched the current location, prepared\n * with the correct context to render the remainder of the route tree. Route\n * elements in the tree must render an to render their child route's\n * element.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useroutes\n */\nexport function useRoutes(\n routes: RouteObject[],\n locationArg?: Partial | string\n): React.ReactElement | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useRoutes() may be used only in the context of a component.`\n );\n\n let { matches: parentMatches } = React.useContext(RouteContext);\n let routeMatch = parentMatches[parentMatches.length - 1];\n let parentParams = routeMatch ? routeMatch.params : {};\n let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n let parentRoute = routeMatch && routeMatch.route;\n\n if (__DEV__) {\n // You won't get a warning about 2 different under a \n // without a trailing *, but this is a best-effort warning anyway since we\n // cannot even give the warning unless they land at the parent route.\n //\n // Example:\n //\n // \n // {/* This route path MUST end with /* because otherwise\n // it will never match /blog/post/123 */}\n // } />\n // } />\n // \n //\n // function Blog() {\n // return (\n // \n // } />\n // \n // );\n // }\n let parentPath = (parentRoute && parentRoute.path) || \"\";\n warningOnce(\n parentPathname,\n !parentRoute || parentPath.endsWith(\"*\"),\n `You rendered descendant (or called \\`useRoutes()\\`) at ` +\n `\"${parentPathname}\" (under ) but the ` +\n `parent route path has no trailing \"*\". This means if you navigate ` +\n `deeper, the parent won't match anymore and therefore the child ` +\n `routes will never render.\\n\\n` +\n `Please change the parent to .`\n );\n }\n\n let locationFromContext = useLocation();\n\n let location;\n if (locationArg) {\n let parsedLocationArg =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n invariant(\n parentPathnameBase === \"/\" ||\n parsedLocationArg.pathname?.startsWith(parentPathnameBase),\n `When overriding the location using \\`\\` or \\`useRoutes(routes, location)\\`, ` +\n `the location pathname must begin with the portion of the URL pathname that was ` +\n `matched by all parent routes. The current pathname base is \"${parentPathnameBase}\" ` +\n `but pathname \"${parsedLocationArg.pathname}\" was given in the \\`location\\` prop.`\n );\n\n location = parsedLocationArg;\n } else {\n location = locationFromContext;\n }\n\n let pathname = location.pathname || \"/\";\n let remainingPathname =\n parentPathnameBase === \"/\"\n ? pathname\n : pathname.slice(parentPathnameBase.length) || \"/\";\n let matches = matchRoutes(routes, { pathname: remainingPathname });\n\n if (__DEV__) {\n warning(\n parentRoute || matches != null,\n `No routes matched location \"${location.pathname}${location.search}${location.hash}\" `\n );\n\n warning(\n matches == null ||\n matches[matches.length - 1].route.element !== undefined,\n `Matched leaf route at location \"${location.pathname}${location.search}${location.hash}\" does not have an element. ` +\n `This means it will render an with a null value by default resulting in an \"empty\" page.`\n );\n }\n\n return _renderMatches(\n matches &&\n matches.map(match =>\n Object.assign({}, match, {\n params: Object.assign({}, parentParams, match.params),\n pathname: joinPaths([parentPathnameBase, match.pathname]),\n pathnameBase:\n match.pathnameBase === \"/\"\n ? parentPathnameBase\n : joinPaths([parentPathnameBase, match.pathnameBase])\n })\n ),\n parentMatches\n );\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// UTILS\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * Creates a route config from a React \"children\" object, which is usually\n * either a `` element or an array of them. Used internally by\n * `` to create a route config from its children.\n *\n * @see https://reactrouter.com/docs/en/v6/api#createroutesfromchildren\n */\nexport function createRoutesFromChildren(\n children: React.ReactNode\n): RouteObject[] {\n let routes: RouteObject[] = [];\n\n React.Children.forEach(children, element => {\n if (!React.isValidElement(element)) {\n // Ignore non-elements. This allows people to more easily inline\n // conditionals in their route config.\n return;\n }\n\n if (element.type === React.Fragment) {\n // Transparently support React.Fragment and its children.\n routes.push.apply(\n routes,\n createRoutesFromChildren(element.props.children)\n );\n return;\n }\n\n invariant(\n element.type === Route,\n `[${\n typeof element.type === \"string\" ? element.type : element.type.name\n }] is not a component. All component children of must be a or `\n );\n\n let route: RouteObject = {\n caseSensitive: element.props.caseSensitive,\n element: element.props.element,\n index: element.props.index,\n path: element.props.path\n };\n\n if (element.props.children) {\n route.children = createRoutesFromChildren(element.props.children);\n }\n\n routes.push(route);\n });\n\n return routes;\n}\n\n/**\n * The parameters that were parsed from the URL path.\n */\nexport type Params = {\n readonly [key in Key]: string | undefined;\n};\n\n/**\n * A route object represents a logical route, with (optionally) its child\n * routes organized in a tree-like structure.\n */\nexport interface RouteObject {\n caseSensitive?: boolean;\n children?: RouteObject[];\n element?: React.ReactNode;\n index?: boolean;\n path?: string;\n}\n\n/**\n * Returns a path with params interpolated.\n *\n * @see https://reactrouter.com/docs/en/v6/api#generatepath\n */\nexport function generatePath(path: string, params: Params = {}): string {\n return path\n .replace(/:(\\w+)/g, (_, key) => {\n invariant(params[key] != null, `Missing \":${key}\" param`);\n return params[key]!;\n })\n .replace(/\\/*\\*$/, _ =>\n params[\"*\"] == null ? \"\" : params[\"*\"].replace(/^\\/*/, \"/\")\n );\n}\n\n/**\n * A RouteMatch contains info about how a route matched a URL.\n */\nexport interface RouteMatch {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The route object that was used to match.\n */\n route: RouteObject;\n}\n\n/**\n * Matches the given routes to a location and returns the match data.\n *\n * @see https://reactrouter.com/docs/en/v6/api#matchroutes\n */\nexport function matchRoutes(\n routes: RouteObject[],\n locationArg: Partial | string,\n basename = \"/\"\n): RouteMatch[] | null {\n let location =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n let pathname = stripBasename(location.pathname || \"/\", basename);\n\n if (pathname == null) {\n return null;\n }\n\n let branches = flattenRoutes(routes);\n rankRouteBranches(branches);\n\n let matches = null;\n for (let i = 0; matches == null && i < branches.length; ++i) {\n matches = matchRouteBranch(branches[i], pathname);\n }\n\n return matches;\n}\n\ninterface RouteMeta {\n relativePath: string;\n caseSensitive: boolean;\n childrenIndex: number;\n route: RouteObject;\n}\n\ninterface RouteBranch {\n path: string;\n score: number;\n routesMeta: RouteMeta[];\n}\n\nfunction flattenRoutes(\n routes: RouteObject[],\n branches: RouteBranch[] = [],\n parentsMeta: RouteMeta[] = [],\n parentPath = \"\"\n): RouteBranch[] {\n routes.forEach((route, index) => {\n let meta: RouteMeta = {\n relativePath: route.path || \"\",\n caseSensitive: route.caseSensitive === true,\n childrenIndex: index,\n route\n };\n\n if (meta.relativePath.startsWith(\"/\")) {\n invariant(\n meta.relativePath.startsWith(parentPath),\n `Absolute route path \"${meta.relativePath}\" nested under path ` +\n `\"${parentPath}\" is not valid. An absolute child route path ` +\n `must start with the combined path of all its parent routes.`\n );\n\n meta.relativePath = meta.relativePath.slice(parentPath.length);\n }\n\n let path = joinPaths([parentPath, meta.relativePath]);\n let routesMeta = parentsMeta.concat(meta);\n\n // Add the children before adding this route to the array so we traverse the\n // route tree depth-first and child routes appear before their parents in\n // the \"flattened\" version.\n if (route.children && route.children.length > 0) {\n invariant(\n route.index !== true,\n `Index routes must not have child routes. Please remove ` +\n `all child routes from route path \"${path}\".`\n );\n\n flattenRoutes(route.children, branches, routesMeta, path);\n }\n\n // Routes without a path shouldn't ever match by themselves unless they are\n // index routes, so don't add them to the list of possible branches.\n if (route.path == null && !route.index) {\n return;\n }\n\n branches.push({ path, score: computeScore(path, route.index), routesMeta });\n });\n\n return branches;\n}\n\nfunction rankRouteBranches(branches: RouteBranch[]): void {\n branches.sort((a, b) =>\n a.score !== b.score\n ? b.score - a.score // Higher score first\n : compareIndexes(\n a.routesMeta.map(meta => meta.childrenIndex),\n b.routesMeta.map(meta => meta.childrenIndex)\n )\n );\n}\n\nconst paramRe = /^:\\w+$/;\nconst dynamicSegmentValue = 3;\nconst indexRouteValue = 2;\nconst emptySegmentValue = 1;\nconst staticSegmentValue = 10;\nconst splatPenalty = -2;\nconst isSplat = (s: string) => s === \"*\";\n\nfunction computeScore(path: string, index: boolean | undefined): number {\n let segments = path.split(\"/\");\n let initialScore = segments.length;\n if (segments.some(isSplat)) {\n initialScore += splatPenalty;\n }\n\n if (index) {\n initialScore += indexRouteValue;\n }\n\n return segments\n .filter(s => !isSplat(s))\n .reduce(\n (score, segment) =>\n score +\n (paramRe.test(segment)\n ? dynamicSegmentValue\n : segment === \"\"\n ? emptySegmentValue\n : staticSegmentValue),\n initialScore\n );\n}\n\nfunction compareIndexes(a: number[], b: number[]): number {\n let siblings =\n a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n\n return siblings\n ? // If two routes are siblings, we should try to match the earlier sibling\n // first. This allows people to have fine-grained control over the matching\n // behavior by simply putting routes with identical paths in the order they\n // want them tried.\n a[a.length - 1] - b[b.length - 1]\n : // Otherwise, it doesn't really make sense to rank non-siblings by index,\n // so they sort equally.\n 0;\n}\n\nfunction matchRouteBranch(\n branch: RouteBranch,\n pathname: string\n): RouteMatch[] | null {\n let { routesMeta } = branch;\n\n let matchedParams = {};\n let matchedPathname = \"/\";\n let matches: RouteMatch[] = [];\n for (let i = 0; i < routesMeta.length; ++i) {\n let meta = routesMeta[i];\n let end = i === routesMeta.length - 1;\n let remainingPathname =\n matchedPathname === \"/\"\n ? pathname\n : pathname.slice(matchedPathname.length) || \"/\";\n let match = matchPath(\n { path: meta.relativePath, caseSensitive: meta.caseSensitive, end },\n remainingPathname\n );\n\n if (!match) return null;\n\n Object.assign(matchedParams, match.params);\n\n let route = meta.route;\n\n matches.push({\n params: matchedParams,\n pathname: joinPaths([matchedPathname, match.pathname]),\n pathnameBase: joinPaths([matchedPathname, match.pathnameBase]),\n route\n });\n\n if (match.pathnameBase !== \"/\") {\n matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n }\n }\n\n return matches;\n}\n\n/**\n * Renders the result of `matchRoutes()` into a React element.\n */\nexport function renderMatches(\n matches: RouteMatch[] | null\n): React.ReactElement | null {\n return _renderMatches(matches);\n}\n\nfunction _renderMatches(\n matches: RouteMatch[] | null,\n parentMatches: RouteMatch[] = []\n): React.ReactElement | null {\n if (matches == null) return null;\n\n return matches.reduceRight((outlet, match, index) => {\n return (\n \n }\n value={{\n outlet,\n matches: parentMatches.concat(matches.slice(0, index + 1))\n }}\n />\n );\n }, null as React.ReactElement | null);\n}\n\n/**\n * A PathPattern is used to match on some portion of a URL pathname.\n */\nexport interface PathPattern {\n /**\n * A string to match against a URL pathname. May contain `:id`-style segments\n * to indicate placeholders for dynamic parameters. May also end with `/*` to\n * indicate matching the rest of the URL pathname.\n */\n path: Path;\n /**\n * Should be `true` if the static portions of the `path` should be matched in\n * the same case.\n */\n caseSensitive?: boolean;\n /**\n * Should be `true` if this pattern should match the entire URL pathname.\n */\n end?: boolean;\n}\n\n/**\n * A PathMatch contains info about how a PathPattern matched on a URL pathname.\n */\nexport interface PathMatch {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The pattern that was used to match.\n */\n pattern: PathPattern;\n}\n\ntype Mutable = {\n -readonly [P in keyof T]: T[P];\n};\n\n/**\n * Performs pattern matching on a URL pathname and returns information about\n * the match.\n *\n * @see https://reactrouter.com/docs/en/v6/api#matchpath\n */\nexport function matchPath<\n ParamKey extends ParamParseKey,\n Path extends string\n>(\n pattern: PathPattern | Path,\n pathname: string\n): PathMatch | null {\n if (typeof pattern === \"string\") {\n pattern = { path: pattern, caseSensitive: false, end: true };\n }\n\n let [matcher, paramNames] = compilePath(\n pattern.path,\n pattern.caseSensitive,\n pattern.end\n );\n\n let match = pathname.match(matcher);\n if (!match) return null;\n\n let matchedPathname = match[0];\n let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n let captureGroups = match.slice(1);\n let params: Params = paramNames.reduce>(\n (memo, paramName, index) => {\n // We need to compute the pathnameBase here using the raw splat value\n // instead of using params[\"*\"] later because it will be decoded then\n if (paramName === \"*\") {\n let splatValue = captureGroups[index] || \"\";\n pathnameBase = matchedPathname\n .slice(0, matchedPathname.length - splatValue.length)\n .replace(/(.)\\/+$/, \"$1\");\n }\n\n memo[paramName] = safelyDecodeURIComponent(\n captureGroups[index] || \"\",\n paramName\n );\n return memo;\n },\n {}\n );\n\n return {\n params,\n pathname: matchedPathname,\n pathnameBase,\n pattern\n };\n}\n\nfunction compilePath(\n path: string,\n caseSensitive = false,\n end = true\n): [RegExp, string[]] {\n warning(\n path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"),\n `Route path \"${path}\" will be treated as if it were ` +\n `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n\n let paramNames: string[] = [];\n let regexpSource =\n \"^\" +\n path\n .replace(/\\/*\\*?$/, \"\") // Ignore trailing / and /*, we'll handle it below\n .replace(/^\\/*/, \"/\") // Make sure it has a leading /\n .replace(/[\\\\.*+^$?{}|()[\\]]/g, \"\\\\$&\") // Escape special regex chars\n .replace(/:(\\w+)/g, (_: string, paramName: string) => {\n paramNames.push(paramName);\n return \"([^\\\\/]+)\";\n });\n\n if (path.endsWith(\"*\")) {\n paramNames.push(\"*\");\n regexpSource +=\n path === \"*\" || path === \"/*\"\n ? \"(.*)$\" // Already matched the initial /, just match the rest\n : \"(?:\\\\/(.+)|\\\\/*)$\"; // Don't include the / in params[\"*\"]\n } else {\n regexpSource += end\n ? \"\\\\/*$\" // When matching to the end, ignore trailing slashes\n : // Otherwise, match a word boundary or a proceeding /. The word boundary restricts\n // parent routes to matching only their own words and nothing more, e.g. parent\n // route \"/home\" should not match \"/home2\".\n \"(?:\\\\b|\\\\/|$)\";\n }\n\n let matcher = new RegExp(regexpSource, caseSensitive ? undefined : \"i\");\n\n return [matcher, paramNames];\n}\n\nfunction safelyDecodeURIComponent(value: string, paramName: string) {\n try {\n return decodeURIComponent(value);\n } catch (error) {\n warning(\n false,\n `The value for the URL param \"${paramName}\" will not be decoded because` +\n ` the string \"${value}\" is a malformed URL segment. This is probably` +\n ` due to a bad percent encoding (${error}).`\n );\n\n return value;\n }\n}\n\n/**\n * Returns a resolved path object relative to the given pathname.\n *\n * @see https://reactrouter.com/docs/en/v6/api#resolvepath\n */\nexport function resolvePath(to: To, fromPathname = \"/\"): Path {\n let {\n pathname: toPathname,\n search = \"\",\n hash = \"\"\n } = typeof to === \"string\" ? parsePath(to) : to;\n\n let pathname = toPathname\n ? toPathname.startsWith(\"/\")\n ? toPathname\n : resolvePathname(toPathname, fromPathname)\n : fromPathname;\n\n return {\n pathname,\n search: normalizeSearch(search),\n hash: normalizeHash(hash)\n };\n}\n\nfunction resolvePathname(relativePath: string, fromPathname: string): string {\n let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n let relativeSegments = relativePath.split(\"/\");\n\n relativeSegments.forEach(segment => {\n if (segment === \"..\") {\n // Keep the root \"\" segment so the pathname starts at /\n if (segments.length > 1) segments.pop();\n } else if (segment !== \".\") {\n segments.push(segment);\n }\n });\n\n return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\n\nfunction resolveTo(\n toArg: To,\n routePathnames: string[],\n locationPathname: string\n): Path {\n let to = typeof toArg === \"string\" ? parsePath(toArg) : toArg;\n let toPathname = toArg === \"\" || to.pathname === \"\" ? \"/\" : to.pathname;\n\n // If a pathname is explicitly provided in `to`, it should be relative to the\n // route context. This is explained in `Note on `` values` in our\n // migration guide from v5 as a means of disambiguation between `to` values\n // that begin with `/` and those that do not. However, this is problematic for\n // `to` values that do not provide a pathname. `to` can simply be a search or\n // hash string, in which case we should assume that the navigation is relative\n // to the current location's pathname and *not* the route pathname.\n let from: string;\n if (toPathname == null) {\n from = locationPathname;\n } else {\n let routePathnameIndex = routePathnames.length - 1;\n\n if (toPathname.startsWith(\"..\")) {\n let toSegments = toPathname.split(\"/\");\n\n // Each leading .. segment means \"go up one route\" instead of \"go up one\n // URL segment\". This is a key difference from how works and a\n // major reason we call this a \"to\" value instead of a \"href\".\n while (toSegments[0] === \"..\") {\n toSegments.shift();\n routePathnameIndex -= 1;\n }\n\n to.pathname = toSegments.join(\"/\");\n }\n\n // If there are more \"..\" segments than parent routes, resolve relative to\n // the root / URL.\n from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n }\n\n let path = resolvePath(to, from);\n\n // Ensure the pathname has a trailing slash if the original to value had one.\n if (\n toPathname &&\n toPathname !== \"/\" &&\n toPathname.endsWith(\"/\") &&\n !path.pathname.endsWith(\"/\")\n ) {\n path.pathname += \"/\";\n }\n\n return path;\n}\n\nfunction getToPathname(to: To): string | undefined {\n // Empty strings should be treated the same as / paths\n return to === \"\" || (to as Path).pathname === \"\"\n ? \"/\"\n : typeof to === \"string\"\n ? parsePath(to).pathname\n : to.pathname;\n}\n\nfunction stripBasename(pathname: string, basename: string): string | null {\n if (basename === \"/\") return pathname;\n\n if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n return null;\n }\n\n let nextChar = pathname.charAt(basename.length);\n if (nextChar && nextChar !== \"/\") {\n // pathname does not start with basename/\n return null;\n }\n\n return pathname.slice(basename.length) || \"/\";\n}\n\nconst joinPaths = (paths: string[]): string =>\n paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\n\nconst normalizePathname = (pathname: string): string =>\n pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\n\nconst normalizeSearch = (search: string): string =>\n !search || search === \"?\"\n ? \"\"\n : search.startsWith(\"?\")\n ? search\n : \"?\" + search;\n\nconst normalizeHash = (hash: string): string =>\n !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\n\n///////////////////////////////////////////////////////////////////////////////\n// DANGER! PLEASE READ ME!\n// We provide these exports as an escape hatch in the event that you need any\n// routing data that we don't provide an explicit API for. With that said, we\n// want to cover your use case if we can, so if you feel the need to use these\n// we want to hear from you. Let us know what you're building and we'll do our\n// best to make sure we can support you!\n//\n// We consider these exports an implementation detail and do not guarantee\n// against any breaking changes, regardless of the semver release. Use with\n// extreme caution and only if you understand the consequences. Godspeed.\n///////////////////////////////////////////////////////////////////////////////\n\n/** @internal */\nexport {\n NavigationContext as UNSAFE_NavigationContext,\n LocationContext as UNSAFE_LocationContext,\n RouteContext as UNSAFE_RouteContext\n};\n","import * as React from \"react\";\nimport type { BrowserHistory, HashHistory, History } from \"history\";\nimport { createBrowserHistory, createHashHistory, createPath } from \"history\";\nimport {\n MemoryRouter,\n Navigate,\n Outlet,\n Route,\n Router,\n Routes,\n createRoutesFromChildren,\n generatePath,\n matchRoutes,\n matchPath,\n resolvePath,\n renderMatches,\n useHref,\n useInRouterContext,\n useLocation,\n useMatch,\n useNavigate,\n useNavigationType,\n useOutlet,\n useParams,\n useResolvedPath,\n useRoutes,\n useOutletContext\n} from \"react-router\";\nimport type { To } from \"react-router\";\n\nfunction warning(cond: boolean, message: string): void {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging React Router!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// RE-EXPORTS\n////////////////////////////////////////////////////////////////////////////////\n\n// Note: Keep in sync with react-router exports!\nexport {\n MemoryRouter,\n Navigate,\n Outlet,\n Route,\n Router,\n Routes,\n createRoutesFromChildren,\n generatePath,\n matchRoutes,\n matchPath,\n renderMatches,\n resolvePath,\n useHref,\n useInRouterContext,\n useLocation,\n useMatch,\n useNavigate,\n useNavigationType,\n useOutlet,\n useParams,\n useResolvedPath,\n useRoutes,\n useOutletContext\n};\n\nexport type {\n Location,\n Path,\n To,\n NavigationType,\n MemoryRouterProps,\n NavigateFunction,\n NavigateOptions,\n NavigateProps,\n Navigator,\n OutletProps,\n Params,\n PathMatch,\n RouteMatch,\n RouteObject,\n RouteProps,\n PathRouteProps,\n LayoutRouteProps,\n IndexRouteProps,\n RouterProps,\n RoutesProps\n} from \"react-router\";\n\n///////////////////////////////////////////////////////////////////////////////\n// DANGER! PLEASE READ ME!\n// We provide these exports as an escape hatch in the event that you need any\n// routing data that we don't provide an explicit API for. With that said, we\n// want to cover your use case if we can, so if you feel the need to use these\n// we want to hear from you. Let us know what you're building and we'll do our\n// best to make sure we can support you!\n//\n// We consider these exports an implementation detail and do not guarantee\n// against any breaking changes, regardless of the semver release. Use with\n// extreme caution and only if you understand the consequences. Godspeed.\n///////////////////////////////////////////////////////////////////////////////\n\n/** @internal */\nexport {\n UNSAFE_NavigationContext,\n UNSAFE_LocationContext,\n UNSAFE_RouteContext\n} from \"react-router\";\n\n////////////////////////////////////////////////////////////////////////////////\n// COMPONENTS\n////////////////////////////////////////////////////////////////////////////////\n\nexport interface BrowserRouterProps {\n basename?: string;\n children?: React.ReactNode;\n window?: Window;\n}\n\n/**\n * A `` for use in web browsers. Provides the cleanest URLs.\n */\nexport function BrowserRouter({\n basename,\n children,\n window\n}: BrowserRouterProps) {\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createBrowserHistory({ window });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nexport interface HashRouterProps {\n basename?: string;\n children?: React.ReactNode;\n window?: Window;\n}\n\n/**\n * A `` for use in web browsers. Stores the location in the hash\n * portion of the URL so it is not sent to the server.\n */\nexport function HashRouter({ basename, children, window }: HashRouterProps) {\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createHashHistory({ window });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nexport interface HistoryRouterProps {\n basename?: string;\n children?: React.ReactNode;\n history: History;\n}\n\n/**\n * A `` that accepts a pre-instantiated history object. It's important\n * to note that using your own history object is highly discouraged and may add\n * two versions of the history library to your bundles unless you use the same\n * version of the history library that React Router uses internally.\n */\nfunction HistoryRouter({ basename, children, history }: HistoryRouterProps) {\n const [state, setState] = React.useState({\n action: history.action,\n location: history.location\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nif (__DEV__) {\n HistoryRouter.displayName = \"unstable_HistoryRouter\";\n}\n\nexport { HistoryRouter as unstable_HistoryRouter };\n\nfunction isModifiedEvent(event: React.MouseEvent) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nexport interface LinkProps\n extends Omit, \"href\"> {\n reloadDocument?: boolean;\n replace?: boolean;\n state?: any;\n to: To;\n}\n\n/**\n * The public API for rendering a history-aware .\n */\nexport const Link = React.forwardRef(\n function LinkWithRef(\n { onClick, reloadDocument, replace = false, state, target, to, ...rest },\n ref\n ) {\n let href = useHref(to);\n let internalOnClick = useLinkClickHandler(to, { replace, state, target });\n function handleClick(\n event: React.MouseEvent\n ) {\n if (onClick) onClick(event);\n if (!event.defaultPrevented && !reloadDocument) {\n internalOnClick(event);\n }\n }\n\n return (\n // eslint-disable-next-line jsx-a11y/anchor-has-content\n \n );\n }\n);\n\nif (__DEV__) {\n Link.displayName = \"Link\";\n}\n\nexport interface NavLinkProps\n extends Omit {\n children:\n | React.ReactNode\n | ((props: { isActive: boolean }) => React.ReactNode);\n caseSensitive?: boolean;\n className?: string | ((props: { isActive: boolean }) => string);\n end?: boolean;\n style?:\n | React.CSSProperties\n | ((props: { isActive: boolean }) => React.CSSProperties);\n}\n\n/**\n * A wrapper that knows if it's \"active\" or not.\n */\nexport const NavLink = React.forwardRef(\n function NavLinkWithRef(\n {\n \"aria-current\": ariaCurrentProp = \"page\",\n caseSensitive = false,\n className: classNameProp = \"\",\n end = false,\n style: styleProp,\n to,\n children,\n ...rest\n },\n ref\n ) {\n let location = useLocation();\n let path = useResolvedPath(to);\n\n let locationPathname = location.pathname;\n let toPathname = path.pathname;\n if (!caseSensitive) {\n locationPathname = locationPathname.toLowerCase();\n toPathname = toPathname.toLowerCase();\n }\n\n let isActive =\n locationPathname === toPathname ||\n (!end &&\n locationPathname.startsWith(toPathname) &&\n locationPathname.charAt(toPathname.length) === \"/\");\n\n let ariaCurrent = isActive ? ariaCurrentProp : undefined;\n\n let className: string;\n if (typeof classNameProp === \"function\") {\n className = classNameProp({ isActive });\n } else {\n // If the className prop is not a function, we use a default `active`\n // class for s that are active. In v5 `active` was the default\n // value for `activeClassName`, but we are removing that API and can still\n // use the old default behavior for a cleaner upgrade path and keep the\n // simple styling rules working as they currently do.\n className = [classNameProp, isActive ? \"active\" : null]\n .filter(Boolean)\n .join(\" \");\n }\n\n let style =\n typeof styleProp === \"function\" ? styleProp({ isActive }) : styleProp;\n\n return (\n \n {typeof children === \"function\" ? children({ isActive }) : children}\n \n );\n }\n);\n\nif (__DEV__) {\n NavLink.displayName = \"NavLink\";\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// HOOKS\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Handles the click behavior for router `` components. This is useful if\n * you need to create custom `` components with the same click behavior we\n * use in our exported ``.\n */\nexport function useLinkClickHandler(\n to: To,\n {\n target,\n replace: replaceProp,\n state\n }: {\n target?: React.HTMLAttributeAnchorTarget;\n replace?: boolean;\n state?: any;\n } = {}\n): (event: React.MouseEvent) => void {\n let navigate = useNavigate();\n let location = useLocation();\n let path = useResolvedPath(to);\n\n return React.useCallback(\n (event: React.MouseEvent) => {\n if (\n event.button === 0 && // Ignore everything but left clicks\n (!target || target === \"_self\") && // Let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // Ignore clicks with modifier keys\n ) {\n event.preventDefault();\n\n // If the URL hasn't changed, a regular will do a replace instead of\n // a push, so do the same here.\n let replace =\n !!replaceProp || createPath(location) === createPath(path);\n\n navigate(to, { replace, state });\n }\n },\n [location, navigate, path, replaceProp, state, target, to]\n );\n}\n\n/**\n * A convenient wrapper for reading and writing search parameters via the\n * URLSearchParams interface.\n */\nexport function useSearchParams(defaultInit?: URLSearchParamsInit) {\n warning(\n typeof URLSearchParams !== \"undefined\",\n `You cannot use the \\`useSearchParams\\` hook in a browser that does not ` +\n `support the URLSearchParams API. If you need to support Internet ` +\n `Explorer 11, we recommend you load a polyfill such as ` +\n `https://github.com/ungap/url-search-params\\n\\n` +\n `If you're unsure how to load polyfills, we recommend you check out ` +\n `https://polyfill.io/v3/ which provides some recommendations about how ` +\n `to load polyfills only for users that need them, instead of for every ` +\n `user.`\n );\n\n let defaultSearchParamsRef = React.useRef(createSearchParams(defaultInit));\n\n let location = useLocation();\n let searchParams = React.useMemo(() => {\n let searchParams = createSearchParams(location.search);\n\n for (let key of defaultSearchParamsRef.current.keys()) {\n if (!searchParams.has(key)) {\n defaultSearchParamsRef.current.getAll(key).forEach(value => {\n searchParams.append(key, value);\n });\n }\n }\n\n return searchParams;\n }, [location.search]);\n\n let navigate = useNavigate();\n let setSearchParams = React.useCallback(\n (\n nextInit: URLSearchParamsInit,\n navigateOptions?: { replace?: boolean; state?: any }\n ) => {\n navigate(\"?\" + createSearchParams(nextInit), navigateOptions);\n },\n [navigate]\n );\n\n return [searchParams, setSearchParams] as const;\n}\n\nexport type ParamKeyValuePair = [string, string];\n\nexport type URLSearchParamsInit =\n | string\n | ParamKeyValuePair[]\n | Record\n | URLSearchParams;\n\n/**\n * Creates a URLSearchParams object using the given initializer.\n *\n * This is identical to `new URLSearchParams(init)` except it also\n * supports arrays as values in the object form of the initializer\n * instead of just strings. This is convenient when you need multiple\n * values for a given key, but don't want to use an array initializer.\n *\n * For example, instead of:\n *\n * let searchParams = new URLSearchParams([\n * ['sort', 'name'],\n * ['sort', 'price']\n * ]);\n *\n * you can do:\n *\n * let searchParams = createSearchParams({\n * sort: ['name', 'price']\n * });\n */\nexport function createSearchParams(\n init: URLSearchParamsInit = \"\"\n): URLSearchParams {\n return new URLSearchParams(\n typeof init === \"string\" ||\n Array.isArray(init) ||\n init instanceof URLSearchParams\n ? init\n : Object.keys(init).reduce((memo, key) => {\n let value = init[key];\n return memo.concat(\n Array.isArray(value) ? value.map(v => [key, v]) : [[key, value]]\n );\n }, [] as ParamKeyValuePair[])\n );\n}\n","/**\n * Find an element with the given HTML tag and selector, raising an exception\n * if it's not found.\n *\n * @param tagName The name of the element's HTML tag.\n * @param selector The selector for the element, not including its HTML tag.\n * @param parent The parent node to search within (defaults to `document`).\n */\nexport function getHTMLElement(\n tagName: K,\n selector: string,\n parent: ParentNode = document\n): HTMLElementTagNameMap[K] {\n const finalSelector = `${tagName}${selector}`;\n const node = parent.querySelector(finalSelector);\n if (!node) {\n throw new Error(`Couldn't find any elements matching \"${finalSelector}\"`);\n }\n return node as HTMLElementTagNameMap[K];\n}\n","/**\n * Assert that the given argument isn't null and return it. Throw\n * an exception otherwise.\n *\n * This is primarily useful for situations where we're unable to\n * statically verify that something isn't null (e.g. due to the limitations\n * of typings we didn't write) but are sure it won't be in practice.\n */\nexport function assertNotNull(thing: T | null): T | never {\n if (thing === null) {\n throw new Error(\"Assertion failure, expected argument to not be null!\");\n }\n return thing;\n}\n\n/**\n * Assert that the given argument isn't undefined and return it. Throw\n * an exception otherwise.\n *\n * This is primarily useful for situations where we're unable to\n * statically verify that something isn't undefined (e.g. due to the limitations\n * of typings we didn't write) but are sure it won't be in practice.\n */\nexport function assertNotUndefined(thing: T | undefined): T | never {\n if (thing === undefined) {\n throw new Error(\n \"Assertion failure, expected argument to not be undefined!\"\n );\n }\n return thing;\n}\n\n/**\n * This function throws an exception with the given optional message. It's\n * useful as an assertion in combination with the logical OR or nullish\n * coalescing operators, as a way of asserting that a value must always\n * be truthy or non-nullish.\n */\nexport function hardFail(\n msg: string = \"Code should never reach this point!\"\n): never {\n throw new Error(msg);\n}\n","export { getHTMLElement } from \"./get-html-element\";\nexport { assertNotNull, assertNotUndefined, hardFail } from \"./assertions\";\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = _default;\nexports.setCookie = exports.getCookie = void 0;\n\nvar _react = require(\"react\");\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar isBrowser = typeof window !== 'undefined';\n\nvar setCookie = function setCookie(name, value, options) {\n if (!isBrowser) return;\n\n var optionsWithDefaults = _objectSpread({\n days: 7,\n path: '/'\n }, options);\n\n var expires = new Date(Date.now() + optionsWithDefaults.days * 864e5).toUTCString();\n document.cookie = name + '=' + encodeURIComponent(value) + '; expires=' + expires + '; path=' + optionsWithDefaults.path;\n};\n\nexports.setCookie = setCookie;\n\nvar getCookie = function getCookie(name) {\n var initialValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n return isBrowser && document.cookie.split('; ').reduce(function (r, v) {\n var parts = v.split('=');\n return parts[0] === name ? decodeURIComponent(parts[1]) : r;\n }, '') || initialValue;\n};\n\nexports.getCookie = getCookie;\n\nfunction _default(key, initialValue) {\n var _useState = (0, _react.useState)(function () {\n return getCookie(key, initialValue);\n }),\n _useState2 = _slicedToArray(_useState, 2),\n item = _useState2[0],\n setItem = _useState2[1];\n\n var updateItem = function updateItem(value, options) {\n setItem(value);\n setCookie(key, value, options);\n };\n\n return [item, updateItem];\n}","\r\nimport React from \"react\";\r\nimport useCookie from \"react-use-cookie\";\r\n\r\ninterface AuthContextType {\r\n isAuthenticated: string;\r\n signin: (password: string, callback: VoidFunction) => void;\r\n}\r\n\r\nexport const AuthContext = React.createContext(null!);\r\n\r\nexport function AuthProvider({ children }: { children: React.ReactNode }) {\r\n let [isAuthenticated, setAuthentication] = useCookie(\"auth\", \"\");\r\n\r\n let signin = (password: string, callback: VoidFunction) => {\r\n setAuthentication(password);\r\n callback();\r\n };\r\n\r\n let value = { isAuthenticated, signin };\r\n\r\n return {children}\r\n}\r\n","import { type } from \"os\";\n\n/**\n * Convert the given value to an integer, throwing an error if\n * the conversion doesn't work.\n */\nexport function toInt(value: any): number {\n const result = parseInt(value);\n if (isNaN(result)) {\n throw new Error(`\"${value}\" is not an integer!`);\n }\n return result;\n}\n\n/**\n * Convert the given value to either an integer or just pass it \n * through if it's null. Throw an error if the conversion doesn't work.\n */\nexport function toIntOrNull(value: any): number|null {\n if (value === null) return null;\n return toInt(value);\n}\n\n/**\n * Ensure the given value is a string, throwing an error otherwise.\n */\nexport function ensureString(value: any): string {\n if (typeof(value) !== \"string\") {\n throw new Error(`\"${value}\" is not a string!`);\n }\n\n return value;\n}\n","export type Query = {\n files: QueryFiles,\n sqlToRow: (row: any) => Row,\n csvHeader: string[],\n toCsvRow: (row: Row) => string[],\n};\n\nexport class QueryFiles {\n readonly sql: string;\n readonly json: string;\n readonly csv: string;\n\n constructor(readonly baseName: string) {\n this.sql = `${baseName}.sql`;\n this.json = `${baseName}.json`;\n this.csv = `${baseName}.csv`;\n }\n}\n","import { toInt } from \"../converters\";\nimport { Query, QueryFiles } from \"../query\";\n\nexport const EVICTION_TIME_SERIES = new QueryFiles(`eviction-time-series`);\n\nexport function convertEvictionTimeSeriesRow(row: any) {\n return {\n day: (row.day as Date).toISOString(),\n nyc_holdover_filings: toInt(row.nyc_holdover_filings),\n nyc_holdover_res_filings: toInt(row.nyc_holdover_res_filings),\n nyc_nonpay_filings: toInt(row.nyc_nonpay_filings),\n nyc_nonpay_res_filings: toInt(row.nyc_nonpay_res_filings),\n outside_nyc_holdover_filings: toInt(row.outside_nyc_holdover_filings),\n outside_nyc_nonpay_filings: toInt(row.outside_nyc_nonpay_filings),\n total_filings: toInt(row.total_filings),\n };\n}\n\nexport type EvictionTimeSeriesRow = ReturnType;\n\nexport type EvictionTimeSeriesNumericFields = Omit;\n\nfunction getEvictionTimeSeriesCsvHeader(): string[] {\n return [\n 'day',\n 'nyc_holdover_filings',\n 'nyc_holdover_res_filings',\n 'nyc_nonpay_filings',\n 'nyc_nonpay_res_filings',\n 'outside_nyc_holdover_filings',\n 'outside_nyc_nonpay_filings',\n 'total_filings',\n ];\n}\n\nfunction toEvictionTimeSeriesCsvRow(row: EvictionTimeSeriesRow): string[] {\n return [\n row.day.substr(0, 10),\n row.nyc_holdover_filings.toString(),\n row.nyc_holdover_res_filings.toString(),\n row.nyc_nonpay_filings.toString(),\n row.nyc_nonpay_res_filings.toString(),\n row.outside_nyc_holdover_filings.toString(),\n row.outside_nyc_nonpay_filings.toString(),\n row.total_filings.toString(),\n ];\n}\n\nexport const EvictionTimeSeriesQuery: Query = {\n files: EVICTION_TIME_SERIES,\n sqlToRow: convertEvictionTimeSeriesRow,\n csvHeader: getEvictionTimeSeriesCsvHeader(),\n toCsvRow: toEvictionTimeSeriesCsvRow,\n};\n","import { ensureString, toInt, toIntOrNull } from \"../converters\";\nimport { Query, QueryFiles } from \"../query\";\n\nexport const FILINGS_BY_ZIP = new QueryFiles(`filings-by-zip-since-0323`);\n\nexport const FILINGS_BY_ZIP_EMPTY_ROW: FilingsByZipRow = {\n zipcode: '',\n filings_since_032320: 0,\n unitsres_total: null,\n unitsrental: null,\n filingsrate_2plus: null,\n};\n\nexport function convertFilingsByZipRow(row: any) {\n return {\n zipcode: ensureString(row.zipcode),\n filings_since_032320: toInt(row.filings_since_032320),\n unitsres_total: toIntOrNull(row.unitsres_total),\n unitsrental: toIntOrNull(row.unitsrental),\n filingsrate_2plus: toIntOrNull(row.filingsrate_2plus),\n };\n}\n\nexport type FilingsByZipRow = ReturnType;\n\nfunction getCsvHeader(): string[] {\n return [\n 'zipcode',\n 'filings_since_032320',\n 'unitsres_total',\n 'unitsrental',\n 'filingsrate_2plus',\n ];\n}\n\nfunction toCsvRow(row: FilingsByZipRow): string[] {\n return [\n row.zipcode,\n row.filings_since_032320.toString(),\n row.unitsres_total?.toString() ?? '',\n row.unitsrental?.toString() ?? '',\n row.filingsrate_2plus?.toString() ?? '',\n ];\n}\n\nexport const FilingsByZipQuery: Query = {\n files: FILINGS_BY_ZIP,\n sqlToRow: convertFilingsByZipRow,\n csvHeader: getCsvHeader(),\n toCsvRow: toCsvRow,\n};\n","import { useEffect, useState } from \"react\";\n\n/** \n * Global singleton to cache all our data requests.\n */\nconst requests = new Map>();\n\nfunction getRequest(url: string): Promise {\n let request = requests.get(url);\n if (!request) {\n request = fetch(url).then(res => {\n if (!res.ok) {\n throw new Error(`Got HTTP ${res.status} when fetching ${url}`);\n }\n return res.json();\n });\n requests.set(url, request);\n }\n return request;\n}\n\n/**\n * Lazily-load a JSON file, showing the given fallback component until\n * the loading is complete.\n * \n * Once the loading is complete, the child is rendered and passed\n * the loaded data.\n * \n * NOTE: At present, the data, once loaded, is never freed.\n */\nexport function JsonLoader(props: {\n url: string,\n fallback: JSX.Element,\n children: (data: T) => JSX.Element,\n}): JSX.Element {\n const { url } = props;\n const [data, setData] = useState(null);\n\n useEffect(() => {\n getRequest(url).then(data => {\n setData(data);\n });\n }, [url]);\n\n if (data === null) return props.fallback;\n\n return props.children(data);\n}\n","import React from \"react\";\n\n/** A visualization that represents a geographic map (e.g. chloropeth). */\nexport const VIZ_GEO_CLASS = \"viz-geo\";\n\n/** A visualization that represents a time series. */\nexport const VIZ_TIME_SERIES_CLASS = \"viz-time-series\";\nexport const VIZ_TIME_SERIES_SHORT_CLASS = \"viz-time-series-short\";\n\n/** A visualization that represents a table. */\nexport const VIZ_TABLE_CLASS = \"viz-table\";\n\n\n// https://commons.wikimedia.org/wiki/File:Chromiumthrobber.svg\nconst ChromiumThrobber: React.FC<{}> = () => (\n \n \n \n \n \n);\n\n/**\n * Fallback component for a visualization that is still loading, letting\n * the user know that loading is occurring without causing layout\n * instability.\n */\nexport const VizFallback: React.FC<{className: string}> = ({className}) => (\n
    \n);\n","var bundleURL = null;\nfunction getBundleURLCached() {\n if (!bundleURL) {\n bundleURL = getBundleURL();\n }\n\n return bundleURL;\n}\n\nfunction getBundleURL() {\n // Attempt to find the URL of the current script and use that as the base URL\n try {\n throw new Error;\n } catch (err) {\n var matches = ('' + err.stack).match(/(https?|file|ftp|chrome-extension|moz-extension):\\/\\/[^)\\n]+/g);\n if (matches) {\n return getBaseURL(matches[0]);\n }\n }\n\n return '/';\n}\n\nfunction getBaseURL(url) {\n return ('' + url).replace(/^((?:https?|file|ftp|chrome-extension|moz-extension):\\/\\/.+)\\/[^/]+$/, '$1') + '/';\n}\n\nexports.getBundleURL = getBundleURLCached;\nexports.getBaseURL = getBaseURL;\n","var getBundleURL = require('./bundle-url').getBundleURL;\n\nfunction loadBundlesLazy(bundles) {\n if (!Array.isArray(bundles)) {\n bundles = [bundles]\n }\n\n var id = bundles[bundles.length - 1];\n\n try {\n return Promise.resolve(require(id));\n } catch (err) {\n if (err.code === 'MODULE_NOT_FOUND') {\n return new LazyPromise(function (resolve, reject) {\n loadBundles(bundles.slice(0, -1))\n .then(function () {\n return require(id);\n })\n .then(resolve, reject);\n });\n }\n\n throw err;\n }\n}\n\nfunction loadBundles(bundles) {\n return Promise.all(bundles.map(loadBundle));\n}\n\nvar bundleLoaders = {};\nfunction registerBundleLoader(type, loader) {\n bundleLoaders[type] = loader;\n}\n\nmodule.exports = exports = loadBundlesLazy;\nexports.load = loadBundles;\nexports.register = registerBundleLoader;\n\nvar bundles = {};\nfunction loadBundle(bundle) {\n var id;\n if (Array.isArray(bundle)) {\n id = bundle[1];\n bundle = bundle[0];\n }\n\n if (bundles[bundle]) {\n return bundles[bundle];\n }\n\n var type = (bundle.substring(bundle.lastIndexOf('.') + 1, bundle.length) || bundle).toLowerCase();\n var bundleLoader = bundleLoaders[type];\n if (bundleLoader) {\n return bundles[bundle] = bundleLoader(getBundleURL() + bundle)\n .then(function (resolved) {\n if (resolved) {\n module.bundle.register(id, resolved);\n }\n\n return resolved;\n }).catch(function(e) {\n delete bundles[bundle];\n \n throw e;\n });\n }\n}\n\nfunction LazyPromise(executor) {\n this.executor = executor;\n this.promise = null;\n}\n\nLazyPromise.prototype.then = function (onSuccess, onError) {\n if (this.promise === null) this.promise = new Promise(this.executor)\n return this.promise.then(onSuccess, onError)\n};\n\nLazyPromise.prototype.catch = function (onError) {\n if (this.promise === null) this.promise = new Promise(this.executor)\n return this.promise.catch(onError)\n};\n","import React, { Suspense } from \"react\";\nimport type { VegaLiteProps } from \"./vega\";\nimport { VizFallback } from \"./viz-util\";\n\nconst VegaLite = React.lazy(() => import(\"./vega\"));\n\n/**\n * Lazily-load a Vega visualization, showing a throbber while it's loading.\n * This will also lazily load the Vega library itself, which can be quite large.\n */\nexport const LazyVegaLite: React.FC = props => {\n return (\n }>\n \n \n );\n};\n","import { assertNotUndefined } from \"@justfixnyc/util\";\nimport React from \"react\";\nimport { useState } from \"react\";\nimport type { VisualizationSpec } from \"vega-embed\";\nimport { JsonLoader } from \"../json-loader\";\nimport { LazyVegaLite } from \"../vega-lazy\";\nimport { VizFallback, VIZ_TIME_SERIES_CLASS, VIZ_TIME_SERIES_SHORT_CLASS } from \"../viz-util\";\nimport { EvictionTimeSeriesNumericFields, EvictionTimeSeriesRow, EVICTION_TIME_SERIES } from \"./data\";\n\n/**\n * Take the array of data rows and get the date for the latest week we\n * have data and subtract a given number of weeks. This is used to draw\n * the rectangle on the graphs for the period where we have incomplete\n * data, due to repoting lags. The result is a string in the same format\n * as the \"week\" dates stored in the input data.\n */\nfunction getEvictionDataLagDate(\n data: EvictionTimeSeriesRow[],\n lagDays: number\n): string {\n const maxEvictionDateNum = Math.max.apply(\n Math,\n data.map(row => Date.parse(row.day))\n );\n let returnDate = new Date(maxEvictionDateNum);\n returnDate.setDate(returnDate.getDate() - lagDays);\n returnDate.setHours(0, 0, 0, 0);\n return returnDate.toISOString();\n}\n\ntype EvictionTimeUnit = \"yearweek\"|\"yearmonth\"|\"yearmonthdate\";\n\ntype EvictionVizProps = {\n fieldName: keyof EvictionTimeSeriesNumericFields,\n title: string,\n timeUnit: EvictionTimeUnit,\n height: number,\n};\n\nconst EvictionViz: React.FC = (props) => {\n return (\n \n url={EVICTION_TIME_SERIES.json}\n fallback={}>\n {(values) => }\n \n );\n};\n\nconst EvictionVizWithValues: React.FC = ({values, fieldName, title, timeUnit, height}) => {\n values = values.filter(\n // If we are viewing data by week, let's grab data since the first Sunday of Jan 2020\n // Otherwise, we can grab data from 1/1/2020 onwards\n row => row.day >= (timeUnit === \"yearweek\" ? \"2020-01-05 00:00:00\" : \"2020-01-01 00:00:00\")\n );\n const casesSinceCovid = values.filter(\n row => row.day >= \"2020-03-23 00:00:00\"\n ).reduce(\n (total, row) => total + row[fieldName], 0\n );\n const EvictionDataLagStart = getEvictionDataLagDate(values, 30); // 4 weeks for lag\n const EvictionDataLagEnd = getEvictionDataLagDate(values, 0); // latest date\n const timeUnitLabel = timeUnit === \"yearmonthdate\" ? \"Day\"\n : timeUnit === \"yearweek\" ? \"Week\" \n : \"Month\";\n const lineColor = \"#AF2525\";\n const spec: VisualizationSpec = {\n $schema: \"https://vega.github.io/schema/vega-lite/v4.json\",\n description: title,\n width: \"container\",\n height,\n title: {\n text: `${title}, 2020 - Present`,\n subtitle: [\n `Cases since COVID-19 (all cases, active and disposed): ${casesSinceCovid.toLocaleString()}`,\n // This effectively adds extra padding below the subtitle.\n \"\"\n ]\n },\n layer: [\n {\n data: {\n values: [\n {\n lagDateStart: EvictionDataLagStart,\n lagDateEnd: EvictionDataLagEnd,\n },\n ],\n },\n layer: [\n {\n mark: { type: \"rect\", color: \"grey\", opacity: 0.3 },\n encoding: {\n x: { field: \"lagDateStart\", type: \"temporal\" },\n x2: { field: \"lagDateEnd\", type: \"temporal\" },\n },\n },\n {\n mark: {\n type: \"text\",\n align: \"right\",\n baseline: \"bottom\",\n dy: -(height / 2) - 1,\n text:\n \"Due to reporting lags, data for most recent weeks (in gray) is incomplete\",\n },\n encoding: {\n x: { field: \"lagDateEnd\", type: \"temporal\" },\n },\n },\n ],\n },\n {\n data: {\n values,\n },\n encoding: {\n x: {\n timeUnit,\n field: \"day\",\n },\n tooltip: [\n {\n field: \"day\",\n timeUnit,\n title: `${timeUnitLabel} of`,\n type: \"temporal\",\n format: timeUnit === \"yearmonth\" ? \"%B\" : \"%b %d, %Y\",\n },\n {\n field: fieldName,\n aggregate: \"sum\",\n title: \"Filings\",\n formatType: \"numberWithCommas\"\n },\n ],\n },\n layer: [\n {\n mark: {\n type: \"line\",\n color: lineColor,\n interpolate: \"monotone\",\n },\n encoding: {\n x: {\n timeUnit,\n field: \"day\",\n axis: {\n title: \"\",\n format: \"%b ’%y\",\n labelAngle: 45,\n },\n },\n y: {\n field: fieldName,\n aggregate: \"sum\",\n axis: {\n title: `Eviction Filings per ${timeUnitLabel}`,\n },\n },\n },\n },\n {\n selection: {\n index: {\n type: \"single\",\n on: \"mousemove\",\n encodings: [\"x\"],\n nearest: true,\n empty: \"none\",\n clear: \"mouseout\"\n },\n },\n mark: { type: \"point\", strokeWidth: 4, color: lineColor },\n encoding: {\n x: {\n timeUnit,\n field: \"day\",\n },\n y: {\n field: fieldName,\n aggregate: \"sum\",\n type: \"quantitative\",\n },\n opacity: {\n condition: {\n selection: \"index\",\n value: 1,\n },\n value: 0,\n },\n },\n },\n ],\n },\n ],\n };\n\n return ;\n};\n\nexport function isEvictionTimeSeriesNumericField(value: string): value is keyof EvictionTimeSeriesNumericFields {\n return EVICTION_VISUALIZATIONS.has(value as any);\n}\n\nexport const EVICTION_VISUALIZATIONS: Map = new Map([\n [\"total_filings\", \"Total NY State Eviction Filings\"],\n [\"nyc_holdover_filings\", \"NYC Holdover Filings\"],\n [\"nyc_holdover_res_filings\", \"NYC Holdover Residential Filings\"],\n [\"nyc_nonpay_filings\", \"NYC Non-Payment Filings\"],\n [\"nyc_nonpay_res_filings\", \"NYC Non-Payment Residential Filings\"],\n [\"outside_nyc_holdover_filings\", \"Upstate Holdover Filings\"],\n [\"outside_nyc_nonpay_filings\", \"Upstate Non-Payment Filings\"],\n]);\n\nexport const EvictionVisualizations: React.FC<{\n height: number,\n fieldNames?: (keyof EvictionTimeSeriesNumericFields)[]\n}> = ({height, fieldNames}) => {\n const [timeUnit, setTimeUnit] = useState(\"yearweek\");\n\n fieldNames = fieldNames || Array.from(EVICTION_VISUALIZATIONS.keys());\n\n return (\n <>\n

    \n View by:  \n   \n   \n \n

    \n {fieldNames.map(fieldName => (\n \n ))}\n \n );\n};\n","import { toInt } from \"../converters\";\nimport { Query, QueryFiles } from \"../query\";\n\nexport const ACTIVE_CASES = new QueryFiles(`total-active-cases`);\n\nexport function convertActiveCasesRow(row: any) {\n return {\n day: (row.day as Date).toISOString(),\n active_cases: toInt(row.active_cases),\n };\n}\n\nexport type ActiveCasesRow = ReturnType;\n\nexport type ActiveCasesNumericFields = Omit;\n\nfunction getActiveCasesCsvHeader(): string[] {\n return [\n 'day',\n 'active_cases',\n ];\n}\n\nfunction toActiveCasesCsvRow(row: ActiveCasesRow): string[] {\n return [\n row.day.substr(0, 10),\n row.active_cases.toString(),\n ];\n}\n\nexport const ActiveCasesQuery: Query = {\n files: ACTIVE_CASES,\n sqlToRow: convertActiveCasesRow,\n csvHeader: getActiveCasesCsvHeader(),\n toCsvRow: toActiveCasesCsvRow,\n};","import { assertNotUndefined } from \"@justfixnyc/util\";\nimport React from \"react\";\nimport { useState } from \"react\";\nimport type { VisualizationSpec } from \"vega-embed\";\nimport { JsonLoader } from \"../json-loader\";\nimport { LazyVegaLite } from \"../vega-lazy\";\nimport { VizFallback, VIZ_TIME_SERIES_CLASS } from \"../viz-util\";\nimport { ActiveCasesNumericFields, ActiveCasesRow, ACTIVE_CASES } from \"./data\";\n\n/**\n * Take the array of data rows and get the date for the latest week we\n * have data and subtract a given number of weeks. This is used to draw\n * the rectangle on the graphs for the period where we have incomplete\n * data, due to repoting lags. The result is a string in the same format\n * as the \"week\" dates stored in the input data.\n */\nfunction getActiveCasesLagDate(\n data: ActiveCasesRow[],\n lagDays: number\n): string {\n const maxActiveCasesDateNum = Math.max.apply(\n Math,\n data.map(row => Date.parse(row.day))\n );\n let returnDate = new Date(maxActiveCasesDateNum);\n returnDate.setDate(returnDate.getDate() - lagDays);\n returnDate.setHours(0, 0, 0, 0);\n return returnDate.toISOString();\n}\n\ntype ActiveCasesTimeUnit = \"yearweek\"|\"yearmonth\"|\"yearmonthdate\";\n\ntype ActiveCasesVizProps = {\n fieldName: keyof ActiveCasesNumericFields,\n title: string,\n timeUnit: ActiveCasesTimeUnit,\n height: number,\n};\n\nconst ActiveCasesViz: React.FC = (props) => {\n return (\n url={ACTIVE_CASES.json} fallback={}>\n {(values) => }\n \n );\n};\n\nfunction thousands_separators(num: any)\n {\n var num_parts = num.toString().split(\".\");\n num_parts[0] = num_parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n return num_parts.join(\".\");\n }\n\nconst ActiveCasesVizWithValues: React.FC = ({values, fieldName, title, timeUnit, height}) => {\n values = values.filter(\n // If we are viewing data by week, let's grab data since the first Sunday of Jan 2020\n // Otherwise, we can grab data from 1/1/2020 onwards\n row => row.day >= (timeUnit === \"yearweek\" ? \"2020-01-05 00:00:00\" : \"2020-01-01 00:00:00\")\n );\n // const casesSinceCovid = values.filter(\n// row => row.day >= \"2020-03-23 00:00:00\"\n// ).reduce(\n// (total, row) => total + row[fieldName], 0\n// );\n// commented this out because this counter should probably be different from total active cases\n const ActiveCasesDataLagStart = getActiveCasesLagDate(values, 30); // 4 weeks for lag\n const ActiveCasesDataLagEnd = getActiveCasesLagDate(values, 0); // latest date\n const timeUnitLabel = timeUnit === \"yearmonthdate\" ? \"Day\"\n : timeUnit === \"yearweek\" ? \"Week\" \n : \"Month\";\n const lineColor = \"#AF2525\";\n const MoratoriumStart = new Date(\"2020-03-17\");\n const MoratoriumEnd = new Date(\"2020-06-20\");\n const MoratoriumMid = new Date(\"2020-05-05\");\n const MorTwoStart = new Date(\"2020-12-28\");\n const MorTwoEnd = new Date(\"2021-02-26\");\n const MorTwoMid = new Date(\"2021-01-26\");\n const lineTop = 20;\n const lineBottom = 20;\n \n\n const casesCovidStart = values.find(datapoint => datapoint.day === '2020-03-16T04:00:00.000Z')?.active_cases;\n const casesCovidStartThousands = thousands_separators(casesCovidStart);\n\n const spec: VisualizationSpec = {\n $schema: \"https://vega.github.io/schema/vega-lite/v4.json\",\n description: title,\n width: \"container\",\n height: 400,\n title: {\n text: `${title}`,\n fontSize: 16,\n subtitle: [\n `January 2020 - Present`,\n // This effectively adds extra padding below the subtitle.\n \"\"\n ]\n },\n layer: [\n {\n data: {\n values,\n },\n encoding: {\n x: {\n timeUnit,\n field: \"day\",\n },\n tooltip: [\n {\n field: \"day\",\n timeUnit,\n title: `${timeUnitLabel} of`,\n type: \"temporal\",\n format: timeUnit === \"yearmonth\" ? \"%B\" : \"%b %d, %Y\",\n },\n {\n field: fieldName,\n aggregate: \"sum\",\n title: \"Active Cases\",\n formatType: \"numberWithCommas\"\n },\n ],\n },\n layer: [\n {\n mark: {\n type: \"area\",\n color: lineColor,\n interpolate: \"monotone\",\n opacity: 0.6,\n },\n encoding: {\n x: {\n timeUnit,\n field: \"day\",\n axis: {\n title: \"\",\n format: \"%b ’%y\",\n labelAngle: 45,\n grid: false,\n },\n },\n y: {\n field: fieldName,\n aggregate: \"sum\",\n axis: {\n title: `Total Active Cases`,\n },\n scale: {\"zero\": false},\n },\n },\n },\n {\n mark: {\n type: \"line\",\n color: lineColor,\n interpolate: \"monotone\",\n strokeWidth: 4,\n },\n encoding: {\n x: {\n timeUnit,\n field: \"day\",\n axis: {\n title: \"\",\n format: \"%b ’%y\",\n },\n },\n y: {\n field: fieldName,\n aggregate: \"sum\",\n axis: {\n },\n scale: {\"zero\": false},\n },\n },\n },\n {\n selection: {\n index: {\n type: \"single\",\n on: \"mousemove\",\n encodings: [\"x\"],\n nearest: true,\n empty: \"none\",\n clear: \"mouseout\"\n },\n },\n mark: { type: \"point\", strokeWidth: 4, color: lineColor },\n encoding: {\n x: {\n timeUnit,\n field: \"day\",\n },\n y: {\n field: fieldName,\n aggregate: \"sum\",\n type: \"quantitative\",\n },\n opacity: {\n condition: {\n selection: \"index\",\n value: 1,\n },\n value: 0,\n },\n },\n },\n ],\n },\n {\n data: {\n values: [\n {\n lagDateStart: ActiveCasesDataLagStart,\n lagDateEnd: ActiveCasesDataLagEnd,\n },\n ],\n },\n layer: [\n {\n mark: { type: \"rect\", color: \"grey\", opacity: 0 }, // made rectangle opaque because it conflicted with second moratorium\n encoding: {\n x: { field: \"lagDateStart\", type: \"temporal\" },\n x2: { field: \"lagDateEnd\", type: \"temporal\" },\n },\n },\n // Request to take this out and include as note below chart instead.\n // {\n // mark: {\n // type: \"text\",\n // align: \"center\",\n // baseline: \"bottom\",\n // dy: -(height)-35,\n // dx: -50,\n // fontSize: 12,\n // text: [\"Recent court data incomplete\", \"due to reporting lags\"]\n // },\n // encoding: {\n // x: { field: \"lagDateEnd\", type: \"temporal\" },\n // },\n // },\n\n ],\n },\n {\n data: {\n values: [\n {\n morDateStart: MoratoriumStart,\n morDateEnd: MoratoriumEnd,\n morDateMid: MoratoriumMid,\n morTwoStart: MorTwoStart,\n morTwoEnd: MorTwoEnd,\n morTwoMid: MorTwoMid,\n covidCasesStart: 150000,\n },\n ],\n },\n layer: [\n {\n // For some reason this gray rectangle and the\n mark: { type: \"rect\", color: \"gray\", opacity: 0.2 },\n encoding: {\n x: { field: \"morDateStart\", type: \"temporal\" },\n x2: { field: \"morDateEnd\", type: \"temporal\" },\n },\n },\n {\n mark: {\n type: \"text\",\n align: \"center\",\n baseline: \"bottom\",\n dy: -(height*0.05),\n fontSize: 14,\n opacity: 0.6,\n text:\n [\"Eviction\", \"Moratorium\"],\n },\n encoding: {\n x: { field: \"morDateMid\", type: \"temporal\" }, \n },\n },\n {\n mark: { type: \"rect\", color: \"gray\", opacity: 0.2 },\n encoding: {\n x: { field: \"morTwoStart\", type: \"temporal\" },\n x2: { field: \"morTwoEnd\", type: \"temporal\" },\n },\n },\n {\n mark: {\n type: \"text\",\n align: \"center\",\n baseline: \"bottom\",\n dy: -(height*0.05),\n fontSize: 14,\n opacity: 0.6,\n text:\n [\"Most Eviction\", \"Cases Paused\"],\n },\n encoding: {\n x: { field: \"morTwoMid\", type: \"temporal\" }, \n },\n },\n { \n mark: {\n type: \"text\",\n align: \"center\",\n baseline: \"bottom\",\n fontSize: 12, \n dy: height/6,\n text: [`There were ${casesCovidStartThousands}`, `eviction cases at the`,`start of the pandemic`],\n },\n encoding: {\n x: { field: \"morDateStart\", type: \"temporal\" },\n }, \n },\n // {\n // mark: { \n // type: \"rect\", \n // color: \"black\", \n // opacity: 1,\n // width: 2, \n // y: 170,\n // y2: 240,\n // },\n // encoding: {\n // x: { field: \"morDateStart\", type: \"temporal\" },\n // },\n // },\n ],\n },\n \n ],\n };\n return ;\n};\n\nexport function isActiveCasesNumericField(value: string): value is keyof ActiveCasesNumericFields {\n return ACTIVECASES_VISUALIZATIONS.has(value as any);\n}\n\nexport const ACTIVECASES_VISUALIZATIONS: Map = new Map([\n [\"active_cases\", \"Active Eviction Cases in New York State\"],\n]);\n\nexport const ActiveCasesVisualizations: React.FC<{\n height: number,\n fieldNames?: (keyof ActiveCasesNumericFields)[]\n}> = ({height, fieldNames}) => {\n const [timeUnit, setTimeUnit] = useState(\"yearweek\");\n\n fieldNames = fieldNames || Array.from(ACTIVECASES_VISUALIZATIONS.keys());\n\n return (\n <>\n {fieldNames.map(fieldName => (\n \n ))}\n \n );\n};","import { toInt } from \"../converters\";\nimport { Query, QueryFiles } from \"../query\";\n\nexport const MARSHALEVICS = new QueryFiles(`marshal-evictions-by-week`);\n\nexport function convertMarshalEvicsRow(row: any) {\n return {\n week_eviction: (row.week_eviction as Date).toISOString(),\n marshalevictions: toInt(row.marshalevictions),\n };\n}\n\nexport type MarshalEvicsRow = ReturnType;\n\nexport type MarshalEvicsNumericFields = Omit;\n\nfunction getMarshalEvicsCsvHeader(): string[] {\n return [\n 'week_eviction',\n 'marshalevictions',\n ];\n}\n\nfunction toMarshalEvicsCsvRow(row: MarshalEvicsRow): string[] {\n return [\n row.week_eviction.substr(0, 10),\n row.marshalevictions.toString(),\n ];\n}\n\nexport const MarshalEvicsQuery: Query = {\n files: MARSHALEVICS,\n sqlToRow: convertMarshalEvicsRow,\n csvHeader: getMarshalEvicsCsvHeader(),\n toCsvRow: toMarshalEvicsCsvRow,\n};","import { assertNotUndefined } from \"@justfixnyc/util\";\nimport React from \"react\";\nimport { useState } from \"react\";\nimport type { VisualizationSpec } from \"vega-embed\";\nimport { JsonLoader } from \"../json-loader\";\nimport { LazyVegaLite } from \"../vega-lazy\";\nimport { VizFallback, VIZ_TIME_SERIES_CLASS } from \"../viz-util\";\nimport { MarshalEvicsNumericFields, MarshalEvicsRow, MARSHALEVICS } from \"./data\";\n\n/**\n * Take the array of data rows and get the date for the latest week we\n * have data and subtract a given number of weeks. This is used to draw\n * the rectangle on the graphs for the period where we have incomplete\n * data, due to repoting lags. The result is a string in the same format\n * as the \"week\" dates stored in the input data.\n */\nfunction getMarshalEvicsLagDate(\n data: MarshalEvicsRow[],\n lagDays: number\n): string {\n const maxMarshalEvicsDateNum = Math.max.apply(\n Math,\n data.map(row => Date.parse(row.week_eviction))\n );\n let returnDate = new Date(maxMarshalEvicsDateNum);\n returnDate.setDate(returnDate.getDate() - lagDays);\n returnDate.setHours(0, 0, 0, 0);\n return returnDate.toISOString();\n}\n\ntype MarshalEvicsTimeUnit = \"yearweek\"|\"yearmonth\"|\"yearmonthdate\";\n\ntype MarshalEvicsVizProps = {\n fieldName: keyof MarshalEvicsNumericFields,\n title: string,\n height: number,\n};\n\nconst MarshalEvicsViz: React.FC = (props) => {\n const [timeUnit, setTimeUnit] = useState(\"yearweek\");\n\n return (\n
    \n
    \n setTimeUnit(\"yearweek\")}/>\n \n\n setTimeUnit(\"yearmonth\")}/>\n \n \n url={MARSHALEVICS.json} fallback={}>\n {(values) => }\n \n
    \n );\n};\n\nfunction thousands_separators(num: any)\n {\n var num_parts = num.toString().split(\".\");\n num_parts[0] = num_parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n return num_parts.join(\".\");\n }\n\nconst MarshalEvicsVizWithValues: React.FC = ({values, fieldName, title, timeUnit, height}) => {\n values = values.filter(\n // If we are viewing data by week, let's grab data since the first Sunday of Jan 2020\n // Otherwise, we can grab data from 1/1/2020 onwards\n row => row.week_eviction >= (timeUnit === \"yearweek\" ? \"2021-06-01 00:00:00\" : \"2021-06-01 00:00:00\")\n );\n const evictionsSinceJan = values.filter(\n row => row.week_eviction >= \"2022-01-14 00:00:00\"\n ).reduce(\n (total, row) => total + row[fieldName], 0\n );\n\n const timeUnitLabel = timeUnit === \"yearmonthdate\" ? \"Day\"\n : timeUnit === \"yearweek\" ? \"Week\" \n : \"Month\";\n const barColor = \"#B73A3A\"\n const selectedBarColor = \"#AF2525\";\n\n const spec: VisualizationSpec = {\n $schema: \"https://vega.github.io/schema/vega-lite/v4.json\",\n description: title,\n width: \"container\",\n height: 400,\n title: {\n align: \"left\",\n anchor: \"start\",\n text: `${title}`,\n fontSize: 24,\n subtitle: [\n `There have been ${thousands_separators(evictionsSinceJan)} residential evictions by court-ordered`, `marshals since eviction protections expired on January 15, 2022.`,\n // This effectively adds extra padding below the subtitle.\n \"\"\n ],\n subtitleFontSize: 16,\n },\n layer: [\n {\n data: {\n values,\n },\n encoding: {\n x: {\n timeUnit,\n field: \"week_eviction\",\n },\n tooltip: [\n {\n field: \"week_eviction\",\n timeUnit,\n title: `${timeUnitLabel} of`,\n type: \"temporal\",\n format: timeUnit === \"yearmonth\" ? \"%B\" : \"%b %d, %Y\",\n },\n {\n field: fieldName,\n aggregate: \"sum\",\n title: \"Evictions\",\n formatType: \"numberWithCommas\"\n },\n ],\n },\n layer: [\n {\n mark: {\n type: \"bar\",\n color: barColor,\n interpolate: \"monotone\",\n opacity: 0.9,\n },\n encoding: {\n x: {\n timeUnit,\n field: \"week_eviction\",\n axis: {\n title: \"\",\n format: \"%b ’%y\",\n labelAngle: 45,\n grid: false,\n },\n },\n y: {\n field: fieldName,\n aggregate: \"sum\",\n axis: {\n title: `Total Evictions`,\n },\n scale: {\"zero\": false},\n },\n },\n },\n {\n selection: {\n index: {\n type: \"single\",\n on: \"mousemove\",\n encodings: [\"x\"],\n nearest: true,\n empty: \"none\",\n clear: \"mouseout\"\n },\n },\n mark: { type: \"bar\", strokeWidth: 4, color: selectedBarColor },\n encoding: {\n x: {\n timeUnit,\n field: \"week_eviction\",\n },\n y: {\n field: fieldName,\n aggregate: \"sum\",\n type: \"quantitative\",\n },\n opacity: {\n condition: {\n selection: \"index\",\n value: 1,\n },\n value: 0,\n },\n },\n },\n ],\n },\n ],\n };\n return ;\n};\n\nexport function isMarshalEvicsNumericField(value: string): value is keyof MarshalEvicsNumericFields {\n return MARSHALEVICS_VISUALIZATIONS.has(value as any);\n}\n\nexport const MARSHALEVICS_VISUALIZATIONS: Map = new Map([\n [\"marshalevictions\", \"Pandemic Evictions in New York City\"],\n]);\n\nexport const MarshalEvicsVisualizations: React.FC<{\n height: number,\n fieldNames?: (keyof MarshalEvicsNumericFields)[]\n}> = ({height, fieldNames}) => {\n\n fieldNames = fieldNames || Array.from(MARSHALEVICS_VISUALIZATIONS.keys());\n\n return (\n <>\n {fieldNames.map(fieldName => (\n \n ))}\n \n );\n};\n","import { Query, QueryFiles } from \"../query\";\n\nexport const PCT_REPPED = new QueryFiles(`share-represented`);\n\nexport function convertPctReppedRow(row: any) {\n return {\n day: (row.day as Date).toISOString(),\n rep_rate: row.rep_rate,\n };\n}\n\nexport type PctReppedRow = ReturnType;\n\nexport type PctReppedNumericFields = Omit;\n\nfunction getPctReppedCsvHeader(): string[] {\n return [\n 'day',\n 'rep_rate',\n ];\n}\n\nfunction toPctReppedCsvRow(row: PctReppedRow): string[] {\n return [\n row.day.substr(0, 10),\n row.rep_rate.toString(),\n ];\n}\n\nexport const PctReppedQuery: Query = {\n files: PCT_REPPED,\n sqlToRow: convertPctReppedRow,\n csvHeader: getPctReppedCsvHeader(),\n toCsvRow: toPctReppedCsvRow,\n};","import { assertNotUndefined } from \"@justfixnyc/util\";\nimport React from \"react\";\nimport { useState } from \"react\";\nimport type { VisualizationSpec } from \"vega-embed\";\nimport { JsonLoader } from \"../json-loader\";\nimport { LazyVegaLite } from \"../vega-lazy\";\nimport { VizFallback, VIZ_TIME_SERIES_CLASS } from \"../viz-util\";\nimport { PctReppedNumericFields, PctReppedRow, PCT_REPPED } from \"./data\";\n\n\n\ntype PctReppedTimeUnit = \"yearweek\"|\"yearmonth\"|\"yearmonthdate\";\n\ntype PctReppedVizProps = {\n fieldName: keyof PctReppedNumericFields,\n title: string,\n timeUnit: PctReppedTimeUnit,\n height: number,\n};\n\nconst PctReppedViz: React.FC = (props) => {\n return (\n url={PCT_REPPED.json} fallback={}>\n {(values) => }\n \n );\n};\n\nfunction thousands_separators(num: any)\n {\n var num_parts = num.toString().split(\".\");\n num_parts[0] = num_parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n return num_parts.join(\".\");\n }\n\nconst PctReppedVizWithValues: React.FC = ({values, fieldName, title, timeUnit, height}) => {\n values = values.filter(\n // If we are viewing data by week, let's grab data since the first Sunday of Jan 2020\n // Otherwise, we can grab data from 1/1/2020 onwards\n row => row.day >= (timeUnit === \"yearweek\" ? \"2022-01-01 00:00:00\" : \"2022-01-01 00:00:00\")\n );\n // const timeUnitLabel = timeUnit === \"yearmonthdate\" ? \"Day\"\n // : timeUnit === \"yearweek\" ? \"Week\" \n // : \"Month\";\n const lineColor = \"#AF2525\";\n\n const spec: VisualizationSpec = {\n $schema: \"https://vega.github.io/schema/vega-lite/v4.json\",\n description: title,\n width: \"container\",\n height: 400,\n title: {\n align: \"left\",\n anchor: \"start\",\n text: `Share of Represented Tenants`,\n fontSize: 24,\n subtitle: [\n `Percent of all tenants with eviction cases who are represented`, `by an attorney by the week the case was filed`,\n // This effectively adds extra padding below the subtitle.\n \"\"\n ],\n subtitleFontSize: 16,\n },\n layer: [\n {\n data: {\n values,\n },\n encoding: {\n x: {\n timeUnit,\n field: \"day\",\n },\n tooltip: [\n {\n field: \"day\",\n timeUnit,\n title: `Week of`,\n type: \"temporal\",\n format: timeUnit === \"yearmonth\" ? \"%B\" : \"%b %d, %Y\",\n },\n {\n field: fieldName,\n // aggregate: \"sum\",\n title: \"Represented tenants (%)\",\n // formatType: \"numberWithCommas\"\n },\n ],\n },\n layer: [\n {\n mark: {\n type: \"line\",\n color: lineColor,\n interpolate: \"monotone\",\n opacity: 1,\n },\n encoding: {\n x: {\n timeUnit,\n field: \"day\",\n axis: {\n title: \"\",\n format: \"%b %d ’%y\",\n labelAngle: 45,\n grid: false,\n },\n },\n y: {\n field: `${fieldName}`,\n aggregate: \"sum\",\n axis: {\n title: `Percent of tenants with representation (%)`,\n },\n scale: {\"zero\": false},\n },\n },\n },\n {\n mark: {\n type: \"line\",\n color: lineColor,\n interpolate: \"monotone\",\n strokeWidth: 4,\n },\n encoding: {\n x: {\n timeUnit,\n field: \"day\",\n axis: {\n title: \"\",\n format: \"%b ’%y\",\n },\n },\n y: {\n field: fieldName,\n aggregate: \"sum\",\n axis: {\n },\n scale: {\"zero\": false},\n },\n },\n },\n {\n selection: {\n index: {\n type: \"single\",\n on: \"mousemove\",\n encodings: [\"x\"],\n nearest: true,\n empty: \"none\",\n clear: \"mouseout\"\n },\n },\n mark: { type: \"point\", strokeWidth: 4, color: lineColor },\n encoding: {\n x: {\n timeUnit,\n field: \"day\",\n },\n y: {\n field: fieldName,\n aggregate: \"sum\",\n type: \"quantitative\",\n },\n opacity: {\n condition: {\n selection: \"index\",\n value: 1,\n },\n value: 0,\n },\n },\n },\n ],\n },\n \n \n ],\n };\n return ;\n};\n\nexport function isPctReppedNumericField(value: string): value is keyof PctReppedNumericFields {\n return PCT_REPPED_VISUALIZATIONS.has(value as any);\n}\n\nexport const PCT_REPPED_VISUALIZATIONS: Map = new Map([\n [\"rep_rate\", \"PctRepped\"],\n]);\n\nexport const PctReppedVisualizations: React.FC<{\n height: number,\n fieldNames?: (keyof PctReppedNumericFields)[]\n}> = ({height, fieldNames}) => {\n const [timeUnit, setTimeUnit] = useState(\"yearweek\");\n\n fieldNames = fieldNames || Array.from(PCT_REPPED_VISUALIZATIONS.keys());\n\n return (\n <>\n {fieldNames.map(fieldName => (\n \n ))}\n \n );\n};","import { toInt } from \"../converters\";\nimport { Query, QueryFiles } from \"../query\";\n\nexport const JUDGMENTS = new QueryFiles(`total-judgments-statewide`);\n\nexport function convertJudgmentsRow(row: any) {\n return {\n day: (row.day as Date).toISOString(),\n judgments: toInt(row.judgments),\n };\n}\n\nexport type JudgmentsRow = ReturnType;\n\nexport type JudgmentsNumericFields = Omit;\n\nfunction getJudgmentsCsvHeader(): string[] {\n return [\n 'day',\n 'judgments',\n ];\n}\n\nfunction toJudgmentsCsvRow(row: JudgmentsRow): string[] {\n return [\n row.day.substr(0, 10),\n row.judgments.toString(),\n ];\n}\n\nexport const JudgmentsStatewideQuery: Query = {\n files: JUDGMENTS,\n sqlToRow: convertJudgmentsRow,\n csvHeader: getJudgmentsCsvHeader(),\n toCsvRow: toJudgmentsCsvRow,\n};","import { assertNotUndefined } from \"@justfixnyc/util\";\nimport React from \"react\";\nimport { useState } from \"react\";\nimport type { VisualizationSpec } from \"vega-embed\";\nimport { JsonLoader } from \"../json-loader\";\nimport { LazyVegaLite } from \"../vega-lazy\";\nimport { VizFallback, VIZ_TIME_SERIES_CLASS } from \"../viz-util\";\nimport { JudgmentsNumericFields, JudgmentsRow, JUDGMENTS } from \"./data\";\n\n/**\n * Take the array of data rows and get the date for the latest week we\n * have data and subtract a given number of weeks. This is used to draw\n * the rectangle on the graphs for the period where we have incomplete\n * data, due to repoting lags. The result is a string in the same format\n * as the \"week\" dates stored in the input data.\n */\nfunction getJudgmentsLagDate(\n data: JudgmentsRow[],\n lagDays: number\n): string {\n const maxJudgmentsDateNum = Math.max.apply(\n Math,\n data.map(row => Date.parse(row.day))\n );\n let returnDate = new Date(maxJudgmentsDateNum);\n returnDate.setDate(returnDate.getDate() - lagDays);\n returnDate.setHours(0, 0, 0, 0);\n return returnDate.toISOString();\n}\n\ntype JudgmentsTimeUnit = \"yearweek\"|\"yearmonth\"|\"yearmonthdate\";\n\ntype JudgmentsVizProps = {\n fieldName: keyof JudgmentsNumericFields,\n title: string,\n height: number,\n};\n\nconst JudgmentsViz: React.FC = (props) => {\n const [timeUnit, setTimeUnit] = useState(\"yearweek\");\n\n return (\n
    \n
    \n setTimeUnit(\"yearweek\")}/>\n \n\n setTimeUnit(\"yearmonth\")}/>\n \n \n url={JUDGMENTS.json} fallback={}>\n {(values) => }\n \n
    \n );\n};\n\nfunction thousands_separators(num: any)\n {\n var num_parts = num.toString().split(\".\");\n num_parts[0] = num_parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n return num_parts.join(\".\");\n }\n\nconst JudgmentsVizWithValues: React.FC = ({values, fieldName, title, timeUnit, height}) => {\n values = values.filter(\n // If we are viewing data by week, let's grab data since the first Sunday of Jan 2020\n // Otherwise, we can grab data from 1/1/2020 onwards\n row => row.day >= (timeUnit === \"yearweek\" ? \"2020-01-05 00:00:00\" : \"2020-01-01 00:00:00\")\n );\n // const casesSinceCovid = values.filter(\n// row => row.day >= \"2020-03-23 00:00:00\"\n// ).reduce(\n// (total, row) => total + row[fieldName], 0\n// );\n// commented this out because this counter should probably be different from total judgments\n const JudgmentsDataLagStart = getJudgmentsLagDate(values, 30); // 4 weeks for lag\n const JudgmentsDataLagEnd = getJudgmentsLagDate(values, 0); // latest date\n const timeUnitLabel = timeUnit === \"yearmonthdate\" ? \"Day\"\n : timeUnit === \"yearweek\" ? \"Week\" \n : \"Month\";\n const barColor = \"#B73A3A\"\n const selectedBarColor = \"#AF2525\";\n const MoratoriumStart = new Date(\"2020-03-17\");\n const MoratoriumEnd = new Date(\"2020-06-20\");\n const MoratoriumMid = new Date(\"2020-05-05\");\n const MorTwoStart = new Date(\"2020-12-28\");\n const MorTwoEnd = new Date(\"2021-02-26\");\n const MorTwoMid = new Date(\"2021-01-26\");\n const lineTop = 20;\n const lineBottom = 20;\n \n\n // const casesCovidStart = values.find(datapoint => datapoint.day === '2020-03-16T04:00:00.000Z')?.judgments;\n // const casesCovidStartThousands = thousands_separators(casesCovidStart);\n\n const spec: VisualizationSpec = {\n $schema: \"https://vega.github.io/schema/vega-lite/v4.json\",\n description: title,\n width: \"container\",\n height: 400,\n title: {\n text: `${title}`,\n fontSize: 16,\n subtitle: [\n `March 2020 - Present`,\n // This effectively adds extra padding below the subtitle.\n \"\"\n ]\n },\n layer: [\n {\n data: {\n values,\n },\n encoding: {\n x: {\n timeUnit,\n field: \"day\",\n },\n tooltip: [\n {\n field: \"day\",\n timeUnit,\n title: `${timeUnitLabel} of`,\n type: \"temporal\",\n format: timeUnit === \"yearmonth\" ? \"%B\" : \"%b %d, %Y\",\n },\n {\n field: fieldName,\n aggregate: \"sum\",\n title: \"Judgments\",\n formatType: \"numberWithCommas\"\n },\n ],\n },\n layer: [\n {\n mark: {\n type: \"bar\",\n color: barColor,\n interpolate: \"monotone\",\n opacity: 0.6,\n },\n encoding: {\n x: {\n timeUnit,\n field: \"day\",\n axis: {\n title: \"\",\n format: \"%b ’%y\",\n labelAngle: 45,\n grid: false,\n },\n },\n y: {\n field: fieldName,\n aggregate: \"sum\",\n axis: {\n title: `Total Judgments`,\n },\n scale: {\"zero\": false},\n },\n },\n },\n // {\n // mark: {\n // type: \"line\",\n // color: lineColor,\n // interpolate: \"monotone\",\n // strokeWidth: 4,\n // },\n // encoding: {\n // x: {\n // timeUnit,\n // field: \"day\",\n // axis: {\n // title: \"\",\n // format: \"%b ’%y\",\n // },\n // },\n // y: {\n // field: fieldName,\n // aggregate: \"sum\",\n // axis: {\n // },\n // scale: {\"zero\": false},\n // },\n // },\n // },\n {\n selection: {\n index: {\n type: \"single\",\n on: \"mousemove\",\n encodings: [\"x\"],\n nearest: true,\n empty: \"none\",\n clear: \"mouseout\"\n },\n },\n mark: { type: \"bar\", strokeWidth: 4, color: selectedBarColor },\n encoding: {\n x: {\n timeUnit,\n field: \"day\",\n },\n y: {\n field: fieldName,\n aggregate: \"sum\",\n type: \"quantitative\",\n },\n opacity: {\n condition: {\n selection: \"index\",\n value: 1,\n },\n value: 0,\n },\n },\n },\n ],\n },\n {\n data: {\n values: [\n {\n lagDateStart: JudgmentsDataLagStart,\n lagDateEnd: JudgmentsDataLagEnd,\n },\n ],\n },\n layer: [\n {\n mark: { type: \"rect\", color: \"grey\", opacity: 0 }, // made rectangle opaque because it conflicted with second moratorium\n encoding: {\n x: { field: \"lagDateStart\", type: \"temporal\" },\n x2: { field: \"lagDateEnd\", type: \"temporal\" },\n },\n },\n // Request to take this out and include as note below chart instead.\n // {\n // mark: {\n // type: \"text\",\n // align: \"center\",\n // baseline: \"bottom\",\n // dy: -(height)-35,\n // dx: -50,\n // fontSize: 12,\n // text: [\"Recent court data incomplete\", \"due to reporting lags\"]\n // },\n // encoding: {\n // x: { field: \"lagDateEnd\", type: \"temporal\" },\n // },\n // },\n\n ],\n },\n {\n data: {\n values: [\n {\n morDateStart: MoratoriumStart,\n morDateEnd: MoratoriumEnd,\n morDateMid: MoratoriumMid,\n morTwoStart: MorTwoStart,\n morTwoEnd: MorTwoEnd,\n morTwoMid: MorTwoMid,\n },\n ],\n },\n layer: [\n {\n // For some reason this gray rectangle and the\n mark: { type: \"rect\", color: \"gray\", opacity: 0.2 },\n encoding: {\n x: { field: \"morDateStart\", type: \"temporal\" },\n x2: { field: \"morDateEnd\", type: \"temporal\" },\n },\n },\n {\n mark: {\n type: \"text\",\n align: \"center\",\n baseline: \"bottom\",\n dy: -(height*0.05),\n fontSize: 14,\n opacity: 0.6,\n text:\n [\"Eviction\", \"Moratorium\"],\n },\n encoding: {\n x: { field: \"morDateMid\", type: \"temporal\" }, \n },\n },\n {\n mark: { type: \"rect\", color: \"gray\", opacity: 0.2 },\n encoding: {\n x: { field: \"morTwoStart\", type: \"temporal\" },\n x2: { field: \"morTwoEnd\", type: \"temporal\" },\n },\n },\n {\n mark: {\n type: \"text\",\n align: \"center\",\n baseline: \"bottom\",\n dy: -(height*0.05),\n fontSize: 14,\n opacity: 0.6,\n text:\n [\"Most Eviction\", \"Cases Paused\"],\n },\n encoding: {\n x: { field: \"morTwoMid\", type: \"temporal\" }, \n },\n },\n\n\n\n // { \n // mark: {\n // type: \"text\",\n // align: \"center\",\n // baseline: \"bottom\",\n // fontSize: 12, \n // dy: (height*.05),\n // text: [`There were ${casesCovidStartThousands}`, `eviction cases at the`,`start of the pandemic`],\n // },\n // encoding: {\n // x: { field: \"morDateStart\", type: \"temporal\" },\n // }, \n // },\n {\n mark: { \n type: \"rect\", \n color: \"black\", \n opacity: 1,\n width: 2, \n y: height-(height*.45),\n y2: height-(height*.48),\n },\n encoding: {\n x: { field: \"morDateStart\", type: \"temporal\" },\n },\n },\n ],\n },\n \n ],\n };\n return ;\n};\n\nexport function isJudgmentsNumericField(value: string): value is keyof JudgmentsNumericFields {\n return JUDGMENTS_VISUALIZATIONS.has(value as any);\n}\n\nexport const JUDGMENTS_VISUALIZATIONS: Map = new Map([\n [\"judgments\", \"Eviction Judgments in New York State\"],\n]);\n\nexport const JudgmentsStatewideVisualizations: React.FC<{\n height: number,\n fieldNames?: (keyof JudgmentsNumericFields)[]\n}> = ({height, fieldNames}) => {\n\n fieldNames = fieldNames || Array.from(JUDGMENTS_VISUALIZATIONS.keys());\n\n return (\n <>\n {fieldNames.map(fieldName => (\n \n ))}\n \n );\n};\n","import { toInt } from \"../converters\";\nimport { Query, QueryFiles } from \"../query\";\n\nexport const JUDGMENTS = new QueryFiles(`total-judgments-citywide`);\n\nexport function convertJudgmentsRow(row: any) {\n return {\n day: (row.day as Date).toISOString(),\n judgments: toInt(row.judgments),\n };\n}\n\nexport type JudgmentsRow = ReturnType;\n\nexport type JudgmentsNumericFields = Omit;\n\nfunction getJudgmentsCsvHeader(): string[] {\n return [\n 'day',\n 'judgments',\n ];\n}\n\nfunction toJudgmentsCsvRow(row: JudgmentsRow): string[] {\n return [\n row.day.substr(0, 10),\n row.judgments.toString(),\n ];\n}\n\nexport const JudgmentsCitywideQuery: Query = {\n files: JUDGMENTS,\n sqlToRow: convertJudgmentsRow,\n csvHeader: getJudgmentsCsvHeader(),\n toCsvRow: toJudgmentsCsvRow,\n};","import { assertNotUndefined } from \"@justfixnyc/util\";\nimport React from \"react\";\nimport { useState } from \"react\";\nimport type { VisualizationSpec } from \"vega-embed\";\nimport { JsonLoader } from \"../json-loader\";\nimport { LazyVegaLite } from \"../vega-lazy\";\nimport { VizFallback, VIZ_TIME_SERIES_CLASS } from \"../viz-util\";\nimport { JudgmentsNumericFields, JudgmentsRow, JUDGMENTS } from \"./data\";\n\n/**\n * Take the array of data rows and get the date for the latest week we\n * have data and subtract a given number of weeks. This is used to draw\n * the rectangle on the graphs for the period where we have incomplete\n * data, due to repoting lags. The result is a string in the same format\n * as the \"week\" dates stored in the input data.\n */\nfunction getJudgmentsLagDate(\n data: JudgmentsRow[],\n lagDays: number\n): string {\n const maxJudgmentsDateNum = Math.max.apply(\n Math,\n data.map(row => Date.parse(row.day))\n );\n let returnDate = new Date(maxJudgmentsDateNum);\n returnDate.setDate(returnDate.getDate() - lagDays);\n returnDate.setHours(0, 0, 0, 0);\n return returnDate.toISOString();\n}\n\ntype JudgmentsTimeUnit = \"yearweek\"|\"yearmonth\"|\"yearmonthdate\";\n\ntype JudgmentsVizProps = {\n fieldName: keyof JudgmentsNumericFields,\n title: string,\n height: number,\n};\n\nconst JudgmentsViz: React.FC = (props) => {\n const [timeUnit, setTimeUnit] = useState(\"yearweek\");\n\n return (\n
    \n
    \n setTimeUnit(\"yearweek\")}/>\n \n\n setTimeUnit(\"yearmonth\")}/>\n \n \n url={JUDGMENTS.json} fallback={}>\n {(values) => }\n \n
    \n );\n};\n\nfunction thousands_separators(num: any)\n {\n var num_parts = num.toString().split(\".\");\n num_parts[0] = num_parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n return num_parts.join(\".\");\n }\n\nconst JudgmentsVizWithValues: React.FC = ({values, fieldName, title, timeUnit, height}) => {\n values = values.filter(\n // If we are viewing data by week, let's grab data since the first Sunday of Jan 2020\n // Otherwise, we can grab data from 1/1/2020 onwards\n row => row.day >= (timeUnit === \"yearweek\" ? \"2020-01-05 00:00:00\" : \"2020-01-01 00:00:00\")\n );\n // const casesSinceCovid = values.filter(\n// row => row.day >= \"2020-03-23 00:00:00\"\n// ).reduce(\n// (total, row) => total + row[fieldName], 0\n// );\n// commented this out because this counter should probably be different from total judgments\n const JudgmentsDataLagStart = getJudgmentsLagDate(values, 30); // 4 weeks for lag\n const JudgmentsDataLagEnd = getJudgmentsLagDate(values, 0); // latest date\n const timeUnitLabel = timeUnit === \"yearmonthdate\" ? \"Day\"\n : timeUnit === \"yearweek\" ? \"Week\" \n : \"Month\";\n const barColor = \"#B73A3A\"\n const selectedBarColor = \"#AF2525\";\n const MoratoriumStart = new Date(\"2020-03-17\");\n const MoratoriumEnd = new Date(\"2020-06-20\");\n const MoratoriumMid = new Date(\"2020-05-05\");\n const MorTwoStart = new Date(\"2020-12-28\");\n const MorTwoEnd = new Date(\"2021-02-26\");\n const MorTwoMid = new Date(\"2021-01-26\");\n const lineTop = 20;\n const lineBottom = 20;\n \n\n // const casesCovidStart = values.find(datapoint => datapoint.day === '2020-03-16T04:00:00.000Z')?.judgments;\n // const casesCovidStartThousands = thousands_separators(casesCovidStart);\n\n const spec: VisualizationSpec = {\n $schema: \"https://vega.github.io/schema/vega-lite/v4.json\",\n description: title,\n width: \"container\",\n height: 400,\n title: {\n text: `${title}`,\n fontSize: 16,\n subtitle: [\n `March 2020 - Present`,\n // This effectively adds extra padding below the subtitle.\n \"\"\n ]\n },\n layer: [\n {\n data: {\n values,\n },\n encoding: {\n x: {\n timeUnit,\n field: \"day\",\n },\n tooltip: [\n {\n field: \"day\",\n timeUnit,\n title: `${timeUnitLabel} of`,\n type: \"temporal\",\n format: timeUnit === \"yearmonth\" ? \"%B\" : \"%b %d, %Y\",\n },\n {\n field: fieldName,\n aggregate: \"sum\",\n title: \"Judgments\",\n formatType: \"numberWithCommas\"\n },\n ],\n },\n layer: [\n {\n mark: {\n type: \"bar\",\n color: barColor,\n interpolate: \"monotone\",\n opacity: 0.6,\n },\n encoding: {\n x: {\n timeUnit,\n field: \"day\",\n axis: {\n title: \"\",\n format: \"%b ’%y\",\n labelAngle: 45,\n grid: false,\n },\n },\n y: {\n field: fieldName,\n aggregate: \"sum\",\n axis: {\n title: `Total Judgments`,\n },\n scale: {\"zero\": false},\n },\n },\n },\n {\n selection: {\n index: {\n type: \"single\",\n on: \"mousemove\",\n encodings: [\"x\"],\n nearest: true,\n empty: \"none\",\n clear: \"mouseout\"\n },\n },\n mark: { type: \"bar\", strokeWidth: 4, color: selectedBarColor },\n encoding: {\n x: {\n timeUnit,\n field: \"day\",\n },\n y: {\n field: fieldName,\n aggregate: \"sum\",\n type: \"quantitative\",\n },\n opacity: {\n condition: {\n selection: \"index\",\n value: 1,\n },\n value: 0,\n },\n },\n },\n ],\n },\n {\n data: {\n values: [\n {\n lagDateStart: JudgmentsDataLagStart,\n lagDateEnd: JudgmentsDataLagEnd,\n },\n ],\n },\n layer: [\n {\n mark: { type: \"rect\", color: \"grey\", opacity: 0 }, // made rectangle opaque because it conflicted with second moratorium\n encoding: {\n x: { field: \"lagDateStart\", type: \"temporal\" },\n x2: { field: \"lagDateEnd\", type: \"temporal\" },\n },\n },\n // Request to take this out and include as note below chart instead.\n // {\n // mark: {\n // type: \"text\",\n // align: \"center\",\n // baseline: \"bottom\",\n // dy: -(height)-35,\n // dx: -50,\n // fontSize: 12,\n // text: [\"Recent court data incomplete\", \"due to reporting lags\"]\n // },\n // encoding: {\n // x: { field: \"lagDateEnd\", type: \"temporal\" },\n // },\n // },\n\n ],\n },\n {\n data: {\n values: [\n {\n morDateStart: MoratoriumStart,\n morDateEnd: MoratoriumEnd,\n morDateMid: MoratoriumMid,\n morTwoStart: MorTwoStart,\n morTwoEnd: MorTwoEnd,\n morTwoMid: MorTwoMid,\n },\n ],\n },\n layer: [\n {\n // For some reason this gray rectangle and the\n mark: { type: \"rect\", color: \"gray\", opacity: 0.2 },\n encoding: {\n x: { field: \"morDateStart\", type: \"temporal\" },\n x2: { field: \"morDateEnd\", type: \"temporal\" },\n },\n },\n {\n mark: {\n type: \"text\",\n align: \"center\",\n baseline: \"bottom\",\n dy: -(height*0.05),\n fontSize: 14,\n opacity: 0.6,\n text:\n [\"Eviction\", \"Moratorium\"],\n },\n encoding: {\n x: { field: \"morDateMid\", type: \"temporal\" }, \n },\n },\n {\n mark: { type: \"rect\", color: \"gray\", opacity: 0.2 },\n encoding: {\n x: { field: \"morTwoStart\", type: \"temporal\" },\n x2: { field: \"morTwoEnd\", type: \"temporal\" },\n },\n },\n {\n mark: {\n type: \"text\",\n align: \"center\",\n baseline: \"bottom\",\n dy: -(height*0.05),\n fontSize: 14,\n opacity: 0.6,\n text:\n [\"Most Eviction\", \"Cases Paused\"],\n },\n encoding: {\n x: { field: \"morTwoMid\", type: \"temporal\" }, \n },\n },\n\n\n\n // { \n // mark: {\n // type: \"text\",\n // align: \"center\",\n // baseline: \"bottom\",\n // fontSize: 12, \n // dy: (height*.05),\n // text: [`There were ${casesCovidStartThousands}`, `eviction cases at the`,`start of the pandemic`],\n // },\n // encoding: {\n // x: { field: \"morDateStart\", type: \"temporal\" },\n // }, \n // },\n {\n mark: { \n type: \"rect\", \n color: \"black\", \n opacity: 1,\n width: 2, \n y: height-(height*.45),\n y2: height-(height*.48),\n },\n encoding: {\n x: { field: \"morDateStart\", type: \"temporal\" },\n },\n },\n ],\n },\n \n ],\n };\n return ;\n};\n\nexport function isJudgmentsNumericField(value: string): value is keyof JudgmentsNumericFields {\n return JUDGMENTS_VISUALIZATIONS.has(value as any);\n}\n\nexport const JUDGMENTS_VISUALIZATIONS: Map = new Map([\n [\"judgments\", \"Eviction Judgments in NYC\"],\n]);\n\nexport const JudgmentsCitywideVisualizations: React.FC<{\n height: number,\n fieldNames?: (keyof JudgmentsNumericFields)[]\n}> = ({height, fieldNames}) => {\n\n fieldNames = fieldNames || Array.from(JUDGMENTS_VISUALIZATIONS.keys());\n\n return (\n <>\n {fieldNames.map(fieldName => (\n \n ))}\n \n );\n};\n","import React from 'react'\n\n//\n\nimport {\n linkColumnStructure,\n flattenColumns,\n assignColumnAccessor,\n unpreparedAccessWarning,\n makeHeaderGroups,\n decorateColumn,\n} from '../utils'\n\nimport {\n useGetLatest,\n reduceHooks,\n actions,\n loopHooks,\n makePropGetter,\n makeRenderer,\n} from '../publicUtils'\n\nimport makeDefaultPluginHooks from '../makeDefaultPluginHooks'\n\nimport { useColumnVisibility } from './useColumnVisibility'\n\nconst defaultInitialState = {}\nconst defaultColumnInstance = {}\nconst defaultReducer = (state, action, prevState) => state\nconst defaultGetSubRows = (row, index) => row.subRows || []\nconst defaultGetRowId = (row, index, parent) =>\n `${parent ? [parent.id, index].join('.') : index}`\nconst defaultUseControlledState = d => d\n\nfunction applyDefaults(props) {\n const {\n initialState = defaultInitialState,\n defaultColumn = defaultColumnInstance,\n getSubRows = defaultGetSubRows,\n getRowId = defaultGetRowId,\n stateReducer = defaultReducer,\n useControlledState = defaultUseControlledState,\n ...rest\n } = props\n\n return {\n ...rest,\n initialState,\n defaultColumn,\n getSubRows,\n getRowId,\n stateReducer,\n useControlledState,\n }\n}\n\nexport const useTable = (props, ...plugins) => {\n // Apply default props\n props = applyDefaults(props)\n\n // Add core plugins\n plugins = [useColumnVisibility, ...plugins]\n\n // Create the table instance\n let instanceRef = React.useRef({})\n\n // Create a getter for the instance (helps avoid a lot of potential memory leaks)\n const getInstance = useGetLatest(instanceRef.current)\n\n // Assign the props, plugins and hooks to the instance\n Object.assign(getInstance(), {\n ...props,\n plugins,\n hooks: makeDefaultPluginHooks(),\n })\n\n // Allow plugins to register hooks as early as possible\n plugins.filter(Boolean).forEach(plugin => {\n plugin(getInstance().hooks)\n })\n\n // Consume all hooks and make a getter for them\n const getHooks = useGetLatest(getInstance().hooks)\n getInstance().getHooks = getHooks\n delete getInstance().hooks\n\n // Allow useOptions hooks to modify the options coming into the table\n Object.assign(\n getInstance(),\n reduceHooks(getHooks().useOptions, applyDefaults(props))\n )\n\n const {\n data,\n columns: userColumns,\n initialState,\n defaultColumn,\n getSubRows,\n getRowId,\n stateReducer,\n useControlledState,\n } = getInstance()\n\n // Setup user reducer ref\n const getStateReducer = useGetLatest(stateReducer)\n\n // Build the reducer\n const reducer = React.useCallback(\n (state, action) => {\n // Detect invalid actions\n if (!action.type) {\n console.info({ action })\n throw new Error('Unknown Action 👆')\n }\n\n // Reduce the state from all plugin reducers\n return [\n ...getHooks().stateReducers,\n // Allow the user to add their own state reducer(s)\n ...(Array.isArray(getStateReducer())\n ? getStateReducer()\n : [getStateReducer()]),\n ].reduce(\n (s, handler) => handler(s, action, state, getInstance()) || s,\n state\n )\n },\n [getHooks, getStateReducer, getInstance]\n )\n\n // Start the reducer\n const [reducerState, dispatch] = React.useReducer(reducer, undefined, () =>\n reducer(initialState, { type: actions.init })\n )\n\n // Allow the user to control the final state with hooks\n const state = reduceHooks(\n [...getHooks().useControlledState, useControlledState],\n reducerState,\n { instance: getInstance() }\n )\n\n Object.assign(getInstance(), {\n state,\n dispatch,\n })\n\n // Decorate All the columns\n const columns = React.useMemo(\n () =>\n linkColumnStructure(\n reduceHooks(getHooks().columns, userColumns, {\n instance: getInstance(),\n })\n ),\n [\n getHooks,\n getInstance,\n userColumns,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ...reduceHooks(getHooks().columnsDeps, [], { instance: getInstance() }),\n ]\n )\n getInstance().columns = columns\n\n // Get the flat list of all columns and allow hooks to decorate\n // those columns (and trigger this memoization via deps)\n let allColumns = React.useMemo(\n () =>\n reduceHooks(getHooks().allColumns, flattenColumns(columns), {\n instance: getInstance(),\n }).map(assignColumnAccessor),\n [\n columns,\n getHooks,\n getInstance,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ...reduceHooks(getHooks().allColumnsDeps, [], {\n instance: getInstance(),\n }),\n ]\n )\n getInstance().allColumns = allColumns\n\n // Access the row model using initial columns\n const [rows, flatRows, rowsById] = React.useMemo(() => {\n let rows = []\n let flatRows = []\n const rowsById = {}\n\n const allColumnsQueue = [...allColumns]\n\n while (allColumnsQueue.length) {\n const column = allColumnsQueue.shift()\n accessRowsForColumn({\n data,\n rows,\n flatRows,\n rowsById,\n column,\n getRowId,\n getSubRows,\n accessValueHooks: getHooks().accessValue,\n getInstance,\n })\n }\n\n return [rows, flatRows, rowsById]\n }, [allColumns, data, getRowId, getSubRows, getHooks, getInstance])\n\n Object.assign(getInstance(), {\n rows,\n initialRows: [...rows],\n flatRows,\n rowsById,\n // materializedColumns,\n })\n\n loopHooks(getHooks().useInstanceAfterData, getInstance())\n\n // Get the flat list of all columns AFTER the rows\n // have been access, and allow hooks to decorate\n // those columns (and trigger this memoization via deps)\n let visibleColumns = React.useMemo(\n () =>\n reduceHooks(getHooks().visibleColumns, allColumns, {\n instance: getInstance(),\n }).map(d => decorateColumn(d, defaultColumn)),\n [\n getHooks,\n allColumns,\n getInstance,\n defaultColumn,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ...reduceHooks(getHooks().visibleColumnsDeps, [], {\n instance: getInstance(),\n }),\n ]\n )\n\n // Combine new visible columns with all columns\n allColumns = React.useMemo(() => {\n const columns = [...visibleColumns]\n\n allColumns.forEach(column => {\n if (!columns.find(d => d.id === column.id)) {\n columns.push(column)\n }\n })\n\n return columns\n }, [allColumns, visibleColumns])\n getInstance().allColumns = allColumns\n\n if (process.env.NODE_ENV !== 'production') {\n const duplicateColumns = allColumns.filter((column, i) => {\n return allColumns.findIndex(d => d.id === column.id) !== i\n })\n\n if (duplicateColumns.length) {\n console.info(allColumns)\n throw new Error(\n `Duplicate columns were found with ids: \"${duplicateColumns\n .map(d => d.id)\n .join(', ')}\" in the columns array above`\n )\n }\n }\n\n // Make the headerGroups\n const headerGroups = React.useMemo(\n () =>\n reduceHooks(\n getHooks().headerGroups,\n makeHeaderGroups(visibleColumns, defaultColumn),\n getInstance()\n ),\n [\n getHooks,\n visibleColumns,\n defaultColumn,\n getInstance,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ...reduceHooks(getHooks().headerGroupsDeps, [], {\n instance: getInstance(),\n }),\n ]\n )\n getInstance().headerGroups = headerGroups\n\n // Get the first level of headers\n const headers = React.useMemo(\n () => (headerGroups.length ? headerGroups[0].headers : []),\n [headerGroups]\n )\n getInstance().headers = headers\n\n // Provide a flat header list for utilities\n getInstance().flatHeaders = headerGroups.reduce(\n (all, headerGroup) => [...all, ...headerGroup.headers],\n []\n )\n\n loopHooks(getHooks().useInstanceBeforeDimensions, getInstance())\n\n // Filter columns down to visible ones\n const visibleColumnsDep = visibleColumns\n .filter(d => d.isVisible)\n .map(d => d.id)\n .sort()\n .join('_')\n\n visibleColumns = React.useMemo(\n () => visibleColumns.filter(d => d.isVisible),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [visibleColumns, visibleColumnsDep]\n )\n getInstance().visibleColumns = visibleColumns\n\n // Header Visibility is needed by this point\n const [\n totalColumnsMinWidth,\n totalColumnsWidth,\n totalColumnsMaxWidth,\n ] = calculateHeaderWidths(headers)\n\n getInstance().totalColumnsMinWidth = totalColumnsMinWidth\n getInstance().totalColumnsWidth = totalColumnsWidth\n getInstance().totalColumnsMaxWidth = totalColumnsMaxWidth\n\n loopHooks(getHooks().useInstance, getInstance())\n\n // Each materialized header needs to be assigned a render function and other\n // prop getter properties here.\n ;[...getInstance().flatHeaders, ...getInstance().allColumns].forEach(\n column => {\n // Give columns/headers rendering power\n column.render = makeRenderer(getInstance(), column)\n\n // Give columns/headers a default getHeaderProps\n column.getHeaderProps = makePropGetter(getHooks().getHeaderProps, {\n instance: getInstance(),\n column,\n })\n\n // Give columns/headers a default getFooterProps\n column.getFooterProps = makePropGetter(getHooks().getFooterProps, {\n instance: getInstance(),\n column,\n })\n }\n )\n\n getInstance().headerGroups = React.useMemo(\n () =>\n headerGroups.filter((headerGroup, i) => {\n // Filter out any headers and headerGroups that don't have visible columns\n headerGroup.headers = headerGroup.headers.filter(column => {\n const recurse = headers =>\n headers.filter(column => {\n if (column.headers) {\n return recurse(column.headers)\n }\n return column.isVisible\n }).length\n if (column.headers) {\n return recurse(column.headers)\n }\n return column.isVisible\n })\n\n // Give headerGroups getRowProps\n if (headerGroup.headers.length) {\n headerGroup.getHeaderGroupProps = makePropGetter(\n getHooks().getHeaderGroupProps,\n { instance: getInstance(), headerGroup, index: i }\n )\n\n headerGroup.getFooterGroupProps = makePropGetter(\n getHooks().getFooterGroupProps,\n { instance: getInstance(), headerGroup, index: i }\n )\n\n return true\n }\n\n return false\n }),\n [headerGroups, getInstance, getHooks]\n )\n\n getInstance().footerGroups = [...getInstance().headerGroups].reverse()\n\n // The prepareRow function is absolutely necessary and MUST be called on\n // any rows the user wishes to be displayed.\n\n getInstance().prepareRow = React.useCallback(\n row => {\n row.getRowProps = makePropGetter(getHooks().getRowProps, {\n instance: getInstance(),\n row,\n })\n\n // Build the visible cells for each row\n row.allCells = allColumns.map(column => {\n const value = row.values[column.id]\n\n const cell = {\n column,\n row,\n value,\n }\n\n // Give each cell a getCellProps base\n cell.getCellProps = makePropGetter(getHooks().getCellProps, {\n instance: getInstance(),\n cell,\n })\n\n // Give each cell a renderer function (supports multiple renderers)\n cell.render = makeRenderer(getInstance(), column, {\n row,\n cell,\n value,\n })\n\n return cell\n })\n\n row.cells = visibleColumns.map(column =>\n row.allCells.find(cell => cell.column.id === column.id)\n )\n\n // need to apply any row specific hooks (useExpanded requires this)\n loopHooks(getHooks().prepareRow, row, { instance: getInstance() })\n },\n [getHooks, getInstance, allColumns, visibleColumns]\n )\n\n getInstance().getTableProps = makePropGetter(getHooks().getTableProps, {\n instance: getInstance(),\n })\n\n getInstance().getTableBodyProps = makePropGetter(\n getHooks().getTableBodyProps,\n {\n instance: getInstance(),\n }\n )\n\n loopHooks(getHooks().useFinalInstance, getInstance())\n\n return getInstance()\n}\n\nfunction calculateHeaderWidths(headers, left = 0) {\n let sumTotalMinWidth = 0\n let sumTotalWidth = 0\n let sumTotalMaxWidth = 0\n let sumTotalFlexWidth = 0\n\n headers.forEach(header => {\n let { headers: subHeaders } = header\n\n header.totalLeft = left\n\n if (subHeaders && subHeaders.length) {\n const [\n totalMinWidth,\n totalWidth,\n totalMaxWidth,\n totalFlexWidth,\n ] = calculateHeaderWidths(subHeaders, left)\n header.totalMinWidth = totalMinWidth\n header.totalWidth = totalWidth\n header.totalMaxWidth = totalMaxWidth\n header.totalFlexWidth = totalFlexWidth\n } else {\n header.totalMinWidth = header.minWidth\n header.totalWidth = Math.min(\n Math.max(header.minWidth, header.width),\n header.maxWidth\n )\n header.totalMaxWidth = header.maxWidth\n header.totalFlexWidth = header.canResize ? header.totalWidth : 0\n }\n if (header.isVisible) {\n left += header.totalWidth\n sumTotalMinWidth += header.totalMinWidth\n sumTotalWidth += header.totalWidth\n sumTotalMaxWidth += header.totalMaxWidth\n sumTotalFlexWidth += header.totalFlexWidth\n }\n })\n\n return [sumTotalMinWidth, sumTotalWidth, sumTotalMaxWidth, sumTotalFlexWidth]\n}\n\nfunction accessRowsForColumn({\n data,\n rows,\n flatRows,\n rowsById,\n column,\n getRowId,\n getSubRows,\n accessValueHooks,\n getInstance,\n}) {\n // Access the row's data column-by-column\n // We do it this way so we can incrementally add materialized\n // columns after the first pass and avoid excessive looping\n const accessRow = (originalRow, rowIndex, depth = 0, parent, parentRows) => {\n // Keep the original reference around\n const original = originalRow\n\n const id = getRowId(originalRow, rowIndex, parent)\n\n let row = rowsById[id]\n\n // If the row hasn't been created, let's make it\n if (!row) {\n row = {\n id,\n original,\n index: rowIndex,\n depth,\n cells: [{}], // This is a dummy cell\n }\n\n // Override common array functions (and the dummy cell's getCellProps function)\n // to show an error if it is accessed without calling prepareRow\n row.cells.map = unpreparedAccessWarning\n row.cells.filter = unpreparedAccessWarning\n row.cells.forEach = unpreparedAccessWarning\n row.cells[0].getCellProps = unpreparedAccessWarning\n\n // Create the cells and values\n row.values = {}\n\n // Push this row into the parentRows array\n parentRows.push(row)\n // Keep track of every row in a flat array\n flatRows.push(row)\n // Also keep track of every row by its ID\n rowsById[id] = row\n\n // Get the original subrows\n row.originalSubRows = getSubRows(originalRow, rowIndex)\n\n // Then recursively access them\n if (row.originalSubRows) {\n const subRows = []\n row.originalSubRows.forEach((d, i) =>\n accessRow(d, i, depth + 1, row, subRows)\n )\n // Keep the new subRows array on the row\n row.subRows = subRows\n }\n } else if (row.subRows) {\n // If the row exists, then it's already been accessed\n // Keep recursing, but don't worry about passing the\n // accumlator array (those rows already exist)\n row.originalSubRows.forEach((d, i) => accessRow(d, i, depth + 1, row))\n }\n\n // If the column has an accessor, use it to get a value\n if (column.accessor) {\n row.values[column.id] = column.accessor(\n originalRow,\n rowIndex,\n row,\n parentRows,\n data\n )\n }\n\n // Allow plugins to manipulate the column value\n row.values[column.id] = reduceHooks(\n accessValueHooks,\n row.values[column.id],\n {\n row,\n column,\n instance: getInstance(),\n },\n true\n )\n }\n\n data.forEach((originalRow, rowIndex) =>\n accessRow(originalRow, rowIndex, 0, undefined, rows)\n )\n}\n","import React from 'react'\n\nlet renderErr = 'Renderer Error ☝️'\n\nexport const actions = {\n init: 'init',\n}\n\nexport const defaultRenderer = ({ value = '' }) => value;\nexport const emptyRenderer = () => <> ;\n\nexport const defaultColumn = {\n Cell: defaultRenderer,\n width: 150,\n minWidth: 0,\n maxWidth: Number.MAX_SAFE_INTEGER,\n}\n\nfunction mergeProps(...propList) {\n return propList.reduce((props, next) => {\n const { style, className, ...rest } = next\n\n props = {\n ...props,\n ...rest,\n }\n\n if (style) {\n props.style = props.style\n ? { ...(props.style || {}), ...(style || {}) }\n : style\n }\n\n if (className) {\n props.className = props.className\n ? props.className + ' ' + className\n : className\n }\n\n if (props.className === '') {\n delete props.className\n }\n\n return props\n }, {})\n}\n\nfunction handlePropGetter(prevProps, userProps, meta) {\n // Handle a lambda, pass it the previous props\n if (typeof userProps === 'function') {\n return handlePropGetter({}, userProps(prevProps, meta))\n }\n\n // Handle an array, merge each item as separate props\n if (Array.isArray(userProps)) {\n return mergeProps(prevProps, ...userProps)\n }\n\n // Handle an object by default, merge the two objects\n return mergeProps(prevProps, userProps)\n}\n\nexport const makePropGetter = (hooks, meta = {}) => {\n return (userProps = {}) =>\n [...hooks, userProps].reduce(\n (prev, next) =>\n handlePropGetter(prev, next, {\n ...meta,\n userProps,\n }),\n {}\n )\n}\n\nexport const reduceHooks = (hooks, initial, meta = {}, allowUndefined) =>\n hooks.reduce((prev, next) => {\n const nextValue = next(prev, meta)\n if (process.env.NODE_ENV !== 'production') {\n if (!allowUndefined && typeof nextValue === 'undefined') {\n console.info(next)\n throw new Error(\n 'React Table: A reducer hook ☝️ just returned undefined! This is not allowed.'\n )\n }\n }\n return nextValue\n }, initial)\n\nexport const loopHooks = (hooks, context, meta = {}) =>\n hooks.forEach(hook => {\n const nextValue = hook(context, meta)\n if (process.env.NODE_ENV !== 'production') {\n if (typeof nextValue !== 'undefined') {\n console.info(hook, nextValue)\n throw new Error(\n 'React Table: A loop-type hook ☝️ just returned a value! This is not allowed.'\n )\n }\n }\n })\n\nexport function ensurePluginOrder(plugins, befores, pluginName, afters) {\n if (process.env.NODE_ENV !== 'production' && afters) {\n throw new Error(\n `Defining plugins in the \"after\" section of ensurePluginOrder is no longer supported (see plugin ${pluginName})`\n )\n }\n const pluginIndex = plugins.findIndex(\n plugin => plugin.pluginName === pluginName\n )\n\n if (pluginIndex === -1) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`The plugin \"${pluginName}\" was not found in the plugin list!\nThis usually means you need to need to name your plugin hook by setting the 'pluginName' property of the hook function, eg:\n\n ${pluginName}.pluginName = '${pluginName}'\n`)\n }\n }\n\n befores.forEach(before => {\n const beforeIndex = plugins.findIndex(\n plugin => plugin.pluginName === before\n )\n if (beforeIndex > -1 && beforeIndex > pluginIndex) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n `React Table: The ${pluginName} plugin hook must be placed after the ${before} plugin hook!`\n )\n }\n }\n })\n}\n\nexport function functionalUpdate(updater, old) {\n return typeof updater === 'function' ? updater(old) : updater\n}\n\nexport function useGetLatest(obj) {\n const ref = React.useRef()\n ref.current = obj\n\n return React.useCallback(() => ref.current, [])\n}\n\n// SSR has issues with useLayoutEffect still, so use useEffect during SSR\nexport const safeUseLayoutEffect =\n typeof document !== 'undefined' ? React.useLayoutEffect : React.useEffect\n\nexport function useMountedLayoutEffect(fn, deps) {\n const mountedRef = React.useRef(false)\n\n safeUseLayoutEffect(() => {\n if (mountedRef.current) {\n fn()\n }\n mountedRef.current = true\n // eslint-disable-next-line\n }, deps)\n}\n\nexport function useAsyncDebounce(defaultFn, defaultWait = 0) {\n const debounceRef = React.useRef({})\n\n const getDefaultFn = useGetLatest(defaultFn)\n const getDefaultWait = useGetLatest(defaultWait)\n\n return React.useCallback(\n async (...args) => {\n if (!debounceRef.current.promise) {\n debounceRef.current.promise = new Promise((resolve, reject) => {\n debounceRef.current.resolve = resolve\n debounceRef.current.reject = reject\n })\n }\n\n if (debounceRef.current.timeout) {\n clearTimeout(debounceRef.current.timeout)\n }\n\n debounceRef.current.timeout = setTimeout(async () => {\n delete debounceRef.current.timeout\n try {\n debounceRef.current.resolve(await getDefaultFn()(...args))\n } catch (err) {\n debounceRef.current.reject(err)\n } finally {\n delete debounceRef.current.promise\n }\n }, getDefaultWait())\n\n return debounceRef.current.promise\n },\n [getDefaultFn, getDefaultWait]\n )\n}\n\nexport function makeRenderer(instance, column, meta = {}) {\n return (type, userProps = {}) => {\n const Comp = typeof type === 'string' ? column[type] : type\n\n if (typeof Comp === 'undefined') {\n console.info(column)\n throw new Error(renderErr)\n }\n\n return flexRender(Comp, { ...instance, column, ...meta, ...userProps })\n }\n}\n\nexport function flexRender(Comp, props) {\n return isReactComponent(Comp) ? : Comp\n}\n\nfunction isReactComponent(component) {\n return (\n isClassComponent(component) ||\n typeof component === 'function' ||\n isExoticComponent(component)\n )\n}\n\nfunction isClassComponent(component) {\n return (\n typeof component === 'function' &&\n (() => {\n const proto = Object.getPrototypeOf(component)\n return proto.prototype && proto.prototype.isReactComponent\n })()\n )\n}\n\nfunction isExoticComponent(component) {\n return (\n typeof component === 'object' &&\n typeof component.$$typeof === 'symbol' &&\n ['react.memo', 'react.forward_ref'].includes(component.$$typeof.description)\n )\n}\n","import { defaultColumn, emptyRenderer } from './publicUtils'\n\n// Find the depth of the columns\nexport function findMaxDepth(columns, depth = 0) {\n return columns.reduce((prev, curr) => {\n if (curr.columns) {\n return Math.max(prev, findMaxDepth(curr.columns, depth + 1))\n }\n return depth\n }, 0)\n}\n\n// Build the visible columns, headers and flat column list\nexport function linkColumnStructure(columns, parent, depth = 0) {\n return columns.map(column => {\n column = {\n ...column,\n parent,\n depth,\n }\n\n assignColumnAccessor(column)\n\n if (column.columns) {\n column.columns = linkColumnStructure(column.columns, column, depth + 1)\n }\n return column\n })\n}\n\nexport function flattenColumns(columns) {\n return flattenBy(columns, 'columns')\n}\n\nexport function assignColumnAccessor(column) {\n // First check for string accessor\n let { id, accessor, Header } = column\n\n if (typeof accessor === 'string') {\n id = id || accessor\n const accessorPath = accessor.split('.')\n accessor = row => getBy(row, accessorPath)\n }\n\n if (!id && typeof Header === 'string' && Header) {\n id = Header\n }\n\n if (!id && column.columns) {\n console.error(column)\n throw new Error('A column ID (or unique \"Header\" value) is required!')\n }\n\n if (!id) {\n console.error(column)\n throw new Error('A column ID (or string accessor) is required!')\n }\n\n Object.assign(column, {\n id,\n accessor,\n })\n\n return column\n}\n\nexport function decorateColumn(column, userDefaultColumn) {\n if (!userDefaultColumn) {\n throw new Error()\n }\n Object.assign(column, {\n // Make sure there is a fallback header, just in case\n Header: emptyRenderer,\n Footer: emptyRenderer,\n ...defaultColumn,\n ...userDefaultColumn,\n ...column,\n })\n\n Object.assign(column, {\n originalWidth: column.width,\n })\n\n return column\n}\n\n// Build the header groups from the bottom up\nexport function makeHeaderGroups(\n allColumns,\n defaultColumn,\n additionalHeaderProperties = () => ({})\n) {\n const headerGroups = []\n\n let scanColumns = allColumns\n\n let uid = 0\n const getUID = () => uid++\n\n while (scanColumns.length) {\n // The header group we are creating\n const headerGroup = {\n headers: [],\n }\n\n // The parent columns we're going to scan next\n const parentColumns = []\n\n const hasParents = scanColumns.some(d => d.parent)\n\n // Scan each column for parents\n scanColumns.forEach(column => {\n // What is the latest (last) parent column?\n let latestParentColumn = [...parentColumns].reverse()[0]\n\n let newParent\n\n if (hasParents) {\n // If the column has a parent, add it if necessary\n if (column.parent) {\n newParent = {\n ...column.parent,\n originalId: column.parent.id,\n id: `${column.parent.id}_${getUID()}`,\n headers: [column],\n ...additionalHeaderProperties(column),\n }\n } else {\n // If other columns have parents, we'll need to add a place holder if necessary\n const originalId = `${column.id}_placeholder`\n newParent = decorateColumn(\n {\n originalId,\n id: `${column.id}_placeholder_${getUID()}`,\n placeholderOf: column,\n headers: [column],\n ...additionalHeaderProperties(column),\n },\n defaultColumn\n )\n }\n\n // If the resulting parent columns are the same, just add\n // the column and increment the header span\n if (\n latestParentColumn &&\n latestParentColumn.originalId === newParent.originalId\n ) {\n latestParentColumn.headers.push(column)\n } else {\n parentColumns.push(newParent)\n }\n }\n\n headerGroup.headers.push(column)\n })\n\n headerGroups.push(headerGroup)\n\n // Start scanning the parent columns\n scanColumns = parentColumns\n }\n\n return headerGroups.reverse()\n}\n\nconst pathObjCache = new Map()\n\nexport function getBy(obj, path, def) {\n if (!path) {\n return obj\n }\n const cacheKey = typeof path === 'function' ? path : JSON.stringify(path)\n\n const pathObj =\n pathObjCache.get(cacheKey) ||\n (() => {\n const pathObj = makePathArray(path)\n pathObjCache.set(cacheKey, pathObj)\n return pathObj\n })()\n\n let val\n\n try {\n val = pathObj.reduce((cursor, pathPart) => cursor[pathPart], obj)\n } catch (e) {\n // continue regardless of error\n }\n return typeof val !== 'undefined' ? val : def\n}\n\nexport function getFirstDefined(...args) {\n for (let i = 0; i < args.length; i += 1) {\n if (typeof args[i] !== 'undefined') {\n return args[i]\n }\n }\n}\n\nexport function getElementDimensions(element) {\n const rect = element.getBoundingClientRect()\n const style = window.getComputedStyle(element)\n const margins = {\n left: parseInt(style.marginLeft),\n right: parseInt(style.marginRight),\n }\n const padding = {\n left: parseInt(style.paddingLeft),\n right: parseInt(style.paddingRight),\n }\n return {\n left: Math.ceil(rect.left),\n width: Math.ceil(rect.width),\n outerWidth: Math.ceil(\n rect.width + margins.left + margins.right + padding.left + padding.right\n ),\n marginLeft: margins.left,\n marginRight: margins.right,\n paddingLeft: padding.left,\n paddingRight: padding.right,\n scrollWidth: element.scrollWidth,\n }\n}\n\nexport function isFunction(a) {\n if (typeof a === 'function') {\n return a\n }\n}\n\nexport function flattenBy(arr, key) {\n const flat = []\n\n const recurse = arr => {\n arr.forEach(d => {\n if (!d[key]) {\n flat.push(d)\n } else {\n recurse(d[key])\n }\n })\n }\n\n recurse(arr)\n\n return flat\n}\n\nexport function expandRows(\n rows,\n { manualExpandedKey, expanded, expandSubRows = true }\n) {\n const expandedRows = []\n\n const handleRow = (row, addToExpandedRows = true) => {\n row.isExpanded =\n (row.original && row.original[manualExpandedKey]) || expanded[row.id]\n\n row.canExpand = row.subRows && !!row.subRows.length\n\n if (addToExpandedRows) {\n expandedRows.push(row)\n }\n\n if (row.subRows && row.subRows.length && row.isExpanded) {\n row.subRows.forEach(row => handleRow(row, expandSubRows))\n }\n }\n\n rows.forEach(row => handleRow(row))\n\n return expandedRows\n}\n\nexport function getFilterMethod(filter, userFilterTypes, filterTypes) {\n return (\n isFunction(filter) ||\n userFilterTypes[filter] ||\n filterTypes[filter] ||\n filterTypes.text\n )\n}\n\nexport function shouldAutoRemoveFilter(autoRemove, value, column) {\n return autoRemove ? autoRemove(value, column) : typeof value === 'undefined'\n}\n\nexport function unpreparedAccessWarning() {\n throw new Error(\n 'React-Table: You have not called prepareRow(row) one or more rows you are attempting to render.'\n )\n}\n\nlet passiveSupported = null\nexport function passiveEventSupported() {\n // memoize support to avoid adding multiple test events\n if (typeof passiveSupported === 'boolean') return passiveSupported\n\n let supported = false\n try {\n const options = {\n get passive() {\n supported = true\n return false\n },\n }\n\n window.addEventListener('test', null, options)\n window.removeEventListener('test', null, options)\n } catch (err) {\n supported = false\n }\n passiveSupported = supported\n return passiveSupported\n}\n\n//\n\nconst reOpenBracket = /\\[/g\nconst reCloseBracket = /\\]/g\n\nfunction makePathArray(obj) {\n return (\n flattenDeep(obj)\n // remove all periods in parts\n .map(d => String(d).replace('.', '_'))\n // join parts using period\n .join('.')\n // replace brackets with periods\n .replace(reOpenBracket, '.')\n .replace(reCloseBracket, '')\n // split it back out on periods\n .split('.')\n )\n}\n\nfunction flattenDeep(arr, newArr = []) {\n if (!Array.isArray(arr)) {\n newArr.push(arr)\n } else {\n for (let i = 0; i < arr.length; i += 1) {\n flattenDeep(arr[i], newArr)\n }\n }\n return newArr\n}\n","const defaultGetTableProps = props => ({\n role: 'table',\n ...props,\n})\n\nconst defaultGetTableBodyProps = props => ({\n role: 'rowgroup',\n ...props,\n})\n\nconst defaultGetHeaderProps = (props, { column }) => ({\n key: `header_${column.id}`,\n colSpan: column.totalVisibleHeaderCount,\n role: 'columnheader',\n ...props,\n})\n\nconst defaultGetFooterProps = (props, { column }) => ({\n key: `footer_${column.id}`,\n colSpan: column.totalVisibleHeaderCount,\n ...props,\n})\n\nconst defaultGetHeaderGroupProps = (props, { index }) => ({\n key: `headerGroup_${index}`,\n role: 'row',\n ...props,\n})\n\nconst defaultGetFooterGroupProps = (props, { index }) => ({\n key: `footerGroup_${index}`,\n ...props,\n})\n\nconst defaultGetRowProps = (props, { row }) => ({\n key: `row_${row.id}`,\n role: 'row',\n ...props,\n})\n\nconst defaultGetCellProps = (props, { cell }) => ({\n key: `cell_${cell.row.id}_${cell.column.id}`,\n role: 'cell',\n ...props,\n})\n\nexport default function makeDefaultPluginHooks() {\n return {\n useOptions: [],\n stateReducers: [],\n useControlledState: [],\n columns: [],\n columnsDeps: [],\n allColumns: [],\n allColumnsDeps: [],\n accessValue: [],\n materializedColumns: [],\n materializedColumnsDeps: [],\n useInstanceAfterData: [],\n visibleColumns: [],\n visibleColumnsDeps: [],\n headerGroups: [],\n headerGroupsDeps: [],\n useInstanceBeforeDimensions: [],\n useInstance: [],\n prepareRow: [],\n getTableProps: [defaultGetTableProps],\n getTableBodyProps: [defaultGetTableBodyProps],\n getHeaderGroupProps: [defaultGetHeaderGroupProps],\n getFooterGroupProps: [defaultGetFooterGroupProps],\n getHeaderProps: [defaultGetHeaderProps],\n getFooterProps: [defaultGetFooterProps],\n getRowProps: [defaultGetRowProps],\n getCellProps: [defaultGetCellProps],\n useFinalInstance: [],\n }\n}\n","import React from 'react'\n\nimport {\n actions,\n functionalUpdate,\n useGetLatest,\n makePropGetter,\n useMountedLayoutEffect,\n} from '../publicUtils'\n\nactions.resetHiddenColumns = 'resetHiddenColumns'\nactions.toggleHideColumn = 'toggleHideColumn'\nactions.setHiddenColumns = 'setHiddenColumns'\nactions.toggleHideAllColumns = 'toggleHideAllColumns'\n\nexport const useColumnVisibility = hooks => {\n hooks.getToggleHiddenProps = [defaultGetToggleHiddenProps]\n hooks.getToggleHideAllColumnsProps = [defaultGetToggleHideAllColumnsProps]\n\n hooks.stateReducers.push(reducer)\n hooks.useInstanceBeforeDimensions.push(useInstanceBeforeDimensions)\n hooks.headerGroupsDeps.push((deps, { instance }) => [\n ...deps,\n instance.state.hiddenColumns,\n ])\n hooks.useInstance.push(useInstance)\n}\n\nuseColumnVisibility.pluginName = 'useColumnVisibility'\n\nconst defaultGetToggleHiddenProps = (props, { column }) => [\n props,\n {\n onChange: e => {\n column.toggleHidden(!e.target.checked)\n },\n style: {\n cursor: 'pointer',\n },\n checked: column.isVisible,\n title: 'Toggle Column Visible',\n },\n]\n\nconst defaultGetToggleHideAllColumnsProps = (props, { instance }) => [\n props,\n {\n onChange: e => {\n instance.toggleHideAllColumns(!e.target.checked)\n },\n style: {\n cursor: 'pointer',\n },\n checked: !instance.allColumnsHidden && !instance.state.hiddenColumns.length,\n title: 'Toggle All Columns Hidden',\n indeterminate:\n !instance.allColumnsHidden && instance.state.hiddenColumns.length,\n },\n]\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n hiddenColumns: [],\n ...state,\n }\n }\n\n if (action.type === actions.resetHiddenColumns) {\n return {\n ...state,\n hiddenColumns: instance.initialState.hiddenColumns || [],\n }\n }\n\n if (action.type === actions.toggleHideColumn) {\n const should =\n typeof action.value !== 'undefined'\n ? action.value\n : !state.hiddenColumns.includes(action.columnId)\n\n const hiddenColumns = should\n ? [...state.hiddenColumns, action.columnId]\n : state.hiddenColumns.filter(d => d !== action.columnId)\n\n return {\n ...state,\n hiddenColumns,\n }\n }\n\n if (action.type === actions.setHiddenColumns) {\n return {\n ...state,\n hiddenColumns: functionalUpdate(action.value, state.hiddenColumns),\n }\n }\n\n if (action.type === actions.toggleHideAllColumns) {\n const shouldAll =\n typeof action.value !== 'undefined'\n ? action.value\n : !state.hiddenColumns.length\n\n return {\n ...state,\n hiddenColumns: shouldAll ? instance.allColumns.map(d => d.id) : [],\n }\n }\n}\n\nfunction useInstanceBeforeDimensions(instance) {\n const {\n headers,\n state: { hiddenColumns },\n } = instance\n\n const isMountedRef = React.useRef(false)\n\n if (!isMountedRef.current) {\n }\n\n const handleColumn = (column, parentVisible) => {\n column.isVisible = parentVisible && !hiddenColumns.includes(column.id)\n\n let totalVisibleHeaderCount = 0\n\n if (column.headers && column.headers.length) {\n column.headers.forEach(\n subColumn =>\n (totalVisibleHeaderCount += handleColumn(subColumn, column.isVisible))\n )\n } else {\n totalVisibleHeaderCount = column.isVisible ? 1 : 0\n }\n\n column.totalVisibleHeaderCount = totalVisibleHeaderCount\n\n return totalVisibleHeaderCount\n }\n\n let totalVisibleHeaderCount = 0\n\n headers.forEach(\n subHeader => (totalVisibleHeaderCount += handleColumn(subHeader, true))\n )\n}\n\nfunction useInstance(instance) {\n const {\n columns,\n flatHeaders,\n dispatch,\n allColumns,\n getHooks,\n state: { hiddenColumns },\n autoResetHiddenColumns = true,\n } = instance\n\n const getInstance = useGetLatest(instance)\n\n const allColumnsHidden = allColumns.length === hiddenColumns.length\n\n const toggleHideColumn = React.useCallback(\n (columnId, value) =>\n dispatch({ type: actions.toggleHideColumn, columnId, value }),\n [dispatch]\n )\n\n const setHiddenColumns = React.useCallback(\n value => dispatch({ type: actions.setHiddenColumns, value }),\n [dispatch]\n )\n\n const toggleHideAllColumns = React.useCallback(\n value => dispatch({ type: actions.toggleHideAllColumns, value }),\n [dispatch]\n )\n\n const getToggleHideAllColumnsProps = makePropGetter(\n getHooks().getToggleHideAllColumnsProps,\n { instance: getInstance() }\n )\n\n flatHeaders.forEach(column => {\n column.toggleHidden = value => {\n dispatch({\n type: actions.toggleHideColumn,\n columnId: column.id,\n value,\n })\n }\n\n column.getToggleHiddenProps = makePropGetter(\n getHooks().getToggleHiddenProps,\n {\n instance: getInstance(),\n column,\n }\n )\n })\n\n const getAutoResetHiddenColumns = useGetLatest(autoResetHiddenColumns)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetHiddenColumns()) {\n dispatch({ type: actions.resetHiddenColumns })\n }\n }, [dispatch, columns])\n\n Object.assign(instance, {\n allColumnsHidden,\n toggleHideColumn,\n setHiddenColumns,\n toggleHideAllColumns,\n getToggleHideAllColumnsProps,\n })\n}\n","import React from 'react'\n\nimport { expandRows } from '../utils'\n\nimport {\n useGetLatest,\n actions,\n useMountedLayoutEffect,\n makePropGetter,\n ensurePluginOrder,\n} from '../publicUtils'\n\n// Actions\nactions.resetExpanded = 'resetExpanded'\nactions.toggleRowExpanded = 'toggleRowExpanded'\nactions.toggleAllRowsExpanded = 'toggleAllRowsExpanded'\n\nexport const useExpanded = hooks => {\n hooks.getToggleAllRowsExpandedProps = [defaultGetToggleAllRowsExpandedProps]\n hooks.getToggleRowExpandedProps = [defaultGetToggleRowExpandedProps]\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\nuseExpanded.pluginName = 'useExpanded'\n\nconst defaultGetToggleAllRowsExpandedProps = (props, { instance }) => [\n props,\n {\n onClick: e => {\n instance.toggleAllRowsExpanded()\n },\n style: {\n cursor: 'pointer',\n },\n title: 'Toggle All Rows Expanded',\n },\n]\n\nconst defaultGetToggleRowExpandedProps = (props, { row }) => [\n props,\n {\n onClick: () => {\n row.toggleRowExpanded()\n },\n style: {\n cursor: 'pointer',\n },\n title: 'Toggle Row Expanded',\n },\n]\n\n// Reducer\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n expanded: {},\n ...state,\n }\n }\n\n if (action.type === actions.resetExpanded) {\n return {\n ...state,\n expanded: instance.initialState.expanded || {},\n }\n }\n\n if (action.type === actions.toggleAllRowsExpanded) {\n const { value } = action\n const { isAllRowsExpanded, rowsById } = instance\n\n const expandAll = typeof value !== 'undefined' ? value : !isAllRowsExpanded\n\n if (expandAll) {\n const expanded = {}\n\n Object.keys(rowsById).forEach(rowId => {\n expanded[rowId] = true\n })\n\n return {\n ...state,\n expanded,\n }\n }\n\n return {\n ...state,\n expanded: {},\n }\n }\n\n if (action.type === actions.toggleRowExpanded) {\n const { id, value: setExpanded } = action\n const exists = state.expanded[id]\n\n const shouldExist =\n typeof setExpanded !== 'undefined' ? setExpanded : !exists\n\n if (!exists && shouldExist) {\n return {\n ...state,\n expanded: {\n ...state.expanded,\n [id]: true,\n },\n }\n } else if (exists && !shouldExist) {\n const { [id]: _, ...rest } = state.expanded\n return {\n ...state,\n expanded: rest,\n }\n } else {\n return state\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n rowsById,\n manualExpandedKey = 'expanded',\n paginateExpandedRows = true,\n expandSubRows = true,\n autoResetExpanded = true,\n getHooks,\n plugins,\n state: { expanded },\n dispatch,\n } = instance\n\n ensurePluginOrder(\n plugins,\n ['useSortBy', 'useGroupBy', 'usePivotColumns', 'useGlobalFilter'],\n 'useExpanded'\n )\n\n const getAutoResetExpanded = useGetLatest(autoResetExpanded)\n\n let isAllRowsExpanded = Boolean(\n Object.keys(rowsById).length && Object.keys(expanded).length\n )\n\n if (isAllRowsExpanded) {\n if (Object.keys(rowsById).some(id => !expanded[id])) {\n isAllRowsExpanded = false\n }\n }\n\n // Bypass any effects from firing when this changes\n useMountedLayoutEffect(() => {\n if (getAutoResetExpanded()) {\n dispatch({ type: actions.resetExpanded })\n }\n }, [dispatch, data])\n\n const toggleRowExpanded = React.useCallback(\n (id, value) => {\n dispatch({ type: actions.toggleRowExpanded, id, value })\n },\n [dispatch]\n )\n\n const toggleAllRowsExpanded = React.useCallback(\n value => dispatch({ type: actions.toggleAllRowsExpanded, value }),\n [dispatch]\n )\n\n const expandedRows = React.useMemo(() => {\n if (paginateExpandedRows) {\n return expandRows(rows, { manualExpandedKey, expanded, expandSubRows })\n }\n\n return rows\n }, [paginateExpandedRows, rows, manualExpandedKey, expanded, expandSubRows])\n\n const expandedDepth = React.useMemo(() => findExpandedDepth(expanded), [\n expanded,\n ])\n\n const getInstance = useGetLatest(instance)\n\n const getToggleAllRowsExpandedProps = makePropGetter(\n getHooks().getToggleAllRowsExpandedProps,\n { instance: getInstance() }\n )\n\n Object.assign(instance, {\n preExpandedRows: rows,\n expandedRows,\n rows: expandedRows,\n expandedDepth,\n isAllRowsExpanded,\n toggleRowExpanded,\n toggleAllRowsExpanded,\n getToggleAllRowsExpandedProps,\n })\n}\n\nfunction prepareRow(row, { instance: { getHooks }, instance }) {\n row.toggleRowExpanded = set => instance.toggleRowExpanded(row.id, set)\n\n row.getToggleRowExpandedProps = makePropGetter(\n getHooks().getToggleRowExpandedProps,\n {\n instance,\n row,\n }\n )\n}\n\nfunction findExpandedDepth(expanded) {\n let maxDepth = 0\n\n Object.keys(expanded).forEach(id => {\n const splitId = id.split('.')\n maxDepth = Math.max(maxDepth, splitId.length)\n })\n\n return maxDepth\n}\n","export const text = (rows, ids, filterValue) => {\n rows = rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return String(rowValue)\n .toLowerCase()\n .includes(String(filterValue).toLowerCase())\n })\n })\n return rows\n}\n\ntext.autoRemove = val => !val\n\nexport const exactText = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return rowValue !== undefined\n ? String(rowValue).toLowerCase() === String(filterValue).toLowerCase()\n : true\n })\n })\n}\n\nexactText.autoRemove = val => !val\n\nexport const exactTextCase = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return rowValue !== undefined\n ? String(rowValue) === String(filterValue)\n : true\n })\n })\n}\n\nexactTextCase.autoRemove = val => !val\n\nexport const includes = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return rowValue.includes(filterValue)\n })\n })\n}\n\nincludes.autoRemove = val => !val || !val.length\n\nexport const includesAll = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return (\n rowValue &&\n rowValue.length &&\n filterValue.every(val => rowValue.includes(val))\n )\n })\n })\n}\n\nincludesAll.autoRemove = val => !val || !val.length\n\nexport const includesSome = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return (\n rowValue &&\n rowValue.length &&\n filterValue.some(val => rowValue.includes(val))\n )\n })\n })\n}\n\nincludesSome.autoRemove = val => !val || !val.length\n\nexport const includesValue = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return filterValue.includes(rowValue)\n })\n })\n}\n\nincludesValue.autoRemove = val => !val || !val.length\n\nexport const exact = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return rowValue === filterValue\n })\n })\n}\n\nexact.autoRemove = val => typeof val === 'undefined'\n\nexport const equals = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n // eslint-disable-next-line eqeqeq\n return rowValue == filterValue\n })\n })\n}\n\nequals.autoRemove = val => val == null\n\nexport const between = (rows, ids, filterValue) => {\n let [min, max] = filterValue || []\n\n min = typeof min === 'number' ? min : -Infinity\n max = typeof max === 'number' ? max : Infinity\n\n if (min > max) {\n const temp = min\n min = max\n max = temp\n }\n\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return rowValue >= min && rowValue <= max\n })\n })\n}\n\nbetween.autoRemove = val =>\n !val || (typeof val[0] !== 'number' && typeof val[1] !== 'number')\n","import React from 'react'\n\nimport {\n getFirstDefined,\n getFilterMethod,\n shouldAutoRemoveFilter,\n} from '../utils'\n\nimport {\n actions,\n useGetLatest,\n functionalUpdate,\n useMountedLayoutEffect,\n} from '../publicUtils'\n\nimport * as filterTypes from '../filterTypes'\n\n// Actions\nactions.resetFilters = 'resetFilters'\nactions.setFilter = 'setFilter'\nactions.setAllFilters = 'setAllFilters'\n\nexport const useFilters = hooks => {\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n}\n\nuseFilters.pluginName = 'useFilters'\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n filters: [],\n ...state,\n }\n }\n\n if (action.type === actions.resetFilters) {\n return {\n ...state,\n filters: instance.initialState.filters || [],\n }\n }\n\n if (action.type === actions.setFilter) {\n const { columnId, filterValue } = action\n const { allColumns, filterTypes: userFilterTypes } = instance\n\n const column = allColumns.find(d => d.id === columnId)\n\n if (!column) {\n throw new Error(\n `React-Table: Could not find a column with id: ${columnId}`\n )\n }\n\n const filterMethod = getFilterMethod(\n column.filter,\n userFilterTypes || {},\n filterTypes\n )\n\n const previousfilter = state.filters.find(d => d.id === columnId)\n\n const newFilter = functionalUpdate(\n filterValue,\n previousfilter && previousfilter.value\n )\n\n //\n if (shouldAutoRemoveFilter(filterMethod.autoRemove, newFilter, column)) {\n return {\n ...state,\n filters: state.filters.filter(d => d.id !== columnId),\n }\n }\n\n if (previousfilter) {\n return {\n ...state,\n filters: state.filters.map(d => {\n if (d.id === columnId) {\n return { id: columnId, value: newFilter }\n }\n return d\n }),\n }\n }\n\n return {\n ...state,\n filters: [...state.filters, { id: columnId, value: newFilter }],\n }\n }\n\n if (action.type === actions.setAllFilters) {\n const { filters } = action\n const { allColumns, filterTypes: userFilterTypes } = instance\n\n return {\n ...state,\n // Filter out undefined values\n filters: functionalUpdate(filters, state.filters).filter(filter => {\n const column = allColumns.find(d => d.id === filter.id)\n const filterMethod = getFilterMethod(\n column.filter,\n userFilterTypes || {},\n filterTypes\n )\n\n if (\n shouldAutoRemoveFilter(filterMethod.autoRemove, filter.value, column)\n ) {\n return false\n }\n return true\n }),\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n flatRows,\n rowsById,\n allColumns,\n filterTypes: userFilterTypes,\n manualFilters,\n defaultCanFilter = false,\n disableFilters,\n state: { filters },\n dispatch,\n autoResetFilters = true,\n } = instance\n\n const setFilter = React.useCallback(\n (columnId, filterValue) => {\n dispatch({ type: actions.setFilter, columnId, filterValue })\n },\n [dispatch]\n )\n\n const setAllFilters = React.useCallback(\n filters => {\n dispatch({\n type: actions.setAllFilters,\n filters,\n })\n },\n [dispatch]\n )\n\n allColumns.forEach(column => {\n const {\n id,\n accessor,\n defaultCanFilter: columnDefaultCanFilter,\n disableFilters: columnDisableFilters,\n } = column\n\n // Determine if a column is filterable\n column.canFilter = accessor\n ? getFirstDefined(\n columnDisableFilters === true ? false : undefined,\n disableFilters === true ? false : undefined,\n true\n )\n : getFirstDefined(columnDefaultCanFilter, defaultCanFilter, false)\n\n // Provide the column a way of updating the filter value\n column.setFilter = val => setFilter(column.id, val)\n\n // Provide the current filter value to the column for\n // convenience\n const found = filters.find(d => d.id === id)\n column.filterValue = found && found.value\n })\n\n const [\n filteredRows,\n filteredFlatRows,\n filteredRowsById,\n ] = React.useMemo(() => {\n if (manualFilters || !filters.length) {\n return [rows, flatRows, rowsById]\n }\n\n const filteredFlatRows = []\n const filteredRowsById = {}\n\n // Filters top level and nested rows\n const filterRows = (rows, depth = 0) => {\n let filteredRows = rows\n\n filteredRows = filters.reduce(\n (filteredSoFar, { id: columnId, value: filterValue }) => {\n // Find the filters column\n const column = allColumns.find(d => d.id === columnId)\n\n if (!column) {\n return filteredSoFar\n }\n\n if (depth === 0) {\n column.preFilteredRows = filteredSoFar\n }\n\n const filterMethod = getFilterMethod(\n column.filter,\n userFilterTypes || {},\n filterTypes\n )\n\n if (!filterMethod) {\n console.warn(\n `Could not find a valid 'column.filter' for column with the ID: ${column.id}.`\n )\n return filteredSoFar\n }\n\n // Pass the rows, id, filterValue and column to the filterMethod\n // to get the filtered rows back\n column.filteredRows = filterMethod(\n filteredSoFar,\n [columnId],\n filterValue\n )\n\n return column.filteredRows\n },\n rows\n )\n\n // Apply the filter to any subRows\n // We technically could do this recursively in the above loop,\n // but that would severely hinder the API for the user, since they\n // would be required to do that recursion in some scenarios\n filteredRows.forEach(row => {\n filteredFlatRows.push(row)\n filteredRowsById[row.id] = row\n if (!row.subRows) {\n return\n }\n\n row.subRows =\n row.subRows && row.subRows.length > 0\n ? filterRows(row.subRows, depth + 1)\n : row.subRows\n })\n\n return filteredRows\n }\n\n return [filterRows(rows), filteredFlatRows, filteredRowsById]\n }, [\n manualFilters,\n filters,\n rows,\n flatRows,\n rowsById,\n allColumns,\n userFilterTypes,\n ])\n\n React.useMemo(() => {\n // Now that each filtered column has it's partially filtered rows,\n // lets assign the final filtered rows to all of the other columns\n const nonFilteredColumns = allColumns.filter(\n column => !filters.find(d => d.id === column.id)\n )\n\n // This essentially enables faceted filter options to be built easily\n // using every column's preFilteredRows value\n nonFilteredColumns.forEach(column => {\n column.preFilteredRows = filteredRows\n column.filteredRows = filteredRows\n })\n }, [filteredRows, filters, allColumns])\n\n const getAutoResetFilters = useGetLatest(autoResetFilters)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetFilters()) {\n dispatch({ type: actions.resetFilters })\n }\n }, [dispatch, manualFilters ? null : data])\n\n Object.assign(instance, {\n preFilteredRows: rows,\n preFilteredFlatRows: flatRows,\n preFilteredRowsById: rowsById,\n filteredRows,\n filteredFlatRows,\n filteredRowsById,\n rows: filteredRows,\n flatRows: filteredFlatRows,\n rowsById: filteredRowsById,\n setFilter,\n setAllFilters,\n })\n}\n","import React from 'react'\n\nimport {\n getFilterMethod,\n shouldAutoRemoveFilter,\n getFirstDefined,\n} from '../utils'\n\nimport {\n actions,\n useMountedLayoutEffect,\n functionalUpdate,\n useGetLatest,\n} from '../publicUtils'\n\nimport * as filterTypes from '../filterTypes'\n\n// Actions\nactions.resetGlobalFilter = 'resetGlobalFilter'\nactions.setGlobalFilter = 'setGlobalFilter'\n\nexport const useGlobalFilter = hooks => {\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n}\n\nuseGlobalFilter.pluginName = 'useGlobalFilter'\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.resetGlobalFilter) {\n return {\n ...state,\n globalFilter: instance.initialState.globalFilter || undefined,\n }\n }\n\n if (action.type === actions.setGlobalFilter) {\n const { filterValue } = action\n const { userFilterTypes } = instance\n\n const filterMethod = getFilterMethod(\n instance.globalFilter,\n userFilterTypes || {},\n filterTypes\n )\n\n const newFilter = functionalUpdate(filterValue, state.globalFilter)\n\n //\n if (shouldAutoRemoveFilter(filterMethod.autoRemove, newFilter)) {\n const { globalFilter, ...stateWithoutGlobalFilter } = state\n return stateWithoutGlobalFilter\n }\n\n return {\n ...state,\n globalFilter: newFilter,\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n flatRows,\n rowsById,\n allColumns,\n filterTypes: userFilterTypes,\n globalFilter,\n manualGlobalFilter,\n state: { globalFilter: globalFilterValue },\n dispatch,\n autoResetGlobalFilter = true,\n disableGlobalFilter,\n } = instance\n\n const setGlobalFilter = React.useCallback(\n filterValue => {\n dispatch({ type: actions.setGlobalFilter, filterValue })\n },\n [dispatch]\n )\n\n // TODO: Create a filter cache for incremental high speed multi-filtering\n // This gets pretty complicated pretty fast, since you have to maintain a\n // cache for each row group (top-level rows, and each row's recursive subrows)\n // This would make multi-filtering a lot faster though. Too far?\n\n const [\n globalFilteredRows,\n globalFilteredFlatRows,\n globalFilteredRowsById,\n ] = React.useMemo(() => {\n if (manualGlobalFilter || typeof globalFilterValue === 'undefined') {\n return [rows, flatRows, rowsById]\n }\n\n const filteredFlatRows = []\n const filteredRowsById = {}\n\n const filterMethod = getFilterMethod(\n globalFilter,\n userFilterTypes || {},\n filterTypes\n )\n\n if (!filterMethod) {\n console.warn(`Could not find a valid 'globalFilter' option.`)\n return rows\n }\n\n allColumns.forEach(column => {\n const { disableGlobalFilter: columnDisableGlobalFilter } = column\n\n column.canFilter = getFirstDefined(\n columnDisableGlobalFilter === true ? false : undefined,\n disableGlobalFilter === true ? false : undefined,\n true\n )\n })\n\n const filterableColumns = allColumns.filter(c => c.canFilter === true)\n\n // Filters top level and nested rows\n const filterRows = filteredRows => {\n filteredRows = filterMethod(\n filteredRows,\n filterableColumns.map(d => d.id),\n globalFilterValue\n )\n\n filteredRows.forEach(row => {\n filteredFlatRows.push(row)\n filteredRowsById[row.id] = row\n\n row.subRows =\n row.subRows && row.subRows.length\n ? filterRows(row.subRows)\n : row.subRows\n })\n\n return filteredRows\n }\n\n return [filterRows(rows), filteredFlatRows, filteredRowsById]\n }, [\n manualGlobalFilter,\n globalFilterValue,\n globalFilter,\n userFilterTypes,\n allColumns,\n rows,\n flatRows,\n rowsById,\n disableGlobalFilter,\n ])\n\n const getAutoResetGlobalFilter = useGetLatest(autoResetGlobalFilter)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetGlobalFilter()) {\n dispatch({ type: actions.resetGlobalFilter })\n }\n }, [dispatch, manualGlobalFilter ? null : data])\n\n Object.assign(instance, {\n preGlobalFilteredRows: rows,\n preGlobalFilteredFlatRows: flatRows,\n preGlobalFilteredRowsById: rowsById,\n globalFilteredRows,\n globalFilteredFlatRows,\n globalFilteredRowsById,\n rows: globalFilteredRows,\n flatRows: globalFilteredFlatRows,\n rowsById: globalFilteredRowsById,\n setGlobalFilter,\n disableGlobalFilter,\n })\n}\n","export function sum(values, aggregatedValues) {\n // It's faster to just add the aggregations together instead of\n // process leaf nodes individually\n return aggregatedValues.reduce(\n (sum, next) => sum + (typeof next === 'number' ? next : 0),\n 0\n )\n}\n\nexport function min(values) {\n let min = values[0] || 0\n\n values.forEach(value => {\n if (typeof value === 'number') {\n min = Math.min(min, value)\n }\n })\n\n return min\n}\n\nexport function max(values) {\n let max = values[0] || 0\n\n values.forEach(value => {\n if (typeof value === 'number') {\n max = Math.max(max, value)\n }\n })\n\n return max\n}\n\nexport function minMax(values) {\n let min = values[0] || 0\n let max = values[0] || 0\n\n values.forEach(value => {\n if (typeof value === 'number') {\n min = Math.min(min, value)\n max = Math.max(max, value)\n }\n })\n\n return `${min}..${max}`\n}\n\nexport function average(values) {\n return sum(null, values) / values.length\n}\n\nexport function median(values) {\n if (!values.length) {\n return null\n }\n\n const mid = Math.floor(values.length / 2)\n const nums = [...values].sort((a, b) => a - b)\n return values.length % 2 !== 0 ? nums[mid] : (nums[mid - 1] + nums[mid]) / 2\n}\n\nexport function unique(values) {\n return Array.from(new Set(values).values())\n}\n\nexport function uniqueCount(values) {\n return new Set(values).size\n}\n\nexport function count(values) {\n return values.length\n}\n","import React from 'react'\n\nimport * as aggregations from '../aggregations'\n\nimport { getFirstDefined, flattenBy } from '../utils'\n\nimport {\n actions,\n makePropGetter,\n ensurePluginOrder,\n useMountedLayoutEffect,\n useGetLatest,\n} from '../publicUtils'\n\nconst emptyArray = []\nconst emptyObject = {}\n\n// Actions\nactions.resetGroupBy = 'resetGroupBy'\nactions.setGroupBy = 'setGroupBy'\nactions.toggleGroupBy = 'toggleGroupBy'\n\nexport const useGroupBy = hooks => {\n hooks.getGroupByToggleProps = [defaultGetGroupByToggleProps]\n hooks.stateReducers.push(reducer)\n hooks.visibleColumnsDeps.push((deps, { instance }) => [\n ...deps,\n instance.state.groupBy,\n ])\n hooks.visibleColumns.push(visibleColumns)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\nuseGroupBy.pluginName = 'useGroupBy'\n\nconst defaultGetGroupByToggleProps = (props, { header }) => [\n props,\n {\n onClick: header.canGroupBy\n ? e => {\n e.persist()\n header.toggleGroupBy()\n }\n : undefined,\n style: {\n cursor: header.canGroupBy ? 'pointer' : undefined,\n },\n title: 'Toggle GroupBy',\n },\n]\n\n// Reducer\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n groupBy: [],\n ...state,\n }\n }\n\n if (action.type === actions.resetGroupBy) {\n return {\n ...state,\n groupBy: instance.initialState.groupBy || [],\n }\n }\n\n if (action.type === actions.setGroupBy) {\n const { value } = action\n return {\n ...state,\n groupBy: value,\n }\n }\n\n if (action.type === actions.toggleGroupBy) {\n const { columnId, value: setGroupBy } = action\n\n const resolvedGroupBy =\n typeof setGroupBy !== 'undefined'\n ? setGroupBy\n : !state.groupBy.includes(columnId)\n\n if (resolvedGroupBy) {\n return {\n ...state,\n groupBy: [...state.groupBy, columnId],\n }\n }\n\n return {\n ...state,\n groupBy: state.groupBy.filter(d => d !== columnId),\n }\n }\n}\n\nfunction visibleColumns(\n columns,\n {\n instance: {\n state: { groupBy },\n },\n }\n) {\n // Sort grouped columns to the start of the column list\n // before the headers are built\n\n const groupByColumns = groupBy\n .map(g => columns.find(col => col.id === g))\n .filter(Boolean)\n\n const nonGroupByColumns = columns.filter(col => !groupBy.includes(col.id))\n\n columns = [...groupByColumns, ...nonGroupByColumns]\n\n columns.forEach(column => {\n column.isGrouped = groupBy.includes(column.id)\n column.groupedIndex = groupBy.indexOf(column.id)\n })\n\n return columns\n}\n\nconst defaultUserAggregations = {}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n flatRows,\n rowsById,\n allColumns,\n flatHeaders,\n groupByFn = defaultGroupByFn,\n manualGroupBy,\n aggregations: userAggregations = defaultUserAggregations,\n plugins,\n state: { groupBy },\n dispatch,\n autoResetGroupBy = true,\n disableGroupBy,\n defaultCanGroupBy,\n getHooks,\n } = instance\n\n ensurePluginOrder(plugins, ['useColumnOrder', 'useFilters'], 'useGroupBy')\n\n const getInstance = useGetLatest(instance)\n\n allColumns.forEach(column => {\n const {\n accessor,\n defaultGroupBy: defaultColumnGroupBy,\n disableGroupBy: columnDisableGroupBy,\n } = column\n\n column.canGroupBy = accessor\n ? getFirstDefined(\n column.canGroupBy,\n columnDisableGroupBy === true ? false : undefined,\n disableGroupBy === true ? false : undefined,\n true\n )\n : getFirstDefined(\n column.canGroupBy,\n defaultColumnGroupBy,\n defaultCanGroupBy,\n false\n )\n\n if (column.canGroupBy) {\n column.toggleGroupBy = () => instance.toggleGroupBy(column.id)\n }\n\n column.Aggregated = column.Aggregated || column.Cell\n })\n\n const toggleGroupBy = React.useCallback(\n (columnId, value) => {\n dispatch({ type: actions.toggleGroupBy, columnId, value })\n },\n [dispatch]\n )\n\n const setGroupBy = React.useCallback(\n value => {\n dispatch({ type: actions.setGroupBy, value })\n },\n [dispatch]\n )\n\n flatHeaders.forEach(header => {\n header.getGroupByToggleProps = makePropGetter(\n getHooks().getGroupByToggleProps,\n { instance: getInstance(), header }\n )\n })\n\n const [\n groupedRows,\n groupedFlatRows,\n groupedRowsById,\n onlyGroupedFlatRows,\n onlyGroupedRowsById,\n nonGroupedFlatRows,\n nonGroupedRowsById,\n ] = React.useMemo(() => {\n if (manualGroupBy || !groupBy.length) {\n return [\n rows,\n flatRows,\n rowsById,\n emptyArray,\n emptyObject,\n flatRows,\n rowsById,\n ]\n }\n\n // Ensure that the list of filtered columns exist\n const existingGroupBy = groupBy.filter(g =>\n allColumns.find(col => col.id === g)\n )\n\n // Find the columns that can or are aggregating\n // Uses each column to aggregate rows into a single value\n const aggregateRowsToValues = (leafRows, groupedRows, depth) => {\n const values = {}\n\n allColumns.forEach(column => {\n // Don't aggregate columns that are in the groupBy\n if (existingGroupBy.includes(column.id)) {\n values[column.id] = groupedRows[0]\n ? groupedRows[0].values[column.id]\n : null\n return\n }\n\n // Aggregate the values\n let aggregateFn =\n typeof column.aggregate === 'function'\n ? column.aggregate\n : userAggregations[column.aggregate] ||\n aggregations[column.aggregate]\n\n if (aggregateFn) {\n // Get the columnValues to aggregate\n const groupedValues = groupedRows.map(row => row.values[column.id])\n\n // Get the columnValues to aggregate\n const leafValues = leafRows.map(row => {\n let columnValue = row.values[column.id]\n\n if (!depth && column.aggregateValue) {\n const aggregateValueFn =\n typeof column.aggregateValue === 'function'\n ? column.aggregateValue\n : userAggregations[column.aggregateValue] ||\n aggregations[column.aggregateValue]\n\n if (!aggregateValueFn) {\n console.info({ column })\n throw new Error(\n `React Table: Invalid column.aggregateValue option for column listed above`\n )\n }\n\n columnValue = aggregateValueFn(columnValue, row, column)\n }\n return columnValue\n })\n\n values[column.id] = aggregateFn(leafValues, groupedValues)\n } else if (column.aggregate) {\n console.info({ column })\n throw new Error(\n `React Table: Invalid column.aggregate option for column listed above`\n )\n } else {\n values[column.id] = null\n }\n })\n\n return values\n }\n\n let groupedFlatRows = []\n const groupedRowsById = {}\n const onlyGroupedFlatRows = []\n const onlyGroupedRowsById = {}\n const nonGroupedFlatRows = []\n const nonGroupedRowsById = {}\n\n // Recursively group the data\n const groupUpRecursively = (rows, depth = 0, parentId) => {\n // This is the last level, just return the rows\n if (depth === existingGroupBy.length) {\n return rows\n }\n\n const columnId = existingGroupBy[depth]\n\n // Group the rows together for this level\n let rowGroupsMap = groupByFn(rows, columnId)\n\n // Peform aggregations for each group\n const aggregatedGroupedRows = Object.entries(rowGroupsMap).map(\n ([groupByVal, groupedRows], index) => {\n let id = `${columnId}:${groupByVal}`\n id = parentId ? `${parentId}>${id}` : id\n\n // First, Recurse to group sub rows before aggregation\n const subRows = groupUpRecursively(groupedRows, depth + 1, id)\n\n // Flatten the leaf rows of the rows in this group\n const leafRows = depth\n ? flattenBy(groupedRows, 'leafRows')\n : groupedRows\n\n const values = aggregateRowsToValues(leafRows, groupedRows, depth)\n\n const row = {\n id,\n isGrouped: true,\n groupByID: columnId,\n groupByVal,\n values,\n subRows,\n leafRows,\n depth,\n index,\n }\n\n subRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n if (subRow.isGrouped) {\n onlyGroupedFlatRows.push(subRow)\n onlyGroupedRowsById[subRow.id] = subRow\n } else {\n nonGroupedFlatRows.push(subRow)\n nonGroupedRowsById[subRow.id] = subRow\n }\n })\n\n return row\n }\n )\n\n return aggregatedGroupedRows\n }\n\n const groupedRows = groupUpRecursively(rows)\n\n groupedRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n if (subRow.isGrouped) {\n onlyGroupedFlatRows.push(subRow)\n onlyGroupedRowsById[subRow.id] = subRow\n } else {\n nonGroupedFlatRows.push(subRow)\n nonGroupedRowsById[subRow.id] = subRow\n }\n })\n\n // Assign the new data\n return [\n groupedRows,\n groupedFlatRows,\n groupedRowsById,\n onlyGroupedFlatRows,\n onlyGroupedRowsById,\n nonGroupedFlatRows,\n nonGroupedRowsById,\n ]\n }, [\n manualGroupBy,\n groupBy,\n rows,\n flatRows,\n rowsById,\n allColumns,\n userAggregations,\n groupByFn,\n ])\n\n const getAutoResetGroupBy = useGetLatest(autoResetGroupBy)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetGroupBy()) {\n dispatch({ type: actions.resetGroupBy })\n }\n }, [dispatch, manualGroupBy ? null : data])\n\n Object.assign(instance, {\n preGroupedRows: rows,\n preGroupedFlatRow: flatRows,\n preGroupedRowsById: rowsById,\n groupedRows,\n groupedFlatRows,\n groupedRowsById,\n onlyGroupedFlatRows,\n onlyGroupedRowsById,\n nonGroupedFlatRows,\n nonGroupedRowsById,\n rows: groupedRows,\n flatRows: groupedFlatRows,\n rowsById: groupedRowsById,\n toggleGroupBy,\n setGroupBy,\n })\n}\n\nfunction prepareRow(row) {\n row.allCells.forEach(cell => {\n // Grouped cells are in the groupBy and the pivot cell for the row\n cell.isGrouped = cell.column.isGrouped && cell.column.id === row.groupByID\n // Placeholder cells are any columns in the groupBy that are not grouped\n cell.isPlaceholder = !cell.isGrouped && cell.column.isGrouped\n // Aggregated cells are not grouped, not repeated, but still have subRows\n cell.isAggregated =\n !cell.isGrouped && !cell.isPlaceholder && row.subRows?.length\n })\n}\n\nexport function defaultGroupByFn(rows, columnId) {\n return rows.reduce((prev, row, i) => {\n // TODO: Might want to implement a key serializer here so\n // irregular column values can still be grouped if needed?\n const resKey = `${row.values[columnId]}`\n prev[resKey] = Array.isArray(prev[resKey]) ? prev[resKey] : []\n prev[resKey].push(row)\n return prev\n }, {})\n}\n","const reSplitAlphaNumeric = /([0-9]+)/gm\n\n// Mixed sorting is slow, but very inclusive of many edge cases.\n// It handles numbers, mixed alphanumeric combinations, and even\n// null, undefined, and Infinity\nexport const alphanumeric = (rowA, rowB, columnId) => {\n let [a, b] = getRowValuesByColumnID(rowA, rowB, columnId)\n\n // Force to strings (or \"\" for unsupported types)\n a = toString(a)\n b = toString(b)\n\n // Split on number groups, but keep the delimiter\n // Then remove falsey split values\n a = a.split(reSplitAlphaNumeric).filter(Boolean)\n b = b.split(reSplitAlphaNumeric).filter(Boolean)\n\n // While\n while (a.length && b.length) {\n let aa = a.shift()\n let bb = b.shift()\n\n const an = parseInt(aa, 10)\n const bn = parseInt(bb, 10)\n\n const combo = [an, bn].sort()\n\n // Both are string\n if (isNaN(combo[0])) {\n if (aa > bb) {\n return 1\n }\n if (bb > aa) {\n return -1\n }\n continue\n }\n\n // One is a string, one is a number\n if (isNaN(combo[1])) {\n return isNaN(an) ? -1 : 1\n }\n\n // Both are numbers\n if (an > bn) {\n return 1\n }\n if (bn > an) {\n return -1\n }\n }\n\n return a.length - b.length\n}\nexport function datetime(rowA, rowB, columnId) {\n let [a, b] = getRowValuesByColumnID(rowA, rowB, columnId)\n\n a = a.getTime()\n b = b.getTime()\n\n return compareBasic(a, b)\n}\n\nexport function basic(rowA, rowB, columnId) {\n let [a, b] = getRowValuesByColumnID(rowA, rowB, columnId)\n\n return compareBasic(a, b)\n}\n\nexport function string(rowA, rowB, columnId) {\n let [a, b] = getRowValuesByColumnID(rowA, rowB, columnId)\n\n a = a.split('').filter(Boolean)\n b = b.split('').filter(Boolean)\n\n while (a.length && b.length) {\n let aa = a.shift()\n let bb = b.shift()\n\n let alower = aa.toLowerCase()\n let blower = bb.toLowerCase()\n\n // Case insensitive comparison until characters match\n if (alower > blower) {\n return 1\n }\n if (blower > alower) {\n return -1\n }\n // If lowercase characters are identical\n if (aa > bb) {\n return 1\n }\n if (bb > aa) {\n return -1\n }\n continue\n }\n\n return a.length - b.length\n}\n\nexport function number(rowA, rowB, columnId) {\n let [a, b] = getRowValuesByColumnID(rowA, rowB, columnId)\n\n const replaceNonNumeric = /[^0-9.]/gi\n\n a = Number(String(a).replace(replaceNonNumeric, ''))\n b = Number(String(b).replace(replaceNonNumeric, ''))\n\n return compareBasic(a, b)\n}\n\n// Utils\n\nfunction compareBasic(a, b) {\n return a === b ? 0 : a > b ? 1 : -1\n}\n\nfunction getRowValuesByColumnID(row1, row2, columnId) {\n return [row1.values[columnId], row2.values[columnId]]\n}\n\nfunction toString(a) {\n if (typeof a === 'number') {\n if (isNaN(a) || a === Infinity || a === -Infinity) {\n return ''\n }\n return String(a)\n }\n if (typeof a === 'string') {\n return a\n }\n return ''\n}\n","import React from 'react'\n\nimport {\n actions,\n ensurePluginOrder,\n defaultColumn,\n makePropGetter,\n useGetLatest,\n useMountedLayoutEffect,\n} from '../publicUtils'\n\nimport { getFirstDefined, isFunction } from '../utils'\n\nimport * as sortTypes from '../sortTypes'\n\n// Actions\nactions.resetSortBy = 'resetSortBy'\nactions.setSortBy = 'setSortBy'\nactions.toggleSortBy = 'toggleSortBy'\nactions.clearSortBy = 'clearSortBy'\n\ndefaultColumn.sortType = 'alphanumeric'\ndefaultColumn.sortDescFirst = false\n\nexport const useSortBy = hooks => {\n hooks.getSortByToggleProps = [defaultGetSortByToggleProps]\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n}\n\nuseSortBy.pluginName = 'useSortBy'\n\nconst defaultGetSortByToggleProps = (props, { instance, column }) => {\n const { isMultiSortEvent = e => e.shiftKey } = instance\n\n return [\n props,\n {\n onClick: column.canSort\n ? e => {\n e.persist()\n column.toggleSortBy(\n undefined,\n !instance.disableMultiSort && isMultiSortEvent(e)\n )\n }\n : undefined,\n style: {\n cursor: column.canSort ? 'pointer' : undefined,\n },\n title: column.canSort ? 'Toggle SortBy' : undefined,\n },\n ]\n}\n\n// Reducer\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n sortBy: [],\n ...state,\n }\n }\n\n if (action.type === actions.resetSortBy) {\n return {\n ...state,\n sortBy: instance.initialState.sortBy || [],\n }\n }\n\n if (action.type === actions.clearSortBy) {\n const { sortBy } = state\n const newSortBy = sortBy.filter(d => d.id !== action.columnId)\n\n return {\n ...state,\n sortBy: newSortBy,\n }\n }\n\n if (action.type === actions.setSortBy) {\n const { sortBy } = action\n return {\n ...state,\n sortBy,\n }\n }\n\n if (action.type === actions.toggleSortBy) {\n const { columnId, desc, multi } = action\n\n const {\n allColumns,\n disableMultiSort,\n disableSortRemove,\n disableMultiRemove,\n maxMultiSortColCount = Number.MAX_SAFE_INTEGER,\n } = instance\n\n const { sortBy } = state\n\n // Find the column for this columnId\n const column = allColumns.find(d => d.id === columnId)\n const { sortDescFirst } = column\n\n // Find any existing sortBy for this column\n const existingSortBy = sortBy.find(d => d.id === columnId)\n const existingIndex = sortBy.findIndex(d => d.id === columnId)\n const hasDescDefined = typeof desc !== 'undefined' && desc !== null\n\n let newSortBy = []\n\n // What should we do with this sort action?\n let sortAction\n\n if (!disableMultiSort && multi) {\n if (existingSortBy) {\n sortAction = 'toggle'\n } else {\n sortAction = 'add'\n }\n } else {\n // Normal mode\n if (existingIndex !== sortBy.length - 1 || sortBy.length !== 1) {\n sortAction = 'replace'\n } else if (existingSortBy) {\n sortAction = 'toggle'\n } else {\n sortAction = 'replace'\n }\n }\n\n // Handle toggle states that will remove the sortBy\n if (\n sortAction === 'toggle' && // Must be toggling\n !disableSortRemove && // If disableSortRemove, disable in general\n !hasDescDefined && // Must not be setting desc\n (multi ? !disableMultiRemove : true) && // If multi, don't allow if disableMultiRemove\n ((existingSortBy && // Finally, detect if it should indeed be removed\n existingSortBy.desc &&\n !sortDescFirst) ||\n (!existingSortBy.desc && sortDescFirst))\n ) {\n sortAction = 'remove'\n }\n\n if (sortAction === 'replace') {\n newSortBy = [\n {\n id: columnId,\n desc: hasDescDefined ? desc : sortDescFirst,\n },\n ]\n } else if (sortAction === 'add') {\n newSortBy = [\n ...sortBy,\n {\n id: columnId,\n desc: hasDescDefined ? desc : sortDescFirst,\n },\n ]\n // Take latest n columns\n newSortBy.splice(0, newSortBy.length - maxMultiSortColCount)\n } else if (sortAction === 'toggle') {\n // This flips (or sets) the\n newSortBy = sortBy.map(d => {\n if (d.id === columnId) {\n return {\n ...d,\n desc: hasDescDefined ? desc : !existingSortBy.desc,\n }\n }\n return d\n })\n } else if (sortAction === 'remove') {\n newSortBy = sortBy.filter(d => d.id !== columnId)\n }\n\n return {\n ...state,\n sortBy: newSortBy,\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n flatRows,\n allColumns,\n orderByFn = defaultOrderByFn,\n sortTypes: userSortTypes,\n manualSortBy,\n defaultCanSort,\n disableSortBy,\n flatHeaders,\n state: { sortBy },\n dispatch,\n plugins,\n getHooks,\n autoResetSortBy = true,\n } = instance\n\n ensurePluginOrder(\n plugins,\n ['useFilters', 'useGlobalFilter', 'useGroupBy', 'usePivotColumns'],\n 'useSortBy'\n )\n\n const setSortBy = React.useCallback(\n sortBy => {\n dispatch({ type: actions.setSortBy, sortBy })\n },\n [dispatch]\n )\n\n // Updates sorting based on a columnId, desc flag and multi flag\n const toggleSortBy = React.useCallback(\n (columnId, desc, multi) => {\n dispatch({ type: actions.toggleSortBy, columnId, desc, multi })\n },\n [dispatch]\n )\n\n // use reference to avoid memory leak in #1608\n const getInstance = useGetLatest(instance)\n\n // Add the getSortByToggleProps method to columns and headers\n flatHeaders.forEach(column => {\n const {\n accessor,\n canSort: defaultColumnCanSort,\n disableSortBy: columnDisableSortBy,\n id,\n } = column\n\n const canSort = accessor\n ? getFirstDefined(\n columnDisableSortBy === true ? false : undefined,\n disableSortBy === true ? false : undefined,\n true\n )\n : getFirstDefined(defaultCanSort, defaultColumnCanSort, false)\n\n column.canSort = canSort\n\n if (column.canSort) {\n column.toggleSortBy = (desc, multi) =>\n toggleSortBy(column.id, desc, multi)\n\n column.clearSortBy = () => {\n dispatch({ type: actions.clearSortBy, columnId: column.id })\n }\n }\n\n column.getSortByToggleProps = makePropGetter(\n getHooks().getSortByToggleProps,\n {\n instance: getInstance(),\n column,\n }\n )\n\n const columnSort = sortBy.find(d => d.id === id)\n column.isSorted = !!columnSort\n column.sortedIndex = sortBy.findIndex(d => d.id === id)\n column.isSortedDesc = column.isSorted ? columnSort.desc : undefined\n })\n\n const [sortedRows, sortedFlatRows] = React.useMemo(() => {\n if (manualSortBy || !sortBy.length) {\n return [rows, flatRows]\n }\n\n const sortedFlatRows = []\n\n // Filter out sortBys that correspond to non existing columns\n const availableSortBy = sortBy.filter(sort =>\n allColumns.find(col => col.id === sort.id)\n )\n\n const sortData = rows => {\n // Use the orderByFn to compose multiple sortBy's together.\n // This will also perform a stable sorting using the row index\n // if needed.\n const sortedData = orderByFn(\n rows,\n availableSortBy.map(sort => {\n // Support custom sorting methods for each column\n const column = allColumns.find(d => d.id === sort.id)\n\n if (!column) {\n throw new Error(\n `React-Table: Could not find a column with id: ${sort.id} while sorting`\n )\n }\n\n const { sortType } = column\n\n // Look up sortBy functions in this order:\n // column function\n // column string lookup on user sortType\n // column string lookup on built-in sortType\n // default function\n // default string lookup on user sortType\n // default string lookup on built-in sortType\n const sortMethod =\n isFunction(sortType) ||\n (userSortTypes || {})[sortType] ||\n sortTypes[sortType]\n\n if (!sortMethod) {\n throw new Error(\n `React-Table: Could not find a valid sortType of '${sortType}' for column '${sort.id}'.`\n )\n }\n\n // Return the correct sortFn.\n // This function should always return in ascending order\n return (a, b) => sortMethod(a, b, sort.id, sort.desc)\n }),\n // Map the directions\n availableSortBy.map(sort => {\n // Detect and use the sortInverted option\n const column = allColumns.find(d => d.id === sort.id)\n\n if (column && column.sortInverted) {\n return sort.desc\n }\n\n return !sort.desc\n })\n )\n\n // If there are sub-rows, sort them\n sortedData.forEach(row => {\n sortedFlatRows.push(row)\n if (!row.subRows || row.subRows.length === 0) {\n return\n }\n row.subRows = sortData(row.subRows)\n })\n\n return sortedData\n }\n\n return [sortData(rows), sortedFlatRows]\n }, [\n manualSortBy,\n sortBy,\n rows,\n flatRows,\n allColumns,\n orderByFn,\n userSortTypes,\n ])\n\n const getAutoResetSortBy = useGetLatest(autoResetSortBy)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetSortBy()) {\n dispatch({ type: actions.resetSortBy })\n }\n }, [manualSortBy ? null : data])\n\n Object.assign(instance, {\n preSortedRows: rows,\n preSortedFlatRows: flatRows,\n sortedRows,\n sortedFlatRows,\n rows: sortedRows,\n flatRows: sortedFlatRows,\n setSortBy,\n toggleSortBy,\n })\n}\n\nexport function defaultOrderByFn(arr, funcs, dirs) {\n return [...arr].sort((rowA, rowB) => {\n for (let i = 0; i < funcs.length; i += 1) {\n const sortFn = funcs[i]\n const desc = dirs[i] === false || dirs[i] === 'desc'\n const sortInt = sortFn(rowA, rowB)\n if (sortInt !== 0) {\n return desc ? -sortInt : sortInt\n }\n }\n return dirs[0] ? rowA.index - rowB.index : rowB.index - rowA.index\n })\n}\n","import React from 'react'\n\n//\n\nimport {\n actions,\n ensurePluginOrder,\n functionalUpdate,\n useMountedLayoutEffect,\n useGetLatest,\n} from '../publicUtils'\n\nimport { expandRows } from '../utils'\n\nconst pluginName = 'usePagination'\n\n// Actions\nactions.resetPage = 'resetPage'\nactions.gotoPage = 'gotoPage'\nactions.setPageSize = 'setPageSize'\n\nexport const usePagination = hooks => {\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n}\n\nusePagination.pluginName = pluginName\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n pageSize: 10,\n pageIndex: 0,\n ...state,\n }\n }\n\n if (action.type === actions.resetPage) {\n return {\n ...state,\n pageIndex: instance.initialState.pageIndex || 0,\n }\n }\n\n if (action.type === actions.gotoPage) {\n const { pageCount, page } = instance\n const newPageIndex = functionalUpdate(action.pageIndex, state.pageIndex)\n let canNavigate = false\n\n if (newPageIndex > state.pageIndex) {\n // next page\n canNavigate =\n pageCount === -1\n ? page.length >= state.pageSize\n : newPageIndex < pageCount\n } else if (newPageIndex < state.pageIndex) {\n // prev page\n canNavigate = newPageIndex > -1\n }\n\n if (!canNavigate) {\n return state\n }\n\n return {\n ...state,\n pageIndex: newPageIndex,\n }\n }\n\n if (action.type === actions.setPageSize) {\n const { pageSize } = action\n const topRowIndex = state.pageSize * state.pageIndex\n const pageIndex = Math.floor(topRowIndex / pageSize)\n\n return {\n ...state,\n pageIndex,\n pageSize,\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n rows,\n autoResetPage = true,\n manualExpandedKey = 'expanded',\n plugins,\n pageCount: userPageCount,\n paginateExpandedRows = true,\n expandSubRows = true,\n state: {\n pageSize,\n pageIndex,\n expanded,\n globalFilter,\n filters,\n groupBy,\n sortBy,\n },\n dispatch,\n data,\n manualPagination,\n } = instance\n\n ensurePluginOrder(\n plugins,\n ['useGlobalFilter', 'useFilters', 'useGroupBy', 'useSortBy', 'useExpanded'],\n 'usePagination'\n )\n\n const getAutoResetPage = useGetLatest(autoResetPage)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetPage()) {\n dispatch({ type: actions.resetPage })\n }\n }, [\n dispatch,\n manualPagination ? null : data,\n globalFilter,\n filters,\n groupBy,\n sortBy,\n ])\n\n const pageCount = manualPagination\n ? userPageCount\n : Math.ceil(rows.length / pageSize)\n\n const pageOptions = React.useMemo(\n () =>\n pageCount > 0\n ? [...new Array(pageCount)].fill(null).map((d, i) => i)\n : [],\n [pageCount]\n )\n\n const page = React.useMemo(() => {\n let page\n\n if (manualPagination) {\n page = rows\n } else {\n const pageStart = pageSize * pageIndex\n const pageEnd = pageStart + pageSize\n\n page = rows.slice(pageStart, pageEnd)\n }\n\n if (paginateExpandedRows) {\n return page\n }\n\n return expandRows(page, { manualExpandedKey, expanded, expandSubRows })\n }, [\n expandSubRows,\n expanded,\n manualExpandedKey,\n manualPagination,\n pageIndex,\n pageSize,\n paginateExpandedRows,\n rows,\n ])\n\n const canPreviousPage = pageIndex > 0\n const canNextPage =\n pageCount === -1 ? page.length >= pageSize : pageIndex < pageCount - 1\n\n const gotoPage = React.useCallback(\n pageIndex => {\n dispatch({ type: actions.gotoPage, pageIndex })\n },\n [dispatch]\n )\n\n const previousPage = React.useCallback(() => {\n return gotoPage(old => old - 1)\n }, [gotoPage])\n\n const nextPage = React.useCallback(() => {\n return gotoPage(old => old + 1)\n }, [gotoPage])\n\n const setPageSize = React.useCallback(\n pageSize => {\n dispatch({ type: actions.setPageSize, pageSize })\n },\n [dispatch]\n )\n\n Object.assign(instance, {\n pageOptions,\n pageCount,\n page,\n canPreviousPage,\n canNextPage,\n gotoPage,\n previousPage,\n nextPage,\n setPageSize,\n })\n}\n","/* istanbul ignore file */\n\nimport {\n actions,\n makePropGetter,\n ensurePluginOrder,\n useMountedLayoutEffect,\n useGetLatest,\n} from '../publicUtils'\n\nimport { flattenColumns, getFirstDefined } from '../utils'\n\n// Actions\nactions.resetPivot = 'resetPivot'\nactions.togglePivot = 'togglePivot'\n\nexport const _UNSTABLE_usePivotColumns = hooks => {\n hooks.getPivotToggleProps = [defaultGetPivotToggleProps]\n hooks.stateReducers.push(reducer)\n hooks.useInstanceAfterData.push(useInstanceAfterData)\n hooks.allColumns.push(allColumns)\n hooks.accessValue.push(accessValue)\n hooks.materializedColumns.push(materializedColumns)\n hooks.materializedColumnsDeps.push(materializedColumnsDeps)\n hooks.visibleColumns.push(visibleColumns)\n hooks.visibleColumnsDeps.push(visibleColumnsDeps)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\n_UNSTABLE_usePivotColumns.pluginName = 'usePivotColumns'\n\nconst defaultPivotColumns = []\n\nconst defaultGetPivotToggleProps = (props, { header }) => [\n props,\n {\n onClick: header.canPivot\n ? e => {\n e.persist()\n header.togglePivot()\n }\n : undefined,\n style: {\n cursor: header.canPivot ? 'pointer' : undefined,\n },\n title: 'Toggle Pivot',\n },\n]\n\n// Reducer\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n pivotColumns: defaultPivotColumns,\n ...state,\n }\n }\n\n if (action.type === actions.resetPivot) {\n return {\n ...state,\n pivotColumns: instance.initialState.pivotColumns || defaultPivotColumns,\n }\n }\n\n if (action.type === actions.togglePivot) {\n const { columnId, value: setPivot } = action\n\n const resolvedPivot =\n typeof setPivot !== 'undefined'\n ? setPivot\n : !state.pivotColumns.includes(columnId)\n\n if (resolvedPivot) {\n return {\n ...state,\n pivotColumns: [...state.pivotColumns, columnId],\n }\n }\n\n return {\n ...state,\n pivotColumns: state.pivotColumns.filter(d => d !== columnId),\n }\n }\n}\n\nfunction useInstanceAfterData(instance) {\n instance.allColumns.forEach(column => {\n column.isPivotSource = instance.state.pivotColumns.includes(column.id)\n })\n}\n\nfunction allColumns(columns, { instance }) {\n columns.forEach(column => {\n column.isPivotSource = instance.state.pivotColumns.includes(column.id)\n column.uniqueValues = new Set()\n })\n return columns\n}\n\nfunction accessValue(value, { column }) {\n if (column.uniqueValues && typeof value !== 'undefined') {\n column.uniqueValues.add(value)\n }\n return value\n}\n\nfunction materializedColumns(materialized, { instance }) {\n const { allColumns, state } = instance\n\n if (!state.pivotColumns.length || !state.groupBy || !state.groupBy.length) {\n return materialized\n }\n\n const pivotColumns = state.pivotColumns\n .map(id => allColumns.find(d => d.id === id))\n .filter(Boolean)\n\n const sourceColumns = allColumns.filter(\n d =>\n !d.isPivotSource &&\n !state.groupBy.includes(d.id) &&\n !state.pivotColumns.includes(d.id)\n )\n\n const buildPivotColumns = (depth = 0, parent, pivotFilters = []) => {\n const pivotColumn = pivotColumns[depth]\n\n if (!pivotColumn) {\n return sourceColumns.map(sourceColumn => {\n // TODO: We could offer support here for renesting pivoted\n // columns inside copies of their header groups. For now,\n // that seems like it would be (1) overkill on nesting, considering\n // you already get nesting for every pivot level and (2)\n // really hard. :)\n\n return {\n ...sourceColumn,\n canPivot: false,\n isPivoted: true,\n parent,\n depth: depth,\n id: `${parent ? `${parent.id}.${sourceColumn.id}` : sourceColumn.id}`,\n accessor: (originalRow, i, row) => {\n if (pivotFilters.every(filter => filter(row))) {\n return row.values[sourceColumn.id]\n }\n },\n }\n })\n }\n\n const uniqueValues = Array.from(pivotColumn.uniqueValues).sort()\n\n return uniqueValues.map(uniqueValue => {\n const columnGroup = {\n ...pivotColumn,\n Header:\n pivotColumn.PivotHeader || typeof pivotColumn.header === 'string'\n ? `${pivotColumn.Header}: ${uniqueValue}`\n : uniqueValue,\n isPivotGroup: true,\n parent,\n depth,\n id: parent\n ? `${parent.id}.${pivotColumn.id}.${uniqueValue}`\n : `${pivotColumn.id}.${uniqueValue}`,\n pivotValue: uniqueValue,\n }\n\n columnGroup.columns = buildPivotColumns(depth + 1, columnGroup, [\n ...pivotFilters,\n row => row.values[pivotColumn.id] === uniqueValue,\n ])\n\n return columnGroup\n })\n }\n\n const newMaterialized = flattenColumns(buildPivotColumns())\n\n return [...materialized, ...newMaterialized]\n}\n\nfunction materializedColumnsDeps(\n deps,\n {\n instance: {\n state: { pivotColumns, groupBy },\n },\n }\n) {\n return [...deps, pivotColumns, groupBy]\n}\n\nfunction visibleColumns(visibleColumns, { instance: { state } }) {\n visibleColumns = visibleColumns.filter(d => !d.isPivotSource)\n\n if (state.pivotColumns.length && state.groupBy && state.groupBy.length) {\n visibleColumns = visibleColumns.filter(\n column => column.isGrouped || column.isPivoted\n )\n }\n\n return visibleColumns\n}\n\nfunction visibleColumnsDeps(deps, { instance }) {\n return [...deps, instance.state.pivotColumns, instance.state.groupBy]\n}\n\nfunction useInstance(instance) {\n const {\n columns,\n allColumns,\n flatHeaders,\n // pivotFn = defaultPivotFn,\n // manualPivot,\n getHooks,\n plugins,\n dispatch,\n autoResetPivot = true,\n manaulPivot,\n disablePivot,\n defaultCanPivot,\n } = instance\n\n ensurePluginOrder(plugins, ['useGroupBy'], 'usePivotColumns')\n\n const getInstance = useGetLatest(instance)\n\n allColumns.forEach(column => {\n const {\n accessor,\n defaultPivot: defaultColumnPivot,\n disablePivot: columnDisablePivot,\n } = column\n\n column.canPivot = accessor\n ? getFirstDefined(\n column.canPivot,\n columnDisablePivot === true ? false : undefined,\n disablePivot === true ? false : undefined,\n true\n )\n : getFirstDefined(\n column.canPivot,\n defaultColumnPivot,\n defaultCanPivot,\n false\n )\n\n if (column.canPivot) {\n column.togglePivot = () => instance.togglePivot(column.id)\n }\n\n column.Aggregated = column.Aggregated || column.Cell\n })\n\n const togglePivot = (columnId, value) => {\n dispatch({ type: actions.togglePivot, columnId, value })\n }\n\n flatHeaders.forEach(header => {\n header.getPivotToggleProps = makePropGetter(\n getHooks().getPivotToggleProps,\n {\n instance: getInstance(),\n header,\n }\n )\n })\n\n const getAutoResetPivot = useGetLatest(autoResetPivot)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetPivot()) {\n dispatch({ type: actions.resetPivot })\n }\n }, [dispatch, manaulPivot ? null : columns])\n\n Object.assign(instance, {\n togglePivot,\n })\n}\n\nfunction prepareRow(row) {\n row.allCells.forEach(cell => {\n // Grouped cells are in the pivotColumns and the pivot cell for the row\n cell.isPivoted = cell.column.isPivoted\n })\n}\n","import React from 'react'\n\nimport {\n actions,\n makePropGetter,\n ensurePluginOrder,\n useGetLatest,\n useMountedLayoutEffect,\n} from '../publicUtils'\n\nconst pluginName = 'useRowSelect'\n\n// Actions\nactions.resetSelectedRows = 'resetSelectedRows'\nactions.toggleAllRowsSelected = 'toggleAllRowsSelected'\nactions.toggleRowSelected = 'toggleRowSelected'\nactions.toggleAllPageRowsSelected = 'toggleAllPageRowsSelected'\n\nexport const useRowSelect = hooks => {\n hooks.getToggleRowSelectedProps = [defaultGetToggleRowSelectedProps]\n hooks.getToggleAllRowsSelectedProps = [defaultGetToggleAllRowsSelectedProps]\n hooks.getToggleAllPageRowsSelectedProps = [\n defaultGetToggleAllPageRowsSelectedProps,\n ]\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\nuseRowSelect.pluginName = pluginName\n\nconst defaultGetToggleRowSelectedProps = (props, { instance, row }) => {\n const { manualRowSelectedKey = 'isSelected' } = instance\n let checked = false\n\n if (row.original && row.original[manualRowSelectedKey]) {\n checked = true\n } else {\n checked = row.isSelected\n }\n\n return [\n props,\n {\n onChange: e => {\n row.toggleRowSelected(e.target.checked)\n },\n style: {\n cursor: 'pointer',\n },\n checked,\n title: 'Toggle Row Selected',\n indeterminate: row.isSomeSelected,\n },\n ]\n}\n\nconst defaultGetToggleAllRowsSelectedProps = (props, { instance }) => [\n props,\n {\n onChange: e => {\n instance.toggleAllRowsSelected(e.target.checked)\n },\n style: {\n cursor: 'pointer',\n },\n checked: instance.isAllRowsSelected,\n title: 'Toggle All Rows Selected',\n indeterminate: Boolean(\n !instance.isAllRowsSelected &&\n Object.keys(instance.state.selectedRowIds).length\n ),\n },\n]\n\nconst defaultGetToggleAllPageRowsSelectedProps = (props, { instance }) => [\n props,\n {\n onChange(e) {\n instance.toggleAllPageRowsSelected(e.target.checked)\n },\n style: {\n cursor: 'pointer',\n },\n checked: instance.isAllPageRowsSelected,\n title: 'Toggle All Current Page Rows Selected',\n indeterminate: Boolean(\n !instance.isAllPageRowsSelected &&\n instance.page.some(({ id }) => instance.state.selectedRowIds[id])\n ),\n },\n]\n\n// eslint-disable-next-line max-params\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n selectedRowIds: {},\n ...state,\n }\n }\n\n if (action.type === actions.resetSelectedRows) {\n return {\n ...state,\n selectedRowIds: instance.initialState.selectedRowIds || {},\n }\n }\n\n if (action.type === actions.toggleAllRowsSelected) {\n const { value: setSelected } = action\n const {\n isAllRowsSelected,\n rowsById,\n nonGroupedRowsById = rowsById,\n } = instance\n\n const selectAll =\n typeof setSelected !== 'undefined' ? setSelected : !isAllRowsSelected\n\n // Only remove/add the rows that are visible on the screen\n // Leave all the other rows that are selected alone.\n const selectedRowIds = Object.assign({}, state.selectedRowIds)\n\n if (selectAll) {\n Object.keys(nonGroupedRowsById).forEach(rowId => {\n selectedRowIds[rowId] = true\n })\n } else {\n Object.keys(nonGroupedRowsById).forEach(rowId => {\n delete selectedRowIds[rowId]\n })\n }\n\n return {\n ...state,\n selectedRowIds,\n }\n }\n\n if (action.type === actions.toggleRowSelected) {\n const { id, value: setSelected } = action\n const { rowsById, selectSubRows = true, getSubRows } = instance\n const isSelected = state.selectedRowIds[id]\n const shouldExist =\n typeof setSelected !== 'undefined' ? setSelected : !isSelected\n\n if (isSelected === shouldExist) {\n return state\n }\n\n const newSelectedRowIds = { ...state.selectedRowIds }\n\n const handleRowById = id => {\n const row = rowsById[id]\n\n if (!row.isGrouped) {\n if (shouldExist) {\n newSelectedRowIds[id] = true\n } else {\n delete newSelectedRowIds[id]\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n return getSubRows(row).forEach(row => handleRowById(row.id))\n }\n }\n\n handleRowById(id)\n\n return {\n ...state,\n selectedRowIds: newSelectedRowIds,\n }\n }\n\n if (action.type === actions.toggleAllPageRowsSelected) {\n const { value: setSelected } = action\n const {\n page,\n rowsById,\n selectSubRows = true,\n isAllPageRowsSelected,\n getSubRows,\n } = instance\n\n const selectAll =\n typeof setSelected !== 'undefined' ? setSelected : !isAllPageRowsSelected\n\n const newSelectedRowIds = { ...state.selectedRowIds }\n\n const handleRowById = id => {\n const row = rowsById[id]\n\n if (!row.isGrouped) {\n if (selectAll) {\n newSelectedRowIds[id] = true\n } else {\n delete newSelectedRowIds[id]\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n return getSubRows(row).forEach(row => handleRowById(row.id))\n }\n }\n\n page.forEach(row => handleRowById(row.id))\n\n return {\n ...state,\n selectedRowIds: newSelectedRowIds,\n }\n }\n return state\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n getHooks,\n plugins,\n rowsById,\n nonGroupedRowsById = rowsById,\n autoResetSelectedRows = true,\n state: { selectedRowIds },\n selectSubRows = true,\n dispatch,\n page,\n getSubRows,\n } = instance\n\n ensurePluginOrder(\n plugins,\n ['useFilters', 'useGroupBy', 'useSortBy', 'useExpanded', 'usePagination'],\n 'useRowSelect'\n )\n\n const selectedFlatRows = React.useMemo(() => {\n const selectedFlatRows = []\n\n rows.forEach(row => {\n const isSelected = selectSubRows\n ? getRowIsSelected(row, selectedRowIds, getSubRows)\n : !!selectedRowIds[row.id]\n row.isSelected = !!isSelected\n row.isSomeSelected = isSelected === null\n\n if (isSelected) {\n selectedFlatRows.push(row)\n }\n })\n\n return selectedFlatRows\n }, [rows, selectSubRows, selectedRowIds, getSubRows])\n\n let isAllRowsSelected = Boolean(\n Object.keys(nonGroupedRowsById).length && Object.keys(selectedRowIds).length\n )\n\n let isAllPageRowsSelected = isAllRowsSelected\n\n if (isAllRowsSelected) {\n if (Object.keys(nonGroupedRowsById).some(id => !selectedRowIds[id])) {\n isAllRowsSelected = false\n }\n }\n\n if (!isAllRowsSelected) {\n if (page && page.length && page.some(({ id }) => !selectedRowIds[id])) {\n isAllPageRowsSelected = false\n }\n }\n\n const getAutoResetSelectedRows = useGetLatest(autoResetSelectedRows)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetSelectedRows()) {\n dispatch({ type: actions.resetSelectedRows })\n }\n }, [dispatch, data])\n\n const toggleAllRowsSelected = React.useCallback(\n value => dispatch({ type: actions.toggleAllRowsSelected, value }),\n [dispatch]\n )\n\n const toggleAllPageRowsSelected = React.useCallback(\n value => dispatch({ type: actions.toggleAllPageRowsSelected, value }),\n [dispatch]\n )\n\n const toggleRowSelected = React.useCallback(\n (id, value) => dispatch({ type: actions.toggleRowSelected, id, value }),\n [dispatch]\n )\n\n const getInstance = useGetLatest(instance)\n\n const getToggleAllRowsSelectedProps = makePropGetter(\n getHooks().getToggleAllRowsSelectedProps,\n { instance: getInstance() }\n )\n\n const getToggleAllPageRowsSelectedProps = makePropGetter(\n getHooks().getToggleAllPageRowsSelectedProps,\n { instance: getInstance() }\n )\n\n Object.assign(instance, {\n selectedFlatRows,\n isAllRowsSelected,\n isAllPageRowsSelected,\n toggleRowSelected,\n toggleAllRowsSelected,\n getToggleAllRowsSelectedProps,\n getToggleAllPageRowsSelectedProps,\n toggleAllPageRowsSelected,\n })\n}\n\nfunction prepareRow(row, { instance }) {\n row.toggleRowSelected = set => instance.toggleRowSelected(row.id, set)\n\n row.getToggleRowSelectedProps = makePropGetter(\n instance.getHooks().getToggleRowSelectedProps,\n { instance: instance, row }\n )\n}\n\nfunction getRowIsSelected(row, selectedRowIds, getSubRows) {\n if (selectedRowIds[row.id]) {\n return true\n }\n\n const subRows = getSubRows(row)\n\n if (subRows && subRows.length) {\n let allChildrenSelected = true\n let someSelected = false\n\n subRows.forEach(subRow => {\n // Bail out early if we know both of these\n if (someSelected && !allChildrenSelected) {\n return\n }\n\n if (getRowIsSelected(subRow, selectedRowIds, getSubRows)) {\n someSelected = true\n } else {\n allChildrenSelected = false\n }\n })\n return allChildrenSelected ? true : someSelected ? null : false\n }\n\n return false\n}\n","import React from 'react'\n\nimport {\n actions,\n functionalUpdate,\n useMountedLayoutEffect,\n useGetLatest,\n} from '../publicUtils'\n\nconst defaultInitialRowStateAccessor = row => ({})\nconst defaultInitialCellStateAccessor = cell => ({})\n\n// Actions\nactions.setRowState = 'setRowState'\nactions.setCellState = 'setCellState'\nactions.resetRowState = 'resetRowState'\n\nexport const useRowState = hooks => {\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\nuseRowState.pluginName = 'useRowState'\n\nfunction reducer(state, action, previousState, instance) {\n const {\n initialRowStateAccessor = defaultInitialRowStateAccessor,\n initialCellStateAccessor = defaultInitialCellStateAccessor,\n rowsById,\n } = instance\n\n if (action.type === actions.init) {\n return {\n rowState: {},\n ...state,\n }\n }\n\n if (action.type === actions.resetRowState) {\n return {\n ...state,\n rowState: instance.initialState.rowState || {},\n }\n }\n\n if (action.type === actions.setRowState) {\n const { rowId, value } = action\n\n const oldRowState =\n typeof state.rowState[rowId] !== 'undefined'\n ? state.rowState[rowId]\n : initialRowStateAccessor(rowsById[rowId])\n\n return {\n ...state,\n rowState: {\n ...state.rowState,\n [rowId]: functionalUpdate(value, oldRowState),\n },\n }\n }\n\n if (action.type === actions.setCellState) {\n const { rowId, columnId, value } = action\n\n const oldRowState =\n typeof state.rowState[rowId] !== 'undefined'\n ? state.rowState[rowId]\n : initialRowStateAccessor(rowsById[rowId])\n\n const oldCellState =\n typeof oldRowState?.cellState?.[columnId] !== 'undefined'\n ? oldRowState.cellState[columnId]\n : initialCellStateAccessor(\n rowsById[rowId]?.cells?.find(cell => cell.column.id === columnId)\n )\n\n return {\n ...state,\n rowState: {\n ...state.rowState,\n [rowId]: {\n ...oldRowState,\n cellState: {\n ...(oldRowState.cellState || {}),\n [columnId]: functionalUpdate(value, oldCellState),\n },\n },\n },\n }\n }\n}\n\nfunction useInstance(instance) {\n const { autoResetRowState = true, data, dispatch } = instance\n\n const setRowState = React.useCallback(\n (rowId, value) =>\n dispatch({\n type: actions.setRowState,\n rowId,\n value,\n }),\n [dispatch]\n )\n\n const setCellState = React.useCallback(\n (rowId, columnId, value) =>\n dispatch({\n type: actions.setCellState,\n rowId,\n columnId,\n value,\n }),\n [dispatch]\n )\n\n const getAutoResetRowState = useGetLatest(autoResetRowState)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetRowState()) {\n dispatch({ type: actions.resetRowState })\n }\n }, [data])\n\n Object.assign(instance, {\n setRowState,\n setCellState,\n })\n}\n\nfunction prepareRow(row, { instance }) {\n const {\n initialRowStateAccessor = defaultInitialRowStateAccessor,\n initialCellStateAccessor = defaultInitialCellStateAccessor,\n state: { rowState },\n } = instance\n\n if (row) {\n row.state =\n typeof rowState[row.id] !== 'undefined'\n ? rowState[row.id]\n : initialRowStateAccessor(row)\n\n row.setState = updater => {\n return instance.setRowState(row.id, updater)\n }\n\n row.cells.forEach(cell => {\n if (!row.state.cellState) {\n row.state.cellState = {}\n }\n\n cell.state =\n typeof row.state.cellState[cell.column.id] !== 'undefined'\n ? row.state.cellState[cell.column.id]\n : initialCellStateAccessor(cell)\n\n cell.setState = updater => {\n return instance.setCellState(row.id, cell.column.id, updater)\n }\n })\n }\n}\n","import React from 'react'\n\nimport { functionalUpdate, actions } from '../publicUtils'\n\n// Actions\nactions.resetColumnOrder = 'resetColumnOrder'\nactions.setColumnOrder = 'setColumnOrder'\n\nexport const useColumnOrder = hooks => {\n hooks.stateReducers.push(reducer)\n hooks.visibleColumnsDeps.push((deps, { instance }) => {\n return [...deps, instance.state.columnOrder]\n })\n hooks.visibleColumns.push(visibleColumns)\n hooks.useInstance.push(useInstance)\n}\n\nuseColumnOrder.pluginName = 'useColumnOrder'\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n columnOrder: [],\n ...state,\n }\n }\n\n if (action.type === actions.resetColumnOrder) {\n return {\n ...state,\n columnOrder: instance.initialState.columnOrder || [],\n }\n }\n\n if (action.type === actions.setColumnOrder) {\n return {\n ...state,\n columnOrder: functionalUpdate(action.columnOrder, state.columnOrder),\n }\n }\n}\n\nfunction visibleColumns(\n columns,\n {\n instance: {\n state: { columnOrder },\n },\n }\n) {\n // If there is no order, return the normal columns\n if (!columnOrder || !columnOrder.length) {\n return columns\n }\n\n const columnOrderCopy = [...columnOrder]\n\n // If there is an order, make a copy of the columns\n const columnsCopy = [...columns]\n\n // And make a new ordered array of the columns\n const columnsInOrder = []\n\n // Loop over the columns and place them in order into the new array\n while (columnsCopy.length && columnOrderCopy.length) {\n const targetColumnId = columnOrderCopy.shift()\n const foundIndex = columnsCopy.findIndex(d => d.id === targetColumnId)\n if (foundIndex > -1) {\n columnsInOrder.push(columnsCopy.splice(foundIndex, 1)[0])\n }\n }\n\n // If there are any columns left, add them to the end\n return [...columnsInOrder, ...columnsCopy]\n}\n\nfunction useInstance(instance) {\n const { dispatch } = instance\n\n instance.setColumnOrder = React.useCallback(\n columnOrder => {\n return dispatch({ type: actions.setColumnOrder, columnOrder })\n },\n [dispatch]\n )\n}\n","import React from 'react'\n\nimport {\n actions,\n defaultColumn,\n makePropGetter,\n useGetLatest,\n ensurePluginOrder,\n useMountedLayoutEffect,\n} from '../publicUtils'\n\nimport { getFirstDefined, passiveEventSupported } from '../utils'\n\n// Default Column\ndefaultColumn.canResize = true\n\n// Actions\nactions.columnStartResizing = 'columnStartResizing'\nactions.columnResizing = 'columnResizing'\nactions.columnDoneResizing = 'columnDoneResizing'\nactions.resetResize = 'resetResize'\n\nexport const useResizeColumns = hooks => {\n hooks.getResizerProps = [defaultGetResizerProps]\n hooks.getHeaderProps.push({\n style: {\n position: 'relative',\n },\n })\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n hooks.useInstanceBeforeDimensions.push(useInstanceBeforeDimensions)\n}\n\nconst defaultGetResizerProps = (props, { instance, header }) => {\n const { dispatch } = instance\n\n const onResizeStart = (e, header) => {\n let isTouchEvent = false\n if (e.type === 'touchstart') {\n // lets not respond to multiple touches (e.g. 2 or 3 fingers)\n if (e.touches && e.touches.length > 1) {\n return\n }\n isTouchEvent = true\n }\n const headersToResize = getLeafHeaders(header)\n const headerIdWidths = headersToResize.map(d => [d.id, d.totalWidth])\n\n const clientX = isTouchEvent ? Math.round(e.touches[0].clientX) : e.clientX\n\n const dispatchMove = clientXPos => {\n dispatch({ type: actions.columnResizing, clientX: clientXPos })\n }\n const dispatchEnd = () => dispatch({ type: actions.columnDoneResizing })\n\n const handlersAndEvents = {\n mouse: {\n moveEvent: 'mousemove',\n moveHandler: e => dispatchMove(e.clientX),\n upEvent: 'mouseup',\n upHandler: e => {\n document.removeEventListener(\n 'mousemove',\n handlersAndEvents.mouse.moveHandler\n )\n document.removeEventListener(\n 'mouseup',\n handlersAndEvents.mouse.upHandler\n )\n dispatchEnd()\n },\n },\n touch: {\n moveEvent: 'touchmove',\n moveHandler: e => {\n if (e.cancelable) {\n e.preventDefault()\n e.stopPropagation()\n }\n dispatchMove(e.touches[0].clientX)\n return false\n },\n upEvent: 'touchend',\n upHandler: e => {\n document.removeEventListener(\n handlersAndEvents.touch.moveEvent,\n handlersAndEvents.touch.moveHandler\n )\n document.removeEventListener(\n handlersAndEvents.touch.upEvent,\n handlersAndEvents.touch.moveHandler\n )\n dispatchEnd()\n },\n },\n }\n\n const events = isTouchEvent\n ? handlersAndEvents.touch\n : handlersAndEvents.mouse\n const passiveIfSupported = passiveEventSupported()\n ? { passive: false }\n : false\n document.addEventListener(\n events.moveEvent,\n events.moveHandler,\n passiveIfSupported\n )\n document.addEventListener(\n events.upEvent,\n events.upHandler,\n passiveIfSupported\n )\n\n dispatch({\n type: actions.columnStartResizing,\n columnId: header.id,\n columnWidth: header.totalWidth,\n headerIdWidths,\n clientX,\n })\n }\n\n return [\n props,\n {\n onMouseDown: e => e.persist() || onResizeStart(e, header),\n onTouchStart: e => e.persist() || onResizeStart(e, header),\n style: {\n cursor: 'col-resize',\n },\n draggable: false,\n role: 'separator',\n },\n ]\n}\n\nuseResizeColumns.pluginName = 'useResizeColumns'\n\nfunction reducer(state, action) {\n if (action.type === actions.init) {\n return {\n columnResizing: {\n columnWidths: {},\n },\n ...state,\n }\n }\n\n if (action.type === actions.resetResize) {\n return {\n ...state,\n columnResizing: {\n columnWidths: {},\n },\n }\n }\n\n if (action.type === actions.columnStartResizing) {\n const { clientX, columnId, columnWidth, headerIdWidths } = action\n\n return {\n ...state,\n columnResizing: {\n ...state.columnResizing,\n startX: clientX,\n headerIdWidths,\n columnWidth,\n isResizingColumn: columnId,\n },\n }\n }\n\n if (action.type === actions.columnResizing) {\n const { clientX } = action\n const { startX, columnWidth, headerIdWidths = [] } = state.columnResizing\n\n const deltaX = clientX - startX\n const percentageDeltaX = deltaX / columnWidth\n\n const newColumnWidths = {}\n\n headerIdWidths.forEach(([headerId, headerWidth]) => {\n newColumnWidths[headerId] = Math.max(\n headerWidth + headerWidth * percentageDeltaX,\n 0\n )\n })\n\n return {\n ...state,\n columnResizing: {\n ...state.columnResizing,\n columnWidths: {\n ...state.columnResizing.columnWidths,\n ...newColumnWidths,\n },\n },\n }\n }\n\n if (action.type === actions.columnDoneResizing) {\n return {\n ...state,\n columnResizing: {\n ...state.columnResizing,\n startX: null,\n isResizingColumn: null,\n },\n }\n }\n}\n\nconst useInstanceBeforeDimensions = instance => {\n const {\n flatHeaders,\n disableResizing,\n getHooks,\n state: { columnResizing },\n } = instance\n\n const getInstance = useGetLatest(instance)\n\n flatHeaders.forEach(header => {\n const canResize = getFirstDefined(\n header.disableResizing === true ? false : undefined,\n disableResizing === true ? false : undefined,\n true\n )\n\n header.canResize = canResize\n header.width =\n columnResizing.columnWidths[header.id] ||\n header.originalWidth ||\n header.width\n header.isResizing = columnResizing.isResizingColumn === header.id\n\n if (canResize) {\n header.getResizerProps = makePropGetter(getHooks().getResizerProps, {\n instance: getInstance(),\n header,\n })\n }\n })\n}\n\nfunction useInstance(instance) {\n const { plugins, dispatch, autoResetResize = true, columns } = instance\n\n ensurePluginOrder(plugins, ['useAbsoluteLayout'], 'useResizeColumns')\n\n const getAutoResetResize = useGetLatest(autoResetResize)\n useMountedLayoutEffect(() => {\n if (getAutoResetResize()) {\n dispatch({ type: actions.resetResize })\n }\n }, [columns])\n\n const resetResizing = React.useCallback(\n () => dispatch({ type: actions.resetResize }),\n [dispatch]\n )\n\n Object.assign(instance, {\n resetResizing,\n })\n}\n\nfunction getLeafHeaders(header) {\n const leafHeaders = []\n const recurseHeader = header => {\n if (header.columns && header.columns.length) {\n header.columns.map(recurseHeader)\n }\n leafHeaders.push(header)\n }\n recurseHeader(header)\n return leafHeaders\n}\n","const cellStyles = {\n position: 'absolute',\n top: 0,\n}\n\nexport const useAbsoluteLayout = hooks => {\n hooks.getTableBodyProps.push(getRowStyles)\n hooks.getRowProps.push(getRowStyles)\n hooks.getHeaderGroupProps.push(getRowStyles)\n hooks.getFooterGroupProps.push(getRowStyles)\n\n hooks.getHeaderProps.push((props, { column }) => [\n props,\n {\n style: {\n ...cellStyles,\n left: `${column.totalLeft}px`,\n width: `${column.totalWidth}px`,\n },\n },\n ])\n\n hooks.getCellProps.push((props, { cell }) => [\n props,\n {\n style: {\n ...cellStyles,\n left: `${cell.column.totalLeft}px`,\n width: `${cell.column.totalWidth}px`,\n },\n },\n ])\n\n hooks.getFooterProps.push((props, { column }) => [\n props,\n {\n style: {\n ...cellStyles,\n left: `${column.totalLeft}px`,\n width: `${column.totalWidth}px`,\n },\n },\n ])\n}\n\nuseAbsoluteLayout.pluginName = 'useAbsoluteLayout'\n\nconst getRowStyles = (props, { instance }) => [\n props,\n {\n style: {\n position: 'relative',\n width: `${instance.totalColumnsWidth}px`,\n },\n },\n]\n","const cellStyles = {\n display: 'inline-block',\n boxSizing: 'border-box',\n}\n\nconst getRowStyles = (props, { instance }) => [\n props,\n {\n style: {\n display: 'flex',\n width: `${instance.totalColumnsWidth}px`,\n },\n },\n]\n\nexport const useBlockLayout = hooks => {\n hooks.getRowProps.push(getRowStyles)\n hooks.getHeaderGroupProps.push(getRowStyles)\n hooks.getFooterGroupProps.push(getRowStyles)\n\n hooks.getHeaderProps.push((props, { column }) => [\n props,\n {\n style: {\n ...cellStyles,\n width: `${column.totalWidth}px`,\n },\n },\n ])\n\n hooks.getCellProps.push((props, { cell }) => [\n props,\n {\n style: {\n ...cellStyles,\n width: `${cell.column.totalWidth}px`,\n },\n },\n ])\n\n hooks.getFooterProps.push((props, { column }) => [\n props,\n {\n style: {\n ...cellStyles,\n width: `${column.totalWidth}px`,\n },\n },\n ])\n}\n\nuseBlockLayout.pluginName = 'useBlockLayout'\n","export function useFlexLayout(hooks) {\n hooks.getTableProps.push(getTableProps)\n hooks.getRowProps.push(getRowStyles)\n hooks.getHeaderGroupProps.push(getRowStyles)\n hooks.getFooterGroupProps.push(getRowStyles)\n hooks.getHeaderProps.push(getHeaderProps)\n hooks.getCellProps.push(getCellProps)\n hooks.getFooterProps.push(getFooterProps)\n}\n\nuseFlexLayout.pluginName = 'useFlexLayout'\n\nconst getTableProps = (props, { instance }) => [\n props,\n {\n style: {\n minWidth: `${instance.totalColumnsMinWidth}px`,\n },\n },\n]\n\nconst getRowStyles = (props, { instance }) => [\n props,\n {\n style: {\n display: 'flex',\n flex: '1 0 auto',\n minWidth: `${instance.totalColumnsMinWidth}px`,\n },\n },\n]\n\nconst getHeaderProps = (props, { column }) => [\n props,\n {\n style: {\n boxSizing: 'border-box',\n flex: column.totalFlexWidth\n ? `${column.totalFlexWidth} 0 auto`\n : undefined,\n minWidth: `${column.totalMinWidth}px`,\n width: `${column.totalWidth}px`,\n },\n },\n]\n\nconst getCellProps = (props, { cell }) => [\n props,\n {\n style: {\n boxSizing: 'border-box',\n flex: `${cell.column.totalFlexWidth} 0 auto`,\n minWidth: `${cell.column.totalMinWidth}px`,\n width: `${cell.column.totalWidth}px`,\n },\n },\n]\n\nconst getFooterProps = (props, { column }) => [\n props,\n {\n style: {\n boxSizing: 'border-box',\n flex: column.totalFlexWidth\n ? `${column.totalFlexWidth} 0 auto`\n : undefined,\n minWidth: `${column.totalMinWidth}px`,\n width: `${column.totalWidth}px`,\n },\n },\n]\n","export function useGridLayout(hooks) {\n hooks.stateReducers.push(reducer)\n hooks.getTableProps.push(getTableProps)\n hooks.getHeaderProps.push(getHeaderProps)\n}\n\nuseGridLayout.pluginName = 'useGridLayout'\n\nconst getTableProps = (props, { instance }) => [\n props,\n {\n style: {\n display: `grid`,\n gridTemplateColumns: instance.state.gridLayout.columnWidths.map(w => w).join(` `),\n },\n },\n]\n\nconst getHeaderProps = (props, { column }) => [\n props,\n {\n id: `header-cell-${column.id}`,\n style: {\n position: `sticky` //enables a scroll wrapper to be placed around the table and have sticky headers\n },\n },\n]\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === `init`) {\n return {\n gridLayout: {\n columnWidths: instance.columns.map(() => `auto`),\n },\n ...state,\n }\n }\n\n if (action.type === `columnStartResizing`) {\n const { columnId } = action\n const columnIndex = instance.visibleColumns.findIndex(col => col.id === columnId)\n const elWidth = getElementWidth(columnId)\n\n if (elWidth !== undefined) {\n return {\n ...state,\n gridLayout: {\n ...state.gridLayout,\n columnId,\n columnIndex,\n startingWidth: elWidth\n },\n }\n } else {\n return state\n }\n }\n\n if (action.type === `columnResizing`) {\n const {\n columnIndex,\n startingWidth,\n columnWidths,\n } = state.gridLayout\n\n const change = state.columnResizing.startX - action.clientX\n const newWidth = startingWidth - change\n const columnWidthsCopy = [...columnWidths]\n columnWidthsCopy[columnIndex] = `${newWidth}px`\n\n return {\n ...state,\n gridLayout: {\n ...state.gridLayout,\n columnWidths: columnWidthsCopy,\n },\n }\n }\n}\n\nfunction getElementWidth(columnId) {\n const width = document.getElementById(`header-cell-${columnId}`)?.offsetWidth\n\n if (width !== undefined) {\n return width\n }\n}","if (process.env.NODE_ENV === 'production') {\n module.exports = require('./dist/react-table.production.min.js')\n} else {\n module.exports = require('./dist/react-table.development.js')\n}\n","import { toInt } from \"../converters\";\nimport { Query, QueryFiles } from \"../query\";\n\nexport const TOTAL_ACTIVE_CASES_TABLE = new QueryFiles(`total-active-cases-table`);\n\nexport function convertTotalActiveCasesRow(row: any) {\n return {\n count: toInt(row.count),\n category: row.category,\n };\n}\n\nexport type TotalActiveCasesRow = ReturnType;\n\nfunction getTotalActiveCasesCsvHeader(): string[] {\n return [\n 'count',\n 'category',\n ];\n}\n\nfunction toTotalActiveCasesCsvRow(row: TotalActiveCasesRow): string[] {\n return [\n row.count,\n row.category\n ];\n}\n\nexport const TotalActiveCasesTableQuery: Query = {\n files: TOTAL_ACTIVE_CASES_TABLE,\n sqlToRow: convertTotalActiveCasesRow,\n csvHeader: getTotalActiveCasesCsvHeader(),\n toCsvRow: toTotalActiveCasesCsvRow,\n};\n","module.exports = flatten\nflatten.flatten = flatten\nflatten.unflatten = unflatten\n\nfunction isBuffer (obj) {\n return obj &&\n obj.constructor &&\n (typeof obj.constructor.isBuffer === 'function') &&\n obj.constructor.isBuffer(obj)\n}\n\nfunction keyIdentity (key) {\n return key\n}\n\nfunction flatten (target, opts) {\n opts = opts || {}\n\n const delimiter = opts.delimiter || '.'\n const maxDepth = opts.maxDepth\n const transformKey = opts.transformKey || keyIdentity\n const output = {}\n\n function step (object, prev, currentDepth) {\n currentDepth = currentDepth || 1\n Object.keys(object).forEach(function (key) {\n const value = object[key]\n const isarray = opts.safe && Array.isArray(value)\n const type = Object.prototype.toString.call(value)\n const isbuffer = isBuffer(value)\n const isobject = (\n type === '[object Object]' ||\n type === '[object Array]'\n )\n\n const newKey = prev\n ? prev + delimiter + transformKey(key)\n : transformKey(key)\n\n if (!isarray && !isbuffer && isobject && Object.keys(value).length &&\n (!opts.maxDepth || currentDepth < maxDepth)) {\n return step(value, newKey, currentDepth + 1)\n }\n\n output[newKey] = value\n })\n }\n\n step(target)\n\n return output\n}\n\nfunction unflatten (target, opts) {\n opts = opts || {}\n\n const delimiter = opts.delimiter || '.'\n const overwrite = opts.overwrite || false\n const transformKey = opts.transformKey || keyIdentity\n const result = {}\n\n const isbuffer = isBuffer(target)\n if (isbuffer || Object.prototype.toString.call(target) !== '[object Object]') {\n return target\n }\n\n // safely ensure that the key is\n // an integer.\n function getkey (key) {\n const parsedKey = Number(key)\n\n return (\n isNaN(parsedKey) ||\n key.indexOf('.') !== -1 ||\n opts.object\n ) ? key\n : parsedKey\n }\n\n function addKeys (keyPrefix, recipient, target) {\n return Object.keys(target).reduce(function (result, key) {\n result[keyPrefix + delimiter + key] = target[key]\n\n return result\n }, recipient)\n }\n\n function isEmpty (val) {\n const type = Object.prototype.toString.call(val)\n const isArray = type === '[object Array]'\n const isObject = type === '[object Object]'\n\n if (!val) {\n return true\n } else if (isArray) {\n return !val.length\n } else if (isObject) {\n return !Object.keys(val).length\n }\n }\n\n target = Object.keys(target).reduce(function (result, key) {\n const type = Object.prototype.toString.call(target[key])\n const isObject = (type === '[object Object]' || type === '[object Array]')\n if (!isObject || isEmpty(target[key])) {\n result[key] = target[key]\n return result\n } else {\n return addKeys(\n key,\n result,\n flatten(target[key], opts)\n )\n }\n }, {})\n\n Object.keys(target).forEach(function (key) {\n const split = key.split(delimiter).map(transformKey)\n let key1 = getkey(split.shift())\n let key2 = getkey(split[0])\n let recipient = result\n\n while (key2 !== undefined) {\n if (key1 === '__proto__') {\n return\n }\n\n const type = Object.prototype.toString.call(recipient[key1])\n const isobject = (\n type === '[object Object]' ||\n type === '[object Array]'\n )\n\n // do not write over falsey, non-undefined values if overwrite is false\n if (!overwrite && !isobject && typeof recipient[key1] !== 'undefined') {\n return\n }\n\n if ((overwrite && !isobject) || (!overwrite && recipient[key1] == null)) {\n recipient[key1] = (\n typeof key2 === 'number' &&\n !opts.object ? [] : {}\n )\n }\n\n recipient = recipient[key1]\n if (split.length > 0) {\n key1 = getkey(split.shift())\n key2 = getkey(split[0])\n }\n }\n\n // unflatten again for 'messy objects'\n recipient[key1] = unflatten(target[key], opts)\n })\n\n return result\n}\n","import React from \"react\";\nimport { useTable, Column } from \"react-table\";\nimport { JsonLoader } from \"../json-loader\";\nimport { TotalActiveCasesRow, TOTAL_ACTIVE_CASES_TABLE } from \"./data\";\nimport { VizFallback, VIZ_TABLE_CLASS } from \"../viz-util\";\nimport {unflatten} from \"flat\";\nimport {numberWithCommas} from \"../vega\"\n\nexport const ActiveCasesTable: React.FC<{}> = () => {\n return (\n url={TOTAL_ACTIVE_CASES_TABLE.json} fallback={}>\n {(values) => }\n \n );\n};\n\nconst ActiveCasesTableWithValues: React.FC<{values: TotalActiveCasesRow[]}> = (values) => {\n const dataTable = constructDataTable(values);\n\n type ActiveCasesDisplayRow = {id: string, totalActiveCases: string, nonPayment: string, holdover: string}\n const rowLabels = [\n 'Statewide Totals',\n ' without NYC commercial #s',\n 'Pre-Pandemic #',\n ' without NYC commercial #s',\n 'Pandemic #',\n ' without NYC commercial #s',\n 'NYC Totals',\n ' residential only #s',\n 'Pre-Pandemic #',\n ' residential only #s',\n 'Pandemic #',\n ' residential only #s',\n 'Outside NYC Totals',\n 'Pre-Pandemic #',\n 'Pandemic #'\n ]\n var data = [];\n for (var i = 0; i < rowLabels.length; i++) {\n data[i] = {\n id: rowLabels[i],\n totalActiveCases: numberWithCommas(dataTable[i][0]),\n nonPayment: numberWithCommas(dataTable[i][1]),\n holdover: numberWithCommas(dataTable[i][2])\n };\n }\n \n const columns: Column[] = [\n {\n Header: \"\",\n accessor: \"id\",\n },\n {\n Header: \"Total Active Cases\",\n accessor: 'totalActiveCases'\n },\n {\n Header: \"Non-payment\",\n accessor: \"nonPayment\",\n },\n {\n Header: \"Holdover\",\n accessor: \"holdover\",\n }\n ];\n\n const {\n getTableProps,\n getTableBodyProps,\n headerGroups,\n rows,\n prepareRow,\n } = useTable({\n columns,\n data,\n });\n return (\n
    \n \n {headerGroups.map(headerGroup => (\n \n {headerGroup.headers.map(column => (\n \n ))}\n \n ))}\n \n \n {rows.map((row, i) => {\n prepareRow(row);\n return (\n \n {row.cells.map(cell => {\n return (\n );\n })}\n \n );\n })}\n \n
    {column.render(\"Header\")}
    \n {cell.render(\"Cell\")}\n
    \n )\n};\n\n\nfunction constructDataTable(values: React.PropsWithChildren<{\n values: TotalActiveCasesRow[];\n}>) {\n var activeCasesMap = Object.fromEntries(new Map(values.values.map(key => [key.category, key.count] as [string, number])));\n var activeCasesDeepObject: any = unflatten(activeCasesMap);\n\n const easyAccessMap = {\n 'outside-pandemic-all': activeCasesDeepObject['Outside NYC']['Issued Pandemic']['All'],\n 'outside-prepandemic-all': activeCasesDeepObject['Outside NYC']['Issued Prepandemic']['All'],\n 'nyc-pandemic-residential': activeCasesDeepObject['NYC']['Issued Pandemic']['Residential'], \n 'nyc-pandemic-commercial': activeCasesDeepObject['NYC']['Issued Pandemic']['Commercial'],\n 'nyc-prepandemic-residential': activeCasesDeepObject['NYC']['Issued Prepandemic']['Residential'],\n 'nyc-prepandemic-commercial': activeCasesDeepObject['NYC']['Issued Prepandemic']['Commercial'] \n }\n var table = Array.from(Array(15), () => Array(3)); // 15 rows, 3 cols\n return fillTable(table, easyAccessMap);\n}\n\nfunction fillTable(table: number[][], easyAccessMap: {[key: string]: {'Non-Payment': number, 'Holdover': number}}) {\n const total_col = 0; // total column index\n const np_col = 1; // nonpayment column\n const ho_col = 2; // holdover column\n const state_row = 0;\n const nyc_row = 6;\n const outside_row = 12;\n\n // Set most granular counts. All other cells will hold sums of these.\n table[nyc_row+2][np_col] = easyAccessMap['nyc-prepandemic-residential']['Non-Payment'] + easyAccessMap['nyc-prepandemic-commercial']['Non-Payment']\n table[nyc_row+2][ho_col] = easyAccessMap['nyc-prepandemic-residential']['Holdover'] + easyAccessMap['nyc-prepandemic-commercial']['Holdover']\n table[nyc_row+3][np_col] = easyAccessMap['nyc-prepandemic-residential']['Non-Payment']\n table[nyc_row+3][ho_col] = easyAccessMap['nyc-prepandemic-residential']['Holdover']\n table[nyc_row+4][np_col] = easyAccessMap['nyc-pandemic-residential']['Non-Payment'] + easyAccessMap['nyc-pandemic-commercial']['Non-Payment']\n table[nyc_row+4][ho_col] = easyAccessMap['nyc-pandemic-residential']['Holdover'] + easyAccessMap['nyc-pandemic-commercial']['Holdover']\n table[nyc_row+5][np_col] = easyAccessMap['nyc-pandemic-residential']['Non-Payment']\n table[nyc_row+5][ho_col] = easyAccessMap['nyc-pandemic-residential']['Holdover']\n table[outside_row+1][np_col] = easyAccessMap['outside-prepandemic-all']['Non-Payment']\n table[outside_row+1][ho_col] = easyAccessMap['outside-prepandemic-all']['Holdover']\n table[outside_row+2][np_col] = easyAccessMap['outside-pandemic-all']['Non-Payment']\n table[outside_row+2][ho_col] = easyAccessMap['outside-pandemic-all']['Holdover']\n\n for(var col=np_col; col<=ho_col; col++) {\n // Sum outside NYC vertically\n table[outside_row][col] = table[outside_row+1][col] + table[outside_row+2][col]\n // Sum NYC vertically\n table[nyc_row][col] = table[nyc_row+2][col] + table[nyc_row+4][col]\n table[nyc_row+1][col] = table[nyc_row+3][col] + table[nyc_row+5][col]\n // Sum Statewide vertically\n table[state_row+2][col] = table[nyc_row+2][col] + table[outside_row+1][col]\n table[state_row+3][col] = table[nyc_row+3][col] + table[outside_row+1][col]\n table[state_row+4][col] = table[nyc_row+4][col] + table[outside_row+2][col]\n table[state_row+5][col] = table[nyc_row+5][col] + table[outside_row+2][col]\n // Top lines vertical\n table[state_row][col] = table[state_row+2][col] + table[state_row+4][col]\n table[state_row+1][col] = table[state_row+3][col] + table[state_row+5][col]\n }\n\n // Sum outside NYC horizontally\n for(var i=outside_row; i;\n\nfunction getCsvHeader(): string[] {\n return [\n 'court_name',\n 'zipcode',\n 'filings',\n ];\n}\n\nfunction toCsvRow(row: FilingsByZipOutsideNYCRow): string[] {\n return [\n row.court_name,\n row.zipcode,\n row.filings.toString(),\n ];\n}\n\nexport const FilingsByZipOutsideNYCQuery: Query = {\n files: FILINGS_BY_ZIP_OUTSIDE_NYC_TABLE,\n sqlToRow: convertFilingsByZipOutsideNYCRow,\n csvHeader: getCsvHeader(),\n toCsvRow: toCsvRow,\n};\n","import React from \"react\";\nimport { useTable, Column, useGroupBy, useExpanded, CellProps} from \"react-table\";\nimport { FilingsByZipOutsideNYCRow, FILINGS_BY_ZIP_OUTSIDE_NYC_TABLE } from \"./data\";\nimport { VizFallback, VIZ_TABLE_CLASS } from \"../viz-util\";\nimport { JsonLoader } from \"../json-loader\";\nimport {numberWithCommas} from \"../vega\";\n\nexport const FilingsByZipOutsideNYCTable: React.FC<{}> = () => {\n return <>\n Note: Zip codes may appear in multiple courts.\n url={FILINGS_BY_ZIP_OUTSIDE_NYC_TABLE.json} fallback={}>\n {(values) => }\n \n ;\n}\n\ntype FilingsByZipOutsideNYCDisplayRow = {court_name: string, zipcode: string, filings: number};\n\ninterface Props {\n columns: Array>;\n data: Array;\n}\n\nconst Table: React.FC = ({ columns, data }) => {\n const {\n getTableProps,\n getTableBodyProps,\n headerGroups,\n rows,\n prepareRow,\n } = useTable(\n {\n columns,\n data,\n initialState: {groupBy: ['court']},\n },\n useGroupBy,\n useExpanded\n );\n return (\n \n \n {headerGroups.map(headerGroup => (\n \n {headerGroup.headers.map(column => (\n \n ))}\n \n ))}\n \n \n {rows.map((row, i) => {\n prepareRow(row);\n return (\n \n {row.cells.map(cell => {\n return (\n );\n })\n }\n \n );\n })}\n \n
    \n {column.id == 'court' ? (\n \n {column.isGrouped ? '➡️ ' : '⬇️ '}\n \n ) : null}\n {column.render(\"Header\")}\n
    \n {cell.isGrouped ? (\n <>\n \n {row.isExpanded ? '⬇️' : '➡️'}\n {' '}\n {cell.render('Cell')} ({row.subRows.length})\n \n ) : cell.isAggregated ? (\n cell.render('Aggregated')\n ) : cell.isPlaceholder ? null : (\n cell.render('Cell')\n )}\n
    \n )\n}\n\nfunction makeColumns(): Column[] {\n const cols: Column[] =\n React.useMemo(\n () =>\n [\n {\n Header: \"Court\",\n accessor: \"court_name\" as keyof FilingsByZipOutsideNYCDisplayRow,\n id: \"court\",\n },\n {\n Header: \"Zipcode\",\n accessor: \"zipcode\" as keyof FilingsByZipOutsideNYCDisplayRow,\n aggregate: \"count\",\n Aggregated: ({value}: CellProps) => `${value} zip codes`,\n },\n {\n Header: \"Total cases filed since March 23, 2020\",\n accessor: \"filings\" as keyof FilingsByZipOutsideNYCDisplayRow,\n aggregate: \"sum\",\n Aggregated: ({value}: CellProps) => `${numberWithCommas(value)}`,\n },\n ], []);\n return cols;\n}\n\nconst FilingsByZipOutsideNYCTableWithValues: React.FC<{values: FilingsByZipOutsideNYCRow[]}> = (values) => {\n var data = values.values;\n const columns = makeColumns();\n return ();\n}","\nimport { Query, QueryFiles } from \"../query\";\n\nexport const MONTHLY_FILINGS_BY_ZIP = new QueryFiles(`monthly-filings-table-by-zip`);\n\nexport function convertMonthlyFilingsByZipRow(row: any) {\n return {\n zipcode: row.zipcode,\n region: row.region,\n borough: row.borough,\n two_months_ago: row.two_months_ago,\n three_months_ago: row.three_months_ago,\n num_increase: row.num_increase,\n percent_increase: row.percent_increase,\n };\n}\n\nexport type MonthlyFilingsByZipRow = ReturnType;\n\nfunction getMonthlyFilingsByZipCsvHeader(): string[] {\n return [\n 'zipcode',\n 'region',\n 'borough',\n 'two_months_ago',\n 'three_months_ago',\n 'num_increase',\n 'percent_increase'\n ];\n}\n\nfunction toMonthlyFilingsByZipCsvRow(row: MonthlyFilingsByZipRow): string[] {\n return [\n row.zipcode,\n row.region,\n row.borough,\n row.two_months_ago,\n row.three_months_ago,\n row.num_increase,\n row.percent_increase,\n ];\n}\n\nexport const MonthlyFilingsByZipTableQuery: Query = {\n files: MONTHLY_FILINGS_BY_ZIP,\n sqlToRow: convertMonthlyFilingsByZipRow,\n csvHeader: getMonthlyFilingsByZipCsvHeader(),\n toCsvRow: toMonthlyFilingsByZipCsvRow,\n};","\nimport React from \"react\";\nimport { useTable, Column, CellProps} from \"react-table\";\nimport { MonthlyFilingsByZipRow, MONTHLY_FILINGS_BY_ZIP } from \"./data\";\nimport { VizFallback, VIZ_TABLE_CLASS } from \"../viz-util\";\nimport { JsonLoader } from \"../json-loader\";\nimport {numberWithCommas} from \"../vega\";\n\nexport const MonthlyFilingsTableByZip: React.FC<{}> = () => {\n return <>\n Note: Filings from past 5-6 weeks may be artificially low due to reporting lags.\n url={MONTHLY_FILINGS_BY_ZIP.json} fallback={}>\n {(values) => }\n \n ;\n}\n\ntype MonthlyFilingsByZipDisplayRow = {\n zipcode: string,\n region: string,\n borough: string,\n two_months_ago: number,\n three_months_ago: number,\n num_increase: number,\n percent_increase: number\n};\n\ninterface Props {\n columns: Array>;\n data: Array;\n}\n\nconst Table: React.FC = ({ columns, data }) => {\n const {\n getTableProps,\n getTableBodyProps,\n headerGroups,\n rows,\n prepareRow,\n } = useTable(\n {\n columns,\n data,\n }\n );\n return (\n
    \n \n {headerGroups.map(headerGroup => (\n \n {headerGroup.headers.map(column => (\n \n ))}\n \n ))}\n \n \n {rows.map((row, i) => {\n prepareRow(row);\n return (\n \n {row.cells.map(cell => {\n return (\n );\n })\n }\n \n );\n })}\n \n
    \n {column.render(\"Header\")}\n
    \n {cell.isPlaceholder ? null : (\n cell.render('Cell')\n )}\n
    \n )\n}\n\nfunction makeColumns(): Column[] {\n const cols: Column[] =\n React.useMemo(\n () =>\n [\n {\n Header: \"Zipcode\",\n accessor: \"zipcode\" as keyof MonthlyFilingsByZipDisplayRow,\n },\n {\n Header: \"Borough\",\n accessor: \"borough\" as keyof MonthlyFilingsByZipDisplayRow,\n },\n {\n Header: \"3 months ago\",\n accessor: \"three_months_ago\" as keyof MonthlyFilingsByZipDisplayRow,\n },\n {\n Header: \"2 months ago\",\n accessor: \"two_months_ago\" as keyof MonthlyFilingsByZipDisplayRow,\n },\n {\n Header: \"# Increase\",\n accessor: \"num_increase\" as keyof MonthlyFilingsByZipDisplayRow,\n },\n {\n Header: \"% Increase\",\n accessor: \"percent_increase\" as keyof MonthlyFilingsByZipDisplayRow,\n Cell: ({value}: CellProps) => `${numberWithCommas(value)}%`\n },\n ], []);\n return cols;\n}\n\n\nconst MonthlyFilingsByZipWithValues: React.FC<{values: MonthlyFilingsByZipRow[]}> = (values) => {\n var data = values.values;\n const columns = makeColumns();\n return ();\n}","import { Query, QueryFiles } from \"../query\";\n\nexport const MONTHLY_FILINGS_CITYWIDE = new QueryFiles(`monthly-filings-table-citywide`);\n\nexport function convertMonthlyFilingsCitywideRow(row: any) {\n return {\n borough: row.borough,\n region: row.region,\n two_months_ago: row.two_months_ago,\n three_months_ago: row.three_months_ago,\n num_increase: row.num_increase,\n percent_increase: row.percent_increase,\n };\n}\n\nexport type MonthlyFilingsCitywideRow = ReturnType;\n\nfunction getMonthlyFilingsCitywideCsvHeader(): string[] {\n return [\n 'borough',\n 'region',\n 'two_months_ago',\n 'three_months_ago',\n 'num_increase',\n 'percent_increase'\n ];\n}\n\nfunction toMonthlyFilingsCitywideCsvRow(row: MonthlyFilingsCitywideRow): string[] {\n return [\n row.borough,\n row.region,\n row.two_months_ago,\n row.three_months_ago,\n row.num_increase,\n row.percent_increase,\n ];\n}\n\n\nexport const MonthlyFilingsCitywideTableQuery: Query = {\n files: MONTHLY_FILINGS_CITYWIDE,\n sqlToRow: convertMonthlyFilingsCitywideRow,\n csvHeader: getMonthlyFilingsCitywideCsvHeader(),\n toCsvRow: toMonthlyFilingsCitywideCsvRow,\n};","\nimport React from \"react\";\nimport { useTable, Column, useGroupBy, useExpanded, CellProps} from \"react-table\";\nimport { MonthlyFilingsCitywideRow, MONTHLY_FILINGS_CITYWIDE } from \"./data\";\nimport { VizFallback, VIZ_TABLE_CLASS } from \"../viz-util\";\nimport { JsonLoader } from \"../json-loader\"\nimport {numberWithCommas} from \"../vega\";\nimport { toInt } from \"../converters\";\n\nexport const MonthlyFilingsTableCitywide: React.FC<{}> = () => {\n return <>\n Note: Filings from past 5-6 weeks may be artificially low due to reporting lags.\n url={MONTHLY_FILINGS_CITYWIDE.json} fallback={}>\n {(values) => }\n \n ;\n}\n\ntype MonthlyFilingsCitywideDisplayRow = {\n borough: string,\n region: string,\n two_months_ago: number,\n three_months_ago: number,\n num_increase: number,\n percent_increase: number\n};\n\ninterface Props {\n columns: Array>;\n data: Array;\n}\n\nconst Table: React.FC = ({ columns, data }) => {\n const {\n getTableProps,\n getTableBodyProps,\n headerGroups,\n rows,\n prepareRow,\n } = useTable(\n {\n columns,\n data,\n initialState: {groupBy: ['region']},\n },\n useGroupBy,\n useExpanded\n );\n return (\n
    \n \n {headerGroups.map(headerGroup => (\n \n {headerGroup.headers.map(column => (\n \n ))}\n \n ))}\n \n \n {rows.map((row, i) => {\n prepareRow(row);\n return (\n \n {row.cells.map(cell => {\n return (\n );\n })\n }\n \n );\n })}\n \n
    \n {column.id == 'court' ? (\n \n {column.isGrouped ? '➡️ ' : '⬇️ '}\n \n ) : null}\n {column.render(\"Header\")}\n
    \n {cell.isGrouped ? (\n <>\n \n {row.isExpanded ? '⬇️' : '➡️'}\n {' '}\n {cell.render('Cell')} ({row.subRows.length})\n \n ) : cell.isAggregated ? (\n cell.render('Aggregated')\n ) : cell.isPlaceholder ? null : (\n cell.render('Cell')\n )}\n
    \n )\n}\n\nfunction makeColumns(): Column[] {\n const cols: Column[] =\n React.useMemo(\n () =>\n [\n {\n Header: \"Region\",\n accessor: \"region\" as keyof MonthlyFilingsCitywideDisplayRow,\n id: \"region\",\n },\n {\n Header: \"Borough\",\n accessor: \"borough\" as keyof MonthlyFilingsCitywideDisplayRow,\n aggregate: \"count\",\n Aggregated: ({value}: CellProps) => `${value} boroughs`,\n },\n {\n Header: \"3 months ago\",\n accessor: \"three_months_ago\" as keyof MonthlyFilingsCitywideDisplayRow,\n // \"sum\" doesn't handle negative values properly: https://github.com/tannerlinsley/react-table/issues/3273\n aggregate: (leafValues) => leafValues.reduce((value, next) => parseInt(value) + parseInt(next)),\n Aggregated: ({value}: CellProps) => `${numberWithCommas(value)}`,\n Cell: ({value}: CellProps) => value\n },\n {\n Header: \"2 months ago\",\n accessor: \"two_months_ago\" as keyof MonthlyFilingsCitywideDisplayRow,\n // \"sum\" doesn't handle negative values properly: https://github.com/tannerlinsley/react-table/issues/3273\n aggregate: (leafValues) => leafValues.reduce((value, next) => parseInt(value) + parseInt(next)),\n Aggregated: ({value}: CellProps) => `${numberWithCommas(value)}`,\n Cell: ({value}: CellProps) => value\n },\n {\n Header: \"# Increase\",\n accessor: \"num_increase\" as keyof MonthlyFilingsCitywideDisplayRow,\n // \"sum\" doesn't handle negative values properly: https://github.com/tannerlinsley/react-table/issues/3273\n aggregate: (leafValues) => leafValues.reduce((value, next) => parseInt(value) + parseInt(next)),\n Aggregated: ({value}: CellProps) => `${numberWithCommas(value)}`,\n Cell: ({value}: CellProps) => value\n },\n {\n Header: \"% Increase\",\n accessor: \"percent_increase\" as keyof MonthlyFilingsCitywideDisplayRow,\n aggregate: (leafValues: string[]) => calculate_percentage_increase(leafValues),\n aggregateValue: (_value: CellProps, { original }: CellProps) => `${original.two_months_ago}-${original.three_months_ago}`,\n Aggregated: ({value}: CellProps) => `${value}%`,\n Cell: ({value}: CellProps): string => `${numberWithCommas(value)}%`\n },\n ], []);\n return cols;\n}\n\n/**\n * leafValues looks like:\n * ['123-455', '467-234']\n*/\nfunction calculate_percentage_increase(leafValues: string[]) {\n var two_months_ago_sum = 0;\n var three_months_ago_sum = 0;\n for (let idx in leafValues){\n let spl = leafValues[idx].split('-');\n two_months_ago_sum += parseInt(spl[0]);\n three_months_ago_sum += parseInt(spl[1]);\n }\n\n return Math.round((two_months_ago_sum - three_months_ago_sum) / three_months_ago_sum * 100);\n}\n\nconst MonthlyFilingsCitywideWithValues: React.FC<{values: MonthlyFilingsCitywideRow[]}> = (values) => {\n var data = values.values;\n const columns = makeColumns();\n return ();\n}","import React, { useState, useEffect } from 'react';\nimport type {\n CSSProperties,\n FocusEvent,\n KeyboardEvent,\n MouseEvent,\n ReactNode,\n} from 'react';\nimport extendData from './extendData';\nimport renderLabels from './renderLabels';\nimport renderSegments from './renderSegments';\nimport type { Data, EventHandler, LabelRenderFunction } from '../commonTypes';\n\ntype Props = {\n animate?: boolean;\n animationDuration?: number;\n animationEasing?: string;\n background?: string;\n center?: [number, number];\n children?: ReactNode;\n className?: string;\n data: Data;\n lengthAngle?: number;\n lineWidth?: number;\n label?: LabelRenderFunction;\n labelPosition?: number;\n labelStyle?:\n | CSSProperties\n | ((dataIndex: number) => CSSProperties | undefined);\n onBlur?: EventHandler;\n onClick?: EventHandler;\n onFocus?: EventHandler;\n onKeyDown?: EventHandler;\n onMouseOut?: EventHandler;\n onMouseOver?: EventHandler;\n paddingAngle?: number;\n radius?: number;\n reveal?: number;\n rounded?: boolean;\n segmentsShift?: number | ((dataIndex: number) => number | undefined);\n segmentsStyle?:\n | CSSProperties\n | ((dataIndex: number) => CSSProperties | undefined);\n segmentsTabIndex?: number;\n startAngle?: number;\n style?: CSSProperties;\n totalValue?: number;\n viewBoxSize?: [number, number];\n};\n\nconst defaultProps = {\n animationDuration: 500,\n animationEasing: 'ease-out',\n center: [50, 50] as [number, number],\n data: [] as Data,\n labelPosition: 50,\n lengthAngle: 360,\n lineWidth: 100,\n paddingAngle: 0,\n radius: 50,\n startAngle: 0,\n viewBoxSize: [100, 100] as [number, number],\n};\n\nexport type PropsWithDefaults = Props & typeof defaultProps;\n\nexport function ReactMinimalPieChart(props: PropsWithDefaults) {\n const [revealOverride, setRevealOverride] = useState(\n props.animate ? 0 : null\n );\n useEffect(() => {\n if (props.animate) {\n return startInitialAnimation();\n }\n\n function startInitialAnimation() {\n let animationTimerId: NodeJS.Timeout | null;\n let animationRAFId: number | null;\n animationTimerId = setTimeout(() => {\n animationTimerId = null;\n animationRAFId = requestAnimationFrame(() => {\n animationRAFId = null;\n setRevealOverride(null); // Start animation\n });\n });\n\n return () => {\n animationTimerId && clearTimeout(animationTimerId);\n animationRAFId && cancelAnimationFrame(animationRAFId);\n };\n }\n }, []);\n\n const extendedData = extendData(props);\n return (\n \n {renderSegments(extendedData, props, revealOverride)}\n {props.label && renderLabels(extendedData, props)}\n {props.children}\n \n );\n}\n\nReactMinimalPieChart.defaultProps = defaultProps;\n","export function degreesToRadians(degrees: number) {\n return (degrees * Math.PI) / 180;\n}\n\nexport function valueBetween(value: number, min: number, max: number) {\n if (value > max) return max;\n if (value < min) return min;\n return value;\n}\n\nexport function extractPercentage(value: number, percentage: number) {\n return (percentage / 100) * value;\n}\n\nexport function bisectorAngle(startAngle: number, lengthAngle: number) {\n return startAngle + lengthAngle / 2;\n}\n\nexport function shiftVectorAlongAngle(angle: number, distance: number) {\n const angleRadians = degreesToRadians(angle);\n return {\n dx: distance * Math.cos(angleRadians),\n dy: distance * Math.sin(angleRadians),\n };\n}\n\nexport function isNumber(value: unknown): value is number {\n return typeof value === 'number';\n}\n\nexport function functionProp(\n prop: Prop,\n payload?: Payload\n): Prop extends (...args: any) => any ? ReturnType : Prop {\n return typeof prop === 'function' ? prop(payload) : prop;\n}\n","import React from 'react';\nimport type { CSSProperties, SVGProps } from 'react';\nimport type { ExtendedDataEntry } from './commonTypes';\n\nexport type LabelRenderProps = {\n x: number;\n y: number;\n dx: number;\n dy: number;\n textAnchor: string;\n dataEntry: ExtendedDataEntry;\n dataIndex: number;\n style?: CSSProperties;\n};\n\ntype Props = SVGProps & LabelRenderProps;\n\nexport default function ReactMinimalPieChartLabel({\n dataEntry,\n dataIndex,\n ...props\n}: Props) {\n return ;\n}\n","import React from 'react';\nimport DefaultLabel from '../Label';\nimport {\n bisectorAngle,\n extractPercentage,\n functionProp,\n shiftVectorAlongAngle,\n} from '../utils';\nimport type { PropsWithDefaults as ChartProps } from './Chart';\nimport type { LabelRenderProps } from '../Label';\nimport type { ExtendedData, LabelRenderFunction } from '../commonTypes';\n\nfunction round(number: number): number {\n const divisor = 1e14; // 14 decimals\n return Math.round((number + Number.EPSILON) * divisor) / divisor;\n}\n\nfunction evaluateTextAnchorPosition({\n labelPosition,\n lineWidth,\n labelHorizontalShift,\n}: {\n labelPosition: number;\n lineWidth: number;\n labelHorizontalShift: number;\n}) {\n const dx = round(labelHorizontalShift);\n // Label in the vertical center\n if (dx === 0) {\n return 'middle';\n }\n // Outward label\n if (labelPosition > 100) {\n return dx > 0 ? 'start' : 'end';\n }\n // Inward label\n const innerRadius = 100 - lineWidth;\n if (labelPosition < innerRadius) {\n return dx > 0 ? 'end' : 'start';\n }\n // Overlying label\n return 'middle';\n}\n\nfunction renderLabelElement(\n renderLabel: LabelRenderFunction,\n labelProps: LabelRenderProps\n): JSX.Element | null {\n const label = renderLabel(labelProps);\n if (typeof label === 'string' || typeof label === 'number') {\n return (\n \n {label}\n \n );\n }\n\n if (React.isValidElement(label)) {\n return label;\n }\n return null;\n}\n\nexport default function renderLabels(data: ExtendedData, props: ChartProps) {\n return data.map((dataEntry, index) => {\n const segmentsShift = functionProp(props.segmentsShift, index) ?? 0;\n const distanceFromCenter =\n extractPercentage(props.radius, props.labelPosition) + segmentsShift;\n const { dx, dy } = shiftVectorAlongAngle(\n bisectorAngle(dataEntry.startAngle, dataEntry.degrees),\n distanceFromCenter\n );\n\n // This object is passed as argument to the \"label\" function prop\n const labelRenderProps = {\n x: props.center[0],\n y: props.center[1],\n dx,\n dy,\n textAnchor: evaluateTextAnchorPosition({\n labelPosition: props.labelPosition,\n lineWidth: props.lineWidth,\n labelHorizontalShift: dx,\n }),\n dataEntry,\n dataIndex: index,\n style: functionProp(props.labelStyle, index),\n };\n\n return props.label && renderLabelElement(props.label, labelRenderProps);\n });\n}\n","'use strict'\n\n// from http://stackoverflow.com/a/18473154\nconst partialCircle = (cx, cy, r, start, end) => {\n\tconst length = end - start\n\tif (length === 0) return []\n\n\tconst fromX = r * Math.cos(start) + cx\n\tconst fromY = r * Math.sin(start) + cy\n\tconst toX = r * Math.cos(end) + cx\n\tconst toY = r * Math.sin(end) + cy\n\tconst large = Math.abs(length) <= Math.PI ? '0' : '1'\n\tconst sweep = length < 0 ? '0' : '1'\n\n\treturn [\n\t\t['M', fromX, fromY],\n\t\t['A', r, r, 0, large, sweep, toX, toY]\n\t]\n}\n\nmodule.exports = partialCircle\n","import React from 'react';\nimport type { SVGProps } from 'react';\nimport partialCircle from 'svg-partial-circle';\nimport {\n bisectorAngle,\n degreesToRadians,\n extractPercentage,\n isNumber,\n shiftVectorAlongAngle,\n valueBetween,\n} from './utils';\n\nexport function makePathCommands(\n cx: number,\n cy: number,\n startAngle: number,\n lengthAngle: number,\n radius: number\n): string {\n const patchedLengthAngle = valueBetween(lengthAngle, -359.999, 359.999);\n\n return partialCircle(\n cx,\n cy, // center X and Y\n radius,\n degreesToRadians(startAngle),\n degreesToRadians(startAngle + patchedLengthAngle)\n )\n .map((command) => command.join(' '))\n .join(' ');\n}\n\ntype Props = SVGProps & {\n cx: number;\n cy: number;\n lengthAngle: number;\n lineWidth: number;\n radius: number;\n reveal?: number;\n rounded?: boolean;\n shift?: number;\n startAngle: number;\n title?: string | number;\n};\n\nexport default function ReactMinimalPieChartPath({\n cx,\n cy,\n lengthAngle,\n lineWidth,\n radius,\n shift = 0,\n reveal,\n rounded,\n startAngle,\n title,\n ...props\n}: Props) {\n const pathRadius = radius - lineWidth / 2;\n //@NOTE This shift might be rendered as a translation in future\n const { dx, dy } = shiftVectorAlongAngle(\n bisectorAngle(startAngle, lengthAngle),\n shift\n );\n\n const pathCommands = makePathCommands(\n cx + dx,\n cy + dy,\n startAngle,\n lengthAngle,\n pathRadius\n );\n let strokeDasharray;\n let strokeDashoffset;\n\n // Animate/hide paths with \"stroke-dasharray\" + \"stroke-dashoffset\"\n // https://css-tricks.com/svg-line-animation-works/\n if (isNumber(reveal)) {\n const pathLength = degreesToRadians(pathRadius) * lengthAngle;\n strokeDasharray = Math.abs(pathLength);\n strokeDashoffset =\n strokeDasharray - extractPercentage(strokeDasharray, reveal);\n }\n\n return (\n \n {title && {title}}\n \n );\n}\n","import React from 'react';\nimport type { CSSProperties } from 'react';\nimport Path from '../Path';\nimport { extractPercentage, functionProp, isNumber } from '../utils';\nimport type { ExtendedData } from '../commonTypes';\nimport type { PropsWithDefaults as ChartProps } from './Chart';\n\nfunction combineSegmentTransitionsStyle(\n duration: number,\n easing: string,\n customStyle?: CSSProperties\n): { transition: string } {\n // Merge chart's animation CSS transition with \"transition\" found to customStyle\n let transition = `stroke-dashoffset ${duration}ms ${easing}`;\n if (customStyle && customStyle.transition) {\n transition = `${transition},${customStyle.transition}`;\n }\n return {\n transition,\n };\n}\n\nfunction getRevealValue(props: { reveal?: Reveal; animate?: boolean }) {\n //@NOTE When animation is on, chart has to be fully revealed when reveal is not set\n if (props.animate && !isNumber(props.reveal)) {\n return 100;\n }\n return props.reveal;\n}\n\nfunction makeEventHandler(\n eventHandler: undefined | (EventHandler & Function),\n payload: Payload\n) {\n return (\n eventHandler &&\n ((e: Event) => {\n eventHandler(e, payload);\n })\n );\n}\n\nexport default function renderSegments(\n data: ExtendedData,\n props: ChartProps,\n revealOverride?: null | number\n) {\n // @NOTE this should go in Path component. Here for performance reasons\n const reveal = revealOverride ?? getRevealValue(props);\n const {\n radius,\n center: [cx, cy],\n } = props;\n const lineWidth = extractPercentage(radius, props.lineWidth);\n const paths = data.map((dataEntry, index) => {\n const segmentsStyle = functionProp(props.segmentsStyle, index);\n return (\n \n );\n });\n\n if (props.background) {\n paths.unshift(\n \n );\n }\n\n return paths;\n}\n","import { extractPercentage, valueBetween } from '../utils';\nimport type { Data, ExtendedData } from '../commonTypes';\nimport type { PropsWithDefaults as ChartProps } from './Chart';\n\nfunction sumValues(data: Data): number {\n let sum = 0;\n for (let i = 0; i < data.length; i++) {\n sum += data[i].value;\n }\n return sum;\n}\n\n// Append \"percentage\", \"degrees\" and \"startAngle\" to each data entry\nexport default function extendData({\n data,\n lengthAngle: totalAngle,\n totalValue,\n paddingAngle,\n startAngle: chartStartAngle,\n}: ChartProps): ExtendedData {\n const total = totalValue || sumValues(data);\n const normalizedTotalAngle = valueBetween(totalAngle, -360, 360);\n const numberOfPaddings =\n Math.abs(normalizedTotalAngle) === 360 ? data.length : data.length - 1;\n const singlePaddingDegrees = Math.abs(paddingAngle) * Math.sign(totalAngle);\n const degreesTakenByPadding = singlePaddingDegrees * numberOfPaddings;\n const degreesTakenByPaths = normalizedTotalAngle - degreesTakenByPadding;\n let lastSegmentEnd = 0;\n const extendedData = [];\n\n // @NOTE: Shall we evaluate percentage accordingly to dataEntry.value's sign?\n for (let i = 0; i < data.length; i++) {\n const dataEntry = data[i];\n const valueInPercentage = total === 0 ? 0 : (dataEntry.value / total) * 100;\n const degrees = extractPercentage(degreesTakenByPaths, valueInPercentage);\n const startAngle = lastSegmentEnd + chartStartAngle;\n lastSegmentEnd = lastSegmentEnd + degrees + singlePaddingDegrees;\n extendedData.push(\n Object.assign(\n {\n percentage: valueInPercentage,\n startAngle,\n degrees,\n },\n dataEntry\n )\n );\n }\n return extendedData;\n}\n","import { toInt } from \"../converters\";\nimport { Query, QueryFiles } from \"../query\";\n\nexport const BOROUGH_PIE_CHART_ACTIVE_CASES = new QueryFiles(`borough-pie-chart-active-cases`);\n\nexport function convertBoroughPieChartActiveCasesRow(row: any) {\n return {\n count: toInt(row.count),\n borough: row.borough,\n timeBucket: row.timebucket\n };\n}\n\nexport type BoroughPieChartActiveCasesRow = ReturnType;\n\nfunction getBoroughPieChartActiveCasesCsvHeader(): string[] {\n return [\n 'count',\n 'borough',\n 'timeBucket'\n ];\n}\n\nfunction toBoroughPieChartActiveCasesCsvRow(row: BoroughPieChartActiveCasesRow): string[] {\n return [\n row.count,\n row.borough,\n row.timeBucket\n ];\n}\n\nexport const BoroughPieChartActiveCasesQuery: Query = {\n files: BOROUGH_PIE_CHART_ACTIVE_CASES,\n sqlToRow: convertBoroughPieChartActiveCasesRow,\n csvHeader: getBoroughPieChartActiveCasesCsvHeader(),\n toCsvRow: toBoroughPieChartActiveCasesCsvRow,\n};\n","import React, { useState } from 'react';\nimport { PieChart } from 'react-minimal-pie-chart';\nimport { BoroughPieChartActiveCasesRow, BOROUGH_PIE_CHART_ACTIVE_CASES } from './data';\nimport { JsonLoader } from \"../json-loader\";\nimport { VizFallback, VIZ_TABLE_CLASS } from \"../viz-util\";\n\nexport const BoroughPieChartsActiveCases: React.FC<{}> = () => {\n return <>\n url={BOROUGH_PIE_CHART_ACTIVE_CASES.json} fallback={}>\n {(values) => }\n \n ;\n}\n\nconst BoroughPieChartsActiveCasesWithValues: React.FC<{values: BoroughPieChartActiveCasesRow[]}> = (values) => {\n const data = formatData(values.values);\n \n const defaultLabelStyle = {\n fontSize: '5px',\n fontFamily: 'sans-serif',\n };\n const [hovered, setHovered] = useState(undefined);\n\n function addHover(dataPoint: BoroughPieChartActiveCasesSlice, i:number) {\n if (hovered === i) {\n return {\n ...dataPoint,\n title: `${dataPoint.value} filings`,\n };\n }\n return dataPoint;\n }\n\n return (\n
    \n
    \n

    Pre-pandemic Active Cases (NYC)

    \n `${dataEntry.title}: ${Math.round(dataEntry.percentage)}%`}\n labelStyle={{\n ...defaultLabelStyle\n }}\n style={{ height: '250px' }}\n onMouseOver={(_, index) => {\n setHovered(index);\n }}\n onMouseOut={() => {\n setHovered(undefined);\n }}\n />\n
    \n
    \n

    Pandemic Active Cases (NYC)

    \n `${dataEntry.title}: ${Math.round(dataEntry.percentage)}%`}\n labelStyle={{\n ...defaultLabelStyle\n }}\n style={{ height: '250px' }}\n onMouseOver={(_, index) => {\n setHovered(index);\n }}\n onMouseOut={() => {\n setHovered(undefined);\n }}\n />\n
    \n
    \n );\n}\n\ntype BoroughPieChartActiveCasesSlice = {\n title: string,\n value: number,\n color: string\n};\n\nfunction formatData(data: BoroughPieChartActiveCasesRow[]): { pandemicData: BoroughPieChartActiveCasesSlice[], prePandemicData: BoroughPieChartActiveCasesSlice[]} {\n const colors: { [borough:string] : string } = {\n 'Bronx': '#B3EFFF',\n 'Brooklyn': '#00CFFF',\n 'Manhattan': '#046B99',\n 'Queens': '#4373B1',\n 'Staten Island': '#606060'\n };\n\n function compareTitles(a: BoroughPieChartActiveCasesSlice, b: BoroughPieChartActiveCasesSlice) {\n return a.title < b.title ? -1 : 0;\n }\n let rowToSection = (item:BoroughPieChartActiveCasesRow) => ({\n 'title': item.borough,\n 'value': item.count,\n 'color': colors[item.borough] \n });\n return {\n prePandemicData: data.filter(item => item.timeBucket == 'Issued Prepandemic').map(\n rowToSection\n ).sort(compareTitles), // sorting makes sure the two pie charts start with the same values\n pandemicData: data.filter(item => item.timeBucket == 'Issued Pandemic').map(\n rowToSection\n ).sort(compareTitles)\n };\n}\n\n","import React from \"react\";\nimport { useEffect, useState } from \"react\";\nimport { QueryFiles } from \"./query\";\n\nconst HDC_GITHUB = \"https://github.com/housing-data-coalition\";\n\nconst to_formatted_date = (x: string): string => {\n return new Date(x).toLocaleDateString(\"en-us\", {\n weekday: \"long\",\n year: \"numeric\",\n month: \"short\",\n day: \"numeric\",\n timeZone: \"UTC\",\n });\n};\nconst getLatestFilingDate = (): JSX.Element => {\n const [latestFilingDate, setLatestFilingDate] = useState(null);\n\n const latest_filing_date_url = new QueryFiles(`latest-filing-date`);\n\n useEffect(() => {\n fetch(latest_filing_date_url.json)\n .then((res) => res.json())\n .then((data) => {\n const date = to_formatted_date(data[0].latest_date);\n setLatestFilingDate(date);\n });\n }, [latest_filing_date_url.json]);\n\n if (latestFilingDate === null) return <>;\n\n return (\n
  • \n NYCDB is automatically updated with the latest OCA files overnight each\n Sunday. If successfully updated, the latest filing date in the data\n should be the latest Friday. The latest filing date in NYCDB is{\" \"}\n {latestFilingDate}.\n
  • \n );\n};\n\nconst getOcaUpdateDate = (): JSX.Element => {\n const [ocaUpdateDate, setOcaUpdateDate] = useState(null);\n\n const oca_url: string =\n \"https://oca-2-dev.s3.amazonaws.com/public/last-updated-date.txt\";\n\n useEffect(() => {\n fetch(oca_url)\n .then((res) => res.text())\n .then((data) => {\n const date = to_formatted_date(data);\n setOcaUpdateDate(date);\n });\n }, [oca_url]);\n\n if (ocaUpdateDate === null) return <>;\n\n return (\n
  • \n \n Raw data files from Office of Court Administration\n {\" \"}\n should be updated every Tuesday. These files were last updated on{\" \"}\n {`${ocaUpdateDate}`}.\n
  • \n );\n};\n\nexport const MaintenanceChecklist: React.FC<{}> = () => {\n return (\n <>\n

    Maintenance Checklist:

    \n
      \n {getOcaUpdateDate()}\n {getLatestFilingDate()}\n
    • \n Check the tracker’s{\" \"}\n \n build/deploy history\n {\" \"}\n to confirm latest build/deploy date is today and there are no recent\n unsuccessful builds.\n
    • \n
    \n \n );\n};\n","export const VIEW_WIDGET = \"widget\";\r\nexport const VIEW_CONFIGURE_WIDGET = \"config\";\r\n\r\nexport const QS_VIEW = \"view\";\r\nexport const QS_FIELD_NAME = \"fieldName\";\r\nexport const QS_HEIGHT = \"height\";\r\n\r\nexport const EVICTION_VIZ_DEFAULT_HEIGHT = 150;\r\nexport const ACTIVE_CASES_VIZ_DEFAULT_HEIGHT = 500;\r\nexport const JUDGMENTS_VIZ_DEFAULT_HEIGHT = 500;\r\n\r\nexport const REACT_APP_PASSWORD = process.env.REACT_APP_PASSWORD || \"\"","import React, { Suspense, useState } from \"react\";\nimport { EvictionTimeSeriesNumericFields, EVICTION_TIME_SERIES } from \"./lib/eviction-time-series/data\";\nimport { FILINGS_BY_ZIP } from \"./lib/filings-by-zip/data\";\nimport { QueryFiles } from \"./lib/query\";\nimport { EvictionVisualizations, EVICTION_VISUALIZATIONS } from \"./lib/eviction-time-series/viz\";\nimport { ActiveCasesVisualizations } from \"./lib/total-active-cases/viz\";\nimport { MarshalEvicsVisualizations } from \"./lib/marshal-evictions-by-week/viz\";\nimport { PctReppedVisualizations } from \"./lib/share-represented/viz\";\nimport { JudgmentsStatewideVisualizations } from \"./lib/total-judgments-statewide/viz\";\nimport { JudgmentsCitywideVisualizations } from \"./lib/total-judgments-citywide/viz\";\nimport { ActiveCasesTable } from \"./lib/total-active-cases-table/viz\";\nimport { VizFallback, VIZ_GEO_CLASS } from \"./lib/viz-util\";\nimport { FilingsByZipOutsideNYCTable } from \"./lib/filings-by-zip-table-outside-nyc/viz\";\nimport { MonthlyFilingsTableByZip } from \"./lib/monthly-filings-table-by-zip/viz\";\nimport { MonthlyFilingsTableCitywide } from \"./lib/monthly-filings-table-citywide/viz\";\nimport { BoroughPieChartsActiveCases } from \"./lib/borough-pie-chart-active-cases/viz\";\nimport { MaintenanceChecklist } from \"./lib/checklist\";\nimport {\n VIEW_CONFIGURE_WIDGET,\n EVICTION_VIZ_DEFAULT_HEIGHT,\n VIEW_WIDGET,\n QS_VIEW,\n QS_FIELD_NAME,\n QS_HEIGHT,\n ACTIVE_CASES_VIZ_DEFAULT_HEIGHT,\n JUDGMENTS_VIZ_DEFAULT_HEIGHT\n} from \"./constants\";\n\nconst ZipCodeViz = React.lazy(() => import(\"./lib/filings-by-zip/viz\"));\n\ntype OtherVisualization = \"filings_by_zip\" | \"total_active_cases\" | \"total_judgments\" | \"marshal_evictions\" | \"pct_repped\";\n\ntype WidgetVisualization = keyof EvictionTimeSeriesNumericFields | OtherVisualization;\n\nconst OTHER_VISUALIZATIONS: Map = new Map([\n [\"filings_by_zip\", \"Filings By Zip Code\"],\n [\"total_active_cases\", \"Total Active Cases\"],\n [\"total_judgments\", \"Total Eviction Judgments\"],\n [\"marshal_evictions\", \"Total Marshal Evictions\"],\n [\"pct_repped\", \"Share of Represented Tenants\"],\n]);\n\nconst DatasetDownloads: React.FC<{ files: QueryFiles, title: string }> = ({ files, title }) => (\n <>\n

    Download {title} CSV

    \n

    Download {title} JSON

    \n \n);\n\nconst LazyZipCodeViz: React.FC<{ height: number }> = ({ height }) => (\n }>\n \n \n);\n\nexport const FullDocument: React.FC<{}> = () => (\n
    \n

    New York Eviction Filings Tracker

    \n

    \n Managed by RTC Coalition's Housing Courts Must Change! Campaign
    \n Powered by the Housing Data Coalition, JustFix.nyc, and ANHD\n

    \n

    \n This website is for internal use by the Right to Counsel Coalition.\n Accuracy is not guaranteed and it should not be referenced publicly.\n If you would like to use or reference this data, please contact malika@righttocounselnyc.org.\n

    \n

    Total Active Cases

    \n \n
    \n \n
    \n

    Active Cases since 2020

    \n \n
    \n

    Marshal Evictions since Jan 15 2022

    \n \n
    \n

    Share of Represented Tenants

    \n \n
    \n

    Eviction Judgments since 3/23/2020

    \n \n \n
    \n

    Filings by zip code (NYC)

    \n \n Data sources: New York State Office of Court Administration eviction filings and PLUTO19v2 via NYCDB. By the Housing Data Coalition, JustFix.nyc, and ANHD. *Numbers of total units per zip code exclude single-unit properties to approximate the number of rental units.\n \n
    \n

    Filings by zip code (Outside NYC)

    \n \n
    \n

    Monthly filings

    \n

    By zip code

    \n \n

    Statewide

    \n \n
    \n

    Filings over time

    \n \n \n

    Configure this page as a widget

    \n

    Learn more on GitHub

    \n

    See when this site was last deployed

    \n \n
    \n);\n\nexport const Widget: React.FC<{\n fieldName: WidgetVisualization,\n height: number,\n}> = ({ fieldName, height }) => {\n if (fieldName === \"filings_by_zip\") return ;\n if (fieldName === \"total_active_cases\") return ;\n if (fieldName === \"total_judgments\") return ;\n if (fieldName === \"marshal_evictions\") return ;\n if (fieldName === \"pct_repped\") return ;\n return ;\n};\n\nexport const ConfigureWidget: React.FC<{}> = () => {\n return (\n
    \n

    New York Evictions Widget Configurator

    \n

    \n Use the following form to generate a widget. Once you submit it, grab the URL\n from the address bar and put it in an <iframe>. The widget will\n horizontally expand to fill all available space, so make sure you style your\n container as needed.\n

    \n
    \n \n

    Time series visualization:

    \n {Array.from(EVICTION_VISUALIZATIONS.entries()).map(([fieldName, title]) => (\n
    \n \n
    \n ))}\n

    Other visualization:

    \n {Array.from(OTHER_VISUALIZATIONS.entries()).map(([fieldName, title]) => (\n
    \n \n
    \n ))}\n

    \n \n \n

    \n

    \n \n

    Go back

    \n
    \n );\n};\n\nfunction isWidgetVisualization(fieldName: string): fieldName is WidgetVisualization {\n const combinedMap = new Map([\n ...EVICTION_VISUALIZATIONS.entries(),\n ...OTHER_VISUALIZATIONS.entries(),\n ]);\n return combinedMap.has(fieldName as any);\n}\n\nexport function validateFieldName(fieldName: string | null): WidgetVisualization {\n fieldName = fieldName || '';\n if (isWidgetVisualization(fieldName)) return fieldName;\n return \"total_filings\";\n}\n\nexport function validatePositiveInt(value: string | null, defaultValue: number): number {\n const num = parseInt(value || '');\n if (!isNaN(num) && num > 0) return num;\n return defaultValue;\n}","import React, { useState, useContext } from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport {\r\n Routes,\r\n Route,\r\n BrowserRouter,\r\n Navigate,\r\n useNavigate,\r\n useLocation,\r\n} from \"react-router-dom\";\r\nimport { getHTMLElement } from \"@justfixnyc/util\";\r\nimport { AuthContext, AuthProvider } from \"./auth\"\r\nimport {\r\n Widget,\r\n FullDocument,\r\n validateFieldName,\r\n validatePositiveInt,\r\n ConfigureWidget\r\n} from \"./dashboard\";\r\nimport {\r\n VIEW_CONFIGURE_WIDGET,\r\n EVICTION_VIZ_DEFAULT_HEIGHT,\r\n VIEW_WIDGET,\r\n QS_VIEW,\r\n QS_FIELD_NAME,\r\n QS_HEIGHT,\r\n REACT_APP_PASSWORD\r\n} from \"./constants\";\r\n\r\ninterface LocationState {\r\n from: {\r\n pathname: string;\r\n };\r\n}\r\n\r\nconst useAuth = () => useContext(AuthContext)\r\n\r\nfunction RequireAuth({ children }: { children: JSX.Element }) {\r\n let auth = useAuth();\r\n let location = useLocation();\r\n\r\n if (auth.isAuthenticated !== REACT_APP_PASSWORD) {\r\n return ;\r\n }\r\n\r\n return children;\r\n}\r\n\r\nconst LoginPage: React.FC<{}> = () => {\r\n let navigate = useNavigate();\r\n let location = useLocation();\r\n\r\n let auth = useAuth();\r\n let from = (location.state as LocationState)?.from?.pathname || \"/\";\r\n\r\n function handleSubmit(event: React.FormEvent) {\r\n event.preventDefault();\r\n\r\n let formData = new FormData(event.currentTarget);\r\n let password = formData.get(\"password\") as string;\r\n\r\n auth.signin(password, () => {\r\n navigate(from, { replace: true });\r\n });\r\n }\r\n\r\n return (\r\n
    \r\n

    You must log in to view the dashboard

    \r\n
    \r\n {\" \"}\r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nconst IndexPage: React.FC<{}> = () => {\r\n const search = new URLSearchParams(window.location.search);\r\n const view = search.get(QS_VIEW);\r\n return view === VIEW_WIDGET ? (\r\n \r\n ) : view === VIEW_CONFIGURE_WIDGET ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst App: React.FC<{}> = () => {\r\n const [isAuthenticated, setAuthenticated] = useState(false);\r\n\r\n return (\r\n \r\n \r\n }>\r\n }>\r\n \r\n \r\n );\r\n};\r\n\r\nasync function main() {\r\n ReactDOM.render(\r\n \r\n \r\n ,\r\n getHTMLElement(\"div\", \"#app\")\r\n );\r\n}\r\n\r\nmain();\r\n","module.exports = function loadJSBundle(bundle) {\n return new Promise(function (resolve, reject) {\n var script = document.createElement('script');\n script.async = true;\n script.type = 'text/javascript';\n script.charset = 'utf-8';\n script.src = bundle;\n script.onerror = function (e) {\n script.onerror = script.onload = null;\n reject(e);\n };\n\n script.onload = function () {\n script.onerror = script.onload = null;\n resolve();\n };\n\n document.getElementsByTagName('head')[0].appendChild(script);\n });\n};\n"]} \ No newline at end of file