{"version":3,"file":"js/rescript-bundles-resources-resources-analytics-ResourcesAnalytics-res-ba42fb3f945b43a5fe37.chunk.js","mappings":"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","sources":["webpack://datacenters/./client/app/rescript/bundles/resources/resource-dashboard-navbar/ResourceDashboardNavbar.res.js","webpack://datacenters/./client/app/rescript/routes/common/Routes_ResourceCategory.res.js","webpack://datacenters/./client/app/rescript/bundles/resources/resources-analytics/ResourcesAnalyticsOptions.res.js","webpack://datacenters/./client/app/rescript/bundles/resources/resources-analytics/ResourcesAnalytics.res.js","webpack://datacenters/./client/app/rescript/routes/common/Routes_Resource.res.js","webpack://datacenters/./client/app/rescript/styleguide/components/Heading/H1.res.js","webpack://datacenters/./client/app/rescript/styleguide/components/Link/A.res.js","webpack://datacenters/./client/app/rescript/styleguide/components/Link/Link.res.js","webpack://datacenters/./client/app/rescript/styleguide/dashboard/components/filters/DashboardFilterCss.res.js","webpack://datacenters/./client/app/rescript/styleguide/dashboard/components/navbar/DashboardNavbarCss.res.js","webpack://datacenters/./client/app/rescript/styleguide/dashboard/components/table/DashboardTableCss.res.js","webpack://datacenters/./client/app/rescript/styleguide/forms/Checkbox/Checkbox.scss?cc31","webpack://datacenters/./client/app/rescript/styleguide/forms/Checkbox/Checkbox.res.js","webpack://datacenters/./client/app/rescript/styleguide/components/Heading/Heading.scss?c4fa","webpack://datacenters/./node_modules/rescript-debounce-react/src/ReactDebounce.res.js","webpack://datacenters/./node_modules/rescript-debounce/src/Debounce.res.js"],"sourcesContent":["// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as A from \"../../../styleguide/components/Link/A.res.js\";\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as Routes_Resource from \"../../../routes/common/Routes_Resource.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as DashboardNavbarCss from \"../../../styleguide/dashboard/components/navbar/DashboardNavbarCss.res.js\";\nimport * as Routes_ResourceCategory from \"../../../routes/common/Routes_ResourceCategory.res.js\";\n\nfunction ResourceDashboardNavbar(props) {\n var selectedCategory = props.selectedCategory;\n return JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"div\", {\n children: Belt_Array.mapWithIndex([\n {\n id: \"Categories\",\n slug: Routes_ResourceCategory.dashboard\n },\n {\n id: \"Resources\",\n slug: Routes_Resource.Dashboard.index\n },\n {\n id: \"Analytics\",\n slug: Routes_Resource.Dashboard.analytics\n }\n ], (function (index, category) {\n var match = category.id;\n return JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(A.make, {\n href: category.slug,\n className: category.id === selectedCategory ? DashboardNavbarCss.underlinedLinkItem : DashboardNavbarCss.normalLinkItem,\n children: match === \"Categories\" ? \"Resource Categories\" : (\n match === \"Analytics\" ? \"Analytics\" : \"Resources\"\n )\n }),\n className: Cx.cx([category.id === selectedCategory ? DashboardNavbarCss.underlinedLinkContainer : DashboardNavbarCss.linkContainer])\n }, String(index));\n })),\n className: DashboardNavbarCss.barContainer\n }),\n className: DashboardNavbarCss.barWrapper\n });\n}\n\nvar Css;\n\nvar make = ResourceDashboardNavbar;\n\nexport {\n Css ,\n make ,\n}\n/* A Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\n\nvar dashboard = \"/dashboard/resource_categories\";\n\nexport {\n dashboard ,\n}\n/* No side effect */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as A from \"../../../styleguide/components/Link/A.res.js\";\nimport * as Button from \"../../../styleguide/components/Button/Button.res.js\";\nimport * as Popover from \"../../../styleguide/components/Popover/Popover.res.js\";\nimport * as IconSelect from \"../../../styleguide/icons/IconSelect.res.js\";\nimport * as Caml_option from \"rescript/lib/es6/caml_option.js\";\nimport * as Routes_Resource from \"../../../routes/common/Routes_Resource.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as DashboardDropdownOptionsCss from \"../../../styleguide/dashboard/components/options/DashboardDropdownOptionsCss.res.js\";\n\nfunction ResourcesAnalyticsOptions(props) {\n return JsxRuntime.jsxs(Popover.make, {\n children: [\n JsxRuntime.jsx(Popover.Trigger.make, {\n children: JsxRuntime.jsx(Button.make, {\n size: \"SM\",\n color: \"Primary\",\n children: \"Options\",\n iconSuffixComponent: Caml_option.some(JsxRuntime.jsx(IconSelect.make, {\n size: \"LG\",\n color: \"White\"\n }))\n })\n }),\n JsxRuntime.jsxs(Popover.Body.make, {\n position: {\n TAG: \"Below\",\n _0: \"RightEdge\"\n },\n className: DashboardDropdownOptionsCss.popoverBody,\n children: [\n JsxRuntime.jsxs(A.make, {\n href: Routes_Resource.Dashboard.$$new,\n className: DashboardDropdownOptionsCss.popoverBodyLink,\n children: [\n \"New Resource\",\n JsxRuntime.jsx(IconSelect.make, {\n size: \"MD\",\n color: \"LightestGray\",\n className: DashboardDropdownOptionsCss.popoverBodyLinkIcon\n })\n ]\n }),\n JsxRuntime.jsxs(A.make, {\n href: Routes_Resource.Dashboard.index + \".csv\",\n className: DashboardDropdownOptionsCss.popoverBodyLink,\n children: [\n \"Download CSV\",\n JsxRuntime.jsx(IconSelect.make, {\n size: \"MD\",\n color: \"LightestGray\",\n className: DashboardDropdownOptionsCss.popoverBodyLinkIcon\n })\n ]\n })\n ]\n })\n ]\n });\n}\n\nvar Css;\n\nvar make = ResourcesAnalyticsOptions;\n\nexport {\n Css ,\n make ,\n}\n/* A Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as A from \"../../../styleguide/components/Link/A.res.js\";\nimport * as H1 from \"../../../styleguide/components/Heading/H1.res.js\";\nimport * as ID from \"../../../libs/ID.res.js\";\nimport * as Api from \"../../../api/Api.res.js\";\nimport * as Link from \"../../../styleguide/components/Link/Link.res.js\";\nimport * as Hooks from \"../../../libs/Hooks.res.js\";\nimport * as Table from \"../../../styleguide/components/Table/Table.res.js\";\nimport * as React from \"react\";\nimport * as Control from \"../../../styleguide/components/Control/Control.res.js\";\nimport * as Popover from \"../../../styleguide/components/Popover/Popover.res.js\";\nimport * as $$Promise from \"../../../bindings/Promise.res.js\";\nimport * as Spinner from \"../../../styleguide/components/Spinner/Spinner.res.js\";\nimport * as Belt_Set from \"rescript/lib/es6/belt_Set.js\";\nimport * as Checkbox from \"../../../styleguide/forms/Checkbox/Checkbox.res.js\";\nimport * as Dropdown from \"../../../styleguide/forms/Dropdown/Dropdown.res.js\";\nimport * as IconMenu from \"../../../styleguide/icons/IconMenu.res.js\";\nimport * as TableRow from \"../../../styleguide/components/Table/TableRow.res.js\";\nimport * as Container from \"../../../styleguide/components/Container/Container.res.js\";\nimport * as TableBody from \"../../../styleguide/components/Table/TableBody.res.js\";\nimport * as TableCell from \"../../../styleguide/components/Table/TableCell.res.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as Pagination from \"../../../styleguide/components/Pagination/Pagination.res.js\";\nimport * as Belt_Option from \"rescript/lib/es6/belt_Option.js\";\nimport * as Caml_option from \"rescript/lib/es6/caml_option.js\";\nimport * as IconSorting from \"../../../styleguide/icons/IconSorting.res.js\";\nimport * as SearchField from \"../../../styleguide/forms/SearchField/SearchField.res.js\";\nimport * as TableHeader from \"../../../styleguide/components/Table/TableHeader.res.js\";\nimport * as SentryLogger from \"../../../loggers/SentryLogger.res.js\";\nimport * as ReactDebounce from \"rescript-debounce-react/src/ReactDebounce.res.js\";\nimport * as Routes_Resource from \"../../../routes/common/Routes_Resource.res.js\";\nimport * as TableHeaderCell from \"../../../styleguide/components/Table/TableHeaderCell.res.js\";\nimport * as DashboardIndexCss from \"../../../styleguide/dashboard/components/views/index/DashboardIndexCss.res.js\";\nimport * as DashboardTableCss from \"../../../styleguide/dashboard/components/table/DashboardTableCss.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as DashboardFilterCss from \"../../../styleguide/dashboard/components/filters/DashboardFilterCss.res.js\";\nimport * as ResourceDashboardNavbar from \"../resource-dashboard-navbar/ResourceDashboardNavbar.res.js\";\nimport * as ResourcesAnalyticsOptions from \"./ResourcesAnalyticsOptions.res.js\";\n\nvar initialState_sortBy = {\n NAME: \"TotalViews\",\n VAL: \"Desc\"\n};\n\nvar initialState_categoryFilter = ID.$$Set.make();\n\nvar initialState = {\n status: \"FetchingResources\",\n currentPage: 1,\n totalPages: 1,\n sortBy: initialState_sortBy,\n search: \"\",\n categoryFilter: initialState_categoryFilter\n};\n\nfunction ResourcesAnalytics$default(props) {\n var categories = props.categories;\n var container = React.useRef(null);\n var searchResources = ReactDebounce.useDebounced(300, (function (param) {\n param.dispatch({\n TAG: \"PerformSearch\",\n _0: param.state.search\n });\n }));\n var match = Hooks.useReducer(initialState, (function (state, action) {\n if (typeof action !== \"object\") {\n switch (action) {\n case \"FetchResources\" :\n return {\n TAG: \"SideEffects\",\n _0: (function (param) {\n var dispatch = param.dispatch;\n var state = param.state;\n var match = state.search;\n var tmp = match === \"\" ? undefined : state.search;\n $$Promise.wait(Api.fetchResourcesAnalytics(state.currentPage, tmp, state.sortBy, Belt_Set.toList(state.categoryFilter)), (function (x) {\n if (x.TAG === \"Ok\") {\n return dispatch({\n TAG: \"SucceedResourcesFetch\",\n _0: x._0\n });\n }\n SentryLogger.error1({\n rootModule: \"ResourcesAnalytics\",\n subModulePath: /* [] */0,\n value: \"default\",\n fullPath: \"ResourcesAnalytics.default\"\n }, \"ResourcesDashboard::FetchResources::Error\", [\n \"Error\",\n x._0\n ]);\n dispatch(\"FailResourcesFetch\");\n }));\n })\n };\n case \"FailResourcesFetch\" :\n return {\n TAG: \"Update\",\n _0: {\n status: \"FailedResourcesFetch\",\n currentPage: state.currentPage,\n totalPages: state.totalPages,\n sortBy: state.sortBy,\n search: state.search,\n categoryFilter: state.categoryFilter\n }\n };\n case \"SortByTitle\" :\n var match = state.status;\n if (typeof match !== \"object\" && match === \"FetchingResources\") {\n return \"NoUpdate\";\n }\n var match$1 = state.sortBy;\n return {\n TAG: \"UpdateWithSideEffects\",\n _0: {\n status: \"FetchingResources\",\n currentPage: state.currentPage,\n totalPages: state.totalPages,\n sortBy: typeof match$1 === \"object\" && match$1.NAME === \"Title\" && match$1.VAL !== \"Desc\" ? ({\n NAME: \"Title\",\n VAL: \"Desc\"\n }) : ({\n NAME: \"Title\",\n VAL: \"Asc\"\n }),\n search: state.search,\n categoryFilter: state.categoryFilter\n },\n _1: (function (param) {\n param.dispatch(\"FetchResources\");\n })\n };\n case \"SortByCategory\" :\n var match$2 = state.status;\n if (typeof match$2 !== \"object\" && match$2 === \"FetchingResources\") {\n return \"NoUpdate\";\n }\n var match$3 = state.sortBy;\n return {\n TAG: \"UpdateWithSideEffects\",\n _0: {\n status: \"FetchingResources\",\n currentPage: state.currentPage,\n totalPages: state.totalPages,\n sortBy: typeof match$3 === \"object\" && match$3.NAME === \"Category\" && match$3.VAL !== \"Desc\" ? ({\n NAME: \"Category\",\n VAL: \"Desc\"\n }) : ({\n NAME: \"Category\",\n VAL: \"Asc\"\n }),\n search: state.search,\n categoryFilter: state.categoryFilter\n },\n _1: (function (param) {\n param.dispatch(\"FetchResources\");\n })\n };\n case \"SortByDownloads\" :\n var match$4 = state.status;\n if (typeof match$4 !== \"object\" && match$4 === \"FetchingResources\") {\n return \"NoUpdate\";\n }\n var match$5 = state.sortBy;\n return {\n TAG: \"UpdateWithSideEffects\",\n _0: {\n status: \"FetchingResources\",\n currentPage: state.currentPage,\n totalPages: state.totalPages,\n sortBy: typeof match$5 === \"object\" && match$5.NAME === \"Downloads\" && match$5.VAL !== \"Desc\" ? ({\n NAME: \"Downloads\",\n VAL: \"Desc\"\n }) : ({\n NAME: \"Downloads\",\n VAL: \"Asc\"\n }),\n search: state.search,\n categoryFilter: state.categoryFilter\n },\n _1: (function (param) {\n param.dispatch(\"FetchResources\");\n })\n };\n case \"SortByTotalViews\" :\n var match$6 = state.status;\n if (typeof match$6 !== \"object\" && match$6 === \"FetchingResources\") {\n return \"NoUpdate\";\n }\n var match$7 = state.sortBy;\n return {\n TAG: \"UpdateWithSideEffects\",\n _0: {\n status: \"FetchingResources\",\n currentPage: state.currentPage,\n totalPages: state.totalPages,\n sortBy: typeof match$7 === \"object\" && match$7.NAME === \"TotalViews\" && match$7.VAL !== \"Desc\" ? ({\n NAME: \"TotalViews\",\n VAL: \"Desc\"\n }) : ({\n NAME: \"TotalViews\",\n VAL: \"Asc\"\n }),\n search: state.search,\n categoryFilter: state.categoryFilter\n },\n _1: (function (param) {\n param.dispatch(\"FetchResources\");\n })\n };\n \n }\n } else {\n switch (action.TAG) {\n case \"SucceedResourcesFetch\" :\n var res = action._0;\n return {\n TAG: \"UpdateWithSideEffects\",\n _0: {\n status: {\n TAG: \"Ready\",\n _0: res.resources\n },\n currentPage: res.currentPage,\n totalPages: res.totalPages,\n sortBy: state.sortBy,\n search: state.search,\n categoryFilter: state.categoryFilter\n },\n _1: (function (param) {\n Belt_Option.map(Caml_option.nullable_to_opt(container.current), (function (prim) {\n return prim.scrollTop;\n }));\n })\n };\n case \"UpdatePage\" :\n var nextPage = action._0;\n var match$8 = state.status;\n if (typeof match$8 !== \"object\" && match$8 === \"FetchingResources\") {\n return \"NoUpdate\";\n }\n if (state.currentPage !== nextPage) {\n return {\n TAG: \"UpdateWithSideEffects\",\n _0: {\n status: \"FetchingResources\",\n currentPage: nextPage,\n totalPages: state.totalPages,\n sortBy: state.sortBy,\n search: state.search,\n categoryFilter: state.categoryFilter\n },\n _1: (function (param) {\n param.dispatch(\"FetchResources\");\n })\n };\n } else {\n return \"NoUpdate\";\n }\n case \"UpdateSearchInput\" :\n return {\n TAG: \"UpdateWithSideEffects\",\n _0: {\n status: state.status,\n currentPage: state.currentPage,\n totalPages: state.totalPages,\n sortBy: state.sortBy,\n search: action._0,\n categoryFilter: state.categoryFilter\n },\n _1: searchResources\n };\n case \"PerformSearch\" :\n var match$9 = state.status;\n if (typeof match$9 !== \"object\" && match$9 === \"FetchingResources\") {\n return \"NoUpdate\";\n }\n if (action._0 !== state.search) {\n return \"NoUpdate\";\n } else {\n return {\n TAG: \"UpdateWithSideEffects\",\n _0: {\n status: \"FetchingResources\",\n currentPage: state.currentPage,\n totalPages: state.totalPages,\n sortBy: state.sortBy,\n search: state.search,\n categoryFilter: state.categoryFilter\n },\n _1: (function (param) {\n param.dispatch(\"FetchResources\");\n })\n };\n }\n case \"ToggleCategoryFilter\" :\n var categoryId = action._0;\n var match$10 = state.status;\n if (typeof match$10 !== \"object\" && match$10 === \"FetchingResources\") {\n return \"NoUpdate\";\n }\n var categoryFilter = Belt_Set.has(state.categoryFilter, categoryId) ? Belt_Set.remove(state.categoryFilter, categoryId) : Belt_Set.add(state.categoryFilter, categoryId);\n return {\n TAG: \"UpdateWithSideEffects\",\n _0: {\n status: \"FetchingResources\",\n currentPage: state.currentPage,\n totalPages: state.totalPages,\n sortBy: state.sortBy,\n search: state.search,\n categoryFilter: categoryFilter\n },\n _1: (function (param) {\n param.dispatch(\"FetchResources\");\n })\n };\n \n }\n }\n }));\n var dispatch = match[1];\n var state = match[0];\n React.useEffect((function () {\n dispatch(\"FetchResources\");\n }), []);\n var len = categories.length;\n var tmp;\n if (len !== 1 && len !== 0) {\n var x = Belt_Set.size(state.categoryFilter);\n tmp = JsxRuntime.jsxs(Dropdown.make, {\n children: [\n JsxRuntime.jsx(Dropdown.Trigger.make, {\n className: DashboardFilterCss.dropdown,\n children: x !== 0 ? (\n x !== 1 ? String(x) + \" Categories\" : \"1 Category\"\n ) : \"All Categories\"\n }),\n JsxRuntime.jsx(Dropdown.Body.make, {\n position: {\n TAG: \"Below\",\n _0: \"LeftEdge\"\n },\n className: DashboardFilterCss.dropdownBody,\n children: Belt_Array.map(categories, (function (category) {\n var id = \"resource-categories-filter--category-\" + ID.toString(category.id);\n return JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(Checkbox.make, {\n id: id,\n size: \"SM\",\n checked: Belt_Set.has(state.categoryFilter, category.id),\n onChange: (function (param) {\n dispatch({\n TAG: \"ToggleCategoryFilter\",\n _0: category.id\n });\n })\n }),\n JsxRuntime.jsx(\"label\", {\n children: category.title,\n className: DashboardFilterCss.label,\n htmlFor: id\n })\n ],\n className: DashboardFilterCss.dropdownBodyRow\n }, id);\n }))\n })\n ]\n });\n } else {\n tmp = null;\n }\n var match$1 = state.sortBy;\n var len$1 = categories.length;\n var tmp$1;\n if (len$1 !== 1 && len$1 !== 0) {\n var match$2 = state.sortBy;\n tmp$1 = JsxRuntime.jsx(Control.make, {\n onClick: (function (param) {\n dispatch(\"SortByCategory\");\n }),\n children: JsxRuntime.jsxs(\"div\", {\n children: [\n \"Category\",\n JsxRuntime.jsx(IconSorting.make, {\n size: \"XXS\",\n direction: typeof match$2 === \"object\" && match$2.NAME === \"Category\" ? match$2.VAL : undefined\n })\n ],\n className: DashboardTableCss.controlCell\n })\n });\n } else {\n tmp$1 = null;\n }\n var match$3 = state.sortBy;\n var match$4 = state.sortBy;\n var resources = state.status;\n var tmp$2;\n tmp$2 = typeof resources !== \"object\" ? (\n resources === \"FetchingResources\" ? JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(Spinner.make, {\n size: \"XL\",\n color: \"Teal\"\n }),\n className: DashboardTableCss.spinner\n }) : JsxRuntime.jsx(\"div\", {\n children: \"Something went wrong during the search\",\n className: DashboardTableCss.fetchError\n })\n ) : Belt_Array.map(resources._0, (function (resource) {\n var len = categories.length;\n return JsxRuntime.jsxs(TableRow.make, {\n children: [\n JsxRuntime.jsx(TableCell.make, {\n children: JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(Link.make, {\n href: Routes_Resource.Dashboard.edit(resource.id),\n children: resource.title\n })\n })\n }),\n JsxRuntime.jsx(TableCell.make, {\n children: len !== 1 && len !== 0 ? JsxRuntime.jsx(\"div\", {\n children: resource.category\n }) : null\n }),\n JsxRuntime.jsx(TableCell.make, {\n children: JsxRuntime.jsx(\"div\", {\n children: String(resource.resourceDownloadsCount)\n })\n }),\n JsxRuntime.jsx(TableCell.make, {\n children: JsxRuntime.jsx(\"div\", {\n children: String(resource.ahoyEventsCount)\n })\n }),\n JsxRuntime.jsx(TableCell.make, {\n children: JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsxs(Popover.make, {\n children: [\n JsxRuntime.jsx(Popover.Trigger.make, {\n children: JsxRuntime.jsx(Control.make, {\n children: JsxRuntime.jsx(IconMenu.make, {\n size: \"MD\",\n color: \"Teal\"\n })\n })\n }),\n JsxRuntime.jsxs(Dropdown.Body.make, {\n position: {\n TAG: \"Below\",\n _0: \"RightEdge\"\n },\n className: DashboardFilterCss.dropdownBody,\n children: [\n JsxRuntime.jsx(Control.make, {\n className: DashboardFilterCss.dropdownBodyRow,\n children: JsxRuntime.jsx(A.make, {\n href: Routes_Resource.Dashboard.edit(resource.id),\n className: DashboardFilterCss.dropdownBodyLink,\n children: \"Edit\"\n })\n }),\n JsxRuntime.jsx(Control.make, {\n className: DashboardFilterCss.dropdownBodyRow,\n children: JsxRuntime.jsx(A.make, {\n href: \"/resources/\" + (resource.categorySlug + (\"/\" + resource.slug)),\n className: DashboardFilterCss.dropdownBodyLink,\n children: \"View\"\n })\n })\n ]\n })\n ]\n })\n })\n })\n ]\n }, ID.toString(resource.id));\n }));\n return JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(ResourceDashboardNavbar.make, {\n selectedCategory: \"Analytics\"\n }),\n JsxRuntime.jsxs(Container.make, {\n className: DashboardIndexCss.layout,\n setRef: Caml_option.some(container),\n children: [\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(H1.make, {\n className: DashboardIndexCss.title,\n children: \"Resource Analytics\"\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(SearchField.make, {\n id: \"resources-search\",\n value: state.search,\n placeholder: \"Search resources\",\n inputClassName: DashboardFilterCss.searchField,\n onChange: (function ($$event) {\n dispatch({\n TAG: \"UpdateSearchInput\",\n _0: $$event.target.value\n });\n })\n }),\n tmp,\n JsxRuntime.jsx(ResourcesAnalyticsOptions.make, {})\n ],\n className: DashboardIndexCss.headerControls\n })\n ],\n className: DashboardIndexCss.header\n }),\n JsxRuntime.jsx(\"section\", {\n children: JsxRuntime.jsxs(Table.make, {\n className: DashboardTableCss.table,\n children: [\n JsxRuntime.jsx(TableHeader.make, {\n children: JsxRuntime.jsxs(TableRow.make, {\n children: [\n JsxRuntime.jsx(TableHeaderCell.make, {\n children: JsxRuntime.jsx(Control.make, {\n onClick: (function (param) {\n dispatch(\"SortByTitle\");\n }),\n children: JsxRuntime.jsxs(\"div\", {\n children: [\n \"Resource\",\n JsxRuntime.jsx(IconSorting.make, {\n size: \"XXS\",\n direction: typeof match$1 === \"object\" && match$1.NAME === \"Title\" ? match$1.VAL : undefined\n })\n ],\n className: DashboardTableCss.controlCell\n })\n })\n }),\n JsxRuntime.jsx(TableHeaderCell.make, {\n children: tmp$1\n }),\n JsxRuntime.jsx(TableHeaderCell.make, {\n children: JsxRuntime.jsx(Control.make, {\n onClick: (function (param) {\n dispatch(\"SortByDownloads\");\n }),\n children: JsxRuntime.jsxs(\"div\", {\n children: [\n \"Downloads\",\n JsxRuntime.jsx(IconSorting.make, {\n size: \"XXS\",\n direction: typeof match$3 === \"object\" && match$3.NAME === \"Downloads\" ? match$3.VAL : undefined\n })\n ],\n className: DashboardTableCss.controlCell\n })\n })\n }),\n JsxRuntime.jsx(TableHeaderCell.make, {\n children: JsxRuntime.jsx(Control.make, {\n onClick: (function (param) {\n dispatch(\"SortByTotalViews\");\n }),\n children: JsxRuntime.jsxs(\"div\", {\n children: [\n \"Page Views\",\n JsxRuntime.jsx(IconSorting.make, {\n size: \"XXS\",\n direction: typeof match$4 === \"object\" && match$4.NAME === \"TotalViews\" ? match$4.VAL : undefined\n })\n ],\n className: DashboardTableCss.controlCell\n })\n })\n }),\n JsxRuntime.jsx(TableHeaderCell.make, {\n children: \"\"\n })\n ]\n })\n }),\n JsxRuntime.jsx(TableBody.make, {\n children: tmp$2\n })\n ]\n }),\n className: DashboardTableCss.tableWrapper\n }),\n state.totalPages > 1 ? JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(Pagination.make, {\n currentPage: state.currentPage,\n totalPages: state.totalPages,\n onPageClick: (function (x) {\n dispatch({\n TAG: \"UpdatePage\",\n _0: x\n });\n })\n }),\n className: DashboardTableCss.pagination\n }) : null\n ]\n })\n ]\n });\n}\n\nvar Css;\n\nvar TableCss;\n\nvar Filters;\n\nvar $$default = ResourcesAnalytics$default;\n\nexport {\n Css ,\n TableCss ,\n Filters ,\n initialState ,\n $$default as default,\n}\n/* initialState Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as ID from \"../../libs/ID.res.js\";\n\nfunction category(category$1) {\n return \"/resources/\" + category$1.toLowerCase();\n}\n\nfunction show(slug, categorySlug) {\n return \"/resources/\" + (categorySlug + (\"/\" + slug));\n}\n\nfunction leadsCsv(resourceId) {\n return \"/resources/\" + (ID.toString(resourceId) + \"/leads.csv\");\n}\n\nfunction downloadThanks(filename) {\n return \"/thanks-for-download?file=\" + filename;\n}\n\nfunction edit(resourceId) {\n return \"/dashboard/resources/edit/\" + ID.toString(resourceId);\n}\n\nfunction editResourceProviders(resourceId) {\n return \"/dashboard/resources/\" + ID.toString(resourceId) + \"/providers\";\n}\n\nvar Dashboard = {\n index: \"/dashboard/resources\",\n analytics: \"/dashboard/resources/analytics\",\n $$new: \"/dashboard/resources/new\",\n edit: edit,\n editResourceProviders: editResourceProviders\n};\n\nvar resourcesIndex = \"/resources\";\n\nexport {\n resourcesIndex ,\n category ,\n show ,\n leadsCsv ,\n downloadThanks ,\n Dashboard ,\n}\n/* ID Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\nimport * as HeadingScss from \"./Heading.scss\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\n\nvar css = HeadingScss;\n\nfunction H1(props) {\n var __className = props.className;\n var __id = props.id;\n var id = __id !== undefined ? __id : \"\";\n var className = __className !== undefined ? __className : \"\";\n return JsxRuntime.jsx(\"h1\", {\n children: props.children,\n className: Cx.cx([\n css.h1,\n className\n ]),\n id: id\n });\n}\n\nvar make = H1;\n\nexport {\n css ,\n make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\nimport * as LinkScss from \"./Link.scss\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\n\nvar css = LinkScss;\n\nfunction A(props) {\n var __className = props.className;\n var targetBlank = props.targetBlank;\n var className = __className !== undefined ? __className : \"\";\n return JsxRuntime.jsx(\"a\", {\n children: props.children,\n ref: props.elRef,\n className: Cx.cx([className.length !== 0 ? className : css.link]),\n id: props.id,\n download: props.download,\n href: props.href,\n rel: targetBlank !== undefined && targetBlank ? \"noopener noreferrer\" : undefined,\n target: targetBlank !== undefined && targetBlank ? \"_blank\" : undefined,\n onClick: props.onClick\n });\n}\n\nvar make = A;\n\nexport {\n css ,\n make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\nimport * as Router from \"../../../libs/Router.res.js\";\nimport * as LinkScss from \"./Link.scss\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\n\nvar css = LinkScss;\n\nfunction Link(props) {\n var __className = props.className;\n var className = __className !== undefined ? __className : \"\";\n return JsxRuntime.jsx(Router.Link.make, {\n path: props.href,\n className: Cx.cx([\n css.link,\n className\n ]),\n children: props.children\n });\n}\n\nvar make = Link;\n\nexport {\n css ,\n make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\n\nvar label = Cx.cx([\n \"m-0\",\n \"break-words\",\n \"hyphens-auto\"\n ]);\n\nvar dropdown = Cx.cx([\n \"py-2\",\n \"!text-sm\",\n \"cursor-pointer\",\n \"min-w-40\",\n \"max-md:w-full\"\n ]);\n\nvar dropdownBody = Cx.cx([\n \"grid\",\n \"grid-cols-[minmax(160px,1fr)]\",\n \"grid-flow-row\",\n \"auto-rows-max\",\n \"flex-col\",\n \"gap-1\",\n \"pt-0\",\n \"pb-0\",\n \"max-h-64\",\n \"overflow-y-auto\",\n \"min-w-72\",\n \"text-sm\"\n ]);\n\nvar dropdownBodyRow = Cx.cx([\n \"grid\",\n \"grid-cols-[max-content_1fr]\",\n \"gap-1\",\n \"items-center\",\n \"py-1\",\n \"border-b\",\n \"border-gray-100\",\n \"last:border-b-0\"\n ]);\n\nvar searchField = Cx.cx([\n \"py-2\",\n \"pl-15\",\n \"md:min-w-96\",\n \"w-full\"\n ]);\n\nvar wrapper = Cx.cx([\n \"flex\",\n \"flex-row\",\n \"gap-2\",\n \"items-center\"\n ]);\n\nvar dropdownBodyLink = \"hover:text-teal\";\n\nvar dropdownBodyLinkDisabled = \"text-gray-400\";\n\nexport {\n label ,\n dropdown ,\n dropdownBodyLink ,\n dropdownBodyLinkDisabled ,\n dropdownBody ,\n dropdownBodyRow ,\n searchField ,\n wrapper ,\n}\n/* label Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\n\nvar shadow = \"shadow-[0_2px_3px_-1px_rgba(0,0,0,0.25)]\";\n\nvar barWrapperGeneral = Cx.cx([\n \"w-full\",\n \"bg-transparent\",\n \"relative\",\n \"px-4\"\n ]);\n\nvar barWrapper = Cx.cx([\n \"w-full\",\n \"bg-transparent\",\n \"relative\",\n \"px-4\",\n shadow\n ]);\n\nvar barWrapperMargin = Cx.cx([\n \"w-full\",\n \"-mb-1\"\n ]);\n\nvar barContainer = Cx.cx([\n \"flex\",\n \"no-scrollbar\",\n \"justify-start\",\n \"items-center\",\n \"mx-auto\",\n \"overflow-x-hidden\",\n \"overflow-y-hidden\",\n \"max-md:px-7\",\n \"max-sm:px-4\",\n \"max-md:overflow-x-auto\",\n \"lg:max-w-screen-xl\"\n ]);\n\nvar linkContainer = Cx.cx([\n \"border-b-4\",\n \"border-transparent\",\n \"mr-6\"\n ]);\n\nvar linkItem = Cx.cx([\n \"whitespace-nowrap\",\n \"text-sm\",\n \"font-semibold\",\n \"line-height-5\",\n \"block\",\n \"py-5\",\n \"hover:text-teal\",\n \"hover:no-underline!\"\n ]);\n\nvar normalLinkItem = Cx.cx([\n \"text-gray-400\",\n linkItem\n ]);\n\nvar underlinedLinkContainer = Cx.cx([\n \"border-b-4\",\n \"border-purple\",\n \"mr-6\"\n ]);\n\nvar underlinedLinkItem = Cx.cx([\n \"text-black!\",\n \"no-underline!\",\n linkItem\n ]);\n\nvar subnavContainerGeneral = Cx.cx([\n \"flex\",\n \"flex-col\",\n \"items-center\",\n \"justify-center\",\n \"w-full\",\n \"border-b-4\",\n \"border-gray-200\",\n \"border-solid\"\n ]);\n\nvar subnavContainer = Cx.cx([\n subnavContainerGeneral,\n \"bg-gray-50\"\n ]);\n\nvar headerContainer = Cx.cx([\n \"mx-auto\",\n \"w-full\",\n \"lg:max-w-screen-xl\",\n \"py-4\",\n \"md:px-4\",\n \"px-8\",\n \"lg:px-0\"\n ]);\n\nvar viewLive = Cx.cx([\n \"flex\",\n \"justify-center\",\n \"items-center\",\n \"text-gray-700\",\n \"mb-1\",\n \"text-sm\",\n \"font-medium\",\n \"leading-5\",\n \"md:ml-auto\",\n \"shrink-0\"\n ]);\n\nvar tabItem = Cx.cx([\n \"text-gray-700\",\n \"mb-1\",\n \"text-sm\",\n \"font-medium\",\n \"leading-5\",\n \"hover:text-teal\"\n ]);\n\nexport {\n shadow ,\n barWrapperGeneral ,\n barWrapper ,\n barWrapperMargin ,\n barContainer ,\n linkContainer ,\n linkItem ,\n normalLinkItem ,\n underlinedLinkContainer ,\n underlinedLinkItem ,\n subnavContainerGeneral ,\n subnavContainer ,\n headerContainer ,\n viewLive ,\n tabItem ,\n}\n/* barWrapperGeneral Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\n\nvar table = Cx.cx([\n \"mb-5\",\n \"table-auto\",\n \"w-full\"\n ]);\n\nvar tableWrapper = Cx.cx([\n \"overflow-x-auto\",\n \"min-h-64\"\n ]);\n\nvar selected = Cx.cx([\n \"grid\",\n \"items-center\"\n ]);\n\nvar controlCell = Cx.cx([\n \"flex\",\n \"items-center\",\n \"gap-1\",\n \"font-semibold\",\n \"text-gray-700\"\n ]);\n\nvar tableLink = Cx.cx([\n \"text-teal-700\",\n \"font-semibold\",\n \"hover:underline\"\n ]);\n\nvar fetchError = Cx.cx([\n \"text-red-600\",\n \"text-center\"\n ]);\n\nvar disabled = Cx.cx([\n \"text-gray-400\",\n \"hover:pointer-events-none\",\n \"active:pointer-events-none\",\n \"focus:pointer-events-none\"\n ]);\n\nvar spinner = \"min-h-[150px]\";\n\nvar pagination = \"mb-10\";\n\nvar tableCellWithMinWidth = \"min-w-48\";\n\nexport {\n table ,\n tableWrapper ,\n selected ,\n controlCell ,\n spinner ,\n tableLink ,\n fetchError ,\n pagination ,\n tableCellWithMinWidth ,\n disabled ,\n}\n/* table Not a pure module */\n","// extracted by mini-css-extract-plugin\nexport var checkbox = \"Checkbox__checkbox__AcYbR\";\nexport var column = \"Checkbox__column__C4DgP\";\nexport var flex = \"Checkbox__flex__NmfDS\";\nexport var flexColumn = \"Checkbox__flexColumn__Dd6ZS\";\nexport var gap1 = \"Checkbox__gap1__KORNS\";\nexport var gap2 = \"Checkbox__gap2__i2W8v\";\nexport var gap3 = \"Checkbox__gap3__YJKk5\";\nexport var gap4 = \"Checkbox__gap4__DLn4u\";\nexport var gap5 = \"Checkbox__gap5__ZB34o\";\nexport var label = \"Checkbox__label__CW5v_\";\nexport var row = \"Checkbox__row__q5H7g\";\nexport var sizeLg = \"Checkbox__sizeLg__kLPJ7\";\nexport var sizeMd = \"Checkbox__sizeMd__bkNsf\";\nexport var sizeSm = \"Checkbox__sizeSm__BqH4I\";\nexport var textLabel = \"Checkbox__textLabel__WqGaY\";\nexport var visuallyDisabled = \"Checkbox__visuallyDisabled__VjoZt\";\nexport var withLabel = \"Checkbox__withLabel__j21pR\";\nexport var wrapper = \"Checkbox__wrapper__goAqn\";","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\nimport * as React from \"react\";\nimport * as Caml_option from \"rescript/lib/es6/caml_option.js\";\nimport * as CheckboxScss from \"./Checkbox.scss\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\n\nvar css = CheckboxScss;\n\nfunction Checkbox$BaseCheckbox(props) {\n var onClick = props.onClick;\n var __className = props.className;\n var __visuallyDisabled = props.visuallyDisabled;\n var __disabled = props.disabled;\n var id = props.id;\n var disabled = __disabled !== undefined ? __disabled : false;\n var visuallyDisabled = __visuallyDisabled !== undefined ? __visuallyDisabled : false;\n var className = __className !== undefined ? __className : \"\";\n var checkboxRef = React.useRef(null);\n var handleClick = function ($$event) {\n var checkbox = checkboxRef.current;\n if (!(checkbox == null)) {\n if (onClick !== undefined) {\n onClick($$event);\n }\n checkbox.blur();\n return ;\n }\n \n };\n var tmp;\n switch (props.size) {\n case \"SM\" :\n tmp = css.sizeSm;\n break;\n case \"MD\" :\n tmp = css.sizeMd;\n break;\n case \"LG\" :\n tmp = css.sizeLg;\n break;\n \n }\n return JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"input\", {\n ref: Caml_option.some(checkboxRef),\n className: Cx.cx([\n css.checkbox,\n visuallyDisabled ? css.visuallyDisabled : \"\"\n ]),\n id: id,\n checked: props.checked,\n disabled: disabled || visuallyDisabled,\n type: \"checkbox\",\n onBlur: props.onBlur,\n onChange: props.onChange,\n onClick: handleClick\n }),\n JsxRuntime.jsx(\"label\", {\n className: css.label,\n htmlFor: id\n })\n ],\n className: Cx.cx([\n css.wrapper,\n tmp,\n className\n ])\n });\n}\n\nvar BaseCheckbox = {\n make: Checkbox$BaseCheckbox\n};\n\nfunction Checkbox$WithLabel(props) {\n var __containerClassName = props.containerClassName;\n var __className = props.className;\n var __visuallyDisabled = props.visuallyDisabled;\n var __disabled = props.disabled;\n var id = props.id;\n var disabled = __disabled !== undefined ? __disabled : false;\n var visuallyDisabled = __visuallyDisabled !== undefined ? __visuallyDisabled : false;\n var className = __className !== undefined ? __className : \"\";\n var containerClassName = __containerClassName !== undefined ? __containerClassName : \"\";\n return JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(Checkbox$BaseCheckbox, {\n id: id,\n size: props.size,\n checked: props.checked,\n disabled: disabled,\n visuallyDisabled: visuallyDisabled,\n className: className,\n onChange: props.onChange,\n onBlur: props.onBlur,\n onClick: props.onClick\n })\n }),\n JsxRuntime.jsx(\"label\", {\n children: props.children,\n className: css.textLabel,\n htmlFor: id\n })\n ],\n className: Cx.cx([\n css.withLabel,\n containerClassName\n ])\n });\n}\n\nvar WithLabel = {\n make: Checkbox$WithLabel\n};\n\nvar make = Checkbox$BaseCheckbox;\n\nexport {\n css ,\n BaseCheckbox ,\n WithLabel ,\n make ,\n}\n/* css Not a pure module */\n","// extracted by mini-css-extract-plugin\nexport var column = \"Heading__column__Bdidr\";\nexport var flex = \"Heading__flex__r_pIG\";\nexport var flexColumn = \"Heading__flexColumn__xi3TI\";\nexport var gap1 = \"Heading__gap1__mdiC7\";\nexport var gap2 = \"Heading__gap2__qpxHl\";\nexport var gap3 = \"Heading__gap3__NN2ZY\";\nexport var gap4 = \"Heading__gap4__Z8AjQ\";\nexport var gap5 = \"Heading__gap5__Y2uk0\";\nexport var h1 = \"Heading__h1__dxBPE\";\nexport var h2 = \"Heading__h2__Raelb\";\nexport var h3 = \"Heading__h3__S077j\";\nexport var h4 = \"Heading__h4__bxzju\";\nexport var h5 = \"Heading__h5__uCEKj\";\nexport var row = \"Heading__row__byBio\";","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as React from \"react\";\nimport * as Debounce from \"rescript-debounce/src/Debounce.res.js\";\n\nfunction useDebounced(wait, fn) {\n return React.useRef(Debounce.make(wait, fn)).current;\n}\n\nfunction useControlled(wait, fn) {\n return React.useRef(Debounce.makeControlled(wait, fn)).current;\n}\n\nexport {\n useDebounced ,\n useControlled ,\n}\n/* react Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Caml_option from \"rescript/lib/es6/caml_option.js\";\n\nfunction makeControlled(waitOpt, fn) {\n var wait = waitOpt !== undefined ? waitOpt : 100;\n var timerId = {\n contents: undefined\n };\n var lastArg = {\n contents: undefined\n };\n var lastCallTime = {\n contents: undefined\n };\n var shouldCall = function (time) {\n var lastCallTime$1 = lastCallTime.contents;\n if (lastCallTime$1 === undefined) {\n return true;\n }\n var timeSinceLastCall = time - lastCallTime$1 | 0;\n if (timeSinceLastCall >= wait) {\n return true;\n } else {\n return timeSinceLastCall < 0;\n }\n };\n var remainingWait = function (time) {\n var lastCallTime$1 = lastCallTime.contents;\n if (lastCallTime$1 === undefined) {\n return wait;\n }\n var timeSinceLastCall = time - lastCallTime$1 | 0;\n return wait - timeSinceLastCall | 0;\n };\n var timerExpired = function () {\n var timerId$1 = timerId.contents;\n if (timerId$1 !== undefined) {\n clearTimeout(Caml_option.valFromOption(timerId$1));\n }\n var time = Date.now() | 0;\n if (shouldCall(time)) {\n return call();\n } else {\n timerId.contents = Caml_option.some(setTimeout(timerExpired, remainingWait(time)));\n return ;\n }\n };\n var call = function () {\n var x = lastArg.contents;\n if (x !== undefined) {\n lastArg.contents = undefined;\n timerId.contents = undefined;\n return fn(Caml_option.valFromOption(x));\n } else {\n timerId.contents = undefined;\n return ;\n }\n };\n var schedule = function (x) {\n var time = Date.now() | 0;\n lastArg.contents = Caml_option.some(x);\n lastCallTime.contents = time;\n timerId.contents = Caml_option.some(setTimeout(timerExpired, wait));\n };\n var scheduled = function () {\n return timerId.contents !== undefined;\n };\n var cancel = function () {\n var timerId$p = timerId.contents;\n if (timerId$p !== undefined) {\n clearTimeout(Caml_option.valFromOption(timerId$p));\n timerId.contents = undefined;\n lastArg.contents = undefined;\n lastCallTime.contents = undefined;\n return ;\n }\n \n };\n var invoke = function (x) {\n cancel();\n fn(x);\n };\n return {\n invoke: invoke,\n schedule: schedule,\n scheduled: scheduled,\n cancel: cancel\n };\n}\n\nfunction make(wait, fn) {\n return makeControlled(wait, fn).schedule;\n}\n\nexport {\n make ,\n makeControlled ,\n}\n/* No side effect */\n"],"names":["make","props","selectedCategory","JsxRuntime","children","Belt_Array","id","slug","Routes_Resource","index","analytics","category","match","A","href","className","DashboardNavbarCss","Cx","String","Popover","Button","size","color","iconSuffixComponent","Caml_option","IconSelect","position","TAG","_0","DashboardDropdownOptionsCss","$$new","initialState","status","currentPage","totalPages","sortBy","NAME","VAL","search","categoryFilter","ID","$$default","categories","container","React","searchResources","ReactDebounce","param","dispatch","state","Hooks","action","tmp","undefined","$$Promise","Api","Belt_Set","x","SentryLogger","rootModule","subModulePath","value","fullPath","match$1","_1","match$2","match$3","match$4","match$5","match$6","match$7","res","resources","Belt_Option","current","prim","scrollTop","nextPage","match$8","match$9","categoryId","match$10","len","length","Dropdown","DashboardFilterCss","Checkbox","checked","onChange","title","htmlFor","tmp$1","len$1","Control","onClick","IconSorting","direction","DashboardTableCss","tmp$2","Spinner","resource","TableRow","TableCell","Link","edit","resourceDownloadsCount","ahoyEventsCount","IconMenu","categorySlug","ResourceDashboardNavbar","Container","DashboardIndexCss","setRef","H1","SearchField","placeholder","inputClassName","$$event","target","ResourcesAnalyticsOptions","Table","TableHeader","TableHeaderCell","TableBody","Pagination","onPageClick","category$1","toLowerCase","show","leadsCsv","resourceId","downloadThanks","filename","Dashboard","editResourceProviders","resourcesIndex","css","HeadingScss","__className","__id","h1","LinkScss","targetBlank","ref","elRef","link","download","rel","Router","path","label","dropdown","dropdownBody","dropdownBodyRow","searchField","wrapper","dropdownBodyLink","dropdownBodyLinkDisabled","barWrapperGeneral","barWrapper","barWrapperMargin","barContainer","linkContainer","linkItem","normalLinkItem","underlinedLinkContainer","underlinedLinkItem","subnavContainerGeneral","subnavContainer","headerContainer","viewLive","tabItem","table","tableWrapper","controlCell","tableLink","fetchError","disabled","spinner","pagination","tableCellWithMinWidth","column","flex","flexColumn","gap1","gap2","gap3","gap4","gap5","row","sizeLg","sizeMd","sizeSm","textLabel","visuallyDisabled","withLabel","CheckboxScss","Checkbox$BaseCheckbox","__visuallyDisabled","__disabled","checkboxRef","checkbox","type","onBlur","blur","WithLabel","__containerClassName","containerClassName","h2","h3","h4","h5","useDebounced","wait","fn","makeControlled","waitOpt","timerId","contents","lastArg","lastCallTime","timerExpired","timerId$1","clearTimeout","time","Date","now","lastCallTime$1","timeSinceLastCall","shouldCall","call","setTimeout","remainingWait","cancel","timerId$p","invoke","schedule","scheduled"],"sourceRoot":""}