@datawheel/data-explorer 0.3.3 → 0.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/main.js CHANGED
@@ -1,47 +1,21 @@
1
- 'use strict';
2
-
3
- var core = require('@mantine/core');
4
- var hooks = require('@mantine/hooks');
5
- var iconsReact = require('@tabler/icons-react');
6
- var React19 = require('react');
7
- var useTranslation$1 = require('@datawheel/use-translation');
8
- var toolkit = require('@reduxjs/toolkit');
9
- var reactRedux = require('react-redux');
10
- var ISO6391 = require('iso-639-1');
11
- var reactQuery = require('@tanstack/react-query');
12
- var debounce = require('lodash.debounce');
13
- var mantineReactTable = require('mantine-react-table');
14
- var d3plusFormat = require('d3plus-format');
15
- var yn = require('yn');
16
- var matchSorter = require('match-sorter');
17
- var tour = require('@reactour/tour');
18
- var vizbuilder = require('@datawheel/vizbuilder');
19
- var d3plusReact = require('d3plus-react');
20
-
21
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
22
-
23
- function _interopNamespace(e) {
24
- if (e && e.__esModule) return e;
25
- var n = Object.create(null);
26
- if (e) {
27
- Object.keys(e).forEach(function (k) {
28
- if (k !== 'default') {
29
- var d = Object.getOwnPropertyDescriptor(e, k);
30
- Object.defineProperty(n, k, d.get ? d : {
31
- enumerable: true,
32
- get: function () { return e[k]; }
33
- });
34
- }
35
- });
36
- }
37
- n.default = e;
38
- return Object.freeze(n);
39
- }
40
-
41
- var React19__namespace = /*#__PURE__*/_interopNamespace(React19);
42
- var ISO6391__default = /*#__PURE__*/_interopDefault(ISO6391);
43
- var debounce__default = /*#__PURE__*/_interopDefault(debounce);
44
- var yn__default = /*#__PURE__*/_interopDefault(yn);
1
+ import { keyframes, createStyles, Select, rem, Input, Box, Text, Stack, Group, Button, SimpleGrid, Flex, ScrollArea, LoadingOverlay, Table, MultiSelect, Center, NumberInput, Menu, ActionIcon, UnstyledButton, Alert, Loader, Container, Title, useMantineTheme, MantineProvider, Modal, useComponentDefaultProps, Anchor, Paper, CloseButton, Tooltip, Tabs, Switch, ThemeIcon, packSx, Affix, Accordion, Drawer, Divider, Checkbox, Popover } from '@mantine/core';
2
+ import { useClipboard, useDebouncedState, useClickOutside, useFullscreen, useMediaQuery, useDisclosure } from '@mantine/hooks';
3
+ import { IconWorld, IconExternalLink, IconClipboard, IconSettings, IconMathGreater, IconMathLower, IconArrowsLeftRight, IconAlertCircle, IconAlertTriangle, IconCopy, IconDownload, IconDotsVertical, IconArrowRight, IconArrowLeft, IconBrandGithub, IconChevronLeft, IconChevronRight, IconSearch, IconLanguage, IconTrash, IconInfoCircleFilled, IconArrowsMinimize, IconArrowsMaximize, IconCircleOff, IconArrowsSort, IconSortDescendingNumbers, IconSortDescendingLetters, IconSortAscendingNumbers, IconSortAscendingLetters, IconPlus, IconStack3, IconFilterOff, IconFilter, IconAdjustments, IconBox, IconClock, IconHelpCircle, IconPhotoDown, IconVectorTriangle } from '@tabler/icons-react';
4
+ import * as React19 from 'react';
5
+ import React19__default, { createContext, forwardRef, useMemo, useCallback, useContext, useRef, useEffect, useState, Suspense, Component, useLayoutEffect } from 'react';
6
+ import { translationFactory } from '@datawheel/use-translation';
7
+ import { createSlice, createSelector, combineReducers, bindActionCreators, configureStore } from '@reduxjs/toolkit';
8
+ import { useSelector as useSelector$1, useStore, Provider as Provider$1 } from 'react-redux';
9
+ import ISO6391 from 'iso-639-1';
10
+ import { QueryClient, QueryClientProvider, useQuery, useQueryClient } from '@tanstack/react-query';
11
+ import debounce from 'lodash.debounce';
12
+ import { MRT_ProgressBar, flexRender, MRT_TableBodyCell, MRT_ToolbarAlertBanner, useMantineReactTable, MantineReactTable, MRT_TablePagination } from 'mantine-react-table';
13
+ import { formatAbbreviate, format } from 'd3plus-format';
14
+ import yn from 'yn';
15
+ import { matchSorter } from 'match-sorter';
16
+ import { TourProvider, useTour } from '@reactour/tour';
17
+ import { generateCharts } from '@datawheel/vizbuilder';
18
+ import { BarChart, Geomap, Donut, LinePlot, StackedArea, Treemap } from 'd3plus-react';
45
19
 
46
20
  var __create = Object.create;
47
21
  var __defProp = Object.defineProperty;
@@ -76,16 +50,16 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
76
50
  mod
77
51
  ));
78
52
 
79
- // node_modules/tsup/assets/cjs_shims.js
80
- var init_cjs_shims = __esm({
81
- "node_modules/tsup/assets/cjs_shims.js"() {
53
+ // node_modules/tsup/assets/esm_shims.js
54
+ var init_esm_shims = __esm({
55
+ "node_modules/tsup/assets/esm_shims.js"() {
82
56
  }
83
57
  });
84
58
 
85
59
  // node_modules/file-saver/FileSaver.js
86
60
  var require_FileSaver = __commonJS({
87
61
  "node_modules/file-saver/FileSaver.js"(exports2, module2) {
88
- init_cjs_shims();
62
+ init_esm_shims();
89
63
  var saveAs2 = saveAs2 || function(view) {
90
64
  if (typeof view === "undefined" || typeof navigator !== "undefined" && /MSIE [1-9]\./.test(navigator.userAgent)) {
91
65
  return;
@@ -209,13 +183,13 @@ var require_FileSaver = __commonJS({
209
183
  });
210
184
 
211
185
  // src/main.ts
212
- init_cjs_shims();
186
+ init_esm_shims();
213
187
 
214
188
  // src/components/DebugView.tsx
215
- init_cjs_shims();
189
+ init_esm_shims();
216
190
 
217
191
  // src/hooks/translation.ts
218
- init_cjs_shims();
192
+ init_esm_shims();
219
193
  var defaultTranslation = {
220
194
  action_copy: "Copy",
221
195
  action_copy_done: "Copied",
@@ -508,7 +482,7 @@ var defaultTranslation = {
508
482
  }
509
483
  }
510
484
  };
511
- var { useTranslation, TranslationConsumer, TranslationProvider } = useTranslation$1.translationFactory({
485
+ var { useTranslation, TranslationConsumer, TranslationProvider } = translationFactory({
512
486
  defaultLocale: "en",
513
487
  defaultTranslation
514
488
  });
@@ -517,59 +491,59 @@ var { useTranslation, TranslationConsumer, TranslationProvider } = useTranslatio
517
491
  function DebugView(props) {
518
492
  const { url } = props.result;
519
493
  const { translate: t } = useTranslation();
520
- const { copy, copied } = hooks.useClipboard({ timeout: 1e3 });
521
- const copyHandler = React19.useCallback(() => copy(url), [url, copy]);
522
- const openHandler = React19.useCallback(() => window.open(url, "_blank"), [url]);
523
- const headers = React19.useMemo(() => {
494
+ const { copy, copied } = useClipboard({ timeout: 1e3 });
495
+ const copyHandler = useCallback(() => copy(url), [url, copy]);
496
+ const openHandler = useCallback(() => window.open(url, "_blank"), [url]);
497
+ const headers = useMemo(() => {
524
498
  const headers2 = Object.entries(props.result.headers || {});
525
499
  if (headers2.length === 0) return null;
526
- return /* @__PURE__ */ React19__namespace.default.createElement(core.Input.Wrapper, { label: t("debug_view.httpheaders") }, /* @__PURE__ */ React19__namespace.default.createElement(core.Box, { component: "dl", sx: { fontFamily: "monospace", overflowWrap: "break-word" } }, headers2.map((entry) => /* @__PURE__ */ React19__namespace.default.createElement(React19__namespace.default.Fragment, { key: entry[0] }, /* @__PURE__ */ React19__namespace.default.createElement(core.Text, { component: "dt", fw: "bold", fz: "sm" }, entry[0]), /* @__PURE__ */ React19__namespace.default.createElement(core.Text, { component: "dd", c: "#5c940d", fz: "sm" }, entry[1])))));
500
+ return /* @__PURE__ */ React19__default.createElement(Input.Wrapper, { label: t("debug_view.httpheaders") }, /* @__PURE__ */ React19__default.createElement(Box, { component: "dl", sx: { fontFamily: "monospace", overflowWrap: "break-word" } }, headers2.map((entry) => /* @__PURE__ */ React19__default.createElement(React19__default.Fragment, { key: entry[0] }, /* @__PURE__ */ React19__default.createElement(Text, { component: "dt", fw: "bold", fz: "sm" }, entry[0]), /* @__PURE__ */ React19__default.createElement(Text, { component: "dd", c: "#5c940d", fz: "sm" }, entry[1])))));
527
501
  }, [props.result.headers, t]);
528
- return /* @__PURE__ */ React19__namespace.default.createElement(core.Box, { id: "query-results-debug-view" }, /* @__PURE__ */ React19__namespace.default.createElement(core.Stack, { spacing: "md", px: "md", py: "sm" }, url && /* @__PURE__ */ React19__namespace.default.createElement(core.Input.Wrapper, { label: t("debug_view.url_logiclayer") }, /* @__PURE__ */ React19__namespace.default.createElement(core.Group, { noWrap: true, spacing: "xs" }, /* @__PURE__ */ React19__namespace.default.createElement(
529
- core.Input,
502
+ return /* @__PURE__ */ React19__default.createElement(Box, { id: "query-results-debug-view" }, /* @__PURE__ */ React19__default.createElement(Stack, { spacing: "md", px: "md", py: "sm" }, url && /* @__PURE__ */ React19__default.createElement(Input.Wrapper, { label: t("debug_view.url_logiclayer") }, /* @__PURE__ */ React19__default.createElement(Group, { noWrap: true, spacing: "xs" }, /* @__PURE__ */ React19__default.createElement(
503
+ Input,
530
504
  {
531
- icon: /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconWorld, null),
505
+ icon: /* @__PURE__ */ React19__default.createElement(IconWorld, null),
532
506
  readOnly: true,
533
507
  rightSectionWidth: "auto",
534
508
  value: url,
535
509
  w: "100%"
536
510
  }
537
- ), /* @__PURE__ */ React19__namespace.default.createElement(core.Button.Group, null, /* @__PURE__ */ React19__namespace.default.createElement(
538
- core.Button,
511
+ ), /* @__PURE__ */ React19__default.createElement(Button.Group, null, /* @__PURE__ */ React19__default.createElement(
512
+ Button,
539
513
  {
540
- leftIcon: /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconExternalLink, null),
514
+ leftIcon: /* @__PURE__ */ React19__default.createElement(IconExternalLink, null),
541
515
  onClick: openHandler,
542
516
  variant: "default"
543
517
  },
544
518
  t("action_open")
545
- ), /* @__PURE__ */ React19__namespace.default.createElement(
546
- core.Button,
519
+ ), /* @__PURE__ */ React19__default.createElement(
520
+ Button,
547
521
  {
548
- leftIcon: /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconClipboard, null),
522
+ leftIcon: /* @__PURE__ */ React19__default.createElement(IconClipboard, null),
549
523
  onClick: copyHandler,
550
524
  variant: "default"
551
525
  },
552
526
  copied ? t("action_copy_done") : t("action_copy")
553
- )))), /* @__PURE__ */ React19__namespace.default.createElement(core.SimpleGrid, { cols: 2 }, headers)));
527
+ )))), /* @__PURE__ */ React19__default.createElement(SimpleGrid, { cols: 2 }, headers)));
554
528
  }
555
529
 
556
530
  // src/components/Explorer.tsx
557
- init_cjs_shims();
531
+ init_esm_shims();
558
532
 
559
533
  // src/hooks/settings.tsx
560
- init_cjs_shims();
534
+ init_esm_shims();
561
535
 
562
536
  // src/hooks/permalink.tsx
563
- init_cjs_shims();
537
+ init_esm_shims();
564
538
 
565
539
  // src/api/tesseract/parse.ts
566
- init_cjs_shims();
540
+ init_esm_shims();
567
541
 
568
542
  // src/utils/array.ts
569
- init_cjs_shims();
543
+ init_esm_shims();
570
544
 
571
545
  // src/utils/string.js
572
- init_cjs_shims();
546
+ init_esm_shims();
573
547
  function randomKey() {
574
548
  return Math.random().toString(16).slice(2);
575
549
  }
@@ -620,10 +594,10 @@ function getLast(array) {
620
594
  }
621
595
 
622
596
  // src/utils/structs.ts
623
- init_cjs_shims();
597
+ init_esm_shims();
624
598
 
625
599
  // src/api/enum.ts
626
- init_cjs_shims();
600
+ init_esm_shims();
627
601
  var Comparison = /* @__PURE__ */ ((Comparison2) => {
628
602
  Comparison2["!="] = "neq";
629
603
  Comparison2["<"] = "lt";
@@ -763,7 +737,7 @@ function buildProperty(props) {
763
737
  }
764
738
 
765
739
  // src/utils/transform.js
766
- init_cjs_shims();
740
+ init_esm_shims();
767
741
  function identity(item) {
768
742
  return `${item}`;
769
743
  }
@@ -926,13 +900,13 @@ function filterParseCondition(value) {
926
900
  }
927
901
 
928
902
  // src/state/queries.ts
929
- init_cjs_shims();
903
+ init_esm_shims();
930
904
 
931
905
  // src/utils/object.ts
932
- init_cjs_shims();
906
+ init_esm_shims();
933
907
 
934
908
  // src/api/traverse.ts
935
- init_cjs_shims();
909
+ init_esm_shims();
936
910
  function entityFinder(cube, name4) {
937
911
  const nameWithoutID = name4.replace(/\sID$/, "");
938
912
  const nameWithID = `${nameWithoutID} ID`;
@@ -1038,7 +1012,7 @@ function yieldMeasures(cube) {
1038
1012
  }
1039
1013
 
1040
1014
  // src/utils/validation.ts
1041
- init_cjs_shims();
1015
+ init_esm_shims();
1042
1016
  function noop() {
1043
1017
  }
1044
1018
  function isOneOf(str, options) {
@@ -1165,7 +1139,7 @@ function getDomain(data, column) {
1165
1139
  }
1166
1140
 
1167
1141
  // src/state/server.ts
1168
- init_cjs_shims();
1142
+ init_esm_shims();
1169
1143
  var name = "explorerServer";
1170
1144
  var initialState = {
1171
1145
  cubeMap: {},
@@ -1174,7 +1148,7 @@ var initialState = {
1174
1148
  online: void 0,
1175
1149
  url: ""
1176
1150
  };
1177
- var serverSlice = toolkit.createSlice({
1151
+ var serverSlice = createSlice({
1178
1152
  name,
1179
1153
  initialState,
1180
1154
  reducers: {
@@ -1195,12 +1169,12 @@ var serverActions = {
1195
1169
  function selectServerState(state) {
1196
1170
  return state[name];
1197
1171
  }
1198
- var selectOlapCubeMap = toolkit.createSelector(
1172
+ var selectOlapCubeMap = createSelector(
1199
1173
  selectServerState,
1200
1174
  (server) => server.cubeMap
1201
1175
  );
1202
- toolkit.createSelector(selectOlapCubeMap, getKeys);
1203
- var selectOlapCubeItems = toolkit.createSelector(selectOlapCubeMap, getValues);
1176
+ createSelector(selectOlapCubeMap, getKeys);
1177
+ var selectOlapCubeItems = createSelector(selectOlapCubeMap, getValues);
1204
1178
 
1205
1179
  // src/state/queries.ts
1206
1180
  var name2 = "explorerQueries";
@@ -1210,7 +1184,7 @@ var initialState2 = {
1210
1184
  default: buildQuery({ key: "default" })
1211
1185
  }
1212
1186
  };
1213
- var queriesSlice = toolkit.createSlice({
1187
+ var queriesSlice = createSlice({
1214
1188
  name: name2,
1215
1189
  initialState: initialState2,
1216
1190
  reducers: {
@@ -1438,74 +1412,74 @@ function taintCurrentQuery(state) {
1438
1412
  function selectQueriesState(state) {
1439
1413
  return state[name2];
1440
1414
  }
1441
- var selectQueryItems = toolkit.createSelector(
1415
+ var selectQueryItems = createSelector(
1442
1416
  selectQueriesState,
1443
1417
  (queries) => sortByDate(Object.values(queries.itemMap), "created", false)
1444
1418
  );
1445
- var selectCurrentQueryItem = toolkit.createSelector(
1419
+ var selectCurrentQueryItem = createSelector(
1446
1420
  selectQueriesState,
1447
1421
  (queries) => queries.itemMap[queries.current]
1448
1422
  );
1449
- var selectCurrentQueryParams = toolkit.createSelector(
1423
+ var selectCurrentQueryParams = createSelector(
1450
1424
  selectCurrentQueryItem,
1451
1425
  (query) => query.params
1452
1426
  );
1453
- var selectCubeName = toolkit.createSelector(selectCurrentQueryParams, (params) => params.cube);
1454
- var selectLocale = toolkit.createSelector(
1427
+ var selectCubeName = createSelector(selectCurrentQueryParams, (params) => params.cube);
1428
+ var selectLocale = createSelector(
1455
1429
  [selectCurrentQueryParams, selectServerState],
1456
1430
  (params, server) => {
1457
1431
  const code = params.locale || server.localeOptions[0] || "";
1458
1432
  return {
1459
1433
  code,
1460
- name: ISO6391__default.default.getName(code),
1461
- nativeName: ISO6391__default.default.getNativeName(code)
1434
+ name: ISO6391.getName(code),
1435
+ nativeName: ISO6391.getNativeName(code)
1462
1436
  };
1463
1437
  }
1464
1438
  );
1465
- var selectCutMap = toolkit.createSelector(selectCurrentQueryParams, (params) => params.cuts);
1466
- toolkit.createSelector(selectCutMap, getKeys);
1467
- var selectCutItems = toolkit.createSelector(selectCutMap, getValues);
1468
- var selectDrilldownMap = toolkit.createSelector(
1439
+ var selectCutMap = createSelector(selectCurrentQueryParams, (params) => params.cuts);
1440
+ createSelector(selectCutMap, getKeys);
1441
+ var selectCutItems = createSelector(selectCutMap, getValues);
1442
+ var selectDrilldownMap = createSelector(
1469
1443
  selectCurrentQueryParams,
1470
1444
  (params) => params.drilldowns
1471
1445
  );
1472
- toolkit.createSelector(selectDrilldownMap, getKeys);
1473
- var selectDrilldownItems = toolkit.createSelector(selectDrilldownMap, getValues);
1474
- var selectFilterMap = toolkit.createSelector(selectCurrentQueryParams, (params) => params.filters);
1475
- toolkit.createSelector(selectFilterMap, getKeys);
1476
- var selectFilterItems = toolkit.createSelector(selectFilterMap, getValues);
1477
- var selectMeasureMap = toolkit.createSelector(selectCurrentQueryParams, (params) => params.measures);
1478
- toolkit.createSelector(selectMeasureMap, getKeys);
1479
- var selectMeasureItems = toolkit.createSelector(selectMeasureMap, getValues);
1480
- toolkit.createSelector(selectCurrentQueryParams, (params) => params.booleans);
1481
- var selectIsPreviewMode = toolkit.createSelector(
1446
+ createSelector(selectDrilldownMap, getKeys);
1447
+ var selectDrilldownItems = createSelector(selectDrilldownMap, getValues);
1448
+ var selectFilterMap = createSelector(selectCurrentQueryParams, (params) => params.filters);
1449
+ createSelector(selectFilterMap, getKeys);
1450
+ var selectFilterItems = createSelector(selectFilterMap, getValues);
1451
+ var selectMeasureMap = createSelector(selectCurrentQueryParams, (params) => params.measures);
1452
+ createSelector(selectMeasureMap, getKeys);
1453
+ var selectMeasureItems = createSelector(selectMeasureMap, getValues);
1454
+ createSelector(selectCurrentQueryParams, (params) => params.booleans);
1455
+ var selectIsPreviewMode = createSelector(
1482
1456
  selectCurrentQueryParams,
1483
1457
  (params) => params.isPreview
1484
1458
  );
1485
- var selectPaginationParams = toolkit.createSelector(selectCurrentQueryParams, (params) => ({
1459
+ var selectPaginationParams = createSelector(selectCurrentQueryParams, (params) => ({
1486
1460
  limit: params.pagiLimit || 0,
1487
1461
  offset: params.pagiOffset || 0
1488
1462
  }));
1489
- var selectSortingParams = toolkit.createSelector(selectCurrentQueryParams, (params) => ({
1463
+ var selectSortingParams = createSelector(selectCurrentQueryParams, (params) => ({
1490
1464
  sortKey: params.sortKey || "",
1491
1465
  sortDir: params.sortDir
1492
1466
  }));
1493
- toolkit.createSelector(
1467
+ createSelector(
1494
1468
  selectCurrentQueryParams,
1495
1469
  (params) => isValidQueryVerbose(params)
1496
1470
  );
1497
1471
 
1498
1472
  // src/state/store.ts
1499
- init_cjs_shims();
1473
+ init_esm_shims();
1500
1474
 
1501
1475
  // src/api/index.ts
1502
- init_cjs_shims();
1476
+ init_esm_shims();
1503
1477
 
1504
1478
  // src/api/complexity/client.ts
1505
- init_cjs_shims();
1479
+ init_esm_shims();
1506
1480
 
1507
1481
  // src/api/tools.ts
1508
- init_cjs_shims();
1482
+ init_esm_shims();
1509
1483
  function toPlainObject(obj) {
1510
1484
  return Object.fromEntries(
1511
1485
  filterMap(Object.entries(obj), (entry) => {
@@ -1580,7 +1554,7 @@ var ComplexityModuleClient = class {
1580
1554
  };
1581
1555
 
1582
1556
  // src/api/tesseract/client.ts
1583
- init_cjs_shims();
1557
+ init_esm_shims();
1584
1558
  var TesseractModuleClient = class {
1585
1559
  constructor(baseURL, config) {
1586
1560
  this.baseURL = baseURL ? baseURL.replace(/\/?$/, "/") : "";
@@ -1627,11 +1601,11 @@ var TesseractModuleClient = class {
1627
1601
  };
1628
1602
 
1629
1603
  // src/api/context.tsx
1630
- init_cjs_shims();
1631
- React19.createContext(null);
1604
+ init_esm_shims();
1605
+ createContext(null);
1632
1606
 
1633
1607
  // src/state/loading.ts
1634
- init_cjs_shims();
1608
+ init_esm_shims();
1635
1609
  var LOADINGSTATUS = {
1636
1610
  FETCHING: "FETCHING",
1637
1611
  SUCCESS: "SUCCESS",
@@ -1644,7 +1618,7 @@ var initialState3 = {
1644
1618
  status: LOADINGSTATUS.FETCHING,
1645
1619
  trigger: null
1646
1620
  };
1647
- var loadingSlice = toolkit.createSlice({
1621
+ var loadingSlice = createSlice({
1648
1622
  name: name3,
1649
1623
  initialState: initialState3,
1650
1624
  reducers: {
@@ -1696,7 +1670,7 @@ var reducerMap = {
1696
1670
  [queriesSlice.name]: queriesSlice.reducer,
1697
1671
  [serverSlice.name]: serverSlice.reducer
1698
1672
  };
1699
- var reducer = toolkit.combineReducers(reducerMap);
1673
+ var reducer = combineReducers(reducerMap);
1700
1674
  function thunkExtraArg() {
1701
1675
  return {
1702
1676
  tesseract: new TesseractModuleClient(),
@@ -1704,7 +1678,7 @@ function thunkExtraArg() {
1704
1678
  previewLimit: 50
1705
1679
  };
1706
1680
  }
1707
- var storeFactory = () => toolkit.configureStore({
1681
+ var storeFactory = () => configureStore({
1708
1682
  reducer: reducerMap,
1709
1683
  middleware(getDefaultMiddleware) {
1710
1684
  return getDefaultMiddleware({
@@ -1714,7 +1688,7 @@ var storeFactory = () => toolkit.configureStore({
1714
1688
  });
1715
1689
  }
1716
1690
  });
1717
- var useSelector = reactRedux.useSelector;
1691
+ var useSelector = useSelector$1;
1718
1692
 
1719
1693
  // src/hooks/permalink.tsx
1720
1694
  function serializePermalink(item) {
@@ -1736,19 +1710,19 @@ function parsePermalink(cube, value) {
1736
1710
  function usePermalink(isEnabled, options) {
1737
1711
  const cubeMap = useSelector(selectOlapCubeMap);
1738
1712
  const queryItem = useSelector(selectCurrentQueryItem);
1739
- const listener = React19.useCallback(
1713
+ const listener = useCallback(
1740
1714
  (evt) => {
1741
1715
  evt.state && options.onChange(evt.state);
1742
1716
  },
1743
1717
  [options.onChange]
1744
1718
  );
1745
- React19.useEffect(() => {
1719
+ useEffect(() => {
1746
1720
  if (isEnabled) {
1747
1721
  window.addEventListener("popstate", listener);
1748
1722
  return () => window.removeEventListener("popstate", listener);
1749
1723
  }
1750
1724
  }, [isEnabled, listener]);
1751
- React19.useEffect(() => {
1725
+ useEffect(() => {
1752
1726
  const { isDirty, panel, params } = queryItem;
1753
1727
  if (!isEnabled || isDirty || !cubeMap[params.cube]) return;
1754
1728
  const currPermalink = window.location.search.slice(1);
@@ -1772,7 +1746,7 @@ function useUpdatePermaLink({
1772
1746
  isLoading
1773
1747
  }) {
1774
1748
  const queryItem = useSelector(selectCurrentQueryItem);
1775
- React19.useEffect(() => {
1749
+ useEffect(() => {
1776
1750
  if (isFetched && cube && enabled && !isLoading) {
1777
1751
  const currPermalink = window.location.search.slice(1);
1778
1752
  const nextPermalink = serializePermalink(queryItem);
@@ -1796,11 +1770,11 @@ var defaultToolbarConfig = {
1796
1770
  buttons: [],
1797
1771
  showLabels: true
1798
1772
  };
1799
- var SettingsContext = React19.createContext(void 0);
1773
+ var SettingsContext = createContext(void 0);
1800
1774
  var { Consumer: ContextConsumer, Provider: ContextProvider } = SettingsContext;
1801
1775
  function SettingsProvider(props) {
1802
1776
  usePermalink(props.withPermalink, { onChange: props.actions.resetAllParams });
1803
- const value = React19.useMemo(
1777
+ const value = useMemo(
1804
1778
  () => {
1805
1779
  var _a;
1806
1780
  return {
@@ -1816,10 +1790,10 @@ function SettingsProvider(props) {
1816
1790
  },
1817
1791
  [props.formatters, props.previewLimit, props.toolbarConfig]
1818
1792
  );
1819
- return /* @__PURE__ */ React19__namespace.default.createElement(ContextProvider, { value }, props.children);
1793
+ return /* @__PURE__ */ React19__default.createElement(ContextProvider, { value }, props.children);
1820
1794
  }
1821
1795
  function SettingsConsumer(props) {
1822
- return /* @__PURE__ */ React19__namespace.default.createElement(ContextConsumer, null, React19.useCallback(
1796
+ return /* @__PURE__ */ React19__default.createElement(ContextConsumer, null, useCallback(
1823
1797
  (context) => {
1824
1798
  if (context === void 0) {
1825
1799
  throw new Error("SettingsConsumer must be used within a SettingsProvider.");
@@ -1830,7 +1804,7 @@ function SettingsConsumer(props) {
1830
1804
  ));
1831
1805
  }
1832
1806
  function useSettings() {
1833
- const context = React19.useContext(SettingsContext);
1807
+ const context = useContext(SettingsContext);
1834
1808
  if (context === void 0) {
1835
1809
  throw new Error("useSettings must be used within a SettingsProvider.");
1836
1810
  }
@@ -1842,7 +1816,7 @@ function useActions() {
1842
1816
  }
1843
1817
 
1844
1818
  // src/state/index.ts
1845
- init_cjs_shims();
1819
+ init_esm_shims();
1846
1820
 
1847
1821
  // src/state/thunks.ts
1848
1822
  var thunks_exports = {};
@@ -1859,10 +1833,10 @@ __export(thunks_exports, {
1859
1833
  willSetCube: () => willSetCube,
1860
1834
  willSetupClient: () => willSetupClient
1861
1835
  });
1862
- init_cjs_shims();
1836
+ init_esm_shims();
1863
1837
 
1864
1838
  // src/state/utils.ts
1865
- init_cjs_shims();
1839
+ init_esm_shims();
1866
1840
  function pickDefaultDrilldowns(dimensions) {
1867
1841
  const levels = [];
1868
1842
  const findDefaultHierarchy = (dim) => dim.hierarchies.find((h) => h.name === dim.default_hierarchy) || dim.hierarchies[0];
@@ -2162,20 +2136,20 @@ var actions = {
2162
2136
  };
2163
2137
 
2164
2138
  // src/components/ExplorerContent.tsx
2165
- init_cjs_shims();
2139
+ init_esm_shims();
2166
2140
 
2167
2141
  // src/context/index.tsx
2168
- init_cjs_shims();
2169
- var queryClient = new reactQuery.QueryClient();
2142
+ init_esm_shims();
2143
+ var queryClient = new QueryClient();
2170
2144
  function AppProviders({ children }) {
2171
- return /* @__PURE__ */ React19__namespace.createElement(reactQuery.QueryClientProvider, { client: queryClient }, children);
2145
+ return /* @__PURE__ */ React19.createElement(QueryClientProvider, { client: queryClient }, children);
2172
2146
  }
2173
2147
 
2174
2148
  // src/hooks/setup.ts
2175
- init_cjs_shims();
2149
+ init_esm_shims();
2176
2150
  function useSetup(serverURL, serverConfig, defaultLocale, defaultCube) {
2177
2151
  const { actions: actions2, paginationConfig } = useSettings();
2178
- React19.useEffect(() => {
2152
+ useEffect(() => {
2179
2153
  actions2.resetServer();
2180
2154
  actions2.resetAllParams({});
2181
2155
  actions2.setLoadingState("FETCHING");
@@ -2242,8 +2216,8 @@ function useSetup(serverURL, serverConfig, defaultLocale, defaultCube) {
2242
2216
  }
2243
2217
 
2244
2218
  // src/components/AnimatedCube.tsx
2245
- init_cjs_shims();
2246
- var colorShift = core.keyframes({
2219
+ init_esm_shims();
2220
+ var colorShift = keyframes({
2247
2221
  "from, to": {
2248
2222
  fill: "var(--anicube-color1, #5c7080)"
2249
2223
  },
@@ -2254,7 +2228,7 @@ var colorShift = core.keyframes({
2254
2228
  fill: "var(--anicube-color3, #8a9ba8)"
2255
2229
  }
2256
2230
  });
2257
- var useStyles = core.createStyles((theme, { color, shade }) => {
2231
+ var useStyles = createStyles((theme, { color, shade }) => {
2258
2232
  const vars = color ? {
2259
2233
  "--anicube-color1": theme.colors[color][shade - 1],
2260
2234
  "--anicube-color2": theme.colors[color][shade],
@@ -2289,9 +2263,9 @@ var defaultProps = {
2289
2263
  shade: 5
2290
2264
  };
2291
2265
  function AnimatedCube(props) {
2292
- const { color, shade } = core.useComponentDefaultProps(AnimatedCube.displayName, defaultProps, props);
2266
+ const { color, shade } = useComponentDefaultProps(AnimatedCube.displayName, defaultProps, props);
2293
2267
  const { classes, cx } = useStyles({ color, shade });
2294
- return /* @__PURE__ */ React19__namespace.default.createElement(
2268
+ return /* @__PURE__ */ React19__default.createElement(
2295
2269
  "svg",
2296
2270
  {
2297
2271
  className: cx("dataex-Anicube-root", classes.root),
@@ -2299,34 +2273,34 @@ function AnimatedCube(props) {
2299
2273
  viewBox: "0 0 256 256",
2300
2274
  height: props.size || 256
2301
2275
  },
2302
- /* @__PURE__ */ React19__namespace.default.createElement("path", { className: cx("dataex-Anicube-side", classes.side, "a"), d: "M128 128v128l111 -64v-128l-111 64z" }),
2303
- /* @__PURE__ */ React19__namespace.default.createElement("path", { className: cx("dataex-Anicube-side", classes.side, "b"), d: "M128 128l111 -64l-111 -64l-111 64l111 64z" }),
2304
- /* @__PURE__ */ React19__namespace.default.createElement("path", { className: cx("dataex-Anicube-side", classes.side, "c"), d: "M128 128l-111 -64v128l111 64v-128z" }),
2305
- /* @__PURE__ */ React19__namespace.default.createElement("path", { className: cx("dataex-Anicube-side", classes.side, "a"), d: "M128 128v-64l-55 32v64l55 -32z" }),
2306
- /* @__PURE__ */ React19__namespace.default.createElement("path", { className: cx("dataex-Anicube-side", classes.side, "b"), d: "M128 128l-55 32l55 32l55 -32l-55 -32z" }),
2307
- /* @__PURE__ */ React19__namespace.default.createElement("path", { className: cx("dataex-Anicube-side", classes.side, "c"), d: "M128 128l55 32v-64l-55 -32v64z" })
2276
+ /* @__PURE__ */ React19__default.createElement("path", { className: cx("dataex-Anicube-side", classes.side, "a"), d: "M128 128v128l111 -64v-128l-111 64z" }),
2277
+ /* @__PURE__ */ React19__default.createElement("path", { className: cx("dataex-Anicube-side", classes.side, "b"), d: "M128 128l111 -64l-111 -64l-111 64l111 64z" }),
2278
+ /* @__PURE__ */ React19__default.createElement("path", { className: cx("dataex-Anicube-side", classes.side, "c"), d: "M128 128l-111 -64v128l111 64v-128z" }),
2279
+ /* @__PURE__ */ React19__default.createElement("path", { className: cx("dataex-Anicube-side", classes.side, "a"), d: "M128 128v-64l-55 32v64l55 -32z" }),
2280
+ /* @__PURE__ */ React19__default.createElement("path", { className: cx("dataex-Anicube-side", classes.side, "b"), d: "M128 128l-55 32l55 32l55 -32l-55 -32z" }),
2281
+ /* @__PURE__ */ React19__default.createElement("path", { className: cx("dataex-Anicube-side", classes.side, "c"), d: "M128 128l55 32v-64l-55 -32v64z" })
2308
2282
  );
2309
2283
  }
2310
2284
  AnimatedCube.displayName = "DataExplorer/Anicube";
2311
2285
 
2312
2286
  // src/components/ExplorerResults.tsx
2313
- init_cjs_shims();
2287
+ init_esm_shims();
2314
2288
 
2315
2289
  // src/state/selectors.ts
2316
- init_cjs_shims();
2317
- var selectOlapCube = toolkit.createSelector(
2290
+ init_esm_shims();
2291
+ var selectOlapCube = createSelector(
2318
2292
  [selectOlapCubeMap, selectCubeName],
2319
2293
  (cubeMap, cubeName) => cubeName in cubeMap ? cubeMap[cubeName] : void 0
2320
2294
  );
2321
- var selectOlapMeasureItems = toolkit.createSelector(
2295
+ var selectOlapMeasureItems = createSelector(
2322
2296
  selectOlapCube,
2323
2297
  (cube) => cube ? cube.measures : []
2324
2298
  );
2325
- var selectOlapMeasureMap = toolkit.createSelector(
2299
+ var selectOlapMeasureMap = createSelector(
2326
2300
  selectOlapMeasureItems,
2327
2301
  (measures) => Object.fromEntries(measures.map((item) => [item.name, item]))
2328
2302
  );
2329
- var selectOlapDimensionItems = toolkit.createSelector(
2303
+ var selectOlapDimensionItems = createSelector(
2330
2304
  selectOlapCube,
2331
2305
  (cube) => !cube ? [] : cube.dimensions.map((dim) => ({
2332
2306
  item: {
@@ -2342,28 +2316,28 @@ var selectOlapDimensionItems = toolkit.createSelector(
2342
2316
  (a, b) => getOrderValue(a.item) - getOrderValue(b.item) || b.count - a.count || a.alpha.localeCompare(b.alpha)
2343
2317
  ).map((i) => i.item)
2344
2318
  );
2345
- toolkit.createSelector(
2319
+ createSelector(
2346
2320
  selectOlapDimensionItems,
2347
2321
  (dimensions) => Object.fromEntries(dimensions.map((item) => [item.name, item]))
2348
2322
  );
2349
- var selectLevelTriadMap = toolkit.createSelector(
2323
+ var selectLevelTriadMap = createSelector(
2350
2324
  selectOlapCube,
2351
2325
  (cube) => cube ? mapDimensionHierarchyLevels(cube) : {}
2352
2326
  );
2353
- toolkit.createSelector(
2327
+ createSelector(
2354
2328
  selectOlapDimensionItems,
2355
2329
  (dimensions) => dimensions.find((d) => d.type === "time" || d.name === "Year" || d.name === "Date")
2356
2330
  );
2357
- var selectSerializedParams = toolkit.createSelector(
2331
+ var selectSerializedParams = createSelector(
2358
2332
  selectCurrentQueryItem,
2359
2333
  (queryItem) => serializePermalink(queryItem)
2360
2334
  );
2361
2335
 
2362
2336
  // src/components/DrawerMenu.tsx
2363
- init_cjs_shims();
2337
+ init_esm_shims();
2364
2338
 
2365
2339
  // src/utils/format.js
2366
- init_cjs_shims();
2340
+ init_esm_shims();
2367
2341
  function abbreviateFullName(nameParts, joint = "/") {
2368
2342
  if (!nameParts) {
2369
2343
  return "";
@@ -2383,25 +2357,25 @@ function abbreviateFullName(nameParts, joint = "/") {
2383
2357
  }
2384
2358
 
2385
2359
  // src/components/TableView.tsx
2386
- init_cjs_shims();
2360
+ init_esm_shims();
2387
2361
 
2388
2362
  // src/hooks/formatter.ts
2389
- init_cjs_shims();
2363
+ init_esm_shims();
2390
2364
  var defaultFormatters = {
2391
2365
  undefined: (n) => n,
2392
2366
  identity: (n) => `${n}`,
2393
2367
  Decimal: new Intl.NumberFormat(void 0, { useGrouping: false }).format,
2394
2368
  Dollars: new Intl.NumberFormat(void 0, { style: "currency", currency: "USD" }).format,
2395
- Human: (n) => d3plusFormat.formatAbbreviate(n, "en-US"),
2369
+ Human: (n) => formatAbbreviate(n, "en-US"),
2396
2370
  Milliards: new Intl.NumberFormat(void 0, { useGrouping: true }).format,
2397
2371
  Million: new Intl.NumberFormat(void 0, { useGrouping: true }).format
2398
2372
  };
2399
2373
  var basicFormatterKeys = ["Decimal", "Milliards", "Human"];
2400
2374
  function useFormatter() {
2401
2375
  const { formatters } = useSettings();
2402
- const [formatMap, setFormatMap] = React19.useState({});
2403
- const formatterMap = React19.useRef(formatters);
2404
- return React19.useMemo(() => {
2376
+ const [formatMap, setFormatMap] = useState({});
2377
+ const formatterMap = useRef(formatters);
2378
+ return useMemo(() => {
2405
2379
  return {
2406
2380
  currentFormats: formatMap,
2407
2381
  getAvailableFormats(measure) {
@@ -2428,7 +2402,7 @@ function useFormatter() {
2428
2402
  return formatter3;
2429
2403
  }
2430
2404
  try {
2431
- formatter2 = d3plusFormat.format(key);
2405
+ formatter2 = format(key);
2432
2406
  } catch (e) {
2433
2407
  console.warn(`Formatter not configured: "${key}"`);
2434
2408
  formatter2 = defaultFormatters.identity;
@@ -2450,7 +2424,7 @@ function useFormatter() {
2450
2424
  }
2451
2425
 
2452
2426
  // src/components/CustomActionIcon.tsx
2453
- init_cjs_shims();
2427
+ init_esm_shims();
2454
2428
  var CustomActionIcon = ({
2455
2429
  disabled,
2456
2430
  showTooltip,
@@ -2458,10 +2432,10 @@ var CustomActionIcon = ({
2458
2432
  children,
2459
2433
  label
2460
2434
  }) => {
2461
- const [popoverOpened, setPopoverOpened] = React19__namespace.default.useState(false);
2462
- const actionIcon = /* @__PURE__ */ React19__namespace.default.createElement(core.ActionIcon, { disabled, size: 25, ml: 5, onClick }, children);
2463
- return showTooltip ? /* @__PURE__ */ React19__namespace.default.createElement("div", { onMouseEnter: () => setPopoverOpened(true), onMouseLeave: () => setPopoverOpened(false) }, /* @__PURE__ */ React19__namespace.default.createElement(
2464
- core.Popover,
2435
+ const [popoverOpened, setPopoverOpened] = React19__default.useState(false);
2436
+ const actionIcon = /* @__PURE__ */ React19__default.createElement(ActionIcon, { disabled, size: 25, ml: 5, onClick }, children);
2437
+ return showTooltip ? /* @__PURE__ */ React19__default.createElement("div", { onMouseEnter: () => setPopoverOpened(true), onMouseLeave: () => setPopoverOpened(false) }, /* @__PURE__ */ React19__default.createElement(
2438
+ Popover,
2465
2439
  {
2466
2440
  width: 200,
2467
2441
  position: "left",
@@ -2480,26 +2454,26 @@ var CustomActionIcon = ({
2480
2454
  }
2481
2455
  })
2482
2456
  },
2483
- /* @__PURE__ */ React19__namespace.default.createElement(core.Popover.Target, null, actionIcon),
2484
- /* @__PURE__ */ React19__namespace.default.createElement(core.Popover.Dropdown, null, /* @__PURE__ */ React19__namespace.default.createElement(core.Text, { size: "xs" }, label))
2457
+ /* @__PURE__ */ React19__default.createElement(Popover.Target, null, actionIcon),
2458
+ /* @__PURE__ */ React19__default.createElement(Popover.Dropdown, null, /* @__PURE__ */ React19__default.createElement(Text, { size: "xs" }, label))
2485
2459
  )) : actionIcon;
2486
2460
  };
2487
2461
  var CustomActionIcon_default = CustomActionIcon;
2488
2462
 
2489
2463
  // src/components/TableFooter.tsx
2490
- init_cjs_shims();
2464
+ init_esm_shims();
2491
2465
 
2492
2466
  // src/hooks/useAsync.tsx
2493
- init_cjs_shims();
2467
+ init_esm_shims();
2494
2468
  function useSafeDispatch(dispatch) {
2495
- const mounted = React19__namespace.useRef(false);
2496
- React19__namespace.useLayoutEffect(() => {
2469
+ const mounted = React19.useRef(false);
2470
+ React19.useLayoutEffect(() => {
2497
2471
  mounted.current = true;
2498
2472
  return () => {
2499
2473
  mounted.current = false;
2500
2474
  };
2501
2475
  }, []);
2502
- return React19__namespace.useCallback(
2476
+ return React19.useCallback(
2503
2477
  (...args) => {
2504
2478
  if (mounted.current) {
2505
2479
  dispatch(...args);
@@ -2510,11 +2484,11 @@ function useSafeDispatch(dispatch) {
2510
2484
  }
2511
2485
  var defaultInitialState = { status: "idle", data: null, error: null };
2512
2486
  function useAsync(initialState4) {
2513
- const initialStateRef = React19__namespace.useRef({
2487
+ const initialStateRef = React19.useRef({
2514
2488
  ...defaultInitialState,
2515
2489
  ...initialState4
2516
2490
  });
2517
- const [state, dispatch] = React19__namespace.useReducer(
2491
+ const [state, dispatch] = React19.useReducer(
2518
2492
  (state2, action) => {
2519
2493
  switch (action.type) {
2520
2494
  case "idle":
@@ -2532,16 +2506,16 @@ function useAsync(initialState4) {
2532
2506
  initialStateRef.current
2533
2507
  );
2534
2508
  const safeDispatch = useSafeDispatch(dispatch);
2535
- const setData = React19__namespace.useCallback(
2509
+ const setData = React19.useCallback(
2536
2510
  (data) => safeDispatch({ type: "resolved", data }),
2537
2511
  [safeDispatch]
2538
2512
  );
2539
- const setError = React19__namespace.useCallback(
2513
+ const setError = React19.useCallback(
2540
2514
  (error) => safeDispatch({ type: "rejected", error }),
2541
2515
  [safeDispatch]
2542
2516
  );
2543
- const reset = React19__namespace.useCallback(() => safeDispatch({ type: "idle" }), [safeDispatch]);
2544
- const run = React19__namespace.useCallback(
2517
+ const reset = React19.useCallback(() => safeDispatch({ type: "idle" }), [safeDispatch]);
2518
+ const run = React19.useCallback(
2545
2519
  (promise) => {
2546
2520
  if (!promise || !promise.then) {
2547
2521
  throw new Error(
@@ -2578,8 +2552,8 @@ function useAsync(initialState4) {
2578
2552
  }
2579
2553
 
2580
2554
  // src/components/Select.tsx
2581
- init_cjs_shims();
2582
- var SelectObject = React19.forwardRef(function(props, ref) {
2555
+ init_esm_shims();
2556
+ var SelectObject = forwardRef(function(props, ref) {
2583
2557
  var _a;
2584
2558
  const {
2585
2559
  getLabel,
@@ -2589,7 +2563,7 @@ var SelectObject = React19.forwardRef(function(props, ref) {
2589
2563
  selectedItem,
2590
2564
  selectProps = {}
2591
2565
  } = props;
2592
- const [itemList, itemMap] = React19.useMemo(() => {
2566
+ const [itemList, itemMap] = useMemo(() => {
2593
2567
  const valueAccessor = accesorFactory(getValue2);
2594
2568
  const labelAccessor = getLabel ? accesorFactory(getLabel) : valueAccessor;
2595
2569
  const list = items.map((item) => ({
@@ -2599,7 +2573,7 @@ var SelectObject = React19.forwardRef(function(props, ref) {
2599
2573
  }));
2600
2574
  return [list, keyBy(list, (option) => option.value)];
2601
2575
  }, [items, getLabel, getValue2]);
2602
- const selected = React19.useMemo(() => {
2576
+ const selected = useMemo(() => {
2603
2577
  if (selectedItem == null) return null;
2604
2578
  if (typeof selectedItem === "string") return selectedItem;
2605
2579
  const valueAccessor = accesorFactory(getValue2);
@@ -2611,8 +2585,8 @@ var SelectObject = React19.forwardRef(function(props, ref) {
2611
2585
  if (items.length === 0 || !selected) {
2612
2586
  return null;
2613
2587
  }
2614
- return /* @__PURE__ */ React19__namespace.default.createElement(
2615
- core.Select,
2588
+ return /* @__PURE__ */ React19__default.createElement(
2589
+ Select,
2616
2590
  {
2617
2591
  ref,
2618
2592
  data: itemList,
@@ -2633,11 +2607,11 @@ function inputFocusHandler(event) {
2633
2607
  }
2634
2608
 
2635
2609
  // src/components/CubeSource.tsx
2636
- init_cjs_shims();
2610
+ init_esm_shims();
2637
2611
  function CubeAnnotation(props) {
2638
2612
  const { annotation, item, locale, ...textProps } = props;
2639
2613
  const content = getAnnotation(item, annotation, locale);
2640
- return content ? /* @__PURE__ */ React19__namespace.default.createElement(core.Text, { component: "p", ...textProps }, content) : null;
2614
+ return content ? /* @__PURE__ */ React19__default.createElement(Text, { component: "p", ...textProps }, content) : null;
2641
2615
  }
2642
2616
  function CubeSourceAnchor(props) {
2643
2617
  const { item, locale, ...textProps } = props;
@@ -2645,12 +2619,12 @@ function CubeSourceAnchor(props) {
2645
2619
  const srcName = getAnnotation(item, "source_name", locale);
2646
2620
  const srcLink = getAnnotation(item, "source_link", locale);
2647
2621
  if (!srcName) return null;
2648
- return /* @__PURE__ */ React19__namespace.default.createElement(core.Text, { component: "p", ...textProps }, `${t("params.label_source")}: `, srcLink ? /* @__PURE__ */ React19__namespace.default.createElement(core.Anchor, { href: srcLink }, srcName) : /* @__PURE__ */ React19__namespace.default.createElement(core.Text, { span: true }, srcName));
2622
+ return /* @__PURE__ */ React19__default.createElement(Text, { component: "p", ...textProps }, `${t("params.label_source")}: `, srcLink ? /* @__PURE__ */ React19__default.createElement(Anchor, { href: srcLink }, srcName) : /* @__PURE__ */ React19__default.createElement(Text, { span: true }, srcName));
2649
2623
  }
2650
2624
  function CubeSource() {
2651
- const selectedItem = reactRedux.useSelector(selectOlapCube);
2652
- const { code: locale } = reactRedux.useSelector(selectLocale);
2653
- return selectedItem && /* @__PURE__ */ React19__namespace.default.createElement(core.Text, { sx: { "& p": { margin: 0 } } }, /* @__PURE__ */ React19__namespace.default.createElement(CubeAnnotation, { fz: "xs", fw: "bold", annotation: "table", item: selectedItem, locale }), /* @__PURE__ */ React19__namespace.default.createElement(
2625
+ const selectedItem = useSelector$1(selectOlapCube);
2626
+ const { code: locale } = useSelector$1(selectLocale);
2627
+ return selectedItem && /* @__PURE__ */ React19__default.createElement(Text, { sx: { "& p": { margin: 0 } } }, /* @__PURE__ */ React19__default.createElement(CubeAnnotation, { fz: "xs", fw: "bold", annotation: "table", item: selectedItem, locale }), /* @__PURE__ */ React19__default.createElement(
2654
2628
  CubeAnnotation,
2655
2629
  {
2656
2630
  annotation: "description",
@@ -2658,7 +2632,7 @@ function CubeSource() {
2658
2632
  item: selectedItem,
2659
2633
  locale
2660
2634
  }
2661
- ), /* @__PURE__ */ React19__namespace.default.createElement(CubeSourceAnchor, { item: selectedItem, locale, fz: "xs" }), /* @__PURE__ */ React19__namespace.default.createElement(
2635
+ ), /* @__PURE__ */ React19__default.createElement(CubeSourceAnchor, { item: selectedItem, locale, fz: "xs" }), /* @__PURE__ */ React19__default.createElement(
2662
2636
  CubeAnnotation,
2663
2637
  {
2664
2638
  annotation: "source_description",
@@ -2671,13 +2645,13 @@ function CubeSource() {
2671
2645
  }
2672
2646
 
2673
2647
  // src/components/LocaleSelector.tsx
2674
- init_cjs_shims();
2648
+ init_esm_shims();
2675
2649
 
2676
2650
  // src/components/SelectCubes.tsx
2677
- init_cjs_shims();
2651
+ init_esm_shims();
2678
2652
 
2679
2653
  // src/utils/graph.js
2680
- init_cjs_shims();
2654
+ init_esm_shims();
2681
2655
  var Graph = class {
2682
2656
  constructor() {
2683
2657
  this.nodes = /* @__PURE__ */ new Set([]);
@@ -2751,7 +2725,7 @@ var Graph = class {
2751
2725
  const map = /* @__PURE__ */ new Map();
2752
2726
  const matches = [];
2753
2727
  if (filter !== "") {
2754
- const results = matchSorter.matchSorter(this.items, filter, {
2728
+ const results = matchSorter(this.items, filter, {
2755
2729
  keys: [
2756
2730
  "name",
2757
2731
  (item) => getAnnotation(item, "topic", locale) || "",
@@ -2814,17 +2788,17 @@ var Graph = class {
2814
2788
  var graph_default = Graph;
2815
2789
 
2816
2790
  // src/components/Results.tsx
2817
- init_cjs_shims();
2791
+ init_esm_shims();
2818
2792
 
2819
2793
  // src/components/SideBar.tsx
2820
- init_cjs_shims();
2794
+ init_esm_shims();
2821
2795
 
2822
2796
  // src/utils/create-context.ts
2823
- init_cjs_shims();
2797
+ init_esm_shims();
2824
2798
  var createContext3 = (name4) => {
2825
- const Context = React19__namespace.default.createContext(void 0);
2799
+ const Context = React19__default.createContext(void 0);
2826
2800
  const useContext3 = () => {
2827
- const ctx = React19__namespace.default.useContext(Context);
2801
+ const ctx = React19__default.useContext(Context);
2828
2802
  if (ctx === void 0) {
2829
2803
  throw new Error(`useContext for must be inside a ${name4}Provider with a value`);
2830
2804
  }
@@ -2834,9 +2808,9 @@ var createContext3 = (name4) => {
2834
2808
  };
2835
2809
 
2836
2810
  // src/components/icons/index.tsx
2837
- init_cjs_shims();
2811
+ init_esm_shims();
2838
2812
  function DataSetSVG() {
2839
- return /* @__PURE__ */ React19__namespace.default.createElement(
2813
+ return /* @__PURE__ */ React19__default.createElement(
2840
2814
  "svg",
2841
2815
  {
2842
2816
  width: "25",
@@ -2846,7 +2820,7 @@ function DataSetSVG() {
2846
2820
  stroke: "currentColor",
2847
2821
  xmlns: "http://www.w3.org/2000/svg"
2848
2822
  },
2849
- /* @__PURE__ */ React19__namespace.default.createElement(
2823
+ /* @__PURE__ */ React19__default.createElement(
2850
2824
  "path",
2851
2825
  {
2852
2826
  d: "M3.33325 5C3.33325 5.66304 4.03563 6.29893 5.28587 6.76777C6.53612 7.23661 8.23181 7.5 9.99992 7.5C11.768 7.5 13.4637 7.23661 14.714 6.76777C15.9642 6.29893 16.6666 5.66304 16.6666 5C16.6666 4.33696 15.9642 3.70107 14.714 3.23223C13.4637 2.76339 11.768 2.5 9.99992 2.5C8.23181 2.5 6.53612 2.76339 5.28587 3.23223C4.03563 3.70107 3.33325 4.33696 3.33325 5Z",
@@ -2854,7 +2828,7 @@ function DataSetSVG() {
2854
2828
  strokeLinejoin: "round"
2855
2829
  }
2856
2830
  ),
2857
- /* @__PURE__ */ React19__namespace.default.createElement(
2831
+ /* @__PURE__ */ React19__default.createElement(
2858
2832
  "path",
2859
2833
  {
2860
2834
  d: "M3.33325 5V10C3.33325 10.663 4.03563 11.2989 5.28587 11.7678C6.53612 12.2366 8.23181 12.5 9.99992 12.5C11.768 12.5 13.4637 12.2366 14.714 11.7678C15.9642 11.2989 16.6666 10.663 16.6666 10V5",
@@ -2862,7 +2836,7 @@ function DataSetSVG() {
2862
2836
  strokeLinejoin: "round"
2863
2837
  }
2864
2838
  ),
2865
- /* @__PURE__ */ React19__namespace.default.createElement(
2839
+ /* @__PURE__ */ React19__default.createElement(
2866
2840
  "path",
2867
2841
  {
2868
2842
  d: "M3.33325 10V15C3.33325 15.663 4.03563 16.2989 5.28587 16.7678C6.53612 17.2366 8.23181 17.5 9.99992 17.5C11.768 17.5 13.4637 17.2366 14.714 16.7678C15.9642 16.2989 16.6666 15.663 16.6666 15V10",
@@ -2873,7 +2847,7 @@ function DataSetSVG() {
2873
2847
  );
2874
2848
  }
2875
2849
  function StackSVG() {
2876
- return /* @__PURE__ */ React19__namespace.default.createElement(
2850
+ return /* @__PURE__ */ React19__default.createElement(
2877
2851
  "svg",
2878
2852
  {
2879
2853
  width: "15",
@@ -2882,12 +2856,12 @@ function StackSVG() {
2882
2856
  fill: "currentColor",
2883
2857
  xmlns: "http://www.w3.org/2000/svg"
2884
2858
  },
2885
- /* @__PURE__ */ React19__namespace.default.createElement("path", { d: "M14 3.38826C14 1.87066 10.7949 0.588257 7 0.588257C3.20513 0.588257 0 1.87066 0 3.38826V4.78826C0 6.30586 3.20513 7.58826 7 7.58826C10.7949 7.58826 14 6.30586 14 4.78826V3.38826ZM7 12.4883C3.20513 12.4883 0 11.2059 0 9.68826V11.7883C0 13.3059 3.20513 14.5883 7 14.5883C10.7949 14.5883 14 13.3059 14 11.7883V9.68826C14 11.2059 10.7949 12.4883 7 12.4883Z" }),
2886
- /* @__PURE__ */ React19__namespace.default.createElement("path", { d: "M14 6.18823C14 7.70583 10.7949 8.98823 7 8.98823C3.20513 8.98823 0 7.70583 0 6.18823V8.28823C0 9.80583 3.20513 11.0882 7 11.0882C10.7949 11.0882 14 9.80583 14 8.28823V6.18823Z" })
2859
+ /* @__PURE__ */ React19__default.createElement("path", { d: "M14 3.38826C14 1.87066 10.7949 0.588257 7 0.588257C3.20513 0.588257 0 1.87066 0 3.38826V4.78826C0 6.30586 3.20513 7.58826 7 7.58826C10.7949 7.58826 14 6.30586 14 4.78826V3.38826ZM7 12.4883C3.20513 12.4883 0 11.2059 0 9.68826V11.7883C0 13.3059 3.20513 14.5883 7 14.5883C10.7949 14.5883 14 13.3059 14 11.7883V9.68826C14 11.2059 10.7949 12.4883 7 12.4883Z" }),
2860
+ /* @__PURE__ */ React19__default.createElement("path", { d: "M14 6.18823C14 7.70583 10.7949 8.98823 7 8.98823C3.20513 8.98823 0 7.70583 0 6.18823V8.28823C0 9.80583 3.20513 11.0882 7 11.0882C10.7949 11.0882 14 9.80583 14 8.28823V6.18823Z" })
2887
2861
  );
2888
2862
  }
2889
2863
  function BarsSVG() {
2890
- return /* @__PURE__ */ React19__namespace.default.createElement(
2864
+ return /* @__PURE__ */ React19__default.createElement(
2891
2865
  "svg",
2892
2866
  {
2893
2867
  width: "15",
@@ -2896,11 +2870,11 @@ function BarsSVG() {
2896
2870
  xmlns: "http://www.w3.org/2000/svg",
2897
2871
  fill: "currentColor"
2898
2872
  },
2899
- /* @__PURE__ */ React19__namespace.default.createElement("path", { d: "M3.78947 9.6H0.631579V4.8H3.78947V9.6ZM7.57895 9.6H4.42105V2.4H7.57895V9.6ZM11.3684 9.6H8.21053V0H11.3684V9.6ZM12 12H0V10.8H12V12Z" })
2873
+ /* @__PURE__ */ React19__default.createElement("path", { d: "M3.78947 9.6H0.631579V4.8H3.78947V9.6ZM7.57895 9.6H4.42105V2.4H7.57895V9.6ZM11.3684 9.6H8.21053V0H11.3684V9.6ZM12 12H0V10.8H12V12Z" })
2900
2874
  );
2901
2875
  }
2902
2876
  function FullScreenSVG() {
2903
- return /* @__PURE__ */ React19__namespace.default.createElement("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", strokeWidth: 1.5 }, /* @__PURE__ */ React19__namespace.default.createElement("g", { clipPath: "url(#clip0_905_15763)" }, /* @__PURE__ */ React19__namespace.default.createElement(
2877
+ return /* @__PURE__ */ React19__default.createElement("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", strokeWidth: 1.5 }, /* @__PURE__ */ React19__default.createElement("g", { clipPath: "url(#clip0_905_15763)" }, /* @__PURE__ */ React19__default.createElement(
2904
2878
  "path",
2905
2879
  {
2906
2880
  d: "M3.33325 6.66668V5.00001C3.33325 4.55798 3.50885 4.13406 3.82141 3.8215C4.13397 3.50894 4.55789 3.33334 4.99992 3.33334H6.66659",
@@ -2908,7 +2882,7 @@ function FullScreenSVG() {
2908
2882
  strokeLinecap: "round",
2909
2883
  strokeLinejoin: "round"
2910
2884
  }
2911
- ), /* @__PURE__ */ React19__namespace.default.createElement(
2885
+ ), /* @__PURE__ */ React19__default.createElement(
2912
2886
  "path",
2913
2887
  {
2914
2888
  d: "M3.33325 13.3333V15C3.33325 15.442 3.50885 15.866 3.82141 16.1785C4.13397 16.4911 4.55789 16.6667 4.99992 16.6667H6.66659",
@@ -2916,7 +2890,7 @@ function FullScreenSVG() {
2916
2890
  strokeLinecap: "round",
2917
2891
  strokeLinejoin: "round"
2918
2892
  }
2919
- ), /* @__PURE__ */ React19__namespace.default.createElement(
2893
+ ), /* @__PURE__ */ React19__default.createElement(
2920
2894
  "path",
2921
2895
  {
2922
2896
  d: "M13.3333 3.33334H14.9999C15.4419 3.33334 15.8659 3.50894 16.1784 3.8215C16.491 4.13406 16.6666 4.55798 16.6666 5.00001V6.66668",
@@ -2924,7 +2898,7 @@ function FullScreenSVG() {
2924
2898
  strokeLinecap: "round",
2925
2899
  strokeLinejoin: "round"
2926
2900
  }
2927
- ), /* @__PURE__ */ React19__namespace.default.createElement(
2901
+ ), /* @__PURE__ */ React19__default.createElement(
2928
2902
  "path",
2929
2903
  {
2930
2904
  d: "M13.3333 16.6667H14.9999C15.4419 16.6667 15.8659 16.4911 16.1784 16.1785C16.491 15.866 16.6666 15.442 16.6666 15V13.3333",
@@ -2932,14 +2906,14 @@ function FullScreenSVG() {
2932
2906
  strokeLinecap: "round",
2933
2907
  strokeLinejoin: "round"
2934
2908
  }
2935
- )), /* @__PURE__ */ React19__namespace.default.createElement("defs", null, /* @__PURE__ */ React19__namespace.default.createElement("clipPath", { id: "clip0_905_15763" }, /* @__PURE__ */ React19__namespace.default.createElement("rect", { width: "20", height: "20", fill: "white" }))));
2909
+ )), /* @__PURE__ */ React19__default.createElement("defs", null, /* @__PURE__ */ React19__default.createElement("clipPath", { id: "clip0_905_15763" }, /* @__PURE__ */ React19__default.createElement("rect", { width: "20", height: "20", fill: "white" }))));
2936
2910
  }
2937
2911
 
2938
2912
  // src/hooks/buildGraph.tsx
2939
- init_cjs_shims();
2913
+ init_esm_shims();
2940
2914
  function useBuildGraph(locale) {
2941
2915
  const items = useSelector(selectOlapCubeItems);
2942
- const graph = React19.useMemo(() => {
2916
+ const graph = useMemo(() => {
2943
2917
  const graph2 = new graph_default();
2944
2918
  const filteredItems = items.map((item) => {
2945
2919
  const { name: name4 } = item;
@@ -2947,7 +2921,7 @@ function useBuildGraph(locale) {
2947
2921
  const subtopic = getAnnotation(item, "subtopic", locale);
2948
2922
  getAnnotation(item, "table", locale);
2949
2923
  const hide = getAnnotation(item, "hide_in_ui", locale);
2950
- if (!yn__default.default(hide)) {
2924
+ if (!yn(hide)) {
2951
2925
  graph2.addNode(topic);
2952
2926
  graph2.addNode(subtopic);
2953
2927
  graph2.addNode(name4);
@@ -2964,10 +2938,10 @@ function useBuildGraph(locale) {
2964
2938
  }
2965
2939
 
2966
2940
  // src/hooks/cubeSearch.tsx
2967
- init_cjs_shims();
2941
+ init_esm_shims();
2968
2942
  function useCubeSearch(input, graph) {
2969
2943
  const { code: locale } = useSelector(selectLocale);
2970
- const results = React19.useMemo(() => {
2944
+ const results = useMemo(() => {
2971
2945
  if (graph.items.length > 0) {
2972
2946
  const { matches, map } = graph.filter(locale, input);
2973
2947
  return {
@@ -2986,11 +2960,11 @@ function useCubeSearch(input, graph) {
2986
2960
  // src/components/SideBar.tsx
2987
2961
  var [useSideBar, Provider] = createContext3("SideBar");
2988
2962
  function SideBarProvider(props) {
2989
- const [input, setInput] = hooks.useDebouncedState("", 200);
2990
- const [expanded, setExpanded] = React19.useState(true);
2963
+ const [input, setInput] = useDebouncedState("", 200);
2964
+ const [expanded, setExpanded] = useState(true);
2991
2965
  const graph = useBuildGraph(props.locale);
2992
2966
  const { results, map } = useCubeSearch(input, graph);
2993
- return /* @__PURE__ */ React19__namespace.default.createElement(
2967
+ return /* @__PURE__ */ React19__default.createElement(
2994
2968
  Provider,
2995
2969
  {
2996
2970
  ...props,
@@ -3013,15 +2987,15 @@ function SideBarControlBtn({ actionIconProps = {} }) {
3013
2987
  color: t.colorScheme === "dark" ? t.white : t.colors.gray[7]
3014
2988
  });
3015
2989
  if (expanded) return null;
3016
- return /* @__PURE__ */ React19__namespace.default.createElement(
3017
- core.ActionIcon,
2990
+ return /* @__PURE__ */ React19__default.createElement(
2991
+ ActionIcon,
3018
2992
  {
3019
2993
  onClick: () => setExpanded(!expanded),
3020
2994
  variant: "subtle",
3021
2995
  ...actionIconProps,
3022
- sx: [sx, ...core.packSx(actionIconProps.sx)]
2996
+ sx: [sx, ...packSx(actionIconProps.sx)]
3023
2997
  },
3024
- /* @__PURE__ */ React19__namespace.default.createElement(DataSetSVG, null)
2998
+ /* @__PURE__ */ React19__default.createElement(DataSetSVG, null)
3025
2999
  );
3026
3000
  }
3027
3001
  function SideBarControlBtnFixed() {
@@ -3034,15 +3008,15 @@ function SideBarControlBtnFixed() {
3034
3008
  height: 50
3035
3009
  })
3036
3010
  };
3037
- return /* @__PURE__ */ React19__namespace.default.createElement(core.Affix, { position: { left: "1rem", bottom: 150 } }, /* @__PURE__ */ React19__namespace.default.createElement(SideBarControlBtn, { actionIconProps }));
3011
+ return /* @__PURE__ */ React19__default.createElement(Affix, { position: { left: "1rem", bottom: 150 } }, /* @__PURE__ */ React19__default.createElement(SideBarControlBtn, { actionIconProps }));
3038
3012
  }
3039
3013
  function SideBar(props) {
3040
3014
  const { expanded, setExpanded } = useSideBar();
3041
3015
  const { translate: t } = useTranslation();
3042
- const theme = core.useMantineTheme();
3043
- const smallerThanMd = hooks.useMediaQuery(`(max-width: ${theme.breakpoints.md})`);
3044
- return /* @__PURE__ */ React19__namespace.default.createElement(React19__namespace.default.Fragment, null, smallerThanMd && /* @__PURE__ */ React19__namespace.default.createElement(SideBarControlBtnFixed, null), /* @__PURE__ */ React19__namespace.default.createElement(
3045
- core.Box,
3016
+ const theme = useMantineTheme();
3017
+ const smallerThanMd = useMediaQuery(`(max-width: ${theme.breakpoints.md})`);
3018
+ return /* @__PURE__ */ React19__default.createElement(React19__default.Fragment, null, smallerThanMd && /* @__PURE__ */ React19__default.createElement(SideBarControlBtnFixed, null), /* @__PURE__ */ React19__default.createElement(
3019
+ Box,
3046
3020
  {
3047
3021
  id: "dex-sidebar",
3048
3022
  py: "md",
@@ -3067,8 +3041,8 @@ function SideBar(props) {
3067
3041
  }
3068
3042
  })
3069
3043
  },
3070
- /* @__PURE__ */ React19__namespace.default.createElement(core.Flex, { h: "100%", direction: "column", justify: "flex-start" }, /* @__PURE__ */ React19__namespace.default.createElement(core.Box, { px: "sm", my: "sm" }, /* @__PURE__ */ React19__namespace.default.createElement(core.Flex, { direction: "column", sx: { flex: 1 } }, /* @__PURE__ */ React19__namespace.default.createElement(core.Flex, { align: "center", justify: "apart" }, /* @__PURE__ */ React19__namespace.default.createElement(SideBarControlBtn, null), /* @__PURE__ */ React19__namespace.default.createElement(
3071
- core.Group,
3044
+ /* @__PURE__ */ React19__default.createElement(Flex, { h: "100%", direction: "column", justify: "flex-start" }, /* @__PURE__ */ React19__default.createElement(Box, { px: "sm", my: "sm" }, /* @__PURE__ */ React19__default.createElement(Flex, { direction: "column", sx: { flex: 1 } }, /* @__PURE__ */ React19__default.createElement(Flex, { align: "center", justify: "apart" }, /* @__PURE__ */ React19__default.createElement(SideBarControlBtn, null), /* @__PURE__ */ React19__default.createElement(
3045
+ Group,
3072
3046
  {
3073
3047
  position: "apart",
3074
3048
  noWrap: true,
@@ -3079,9 +3053,9 @@ function SideBar(props) {
3079
3053
  width: expanded ? 300 : 0
3080
3054
  }
3081
3055
  },
3082
- /* @__PURE__ */ React19__namespace.default.createElement(core.Text, { sx: (t2) => ({ color: t2.colorScheme === "dark" ? t2.white : t2.black }), ml: "sm" }, t("params.label_dataset"))
3083
- )), /* @__PURE__ */ React19__namespace.default.createElement(
3084
- core.Box,
3056
+ /* @__PURE__ */ React19__default.createElement(Text, { sx: (t2) => ({ color: t2.colorScheme === "dark" ? t2.white : t2.black }), ml: "sm" }, t("params.label_dataset"))
3057
+ )), /* @__PURE__ */ React19__default.createElement(
3058
+ Box,
3085
3059
  {
3086
3060
  my: "md",
3087
3061
  sx: {
@@ -3091,9 +3065,9 @@ function SideBar(props) {
3091
3065
  width: expanded ? "100%" : 0
3092
3066
  }
3093
3067
  },
3094
- /* @__PURE__ */ React19__namespace.default.createElement(Auto, null)
3095
- ), /* @__PURE__ */ React19__namespace.default.createElement(core.Box, { sx: { flexGrow: 1 } }))), /* @__PURE__ */ React19__namespace.default.createElement(
3096
- core.ScrollArea,
3068
+ /* @__PURE__ */ React19__default.createElement(Auto, null)
3069
+ ), /* @__PURE__ */ React19__default.createElement(Box, { sx: { flexGrow: 1 } }))), /* @__PURE__ */ React19__default.createElement(
3070
+ ScrollArea,
3097
3071
  {
3098
3072
  id: "dex-select-cube-area",
3099
3073
  sx: (theme2) => ({
@@ -3102,9 +3076,9 @@ function SideBar(props) {
3102
3076
  borderTopStyle: expanded ? "solid" : "none"
3103
3077
  })
3104
3078
  },
3105
- /* @__PURE__ */ React19__namespace.default.createElement(core.Box, { h: expanded ? "auto" : "0px" }, props.children)
3106
- ), /* @__PURE__ */ React19__namespace.default.createElement(
3107
- core.Group,
3079
+ /* @__PURE__ */ React19__default.createElement(Box, { h: expanded ? "auto" : "0px" }, props.children)
3080
+ ), /* @__PURE__ */ React19__default.createElement(
3081
+ Group,
3108
3082
  {
3109
3083
  align: "center",
3110
3084
  position: expanded ? "right" : "center",
@@ -3113,8 +3087,8 @@ function SideBar(props) {
3113
3087
  sx: { alignSelf: "flex-end", marginTop: "auto" },
3114
3088
  noWrap: true
3115
3089
  },
3116
- /* @__PURE__ */ React19__namespace.default.createElement(
3117
- core.ActionIcon,
3090
+ /* @__PURE__ */ React19__default.createElement(
3091
+ ActionIcon,
3118
3092
  {
3119
3093
  onClick: () => setExpanded(!expanded),
3120
3094
  variant: "subtle",
@@ -3122,7 +3096,7 @@ function SideBar(props) {
3122
3096
  color: "primaryColor",
3123
3097
  sx: (t2) => ({ alignSelf: "flex-end" })
3124
3098
  },
3125
- expanded ? /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconChevronLeft, { size: "1.5rem" }) : /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconChevronRight, { size: "1.5rem" })
3099
+ expanded ? /* @__PURE__ */ React19__default.createElement(IconChevronLeft, { size: "1.5rem" }) : /* @__PURE__ */ React19__default.createElement(IconChevronRight, { size: "1.5rem" })
3126
3100
  )
3127
3101
  ))
3128
3102
  ));
@@ -3130,8 +3104,8 @@ function SideBar(props) {
3130
3104
  var SideBar_default = SideBar;
3131
3105
  function SideBarItem({ children }) {
3132
3106
  const { expanded } = useSideBar();
3133
- return /* @__PURE__ */ React19__namespace.default.createElement(
3134
- core.Box,
3107
+ return /* @__PURE__ */ React19__default.createElement(
3108
+ Box,
3135
3109
  {
3136
3110
  sx: {
3137
3111
  overflow: "hidden",
@@ -3146,10 +3120,10 @@ function SideBarItem({ children }) {
3146
3120
  function Auto() {
3147
3121
  const { translate: t } = useTranslation();
3148
3122
  const { expanded, input, setInput } = useSideBar();
3149
- return /* @__PURE__ */ React19__namespace.default.createElement(
3150
- core.Input,
3123
+ return /* @__PURE__ */ React19__default.createElement(
3124
+ Input,
3151
3125
  {
3152
- icon: /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconSearch, null),
3126
+ icon: /* @__PURE__ */ React19__default.createElement(IconSearch, null),
3153
3127
  id: "dex-search",
3154
3128
  radius: "xl",
3155
3129
  size: "md",
@@ -3166,8 +3140,8 @@ function Auto() {
3166
3140
  whiteSpace: "nowrap"
3167
3141
  }
3168
3142
  },
3169
- rightSection: /* @__PURE__ */ React19__namespace.default.createElement(
3170
- core.CloseButton,
3143
+ rightSection: /* @__PURE__ */ React19__default.createElement(
3144
+ CloseButton,
3171
3145
  {
3172
3146
  "aria-label": "Clear input",
3173
3147
  onClick: () => setInput(""),
@@ -3187,11 +3161,11 @@ function Results(props) {
3187
3161
  if (map) {
3188
3162
  for (let [key, items] of map) {
3189
3163
  const [topic, subtopic] = key.split(" - ");
3190
- const component = /* @__PURE__ */ React19__namespace.default.createElement("div", { key }, /* @__PURE__ */ React19__namespace.default.createElement(core.Divider, { my: "xs", label: key }), items.map((item) => {
3164
+ const component = /* @__PURE__ */ React19__default.createElement("div", { key }, /* @__PURE__ */ React19__default.createElement(Divider, { my: "xs", label: key }), items.map((item) => {
3191
3165
  const cube = getCube2(graph.items, item, subtopic, locale);
3192
3166
  const table = getAnnotation(cube, "table", locale);
3193
- return /* @__PURE__ */ React19__namespace.default.createElement(
3194
- core.Text,
3167
+ return /* @__PURE__ */ React19__default.createElement(
3168
+ Text,
3195
3169
  {
3196
3170
  key: cube.name,
3197
3171
  component: "a",
@@ -3209,9 +3183,9 @@ function Results(props) {
3209
3183
  result.push(component);
3210
3184
  }
3211
3185
  }
3212
- return /* @__PURE__ */ React19__namespace.default.createElement(core.Box, { px: "sm" }, result);
3186
+ return /* @__PURE__ */ React19__default.createElement(Box, { px: "sm" }, result);
3213
3187
  }
3214
- var useStyles2 = core.createStyles((theme) => ({
3188
+ var useStyles2 = createStyles((theme) => ({
3215
3189
  link: {
3216
3190
  ...theme.fn.focusStyles(),
3217
3191
  WebkitTapHighlightColor: "transparent",
@@ -3220,7 +3194,7 @@ var useStyles2 = core.createStyles((theme) => ({
3220
3194
  textDecoration: "none",
3221
3195
  color: theme.colorScheme === "dark" ? theme.colors.dark[1] : theme.colors.gray[7],
3222
3196
  padding: theme.spacing.xs,
3223
- minHeight: core.rem(20),
3197
+ minHeight: rem(20),
3224
3198
  fontSize: theme.fontSizes.sm,
3225
3199
  whiteSpace: "wrap",
3226
3200
  cursor: "pointer",
@@ -3245,24 +3219,24 @@ var EMPTY_RESPONSE = {
3245
3219
  page: { offset: 0, limit: 0, total: 0 }
3246
3220
  };
3247
3221
  function SelectCube({ locale }) {
3248
- const items = reactRedux.useSelector(selectOlapCubeItems);
3249
- const selectedItem = reactRedux.useSelector(selectOlapCube);
3222
+ const items = useSelector$1(selectOlapCubeItems);
3223
+ const selectedItem = useSelector$1(selectOlapCube);
3250
3224
  if (items.length === 1) {
3251
3225
  return null;
3252
3226
  }
3253
- return /* @__PURE__ */ React19__namespace.default.createElement(SelectCubeInternal, { items, selectedItem, locale });
3227
+ return /* @__PURE__ */ React19__default.createElement(SelectCubeInternal, { items, selectedItem, locale });
3254
3228
  }
3255
3229
  function SelectCubeInternal(props) {
3256
3230
  const { measuresActive } = useSettings();
3257
3231
  const { items, selectedItem, locale } = props;
3258
3232
  const { updateMeasure, updateDrilldown, willFetchMembers: willFetchMembers2, updateCut } = useActions();
3259
- const cutItems = reactRedux.useSelector(selectCutItems);
3260
- const cube = reactRedux.useSelector(selectCubeName);
3261
- const itemMap = reactRedux.useSelector(selectMeasureMap);
3262
- const dimensions = reactRedux.useSelector(selectOlapDimensionItems);
3263
- const drilldowns = reactRedux.useSelector(selectDrilldownMap);
3264
- const ditems = reactRedux.useSelector(selectDrilldownItems);
3265
- const createCutHandler = React19.useCallback((level) => {
3233
+ const cutItems = useSelector$1(selectCutItems);
3234
+ const cube = useSelector$1(selectCubeName);
3235
+ const itemMap = useSelector$1(selectMeasureMap);
3236
+ const dimensions = useSelector$1(selectOlapDimensionItems);
3237
+ const drilldowns = useSelector$1(selectDrilldownMap);
3238
+ const ditems = useSelector$1(selectDrilldownItems);
3239
+ const createCutHandler = useCallback((level) => {
3266
3240
  updateCut(buildCut({ ...level, active: false }));
3267
3241
  }, []);
3268
3242
  function createDrilldown(level, cuts) {
@@ -3282,7 +3256,7 @@ function SelectCubeInternal(props) {
3282
3256
  return drilldown;
3283
3257
  }
3284
3258
  }
3285
- React19.useEffect(() => {
3259
+ useEffect(() => {
3286
3260
  const params = new URLSearchParams(location.search);
3287
3261
  const cubeParam = params.get("cube");
3288
3262
  if (selectedItem && cube && !cubeParam) {
@@ -3302,10 +3276,10 @@ function SelectCubeInternal(props) {
3302
3276
  }
3303
3277
  }
3304
3278
  }, [selectedItem, cube, measuresActive]);
3305
- return /* @__PURE__ */ React19__namespace.default.createElement(core.Stack, { id: "dex-select-cube", spacing: "xs", w: "100%" }, /* @__PURE__ */ React19__namespace.default.createElement(CubeTree, { items, locale, selectedItem }));
3279
+ return /* @__PURE__ */ React19__default.createElement(Stack, { id: "dex-select-cube", spacing: "xs", w: "100%" }, /* @__PURE__ */ React19__default.createElement(CubeTree, { items, locale, selectedItem }));
3306
3280
  }
3307
3281
  function AccordionControl(props) {
3308
- return /* @__PURE__ */ React19__namespace.default.createElement(core.Box, { sx: { display: "flex", alignItems: "center" } }, /* @__PURE__ */ React19__namespace.default.createElement(core.Accordion.Control, { ...props }));
3282
+ return /* @__PURE__ */ React19__default.createElement(Box, { sx: { display: "flex", alignItems: "center" } }, /* @__PURE__ */ React19__default.createElement(Accordion.Control, { ...props }));
3309
3283
  }
3310
3284
  function getKeys2(items, k, locale, filter) {
3311
3285
  let cubes = items;
@@ -3339,7 +3313,7 @@ function CubeTree({
3339
3313
  const { translate: t } = useTranslation();
3340
3314
  const { measuresActive } = useSettings();
3341
3315
  const actions2 = useActions();
3342
- const query = reactRedux.useSelector(selectCurrentQueryParams);
3316
+ const query = useSelector$1(selectCurrentQueryParams);
3343
3317
  const onSelectCube = (table, subtopic) => {
3344
3318
  const cube = items.find(
3345
3319
  (item) => item.name === table && getAnnotation(item, "subtopic", locale) === subtopic
@@ -3354,15 +3328,15 @@ function CubeTree({
3354
3328
  });
3355
3329
  }
3356
3330
  };
3357
- let topics = React19.useMemo(
3331
+ let topics = useMemo(
3358
3332
  () => getKeys2(graph.items, "topic", locale),
3359
3333
  [graph.items, locale]
3360
3334
  );
3361
3335
  topics = [topics[0], topics[1]];
3362
3336
  if (input.length > 0 && map && !(map.size > 0)) {
3363
- return /* @__PURE__ */ React19__namespace.default.createElement(core.Text, { ta: "center", fz: "xs", my: "sm", italic: true }, t("params.label_no_results"));
3337
+ return /* @__PURE__ */ React19__default.createElement(Text, { ta: "center", fz: "xs", my: "sm", italic: true }, t("params.label_no_results"));
3364
3338
  }
3365
- return map && map.size > 0 ? /* @__PURE__ */ React19__namespace.default.createElement(
3339
+ return map && map.size > 0 ? /* @__PURE__ */ React19__default.createElement(
3366
3340
  Results_default,
3367
3341
  {
3368
3342
  onSelectCube,
@@ -3372,7 +3346,7 @@ function CubeTree({
3372
3346
  graph,
3373
3347
  locale
3374
3348
  }
3375
- ) : graph.items.length > 0 && /* @__PURE__ */ React19__namespace.default.createElement(
3349
+ ) : graph.items.length > 0 && /* @__PURE__ */ React19__default.createElement(
3376
3350
  RootAccordions,
3377
3351
  {
3378
3352
  items: topics,
@@ -3384,9 +3358,9 @@ function CubeTree({
3384
3358
  );
3385
3359
  }
3386
3360
  function useAccordionValue(key, locale) {
3387
- const selectedItem = reactRedux.useSelector(selectOlapCube);
3388
- const [value, setValue] = React19.useState(null);
3389
- React19.useEffect(() => {
3361
+ const selectedItem = useSelector$1(selectOlapCube);
3362
+ const [value, setValue] = useState(null);
3363
+ useEffect(() => {
3390
3364
  if (selectedItem) {
3391
3365
  const value2 = getAnnotation(selectedItem, key, locale);
3392
3366
  setValue(`${key}-${value2}`);
@@ -3396,8 +3370,8 @@ function useAccordionValue(key, locale) {
3396
3370
  }
3397
3371
  function RootAccordions({ items, graph, locale, selectedItem, onSelectCube }) {
3398
3372
  const { value, setValue } = useAccordionValue("topic", locale);
3399
- return /* @__PURE__ */ React19__namespace.default.createElement(
3400
- core.Accordion,
3373
+ return /* @__PURE__ */ React19__default.createElement(
3374
+ Accordion,
3401
3375
  {
3402
3376
  value,
3403
3377
  onChange: setValue,
@@ -3427,7 +3401,7 @@ function RootAccordions({ items, graph, locale, selectedItem, onSelectCube }) {
3427
3401
  })
3428
3402
  },
3429
3403
  items.map((item) => {
3430
- return /* @__PURE__ */ React19__namespace.default.createElement(core.Accordion.Item, { value: `topic-${item}`, key: `topic-${item}` }, /* @__PURE__ */ React19__namespace.default.createElement(AccordionControl, null, item), /* @__PURE__ */ React19__namespace.default.createElement(core.Accordion.Panel, null, /* @__PURE__ */ React19__namespace.default.createElement(
3404
+ return /* @__PURE__ */ React19__default.createElement(Accordion.Item, { value: `topic-${item}`, key: `topic-${item}` }, /* @__PURE__ */ React19__default.createElement(AccordionControl, null, item), /* @__PURE__ */ React19__default.createElement(Accordion.Panel, null, /* @__PURE__ */ React19__default.createElement(
3431
3405
  SubtopicAccordion,
3432
3406
  {
3433
3407
  graph,
@@ -3453,8 +3427,8 @@ function CubeButton({
3453
3427
  const { classes } = useStyles2();
3454
3428
  const table = graph.getName(item, locale);
3455
3429
  const subtopic = parent != null ? parent : "";
3456
- return /* @__PURE__ */ React19__namespace.default.createElement(
3457
- core.Text,
3430
+ return /* @__PURE__ */ React19__default.createElement(
3431
+ Text,
3458
3432
  {
3459
3433
  key: `table-${item}`,
3460
3434
  fz: "xs",
@@ -3481,8 +3455,8 @@ function SubtopicAccordion({
3481
3455
  locale
3482
3456
  }) {
3483
3457
  const { value, setValue } = useAccordionValue("subtopic", locale);
3484
- return /* @__PURE__ */ React19__namespace.default.createElement(
3485
- core.Accordion,
3458
+ return /* @__PURE__ */ React19__default.createElement(
3459
+ Accordion,
3486
3460
  {
3487
3461
  value,
3488
3462
  onChange: setValue,
@@ -3508,7 +3482,7 @@ function SubtopicAccordion({
3508
3482
  },
3509
3483
  [...items].map((item, index) => {
3510
3484
  const filtered = [...graph.adjList[item]].filter((value2) => value2 !== parent);
3511
- return /* @__PURE__ */ React19__namespace.default.createElement(core.Accordion.Item, { value: `subtopic-${item}`, key: `subtopic-${item}-${index}` }, /* @__PURE__ */ React19__namespace.default.createElement(AccordionControl, null, item), /* @__PURE__ */ React19__namespace.default.createElement(core.Accordion.Panel, null, filtered.map((table, index2) => /* @__PURE__ */ React19__namespace.default.createElement(
3485
+ return /* @__PURE__ */ React19__default.createElement(Accordion.Item, { value: `subtopic-${item}`, key: `subtopic-${item}-${index}` }, /* @__PURE__ */ React19__default.createElement(AccordionControl, null, item), /* @__PURE__ */ React19__default.createElement(Accordion.Panel, null, filtered.map((table, index2) => /* @__PURE__ */ React19__default.createElement(
3512
3486
  CubeButton,
3513
3487
  {
3514
3488
  key: index2,
@@ -3548,11 +3522,11 @@ var localeSelectorStyle = (theme) => ({
3548
3522
  function LocaleSelector() {
3549
3523
  const actions2 = useActions();
3550
3524
  const { translate: t, locale } = useTranslation();
3551
- const { code: currentCode } = reactRedux.useSelector(selectLocale);
3552
- const { localeOptions } = reactRedux.useSelector(selectServerState);
3553
- const theme = core.useMantineTheme();
3554
- const options = React19.useMemo(() => {
3555
- const languages = ISO6391__default.default.getLanguages(localeOptions);
3525
+ const { code: currentCode } = useSelector$1(selectLocale);
3526
+ const { localeOptions } = useSelector$1(selectServerState);
3527
+ const theme = useMantineTheme();
3528
+ const options = useMemo(() => {
3529
+ const languages = ISO6391.getLanguages(localeOptions);
3556
3530
  return languages.map((lang) => ({
3557
3531
  label: t("params.label_localeoption", {
3558
3532
  code: lang.code,
@@ -3575,7 +3549,7 @@ function LocaleSelector() {
3575
3549
  if (localeOptions.length < 2) {
3576
3550
  return null;
3577
3551
  }
3578
- return /* @__PURE__ */ React19__namespace.default.createElement(core.Box, { id: "dex-select-locale" }, /* @__PURE__ */ React19__namespace.default.createElement(core.Tooltip, { label: t("params.label_locale") }, /* @__PURE__ */ React19__namespace.default.createElement(
3552
+ return /* @__PURE__ */ React19__default.createElement(Box, { id: "dex-select-locale" }, /* @__PURE__ */ React19__default.createElement(Tooltip, { label: t("params.label_locale") }, /* @__PURE__ */ React19__default.createElement(
3579
3553
  SelectObject,
3580
3554
  {
3581
3555
  getLabel: "value",
@@ -3585,8 +3559,8 @@ function LocaleSelector() {
3585
3559
  selectedItem: currentCode,
3586
3560
  selectProps: {
3587
3561
  styles: localeSelectorStyle,
3588
- icon: /* @__PURE__ */ React19__namespace.default.createElement(
3589
- iconsReact.IconLanguage,
3562
+ icon: /* @__PURE__ */ React19__default.createElement(
3563
+ IconLanguage,
3590
3564
  {
3591
3565
  size: "0.8rem",
3592
3566
  color: theme.colorScheme === "dark" ? theme.fn.lighten(theme.fn.primaryColor(), 0.8) : theme.fn.primaryColor()
@@ -3602,20 +3576,20 @@ var formatter = new Intl.NumberFormat("en-US", {
3602
3576
  maximumFractionDigits: 0
3603
3577
  });
3604
3578
  function TableFooter(props) {
3605
- const loading = reactRedux.useSelector(selectLoadingState);
3579
+ const loading = useSelector$1(selectLoadingState);
3606
3580
  const { paginationConfig } = useSettings();
3607
3581
  const { result, table, data = [], isLoading, pagination, setPagination } = props;
3608
3582
  const { translate: t } = useTranslation();
3609
3583
  const { url } = result;
3610
- const { copy, copied } = hooks.useClipboard({ timeout: 1e3 });
3611
- const copyHandler = React19.useCallback(() => copy(url), [url]);
3584
+ const { copy, copied } = useClipboard({ timeout: 1e3 });
3585
+ const copyHandler = useCallback(() => copy(url), [url]);
3612
3586
  const totalRowCount = table.options.rowCount;
3613
3587
  const {
3614
3588
  pagination: { pageSize }
3615
3589
  } = table.getState();
3616
3590
  const showPagination = totalRowCount && Boolean(totalRowCount > pageSize);
3617
- return /* @__PURE__ */ React19__namespace.default.createElement(core.Box, { w: "100%", sx: { flex: "0 0 70px" } }, /* @__PURE__ */ React19__namespace.default.createElement(
3618
- core.Flex,
3591
+ return /* @__PURE__ */ React19__default.createElement(Box, { w: "100%", sx: { flex: "0 0 70px" } }, /* @__PURE__ */ React19__default.createElement(
3592
+ Flex,
3619
3593
  {
3620
3594
  p: "md",
3621
3595
  justify: "space-between",
@@ -3623,8 +3597,8 @@ function TableFooter(props) {
3623
3597
  direction: { base: "column-reverse", md: "row" },
3624
3598
  gap: "sm"
3625
3599
  },
3626
- /* @__PURE__ */ React19__namespace.default.createElement(CubeSource, null),
3627
- !loading.loading && !isLoading && /* @__PURE__ */ React19__namespace.default.createElement(core.Group, { position: "right", spacing: "sm" }, /* @__PURE__ */ React19__namespace.default.createElement(LocaleSelector, null), /* @__PURE__ */ React19__namespace.default.createElement(core.Box, { maw: "7rem", miw: "fit" }, /* @__PURE__ */ React19__namespace.default.createElement(
3600
+ /* @__PURE__ */ React19__default.createElement(CubeSource, null),
3601
+ !loading.loading && !isLoading && /* @__PURE__ */ React19__default.createElement(Group, { position: "right", spacing: "sm" }, /* @__PURE__ */ React19__default.createElement(LocaleSelector, null), /* @__PURE__ */ React19__default.createElement(Box, { maw: "7rem", miw: "fit" }, /* @__PURE__ */ React19__default.createElement(
3628
3602
  SelectObject,
3629
3603
  {
3630
3604
  getValue: (item) => item.value,
@@ -3633,24 +3607,24 @@ function TableFooter(props) {
3633
3607
  selectedItem: { value: pagination == null ? void 0 : pagination.pageSize },
3634
3608
  onItemSelect: (item) => setPagination && setPagination({ pageIndex: 0, pageSize: item.value })
3635
3609
  }
3636
- )), totalRowCount && /* @__PURE__ */ React19__namespace.default.createElement(core.Text, { c: "dimmed" }, t("results.count_rows_plural", { n: formatter.format(totalRowCount) })), showPagination && /* @__PURE__ */ React19__namespace.default.createElement(mantineReactTable.MRT_TablePagination, { table }), /* @__PURE__ */ React19__namespace.default.createElement(ApiAndCsvButtons, { copied, copyHandler, url, data }))
3610
+ )), totalRowCount && /* @__PURE__ */ React19__default.createElement(Text, { c: "dimmed" }, t("results.count_rows_plural", { n: formatter.format(totalRowCount) })), showPagination && /* @__PURE__ */ React19__default.createElement(MRT_TablePagination, { table }), /* @__PURE__ */ React19__default.createElement(ApiAndCsvButtons, { copied, copyHandler, url, data }))
3637
3611
  ));
3638
3612
  }
3639
3613
  var ApiAndCsvButtons = (props) => {
3640
3614
  const { copied, copyHandler, url, data } = props;
3641
3615
  const { translate: t } = useTranslation();
3642
- return /* @__PURE__ */ React19__namespace.default.createElement(core.Box, { id: "query-results-debug-view" }, /* @__PURE__ */ React19__namespace.default.createElement(core.Group, { spacing: "xs" }, url && /* @__PURE__ */ React19__namespace.default.createElement(
3643
- core.Button,
3616
+ return /* @__PURE__ */ React19__default.createElement(Box, { id: "query-results-debug-view" }, /* @__PURE__ */ React19__default.createElement(Group, { spacing: "xs" }, url && /* @__PURE__ */ React19__default.createElement(
3617
+ Button,
3644
3618
  {
3645
3619
  id: "dex-api-btn",
3646
3620
  variant: "subtle",
3647
- leftIcon: /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconCopy, { size: 20 }),
3621
+ leftIcon: /* @__PURE__ */ React19__default.createElement(IconCopy, { size: 20 }),
3648
3622
  sx: { height: 30 },
3649
3623
  onClick: copyHandler
3650
3624
  },
3651
3625
  copied ? t("action_copy_done") : t("action_copy"),
3652
3626
  " API"
3653
- ), /* @__PURE__ */ React19__namespace.default.createElement(DownloadQuery, { data })));
3627
+ ), /* @__PURE__ */ React19__default.createElement(DownloadQuery, { data })));
3654
3628
  };
3655
3629
  var DownloadQuery = ({ data }) => {
3656
3630
  const actions2 = useActions();
@@ -3658,11 +3632,11 @@ var DownloadQuery = ({ data }) => {
3658
3632
  const formats = Object.values(Format);
3659
3633
  const components = [];
3660
3634
  components.push(
3661
- /* @__PURE__ */ React19__namespace.default.createElement(
3635
+ /* @__PURE__ */ React19__default.createElement(
3662
3636
  ButtonDownload,
3663
3637
  {
3664
3638
  variant: "light",
3665
- leftIcon: /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconDownload, { size: 20 }),
3639
+ leftIcon: /* @__PURE__ */ React19__default.createElement(IconDownload, { size: 20 }),
3666
3640
  sx: { height: 30 },
3667
3641
  key: "download_csv",
3668
3642
  provider: () => actions2.willDownloadQuery("csv")
@@ -3673,7 +3647,7 @@ var DownloadQuery = ({ data }) => {
3673
3647
  if (components.length === 0 || data.length === 0) {
3674
3648
  return null;
3675
3649
  }
3676
- return /* @__PURE__ */ React19__namespace.default.createElement(core.Box, { id: "dex-btn-group-download" }, /* @__PURE__ */ React19__namespace.default.createElement(core.Group, { spacing: "xs" }, components, /* @__PURE__ */ React19__namespace.default.createElement(MenuOpts, { formats: formats.filter((f) => f !== "csv") })));
3650
+ return /* @__PURE__ */ React19__default.createElement(Box, { id: "dex-btn-group-download" }, /* @__PURE__ */ React19__default.createElement(Group, { spacing: "xs" }, components, /* @__PURE__ */ React19__default.createElement(MenuOpts, { formats: formats.filter((f) => f !== "csv") })));
3677
3651
  };
3678
3652
  var mimeTypes = {
3679
3653
  csv: "text/csv",
@@ -3685,7 +3659,7 @@ var mimeTypes = {
3685
3659
  function useDownload(props) {
3686
3660
  const { provider } = props;
3687
3661
  const { run, data: file, error, isLoading } = useAsync();
3688
- React19.useEffect(() => {
3662
+ useEffect(() => {
3689
3663
  if (file) {
3690
3664
  const blob = typeof file.content !== "string" ? file.content : new window.Blob([file.content], {
3691
3665
  type: mimeTypes[file.extension] || "application/octet-stream"
@@ -3706,7 +3680,7 @@ function useDownload(props) {
3706
3680
  anchor.click();
3707
3681
  }
3708
3682
  }, [file]);
3709
- const onClick = React19.useCallback(
3683
+ const onClick = useCallback(
3710
3684
  (evt) => {
3711
3685
  evt.stopPropagation();
3712
3686
  evt.preventDefault();
@@ -3719,13 +3693,13 @@ function useDownload(props) {
3719
3693
  var ButtonDownload = (props) => {
3720
3694
  const { provider, ...buttonProps } = props;
3721
3695
  const { onClick, isLoading } = useDownload({ provider });
3722
- return /* @__PURE__ */ React19__namespace.default.createElement(core.Button, { ...buttonProps, onClick, loading: isLoading }, /* @__PURE__ */ React19__namespace.default.createElement(core.Text, { fz: "sm" }, props.children));
3696
+ return /* @__PURE__ */ React19__default.createElement(Button, { ...buttonProps, onClick, loading: isLoading }, /* @__PURE__ */ React19__default.createElement(Text, { fz: "sm" }, props.children));
3723
3697
  };
3724
3698
  var ItemDownload = (props) => {
3725
3699
  const { provider, icon, setOpened, ...itemProps } = props;
3726
3700
  const { onClick, isLoading } = useDownload({ provider });
3727
- return /* @__PURE__ */ React19__namespace.default.createElement(
3728
- core.Menu.Item,
3701
+ return /* @__PURE__ */ React19__default.createElement(
3702
+ Menu.Item,
3729
3703
  {
3730
3704
  ...itemProps,
3731
3705
  icon: icon(isLoading),
@@ -3736,30 +3710,30 @@ var ItemDownload = (props) => {
3736
3710
  });
3737
3711
  }
3738
3712
  },
3739
- /* @__PURE__ */ React19__namespace.default.createElement(core.Text, { fz: "sm" }, props.children)
3713
+ /* @__PURE__ */ React19__default.createElement(Text, { fz: "sm" }, props.children)
3740
3714
  );
3741
3715
  };
3742
3716
  function MenuOpts({ formats }) {
3743
3717
  const actions2 = useActions();
3744
3718
  const { translate: t } = useTranslation();
3745
- const [opened, setOpened] = React19.useState(false);
3746
- const ref = hooks.useClickOutside(() => setOpened(false));
3747
- const buttons = React19.useMemo(
3748
- () => formats.map((format2) => /* @__PURE__ */ React19__namespace.default.createElement(
3719
+ const [opened, setOpened] = useState(false);
3720
+ const ref = useClickOutside(() => setOpened(false));
3721
+ const buttons = useMemo(
3722
+ () => formats.map((format2) => /* @__PURE__ */ React19__default.createElement(
3749
3723
  ItemDownload,
3750
3724
  {
3751
3725
  component: "a",
3752
3726
  key: format2,
3753
3727
  provider: () => actions2.willDownloadQuery(format2),
3754
- icon: (loading) => loading ? /* @__PURE__ */ React19__namespace.default.createElement(core.Loader, { size: 15 }) : /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconDownload, { size: 15 }),
3728
+ icon: (loading) => loading ? /* @__PURE__ */ React19__default.createElement(Loader, { size: 15 }) : /* @__PURE__ */ React19__default.createElement(IconDownload, { size: 15 }),
3755
3729
  setOpened
3756
3730
  },
3757
- /* @__PURE__ */ React19__namespace.default.createElement(core.Text, { size: "xs" }, t(`formats.${format2}`))
3731
+ /* @__PURE__ */ React19__default.createElement(Text, { size: "xs" }, t(`formats.${format2}`))
3758
3732
  )),
3759
3733
  [formats, t]
3760
3734
  );
3761
- return /* @__PURE__ */ React19__namespace.default.createElement(core.Menu, { shadow: "md", width: 200, opened }, /* @__PURE__ */ React19__namespace.default.createElement(core.Menu.Target, null, /* @__PURE__ */ React19__namespace.default.createElement(
3762
- core.ActionIcon,
3735
+ return /* @__PURE__ */ React19__default.createElement(Menu, { shadow: "md", width: 200, opened }, /* @__PURE__ */ React19__default.createElement(Menu.Target, null, /* @__PURE__ */ React19__default.createElement(
3736
+ ActionIcon,
3763
3737
  {
3764
3738
  onClick: () => setOpened((o) => !o),
3765
3739
  variant: "filled",
@@ -3769,8 +3743,8 @@ function MenuOpts({ formats }) {
3769
3743
  minWidth: 0
3770
3744
  }
3771
3745
  },
3772
- /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconDotsVertical, { size: "0.8rem" })
3773
- )), /* @__PURE__ */ React19__namespace.default.createElement(core.Menu.Dropdown, null, /* @__PURE__ */ React19__namespace.default.createElement(core.Menu.Label, null, t("params.title_downloaddata")), /* @__PURE__ */ React19__namespace.default.createElement("div", { ref }, buttons)));
3746
+ /* @__PURE__ */ React19__default.createElement(IconDotsVertical, { size: "0.8rem" })
3747
+ )), /* @__PURE__ */ React19__default.createElement(Menu.Dropdown, null, /* @__PURE__ */ React19__default.createElement(Menu.Label, null, t("params.title_downloaddata")), /* @__PURE__ */ React19__default.createElement("div", { ref }, buttons)));
3774
3748
  }
3775
3749
  var TableFooter_default = TableFooter;
3776
3750
 
@@ -3814,9 +3788,9 @@ function showTrashIcon(columns, type) {
3814
3788
  }
3815
3789
  var getActionIcon = (entityType) => {
3816
3790
  if (entityType === "measure") {
3817
- return /* @__PURE__ */ React19__namespace.default.createElement(core.ActionIcon, { size: "md", color: "red" }, /* @__PURE__ */ React19__namespace.default.createElement(BarsSVG, null));
3791
+ return /* @__PURE__ */ React19__default.createElement(ActionIcon, { size: "md", color: "red" }, /* @__PURE__ */ React19__default.createElement(BarsSVG, null));
3818
3792
  } else if (entityType === "level") {
3819
- return /* @__PURE__ */ React19__namespace.default.createElement(core.ActionIcon, { size: "md", color: "blue" }, /* @__PURE__ */ React19__namespace.default.createElement(StackSVG, null));
3793
+ return /* @__PURE__ */ React19__default.createElement(ActionIcon, { size: "md", color: "blue" }, /* @__PURE__ */ React19__default.createElement(StackSVG, null));
3820
3794
  }
3821
3795
  };
3822
3796
  var getEntityText = (entityType) => {
@@ -3840,11 +3814,11 @@ function getMantineFilterMultiSelectProps(isId, isNumeric, range) {
3840
3814
  function getSortIcon(value, entityType) {
3841
3815
  switch (value) {
3842
3816
  case "asc":
3843
- return entityType === "measure" ? /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconSortAscendingNumbers, null) : /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconSortAscendingLetters, null);
3817
+ return entityType === "measure" ? /* @__PURE__ */ React19__default.createElement(IconSortAscendingNumbers, null) : /* @__PURE__ */ React19__default.createElement(IconSortAscendingLetters, null);
3844
3818
  case "desc":
3845
- return entityType === "measure" ? /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconSortDescendingNumbers, null) : /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconSortDescendingLetters, null);
3819
+ return entityType === "measure" ? /* @__PURE__ */ React19__default.createElement(IconSortDescendingNumbers, null) : /* @__PURE__ */ React19__default.createElement(IconSortDescendingLetters, null);
3846
3820
  default:
3847
- return /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconArrowsSort, null);
3821
+ return /* @__PURE__ */ React19__default.createElement(IconArrowsSort, null);
3848
3822
  }
3849
3823
  }
3850
3824
  function getFiltersConditions(fn, value) {
@@ -3879,18 +3853,18 @@ function getFiltersConditions(fn, value) {
3879
3853
  return (_a = comparisonMap.get(fn)) == null ? void 0 : _a(value);
3880
3854
  }
3881
3855
  function useTableData({ columns, pagination, cube }) {
3882
- const { code: locale } = reactRedux.useSelector(selectLocale);
3856
+ const { code: locale } = useSelector$1(selectLocale);
3883
3857
  const permaKey = useKey();
3884
- const loadingState = reactRedux.useSelector(selectLoadingState);
3858
+ const loadingState = useSelector$1(selectLoadingState);
3885
3859
  const actions2 = useActions();
3886
3860
  const pageSize = pagination.pageSize;
3887
3861
  const page = pagination.pageIndex;
3888
3862
  const enabled = Boolean(columns.length);
3889
3863
  const initialKey = permaKey ? [permaKey, page, pageSize] : permaKey;
3890
- const [filterKeydebouced, setDebouncedTerm] = React19.useState(initialKey);
3891
- React19.useEffect(() => {
3864
+ const [filterKeydebouced, setDebouncedTerm] = useState(initialKey);
3865
+ useEffect(() => {
3892
3866
  if (!enabled && permaKey) return;
3893
- const handler = debounce__default.default(
3867
+ const handler = debounce(
3894
3868
  () => {
3895
3869
  const term = [permaKey, page, pageSize];
3896
3870
  setDebouncedTerm(term);
@@ -3900,7 +3874,7 @@ function useTableData({ columns, pagination, cube }) {
3900
3874
  handler();
3901
3875
  return () => handler.cancel();
3902
3876
  }, [page, enabled, locale, pageSize, loadingState.loading, permaKey]);
3903
- const query = reactQuery.useQuery({
3877
+ const query = useQuery({
3904
3878
  queryKey: ["table", filterKeydebouced],
3905
3879
  queryFn: () => actions2.willFetchQuery().then((result) => {
3906
3880
  actions2.updateResult(result);
@@ -3909,7 +3883,7 @@ function useTableData({ columns, pagination, cube }) {
3909
3883
  staleTime: 3e5,
3910
3884
  enabled: enabled && !!filterKeydebouced
3911
3885
  });
3912
- const client = reactQuery.useQueryClient();
3886
+ const client = useQueryClient();
3913
3887
  const cachedData = client.getQueryData(["table", filterKeydebouced]);
3914
3888
  useUpdatePermaLink({
3915
3889
  isFetched: Boolean(cachedData),
@@ -3926,14 +3900,14 @@ function usePrefetch({
3926
3900
  pagination,
3927
3901
  isFetching
3928
3902
  }) {
3929
- const queryClient2 = reactQuery.useQueryClient();
3903
+ const queryClient2 = useQueryClient();
3930
3904
  const actions2 = useActions();
3931
3905
  const page = pagination.pageIndex + 1;
3932
3906
  const pageSize = pagination.pageSize;
3933
3907
  const hasMore = page * pageSize <= totalRowCount;
3934
3908
  const off = page * pageSize;
3935
3909
  const paramKey = useKey({ pagiLimit: pageSize, pagiOffset: off });
3936
- React19.useEffect(() => {
3910
+ useEffect(() => {
3937
3911
  const key = [paramKey, page, pageSize];
3938
3912
  if (!isPlaceholderData && hasMore && !isFetching) {
3939
3913
  queryClient2.prefetchQuery({
@@ -3963,37 +3937,37 @@ function useTable({
3963
3937
  columnSorting = columnSrt,
3964
3938
  ...mantineTableProps
3965
3939
  }) {
3966
- const filterItems = reactRedux.useSelector(selectFilterItems);
3967
- const filtersMap = reactRedux.useSelector(selectFilterMap);
3968
- const measuresOlap = reactRedux.useSelector(selectOlapMeasureItems);
3969
- const measuresMap = reactRedux.useSelector(selectMeasureMap);
3970
- const drilldowns = reactRedux.useSelector(selectDrilldownItems);
3971
- const { code: locale } = reactRedux.useSelector(selectLocale);
3972
- const measures = reactRedux.useSelector(selectMeasureItems);
3940
+ const filterItems = useSelector$1(selectFilterItems);
3941
+ const filtersMap = useSelector$1(selectFilterMap);
3942
+ const measuresOlap = useSelector$1(selectOlapMeasureItems);
3943
+ const measuresMap = useSelector$1(selectMeasureMap);
3944
+ const drilldowns = useSelector$1(selectDrilldownItems);
3945
+ const { code: locale } = useSelector$1(selectLocale);
3946
+ const measures = useSelector$1(selectMeasureItems);
3973
3947
  const actions2 = useActions();
3974
- const { limit, offset } = reactRedux.useSelector(selectPaginationParams);
3975
- const [pagination, setPagination] = React19.useState({
3948
+ const { limit, offset } = useSelector$1(selectPaginationParams);
3949
+ const [pagination, setPagination] = useState({
3976
3950
  pageIndex: offset,
3977
3951
  pageSize: limit
3978
3952
  });
3979
- const finalUniqueKeys = React19.useMemo(
3953
+ const finalUniqueKeys = useMemo(
3980
3954
  () => [
3981
3955
  ...measures.map((m) => m.active ? m.name : null),
3982
3956
  ...drilldowns.map((d) => d.active ? d.level : null)
3983
3957
  ].filter((a) => a !== null),
3984
3958
  [measures, drilldowns]
3985
3959
  );
3986
- const handlerCreateMeasure = React19.useCallback((data2) => {
3960
+ const handlerCreateMeasure = useCallback((data2) => {
3987
3961
  const measure = buildMeasure(data2);
3988
3962
  actions2.updateMeasure(measure);
3989
3963
  return measure;
3990
3964
  }, []);
3991
- const handlerCreateFilter = React19.useCallback((data2) => {
3965
+ const handlerCreateFilter = useCallback((data2) => {
3992
3966
  const filter = buildFilter(data2);
3993
3967
  actions2.updateFilter(filter);
3994
3968
  return filter;
3995
3969
  }, []);
3996
- React19.useLayoutEffect(() => {
3970
+ useLayoutEffect(() => {
3997
3971
  filterMap(measuresOlap, (m) => {
3998
3972
  const measure = measuresMap[m.name] || handlerCreateMeasure({ ...m, active: false });
3999
3973
  const foundFilter = filtersMap[m.name] || filterItems.find((f) => f.measure === measure.name);
@@ -4028,7 +4002,7 @@ function useTable({
4028
4002
  pagination,
4029
4003
  isFetching: isFetching || isLoading
4030
4004
  });
4031
- React19.useEffect(() => {
4005
+ useEffect(() => {
4032
4006
  actions2.updatePagination({
4033
4007
  limit: pagination.pageSize,
4034
4008
  offset: pagination.pageIndex * pagination.pageSize
@@ -4036,8 +4010,8 @@ function useTable({
4036
4010
  }, [pagination]);
4037
4011
  const { translate: t } = useTranslation();
4038
4012
  const { getFormat, getFormatter } = useFormatter();
4039
- const { sortKey, sortDir } = reactRedux.useSelector(selectSortingParams);
4040
- const columns = React19.useMemo(() => {
4013
+ const { sortKey, sortDir } = useSelector$1(selectSortingParams);
4014
+ const columns = useMemo(() => {
4041
4015
  const indexColumn = {
4042
4016
  id: "#",
4043
4017
  header: "#",
@@ -4078,12 +4052,12 @@ function useTable({
4078
4052
  },
4079
4053
  Header: ({ column: column2 }) => {
4080
4054
  const isSorted = isColumnSorted(entity.name, sortKey);
4081
- return /* @__PURE__ */ React19__namespace.default.createElement(core.Box, { mb: core.rem(5), key: "header" }, /* @__PURE__ */ React19__namespace.default.createElement(core.Flex, { justify: "center", align: "center" }, /* @__PURE__ */ React19__namespace.default.createElement(core.Box, { sx: { flexGrow: 1 } }, /* @__PURE__ */ React19__namespace.default.createElement(core.Flex, { gap: "xs", align: "center" }, getActionIcon(entityType), /* @__PURE__ */ React19__namespace.default.createElement(core.Text, { size: "sm" }, header), /* @__PURE__ */ React19__namespace.default.createElement(
4082
- core.ActionIcon,
4055
+ return /* @__PURE__ */ React19__default.createElement(Box, { mb: rem(5), key: "header" }, /* @__PURE__ */ React19__default.createElement(Flex, { justify: "center", align: "center" }, /* @__PURE__ */ React19__default.createElement(Box, { sx: { flexGrow: 1 } }, /* @__PURE__ */ React19__default.createElement(Flex, { gap: "xs", align: "center" }, getActionIcon(entityType), /* @__PURE__ */ React19__default.createElement(Text, { size: "sm" }, header), /* @__PURE__ */ React19__default.createElement(
4056
+ ActionIcon,
4083
4057
  {
4084
4058
  key: `sort-${header}`,
4085
4059
  size: 22,
4086
- ml: core.rem(5),
4060
+ ml: rem(5),
4087
4061
  onClick: () => {
4088
4062
  if (!isSorted) {
4089
4063
  actions2.updateSorting({ key: entity.name, dir: "desc" });
@@ -4097,7 +4071,7 @@ function useTable({
4097
4071
  }
4098
4072
  },
4099
4073
  getSortIcon(isSorted ? sortDir : false, entityType)
4100
- ))), /* @__PURE__ */ React19__namespace.default.createElement(
4074
+ ))), /* @__PURE__ */ React19__default.createElement(
4101
4075
  CustomActionIcon_default,
4102
4076
  {
4103
4077
  label: `At least one ${getEntityText(entityType)} is required.`,
@@ -4106,9 +4080,9 @@ function useTable({
4106
4080
  onClick: () => removeColumn(actions2, entity, measures, drilldowns, entityType),
4107
4081
  showTooltip: !showTrashIcon(finalKeys, entityType),
4108
4082
  size: 25,
4109
- ml: core.rem(5)
4083
+ ml: rem(5)
4110
4084
  },
4111
- /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconTrash, null)
4085
+ /* @__PURE__ */ React19__default.createElement(IconTrash, null)
4112
4086
  )));
4113
4087
  },
4114
4088
  formatter: formatter2,
@@ -4118,8 +4092,8 @@ function useTable({
4118
4092
  accessorFn: (item) => item[columnKey],
4119
4093
  Cell: isNumeric ? ({ cell }) => formatter2(cell.getValue()) : ({ cell, renderedCellValue, row }) => {
4120
4094
  const cellId = row.original[`${cell.column.id} ID`];
4121
- return /* @__PURE__ */ React19__namespace.default.createElement(core.Flex, { justify: "space-between", sx: { width: "100%", maxWidth: 400 }, gap: "sm" }, /* @__PURE__ */ React19__namespace.default.createElement(
4122
- core.Text,
4095
+ return /* @__PURE__ */ React19__default.createElement(Flex, { justify: "space-between", sx: { width: "100%", maxWidth: 400 }, gap: "sm" }, /* @__PURE__ */ React19__default.createElement(
4096
+ Text,
4123
4097
  {
4124
4098
  size: "sm",
4125
4099
  sx: {
@@ -4129,13 +4103,13 @@ function useTable({
4129
4103
  }
4130
4104
  },
4131
4105
  renderedCellValue
4132
- ), /* @__PURE__ */ React19__namespace.default.createElement(core.Box, null, cellId && /* @__PURE__ */ React19__namespace.default.createElement(core.Text, { color: "dimmed" }, cellId)));
4106
+ ), /* @__PURE__ */ React19__default.createElement(Box, null, cellId && /* @__PURE__ */ React19__default.createElement(Text, { color: "dimmed" }, cellId)));
4133
4107
  }
4134
4108
  };
4135
4109
  });
4136
4110
  return columnsDef.length ? [indexColumn, ...columnsDef] : [];
4137
4111
  }, [drilldowns, measures, finalKeys, offset, getFormatter, getFormat, locale]);
4138
- const constTableProps = React19.useMemo(
4112
+ const constTableProps = useMemo(
4139
4113
  () => ({
4140
4114
  mantineToolbarAlertBannerProps: isError ? {
4141
4115
  color: "red",
@@ -4194,12 +4168,12 @@ function useTable({
4194
4168
  }
4195
4169
  },
4196
4170
  renderBottomToolbar() {
4197
- const [isOpen, setIsOpen] = React19.useState(false);
4171
+ const [isOpen, setIsOpen] = useState(false);
4198
4172
  if (!isOpen) return null;
4199
- return /* @__PURE__ */ React19__namespace.default.createElement(
4200
- core.Alert,
4173
+ return /* @__PURE__ */ React19__default.createElement(
4174
+ Alert,
4201
4175
  {
4202
- icon: /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconAlertCircle, { size: "1rem" }),
4176
+ icon: /* @__PURE__ */ React19__default.createElement(IconAlertCircle, { size: "1rem" }),
4203
4177
  color: "yellow",
4204
4178
  withCloseButton: true,
4205
4179
  onClose: () => setIsOpen(false)
@@ -4212,7 +4186,7 @@ function useTable({
4212
4186
  );
4213
4187
  const isTransitionState = status !== "success" && !isError;
4214
4188
  const isLoad = isLoading || data === void 0 || isTransitionState;
4215
- const table = mantineReactTable.useMantineReactTable({
4189
+ const table = useMantineReactTable({
4216
4190
  columns,
4217
4191
  data: tableData,
4218
4192
  onPaginationChange: setPagination,
@@ -4242,14 +4216,14 @@ function TableView({
4242
4216
  setPagination
4243
4217
  }) {
4244
4218
  const isData = Boolean(table.getRowModel().rows.length);
4245
- const loadingState = reactRedux.useSelector(selectLoadingState);
4246
- const viewport = React19.useRef(null);
4247
- React19.useEffect(() => {
4219
+ const loadingState = useSelector$1(selectLoadingState);
4220
+ const viewport = useRef(null);
4221
+ useEffect(() => {
4248
4222
  var _a;
4249
4223
  (_a = viewport.current) == null ? void 0 : _a.scrollTo({ top: 0, behavior: "smooth" });
4250
4224
  }, [pagination == null ? void 0 : pagination.pageIndex, pagination == null ? void 0 : pagination.pageSize]);
4251
- return /* @__PURE__ */ React19__namespace.default.createElement(core.Box, { sx: { height: "100%" } }, /* @__PURE__ */ React19__namespace.default.createElement(core.Flex, { direction: "column", justify: "space-between", sx: { height: "100%", flex: "1 1 auto" } }, /* @__PURE__ */ React19__namespace.default.createElement(mantineReactTable.MRT_ProgressBar, { isTopToolbar: false, table }), /* @__PURE__ */ React19__namespace.default.createElement(
4252
- core.ScrollArea,
4225
+ return /* @__PURE__ */ React19__default.createElement(Box, { sx: { height: "100%" } }, /* @__PURE__ */ React19__default.createElement(Flex, { direction: "column", justify: "space-between", sx: { height: "100%", flex: "1 1 auto" } }, /* @__PURE__ */ React19__default.createElement(MRT_ProgressBar, { isTopToolbar: false, table }), /* @__PURE__ */ React19__default.createElement(
4226
+ ScrollArea,
4253
4227
  {
4254
4228
  id: "dex-table",
4255
4229
  h: isData ? "100%" : "auto",
@@ -4260,9 +4234,9 @@ function TableView({
4260
4234
  overflow: "scroll"
4261
4235
  }
4262
4236
  },
4263
- /* @__PURE__ */ React19__namespace.default.createElement(core.LoadingOverlay, { visible: isLoading || loadingState.loading }),
4264
- /* @__PURE__ */ React19__namespace.default.createElement(
4265
- core.Table,
4237
+ /* @__PURE__ */ React19__default.createElement(LoadingOverlay, { visible: isLoading || loadingState.loading }),
4238
+ /* @__PURE__ */ React19__default.createElement(
4239
+ Table,
4266
4240
  {
4267
4241
  captionSide: "top",
4268
4242
  fontSize: "md",
@@ -4273,8 +4247,8 @@ function TableView({
4273
4247
  withBorder: true,
4274
4248
  withColumnBorders: true
4275
4249
  },
4276
- /* @__PURE__ */ React19__namespace.default.createElement(
4277
- core.Box,
4250
+ /* @__PURE__ */ React19__default.createElement(
4251
+ Box,
4278
4252
  {
4279
4253
  component: "thead",
4280
4254
  sx: {
@@ -4283,7 +4257,7 @@ function TableView({
4283
4257
  zIndex: 10
4284
4258
  }
4285
4259
  },
4286
- table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ React19__namespace.default.createElement(core.Box, { component: "tr", key: headerGroup.id, sx: { fontWeight: "normal" } }, headerGroup.headers.map((header) => {
4260
+ table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ React19__default.createElement(Box, { component: "tr", key: headerGroup.id, sx: { fontWeight: "normal" } }, headerGroup.headers.map((header) => {
4287
4261
  var _a;
4288
4262
  const column = table.getColumn(header.id);
4289
4263
  const isNumeric = column.columnDef.dataType === "number";
@@ -4308,15 +4282,15 @@ function TableView({
4308
4282
  maxWidth: 10,
4309
4283
  size: 10
4310
4284
  });
4311
- return /* @__PURE__ */ React19__namespace.default.createElement(
4312
- core.Box,
4285
+ return /* @__PURE__ */ React19__default.createElement(
4286
+ Box,
4313
4287
  {
4314
4288
  component: "th",
4315
4289
  key: header.id,
4316
4290
  sx: (theme) => isRowIndex ? index(theme) : base(theme)
4317
4291
  },
4318
- /* @__PURE__ */ React19__namespace.default.createElement(
4319
- core.Box,
4292
+ /* @__PURE__ */ React19__default.createElement(
4293
+ Box,
4320
4294
  {
4321
4295
  sx: {
4322
4296
  display: "flex",
@@ -4325,17 +4299,17 @@ function TableView({
4325
4299
  justifyContent: "space-between"
4326
4300
  }
4327
4301
  },
4328
- header.isPlaceholder ? null : mantineReactTable.flexRender(
4302
+ header.isPlaceholder ? null : flexRender(
4329
4303
  (_a = header.column.columnDef.Header) != null ? _a : header.column.columnDef.header,
4330
4304
  header.getContext()
4331
4305
  ),
4332
- !isRowIndex && /* @__PURE__ */ React19__namespace.default.createElement(ColumnFilterCell, { isNumeric, header, table })
4306
+ !isRowIndex && /* @__PURE__ */ React19__default.createElement(ColumnFilterCell, { isNumeric, header, table })
4333
4307
  )
4334
4308
  );
4335
4309
  })))
4336
4310
  ),
4337
- isData && /* @__PURE__ */ React19__namespace.default.createElement(core.Box, { component: "tbody" }, table.getRowModel().rows.map((row) => /* @__PURE__ */ React19__namespace.default.createElement("tr", { key: row.id }, row.getVisibleCells().map((cell) => /* @__PURE__ */ React19__namespace.default.createElement(
4338
- mantineReactTable.MRT_TableBodyCell,
4311
+ isData && /* @__PURE__ */ React19__default.createElement(Box, { component: "tbody" }, table.getRowModel().rows.map((row) => /* @__PURE__ */ React19__default.createElement("tr", { key: row.id }, row.getVisibleCells().map((cell) => /* @__PURE__ */ React19__default.createElement(
4312
+ MRT_TableBodyCell,
4339
4313
  {
4340
4314
  key: cell.id,
4341
4315
  cell,
@@ -4345,8 +4319,8 @@ function TableView({
4345
4319
  }
4346
4320
  )))))
4347
4321
  ),
4348
- !isData && !isError && !isLoading && /* @__PURE__ */ React19__namespace.default.createElement(NoRecords, null)
4349
- ), /* @__PURE__ */ React19__namespace.default.createElement(mantineReactTable.MRT_ToolbarAlertBanner, { stackAlertBanner: true, table }), /* @__PURE__ */ React19__namespace.default.createElement(
4322
+ !isData && !isError && !isLoading && /* @__PURE__ */ React19__default.createElement(NoRecords, null)
4323
+ ), /* @__PURE__ */ React19__default.createElement(MRT_ToolbarAlertBanner, { stackAlertBanner: true, table }), /* @__PURE__ */ React19__default.createElement(
4350
4324
  TableFooter_default,
4351
4325
  {
4352
4326
  table,
@@ -4365,38 +4339,38 @@ var ColumnFilterCell = ({
4365
4339
  const filterVariant = header.column.columnDef.filterVariant;
4366
4340
  const isMulti = filterVariant === "multi-select";
4367
4341
  if (isMulti) {
4368
- return /* @__PURE__ */ React19__namespace.default.createElement(MultiFilter, { header });
4342
+ return /* @__PURE__ */ React19__default.createElement(MultiFilter, { header });
4369
4343
  }
4370
4344
  if (isNumeric) {
4371
- return /* @__PURE__ */ React19__namespace.default.createElement(NumericFilter, { header });
4345
+ return /* @__PURE__ */ React19__default.createElement(NumericFilter, { header });
4372
4346
  }
4373
4347
  };
4374
4348
  function NumericFilter({ header }) {
4375
- const filters = reactRedux.useSelector(selectFilterItems);
4349
+ const filters = useSelector$1(selectFilterItems);
4376
4350
  const { translate: t } = useTranslation();
4377
4351
  const filter = filters.find((f) => f.measure === header.column.id);
4378
4352
  if (filter) {
4379
4353
  const filterFn = getFilterFn(filter);
4380
4354
  const text = t(`comparison.${getFilterfnKey(filterFn)}`);
4381
4355
  const isBetween = filterFn === "between";
4382
- return /* @__PURE__ */ React19__namespace.default.createElement(core.Flex, { gap: "xs", style: { fontWeight: "normal" } }, /* @__PURE__ */ React19__namespace.default.createElement(core.Box, { sx: { flex: "1 1 auto" } }, isBetween ? /* @__PURE__ */ React19__namespace.default.createElement(MinMax, { filter, hideControls: true }) : /* @__PURE__ */ React19__namespace.default.createElement(NumberInputComponent, { text, filter })), /* @__PURE__ */ React19__namespace.default.createElement(core.Box, { sx: { alignSelf: "flex-end" } }, /* @__PURE__ */ React19__namespace.default.createElement(FilterFnsMenu, { filter })));
4356
+ return /* @__PURE__ */ React19__default.createElement(Flex, { gap: "xs", style: { fontWeight: "normal" } }, /* @__PURE__ */ React19__default.createElement(Box, { sx: { flex: "1 1 auto" } }, isBetween ? /* @__PURE__ */ React19__default.createElement(MinMax, { filter, hideControls: true }) : /* @__PURE__ */ React19__default.createElement(NumberInputComponent, { text, filter })), /* @__PURE__ */ React19__default.createElement(Box, { sx: { alignSelf: "flex-end" } }, /* @__PURE__ */ React19__default.createElement(FilterFnsMenu, { filter })));
4383
4357
  }
4384
4358
  }
4385
4359
  function MultiFilter({ header }) {
4386
4360
  const { translate: t } = useTranslation();
4387
- const cutItems = reactRedux.useSelector(selectCutItems);
4388
- const drilldownItems = reactRedux.useSelector(selectDrilldownItems);
4361
+ const cutItems = useSelector$1(selectCutItems);
4362
+ const drilldownItems = useSelector$1(selectDrilldownItems);
4389
4363
  const label = header.column.id;
4390
4364
  const drilldown = drilldownItems.find((d) => d.level === header.column.id);
4391
4365
  const actions2 = useActions();
4392
4366
  const cut = cutItems.find((cut2) => {
4393
4367
  return cut2.level === (drilldown == null ? void 0 : drilldown.level);
4394
4368
  });
4395
- const updatecutHandler = React19__namespace.default.useCallback((item, members) => {
4369
+ const updatecutHandler = React19__default.useCallback((item, members) => {
4396
4370
  actions2.updateCut({ ...item, members });
4397
4371
  }, []);
4398
- return drilldown && cut && /* @__PURE__ */ React19__namespace.default.createElement(core.Box, { pt: "md", style: { fontWeight: "normal" } }, /* @__PURE__ */ React19__namespace.default.createElement(
4399
- core.MultiSelect,
4372
+ return drilldown && cut && /* @__PURE__ */ React19__default.createElement(Box, { pt: "md", style: { fontWeight: "normal" } }, /* @__PURE__ */ React19__default.createElement(
4373
+ MultiSelect,
4400
4374
  {
4401
4375
  sx: { flex: "1 1 100%" },
4402
4376
  searchable: true,
@@ -4417,7 +4391,7 @@ function MultiFilter({ header }) {
4417
4391
  ));
4418
4392
  }
4419
4393
  var NoRecords = () => {
4420
- return /* @__PURE__ */ React19__namespace.default.createElement(core.Center, { style: { height: "calc(100% - 210px)" } }, /* @__PURE__ */ React19__namespace.default.createElement(core.Text, { size: "xl", color: "gray", italic: true }, "No records to display."));
4394
+ return /* @__PURE__ */ React19__default.createElement(Center, { style: { height: "calc(100% - 210px)" } }, /* @__PURE__ */ React19__default.createElement(Text, { size: "xl", color: "gray", italic: true }, "No records to display."));
4421
4395
  };
4422
4396
  TableView.displayName = "TesseractExplorer:TableView";
4423
4397
 
@@ -4431,12 +4405,12 @@ var styles = (t) => ({
4431
4405
  }
4432
4406
  });
4433
4407
  function AddColumnsDrawer() {
4434
- const [opened, { open, close: close2 }] = hooks.useDisclosure(false);
4408
+ const [opened, { open, close: close2 }] = useDisclosure(false);
4435
4409
  const { translate: t } = useTranslation();
4436
- const theme = core.useMantineTheme();
4437
- const smallerThanMd = hooks.useMediaQuery(`(max-width: ${theme.breakpoints.md})`);
4438
- return /* @__PURE__ */ React19__namespace.default.createElement(React19__namespace.default.Fragment, null, /* @__PURE__ */ React19__namespace.default.createElement(
4439
- core.Drawer,
4410
+ const theme = useMantineTheme();
4411
+ const smallerThanMd = useMediaQuery(`(max-width: ${theme.breakpoints.md})`);
4412
+ return /* @__PURE__ */ React19__default.createElement(React19__default.Fragment, null, /* @__PURE__ */ React19__default.createElement(
4413
+ Drawer,
4440
4414
  {
4441
4415
  id: "dex-column-drawer",
4442
4416
  opened,
@@ -4445,19 +4419,19 @@ function AddColumnsDrawer() {
4445
4419
  closeButtonProps: {
4446
4420
  id: "dex-column-drawer-close"
4447
4421
  },
4448
- title: /* @__PURE__ */ React19__namespace.default.createElement(core.Group, null, /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconPlus, { size: "1.2rem" }), /* @__PURE__ */ React19__namespace.default.createElement(core.Text, { fw: 700 }, t("params.add_columns"))),
4422
+ title: /* @__PURE__ */ React19__default.createElement(Group, null, /* @__PURE__ */ React19__default.createElement(IconPlus, { size: "1.2rem" }), /* @__PURE__ */ React19__default.createElement(Text, { fw: 700 }, t("params.add_columns"))),
4449
4423
  styles,
4450
4424
  overlayProps: {
4451
4425
  opacity: 0.1
4452
4426
  }
4453
4427
  },
4454
- /* @__PURE__ */ React19__namespace.default.createElement(MeasuresOptions, null),
4455
- /* @__PURE__ */ React19__namespace.default.createElement(DrillDownOptions, null)
4456
- ), /* @__PURE__ */ React19__namespace.default.createElement(core.Group, { position: "center", sx: { flexWrap: "nowrap" } }, smallerThanMd ? /* @__PURE__ */ React19__namespace.default.createElement(core.ActionIcon, { onClick: open, size: "md", variant: "filled", color: theme.primaryColor }, /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconStack3, { size: "0.75rem" })) : /* @__PURE__ */ React19__namespace.default.createElement(
4457
- core.Button,
4428
+ /* @__PURE__ */ React19__default.createElement(MeasuresOptions, null),
4429
+ /* @__PURE__ */ React19__default.createElement(DrillDownOptions, null)
4430
+ ), /* @__PURE__ */ React19__default.createElement(Group, { position: "center", sx: { flexWrap: "nowrap" } }, smallerThanMd ? /* @__PURE__ */ React19__default.createElement(ActionIcon, { onClick: open, size: "md", variant: "filled", color: theme.primaryColor }, /* @__PURE__ */ React19__default.createElement(IconStack3, { size: "0.75rem" })) : /* @__PURE__ */ React19__default.createElement(
4431
+ Button,
4458
4432
  {
4459
4433
  id: "dex-column-btn",
4460
- leftIcon: /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconPlus, { size: "1.2rem" }),
4434
+ leftIcon: /* @__PURE__ */ React19__default.createElement(IconPlus, { size: "1.2rem" }),
4461
4435
  onClick: open,
4462
4436
  m: "md",
4463
4437
  size: "sm"
@@ -4466,12 +4440,12 @@ function AddColumnsDrawer() {
4466
4440
  )));
4467
4441
  }
4468
4442
  function DrillDownOptions() {
4469
- const locale = reactRedux.useSelector(selectLocale);
4470
- const selectedDimensions = reactRedux.useSelector(selectDrilldownItems);
4471
- const dimensions = reactRedux.useSelector(selectOlapDimensionItems) || [];
4443
+ const locale = useSelector$1(selectLocale);
4444
+ const selectedDimensions = useSelector$1(selectDrilldownItems);
4445
+ const dimensions = useSelector$1(selectOlapDimensionItems) || [];
4472
4446
  const activeItems = selectedDimensions.filter((i) => i.active);
4473
- const options = React19.useMemo(
4474
- () => dimensions.map((dimension) => /* @__PURE__ */ React19__namespace.default.createElement(
4447
+ const options = useMemo(
4448
+ () => dimensions.map((dimension) => /* @__PURE__ */ React19__default.createElement(
4475
4449
  DimensionItem,
4476
4450
  {
4477
4451
  dimension,
@@ -4490,7 +4464,7 @@ function DimensionItem({
4490
4464
  activeItems
4491
4465
  }) {
4492
4466
  const isChildSubMenu = dimension.hierarchies.length !== 1;
4493
- const options = dimension.hierarchies.map((hie) => /* @__PURE__ */ React19__namespace.default.createElement(
4467
+ const options = dimension.hierarchies.map((hie) => /* @__PURE__ */ React19__default.createElement(
4494
4468
  HierarchyItem,
4495
4469
  {
4496
4470
  dimension,
@@ -4501,18 +4475,18 @@ function DimensionItem({
4501
4475
  activeItems
4502
4476
  }
4503
4477
  ));
4504
- return /* @__PURE__ */ React19__namespace.default.createElement(
4478
+ return /* @__PURE__ */ React19__default.createElement(
4505
4479
  "div",
4506
4480
  {
4507
4481
  key: dimension.name,
4508
4482
  className: "dex-dimension-control",
4509
4483
  id: `dex-dimension-${dimension.name}`
4510
4484
  },
4511
- /* @__PURE__ */ React19__namespace.default.createElement(
4512
- core.Divider,
4485
+ /* @__PURE__ */ React19__default.createElement(
4486
+ Divider,
4513
4487
  {
4514
4488
  my: "md",
4515
- label: /* @__PURE__ */ React19__namespace.default.createElement(core.Group, null, getIconForDimensionType(dimension.type), /* @__PURE__ */ React19__namespace.default.createElement(core.Text, { italic: true }, getCaption(dimension, locale)))
4489
+ label: /* @__PURE__ */ React19__default.createElement(Group, null, getIconForDimensionType(dimension.type), /* @__PURE__ */ React19__default.createElement(Text, { italic: true }, getCaption(dimension, locale)))
4516
4490
  }
4517
4491
  ),
4518
4492
  options
@@ -4526,7 +4500,7 @@ function HierarchyItem({
4526
4500
  activeItems
4527
4501
  }) {
4528
4502
  const { translate: t } = useTranslation();
4529
- React19.useMemo(() => {
4503
+ useMemo(() => {
4530
4504
  const captions = [getCaption(dimension, locale), getCaption(hierarchy, locale)];
4531
4505
  if (isSubMenu) {
4532
4506
  return captions[1];
@@ -4538,7 +4512,7 @@ function HierarchyItem({
4538
4512
  });
4539
4513
  }, [locale, dimension, hierarchy, isSubMenu, t]);
4540
4514
  const isChildSubMenu = hierarchy.levels.length !== 1;
4541
- const options = hierarchy.levels.map((lvl, index) => /* @__PURE__ */ React19__namespace.default.createElement(
4515
+ const options = hierarchy.levels.map((lvl, index) => /* @__PURE__ */ React19__default.createElement(
4542
4516
  LevelItem,
4543
4517
  {
4544
4518
  dimension,
@@ -4565,14 +4539,14 @@ function LevelItem({
4565
4539
  activeItems,
4566
4540
  depth = 0
4567
4541
  }) {
4568
- const [activeFilter, setActiveFilter] = React19.useState(false);
4569
- const [activePropertiesFilter, setActiveProperties] = React19.useState(false);
4542
+ const [activeFilter, setActiveFilter] = useState(false);
4543
+ const [activePropertiesFilter, setActiveProperties] = useState(false);
4570
4544
  const { translate: t } = useTranslation();
4571
4545
  const actions2 = useActions();
4572
- const cutItems = reactRedux.useSelector(selectCutItems);
4573
- let drilldowns = reactRedux.useSelector(selectDrilldownMap);
4574
- const ditems = reactRedux.useSelector(selectDrilldownItems);
4575
- const label = React19.useMemo(() => {
4546
+ const cutItems = useSelector$1(selectCutItems);
4547
+ let drilldowns = useSelector$1(selectDrilldownMap);
4548
+ const ditems = useSelector$1(selectDrilldownItems);
4549
+ const label = useMemo(() => {
4576
4550
  const captions = [
4577
4551
  getCaption(dimension, locale),
4578
4552
  getCaption(hierarchy, locale),
@@ -4588,7 +4562,7 @@ function LevelItem({
4588
4562
  level: captions[2]
4589
4563
  });
4590
4564
  }, [locale, dimension, hierarchy, level, isSubMenu, t]);
4591
- const createCutHandler = React19.useCallback((level2) => {
4565
+ const createCutHandler = useCallback((level2) => {
4592
4566
  const cutItem = buildCut({ ...level2, members: [], active: false });
4593
4567
  actions2.updateCut(cutItem);
4594
4568
  }, []);
@@ -4611,7 +4585,7 @@ function LevelItem({
4611
4585
  const isOtherHierarchySelected = activeItems.some(
4612
4586
  (activeItem) => activeItem.dimension === dimension.name && activeItem.hierarchy !== hierarchy.name
4613
4587
  );
4614
- React19.useLayoutEffect(() => {
4588
+ useLayoutEffect(() => {
4615
4589
  if (!drilldowns[level.name] && !ditems.find((d) => d.level === level.name)) {
4616
4590
  createDrilldown(level, cutItems);
4617
4591
  }
@@ -4619,7 +4593,7 @@ function LevelItem({
4619
4593
  const cut = cutItems.find((cut2) => {
4620
4594
  return cut2.level === (currentDrilldown == null ? void 0 : currentDrilldown.level);
4621
4595
  });
4622
- const updatecutHandler = React19__namespace.default.useCallback((item, members) => {
4596
+ const updatecutHandler = React19__default.useCallback((item, members) => {
4623
4597
  actions2.updateCut({ ...item, members });
4624
4598
  }, []);
4625
4599
  const checked = activeItems.map((i) => i.level).includes(level.name);
@@ -4628,8 +4602,8 @@ function LevelItem({
4628
4602
  if (!currentDrilldown) return;
4629
4603
  const paddingLeft = `${5 * depth + 5}px`;
4630
4604
  const properities = currentDrilldown.properties.length ? currentDrilldown.properties : null;
4631
- return currentDrilldown && /* @__PURE__ */ React19__namespace.default.createElement(React19__namespace.default.Fragment, null, /* @__PURE__ */ React19__namespace.default.createElement(core.Group, { className: "dex-level-control", mt: "sm", position: "apart", key: level.name, noWrap: true }, /* @__PURE__ */ React19__namespace.default.createElement(
4632
- core.Checkbox,
4605
+ return currentDrilldown && /* @__PURE__ */ React19__default.createElement(React19__default.Fragment, null, /* @__PURE__ */ React19__default.createElement(Group, { className: "dex-level-control", mt: "sm", position: "apart", key: level.name, noWrap: true }, /* @__PURE__ */ React19__default.createElement(
4606
+ Checkbox,
4633
4607
  {
4634
4608
  sx: { cursor: "pointer", paddingLeft },
4635
4609
  onChange: () => {
@@ -4647,17 +4621,17 @@ function LevelItem({
4647
4621
  size: "xs",
4648
4622
  disabled: isDisabled || disableUncheck
4649
4623
  }
4650
- ), /* @__PURE__ */ React19__namespace.default.createElement(core.Group, { sx: { flexWrap: "nowrap" } }, /* @__PURE__ */ React19__namespace.default.createElement(
4651
- core.ActionIcon,
4624
+ ), /* @__PURE__ */ React19__default.createElement(Group, { sx: { flexWrap: "nowrap" } }, /* @__PURE__ */ React19__default.createElement(
4625
+ ActionIcon,
4652
4626
  {
4653
4627
  className: "dex-level-filter",
4654
4628
  size: "sm",
4655
4629
  onClick: () => setActiveFilter((value) => !value),
4656
4630
  disabled: isDisabled
4657
4631
  },
4658
- activeFilter ? /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconFilterOff, null) : /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconFilter, null)
4659
- ), properities && /* @__PURE__ */ React19__namespace.default.createElement(core.Tooltip, { label: t("params.add_metadata") }, /* @__PURE__ */ React19__namespace.default.createElement(core.ActionIcon, { onClick: () => setActiveProperties((value) => !value) }, /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconAdjustments, null))), /* @__PURE__ */ React19__namespace.default.createElement(core.ThemeIcon, { size: "xs", color: "gray", variant: "light", bg: "transparent" }, /* @__PURE__ */ React19__namespace.default.createElement(StackSVG, null)))), activeFilter && /* @__PURE__ */ React19__namespace.default.createElement(core.Box, { pt: "md" }, /* @__PURE__ */ React19__namespace.default.createElement(
4660
- core.MultiSelect,
4632
+ activeFilter ? /* @__PURE__ */ React19__default.createElement(IconFilterOff, null) : /* @__PURE__ */ React19__default.createElement(IconFilter, null)
4633
+ ), properities && /* @__PURE__ */ React19__default.createElement(Tooltip, { label: t("params.add_metadata") }, /* @__PURE__ */ React19__default.createElement(ActionIcon, { onClick: () => setActiveProperties((value) => !value) }, /* @__PURE__ */ React19__default.createElement(IconAdjustments, null))), /* @__PURE__ */ React19__default.createElement(ThemeIcon, { size: "xs", color: "gray", variant: "light", bg: "transparent" }, /* @__PURE__ */ React19__default.createElement(StackSVG, null)))), activeFilter && /* @__PURE__ */ React19__default.createElement(Box, { pt: "md" }, /* @__PURE__ */ React19__default.createElement(
4634
+ MultiSelect,
4661
4635
  {
4662
4636
  sx: { flex: "1 1 100%" },
4663
4637
  searchable: true,
@@ -4680,14 +4654,14 @@ function LevelItem({
4680
4654
  nothingFound: "Nothing found",
4681
4655
  disabled: isDisabled
4682
4656
  }
4683
- )), activePropertiesFilter && /* @__PURE__ */ React19__namespace.default.createElement(PropertiesMultiSelect, { item: currentDrilldown }));
4657
+ )), activePropertiesFilter && /* @__PURE__ */ React19__default.createElement(PropertiesMultiSelect, { item: currentDrilldown }));
4684
4658
  }
4685
4659
  function PropertiesMultiSelect({ item }) {
4686
- const levelTriadMap = reactRedux.useSelector(selectLevelTriadMap);
4687
- const locale = reactRedux.useSelector(selectLocale);
4660
+ const levelTriadMap = useSelector$1(selectLevelTriadMap);
4661
+ const locale = useSelector$1(selectLocale);
4688
4662
  const actions2 = useActions();
4689
4663
  const { translate: t } = useTranslation();
4690
- const propertiesUpdateHandler2 = React19.useCallback(
4664
+ const propertiesUpdateHandler2 = useCallback(
4691
4665
  (activeProps) => {
4692
4666
  const properties = item.properties.map(
4693
4667
  (prop) => buildProperty({
@@ -4703,7 +4677,7 @@ function PropertiesMultiSelect({ item }) {
4703
4677
  item.properties,
4704
4678
  (item2) => isActiveItem(item2) ? item2.key : null
4705
4679
  );
4706
- const label = React19.useMemo(() => {
4680
+ const label = useMemo(() => {
4707
4681
  const triad = levelTriadMap[item.level] || [];
4708
4682
  const triadCaptions = triad.map((item2) => getCaption(item2, locale.code)).reverse();
4709
4683
  return t("params.tag_drilldowns", {
@@ -4714,8 +4688,8 @@ function PropertiesMultiSelect({ item }) {
4714
4688
  propCount: activeProperties.length
4715
4689
  });
4716
4690
  }, [activeProperties.length, levelTriadMap, item, locale.code, t]);
4717
- return /* @__PURE__ */ React19__namespace.default.createElement(core.Box, { pt: "md" }, /* @__PURE__ */ React19__namespace.default.createElement(
4718
- core.MultiSelect,
4691
+ return /* @__PURE__ */ React19__default.createElement(Box, { pt: "md" }, /* @__PURE__ */ React19__default.createElement(
4692
+ MultiSelect,
4719
4693
  {
4720
4694
  sx: { flex: "1 1 100%" },
4721
4695
  searchable: true,
@@ -4770,8 +4744,8 @@ function NumberInputComponent({ text, filter }) {
4770
4744
  const active = !isEmpty;
4771
4745
  actions2.updateFilter(buildFilter({ ...filter2, active, ...conditions }));
4772
4746
  }
4773
- return /* @__PURE__ */ React19__namespace.default.createElement(
4774
- core.NumberInput,
4747
+ return /* @__PURE__ */ React19__default.createElement(
4748
+ NumberInput,
4775
4749
  {
4776
4750
  description: text,
4777
4751
  placeholder: text,
@@ -4798,8 +4772,8 @@ var MinMax = ({ filter, hideControls, ...rest }) => {
4798
4772
  }
4799
4773
  const min = getFilterValue(filter.conditionOne);
4800
4774
  const max = getFilterValue(filter.conditionTwo);
4801
- return /* @__PURE__ */ React19__namespace.default.createElement(core.Flex, { gap: "xs" }, /* @__PURE__ */ React19__namespace.default.createElement(
4802
- core.NumberInput,
4775
+ return /* @__PURE__ */ React19__default.createElement(Flex, { gap: "xs" }, /* @__PURE__ */ React19__default.createElement(
4776
+ NumberInput,
4803
4777
  {
4804
4778
  placeholder: "Min",
4805
4779
  description: "Min",
@@ -4808,8 +4782,8 @@ var MinMax = ({ filter, hideControls, ...rest }) => {
4808
4782
  hideControls,
4809
4783
  ...rest
4810
4784
  }
4811
- ), /* @__PURE__ */ React19__namespace.default.createElement(
4812
- core.NumberInput,
4785
+ ), /* @__PURE__ */ React19__default.createElement(
4786
+ NumberInput,
4813
4787
  {
4814
4788
  placeholder: "Max",
4815
4789
  description: "Max",
@@ -4823,30 +4797,30 @@ var MinMax = ({ filter, hideControls, ...rest }) => {
4823
4797
  function FilterFnsMenu({ filter }) {
4824
4798
  const actions2 = useActions();
4825
4799
  const { translate: t } = useTranslation();
4826
- return /* @__PURE__ */ React19__namespace.default.createElement(React19__namespace.default.Fragment, null, /* @__PURE__ */ React19__namespace.default.createElement(core.Menu, { shadow: "md", width: 200 }, /* @__PURE__ */ React19__namespace.default.createElement(core.Menu.Target, null, /* @__PURE__ */ React19__namespace.default.createElement(core.ActionIcon, { size: "xs" }, /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconSettings, null))), /* @__PURE__ */ React19__namespace.default.createElement(core.Menu.Dropdown, null, /* @__PURE__ */ React19__namespace.default.createElement(core.Menu.Label, null, t("params.filter_mode")), /* @__PURE__ */ React19__namespace.default.createElement(
4827
- core.Menu.Item,
4800
+ return /* @__PURE__ */ React19__default.createElement(React19__default.Fragment, null, /* @__PURE__ */ React19__default.createElement(Menu, { shadow: "md", width: 200 }, /* @__PURE__ */ React19__default.createElement(Menu.Target, null, /* @__PURE__ */ React19__default.createElement(ActionIcon, { size: "xs" }, /* @__PURE__ */ React19__default.createElement(IconSettings, null))), /* @__PURE__ */ React19__default.createElement(Menu.Dropdown, null, /* @__PURE__ */ React19__default.createElement(Menu.Label, null, t("params.filter_mode")), /* @__PURE__ */ React19__default.createElement(
4801
+ Menu.Item,
4828
4802
  {
4829
- icon: /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconMathGreater, { size: 14 }),
4803
+ icon: /* @__PURE__ */ React19__default.createElement(IconMathGreater, { size: 14 }),
4830
4804
  onClick: () => {
4831
4805
  const conditions = getFiltersConditions("greaterThan", [0]) || {};
4832
4806
  actions2.updateFilter(buildFilter({ ...filter, ...conditions, active: false }));
4833
4807
  }
4834
4808
  },
4835
4809
  t("comparison.GT")
4836
- ), /* @__PURE__ */ React19__namespace.default.createElement(
4837
- core.Menu.Item,
4810
+ ), /* @__PURE__ */ React19__default.createElement(
4811
+ Menu.Item,
4838
4812
  {
4839
- icon: /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconMathLower, { size: 14 }),
4813
+ icon: /* @__PURE__ */ React19__default.createElement(IconMathLower, { size: 14 }),
4840
4814
  onClick: () => {
4841
4815
  const conditions = getFiltersConditions("lessThan", [0]) || {};
4842
4816
  actions2.updateFilter(buildFilter({ ...filter, ...conditions, active: false }));
4843
4817
  }
4844
4818
  },
4845
4819
  t("comparison.LT")
4846
- ), /* @__PURE__ */ React19__namespace.default.createElement(
4847
- core.Menu.Item,
4820
+ ), /* @__PURE__ */ React19__default.createElement(
4821
+ Menu.Item,
4848
4822
  {
4849
- icon: /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconArrowsLeftRight, { size: 14 }),
4823
+ icon: /* @__PURE__ */ React19__default.createElement(IconArrowsLeftRight, { size: 14 }),
4850
4824
  onClick: () => {
4851
4825
  const conditions = getFiltersConditions("between", [0, 0]) || {};
4852
4826
  actions2.updateFilter(buildFilter({ ...filter, ...conditions, active: false }));
@@ -4856,23 +4830,23 @@ function FilterFnsMenu({ filter }) {
4856
4830
  ))));
4857
4831
  }
4858
4832
  function MeasuresOptions() {
4859
- const itemMap = reactRedux.useSelector(selectMeasureMap);
4860
- const filtersMap = reactRedux.useSelector(selectFilterMap);
4861
- const filtersItems = reactRedux.useSelector(selectFilterItems);
4862
- const measures = reactRedux.useSelector(selectOlapMeasureItems);
4833
+ const itemMap = useSelector$1(selectMeasureMap);
4834
+ const filtersMap = useSelector$1(selectFilterMap);
4835
+ const filtersItems = useSelector$1(selectFilterItems);
4836
+ const measures = useSelector$1(selectOlapMeasureItems);
4863
4837
  const actions2 = useActions();
4864
- const handlerCreateMeasure = React19.useCallback((data) => {
4838
+ const handlerCreateMeasure = useCallback((data) => {
4865
4839
  const measure = buildMeasure(data);
4866
4840
  actions2.updateMeasure(measure);
4867
4841
  return measure;
4868
4842
  }, []);
4869
- const handlerCreateFilter = React19.useCallback((data) => {
4843
+ const handlerCreateFilter = useCallback((data) => {
4870
4844
  const filter = buildFilter(data);
4871
4845
  actions2.updateFilter(filter);
4872
4846
  return filter;
4873
4847
  }, []);
4874
4848
  const measureCaptions = Object.values(measures).map((m) => `${m.caption}`).join(",");
4875
- const filteredItems = React19.useMemo(() => {
4849
+ const filteredItems = useMemo(() => {
4876
4850
  return filterMap(measures, (m) => {
4877
4851
  const measure = itemMap[m.name] || handlerCreateMeasure({ ...m, active: false });
4878
4852
  const foundFilter = filtersMap[m.name] || filtersItems.find((f) => f.measure === measure.name);
@@ -4894,7 +4868,7 @@ function MeasuresOptions() {
4894
4868
  ]);
4895
4869
  const activeItems = filteredItems.filter((f) => isActiveItem(f.measure));
4896
4870
  const options = filteredItems.map(({ measure, filter }) => {
4897
- return /* @__PURE__ */ React19__namespace.default.createElement(FilterItem2, { key: measure.key, measure, filter, activeItems });
4871
+ return /* @__PURE__ */ React19__default.createElement(FilterItem2, { key: measure.key, measure, filter, activeItems });
4898
4872
  });
4899
4873
  return options;
4900
4874
  }
@@ -4903,7 +4877,7 @@ function FilterItem2({
4903
4877
  filter,
4904
4878
  activeItems
4905
4879
  }) {
4906
- const [activeFilter, setActiveFilter] = React19.useState(false);
4880
+ const [activeFilter, setActiveFilter] = useState(false);
4907
4881
  const { translate: t } = useTranslation();
4908
4882
  const filterFn = getFilterFn(filter);
4909
4883
  const text = t(`comparison.${getFilterfnKey(filterFn)}`);
@@ -4911,8 +4885,8 @@ function FilterItem2({
4911
4885
  const checked = activeItems.map((active) => active.measure.name).includes(measure.name);
4912
4886
  const actions2 = useActions();
4913
4887
  const isLastSelected = activeItems.length === 1 && checked;
4914
- return /* @__PURE__ */ React19__namespace.default.createElement(core.Box, { key: measure.name }, /* @__PURE__ */ React19__namespace.default.createElement(core.Group, { mt: "sm", position: "apart" }, /* @__PURE__ */ React19__namespace.default.createElement(
4915
- core.Checkbox,
4888
+ return /* @__PURE__ */ React19__default.createElement(Box, { key: measure.name }, /* @__PURE__ */ React19__default.createElement(Group, { mt: "sm", position: "apart" }, /* @__PURE__ */ React19__default.createElement(
4889
+ Checkbox,
4916
4890
  {
4917
4891
  sx: { cursor: "pointer" },
4918
4892
  onChange: () => {
@@ -4926,22 +4900,22 @@ function FilterItem2({
4926
4900
  size: "xs",
4927
4901
  disabled: isLastSelected
4928
4902
  }
4929
- ), /* @__PURE__ */ React19__namespace.default.createElement(core.Group, { sx: { flexWrap: "nowrap" } }, activeFilter && /* @__PURE__ */ React19__namespace.default.createElement(FilterFnsMenu, { filter }), /* @__PURE__ */ React19__namespace.default.createElement(core.ActionIcon, { size: "sm", onClick: () => setActiveFilter((value) => !value) }, activeFilter ? /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconFilterOff, null) : /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconFilter, null)), /* @__PURE__ */ React19__namespace.default.createElement(core.ThemeIcon, { size: "xs", color: "gray", variant: "light", bg: "transparent" }, /* @__PURE__ */ React19__namespace.default.createElement(BarsSVG, null)))), activeFilter && /* @__PURE__ */ React19__namespace.default.createElement(core.Box, { pt: "md" }, isBetween ? /* @__PURE__ */ React19__namespace.default.createElement(MinMax, { filter }) : /* @__PURE__ */ React19__namespace.default.createElement(NumberInputComponent, { text, filter })));
4903
+ ), /* @__PURE__ */ React19__default.createElement(Group, { sx: { flexWrap: "nowrap" } }, activeFilter && /* @__PURE__ */ React19__default.createElement(FilterFnsMenu, { filter }), /* @__PURE__ */ React19__default.createElement(ActionIcon, { size: "sm", onClick: () => setActiveFilter((value) => !value) }, activeFilter ? /* @__PURE__ */ React19__default.createElement(IconFilterOff, null) : /* @__PURE__ */ React19__default.createElement(IconFilter, null)), /* @__PURE__ */ React19__default.createElement(ThemeIcon, { size: "xs", color: "gray", variant: "light", bg: "transparent" }, /* @__PURE__ */ React19__default.createElement(BarsSVG, null)))), activeFilter && /* @__PURE__ */ React19__default.createElement(Box, { pt: "md" }, isBetween ? /* @__PURE__ */ React19__default.createElement(MinMax, { filter }) : /* @__PURE__ */ React19__default.createElement(NumberInputComponent, { text, filter })));
4930
4904
  }
4931
4905
  var getIconForDimensionType = (dimensionType) => {
4932
4906
  switch (dimensionType) {
4933
4907
  case "geo" /* GEO */:
4934
- return /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconWorld, { size: 20 });
4908
+ return /* @__PURE__ */ React19__default.createElement(IconWorld, { size: 20 });
4935
4909
  case "time" /* TIME */:
4936
- return /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconClock, { size: 20 });
4910
+ return /* @__PURE__ */ React19__default.createElement(IconClock, { size: 20 });
4937
4911
  default:
4938
- return /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconBox, { size: 20 });
4912
+ return /* @__PURE__ */ React19__default.createElement(IconBox, { size: 20 });
4939
4913
  }
4940
4914
  };
4941
4915
  var DrawerMenu_default = AddColumnsDrawer;
4942
4916
 
4943
4917
  // src/components/ExplorerTabs.tsx
4944
- init_cjs_shims();
4918
+ init_esm_shims();
4945
4919
  var tabsStyles = (t) => ({
4946
4920
  root: {
4947
4921
  alignSelf: "flex-end"
@@ -4964,8 +4938,8 @@ function ExplorerTabs({
4964
4938
  value
4965
4939
  }) {
4966
4940
  const { translate: t } = useTranslation();
4967
- return /* @__PURE__ */ React19__namespace.default.createElement(
4968
- core.Tabs,
4941
+ return /* @__PURE__ */ React19__default.createElement(
4942
+ Tabs,
4969
4943
  {
4970
4944
  color: "blue",
4971
4945
  id: "query-results-tabs",
@@ -4973,37 +4947,37 @@ function ExplorerTabs({
4973
4947
  value,
4974
4948
  styles: tabsStyles
4975
4949
  },
4976
- /* @__PURE__ */ React19__namespace.default.createElement(core.Tabs.List, null, panels.map((panel) => /* @__PURE__ */ React19__namespace.default.createElement(core.Tabs.Tab, { key: panel.key, id: panel.key, value: panel.key, h: 56 }, t(panel.label))))
4950
+ /* @__PURE__ */ React19__default.createElement(Tabs.List, null, panels.map((panel) => /* @__PURE__ */ React19__default.createElement(Tabs.Tab, { key: panel.key, id: panel.key, value: panel.key, h: 56 }, t(panel.label))))
4977
4951
  );
4978
4952
  }
4979
4953
 
4980
4954
  // src/components/PreviewModeSwitch.jsx
4981
- init_cjs_shims();
4955
+ init_esm_shims();
4982
4956
  var PreviewModeSwitch = (props) => {
4983
4957
  const withTooltip = !!props.withTooltip;
4984
4958
  const actions2 = useActions();
4985
4959
  const { translate: t } = useTranslation();
4986
- const isPreviewMode = reactRedux.useSelector(selectIsPreviewMode);
4987
- const serialParams = reactRedux.useSelector(selectSerializedParams);
4960
+ const isPreviewMode = useSelector$1(selectIsPreviewMode);
4961
+ const serialParams = useSelector$1(selectSerializedParams);
4988
4962
  const { previewLimit } = useSettings();
4989
- React19.useEffect(() => {
4963
+ useEffect(() => {
4990
4964
  isPreviewMode && actions2.willRequestQuery();
4991
4965
  }, [isPreviewMode, serialParams]);
4992
- const onClickLoadAllResults = React19.useCallback(() => {
4966
+ const onClickLoadAllResults = useCallback(() => {
4993
4967
  actions2.updateIsPreview(!isPreviewMode);
4994
4968
  }, [isPreviewMode]);
4995
- const target = /* @__PURE__ */ React19__namespace.default.createElement(
4996
- core.Switch,
4969
+ const target = /* @__PURE__ */ React19__default.createElement(
4970
+ Switch,
4997
4971
  {
4998
4972
  checked: !isPreviewMode,
4999
4973
  styles: { label: { display: "flex", alignContent: "center", gap: "0.25rem" } },
5000
- label: /* @__PURE__ */ React19__namespace.default.createElement(React19__namespace.default.Fragment, null, t("params.label_boolean_full_results"), withTooltip && /* @__PURE__ */ React19__namespace.default.createElement(core.ThemeIcon, { variant: "subtle", size: "sm" }, /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconInfoCircleFilled, null))),
4974
+ label: /* @__PURE__ */ React19__default.createElement(React19__default.Fragment, null, t("params.label_boolean_full_results"), withTooltip && /* @__PURE__ */ React19__default.createElement(ThemeIcon, { variant: "subtle", size: "sm" }, /* @__PURE__ */ React19__default.createElement(IconInfoCircleFilled, null))),
5001
4975
  onChange: onClickLoadAllResults
5002
4976
  }
5003
4977
  );
5004
4978
  if (!withTooltip) return target;
5005
- return /* @__PURE__ */ React19__namespace.default.createElement(
5006
- core.Tooltip,
4979
+ return /* @__PURE__ */ React19__default.createElement(
4980
+ Tooltip,
5007
4981
  {
5008
4982
  events: {
5009
4983
  hover: true,
@@ -5015,12 +4989,12 @@ var PreviewModeSwitch = (props) => {
5015
4989
  withArrow: true,
5016
4990
  withinPortal: true
5017
4991
  },
5018
- /* @__PURE__ */ React19__namespace.default.createElement("div", null, target)
4992
+ /* @__PURE__ */ React19__default.createElement("div", null, target)
5019
4993
  );
5020
4994
  };
5021
4995
 
5022
4996
  // src/components/Toolbar.tsx
5023
- init_cjs_shims();
4997
+ init_esm_shims();
5024
4998
  var toolbarSx = (t) => ({
5025
4999
  background: t.colorScheme === "dark" ? t.black : t.white,
5026
5000
  borderRadius: t.radius.xl,
@@ -5028,27 +5002,27 @@ var toolbarSx = (t) => ({
5028
5002
  });
5029
5003
  function ToolbarButton({ icon, label, onClick = () => void 0 }) {
5030
5004
  const { toolbarConfig } = useSettings();
5031
- return /* @__PURE__ */ React19__namespace.default.createElement(
5032
- core.UnstyledButton,
5005
+ return /* @__PURE__ */ React19__default.createElement(
5006
+ UnstyledButton,
5033
5007
  {
5034
5008
  onClick,
5035
5009
  py: { base: "0.2rem", md: 0 },
5036
5010
  sx: (t) => ({ "& svg path": { stroke: t.colorScheme === "dark" ? "white" : "black" } })
5037
5011
  },
5038
- /* @__PURE__ */ React19__namespace.default.createElement(core.Group, { spacing: "xs", noWrap: true }, icon, (toolbarConfig == null ? void 0 : toolbarConfig.showLabels) && label && /* @__PURE__ */ React19__namespace.default.createElement(core.Text, { size: "sm" }, label))
5012
+ /* @__PURE__ */ React19__default.createElement(Group, { spacing: "xs", noWrap: true }, icon, (toolbarConfig == null ? void 0 : toolbarConfig.showLabels) && label && /* @__PURE__ */ React19__default.createElement(Text, { size: "sm" }, label))
5039
5013
  );
5040
5014
  }
5041
5015
  function TourButton() {
5042
- const { setIsOpen, setCurrentStep } = tour.useTour();
5016
+ const { setIsOpen, setCurrentStep } = useTour();
5043
5017
  const { translate: t } = useTranslation();
5044
5018
  const startTour = () => {
5045
5019
  setCurrentStep(0);
5046
5020
  setIsOpen(true);
5047
5021
  };
5048
- return /* @__PURE__ */ React19__namespace.default.createElement(
5022
+ return /* @__PURE__ */ React19__default.createElement(
5049
5023
  ToolbarButton,
5050
5024
  {
5051
- icon: /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconHelpCircle, { strokeWidth: 1.5 }),
5025
+ icon: /* @__PURE__ */ React19__default.createElement(IconHelpCircle, { strokeWidth: 1.5 }),
5052
5026
  label: t("tour.controls.help"),
5053
5027
  onClick: startTour
5054
5028
  }
@@ -5059,11 +5033,11 @@ function Toolbar({
5059
5033
  fullscreen
5060
5034
  }) {
5061
5035
  const { translate: t } = useTranslation();
5062
- const theme = core.useMantineTheme();
5063
- const smallerThanLg = hooks.useMediaQuery(`(max-width: ${theme.breakpoints.lg})`);
5036
+ const theme = useMantineTheme();
5037
+ const smallerThanLg = useMediaQuery(`(max-width: ${theme.breakpoints.lg})`);
5064
5038
  const { toolbarConfig } = useSettings();
5065
- const settings = /* @__PURE__ */ React19__namespace.default.createElement(
5066
- core.Flex,
5039
+ const settings = /* @__PURE__ */ React19__default.createElement(
5040
+ Flex,
5067
5041
  {
5068
5042
  direction: { base: "column", lg: "row" },
5069
5043
  justify: "flex-start",
@@ -5073,22 +5047,22 @@ function Toolbar({
5073
5047
  wrap: "nowrap",
5074
5048
  gap: "xs"
5075
5049
  },
5076
- toolbarConfig == null ? void 0 : toolbarConfig.buttons.map((b) => /* @__PURE__ */ React19__namespace.default.createElement(ToolbarButton, { key: b.label, ...b })),
5077
- /* @__PURE__ */ React19__namespace.default.createElement(TourButton, null),
5078
- /* @__PURE__ */ React19__namespace.default.createElement(
5050
+ toolbarConfig == null ? void 0 : toolbarConfig.buttons.map((b) => /* @__PURE__ */ React19__default.createElement(ToolbarButton, { key: b.label, ...b })),
5051
+ /* @__PURE__ */ React19__default.createElement(TourButton, null),
5052
+ /* @__PURE__ */ React19__default.createElement(
5079
5053
  ToolbarButton,
5080
5054
  {
5081
- icon: /* @__PURE__ */ React19__namespace.default.createElement(FullScreenSVG, null),
5055
+ icon: /* @__PURE__ */ React19__default.createElement(FullScreenSVG, null),
5082
5056
  label: t("params.label_fullscreen"),
5083
5057
  onClick: fullscreen.toggle
5084
5058
  }
5085
5059
  )
5086
5060
  );
5087
- return smallerThanLg ? /* @__PURE__ */ React19__namespace.default.createElement(core.Menu, null, /* @__PURE__ */ React19__namespace.default.createElement(core.Menu.Target, null, /* @__PURE__ */ React19__namespace.default.createElement(core.ActionIcon, null, /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconSettings, null))), /* @__PURE__ */ React19__namespace.default.createElement(core.Menu.Dropdown, null, settings)) : settings;
5061
+ return smallerThanLg ? /* @__PURE__ */ React19__default.createElement(Menu, null, /* @__PURE__ */ React19__default.createElement(Menu.Target, null, /* @__PURE__ */ React19__default.createElement(ActionIcon, null, /* @__PURE__ */ React19__default.createElement(IconSettings, null))), /* @__PURE__ */ React19__default.createElement(Menu.Dropdown, null, settings)) : settings;
5088
5062
  }
5089
5063
 
5090
5064
  // src/components/ExplorerResults.tsx
5091
- var useStyles3 = core.createStyles(() => ({
5065
+ var useStyles3 = createStyles(() => ({
5092
5066
  container: {
5093
5067
  minHeight: "40vh",
5094
5068
  display: "flex",
@@ -5096,37 +5070,37 @@ var useStyles3 = core.createStyles(() => ({
5096
5070
  }
5097
5071
  }));
5098
5072
  function ExplorerResults(props) {
5099
- const cube = reactRedux.useSelector(selectOlapCube);
5100
- const serverStatus = reactRedux.useSelector(selectServerState);
5101
- const { params, result } = reactRedux.useSelector(selectCurrentQueryItem);
5073
+ const cube = useSelector$1(selectOlapCube);
5074
+ const serverStatus = useSelector$1(selectServerState);
5075
+ const { params, result } = useSelector$1(selectCurrentQueryItem);
5102
5076
  const { online: isServerOnline, url: serverUrl } = serverStatus;
5103
5077
  const { error } = result;
5104
5078
  const { translate: t } = useTranslation();
5105
5079
  const { classes, cx } = useStyles3();
5106
5080
  if (typeof window === "object" && window.navigator.onLine === false) {
5107
- return /* @__PURE__ */ React19__namespace.default.createElement(
5081
+ return /* @__PURE__ */ React19__default.createElement(
5108
5082
  FailureResult,
5109
5083
  {
5110
5084
  className: cx(classes.container, props.className),
5111
- icon: /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconWorld, { color: "orange", size: "5rem" }),
5085
+ icon: /* @__PURE__ */ React19__default.createElement(IconWorld, { color: "orange", size: "5rem" }),
5112
5086
  title: t("results.error_disconnected_title")
5113
5087
  }
5114
5088
  );
5115
5089
  }
5116
5090
  if (isServerOnline === false) {
5117
- return /* @__PURE__ */ React19__namespace.default.createElement(
5091
+ return /* @__PURE__ */ React19__default.createElement(
5118
5092
  FailureResult,
5119
5093
  {
5120
5094
  className: cx(classes.container, props.className),
5121
- icon: /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconAlertTriangle, { color: "orange", size: "5rem" }),
5095
+ icon: /* @__PURE__ */ React19__default.createElement(IconAlertTriangle, { color: "orange", size: "5rem" }),
5122
5096
  title: t("results.error_serveroffline_title"),
5123
- description: /* @__PURE__ */ React19__namespace.default.createElement(core.Text, { span: true }, t("results.error_serveroffline_detail"), /* @__PURE__ */ React19__namespace.default.createElement(core.Anchor, { href: serverUrl, target: "_blank", rel: "noopener noreferrer" }, serverUrl), ".")
5097
+ description: /* @__PURE__ */ React19__default.createElement(Text, { span: true }, t("results.error_serveroffline_detail"), /* @__PURE__ */ React19__default.createElement(Anchor, { href: serverUrl, target: "_blank", rel: "noopener noreferrer" }, serverUrl), ".")
5124
5098
  }
5125
5099
  );
5126
5100
  }
5127
5101
  if (isServerOnline == null || !cube) {
5128
- return /* @__PURE__ */ React19__namespace.default.createElement(
5129
- core.Paper,
5102
+ return /* @__PURE__ */ React19__default.createElement(
5103
+ Paper,
5130
5104
  {
5131
5105
  className: cx(classes.container, props.className),
5132
5106
  id: "query-results-transient",
@@ -5136,16 +5110,16 @@ function ExplorerResults(props) {
5136
5110
  );
5137
5111
  }
5138
5112
  if (error) {
5139
- return /* @__PURE__ */ React19__namespace.default.createElement(
5113
+ return /* @__PURE__ */ React19__default.createElement(
5140
5114
  FailureResult,
5141
5115
  {
5142
5116
  className: cx(classes.container, props.className),
5143
- description: /* @__PURE__ */ React19__namespace.default.createElement(core.Stack, { align: "center", spacing: "xs" }, /* @__PURE__ */ React19__namespace.default.createElement(core.Text, null, t("results.error_execquery_detail")), /* @__PURE__ */ React19__namespace.default.createElement(core.Text, null, error)),
5144
- icon: /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconAlertTriangle, { color: "orange", size: "5rem" })
5117
+ description: /* @__PURE__ */ React19__default.createElement(Stack, { align: "center", spacing: "xs" }, /* @__PURE__ */ React19__default.createElement(Text, null, t("results.error_execquery_detail")), /* @__PURE__ */ React19__default.createElement(Text, null, error)),
5118
+ icon: /* @__PURE__ */ React19__default.createElement(IconAlertTriangle, { color: "orange", size: "5rem" })
5145
5119
  }
5146
5120
  );
5147
5121
  }
5148
- return /* @__PURE__ */ React19__namespace.default.createElement(
5122
+ return /* @__PURE__ */ React19__default.createElement(
5149
5123
  SuccessResult,
5150
5124
  {
5151
5125
  className: cx(classes.container, props.className),
@@ -5158,8 +5132,8 @@ function ExplorerResults(props) {
5158
5132
  );
5159
5133
  }
5160
5134
  function FailureResult(props) {
5161
- return /* @__PURE__ */ React19__namespace.default.createElement(
5162
- core.Paper,
5135
+ return /* @__PURE__ */ React19__default.createElement(
5136
+ Paper,
5163
5137
  {
5164
5138
  id: "query-results-failure",
5165
5139
  className: props.className,
@@ -5167,31 +5141,31 @@ function FailureResult(props) {
5167
5141
  withBorder: true,
5168
5142
  sx: { justifyContent: "center" }
5169
5143
  },
5170
- /* @__PURE__ */ React19__namespace.default.createElement(core.Stack, { align: "center", spacing: "xs" }, props.icon && props.icon, props.title && /* @__PURE__ */ React19__namespace.default.createElement(core.Title, { order: 5 }, props.title), props.description && /* @__PURE__ */ React19__namespace.default.createElement(core.Text, null, props.description), props.children && props.children, props.action && props.action)
5144
+ /* @__PURE__ */ React19__default.createElement(Stack, { align: "center", spacing: "xs" }, props.icon && props.icon, props.title && /* @__PURE__ */ React19__default.createElement(Title, { order: 5 }, props.title), props.description && /* @__PURE__ */ React19__default.createElement(Text, null, props.description), props.children && props.children, props.action && props.action)
5171
5145
  );
5172
5146
  }
5173
5147
  function SuccessResult(props) {
5174
5148
  const { cube, panels, params, result } = props;
5175
5149
  const { translate: t } = useTranslation();
5176
5150
  const { previewLimit, actions: actions2 } = useSettings();
5177
- const queryItem = reactRedux.useSelector(selectCurrentQueryItem);
5178
- const isPreviewMode = reactRedux.useSelector(selectIsPreviewMode);
5151
+ const queryItem = useSelector$1(selectCurrentQueryItem);
5152
+ const isPreviewMode = useSelector$1(selectIsPreviewMode);
5179
5153
  const { table, isError, isLoading, data, columns, pagination, setPagination } = useTable({
5180
5154
  cube,
5181
5155
  result
5182
5156
  });
5183
- const fullscreen = hooks.useFullscreen();
5184
- const [CurrentComponent, panelKey, panelMeta] = React19.useMemo(() => {
5157
+ const fullscreen = useFullscreen();
5158
+ const [CurrentComponent, panelKey, panelMeta] = useMemo(() => {
5185
5159
  const currentPanel = queryItem.panel || `${panels[0].key}-`;
5186
5160
  const [panelKey2, ...panelMeta2] = currentPanel.split("-");
5187
5161
  const panel = panels.find((item) => item.key === panelKey2) || panels[0];
5188
5162
  return [panel.component, panel.key, panelMeta2.join("-")];
5189
5163
  }, [panels, queryItem.panel]);
5190
- const tabHandler = React19.useCallback((newTab) => {
5164
+ const tabHandler = useCallback((newTab) => {
5191
5165
  actions2.switchPanel(newTab);
5192
5166
  }, []);
5193
- return /* @__PURE__ */ React19__namespace.default.createElement(core.Flex, { gap: "xs", direction: "column", w: "100%", className: props.className }, /* @__PURE__ */ React19__namespace.default.createElement(core.Paper, { ref: fullscreen.ref, id: "query-results-success", h: "100%" }, /* @__PURE__ */ React19__namespace.default.createElement(
5194
- core.Flex,
5167
+ return /* @__PURE__ */ React19__default.createElement(Flex, { gap: "xs", direction: "column", w: "100%", className: props.className }, /* @__PURE__ */ React19__default.createElement(Paper, { ref: fullscreen.ref, id: "query-results-success", h: "100%" }, /* @__PURE__ */ React19__default.createElement(
5168
+ Flex,
5195
5169
  {
5196
5170
  sx: (t2) => ({
5197
5171
  alignItems: "center",
@@ -5200,9 +5174,9 @@ function SuccessResult(props) {
5200
5174
  }),
5201
5175
  w: "100%"
5202
5176
  },
5203
- /* @__PURE__ */ React19__namespace.default.createElement(ExplorerTabs, { panels, onChange: tabHandler, value: panelKey }),
5204
- (!queryItem.panel || queryItem.panel === "table") && /* @__PURE__ */ React19__namespace.default.createElement(core.Group, { sx: { display: "flex", flex: "0 1 auto", gap: "0.5rem" }, mr: "sm", noWrap: true }, /* @__PURE__ */ React19__namespace.default.createElement(Toolbar, { table, fullscreen }), /* @__PURE__ */ React19__namespace.default.createElement(DrawerMenu_default, null))
5205
- ), isPreviewMode && /* @__PURE__ */ React19__namespace.default.createElement(core.Alert, { id: "alert-load-all-results", color: "yellow", radius: 0, sx: { flex: "0 0 auto" } }, /* @__PURE__ */ React19__namespace.default.createElement(core.Group, { position: "apart" }, /* @__PURE__ */ React19__namespace.default.createElement(core.Text, null, /* @__PURE__ */ React19__namespace.default.createElement(core.Text, { fw: 700, span: true }, t("previewMode.title_preview"), ":", " "), /* @__PURE__ */ React19__namespace.default.createElement(core.Text, { span: true }, t("previewMode.description_preview", { limit: previewLimit }))), /* @__PURE__ */ React19__namespace.default.createElement(PreviewModeSwitch, null))), /* @__PURE__ */ React19__namespace.default.createElement(core.Box, { id: "query-results-content", sx: { flex: "1 1", height: "calc(100% - 60px)" } }, /* @__PURE__ */ React19__namespace.default.createElement(React19.Suspense, { fallback: props.children }, /* @__PURE__ */ React19__namespace.default.createElement(core.Flex, { h: "100%" }, /* @__PURE__ */ React19__namespace.default.createElement(core.Box, { sx: { flex: "1 1", overflowX: "scroll" } }, /* @__PURE__ */ React19__namespace.default.createElement(
5177
+ /* @__PURE__ */ React19__default.createElement(ExplorerTabs, { panels, onChange: tabHandler, value: panelKey }),
5178
+ (!queryItem.panel || queryItem.panel === "table") && /* @__PURE__ */ React19__default.createElement(Group, { sx: { display: "flex", flex: "0 1 auto", gap: "0.5rem" }, mr: "sm", noWrap: true }, /* @__PURE__ */ React19__default.createElement(Toolbar, { table, fullscreen }), /* @__PURE__ */ React19__default.createElement(DrawerMenu_default, null))
5179
+ ), isPreviewMode && /* @__PURE__ */ React19__default.createElement(Alert, { id: "alert-load-all-results", color: "yellow", radius: 0, sx: { flex: "0 0 auto" } }, /* @__PURE__ */ React19__default.createElement(Group, { position: "apart" }, /* @__PURE__ */ React19__default.createElement(Text, null, /* @__PURE__ */ React19__default.createElement(Text, { fw: 700, span: true }, t("previewMode.title_preview"), ":", " "), /* @__PURE__ */ React19__default.createElement(Text, { span: true }, t("previewMode.description_preview", { limit: previewLimit }))), /* @__PURE__ */ React19__default.createElement(PreviewModeSwitch, null))), /* @__PURE__ */ React19__default.createElement(Box, { id: "query-results-content", sx: { flex: "1 1", height: "calc(100% - 60px)" } }, /* @__PURE__ */ React19__default.createElement(Suspense, { fallback: props.children }, /* @__PURE__ */ React19__default.createElement(Flex, { h: "100%" }, /* @__PURE__ */ React19__default.createElement(Box, { sx: { flex: "1 1", overflowX: "scroll" } }, /* @__PURE__ */ React19__default.createElement(
5206
5180
  CurrentComponent,
5207
5181
  {
5208
5182
  panelKey: `${panelKey}-${panelMeta}`,
@@ -5221,15 +5195,15 @@ function SuccessResult(props) {
5221
5195
  }
5222
5196
 
5223
5197
  // src/components/ParamsExplorer.tsx
5224
- init_cjs_shims();
5198
+ init_esm_shims();
5225
5199
  function ParamsExplorer(props) {
5226
5200
  const { locale } = props;
5227
- return /* @__PURE__ */ React19__namespace.default.createElement(SelectCube, { locale });
5201
+ return /* @__PURE__ */ React19__default.createElement(SelectCube, { locale });
5228
5202
  }
5229
5203
  var ParamsExplorer_default = ParamsExplorer;
5230
5204
 
5231
5205
  // src/components/ExplorerContent.tsx
5232
- var useStyles4 = core.createStyles((theme, params) => ({
5206
+ var useStyles4 = createStyles((theme, params) => ({
5233
5207
  container: {
5234
5208
  height: "100%",
5235
5209
  [theme.fn.largerThan("md")]: {
@@ -5266,14 +5240,14 @@ function ExplorerContent(props) {
5266
5240
  props.defaultCube
5267
5241
  );
5268
5242
  const { classes } = useStyles4({ height: props.height });
5269
- React19.useEffect(() => {
5243
+ useEffect(() => {
5270
5244
  if (props.locale) translation.setLocale(props.locale);
5271
5245
  }, [props.locale, translation]);
5272
- const splash = React19.useMemo(() => {
5246
+ const splash = useMemo(() => {
5273
5247
  const SplashComponent = props.splash;
5274
- return SplashComponent ? /* @__PURE__ */ React19__namespace.default.createElement(SplashComponent, { translation }) : /* @__PURE__ */ React19__namespace.default.createElement(core.Center, { h: "100%", sx: { flex: 1 } }, /* @__PURE__ */ React19__namespace.default.createElement(AnimatedCube, null));
5248
+ return SplashComponent ? /* @__PURE__ */ React19__default.createElement(SplashComponent, { translation }) : /* @__PURE__ */ React19__default.createElement(Center, { h: "100%", sx: { flex: 1 } }, /* @__PURE__ */ React19__default.createElement(AnimatedCube, null));
5275
5249
  }, [props.splash, translation]);
5276
- return /* @__PURE__ */ React19__namespace.default.createElement("div", { className: classes.container }, /* @__PURE__ */ React19__namespace.default.createElement("div", { className: classes.root }, /* @__PURE__ */ React19__namespace.default.createElement(AppProviders, null, /* @__PURE__ */ React19__namespace.default.createElement(SideBarProvider, { locale: props.locale }, /* @__PURE__ */ React19__namespace.default.createElement(SideBar_default, null, /* @__PURE__ */ React19__namespace.default.createElement(SideBarItem, null, /* @__PURE__ */ React19__namespace.default.createElement(ParamsExplorer_default, { locale: props.locale })))), /* @__PURE__ */ React19__namespace.default.createElement(
5250
+ return /* @__PURE__ */ React19__default.createElement("div", { className: classes.container }, /* @__PURE__ */ React19__default.createElement("div", { className: classes.root }, /* @__PURE__ */ React19__default.createElement(AppProviders, null, /* @__PURE__ */ React19__default.createElement(SideBarProvider, { locale: props.locale }, /* @__PURE__ */ React19__default.createElement(SideBar_default, null, /* @__PURE__ */ React19__default.createElement(SideBarItem, null, /* @__PURE__ */ React19__default.createElement(ParamsExplorer_default, { locale: props.locale })))), /* @__PURE__ */ React19__default.createElement(
5277
5251
  ExplorerResults,
5278
5252
  {
5279
5253
  className: classes.flexCol,
@@ -5284,16 +5258,16 @@ function ExplorerContent(props) {
5284
5258
  }
5285
5259
 
5286
5260
  // src/components/PivotView.tsx
5287
- init_cjs_shims();
5261
+ init_esm_shims();
5288
5262
 
5289
5263
  // src/hooks/pivot.ts
5290
- init_cjs_shims();
5264
+ init_esm_shims();
5291
5265
 
5292
5266
  // src/utils/pivot.worker.js
5293
- init_cjs_shims();
5267
+ init_esm_shims();
5294
5268
 
5295
5269
  // src/utils/workerify.ts
5296
- init_cjs_shims();
5270
+ init_esm_shims();
5297
5271
  var SCRIPT_TYPE = "application/javascript";
5298
5272
  var Worker = typeof window === "object" ? window.Worker : null;
5299
5273
  if (Worker) {
@@ -5486,7 +5460,7 @@ var pivot_worker_default = shimWorker((self2) => {
5486
5460
  function useFormatParams(measures, valueProperty) {
5487
5461
  const { translate: t } = useTranslation();
5488
5462
  const fmt = useFormatter();
5489
- return React19.useMemo(() => {
5463
+ return useMemo(() => {
5490
5464
  const formatterKey = fmt.getFormat(valueProperty);
5491
5465
  const formatter2 = fmt.getFormatter(formatterKey);
5492
5466
  return {
@@ -5501,9 +5475,9 @@ function useFormatParams(measures, valueProperty) {
5501
5475
  }, [valueProperty, fmt, t]);
5502
5476
  }
5503
5477
  function usePivottedData(data, colProp, rowProp, valProp, initialState4 = null) {
5504
- const [pivottedData, setPivottedData] = React19.useState(initialState4);
5505
- const [error, setError] = React19.useState(null);
5506
- React19.useEffect(() => {
5478
+ const [pivottedData, setPivottedData] = useState(initialState4);
5479
+ const [error, setError] = useState(null);
5480
+ useEffect(() => {
5507
5481
  setPivottedData(initialState4);
5508
5482
  setError(null);
5509
5483
  serializeToArray(data, { colProp, rowProp, valProp }).then(setPivottedData, setError);
@@ -5534,7 +5508,7 @@ function serializeToArray(data, sides) {
5534
5508
  }
5535
5509
 
5536
5510
  // src/components/ButtonDownload.jsx
5537
- init_cjs_shims();
5511
+ init_esm_shims();
5538
5512
  var mimeTypes2 = {
5539
5513
  csv: "text/csv",
5540
5514
  json: "application/json",
@@ -5544,7 +5518,7 @@ var mimeTypes2 = {
5544
5518
  };
5545
5519
  var ButtonDownload2 = (props) => {
5546
5520
  const { provider, ...buttonProps } = props;
5547
- const onClick = React19.useCallback((evt) => {
5521
+ const onClick = useCallback((evt) => {
5548
5522
  evt.stopPropagation();
5549
5523
  evt.preventDefault();
5550
5524
  const anchor = document.createElement("a");
@@ -5566,22 +5540,22 @@ var ButtonDownload2 = (props) => {
5566
5540
  console.error("Error downloading content:", error.message);
5567
5541
  });
5568
5542
  }, [provider]);
5569
- return /* @__PURE__ */ React19__namespace.default.createElement(
5570
- core.Button,
5543
+ return /* @__PURE__ */ React19__default.createElement(
5544
+ Button,
5571
5545
  {
5572
5546
  ...buttonProps,
5573
5547
  fullWidth: true,
5574
5548
  onClick,
5575
5549
  variant: "default"
5576
5550
  },
5577
- /* @__PURE__ */ React19__namespace.default.createElement(core.Text, { fz: "xs" }, props.children)
5551
+ /* @__PURE__ */ React19__default.createElement(Text, { fz: "xs" }, props.children)
5578
5552
  );
5579
5553
  };
5580
5554
 
5581
5555
  // src/components/NonIdealState.jsx
5582
- init_cjs_shims();
5583
- var NonIdealState = (props) => /* @__PURE__ */ React19__namespace.default.createElement(
5584
- core.Center,
5556
+ init_esm_shims();
5557
+ var NonIdealState = (props) => /* @__PURE__ */ React19__default.createElement(
5558
+ Center,
5585
5559
  {
5586
5560
  h: "100%",
5587
5561
  w: "100%",
@@ -5591,16 +5565,16 @@ var NonIdealState = (props) => /* @__PURE__ */ React19__namespace.default.create
5591
5565
  }
5592
5566
  })
5593
5567
  },
5594
- /* @__PURE__ */ React19__namespace.default.createElement(core.Stack, { align: "center", spacing: "xs" }, props.icon && props.icon, props.title && /* @__PURE__ */ React19__namespace.default.createElement(core.Title, { order: 5 }, props.title), props.description && /* @__PURE__ */ React19__namespace.default.createElement(core.Text, null, props.description), props.children && props.children, props.action && props.action)
5568
+ /* @__PURE__ */ React19__default.createElement(Stack, { align: "center", spacing: "xs" }, props.icon && props.icon, props.title && /* @__PURE__ */ React19__default.createElement(Title, { order: 5 }, props.title), props.description && /* @__PURE__ */ React19__default.createElement(Text, null, props.description), props.children && props.children, props.action && props.action)
5595
5569
  );
5596
5570
 
5597
5571
  // src/components/PivotView.tsx
5598
- var SelectOption = React19.forwardRef(
5572
+ var SelectOption = forwardRef(
5599
5573
  (props, ref) => {
5600
- return /* @__PURE__ */ React19__namespace.default.createElement(SelectObject, { ref, ...props });
5574
+ return /* @__PURE__ */ React19__default.createElement(SelectObject, { ref, ...props });
5601
5575
  }
5602
5576
  );
5603
- var useStyles5 = core.createStyles((theme) => ({
5577
+ var useStyles5 = createStyles((theme) => ({
5604
5578
  container: {
5605
5579
  [theme.fn.largerThan("md")]: {
5606
5580
  height: "100%",
@@ -5624,9 +5598,9 @@ function PivotView(props) {
5624
5598
  const { cube, params, result, ...mantineReactTableProps } = props;
5625
5599
  const locale = params.locale;
5626
5600
  const { translate: t } = useTranslation();
5627
- const measureMap = reactRedux.useSelector(selectOlapMeasureMap);
5601
+ const measureMap = useSelector$1(selectOlapMeasureMap);
5628
5602
  const { classes, cx } = useStyles5();
5629
- const measureOptions = React19.useMemo(
5603
+ const measureOptions = useMemo(
5630
5604
  () => filterMap(Object.values(params.measures), (item) => {
5631
5605
  const entity = measureMap[item.name];
5632
5606
  return !isActiveItem(item) ? null : {
@@ -5637,7 +5611,7 @@ function PivotView(props) {
5637
5611
  }),
5638
5612
  [measureMap, params.measures, locale]
5639
5613
  );
5640
- const drilldownOptions = React19.useMemo(() => {
5614
+ const drilldownOptions = useMemo(() => {
5641
5615
  const levelMap = mapDimensionHierarchyLevels(cube);
5642
5616
  return Object.values(params.drilldowns).filter(isActiveItem).flatMap((item) => {
5643
5617
  const [level, hierarchy, dimension] = levelMap[item.level];
@@ -5660,13 +5634,13 @@ function PivotView(props) {
5660
5634
  );
5661
5635
  });
5662
5636
  }, [cube, params.drilldowns, locale]);
5663
- const [colProp, setColumnProp] = React19.useState(
5637
+ const [colProp, setColumnProp] = useState(
5664
5638
  () => drilldownOptions.find((item) => item.type === "time") || drilldownOptions[0]
5665
5639
  );
5666
- const [rowProp, setRowProp] = React19.useState(
5640
+ const [rowProp, setRowProp] = useState(
5667
5641
  () => drilldownOptions.find((item) => item !== colProp) || drilldownOptions[0]
5668
5642
  );
5669
- const [valProp, setValueProp] = React19.useState(() => measureOptions[0]);
5643
+ const [valProp, setValueProp] = useState(() => measureOptions[0]);
5670
5644
  const fileName = [params.cube, colProp.label, rowProp.label, valProp.value].join("_");
5671
5645
  const [pivottedData, pivottingError] = usePivottedData(result.data, colProp.value, rowProp.value, valProp.value);
5672
5646
  const {
@@ -5675,16 +5649,16 @@ function PivotView(props) {
5675
5649
  formatterKeyOptions,
5676
5650
  setFormat
5677
5651
  } = useFormatParams(props.cube.measures, valProp.value);
5678
- const warnings = React19.useMemo(() => {
5652
+ const warnings = useMemo(() => {
5679
5653
  const warnings2 = [];
5680
5654
  if (rowProp.type === "prop" || colProp.type === "prop") {
5681
5655
  warnings2.push(
5682
- /* @__PURE__ */ React19__namespace.default.createElement(
5683
- core.Alert,
5656
+ /* @__PURE__ */ React19__default.createElement(
5657
+ Alert,
5684
5658
  {
5685
5659
  color: "yellow",
5686
5660
  m: "sm",
5687
- icon: /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconAlertCircle, { size: "2rem" }),
5661
+ icon: /* @__PURE__ */ React19__default.createElement(IconAlertCircle, { size: "2rem" }),
5688
5662
  key: "propertypivot"
5689
5663
  },
5690
5664
  t("pivot_view.warning_propertypivot")
@@ -5694,21 +5668,21 @@ function PivotView(props) {
5694
5668
  const drilldownCount = Object.values(params.drilldowns).filter(isActiveItem).length;
5695
5669
  if (drilldownCount > 2) {
5696
5670
  warnings2.push(
5697
- valProp.type !== "Sum" /* SUM */ ? /* @__PURE__ */ React19__namespace.default.createElement(
5698
- core.Alert,
5671
+ valProp.type !== "Sum" /* SUM */ ? /* @__PURE__ */ React19__default.createElement(
5672
+ Alert,
5699
5673
  {
5700
5674
  color: "yellow",
5701
5675
  m: "sm",
5702
- icon: /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconAlertCircle, { size: "2rem" }),
5676
+ icon: /* @__PURE__ */ React19__default.createElement(IconAlertCircle, { size: "2rem" }),
5703
5677
  key: "notsummeasure"
5704
5678
  },
5705
5679
  t("pivot_view.warning_notsummeasure")
5706
- ) : /* @__PURE__ */ React19__namespace.default.createElement(
5707
- core.Alert,
5680
+ ) : /* @__PURE__ */ React19__default.createElement(
5681
+ Alert,
5708
5682
  {
5709
5683
  color: "yellow",
5710
5684
  m: "sm",
5711
- icon: /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconAlertCircle, { size: "2rem" }),
5685
+ icon: /* @__PURE__ */ React19__default.createElement(IconAlertCircle, { size: "2rem" }),
5712
5686
  key: "sumdimensions"
5713
5687
  },
5714
5688
  t("pivot_view.warning_sumdimensions")
@@ -5717,9 +5691,9 @@ function PivotView(props) {
5717
5691
  }
5718
5692
  return warnings2;
5719
5693
  }, [params.drilldowns, rowProp, colProp, valProp]);
5720
- const downloadToolbar = React19.useMemo(() => {
5694
+ const downloadToolbar = useMemo(() => {
5721
5695
  if (!pivottedData) return null;
5722
- return /* @__PURE__ */ React19__namespace.default.createElement(core.Input.Wrapper, { label: t("pivot_view.title_download") }, /* @__PURE__ */ React19__namespace.default.createElement(core.Button.Group, null, /* @__PURE__ */ React19__namespace.default.createElement(
5696
+ return /* @__PURE__ */ React19__default.createElement(Input.Wrapper, { label: t("pivot_view.title_download") }, /* @__PURE__ */ React19__default.createElement(Button.Group, null, /* @__PURE__ */ React19__default.createElement(
5723
5697
  ButtonDownload2,
5724
5698
  {
5725
5699
  provider: () => ({
@@ -5729,7 +5703,7 @@ function PivotView(props) {
5729
5703
  })
5730
5704
  },
5731
5705
  "CSV"
5732
- ), /* @__PURE__ */ React19__namespace.default.createElement(
5706
+ ), /* @__PURE__ */ React19__default.createElement(
5733
5707
  ButtonDownload2,
5734
5708
  {
5735
5709
  provider: () => ({
@@ -5742,51 +5716,51 @@ function PivotView(props) {
5742
5716
  )));
5743
5717
  }, [pivottedData, formatter2]);
5744
5718
  if (drilldownOptions.length < 2) {
5745
- return /* @__PURE__ */ React19__namespace.default.createElement(
5719
+ return /* @__PURE__ */ React19__default.createElement(
5746
5720
  NonIdealState,
5747
5721
  {
5748
- icon: /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconAlertTriangle, { color: "orange", size: "5rem" }),
5722
+ icon: /* @__PURE__ */ React19__default.createElement(IconAlertTriangle, { color: "orange", size: "5rem" }),
5749
5723
  title: t("pivot_view.error_missingparams")
5750
5724
  }
5751
5725
  );
5752
5726
  }
5753
5727
  let preview;
5754
5728
  if (!colProp || !rowProp || !valProp) {
5755
- preview = /* @__PURE__ */ React19__namespace.default.createElement(
5729
+ preview = /* @__PURE__ */ React19__default.createElement(
5756
5730
  NonIdealState,
5757
5731
  {
5758
- icon: /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconAlertTriangle, { color: "orange", size: "5rem" }),
5732
+ icon: /* @__PURE__ */ React19__default.createElement(IconAlertTriangle, { color: "orange", size: "5rem" }),
5759
5733
  title: t("pivot_view.error_missingparams")
5760
5734
  }
5761
5735
  );
5762
5736
  } else if (colProp === rowProp) {
5763
- preview = /* @__PURE__ */ React19__namespace.default.createElement(
5737
+ preview = /* @__PURE__ */ React19__default.createElement(
5764
5738
  NonIdealState,
5765
5739
  {
5766
- icon: /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconAlertTriangle, { color: "orange", size: "5rem" }),
5740
+ icon: /* @__PURE__ */ React19__default.createElement(IconAlertTriangle, { color: "orange", size: "5rem" }),
5767
5741
  title: t("pivot_view.error_onedimension")
5768
5742
  }
5769
5743
  );
5770
5744
  } else if (pivottingError != null) {
5771
- preview = /* @__PURE__ */ React19__namespace.default.createElement(
5745
+ preview = /* @__PURE__ */ React19__default.createElement(
5772
5746
  NonIdealState,
5773
5747
  {
5774
- icon: /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconAlertTriangle, { color: "orange", size: "5rem" }),
5748
+ icon: /* @__PURE__ */ React19__default.createElement(IconAlertTriangle, { color: "orange", size: "5rem" }),
5775
5749
  title: t("pivot_view.error_internal"),
5776
5750
  description: t("pivot_view.error_internal_detail", { error: pivottingError.message })
5777
5751
  }
5778
5752
  );
5779
5753
  } else if (!pivottedData) {
5780
- preview = /* @__PURE__ */ React19__namespace.default.createElement(
5754
+ preview = /* @__PURE__ */ React19__default.createElement(
5781
5755
  NonIdealState,
5782
5756
  {
5783
- icon: /* @__PURE__ */ React19__namespace.default.createElement(core.Loader, { size: "xl" }),
5757
+ icon: /* @__PURE__ */ React19__default.createElement(Loader, { size: "xl" }),
5784
5758
  title: t("pivot_view.loading_title"),
5785
5759
  description: t("pivot_view.loading_details")
5786
5760
  }
5787
5761
  );
5788
5762
  } else {
5789
- preview = /* @__PURE__ */ React19__namespace.default.createElement(
5763
+ preview = /* @__PURE__ */ React19__default.createElement(
5790
5764
  MatrixTable,
5791
5765
  {
5792
5766
  key: `${fileName} ${formatterKey}`,
@@ -5797,14 +5771,14 @@ function PivotView(props) {
5797
5771
  }
5798
5772
  );
5799
5773
  }
5800
- return /* @__PURE__ */ React19__namespace.default.createElement(
5801
- core.Box,
5774
+ return /* @__PURE__ */ React19__default.createElement(
5775
+ Box,
5802
5776
  {
5803
5777
  id: "query-results-pivot-view",
5804
5778
  className: cx(props.className, classes.container)
5805
5779
  },
5806
- /* @__PURE__ */ React19__namespace.default.createElement(core.Box, { className: classes.colParams }, /* @__PURE__ */ React19__namespace.default.createElement(
5807
- core.SimpleGrid,
5780
+ /* @__PURE__ */ React19__default.createElement(Box, { className: classes.colParams }, /* @__PURE__ */ React19__default.createElement(
5781
+ SimpleGrid,
5808
5782
  {
5809
5783
  id: "query-results-pivot-view-params",
5810
5784
  px: "md",
@@ -5816,7 +5790,7 @@ function PivotView(props) {
5816
5790
  { minWidth: "md", cols: 1 }
5817
5791
  ]
5818
5792
  },
5819
- /* @__PURE__ */ React19__namespace.default.createElement(
5793
+ /* @__PURE__ */ React19__default.createElement(
5820
5794
  SelectOption,
5821
5795
  {
5822
5796
  getLabel: "label",
@@ -5827,7 +5801,7 @@ function PivotView(props) {
5827
5801
  label: colProp.type === "prop" ? t("pivot_view.label_ddcolumnprop") : t("pivot_view.label_ddcolumn")
5828
5802
  }
5829
5803
  ),
5830
- /* @__PURE__ */ React19__namespace.default.createElement(
5804
+ /* @__PURE__ */ React19__default.createElement(
5831
5805
  SelectOption,
5832
5806
  {
5833
5807
  getLabel: "label",
@@ -5838,7 +5812,7 @@ function PivotView(props) {
5838
5812
  label: rowProp.type === "prop" ? t("pivot_view.label_ddrowprop") : t("pivot_view.label_ddrow")
5839
5813
  }
5840
5814
  ),
5841
- /* @__PURE__ */ React19__namespace.default.createElement(
5815
+ /* @__PURE__ */ React19__default.createElement(
5842
5816
  SelectOption,
5843
5817
  {
5844
5818
  getLabel: "label",
@@ -5849,7 +5823,7 @@ function PivotView(props) {
5849
5823
  selectedItem: valProp.value
5850
5824
  }
5851
5825
  ),
5852
- /* @__PURE__ */ React19__namespace.default.createElement(
5826
+ /* @__PURE__ */ React19__default.createElement(
5853
5827
  SelectObject,
5854
5828
  {
5855
5829
  getLabel: "label",
@@ -5862,12 +5836,12 @@ function PivotView(props) {
5862
5836
  ),
5863
5837
  downloadToolbar
5864
5838
  ), warnings.length > 0 ? warnings : null),
5865
- /* @__PURE__ */ React19__namespace.default.createElement(core.Box, { className: classes.colContent }, preview)
5839
+ /* @__PURE__ */ React19__default.createElement(Box, { className: classes.colContent }, preview)
5866
5840
  );
5867
5841
  }
5868
5842
  function MatrixTable(props) {
5869
5843
  const { data, formatter: formatter2, headers, ...mantineReactTableProps } = props;
5870
- const columns = React19.useMemo(() => headers.map((header, colIndex) => ({
5844
+ const columns = useMemo(() => headers.map((header, colIndex) => ({
5871
5845
  accesorKey: header,
5872
5846
  Cell: ({ row }) => colIndex > 0 && typeof row.original[colIndex] === "number" ? formatter2(row.original[colIndex]) : row.original[colIndex],
5873
5847
  header,
@@ -5875,7 +5849,7 @@ function MatrixTable(props) {
5875
5849
  align: colIndex > 0 ? "right" : "left"
5876
5850
  }
5877
5851
  })), [headers]);
5878
- const tableProps = React19.useMemo(() => ({
5852
+ const tableProps = useMemo(() => ({
5879
5853
  enableBottomToolbar: false,
5880
5854
  enableColumnFilterModes: true,
5881
5855
  enableColumnResizing: true,
@@ -5918,13 +5892,13 @@ function MatrixTable(props) {
5918
5892
  }
5919
5893
  }
5920
5894
  }), []);
5921
- const table = mantineReactTable.useMantineReactTable({
5895
+ const table = useMantineReactTable({
5922
5896
  ...tableProps,
5923
5897
  ...mantineReactTableProps,
5924
5898
  columns,
5925
5899
  data
5926
5900
  });
5927
- return /* @__PURE__ */ React19__namespace.default.createElement(mantineReactTable.MantineReactTable, { table });
5901
+ return /* @__PURE__ */ React19__default.createElement(MantineReactTable, { table });
5928
5902
  }
5929
5903
  function stringifyMatrix(matrix, formatter2, format2) {
5930
5904
  const joint = { csv: ",", tsv: " " }[format2];
@@ -5942,30 +5916,30 @@ function stringifyMatrix(matrix, formatter2, format2) {
5942
5916
  }
5943
5917
 
5944
5918
  // src/components/tour/ExplorerTour.tsx
5945
- init_cjs_shims();
5919
+ init_esm_shims();
5946
5920
 
5947
5921
  // src/components/tour/useTourSteps.tsx
5948
- init_cjs_shims();
5922
+ init_esm_shims();
5949
5923
 
5950
5924
  // src/components/tour/FirstStep.tsx
5951
- init_cjs_shims();
5925
+ init_esm_shims();
5952
5926
  function FirstStep({ introImage }) {
5953
5927
  const { translate: t } = useTranslation();
5954
- return /* @__PURE__ */ React19__namespace.default.createElement(core.Container, { className: "tour-item tour-welcome", px: 0 }, introImage && /* @__PURE__ */ React19__namespace.default.createElement("div", { className: "tour-img" }, introImage), /* @__PURE__ */ React19__namespace.default.createElement(core.Box, { className: "tour-text", px: "md" }, /* @__PURE__ */ React19__namespace.default.createElement("h3", null, t("tour.steps.welcome.title")), /* @__PURE__ */ React19__namespace.default.createElement("p", null, t("tour.steps.welcome.text1")), /* @__PURE__ */ React19__namespace.default.createElement("p", null, t("tour.steps.welcome.text2"))));
5928
+ return /* @__PURE__ */ React19__default.createElement(Container, { className: "tour-item tour-welcome", px: 0 }, introImage && /* @__PURE__ */ React19__default.createElement("div", { className: "tour-img" }, introImage), /* @__PURE__ */ React19__default.createElement(Box, { className: "tour-text", px: "md" }, /* @__PURE__ */ React19__default.createElement("h3", null, t("tour.steps.welcome.title")), /* @__PURE__ */ React19__default.createElement("p", null, t("tour.steps.welcome.text1")), /* @__PURE__ */ React19__default.createElement("p", null, t("tour.steps.welcome.text2"))));
5955
5929
  }
5956
5930
 
5957
5931
  // src/components/tour/TourStep.tsx
5958
- init_cjs_shims();
5932
+ init_esm_shims();
5959
5933
  function TourStep(props) {
5960
5934
  const { title, texts } = props;
5961
5935
  const paragraphs = Array.isArray(texts) ? texts : [texts];
5962
- return /* @__PURE__ */ React19__namespace.default.createElement(core.Container, { className: "tour-item tour-step", pt: "md" }, /* @__PURE__ */ React19__namespace.default.createElement("div", { className: "tour-text" }, /* @__PURE__ */ React19__namespace.default.createElement(core.Title, { order: 3 }, title), paragraphs.map((p, i) => /* @__PURE__ */ React19__namespace.default.createElement(core.Text, { component: "p", key: `p-${i + 1}` }, p))));
5936
+ return /* @__PURE__ */ React19__default.createElement(Container, { className: "tour-item tour-step", pt: "md" }, /* @__PURE__ */ React19__default.createElement("div", { className: "tour-text" }, /* @__PURE__ */ React19__default.createElement(Title, { order: 3 }, title), paragraphs.map((p, i) => /* @__PURE__ */ React19__default.createElement(Text, { component: "p", key: `p-${i + 1}` }, p))));
5963
5937
  }
5964
5938
 
5965
5939
  // src/components/tour/LastStep.tsx
5966
- init_cjs_shims();
5940
+ init_esm_shims();
5967
5941
  function LastStep({ t }) {
5968
- return /* @__PURE__ */ React19__namespace.default.createElement(core.Container, { className: "tour-item tour-last", pt: "md" }, /* @__PURE__ */ React19__namespace.default.createElement("div", { className: "tour-text" }, /* @__PURE__ */ React19__namespace.default.createElement(core.Title, { order: 3 }, t("tour.steps.last.title")), /* @__PURE__ */ React19__namespace.default.createElement(core.Text, { component: "p" }, t("tour.steps.last.text"))));
5942
+ return /* @__PURE__ */ React19__default.createElement(Container, { className: "tour-item tour-last", pt: "md" }, /* @__PURE__ */ React19__default.createElement("div", { className: "tour-text" }, /* @__PURE__ */ React19__default.createElement(Title, { order: 3 }, t("tour.steps.last.title")), /* @__PURE__ */ React19__default.createElement(Text, { component: "p" }, t("tour.steps.last.text"))));
5969
5943
  }
5970
5944
 
5971
5945
  // src/components/tour/useTourSteps.tsx
@@ -5975,15 +5949,15 @@ var click = (selector) => () => {
5975
5949
  };
5976
5950
  var useTourSteps = (tourConfig) => {
5977
5951
  const { translate: t } = useTranslation();
5978
- const steps = React19.useMemo(() => [
5952
+ const steps = useMemo(() => [
5979
5953
  {
5980
5954
  selector: "document",
5981
- content: /* @__PURE__ */ React19__namespace.default.createElement(FirstStep, { introImage: tourConfig.introImage }),
5955
+ content: /* @__PURE__ */ React19__default.createElement(FirstStep, { introImage: tourConfig.introImage }),
5982
5956
  position: "center"
5983
5957
  },
5984
5958
  {
5985
5959
  selector: "#dex-select-locale",
5986
- content: /* @__PURE__ */ React19__namespace.default.createElement(
5960
+ content: /* @__PURE__ */ React19__default.createElement(
5987
5961
  TourStep,
5988
5962
  {
5989
5963
  title: t("tour.steps.locale.title"),
@@ -5996,7 +5970,7 @@ var useTourSteps = (tourConfig) => {
5996
5970
  },
5997
5971
  {
5998
5972
  selector: "#dex-select-cube-area",
5999
- content: /* @__PURE__ */ React19__namespace.default.createElement(
5973
+ content: /* @__PURE__ */ React19__default.createElement(
6000
5974
  TourStep,
6001
5975
  {
6002
5976
  title: t("tour.steps.dataset.title"),
@@ -6009,7 +5983,7 @@ var useTourSteps = (tourConfig) => {
6009
5983
  },
6010
5984
  {
6011
5985
  selector: "#dex-search",
6012
- content: /* @__PURE__ */ React19__namespace.default.createElement(
5986
+ content: /* @__PURE__ */ React19__default.createElement(
6013
5987
  TourStep,
6014
5988
  {
6015
5989
  title: t("tour.steps.search.title"),
@@ -6022,7 +5996,7 @@ var useTourSteps = (tourConfig) => {
6022
5996
  },
6023
5997
  {
6024
5998
  selector: "#dex-table",
6025
- content: /* @__PURE__ */ React19__namespace.default.createElement(
5999
+ content: /* @__PURE__ */ React19__default.createElement(
6026
6000
  TourStep,
6027
6001
  {
6028
6002
  title: t("tour.steps.table.title"),
@@ -6037,7 +6011,7 @@ var useTourSteps = (tourConfig) => {
6037
6011
  selector: "#dex-column-drawer-body",
6038
6012
  actionBefore: click("#dex-column-btn"),
6039
6013
  stepInteraction: true,
6040
- content: /* @__PURE__ */ React19__namespace.default.createElement(
6014
+ content: /* @__PURE__ */ React19__default.createElement(
6041
6015
  TourStep,
6042
6016
  {
6043
6017
  title: t("tour.steps.columns.title"),
@@ -6053,7 +6027,7 @@ var useTourSteps = (tourConfig) => {
6053
6027
  actionBefore: click(".dex-level-filter"),
6054
6028
  actionAfter: click("#dex-column-drawer-close"),
6055
6029
  stepInteraction: true,
6056
- content: /* @__PURE__ */ React19__namespace.default.createElement(
6030
+ content: /* @__PURE__ */ React19__default.createElement(
6057
6031
  TourStep,
6058
6032
  {
6059
6033
  title: t("tour.steps.filters.title"),
@@ -6066,7 +6040,7 @@ var useTourSteps = (tourConfig) => {
6066
6040
  },
6067
6041
  {
6068
6042
  selector: "#dex-btn-group-download",
6069
- content: /* @__PURE__ */ React19__namespace.default.createElement(
6043
+ content: /* @__PURE__ */ React19__default.createElement(
6070
6044
  TourStep,
6071
6045
  {
6072
6046
  title: t("tour.steps.download.title"),
@@ -6076,7 +6050,7 @@ var useTourSteps = (tourConfig) => {
6076
6050
  },
6077
6051
  {
6078
6052
  selector: "#dex-api-btn",
6079
- content: /* @__PURE__ */ React19__namespace.default.createElement(
6053
+ content: /* @__PURE__ */ React19__default.createElement(
6080
6054
  TourStep,
6081
6055
  {
6082
6056
  title: t("tour.steps.api.title"),
@@ -6087,7 +6061,7 @@ var useTourSteps = (tourConfig) => {
6087
6061
  ...tourConfig.extraSteps || [],
6088
6062
  {
6089
6063
  selector: "viewport",
6090
- content: /* @__PURE__ */ React19__namespace.default.createElement(LastStep, { t }),
6064
+ content: /* @__PURE__ */ React19__default.createElement(LastStep, { t }),
6091
6065
  position: "center"
6092
6066
  }
6093
6067
  // ...
@@ -6098,15 +6072,15 @@ var useTourSteps = (tourConfig) => {
6098
6072
  // src/components/tour/ExplorerTour.tsx
6099
6073
  function PrevButton(props) {
6100
6074
  const { translate: t } = useTranslation();
6101
- const theme = core.useMantineTheme();
6075
+ const theme = useMantineTheme();
6102
6076
  const isRtl = theme.dir === "rtl";
6103
6077
  const handleClick = () => props.setCurrentStep(
6104
6078
  (s) => s === 0 ? props.steps.length - 1 : s - 1
6105
6079
  );
6106
- return /* @__PURE__ */ React19__namespace.default.createElement(
6107
- core.Button,
6080
+ return /* @__PURE__ */ React19__default.createElement(
6081
+ Button,
6108
6082
  {
6109
- leftIcon: isRtl ? /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconArrowRight, { size: "0.8rem" }) : /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconArrowLeft, { size: "0.8rem" }),
6083
+ leftIcon: isRtl ? /* @__PURE__ */ React19__default.createElement(IconArrowRight, { size: "0.8rem" }) : /* @__PURE__ */ React19__default.createElement(IconArrowLeft, { size: "0.8rem" }),
6110
6084
  onClick: handleClick,
6111
6085
  radius: 0,
6112
6086
  size: "lg",
@@ -6120,7 +6094,7 @@ function PrevButton(props) {
6120
6094
  }
6121
6095
  function NextButton(props) {
6122
6096
  const { translate: t } = useTranslation();
6123
- const theme = core.useMantineTheme();
6097
+ const theme = useMantineTheme();
6124
6098
  const isRtl = theme.dir === "rtl";
6125
6099
  const handleClick = () => {
6126
6100
  if (props.currentStep === props.steps.length - 1) {
@@ -6136,15 +6110,15 @@ function NextButton(props) {
6136
6110
  }
6137
6111
  }
6138
6112
  };
6139
- return /* @__PURE__ */ React19__namespace.default.createElement(
6140
- core.Button,
6113
+ return /* @__PURE__ */ React19__default.createElement(
6114
+ Button,
6141
6115
  {
6142
6116
  variant: "filled",
6143
6117
  w: "50%",
6144
6118
  size: "lg",
6145
6119
  sx: { flex: "0 0 50%" },
6146
6120
  onClick: handleClick,
6147
- rightIcon: isRtl ? /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconArrowLeft, { size: "0.8rem" }) : /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconArrowRight, { size: "0.8rem" }),
6121
+ rightIcon: isRtl ? /* @__PURE__ */ React19__default.createElement(IconArrowLeft, { size: "0.8rem" }) : /* @__PURE__ */ React19__default.createElement(IconArrowRight, { size: "0.8rem" }),
6148
6122
  radius: 0
6149
6123
  },
6150
6124
  t("tour.controls.next")
@@ -6195,7 +6169,7 @@ var keyboardHandler = (rtl) => (e, clickProps) => {
6195
6169
  }
6196
6170
  };
6197
6171
  function ExplorerTour({ children, tourConfig }) {
6198
- const theme = core.useMantineTheme();
6172
+ const theme = useMantineTheme();
6199
6173
  const steps = useTourSteps(tourConfig);
6200
6174
  const styles2 = {
6201
6175
  popover: withBase({ padding: 0, borderRadius: theme.radius.md, overflow: "hidden" }),
@@ -6214,8 +6188,8 @@ function ExplorerTour({ children, tourConfig }) {
6214
6188
  })
6215
6189
  };
6216
6190
  const rtl = theme.dir === "rtl";
6217
- return /* @__PURE__ */ React19__namespace.default.createElement(
6218
- tour.TourProvider,
6191
+ return /* @__PURE__ */ React19__default.createElement(
6192
+ TourProvider,
6219
6193
  {
6220
6194
  steps,
6221
6195
  position: "right",
@@ -6250,7 +6224,7 @@ function ExplorerComponent(props) {
6250
6224
  tourConfig,
6251
6225
  measuresActive
6252
6226
  } = props;
6253
- const panels = React19.useMemo(
6227
+ const panels = useMemo(
6254
6228
  () => props.panels || [
6255
6229
  { key: "table", label: "table_view.tab_label", component: TableView },
6256
6230
  { key: "pivot", label: "pivot_view.tab_label", component: PivotView },
@@ -6258,12 +6232,12 @@ function ExplorerComponent(props) {
6258
6232
  ],
6259
6233
  [props.panels]
6260
6234
  );
6261
- const store = withinReduxProvider ? React19.useMemo(storeFactory, []) : reactRedux.useStore();
6262
- const boundActions = React19.useMemo(
6263
- () => toolkit.bindActionCreators(actions, store.dispatch),
6235
+ const store = withinReduxProvider ? useMemo(storeFactory, []) : useStore();
6236
+ const boundActions = useMemo(
6237
+ () => bindActionCreators(actions, store.dispatch),
6264
6238
  []
6265
6239
  );
6266
- let content = /* @__PURE__ */ React19__namespace.default.createElement(
6240
+ let content = /* @__PURE__ */ React19__default.createElement(
6267
6241
  SettingsProvider,
6268
6242
  {
6269
6243
  actions: boundActions,
@@ -6275,7 +6249,7 @@ function ExplorerComponent(props) {
6275
6249
  measuresActive,
6276
6250
  toolbarConfig: props.toolbarConfig
6277
6251
  },
6278
- /* @__PURE__ */ React19__namespace.default.createElement(TranslationProvider, { defaultLocale: locale, translations: props.translations }, /* @__PURE__ */ React19__namespace.default.createElement(ExplorerTour, { tourConfig: { ...defaultTourConfig, ...tourConfig } }, /* @__PURE__ */ React19__namespace.default.createElement(
6252
+ /* @__PURE__ */ React19__default.createElement(TranslationProvider, { defaultLocale: locale, translations: props.translations }, /* @__PURE__ */ React19__default.createElement(ExplorerTour, { tourConfig: { ...defaultTourConfig, ...tourConfig } }, /* @__PURE__ */ React19__default.createElement(
6279
6253
  ExplorerContent,
6280
6254
  {
6281
6255
  defaultCube: props.defaultCube,
@@ -6292,8 +6266,8 @@ function ExplorerComponent(props) {
6292
6266
  )))
6293
6267
  );
6294
6268
  if (withinMantineProvider) {
6295
- content = /* @__PURE__ */ React19__namespace.default.createElement(
6296
- core.MantineProvider,
6269
+ content = /* @__PURE__ */ React19__default.createElement(
6270
+ MantineProvider,
6297
6271
  {
6298
6272
  withNormalizeCSS: true,
6299
6273
  theme: {
@@ -6329,20 +6303,20 @@ function ExplorerComponent(props) {
6329
6303
  );
6330
6304
  }
6331
6305
  if (withinReduxProvider) {
6332
- content = /* @__PURE__ */ React19__namespace.default.createElement(reactRedux.Provider, { store }, content);
6306
+ content = /* @__PURE__ */ React19__default.createElement(Provider$1, { store }, content);
6333
6307
  }
6334
6308
  return content;
6335
6309
  }
6336
6310
  ExplorerComponent.displayName = "TesseractExplorer";
6337
6311
 
6338
6312
  // src/vizbuilder/index.ts
6339
- init_cjs_shims();
6313
+ init_esm_shims();
6340
6314
 
6341
6315
  // src/vizbuilder/components/VizbuilderView.tsx
6342
- init_cjs_shims();
6316
+ init_esm_shims();
6343
6317
 
6344
6318
  // src/vizbuilder/tooling/columns.ts
6345
- init_cjs_shims();
6319
+ init_esm_shims();
6346
6320
  function buildColumn(cube, name4, columns) {
6347
6321
  const nameWithoutID = name4.replace(/\sID$/, "");
6348
6322
  const nameWithID = `${nameWithoutID} ID`;
@@ -6397,10 +6371,10 @@ function getColumnEntity(column) {
6397
6371
  }
6398
6372
 
6399
6373
  // src/vizbuilder/components/Vizbuilder.tsx
6400
- init_cjs_shims();
6374
+ init_esm_shims();
6401
6375
 
6402
6376
  // node_modules/clsx/dist/clsx.m.js
6403
- init_cjs_shims();
6377
+ init_esm_shims();
6404
6378
  function r(e) {
6405
6379
  var t, f, n = "";
6406
6380
  if ("string" == typeof e || "number" == typeof e) n += e;
@@ -6415,25 +6389,25 @@ function clsx() {
6415
6389
  var clsx_m_default = clsx;
6416
6390
 
6417
6391
  // src/vizbuilder/components/ChartCard.tsx
6418
- init_cjs_shims();
6392
+ init_esm_shims();
6419
6393
 
6420
6394
  // node_modules/d3plus-export/es/index.js
6421
- init_cjs_shims();
6395
+ init_esm_shims();
6422
6396
 
6423
6397
  // node_modules/d3plus-export/es/src/saveElement.js
6424
- init_cjs_shims();
6398
+ init_esm_shims();
6425
6399
 
6426
6400
  // node_modules/html-to-image/es/index.js
6427
- init_cjs_shims();
6401
+ init_esm_shims();
6428
6402
 
6429
6403
  // node_modules/html-to-image/es/clone-node.js
6430
- init_cjs_shims();
6404
+ init_esm_shims();
6431
6405
 
6432
6406
  // node_modules/html-to-image/es/clone-pseudos.js
6433
- init_cjs_shims();
6407
+ init_esm_shims();
6434
6408
 
6435
6409
  // node_modules/html-to-image/es/util.js
6436
- init_cjs_shims();
6410
+ init_esm_shims();
6437
6411
  function resolveUrl(url, baseUrl) {
6438
6412
  if (url.match(/^[a-z]+:\/\//i)) {
6439
6413
  return url;
@@ -6625,7 +6599,7 @@ function clonePseudoElements(nativeNode, clonedNode) {
6625
6599
  }
6626
6600
 
6627
6601
  // node_modules/html-to-image/es/mimes.js
6628
- init_cjs_shims();
6602
+ init_esm_shims();
6629
6603
  var WOFF = "application/font-woff";
6630
6604
  var JPEG = "image/jpeg";
6631
6605
  var mimes = {
@@ -6651,7 +6625,7 @@ function getMimeType(url) {
6651
6625
  }
6652
6626
 
6653
6627
  // node_modules/html-to-image/es/dataurl.js
6654
- init_cjs_shims();
6628
+ init_esm_shims();
6655
6629
  function getContentFromDataUrl(dataURL) {
6656
6630
  return dataURL.split(/,/)[1];
6657
6631
  }
@@ -6884,10 +6858,10 @@ async function cloneNode(node, options, isRoot) {
6884
6858
  }
6885
6859
 
6886
6860
  // node_modules/html-to-image/es/embed-images.js
6887
- init_cjs_shims();
6861
+ init_esm_shims();
6888
6862
 
6889
6863
  // node_modules/html-to-image/es/embed-resources.js
6890
- init_cjs_shims();
6864
+ init_esm_shims();
6891
6865
  var URL_REGEX = /url\((['"]?)([^'"]+?)\1\)/g;
6892
6866
  var URL_WITH_FORMAT_REGEX = /url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g;
6893
6867
  var FONT_SRC_REGEX = /src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;
@@ -6999,7 +6973,7 @@ async function embedImages(clonedNode, options) {
6999
6973
  }
7000
6974
 
7001
6975
  // node_modules/html-to-image/es/apply-style.js
7002
- init_cjs_shims();
6976
+ init_esm_shims();
7003
6977
  function applyStyle(node, options) {
7004
6978
  const { style } = node;
7005
6979
  if (options.backgroundColor) {
@@ -7021,7 +6995,7 @@ function applyStyle(node, options) {
7021
6995
  }
7022
6996
 
7023
6997
  // node_modules/html-to-image/es/embed-webfonts.js
7024
- init_cjs_shims();
6998
+ init_esm_shims();
7025
6999
  var cssFetchCache = {};
7026
7000
  async function fetchCSS(url) {
7027
7001
  let cache2 = cssFetchCache[url];
@@ -7244,22 +7218,22 @@ function saveElement_default(elem) {
7244
7218
  }
7245
7219
 
7246
7220
  // src/vizbuilder/hooks/useD3plusConfig.ts
7247
- init_cjs_shims();
7221
+ init_esm_shims();
7248
7222
 
7249
7223
  // node_modules/lodash-es/lodash.js
7250
- init_cjs_shims();
7224
+ init_esm_shims();
7251
7225
 
7252
7226
  // node_modules/lodash-es/_baseGetTag.js
7253
- init_cjs_shims();
7227
+ init_esm_shims();
7254
7228
 
7255
7229
  // node_modules/lodash-es/_Symbol.js
7256
- init_cjs_shims();
7230
+ init_esm_shims();
7257
7231
 
7258
7232
  // node_modules/lodash-es/_root.js
7259
- init_cjs_shims();
7233
+ init_esm_shims();
7260
7234
 
7261
7235
  // node_modules/lodash-es/_freeGlobal.js
7262
- init_cjs_shims();
7236
+ init_esm_shims();
7263
7237
  var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
7264
7238
  var freeGlobal_default = freeGlobal;
7265
7239
 
@@ -7273,7 +7247,7 @@ var Symbol2 = root_default.Symbol;
7273
7247
  var Symbol_default = Symbol2;
7274
7248
 
7275
7249
  // node_modules/lodash-es/_getRawTag.js
7276
- init_cjs_shims();
7250
+ init_esm_shims();
7277
7251
  var objectProto = Object.prototype;
7278
7252
  var hasOwnProperty2 = objectProto.hasOwnProperty;
7279
7253
  var nativeObjectToString = objectProto.toString;
@@ -7298,7 +7272,7 @@ function getRawTag(value) {
7298
7272
  var getRawTag_default = getRawTag;
7299
7273
 
7300
7274
  // node_modules/lodash-es/_objectToString.js
7301
- init_cjs_shims();
7275
+ init_esm_shims();
7302
7276
  var objectProto2 = Object.prototype;
7303
7277
  var nativeObjectToString2 = objectProto2.toString;
7304
7278
  function objectToString(value) {
@@ -7319,19 +7293,19 @@ function baseGetTag(value) {
7319
7293
  var baseGetTag_default = baseGetTag;
7320
7294
 
7321
7295
  // node_modules/lodash-es/isObjectLike.js
7322
- init_cjs_shims();
7296
+ init_esm_shims();
7323
7297
  function isObjectLike(value) {
7324
7298
  return value != null && typeof value == "object";
7325
7299
  }
7326
7300
  var isObjectLike_default = isObjectLike;
7327
7301
 
7328
7302
  // node_modules/lodash-es/isArray.js
7329
- init_cjs_shims();
7303
+ init_esm_shims();
7330
7304
  var isArray = Array.isArray;
7331
7305
  var isArray_default = isArray;
7332
7306
 
7333
7307
  // node_modules/lodash-es/isObject.js
7334
- init_cjs_shims();
7308
+ init_esm_shims();
7335
7309
  function isObject(value) {
7336
7310
  var type = typeof value;
7337
7311
  return value != null && (type == "object" || type == "function");
@@ -7339,20 +7313,20 @@ function isObject(value) {
7339
7313
  var isObject_default = isObject;
7340
7314
 
7341
7315
  // node_modules/lodash-es/identity.js
7342
- init_cjs_shims();
7316
+ init_esm_shims();
7343
7317
  function identity2(value) {
7344
7318
  return value;
7345
7319
  }
7346
7320
  var identity_default = identity2;
7347
7321
 
7348
7322
  // node_modules/lodash-es/_getNative.js
7349
- init_cjs_shims();
7323
+ init_esm_shims();
7350
7324
 
7351
7325
  // node_modules/lodash-es/_baseIsNative.js
7352
- init_cjs_shims();
7326
+ init_esm_shims();
7353
7327
 
7354
7328
  // node_modules/lodash-es/isFunction.js
7355
- init_cjs_shims();
7329
+ init_esm_shims();
7356
7330
  var asyncTag = "[object AsyncFunction]";
7357
7331
  var funcTag = "[object Function]";
7358
7332
  var genTag = "[object GeneratorFunction]";
@@ -7367,10 +7341,10 @@ function isFunction(value) {
7367
7341
  var isFunction_default = isFunction;
7368
7342
 
7369
7343
  // node_modules/lodash-es/_isMasked.js
7370
- init_cjs_shims();
7344
+ init_esm_shims();
7371
7345
 
7372
7346
  // node_modules/lodash-es/_coreJsData.js
7373
- init_cjs_shims();
7347
+ init_esm_shims();
7374
7348
  var coreJsData = root_default["__core-js_shared__"];
7375
7349
  var coreJsData_default = coreJsData;
7376
7350
 
@@ -7385,7 +7359,7 @@ function isMasked(func) {
7385
7359
  var isMasked_default = isMasked;
7386
7360
 
7387
7361
  // node_modules/lodash-es/_toSource.js
7388
- init_cjs_shims();
7362
+ init_esm_shims();
7389
7363
  var funcProto = Function.prototype;
7390
7364
  var funcToString = funcProto.toString;
7391
7365
  function toSource(func) {
@@ -7423,7 +7397,7 @@ function baseIsNative(value) {
7423
7397
  var baseIsNative_default = baseIsNative;
7424
7398
 
7425
7399
  // node_modules/lodash-es/_getValue.js
7426
- init_cjs_shims();
7400
+ init_esm_shims();
7427
7401
  function getValue(object, key) {
7428
7402
  return object == null ? void 0 : object[key];
7429
7403
  }
@@ -7437,7 +7411,7 @@ function getNative(object, key) {
7437
7411
  var getNative_default = getNative;
7438
7412
 
7439
7413
  // node_modules/lodash-es/_apply.js
7440
- init_cjs_shims();
7414
+ init_esm_shims();
7441
7415
  function apply(func, thisArg, args) {
7442
7416
  switch (args.length) {
7443
7417
  case 0:
@@ -7454,7 +7428,7 @@ function apply(func, thisArg, args) {
7454
7428
  var apply_default = apply;
7455
7429
 
7456
7430
  // node_modules/lodash-es/_shortOut.js
7457
- init_cjs_shims();
7431
+ init_esm_shims();
7458
7432
  var HOT_COUNT = 800;
7459
7433
  var HOT_SPAN = 16;
7460
7434
  var nativeNow = Date.now;
@@ -7476,13 +7450,13 @@ function shortOut(func) {
7476
7450
  var shortOut_default = shortOut;
7477
7451
 
7478
7452
  // node_modules/lodash-es/_setToString.js
7479
- init_cjs_shims();
7453
+ init_esm_shims();
7480
7454
 
7481
7455
  // node_modules/lodash-es/_baseSetToString.js
7482
- init_cjs_shims();
7456
+ init_esm_shims();
7483
7457
 
7484
7458
  // node_modules/lodash-es/constant.js
7485
- init_cjs_shims();
7459
+ init_esm_shims();
7486
7460
  function constant(value) {
7487
7461
  return function() {
7488
7462
  return value;
@@ -7491,7 +7465,7 @@ function constant(value) {
7491
7465
  var constant_default = constant;
7492
7466
 
7493
7467
  // node_modules/lodash-es/_defineProperty.js
7494
- init_cjs_shims();
7468
+ init_esm_shims();
7495
7469
  var defineProperty = function() {
7496
7470
  try {
7497
7471
  var func = getNative_default(Object, "defineProperty");
@@ -7518,7 +7492,7 @@ var setToString = shortOut_default(baseSetToString_default);
7518
7492
  var setToString_default = setToString;
7519
7493
 
7520
7494
  // node_modules/lodash-es/_isIndex.js
7521
- init_cjs_shims();
7495
+ init_esm_shims();
7522
7496
  var MAX_SAFE_INTEGER = 9007199254740991;
7523
7497
  var reIsUint = /^(?:0|[1-9]\d*)$/;
7524
7498
  function isIndex(value, length) {
@@ -7529,13 +7503,13 @@ function isIndex(value, length) {
7529
7503
  var isIndex_default = isIndex;
7530
7504
 
7531
7505
  // node_modules/lodash-es/assign.js
7532
- init_cjs_shims();
7506
+ init_esm_shims();
7533
7507
 
7534
7508
  // node_modules/lodash-es/_assignValue.js
7535
- init_cjs_shims();
7509
+ init_esm_shims();
7536
7510
 
7537
7511
  // node_modules/lodash-es/_baseAssignValue.js
7538
- init_cjs_shims();
7512
+ init_esm_shims();
7539
7513
  function baseAssignValue(object, key, value) {
7540
7514
  if (key == "__proto__" && defineProperty_default) {
7541
7515
  defineProperty_default(object, key, {
@@ -7551,7 +7525,7 @@ function baseAssignValue(object, key, value) {
7551
7525
  var baseAssignValue_default = baseAssignValue;
7552
7526
 
7553
7527
  // node_modules/lodash-es/eq.js
7554
- init_cjs_shims();
7528
+ init_esm_shims();
7555
7529
  function eq(value, other) {
7556
7530
  return value === other || value !== value && other !== other;
7557
7531
  }
@@ -7569,7 +7543,7 @@ function assignValue(object, key, value) {
7569
7543
  var assignValue_default = assignValue;
7570
7544
 
7571
7545
  // node_modules/lodash-es/_copyObject.js
7572
- init_cjs_shims();
7546
+ init_esm_shims();
7573
7547
  function copyObject(source, props, object, customizer) {
7574
7548
  var isNew = !object;
7575
7549
  object || (object = {});
@@ -7591,13 +7565,13 @@ function copyObject(source, props, object, customizer) {
7591
7565
  var copyObject_default = copyObject;
7592
7566
 
7593
7567
  // node_modules/lodash-es/_createAssigner.js
7594
- init_cjs_shims();
7568
+ init_esm_shims();
7595
7569
 
7596
7570
  // node_modules/lodash-es/_baseRest.js
7597
- init_cjs_shims();
7571
+ init_esm_shims();
7598
7572
 
7599
7573
  // node_modules/lodash-es/_overRest.js
7600
- init_cjs_shims();
7574
+ init_esm_shims();
7601
7575
  var nativeMax = Math.max;
7602
7576
  function overRest(func, start, transform) {
7603
7577
  start = nativeMax(start === void 0 ? func.length - 1 : start, 0);
@@ -7624,13 +7598,13 @@ function baseRest(func, start) {
7624
7598
  var baseRest_default = baseRest;
7625
7599
 
7626
7600
  // node_modules/lodash-es/_isIterateeCall.js
7627
- init_cjs_shims();
7601
+ init_esm_shims();
7628
7602
 
7629
7603
  // node_modules/lodash-es/isArrayLike.js
7630
- init_cjs_shims();
7604
+ init_esm_shims();
7631
7605
 
7632
7606
  // node_modules/lodash-es/isLength.js
7633
- init_cjs_shims();
7607
+ init_esm_shims();
7634
7608
  var MAX_SAFE_INTEGER2 = 9007199254740991;
7635
7609
  function isLength(value) {
7636
7610
  return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER2;
@@ -7678,7 +7652,7 @@ function createAssigner(assigner) {
7678
7652
  var createAssigner_default = createAssigner;
7679
7653
 
7680
7654
  // node_modules/lodash-es/_isPrototype.js
7681
- init_cjs_shims();
7655
+ init_esm_shims();
7682
7656
  var objectProto5 = Object.prototype;
7683
7657
  function isPrototype(value) {
7684
7658
  var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto5;
@@ -7687,13 +7661,13 @@ function isPrototype(value) {
7687
7661
  var isPrototype_default = isPrototype;
7688
7662
 
7689
7663
  // node_modules/lodash-es/keys.js
7690
- init_cjs_shims();
7664
+ init_esm_shims();
7691
7665
 
7692
7666
  // node_modules/lodash-es/_arrayLikeKeys.js
7693
- init_cjs_shims();
7667
+ init_esm_shims();
7694
7668
 
7695
7669
  // node_modules/lodash-es/_baseTimes.js
7696
- init_cjs_shims();
7670
+ init_esm_shims();
7697
7671
  function baseTimes(n, iteratee) {
7698
7672
  var index = -1, result = Array(n);
7699
7673
  while (++index < n) {
@@ -7704,10 +7678,10 @@ function baseTimes(n, iteratee) {
7704
7678
  var baseTimes_default = baseTimes;
7705
7679
 
7706
7680
  // node_modules/lodash-es/isArguments.js
7707
- init_cjs_shims();
7681
+ init_esm_shims();
7708
7682
 
7709
7683
  // node_modules/lodash-es/_baseIsArguments.js
7710
- init_cjs_shims();
7684
+ init_esm_shims();
7711
7685
  var argsTag = "[object Arguments]";
7712
7686
  function baseIsArguments(value) {
7713
7687
  return isObjectLike_default(value) && baseGetTag_default(value) == argsTag;
@@ -7726,10 +7700,10 @@ var isArguments = baseIsArguments_default(/* @__PURE__ */ function() {
7726
7700
  var isArguments_default = isArguments;
7727
7701
 
7728
7702
  // node_modules/lodash-es/isBuffer.js
7729
- init_cjs_shims();
7703
+ init_esm_shims();
7730
7704
 
7731
7705
  // node_modules/lodash-es/stubFalse.js
7732
- init_cjs_shims();
7706
+ init_esm_shims();
7733
7707
  function stubFalse() {
7734
7708
  return false;
7735
7709
  }
@@ -7745,10 +7719,10 @@ var isBuffer = nativeIsBuffer || stubFalse_default;
7745
7719
  var isBuffer_default = isBuffer;
7746
7720
 
7747
7721
  // node_modules/lodash-es/isTypedArray.js
7748
- init_cjs_shims();
7722
+ init_esm_shims();
7749
7723
 
7750
7724
  // node_modules/lodash-es/_baseIsTypedArray.js
7751
- init_cjs_shims();
7725
+ init_esm_shims();
7752
7726
  var argsTag2 = "[object Arguments]";
7753
7727
  var arrayTag = "[object Array]";
7754
7728
  var boolTag = "[object Boolean]";
@@ -7782,7 +7756,7 @@ function baseIsTypedArray(value) {
7782
7756
  var baseIsTypedArray_default = baseIsTypedArray;
7783
7757
 
7784
7758
  // node_modules/lodash-es/_baseUnary.js
7785
- init_cjs_shims();
7759
+ init_esm_shims();
7786
7760
  function baseUnary(func) {
7787
7761
  return function(value) {
7788
7762
  return func(value);
@@ -7791,7 +7765,7 @@ function baseUnary(func) {
7791
7765
  var baseUnary_default = baseUnary;
7792
7766
 
7793
7767
  // node_modules/lodash-es/_nodeUtil.js
7794
- init_cjs_shims();
7768
+ init_esm_shims();
7795
7769
  var freeExports2 = typeof exports == "object" && exports && !exports.nodeType && exports;
7796
7770
  var freeModule2 = freeExports2 && typeof module == "object" && module && !module.nodeType && module;
7797
7771
  var moduleExports2 = freeModule2 && freeModule2.exports === freeExports2;
@@ -7832,13 +7806,13 @@ function arrayLikeKeys(value, inherited) {
7832
7806
  var arrayLikeKeys_default = arrayLikeKeys;
7833
7807
 
7834
7808
  // node_modules/lodash-es/_baseKeys.js
7835
- init_cjs_shims();
7809
+ init_esm_shims();
7836
7810
 
7837
7811
  // node_modules/lodash-es/_nativeKeys.js
7838
- init_cjs_shims();
7812
+ init_esm_shims();
7839
7813
 
7840
7814
  // node_modules/lodash-es/_overArg.js
7841
- init_cjs_shims();
7815
+ init_esm_shims();
7842
7816
  function overArg(func, transform) {
7843
7817
  return function(arg) {
7844
7818
  return func(transform(arg));
@@ -7891,27 +7865,27 @@ var assign_default = assign;
7891
7865
  function useD3plusConfig(chart, params) {
7892
7866
  const { fullMode, getMeasureConfig, showConfidenceInt, t } = params;
7893
7867
  const { getFormatter } = useFormatter();
7894
- return React19.useMemo(() => {
7868
+ return useMemo(() => {
7895
7869
  if (!chart) return [null, { data: "", locale: "" }];
7896
7870
  const params2 = { fullMode, getFormatter, getMeasureConfig, showConfidenceInt, t };
7897
7871
  const { locale } = chart.datagroup;
7898
7872
  if (chart.type === "barchart") {
7899
- return [d3plusReact.BarChart, buildBarchartConfig(chart, params2)];
7873
+ return [BarChart, buildBarchartConfig(chart, params2)];
7900
7874
  }
7901
7875
  if (chart.type === "choropleth") {
7902
- return [d3plusReact.Geomap, buildChoroplethConfig(chart, params2)];
7876
+ return [Geomap, buildChoroplethConfig(chart, params2)];
7903
7877
  }
7904
7878
  if (chart.type === "donut") {
7905
- return [d3plusReact.Donut, buildDonutConfig(chart, params2)];
7879
+ return [Donut, buildDonutConfig(chart, params2)];
7906
7880
  }
7907
7881
  if (chart.type === "lineplot") {
7908
- return [d3plusReact.LinePlot, buildLineplotConfig(chart, params2)];
7882
+ return [LinePlot, buildLineplotConfig(chart, params2)];
7909
7883
  }
7910
7884
  if (chart.type === "stackedarea") {
7911
- return [d3plusReact.StackedArea, buildStackedareaConfig(chart, params2)];
7885
+ return [StackedArea, buildStackedareaConfig(chart, params2)];
7912
7886
  }
7913
7887
  if (chart.type === "treemap") {
7914
- return [d3plusReact.Treemap, buildTreemapConfig(chart, params2)];
7888
+ return [Treemap, buildTreemapConfig(chart, params2)];
7915
7889
  }
7916
7890
  return [null, { data: "", locale }];
7917
7891
  }, [chart, fullMode, getFormatter, getMeasureConfig, showConfidenceInt, t]);
@@ -8215,8 +8189,8 @@ function _buildTranslatedList(t, list) {
8215
8189
  }
8216
8190
 
8217
8191
  // src/vizbuilder/components/ErrorBoundary.tsx
8218
- init_cjs_shims();
8219
- var ErrorBoundary = class extends React19.Component {
8192
+ init_esm_shims();
8193
+ var ErrorBoundary = class extends Component {
8220
8194
  constructor() {
8221
8195
  super(...arguments);
8222
8196
  this.state = {
@@ -8233,10 +8207,10 @@ var ErrorBoundary = class extends React19.Component {
8233
8207
  if (!message) {
8234
8208
  return this.props.children;
8235
8209
  }
8236
- return /* @__PURE__ */ React19__namespace.default.createElement(TranslationConsumer, null, ({ translate: t }) => {
8210
+ return /* @__PURE__ */ React19__default.createElement(TranslationConsumer, null, ({ translate: t }) => {
8237
8211
  const detailText = t("vizbuilder.error.detail");
8238
- return /* @__PURE__ */ React19__namespace.default.createElement(
8239
- core.Flex,
8212
+ return /* @__PURE__ */ React19__default.createElement(
8213
+ Flex,
8240
8214
  {
8241
8215
  p: "xl",
8242
8216
  align: "center",
@@ -8244,10 +8218,10 @@ var ErrorBoundary = class extends React19.Component {
8244
8218
  direction: "column",
8245
8219
  className: "chart-card error"
8246
8220
  },
8247
- /* @__PURE__ */ React19__namespace.default.createElement(core.Title, { order: 3 }, t("vizbuilder.error.title")),
8248
- detailText.length ? /* @__PURE__ */ React19__namespace.default.createElement(core.Text, null, detailText) : null,
8249
- /* @__PURE__ */ React19__namespace.default.createElement(core.Text, null, t("vizbuilder.error.message", { message })),
8250
- /* @__PURE__ */ React19__namespace.default.createElement(core.Group, { spacing: "xs", my: "sm" }, /* @__PURE__ */ React19__namespace.default.createElement(core.Button, { onClick: this.clearError, size: "xs", variant: "light" }, t("vizbuilder.action_retry")), /* @__PURE__ */ React19__namespace.default.createElement(IssueButton, { error: name4, message }))
8221
+ /* @__PURE__ */ React19__default.createElement(Title, { order: 3 }, t("vizbuilder.error.title")),
8222
+ detailText.length ? /* @__PURE__ */ React19__default.createElement(Text, null, detailText) : null,
8223
+ /* @__PURE__ */ React19__default.createElement(Text, null, t("vizbuilder.error.message", { message })),
8224
+ /* @__PURE__ */ React19__default.createElement(Group, { spacing: "xs", my: "sm" }, /* @__PURE__ */ React19__default.createElement(Button, { onClick: this.clearError, size: "xs", variant: "light" }, t("vizbuilder.action_retry")), /* @__PURE__ */ React19__default.createElement(IssueButton, { error: name4, message }))
8251
8225
  );
8252
8226
  });
8253
8227
  }
@@ -8266,12 +8240,12 @@ function IssueButton(props) {
8266
8240
  "**Detail of the issue:**\n"
8267
8241
  ].join("\n")
8268
8242
  });
8269
- return /* @__PURE__ */ React19__namespace.default.createElement(
8270
- core.Button,
8243
+ return /* @__PURE__ */ React19__default.createElement(
8244
+ Button,
8271
8245
  {
8272
8246
  component: "a",
8273
8247
  href: `https://github.com/Datawheel/vizbuilder/issues/new?${issueParams}`,
8274
- leftIcon: /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconBrandGithub, { size: "1rem" }),
8248
+ leftIcon: /* @__PURE__ */ React19__default.createElement(IconBrandGithub, { size: "1rem" }),
8275
8249
  rel: "noopener noreferrer",
8276
8250
  role: "button",
8277
8251
  size: "xs",
@@ -8285,31 +8259,31 @@ function IssueButton(props) {
8285
8259
 
8286
8260
  // src/vizbuilder/components/ChartCard.tsx
8287
8261
  var iconByFormat = {
8288
- jpg: iconsReact.IconPhotoDown,
8289
- png: iconsReact.IconPhotoDown,
8290
- svg: iconsReact.IconVectorTriangle
8262
+ jpg: IconPhotoDown,
8263
+ png: IconPhotoDown,
8264
+ svg: IconVectorTriangle
8291
8265
  };
8292
8266
  function ChartCard(props) {
8293
8267
  const { chart, downloadFormats, isFullMode, onFocus, showConfidenceInt } = props;
8294
8268
  const { translate } = useTranslation();
8295
- const nodeRef = React19.useRef(null);
8269
+ const nodeRef = useRef(null);
8296
8270
  const [ChartComponent, config] = useD3plusConfig(chart, {
8297
8271
  fullMode: !!isFullMode,
8298
8272
  showConfidenceInt: !!showConfidenceInt,
8299
8273
  getMeasureConfig: props.measureConfig,
8300
8274
  t: translate
8301
8275
  });
8302
- const downloadButtons = React19.useMemo(() => {
8276
+ const downloadButtons = useMemo(() => {
8303
8277
  const filename = (typeof config.title === "function" ? config.title() : config.title || "").replace(/[^\w]/g, "_").replace(/[_]+/g, "_");
8304
8278
  return asArray(downloadFormats).map((format2) => {
8305
8279
  const formatLower = format2.toLowerCase();
8306
- const Icon = iconByFormat[formatLower] || iconsReact.IconDownload;
8307
- return /* @__PURE__ */ React19__namespace.default.createElement(
8308
- core.Button,
8280
+ const Icon = iconByFormat[formatLower] || IconDownload;
8281
+ return /* @__PURE__ */ React19__default.createElement(
8282
+ Button,
8309
8283
  {
8310
8284
  key: format2,
8311
8285
  compact: true,
8312
- leftIcon: /* @__PURE__ */ React19__namespace.default.createElement(Icon, { size: 16 }),
8286
+ leftIcon: /* @__PURE__ */ React19__default.createElement(Icon, { size: 16 }),
8313
8287
  onClick: () => {
8314
8288
  const { current: boxElement } = nodeRef;
8315
8289
  const svgElement = boxElement == null ? void 0 : boxElement.querySelector("svg");
@@ -8328,13 +8302,13 @@ function ChartCard(props) {
8328
8302
  );
8329
8303
  });
8330
8304
  }, [config, downloadFormats]);
8331
- const focusButton = React19.useMemo(() => {
8332
- const Icon = isFullMode ? iconsReact.IconArrowsMinimize : iconsReact.IconArrowsMaximize;
8333
- return /* @__PURE__ */ React19__namespace.default.createElement(
8334
- core.Button,
8305
+ const focusButton = useMemo(() => {
8306
+ const Icon = isFullMode ? IconArrowsMinimize : IconArrowsMaximize;
8307
+ return /* @__PURE__ */ React19__default.createElement(
8308
+ Button,
8335
8309
  {
8336
8310
  compact: true,
8337
- leftIcon: /* @__PURE__ */ React19__namespace.default.createElement(Icon, { size: 16 }),
8311
+ leftIcon: /* @__PURE__ */ React19__default.createElement(Icon, { size: 16 }),
8338
8312
  onClick: onFocus,
8339
8313
  size: "sm",
8340
8314
  variant: isFullMode ? "filled" : "light"
@@ -8344,7 +8318,7 @@ function ChartCard(props) {
8344
8318
  }, [isFullMode, translate, onFocus]);
8345
8319
  const height = isFullMode ? "calc(100vh - 3rem)" : 300;
8346
8320
  if (!ChartComponent) return null;
8347
- return /* @__PURE__ */ React19__namespace.default.createElement(core.Paper, { h: height, w: "100%", style: { overflow: "hidden" } }, /* @__PURE__ */ React19__namespace.default.createElement(ErrorBoundary, null, /* @__PURE__ */ React19__namespace.default.createElement(core.Stack, { spacing: 0, h: height, style: { position: "relative" }, w: "100%" }, /* @__PURE__ */ React19__namespace.default.createElement(core.Group, { position: "right", p: "xs", spacing: "xs", align: "center" }, downloadButtons, onFocus && focusButton), /* @__PURE__ */ React19__namespace.default.createElement(core.Box, { style: { flex: "1 1 auto" }, ref: nodeRef, pb: "xs", px: "xs" }, /* @__PURE__ */ React19__namespace.default.createElement(ChartComponent, { config })))));
8321
+ return /* @__PURE__ */ React19__default.createElement(Paper, { h: height, w: "100%", style: { overflow: "hidden" } }, /* @__PURE__ */ React19__default.createElement(ErrorBoundary, null, /* @__PURE__ */ React19__default.createElement(Stack, { spacing: 0, h: height, style: { position: "relative" }, w: "100%" }, /* @__PURE__ */ React19__default.createElement(Group, { position: "right", p: "xs", spacing: "xs", align: "center" }, downloadButtons, onFocus && focusButton), /* @__PURE__ */ React19__default.createElement(Box, { style: { flex: "1 1 auto" }, ref: nodeRef, pb: "xs", px: "xs" }, /* @__PURE__ */ React19__default.createElement(ChartComponent, { config })))));
8348
8322
  }
8349
8323
  var getBackground = (node) => {
8350
8324
  if (node.nodeType !== Node.ELEMENT_NODE) return "white";
@@ -8354,17 +8328,17 @@ var getBackground = (node) => {
8354
8328
  };
8355
8329
 
8356
8330
  // src/vizbuilder/components/NonIdealState.tsx
8357
- init_cjs_shims();
8331
+ init_esm_shims();
8358
8332
  function NonIdealState2(props) {
8359
8333
  const { status } = props;
8360
8334
  const { translate: t } = useTranslation();
8361
- const description = React19.useMemo(() => {
8335
+ const description = useMemo(() => {
8362
8336
  if (status === "loading") {
8363
- return /* @__PURE__ */ React19__namespace.default.createElement(core.Flex, { justify: "center", align: "center", direction: "column" }, /* @__PURE__ */ React19__namespace.default.createElement(core.Loader, { size: "xl" }), /* @__PURE__ */ React19__namespace.default.createElement(core.Title, { mt: "md", order: 4 }, t("vizbuilder.transient.title_loading")));
8337
+ return /* @__PURE__ */ React19__default.createElement(Flex, { justify: "center", align: "center", direction: "column" }, /* @__PURE__ */ React19__default.createElement(Loader, { size: "xl" }), /* @__PURE__ */ React19__default.createElement(Title, { mt: "md", order: 4 }, t("vizbuilder.transient.title_loading")));
8364
8338
  }
8365
- return /* @__PURE__ */ React19__namespace.default.createElement(core.Flex, { justify: "center", align: "center", direction: "column", w: "50%" }, /* @__PURE__ */ React19__namespace.default.createElement(iconsReact.IconCircleOff, { size: 92 }), /* @__PURE__ */ React19__namespace.default.createElement(core.Title, { mt: "md", mb: "md", order: 4 }, t("vizbuilder.transient.title_empty")), /* @__PURE__ */ React19__namespace.default.createElement(core.Text, null, t("vizbuilder.transient.description_empty")));
8339
+ return /* @__PURE__ */ React19__default.createElement(Flex, { justify: "center", align: "center", direction: "column", w: "50%" }, /* @__PURE__ */ React19__default.createElement(IconCircleOff, { size: 92 }), /* @__PURE__ */ React19__default.createElement(Title, { mt: "md", mb: "md", order: 4 }, t("vizbuilder.transient.title_empty")), /* @__PURE__ */ React19__default.createElement(Text, null, t("vizbuilder.transient.description_empty")));
8366
8340
  }, [status, t]);
8367
- return /* @__PURE__ */ React19__namespace.default.createElement(core.Center, { h: "100%" }, description);
8341
+ return /* @__PURE__ */ React19__default.createElement(Center, { h: "100%" }, description);
8368
8342
  }
8369
8343
 
8370
8344
  // src/vizbuilder/components/Vizbuilder.tsx
@@ -8381,17 +8355,17 @@ function Vizbuilder(props) {
8381
8355
  topojsonConfig,
8382
8356
  userConfig
8383
8357
  } = props;
8384
- const [currentChart, setCurrentChart] = React19.useState("");
8385
- const getMeasureConfig = React19.useMemo(() => {
8358
+ const [currentChart, setCurrentChart] = useState("");
8359
+ const getMeasureConfig = useMemo(() => {
8386
8360
  const config = measureConfig || {};
8387
8361
  return typeof config === "function" ? config : (item) => config[item.name];
8388
8362
  }, [measureConfig]);
8389
- const getTopojsonConfig = React19.useMemo(() => {
8363
+ const getTopojsonConfig = useMemo(() => {
8390
8364
  const config = topojsonConfig || {};
8391
8365
  return typeof config === "function" ? config : (item) => config[item.name];
8392
8366
  }, [topojsonConfig]);
8393
- const charts = React19.useMemo(() => {
8394
- const charts2 = vizbuilder.generateCharts(asArray(datasets), {
8367
+ const charts = useMemo(() => {
8368
+ const charts2 = generateCharts(asArray(datasets), {
8395
8369
  chartLimits,
8396
8370
  chartTypes,
8397
8371
  datacap,
@@ -8399,20 +8373,20 @@ function Vizbuilder(props) {
8399
8373
  });
8400
8374
  return Object.fromEntries(charts2.map((chart) => [chart.key, chart]));
8401
8375
  }, [chartLimits, chartTypes, datacap, datasets, getTopojsonConfig]);
8402
- const content = React19.useMemo(() => {
8376
+ const content = useMemo(() => {
8403
8377
  const Notice = nonIdealState || NonIdealState2;
8404
8378
  const isLoading = asArray(datasets).some(
8405
8379
  (dataset) => Object.keys(dataset.columns).length === 0
8406
8380
  );
8407
8381
  if (isLoading) {
8408
8382
  console.debug("Loading datasets...", datasets);
8409
- return /* @__PURE__ */ React19__namespace.default.createElement(Notice, { status: "loading" });
8383
+ return /* @__PURE__ */ React19__default.createElement(Notice, { status: "loading" });
8410
8384
  }
8411
8385
  const chartList = Object.values(charts);
8412
- if (chartList.length === 0) return /* @__PURE__ */ React19__namespace.default.createElement(Notice, { status: "empty" });
8386
+ if (chartList.length === 0) return /* @__PURE__ */ React19__default.createElement(Notice, { status: "empty" });
8413
8387
  const isSingleChart = chartList.length === 1;
8414
- return /* @__PURE__ */ React19__namespace.default.createElement(ErrorBoundary, null, /* @__PURE__ */ React19__namespace.default.createElement(
8415
- core.SimpleGrid,
8388
+ return /* @__PURE__ */ React19__default.createElement(ErrorBoundary, null, /* @__PURE__ */ React19__default.createElement(
8389
+ SimpleGrid,
8416
8390
  {
8417
8391
  breakpoints: [
8418
8392
  { minWidth: "xs", cols: 1 },
@@ -8422,7 +8396,7 @@ function Vizbuilder(props) {
8422
8396
  ],
8423
8397
  className: clsx_m_default({ unique: isSingleChart })
8424
8398
  },
8425
- chartList.map((chart) => /* @__PURE__ */ React19__namespace.default.createElement(
8399
+ chartList.map((chart) => /* @__PURE__ */ React19__default.createElement(
8426
8400
  ChartCard,
8427
8401
  {
8428
8402
  key: chart.key,
@@ -8444,10 +8418,10 @@ function Vizbuilder(props) {
8444
8418
  showConfidenceInt,
8445
8419
  userConfig
8446
8420
  ]);
8447
- const focusContent = React19.useMemo(() => {
8421
+ const focusContent = useMemo(() => {
8448
8422
  const chart = charts[currentChart];
8449
8423
  if (!chart) return null;
8450
- return /* @__PURE__ */ React19__namespace.default.createElement(
8424
+ return /* @__PURE__ */ React19__default.createElement(
8451
8425
  ChartCard,
8452
8426
  {
8453
8427
  key: `${chart.key}-focus`,
@@ -8468,11 +8442,11 @@ function Vizbuilder(props) {
8468
8442
  showConfidenceInt,
8469
8443
  userConfig
8470
8444
  ]);
8471
- return /* @__PURE__ */ React19__namespace.default.createElement("div", { style: { height: "100%" }, className: clsx_m_default("vb-wrapper", props.className) }, props.customHeader, content, props.customFooter, /* @__PURE__ */ React19__namespace.default.createElement(
8472
- core.Modal,
8445
+ return /* @__PURE__ */ React19__default.createElement("div", { style: { height: "100%" }, className: clsx_m_default("vb-wrapper", props.className) }, props.customHeader, content, props.customFooter, /* @__PURE__ */ React19__default.createElement(
8446
+ Modal,
8473
8447
  {
8474
8448
  centered: true,
8475
- onClose: React19.useCallback(() => setCurrentChart(""), []),
8449
+ onClose: useCallback(() => setCurrentChart(""), []),
8476
8450
  opened: currentChart !== "",
8477
8451
  padding: 0,
8478
8452
  size: "calc(100vw - 3rem)",
@@ -8501,7 +8475,7 @@ var CHART_LIMITS = {
8501
8475
  var DOWNLOAD_FORMATS = ["SVG", "PNG"];
8502
8476
  function VizbuilderView(props) {
8503
8477
  const { cube, params, result } = props;
8504
- const dataset = React19.useMemo(() => {
8478
+ const dataset = useMemo(() => {
8505
8479
  const columns = Object.keys(result.types);
8506
8480
  return {
8507
8481
  columns: Object.fromEntries(
@@ -8511,7 +8485,7 @@ function VizbuilderView(props) {
8511
8485
  locale: params.locale || "en"
8512
8486
  };
8513
8487
  }, [cube, result, params.locale]);
8514
- return /* @__PURE__ */ React19__namespace.default.createElement(
8488
+ return /* @__PURE__ */ React19__default.createElement(
8515
8489
  Vizbuilder,
8516
8490
  {
8517
8491
  datasets: dataset,
@@ -8537,17 +8511,4 @@ lodash-es/lodash.js:
8537
8511
  *)
8538
8512
  */
8539
8513
 
8540
- exports.DebugView = DebugView;
8541
- exports.Explorer = ExplorerComponent;
8542
- exports.PivotView = PivotView;
8543
- exports.SettingsConsumer = SettingsConsumer;
8544
- exports.TableView = TableView;
8545
- exports.ToolbarButton = ToolbarButton;
8546
- exports.TourStep = TourStep;
8547
- exports.TranslationConsumer = TranslationConsumer;
8548
- exports.VizbuilderView = VizbuilderView;
8549
- exports.explorerReducer = reducer;
8550
- exports.explorerThunkExtraArg = thunkExtraArg;
8551
- exports.translationDict = defaultTranslation;
8552
- exports.useSettings = useSettings;
8553
- exports.useTranslation = useTranslation;
8514
+ export { DebugView, ExplorerComponent as Explorer, PivotView, SettingsConsumer, TableView, ToolbarButton, TourStep, TranslationConsumer, VizbuilderView, reducer as explorerReducer, thunkExtraArg as explorerThunkExtraArg, defaultTranslation as translationDict, useSettings, useTranslation };