@gooddata/sdk-ui-dashboard 10.27.0-alpha.48 → 10.27.0-alpha.49

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.
Files changed (35) hide show
  1. package/esm/__version.d.ts +1 -1
  2. package/esm/__version.js +1 -1
  3. package/esm/presentation/drill/DrillSelect/DrillSelectDropdown.d.ts.map +1 -1
  4. package/esm/presentation/drill/DrillSelect/DrillSelectDropdown.js +64 -8
  5. package/esm/presentation/drill/DrillSelect/DrillSelectDropdown.js.map +1 -1
  6. package/esm/presentation/drill/DrillSelect/DrillSelectDropdownMenuItem.d.ts +5 -0
  7. package/esm/presentation/drill/DrillSelect/DrillSelectDropdownMenuItem.d.ts.map +1 -0
  8. package/esm/presentation/drill/DrillSelect/{DrillSelectListItem.js → DrillSelectDropdownMenuItem.js} +13 -15
  9. package/esm/presentation/drill/DrillSelect/DrillSelectDropdownMenuItem.js.map +1 -0
  10. package/esm/presentation/drill/hooks/useDrillSelectDropdownMenuItems.d.ts +20 -0
  11. package/esm/presentation/drill/hooks/useDrillSelectDropdownMenuItems.d.ts.map +1 -0
  12. package/esm/presentation/drill/hooks/useDrillSelectDropdownMenuItems.js +42 -0
  13. package/esm/presentation/drill/hooks/useDrillSelectDropdownMenuItems.js.map +1 -0
  14. package/esm/presentation/localization/bundles/en-US.json +5 -0
  15. package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts +5 -0
  16. package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts.map +1 -1
  17. package/esm/presentation/localization/bundles/en-US.localization-bundle.js +5 -0
  18. package/esm/presentation/localization/bundles/en-US.localization-bundle.js.map +1 -1
  19. package/package.json +15 -15
  20. package/styles/css/drillSelect.css +4 -1
  21. package/styles/css/drillSelect.css.map +1 -1
  22. package/styles/css/main.css +4 -1
  23. package/styles/css/main.css.map +1 -1
  24. package/styles/scss/drillSelect.scss +5 -1
  25. package/esm/presentation/drill/DrillSelect/DrillSelectList.d.ts +0 -9
  26. package/esm/presentation/drill/DrillSelect/DrillSelectList.d.ts.map +0 -1
  27. package/esm/presentation/drill/DrillSelect/DrillSelectList.js +0 -51
  28. package/esm/presentation/drill/DrillSelect/DrillSelectList.js.map +0 -1
  29. package/esm/presentation/drill/DrillSelect/DrillSelectListBody.d.ts +0 -10
  30. package/esm/presentation/drill/DrillSelect/DrillSelectListBody.d.ts.map +0 -1
  31. package/esm/presentation/drill/DrillSelect/DrillSelectListBody.js +0 -13
  32. package/esm/presentation/drill/DrillSelect/DrillSelectListBody.js.map +0 -1
  33. package/esm/presentation/drill/DrillSelect/DrillSelectListItem.d.ts +0 -11
  34. package/esm/presentation/drill/DrillSelect/DrillSelectListItem.d.ts.map +0 -1
  35. package/esm/presentation/drill/DrillSelect/DrillSelectListItem.js.map +0 -1
@@ -1,2 +1,2 @@
1
- export declare const LIB_VERSION = "10.27.0-alpha.48";
1
+ export declare const LIB_VERSION = "10.27.0-alpha.49";
2
2
  //# sourceMappingURL=__version.d.ts.map
package/esm/__version.js CHANGED
@@ -1,4 +1,4 @@
1
1
  // (C) 2021 GoodData Corporation
2
2
  // DO NOT CHANGE THIS FILE, IT IS RE-GENERATED ON EVERY BUILD
3
- export const LIB_VERSION = "10.27.0-alpha.48";
3
+ export const LIB_VERSION = "10.27.0-alpha.49";
4
4
  //# sourceMappingURL=__version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DrillSelectDropdown.d.ts","sourceRoot":"","sources":["../../../../src/presentation/drill/DrillSelect/DrillSelectDropdown.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAW,SAAS,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAsB,MAAM,kBAAkB,CAAC;AAEnE,OAAO,EAAE,wBAAwB,EAAyB,MAAM,mBAAmB,CAAC;AACpF,OAAO,EACH,QAAQ,EAOR,gBAAgB,EAGhB,mCAAmC,EAEnC,OAAO,EACV,MAAM,qBAAqB,CAAC;AAQ7B,OAAO,EAAE,kBAAkB,EAAa,eAAe,EAAE,MAAM,YAAY,CAAC;AAW5E,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,MAAM,WAAW,wBAAyB,SAAQ,kBAAkB;IAChE,mBAAmB,EAAE,MAAM,CAAC;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,IAAI,CAAC;CACtD;AAED,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA+ClE,CAAC;AASF,eAAO,MAAM,sBAAsB;sBAUb,wBAAwB,EAAE;gBAChC,WAAW;cACb,UAAU,QAAQ,CAAC;mBACd,gBAAgB,EAAE;oBACjB,MAAM;UAChB,SAAS;;2BAEQ,OAAO,MAAM,EAAE,mCAAmC,CAAC;MAC1E,eAAe,EA0FlB,CAAC"}
1
+ {"version":3,"file":"DrillSelectDropdown.d.ts","sourceRoot":"","sources":["../../../../src/presentation/drill/DrillSelect/DrillSelectDropdown.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAEvE,OAAO,EAAW,SAAS,EAAE,MAAM,YAAY,CAAC;AAGhD,OAAO,EAAE,WAAW,EAAsB,MAAM,kBAAkB,CAAC;AAEnE,OAAO,EAAE,wBAAwB,EAAyB,MAAM,mBAAmB,CAAC;AACpF,OAAO,EACH,QAAQ,EAOR,gBAAgB,EAGhB,mCAAmC,EAEnC,OAAO,EACV,MAAM,qBAAqB,CAAC;AAO7B,OAAO,EAAE,kBAAkB,EAAa,eAAe,EAAE,MAAM,YAAY,CAAC;AAW5E,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKpE,MAAM,WAAW,wBAAyB,SAAQ,kBAAkB;IAChE,mBAAmB,EAAE,MAAM,CAAC;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,IAAI,CAAC;CACtD;AAED,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAsJlE,CAAC;AASF,eAAO,MAAM,sBAAsB;sBAUb,wBAAwB,EAAE;gBAChC,WAAW;cACb,UAAU,QAAQ,CAAC;mBACd,gBAAgB,EAAE;oBACjB,MAAM;UAChB,SAAS;;2BAEQ,OAAO,MAAM,EAAE,mCAAmC,CAAC;MAC1E,eAAe,EA0FlB,CAAC"}
@@ -1,28 +1,69 @@
1
1
  // (C) 2020-2025 GoodData Corporation
2
- import React, { useMemo } from "react";
2
+ import React, { useMemo, useCallback, useEffect, useRef } from "react";
3
3
  import stringify from "json-stable-stringify";
4
4
  import { useIntl } from "react-intl";
5
5
  import { invariant } from "ts-invariant";
6
+ import partition from "lodash/partition.js";
6
7
  import { UnexpectedSdkError } from "@gooddata/sdk-ui";
7
- import { Overlay, UiFocusTrap } from "@gooddata/sdk-ui-kit";
8
+ import { Overlay, UiFocusTrap, UiMenu } from "@gooddata/sdk-ui-kit";
8
9
  import { isDrillDownDefinition } from "../../../types.js";
9
10
  import { insightTitle, isDrillFromAttribute, isDrillToDashboard, isDrillToInsight, isDrillToLegacyDashboard, isCrossFiltering, isAttributeDescriptor, isIdentifierRef, } from "@gooddata/sdk-model";
10
11
  import { isDrillToUrl } from "../types.js";
11
- import { DrillSelectListBody } from "./DrillSelectListBody.js";
12
12
  import { getDrillDownTitle, getDrillOriginAttributeElementTitle, getTotalDrillToUrlCount, } from "../utils/drillDownUtils.js";
13
13
  import { DrillType } from "./types.js";
14
14
  import { selectAccessibleDashboards, selectCatalogAttributeDisplayFormsById, selectDashboardTitle, selectInsightsMap, selectWidgetByRef, useDashboardSelector, } from "../../../model/index.js";
15
15
  import { dashboardMatch } from "../utils/dashboardPredicate.js";
16
16
  import { getDrillOriginLocalIdentifier } from "../../../_staging/drills/drillingUtils.js";
17
17
  import compact from "lodash/compact.js";
18
- export const DrillSelectDropdown = (props) => {
19
- const { isOpen, dropDownAnchorClass, onClose, onSelect, drillDefinitions, drillEvent } = props;
18
+ import { DrillSelectDropdownMenuItem } from "./DrillSelectDropdownMenuItem.js";
19
+ import { useDrillSelectDropdownMenuItems } from "../hooks/useDrillSelectDropdownMenuItems.js";
20
+ export const DrillSelectDropdown = ({ isOpen, dropDownAnchorClass, onClose, onSelect, drillDefinitions, drillEvent, }) => {
20
21
  const intl = useIntl();
21
22
  const dashboardList = useDashboardSelector(selectAccessibleDashboards);
22
23
  const dashboardTitle = useDashboardSelector(selectDashboardTitle);
23
24
  const insights = useDashboardSelector(selectInsightsMap);
24
25
  const widget = useDashboardSelector(selectWidgetByRef(drillEvent.widgetRef));
25
26
  const attributeDisplayForms = useDashboardSelector(selectCatalogAttributeDisplayFormsById);
27
+ const stopPropagation = useCallback((e) => {
28
+ e.stopPropagation();
29
+ }, []);
30
+ const previouslyFocusedRef = useRef(document.activeElement);
31
+ useEffect(() => {
32
+ if (isOpen) {
33
+ previouslyFocusedRef.current = document.activeElement;
34
+ }
35
+ }, [isOpen]);
36
+ const handleClose = () => {
37
+ onClose();
38
+ };
39
+ const removeHighchartsFocusBorders = useCallback(() => {
40
+ const focusBorders = document.getElementsByClassName("highcharts-focus-border");
41
+ Array.from(focusBorders).forEach((el) => el.remove());
42
+ }, []);
43
+ const findNextFocusableVisualisation = useCallback((currentElement) => {
44
+ if (!currentElement) {
45
+ return null;
46
+ }
47
+ const focusableElements = Array.from(document.querySelectorAll("figure"));
48
+ const currentIndex = focusableElements.findIndex((el) => el === currentElement.closest("figure"));
49
+ if (currentIndex === -1) {
50
+ return null;
51
+ }
52
+ const nextIndex = (currentIndex + 1) % focusableElements.length;
53
+ return nextIndex === 0 ? null : focusableElements[nextIndex] ?? null;
54
+ }, []);
55
+ const handleKeyDown = useCallback((e) => {
56
+ if (e.key !== "Tab") {
57
+ return;
58
+ }
59
+ e.preventDefault();
60
+ removeHighchartsFocusBorders();
61
+ onClose();
62
+ const nextElement = findNextFocusableVisualisation(previouslyFocusedRef.current);
63
+ if (nextElement) {
64
+ nextElement.focus();
65
+ }
66
+ }, [previouslyFocusedRef, onClose, removeHighchartsFocusBorders, findNextFocusableVisualisation]);
26
67
  const drillSelectItems = useMemo(() => createDrillSelectItems({
27
68
  drillDefinitions,
28
69
  drillEvent,
@@ -42,10 +83,25 @@ export const DrillSelectDropdown = (props) => {
42
83
  widget,
43
84
  attributeDisplayForms,
44
85
  ]);
45
- return isOpen ? (React.createElement("div", { className: "gd-drill-modal-picker-overlay-mask" },
46
- React.createElement(Overlay, { closeOnOutsideClick: true, closeOnEscape: true, alignTo: `.${dropDownAnchorClass}`, onClose: onClose },
86
+ const [drillDownAndCrossFilteringItems, drillItems] = partition(drillSelectItems, (item) => isDrillDownDefinition(item.drillDefinition) || isCrossFiltering(item.drillDefinition));
87
+ const [drillDownItems, crossFilteringItems] = partition(drillDownAndCrossFilteringItems, (item) => isDrillDownDefinition(item.drillDefinition));
88
+ const menuItems = useDrillSelectDropdownMenuItems({
89
+ drillDownItems,
90
+ drillItems,
91
+ crossFilteringItems,
92
+ onSelect,
93
+ });
94
+ if (!isOpen) {
95
+ return null;
96
+ }
97
+ return (React.createElement("div", { className: "gd-drill-modal-picker-overlay-mask" },
98
+ React.createElement(Overlay, { closeOnOutsideClick: true, closeOnEscape: true, alignTo: `.${dropDownAnchorClass}`, onClose: handleClose },
47
99
  React.createElement(UiFocusTrap, { autofocusOnOpen: true },
48
- React.createElement(DrillSelectListBody, { items: drillSelectItems, onSelect: onSelect }))))) : null;
100
+ React.createElement("div", { onScroll: stopPropagation, className: "gd-drill-modal-picker-dropdown s-drill-item-selector-dropdown" },
101
+ React.createElement(UiMenu, { items: menuItems, onSelect: (item) => onSelect(item.data.drillDefinition), onClose: handleClose, onUnhandledKeyDown: handleKeyDown, className: "gd-drill-modal-picker-body", ariaAttributes: {
102
+ id: "drill-select-menu",
103
+ "aria-label": intl.formatMessage({ id: "drill_modal_picker.label" }),
104
+ }, InteractiveItemComponent: DrillSelectDropdownMenuItem }))))));
49
105
  };
50
106
  const getDashboardTitle = (dashboardRef, dashboardList) => {
51
107
  const dashboard = dashboardList.find((dashboard) => dashboardMatch(dashboard.identifier, dashboard.ref, dashboardRef));
@@ -1 +1 @@
1
- {"version":3,"file":"DrillSelectDropdown.js","sourceRoot":"","sources":["../../../../src/presentation/drill/DrillSelect/DrillSelectDropdown.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DrillSelectDropdown.js","sourceRoot":"","sources":["../../../../src/presentation/drill/DrillSelect/DrillSelectDropdown.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ import { UiMenuInteractiveItemProps } from "@gooddata/sdk-ui-kit";
3
+ import { IDrillSelectDropdownMenuItemData } from "../hooks/useDrillSelectDropdownMenuItems.js";
4
+ export declare const DrillSelectDropdownMenuItem: React.FC<UiMenuInteractiveItemProps<IDrillSelectDropdownMenuItemData>>;
5
+ //# sourceMappingURL=DrillSelectDropdownMenuItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DrillSelectDropdownMenuItem.d.ts","sourceRoot":"","sources":["../../../../src/presentation/drill/DrillSelect/DrillSelectDropdownMenuItem.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAyB,MAAM,OAAO,CAAC;AAG9C,OAAO,EAAQ,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAGxE,OAAO,EAAE,gCAAgC,EAAE,MAAM,6CAA6C,CAAC;AAU/F,eAAO,MAAM,2BAA2B,EAAE,KAAK,CAAC,EAAE,CAC9C,0BAA0B,CAAC,gCAAgC,CAAC,CAuD/D,CAAC"}
@@ -1,9 +1,8 @@
1
- // (C) 2019-2025 GoodData Corporation
1
+ // (C) 2025 GoodData Corporation
2
2
  import React from "react";
3
3
  import cx from "classnames";
4
4
  import compact from "lodash/compact.js";
5
5
  import { Icon } from "@gooddata/sdk-ui-kit";
6
- import { useTheme } from "@gooddata/sdk-ui-theme-provider";
7
6
  import { DrillType } from "./types.js";
8
7
  const DRILL_ICON_NAME = {
9
8
  [DrillType.DRILL_TO_DASHBOARD]: "DrillToDashboard",
@@ -12,25 +11,24 @@ const DRILL_ICON_NAME = {
12
11
  [DrillType.DRILL_DOWN]: "DrillDown",
13
12
  [DrillType.CROSS_FILTERING]: "AttributeFilter",
14
13
  };
15
- export const DrillSelectListItem = (props) => {
16
- const theme = useTheme(props.theme);
17
- const { item: { name, type, drillDefinition, attributeValue }, } = props;
18
- const onClick = (e) => {
19
- e.preventDefault();
20
- props.onClick(drillDefinition);
21
- };
14
+ export const DrillSelectDropdownMenuItem = (props) => {
15
+ const { item: { data: { type, name, attributeValue, onSelect }, }, } = props;
22
16
  const renderLoading = () => {
23
17
  return (React.createElement("div", { className: "gd-drill-to-url-modal-picker s-drill-to-url-modal-picker" },
24
18
  React.createElement("div", { className: "gd-spinner small" })));
25
19
  };
26
- const itemClassName = cx("gd-drill-modal-picker-list-item", "s-gd-drill-modal-picker-item", `s-${type}`);
20
+ const onClick = (e) => {
21
+ e.preventDefault();
22
+ onSelect();
23
+ };
24
+ const itemClassName = cx("gd-drill-modal-picker-list-item", "s-gd-drill-modal-picker-item", `s-${type}`, {});
27
25
  const IconComponent = Icon[DRILL_ICON_NAME[type]];
28
- const attributeLabel = attributeValue ? `(${attributeValue})` : "";
26
+ const shouldHaveAriaPopup = type === DrillType.DRILL_TO_INSIGHT || type === DrillType.DRILL_DOWN;
29
27
  // make sure there is no trailing space in case attributeLabel is empty
30
- const title = compact([name, attributeLabel]).join(" ");
31
- return (React.createElement("a", { href: "", onClick: onClick, className: itemClassName, title: title },
28
+ const title = compact([name, attributeValue]).join(" ");
29
+ return (React.createElement("button", { onClick: onClick, className: itemClassName, title: title, "aria-haspopup": shouldHaveAriaPopup ? "dialog" : undefined },
32
30
  React.createElement("div", { className: "gd-drill-modal-picker-icon-wrapper" },
33
- React.createElement(IconComponent, { color: theme?.palette?.complementary?.c5 })),
31
+ React.createElement(IconComponent, null)),
34
32
  !name ? (renderLoading()) : (React.createElement("p", null,
35
33
  name,
36
34
  attributeValue ? React.createElement("span", null,
@@ -38,4 +36,4 @@ export const DrillSelectListItem = (props) => {
38
36
  attributeValue,
39
37
  ")") : null))));
40
38
  };
41
- //# sourceMappingURL=DrillSelectListItem.js.map
39
+ //# sourceMappingURL=DrillSelectDropdownMenuItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DrillSelectDropdownMenuItem.js","sourceRoot":"","sources":["../../../../src/presentation/drill/DrillSelect/DrillSelectDropdownMenuItem.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAyB,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,IAAI,EAA8B,MAAM,sBAAsB,CAAC;AAExE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,MAAM,eAAe,GAA8B;IAC/C,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAAE,kBAAkB;IAClD,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,gBAAgB;IAC9C,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,WAAW;IACrC,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,WAAW;IACnC,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,iBAAiB;CACjD,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAEpC,CAAC,KAAK,EAAE,EAAE;IACV,MAAM,EACF,IAAI,EAAE,EACF,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,GACjD,GACJ,GAAG,KAAK,CAAC;IAEV,MAAM,aAAa,GAAG,GAAG,EAAE;QACvB,OAAO,CACH,6BAAK,SAAS,EAAC,0DAA0D;YACrE,6BAAK,SAAS,EAAC,kBAAkB,GAAG,CAClC,CACT,CAAC;IACN,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,CAAiB,EAAE,EAAE;QAClC,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,QAAQ,EAAE,CAAC;IACf,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,EAAE,CACpB,iCAAiC,EACjC,8BAA8B,EAC9B,KAAK,IAAI,EAAE,EACX,EAAE,CACL,CAAC;IAEF,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IAElD,MAAM,mBAAmB,GAAG,IAAI,KAAK,SAAS,CAAC,gBAAgB,IAAI,IAAI,KAAK,SAAS,CAAC,UAAU,CAAC;IAEjG,uEAAuE;IACvE,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAExD,OAAO,CACH,gCACI,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,aAAa,EACxB,KAAK,EAAE,KAAK,mBACG,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QAEzD,6BAAK,SAAS,EAAC,oCAAoC;YAC/C,oBAAC,aAAa,OAAG,CACf;QACL,CAAC,IAAI,CAAC,CAAC,CAAC,CACL,aAAa,EAAE,CAClB,CAAC,CAAC,CAAC,CACA;YACK,IAAI;YACJ,cAAc,CAAC,CAAC,CAAC;;gBAAc,cAAc;oBAAS,CAAC,CAAC,CAAC,IAAI,CAC9D,CACP,CACI,CACZ,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { IUiMenuItem } from "@gooddata/sdk-ui-kit";
2
+ import { DrillSelectItem, DrillType } from "../DrillSelect/types.js";
3
+ import { DashboardDrillDefinition } from "../../../types.js";
4
+ export interface IDrillSelectDropdownMenuItemData {
5
+ interactive: {
6
+ type: DrillType;
7
+ name: string;
8
+ drillDefinition: DashboardDrillDefinition;
9
+ attributeValue?: string | null;
10
+ onSelect: () => void;
11
+ };
12
+ }
13
+ export type IMenuInteractiveItem = IUiMenuItem<IDrillSelectDropdownMenuItemData>;
14
+ export declare const useDrillSelectDropdownMenuItems: ({ drillDownItems, drillItems, crossFilteringItems, onSelect, }: {
15
+ drillDownItems: DrillSelectItem[];
16
+ drillItems: DrillSelectItem[];
17
+ crossFilteringItems: DrillSelectItem[];
18
+ onSelect: (item: DashboardDrillDefinition) => void;
19
+ }) => IMenuInteractiveItem[];
20
+ //# sourceMappingURL=useDrillSelectDropdownMenuItems.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDrillSelectDropdownMenuItems.d.ts","sourceRoot":"","sources":["../../../../src/presentation/drill/hooks/useDrillSelectDropdownMenuItems.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAErE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAQ7D,MAAM,WAAW,gCAAgC;IAC7C,WAAW,EAAE;QACT,IAAI,EAAE,SAAS,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,eAAe,EAAE,wBAAwB,CAAC;QAC1C,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/B,QAAQ,EAAE,MAAM,IAAI,CAAC;KACxB,CAAC;CACL;AAED,MAAM,MAAM,oBAAoB,GAAG,WAAW,CAAC,gCAAgC,CAAC,CAAC;AAEjF,eAAO,MAAM,+BAA+B;oBAMxB,eAAe,EAAE;gBACrB,eAAe,EAAE;yBACR,eAAe,EAAE;qBACrB,wBAAwB,KAAK,IAAI;MAClD,oBAAoB,EA4CvB,CAAC"}
@@ -0,0 +1,42 @@
1
+ // (C) 2025 GoodData Corporation
2
+ import { useMemo } from "react";
3
+ import { defineMessages, useIntl } from "react-intl";
4
+ const groupMenuItemMessages = defineMessages({
5
+ drillDown: { id: "drill_modal_picker.drill-down" },
6
+ drillInto: { id: "drill_modal_picker.drill-into" },
7
+ crossFilter: { id: "drill_modal_picker.cross-filter" },
8
+ });
9
+ export const useDrillSelectDropdownMenuItems = ({ drillDownItems, drillItems, crossFilteringItems, onSelect, }) => {
10
+ const { formatMessage } = useIntl();
11
+ return useMemo(() => {
12
+ const createMenuGroup = (items, groupId, groupTitle) => ({
13
+ type: "group",
14
+ id: groupId,
15
+ stringTitle: formatMessage({ id: groupTitle }),
16
+ data: `${groupTitle} Data`,
17
+ subItems: items.map((item, index) => ({
18
+ type: "interactive",
19
+ id: `${groupId}-${index}`,
20
+ stringTitle: item.name,
21
+ data: {
22
+ type: item.type,
23
+ name: item.name,
24
+ attributeValue: item.attributeValue,
25
+ drillDefinition: item.drillDefinition,
26
+ onSelect: () => onSelect(item.drillDefinition),
27
+ },
28
+ })),
29
+ });
30
+ const drillDownMenuItems = drillDownItems.length > 0
31
+ ? [createMenuGroup(drillDownItems, "drill-down", groupMenuItemMessages.drillDown.id)]
32
+ : [];
33
+ const drillMenuItems = drillItems.length > 0
34
+ ? [createMenuGroup(drillItems, "drill-into", groupMenuItemMessages.drillInto.id)]
35
+ : [];
36
+ const crossFilteringMenuItems = crossFilteringItems.length > 0
37
+ ? [createMenuGroup(crossFilteringItems, "cross-filter", groupMenuItemMessages.crossFilter.id)]
38
+ : [];
39
+ return [...drillDownMenuItems, ...drillMenuItems, ...crossFilteringMenuItems];
40
+ }, [drillDownItems, drillItems, crossFilteringItems, formatMessage, onSelect]);
41
+ };
42
+ //# sourceMappingURL=useDrillSelectDropdownMenuItems.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDrillSelectDropdownMenuItems.js","sourceRoot":"","sources":["../../../../src/presentation/drill/hooks/useDrillSelectDropdownMenuItems.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAIhC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGrD,MAAM,qBAAqB,GAAG,cAAc,CAAC;IACzC,SAAS,EAAE,EAAE,EAAE,EAAE,+BAA+B,EAAE;IAClD,SAAS,EAAE,EAAE,EAAE,EAAE,+BAA+B,EAAE;IAClD,WAAW,EAAE,EAAE,EAAE,EAAE,iCAAiC,EAAE;CACzD,CAAC,CAAC;AAcH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,EAC5C,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,QAAQ,GAMX,EAA0B,EAAE;IACzB,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IAEpC,OAAO,OAAO,CAAyB,GAAG,EAAE;QACxC,MAAM,eAAe,GAAG,CACpB,KAAwB,EACxB,OAAe,EACf,UAAkB,EACE,EAAE,CAAC,CAAC;YACxB,IAAI,EAAE,OAAgB;YACtB,EAAE,EAAE,OAAO;YACX,WAAW,EAAE,aAAa,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC;YAC9C,IAAI,EAAE,GAAG,UAAU,OAAO;YAC1B,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;gBAClC,IAAI,EAAE,aAAsB;gBAC5B,EAAE,EAAE,GAAG,OAAO,IAAI,KAAK,EAAE;gBACzB,WAAW,EAAE,IAAI,CAAC,IAAI;gBACtB,IAAI,EAAE;oBACF,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,cAAc,EAAE,IAAI,CAAC,cAAc;oBACnC,eAAe,EAAE,IAAI,CAAC,eAAe;oBACrC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC;iBACjD;aACJ,CAAC,CAAC;SACN,CAAC,CAAC;QAEH,MAAM,kBAAkB,GACpB,cAAc,CAAC,MAAM,GAAG,CAAC;YACrB,CAAC,CAAC,CAAC,eAAe,CAAC,cAAc,EAAE,YAAY,EAAE,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACrF,CAAC,CAAC,EAAE,CAAC;QAEb,MAAM,cAAc,GAChB,UAAU,CAAC,MAAM,GAAG,CAAC;YACjB,CAAC,CAAC,CAAC,eAAe,CAAC,UAAU,EAAE,YAAY,EAAE,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACjF,CAAC,CAAC,EAAE,CAAC;QAEb,MAAM,uBAAuB,GACzB,mBAAmB,CAAC,MAAM,GAAG,CAAC;YAC1B,CAAC,CAAC,CAAC,eAAe,CAAC,mBAAmB,EAAE,cAAc,EAAE,qBAAqB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAC9F,CAAC,CAAC,EAAE,CAAC;QAEb,OAAO,CAAC,GAAG,kBAAkB,EAAE,GAAG,cAAc,EAAE,GAAG,uBAAuB,CAAC,CAAC;IAClF,CAAC,EAAE,CAAC,cAAc,EAAE,UAAU,EAAE,mBAAmB,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;AACnF,CAAC,CAAC"}
@@ -468,6 +468,11 @@
468
468
  "comment": "",
469
469
  "limit": 0
470
470
  },
471
+ "drill_modal_picker.label": {
472
+ "value": "Choose drill action",
473
+ "comment": "",
474
+ "limit": 0
475
+ },
471
476
  "drillModal.backToTop": {
472
477
  "value": "Back to top",
473
478
  "comment": "",
@@ -468,6 +468,11 @@ export declare const en_US: {
468
468
  comment: string;
469
469
  limit: number;
470
470
  };
471
+ "drill_modal_picker.label": {
472
+ value: string;
473
+ comment: string;
474
+ limit: number;
475
+ };
471
476
  "drillModal.backToTop": {
472
477
  value: string;
473
478
  comment: string;
@@ -1 +1 @@
1
- {"version":3,"file":"en-US.localization-bundle.d.ts","sourceRoot":"","sources":["../../../../src/presentation/localization/bundles/en-US.localization-bundle.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmuGjB,CAAC"}
1
+ {"version":3,"file":"en-US.localization-bundle.d.ts","sourceRoot":"","sources":["../../../../src/presentation/localization/bundles/en-US.localization-bundle.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwuGjB,CAAC"}
@@ -470,6 +470,11 @@ export const en_US = {
470
470
  "comment": "",
471
471
  "limit": 0
472
472
  },
473
+ "drill_modal_picker.label": {
474
+ "value": "Choose drill action",
475
+ "comment": "",
476
+ "limit": 0
477
+ },
473
478
  "drillModal.backToTop": {
474
479
  "value": "Back to top",
475
480
  "comment": "",