@gooddata/sdk-ui-ext 11.47.0 → 11.48.0-alpha.1

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 (40) hide show
  1. package/NOTICE +1 -1
  2. package/esm/internal/components/configurationControls/CheckboxControl.d.ts.map +1 -1
  3. package/esm/internal/components/configurationControls/CheckboxControl.js +1 -1
  4. package/esm/internal/components/configurationControls/ContinuousLineControl.d.ts.map +1 -1
  5. package/esm/internal/components/configurationControls/ContinuousLineControl.js +1 -1
  6. package/esm/internal/components/configurationControls/DistintcPointShapesControl.d.ts.map +1 -1
  7. package/esm/internal/components/configurationControls/DistintcPointShapesControl.js +1 -1
  8. package/esm/internal/components/configurationControls/colors/ColorsSection.d.ts.map +1 -1
  9. package/esm/internal/components/configurationControls/colors/ColorsSection.js +9 -25
  10. package/esm/internal/components/configurationControls/colors/colorDropdown/ColorDropdown.d.ts +2 -0
  11. package/esm/internal/components/configurationControls/colors/colorDropdown/ColorDropdown.d.ts.map +1 -1
  12. package/esm/internal/components/configurationControls/colors/colorDropdown/ColorDropdown.js +12 -2
  13. package/esm/internal/components/configurationControls/colors/colorDropdown/ResetColorButton.d.ts +5 -0
  14. package/esm/internal/components/configurationControls/colors/colorDropdown/ResetColorButton.d.ts.map +1 -0
  15. package/esm/internal/components/configurationControls/colors/colorDropdown/ResetColorButton.js +11 -0
  16. package/esm/internal/components/configurationControls/colors/coloredItemsList/ColoredItem.d.ts +1 -0
  17. package/esm/internal/components/configurationControls/colors/coloredItemsList/ColoredItem.d.ts.map +1 -1
  18. package/esm/internal/components/configurationControls/colors/coloredItemsList/ColoredItem.js +2 -2
  19. package/esm/internal/components/configurationControls/colors/coloredItemsList/ColoredItemsList.d.ts +1 -0
  20. package/esm/internal/components/configurationControls/colors/coloredItemsList/ColoredItemsList.d.ts.map +1 -1
  21. package/esm/internal/components/configurationControls/colors/coloredItemsList/ColoredItemsList.js +4 -3
  22. package/esm/internal/components/configurationControls/colors/coloredItemsList/LineStyleColoredItem.d.ts +1 -0
  23. package/esm/internal/components/configurationControls/colors/coloredItemsList/LineStyleColoredItem.d.ts.map +1 -1
  24. package/esm/internal/components/configurationControls/colors/coloredItemsList/LineStyleColoredItem.js +2 -2
  25. package/esm/internal/components/configurationControls/colors/coloredItemsList/LineStyleDialog.d.ts +1 -0
  26. package/esm/internal/components/configurationControls/colors/coloredItemsList/LineStyleDialog.d.ts.map +1 -1
  27. package/esm/internal/components/configurationControls/colors/coloredItemsList/LineStyleDialog.js +2 -2
  28. package/esm/internal/interfaces/Colors.d.ts +1 -0
  29. package/esm/internal/interfaces/Colors.d.ts.map +1 -1
  30. package/esm/internal/translations/en-US.localization-bundle.d.ts +4 -4
  31. package/esm/internal/translations/en-US.localization-bundle.js +4 -4
  32. package/esm/internal/utils/colors.d.ts +4 -2
  33. package/esm/internal/utils/colors.d.ts.map +1 -1
  34. package/esm/internal/utils/colors.js +37 -17
  35. package/esm/locales.d.ts +1 -1
  36. package/esm/locales.js +1 -1
  37. package/package.json +21 -21
  38. package/styles/internal/css/config_panel.css +9 -3
  39. package/styles/internal/css/config_panel.css.map +1 -1
  40. package/styles/internal/scss/config_panel.scss +12 -0
package/NOTICE CHANGED
@@ -9,7 +9,7 @@ The following 3rd-party software packages may be used by or distributed with goo
9
9
 
10
10
  Date generated: 2026-7-16
11
11
 
12
- Revision ID: a9c1bae6689fa76eb7a3de0ef1c0e7153ce0579c
12
+ Revision ID: 673cff1911eb24f1e212d2c51b5463b98c9b6c96
13
13
 
14
14
  ================================================================================
15
15
  ================================================================================
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxControl.d.ts","sourceRoot":"","sources":["../../../../src/internal/components/configurationControls/CheckboxControl.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAoB,KAAK,SAAS,EAAe,MAAM,OAAO,CAAC;AAKtE,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAIlF,MAAM,WAAW,qBAAqB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,eAAe,CAAC,EAC5B,OAAe,EACf,QAAgB,EAChB,mBAA2B,EAC3B,SAAS,EACT,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,UAAU,EACV,QAAQ,EACR,eAAuB,EACvB,YAAY,EACf,EAAE,qBAAqB,2CAkCvB"}
1
+ {"version":3,"file":"CheckboxControl.d.ts","sourceRoot":"","sources":["../../../../src/internal/components/configurationControls/CheckboxControl.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAoB,KAAK,SAAS,EAAe,MAAM,OAAO,CAAC;AAKtE,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAIlF,MAAM,WAAW,qBAAqB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,eAAe,CAAC,EAC5B,OAAe,EACf,QAAgB,EAChB,mBAA2B,EAC3B,SAAS,EACT,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,UAAU,EACV,QAAQ,EACR,eAAuB,EACvB,YAAY,EACf,EAAE,qBAAqB,2CAiCvB"}
@@ -18,5 +18,5 @@ export function CheckboxControl({ checked = false, disabled = false, showDisable
18
18
  pushData?.({ properties: clonedProperties });
19
19
  }, [properties, isValueInverted, pushData, valuePath, defaultValue]);
20
20
  return (_jsx(DisabledBubbleMessage, { showDisabledMessage: showDisabledMessage, messageId: disabledMessageId, children: _jsxs("label", { className: "input-checkbox-label", children: [
21
- _jsx("input", { "aria-label": valuePath, checked: checked, disabled: disabled, type: "checkbox", className: "input-checkbox", onChange: onValueChanged }), labelText ? (_jsx("span", { className: "input-label-text", children: getTranslation(labelText, intl) })) : null, labelContent ? _jsx("span", { className: "input-label-text", children: labelContent }) : null] }) }));
21
+ _jsx("input", { checked: checked, disabled: disabled, type: "checkbox", className: "input-checkbox", onChange: onValueChanged }), labelText ? (_jsx("span", { className: "input-label-text", children: getTranslation(labelText, intl) })) : null, labelContent ? _jsx("span", { className: "input-label-text", children: labelContent }) : null] }) }));
22
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ContinuousLineControl.d.ts","sourceRoot":"","sources":["../../../../src/internal/components/configurationControls/ContinuousLineControl.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAGlF,MAAM,WAAW,2BAA2B;IACxC,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC;CAC9B;AAED,wBAAgB,qBAAqB,CAAC,EAClC,UAAU,EACV,SAAoC,EACpC,OAAe,EACf,QAAgB,EAChB,QAAQ,EACX,EAAE,2BAA2B,2CAoC7B"}
1
+ {"version":3,"file":"ContinuousLineControl.d.ts","sourceRoot":"","sources":["../../../../src/internal/components/configurationControls/ContinuousLineControl.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAGlF,MAAM,WAAW,2BAA2B;IACxC,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC;CAC9B;AAED,wBAAgB,qBAAqB,CAAC,EAClC,UAAU,EACV,SAAoC,EACpC,OAAe,EACf,QAAgB,EAChB,QAAQ,EACX,EAAE,2BAA2B,2CAmC7B"}
@@ -13,6 +13,6 @@ export function ContinuousLineControl({ properties, valuePath = "continuousLine.
13
13
  };
14
14
  return (_jsxs(BubbleHoverTrigger, { showDelay: 0, hideDelay: 0, children: [
15
15
  _jsxs("label", { className: "input-checkbox-label", children: [
16
- _jsx("input", { "aria-label": valuePath, checked: checked, disabled: disabled, type: "checkbox", className: "input-checkbox s-continuous-line", onChange: onValueChanged }), _jsx("span", { className: "input-label-text", children: getTranslation(messages["canvasContinuousLineLabel"].id, intl) })
16
+ _jsx("input", { checked: checked, disabled: disabled, type: "checkbox", className: "input-checkbox s-continuous-line", onChange: onValueChanged }), _jsx("span", { className: "input-label-text", children: getTranslation(messages["canvasContinuousLineLabel"].id, intl) })
17
17
  ] }), !disabled && (_jsx(Bubble, { className: "bubble-primary continuous-line-tooltip", alignPoints: [{ align: "cr cl" }], arrowOffsets: { "cr cl": [-75, 0] }, children: getTranslation(messages["canvasContinuousLineTooltip"].id, intl) }))] }));
18
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DistintcPointShapesControl.d.ts","sourceRoot":"","sources":["../../../../src/internal/components/configurationControls/DistintcPointShapesControl.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAGlF,MAAM,WAAW,gCAAgC;IAC7C,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC;CAC9B;AAED,wBAAgB,0BAA0B,CAAC,EACvC,UAAU,EACV,SAAyC,EACzC,OAAe,EACf,QAAgB,EAChB,QAAQ,EACX,EAAE,gCAAgC,2CAoClC"}
1
+ {"version":3,"file":"DistintcPointShapesControl.d.ts","sourceRoot":"","sources":["../../../../src/internal/components/configurationControls/DistintcPointShapesControl.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAGlF,MAAM,WAAW,gCAAgC;IAC7C,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC;CAC9B;AAED,wBAAgB,0BAA0B,CAAC,EACvC,UAAU,EACV,SAAyC,EACzC,OAAe,EACf,QAAgB,EAChB,QAAQ,EACX,EAAE,gCAAgC,2CAmClC"}
@@ -13,6 +13,6 @@ export function DistinctPointShapesControl({ properties, valuePath = "distinctPo
13
13
  };
14
14
  return (_jsxs(BubbleHoverTrigger, { showDelay: 0, hideDelay: 0, children: [
15
15
  _jsxs("label", { className: "input-checkbox-label", children: [
16
- _jsx("input", { "aria-label": valuePath, checked: checked, disabled: disabled, type: "checkbox", className: "input-checkbox s-distinct-points-shapes", onChange: onValueChanged }), _jsx("span", { className: "input-label-text", children: getTranslation(messages["canvasDistinctPointShapesLabel"].id, intl) })
16
+ _jsx("input", { checked: checked, disabled: disabled, type: "checkbox", className: "input-checkbox s-distinct-points-shapes", onChange: onValueChanged }), _jsx("span", { className: "input-label-text", children: getTranslation(messages["canvasDistinctPointShapesLabel"].id, intl) })
17
17
  ] }), disabled ? (_jsx(Bubble, { className: "bubble-primary continuous-line-tooltip", alignPoints: [{ align: "cr cl" }], arrowOffsets: { "cr cl": [-75, 0] }, children: getTranslation(messages["canvasDistinctPointShapesTooltip"].id, intl) })) : null] }));
18
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ColorsSection.d.ts","sourceRoot":"","sources":["../../../../../src/internal/components/configurationControls/colors/ColorsSection.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAYvC,OAAO,EAAE,KAAK,mBAAmB,EAAqB,MAAM,+BAA+B,CAAC;AAC5F,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAQvG,MAAM,WAAW,mBAAmB;IAChC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,cAAc,CAAC,EAAE,GAAG,CAAC;IACrB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;IACpC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,8EAA8E;IAC9E,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,eAAO,MAAM,qBAAqB,0BAA0B,CAAC;AAE7D,wBAAgB,aAAa,CAAC,EAC1B,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,QAAQ,EACR,WAAW,EACX,MAAM,EACN,SAAS,EACT,iBAAiB,EACjB,wBAA6B,EAC7B,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EACrB,EAAE,mBAAmB,2CAyKrB"}
1
+ {"version":3,"file":"ColorsSection.d.ts","sourceRoot":"","sources":["../../../../../src/internal/components/configurationControls/colors/ColorsSection.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AASvC,OAAO,EAAE,KAAK,mBAAmB,EAAqB,MAAM,+BAA+B,CAAC;AAC5F,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAcvG,MAAM,WAAW,mBAAmB;IAChC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,cAAc,CAAC,EAAE,GAAG,CAAC;IACrB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;IACpC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,8EAA8E;IAC9E,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,eAAO,MAAM,qBAAqB,0BAA0B,CAAC;AAE7D,wBAAgB,aAAa,CAAC,EAC1B,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,QAAQ,EACR,WAAW,EACX,MAAM,EACN,SAAS,EACT,iBAAiB,EACjB,wBAA6B,EAC7B,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EACrB,EAAE,mBAAmB,2CA8IrB"}
@@ -1,12 +1,9 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import cx from "classnames";
3
- import { cloneDeep, set } from "lodash-es";
4
2
  import { useIntl } from "react-intl";
5
3
  import { isMeasureDescriptor } from "@gooddata/sdk-model";
6
- import { Button } from "@gooddata/sdk-ui-kit";
7
4
  import { messages } from "../../../../locales.js";
8
5
  import { fillDropdownItems } from "../../../constants/dropdowns.js";
9
- import { getColoredInputItems, getLineStyleProperties, getProperties } from "../../../utils/colors.js";
6
+ import { getColoredInputItems, getLineStyleProperties, getMappingHeaderId, getProperties, removeColorMappingFromProperties, } from "../../../utils/colors.js";
10
7
  import { getTranslatedDropdownItems, getTranslation } from "../../../utils/translations.js";
11
8
  import { ConfigSection } from "../../configurationControls/ConfigSection.js";
12
9
  import { DropdownControl } from "../DropdownControl.js";
@@ -40,28 +37,15 @@ export function ColorsSection({ controlsDisabled, properties, propertiesMeta, pu
40
37
  const isColoredListVisible = () => {
41
38
  return isLoading || (!controlsDisabled && colors?.colorPalette && hasMeasures);
42
39
  };
43
- const isDefaultColorMapping = () => {
44
- const colorMapping = properties?.controls?.["colorMapping"] ?? [];
45
- const lineStyleMapping = supportsLineStyles ? (properties?.controls?.["lineStyleMapping"] ?? []) : [];
46
- return ((!colorMapping || colorMapping.length === 0) &&
47
- (!lineStyleMapping || lineStyleMapping.length === 0));
48
- };
49
- const onResetColors = () => {
50
- if (isDefaultColorMapping()) {
40
+ const onResetItem = (item) => {
41
+ const id = item.mappingHeader ? getMappingHeaderId(item.mappingHeader) : undefined;
42
+ if (id === undefined) {
51
43
  return;
52
44
  }
53
- let updatedProperties = set(cloneDeep(properties), "controls.colorMapping", undefined);
54
- if (supportsLineStyles) {
55
- updatedProperties = set(updatedProperties, "controls.lineStyleMapping", undefined);
56
- }
57
- pushData?.({ messageId: COLOR_MAPPING_CHANGED, properties: updatedProperties, references: {} });
58
- };
59
- const renderResetButton = () => {
60
- const isDisabled = controlsDisabled || isDefaultColorMapping();
61
- const classes = cx("gd-color-reset-colors-section", {
62
- disabled: isDisabled,
45
+ pushData?.({
46
+ messageId: COLOR_MAPPING_CHANGED,
47
+ properties: removeColorMappingFromProperties(properties, id),
63
48
  });
64
- return (_jsx("div", { className: classes, children: _jsx(Button, { value: getTranslation(supportsLineStyles ? messages["resetColorsAndStyles"].id : messages["resetColors"].id, intl), className: "gd-button-link s-reset-colors-button", onClick: onResetColors, disabled: isDisabled }) }));
65
49
  };
66
50
  const renderFillDropdown = () => {
67
51
  if (!supportsChartFill) {
@@ -80,11 +64,11 @@ export function ColorsSection({ controlsDisabled, properties, propertiesMeta, pu
80
64
  const lineStyleMapping = supportsLineStyles
81
65
  ? (properties?.controls?.["lineStyleMapping"] ?? [])
82
66
  : undefined;
83
- const inputItems = getColoredInputItems(colors, lineStyleMapping);
67
+ const inputItems = getColoredInputItems(colors, lineStyleMapping, properties?.controls?.["colorMapping"]);
84
68
  const colorPalette = colors?.colorPalette ? colors.colorPalette : [];
85
69
  const chartFill = isChartFillDisabled ? undefined : properties?.controls?.["chartFill"];
86
70
  return (_jsxs(_Fragment, { children: [
87
- _jsx(ColoredItemsList, { colorPalette: colorPalette, inputItems: inputItems, onSelect: onSelect, disabled: controlsDisabled, isLoading: isLoading, chartFill: chartFill, chartFillIgnoredMeasures: chartFillIgnoredMeasures, supportsLineStyles: supportsLineStyles, onLineStyleChange: supportsLineStyles ? onLineStyleChange : undefined, onLineWidthChange: supportsLineStyles ? onLineWidthChange : undefined }), renderResetButton(), additionalControls, renderFillDropdown()] }));
71
+ _jsx(ColoredItemsList, { colorPalette: colorPalette, inputItems: inputItems, onSelect: onSelect, onResetItem: onResetItem, disabled: controlsDisabled, isLoading: isLoading, chartFill: chartFill, chartFillIgnoredMeasures: chartFillIgnoredMeasures, supportsLineStyles: supportsLineStyles, onLineStyleChange: supportsLineStyles ? onLineStyleChange : undefined, onLineWidthChange: supportsLineStyles ? onLineWidthChange : undefined }), additionalControls, renderFillDropdown()] }));
88
72
  };
89
73
  const renderUnsupportedColoredList = () => {
90
74
  return (_jsx("div", { className: "gd-color-unsupported", children: getTranslation(messages["unsupportedColors"].id, intl) }));
@@ -22,6 +22,8 @@ export interface IColorDropdownOwnProps {
22
22
  onClear?: () => void;
23
23
  /** Accessibility label for the "no color" swatch (localized by the caller); required when onClear is set. */
24
24
  noneColorAriaLabel?: string;
25
+ /** When provided, the palette popup shows a "Reset" item that reverts this item's custom color. */
26
+ onReset?: () => void;
25
27
  }
26
28
  export type IColorDropdownProps = IColorDropdownOwnProps;
27
29
  export declare const ColorDropdown: import("react").NamedExoticComponent<IColorDropdownOwnProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"ColorDropdown.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/components/configurationControls/colors/colorDropdown/ColorDropdown.tsx"],"names":[],"mappings":"AAEA,OAAO,EAGH,KAAK,SAAS,EAKjB,MAAM,OAAO,CAAC;AAIf,OAAO,EACH,KAAK,MAAM,EACX,KAAK,aAAa,EAKrB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAM3F,oBAAY,YAAY;IACpB,IAAI,IAAA;IACJ,KAAK,IAAA;CACR;AAED,MAAM,WAAW,gBAAgB;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,aAAa,CAAC;IAC5B,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC;IAC5C,mGAAmG;IACnG,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,6GAA6G;IAC7G,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,MAAM,mBAAmB,GAAG,sBAAsB,CAAC;AAQzD,eAAO,MAAM,aAAa,8DAkLxB,CAAC"}
1
+ {"version":3,"file":"ColorDropdown.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/components/configurationControls/colors/colorDropdown/ColorDropdown.tsx"],"names":[],"mappings":"AAEA,OAAO,EAGH,KAAK,SAAS,EAKjB,MAAM,OAAO,CAAC;AAIf,OAAO,EACH,KAAK,MAAM,EACX,KAAK,aAAa,EAKrB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAO3F,oBAAY,YAAY;IACpB,IAAI,IAAA;IACJ,KAAK,IAAA;CACR;AAED,MAAM,WAAW,gBAAgB;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,aAAa,CAAC;IAC5B,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC;IAC5C,mGAAmG;IACnG,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,6GAA6G;IAC7G,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mGAAmG;IACnG,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,MAAM,MAAM,mBAAmB,GAAG,sBAAsB,CAAC;AAQzD,eAAO,MAAM,aAAa,8DA+LxB,CAAC"}
@@ -7,6 +7,7 @@ import { ColorPicker } from "@gooddata/sdk-ui-kit";
7
7
  import { ColorOverlay, DropdownVersionType } from "./ColorOverlay.js";
8
8
  import { ColorPalette } from "./ColorPalette.js";
9
9
  import { CustomColorButton } from "./CustomColorButton.js";
10
+ import { ResetColorButton } from "./ResetColorButton.js";
10
11
  export { IconPosition };
11
12
  var IconPosition;
12
13
  (function (IconPosition) {
@@ -18,7 +19,7 @@ const COLOR_FOR_UNKNOWN_ITEM = {
18
19
  g: 0,
19
20
  b: 0,
20
21
  };
21
- export const ColorDropdown = memo(function ColorDropdown({ selectedColorItem, colorPalette, onColorSelected: onColorSelectedProp, disabled, children, chartFill, patternFillIndex, onClear, noneColorAriaLabel, }) {
22
+ export const ColorDropdown = memo(function ColorDropdown({ selectedColorItem, colorPalette, onColorSelected: onColorSelectedProp, disabled, children, chartFill, patternFillIndex, onClear, noneColorAriaLabel, onReset, }) {
22
23
  const [id] = useState(() => uuidv4());
23
24
  const [isDropdownOpen, setIsDropdownOpen] = useState(false);
24
25
  const [dropdownVersion, setDropdownVersion] = useState(DropdownVersionType.ColorPalette);
@@ -69,6 +70,13 @@ export const ColorDropdown = memo(function ColorDropdown({ selectedColorItem, co
69
70
  onClear?.();
70
71
  }, 100);
71
72
  }, [onClear]);
73
+ const onResetSelected = useCallback(() => {
74
+ setIsDropdownOpen(false);
75
+ setDropdownVersion(DropdownVersionType.ColorPalette);
76
+ setTimeout(() => {
77
+ onReset?.();
78
+ }, 100);
79
+ }, [onReset]);
72
80
  const onColorPickerSubmit = useCallback((color) => {
73
81
  const item = {
74
82
  type: "rgb",
@@ -101,7 +109,7 @@ export const ColorDropdown = memo(function ColorDropdown({ selectedColorItem, co
101
109
  }, [isDropdownOpen, getIconPosition, disabled, children]);
102
110
  const renderColorPaletteContent = useCallback(() => {
103
111
  return (_jsxs("div", { className: "gd-color-drop-down", children: [
104
- _jsx(ColorPalette, { selectedColorGuid: getSelectedGuidFromColorItem(), colorPalette: colorPalette, onColorSelected: onColorSelected, chartFill: chartFill, patternFillIndex: patternFillIndex, showNoneColor: !!onClear, isNoneSelected: !selectedColorItem, onNoneSelected: onNoneSelected, noneColorAriaLabel: noneColorAriaLabel }), _jsx(CustomColorButton, { onClick: onCustomColorButtonClick })
112
+ _jsx(ColorPalette, { selectedColorGuid: getSelectedGuidFromColorItem(), colorPalette: colorPalette, onColorSelected: onColorSelected, chartFill: chartFill, patternFillIndex: patternFillIndex, showNoneColor: !!onClear, isNoneSelected: !selectedColorItem, onNoneSelected: onNoneSelected, noneColorAriaLabel: noneColorAriaLabel }), onReset ? _jsx(ResetColorButton, { onClick: onResetSelected }) : null, _jsx(CustomColorButton, { onClick: onCustomColorButtonClick })
105
113
  ] }));
106
114
  }, [
107
115
  getSelectedGuidFromColorItem,
@@ -114,6 +122,8 @@ export const ColorDropdown = memo(function ColorDropdown({ selectedColorItem, co
114
122
  selectedColorItem,
115
123
  onNoneSelected,
116
124
  noneColorAriaLabel,
125
+ onReset,
126
+ onResetSelected,
117
127
  ]);
118
128
  const renderColorPickerContent = useCallback(() => {
119
129
  return (_jsx(ColorPicker, { initialRgbColor: getSelectedColorFromPalette(), onSubmit: onColorPickerSubmit, onCancel: onColorPickerCancel }));
@@ -0,0 +1,5 @@
1
+ export interface IResetColorButtonProps {
2
+ onClick: () => void;
3
+ }
4
+ export declare const ResetColorButton: import("react").NamedExoticComponent<IResetColorButtonProps>;
5
+ //# sourceMappingURL=ResetColorButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResetColorButton.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/components/configurationControls/colors/colorDropdown/ResetColorButton.tsx"],"names":[],"mappings":"AAWA,MAAM,WAAW,sBAAsB;IACnC,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,eAAO,MAAM,gBAAgB,8DAY3B,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ // (C) 2026 GoodData Corporation
3
+ import { memo } from "react";
4
+ import { useIntl } from "react-intl";
5
+ import { Button } from "@gooddata/sdk-ui-kit";
6
+ import { messages } from "../../../../../locales.js";
7
+ import { getTranslation } from "../../../../utils/translations.js";
8
+ export const ResetColorButton = memo(function ResetColorButton({ onClick }) {
9
+ const intl = useIntl();
10
+ return (_jsx("div", { className: "gd-color-drop-down-reset-section", children: _jsx(Button, { value: getTranslation(messages["resetColor"].id, intl), className: "gd-button-link gd-color-drop-down-reset-section-button s-reset-color-button", onClick: onClick }) }));
11
+ });
@@ -7,6 +7,7 @@ export interface IColoredItemProps {
7
7
  className?: string;
8
8
  item?: IColoredItem;
9
9
  onSelect?: (source: IColoredItem, color: IColor) => void;
10
+ onReset?: () => void;
10
11
  isSelected?: boolean;
11
12
  disabled?: boolean;
12
13
  chartFill?: IChartFillConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"ColoredItem.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/components/configurationControls/colors/coloredItemsList/ColoredItem.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEtE,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAOrE,MAAM,WAAW,iBAAiB;IAC9B,YAAY,EAAE,aAAa,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC;CAC/C;AAED,eAAO,MAAM,WAAW,yDAiDtB,CAAC"}
1
+ {"version":3,"file":"ColoredItem.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/components/configurationControls/colors/coloredItemsList/ColoredItem.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEtE,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAOrE,MAAM,WAAW,iBAAiB;IAC9B,YAAY,EAAE,aAAa,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC;CAC/C;AAED,eAAO,MAAM,WAAW,yDAkDtB,CAAC"}
@@ -9,7 +9,7 @@ import { ColorDropdown } from "../colorDropdown/ColorDropdown.js";
9
9
  import { ColoredItemContent } from "./ColoredItemContent.js";
10
10
  export const ColoredItem = memo(function ColoredItem(props) {
11
11
  const intl = useIntl();
12
- const { item, colorPalette, onSelect, chartFill, patternFillIndex, disabled } = props;
12
+ const { item, colorPalette, onSelect, onReset, chartFill, patternFillIndex, disabled } = props;
13
13
  const renderLoadingItem = () => {
14
14
  return _jsx("div", { className: "gd-list-item gd-list-item-not-loaded" });
15
15
  };
@@ -31,5 +31,5 @@ export const ColoredItem = memo(function ColoredItem(props) {
31
31
  }
32
32
  const headerItem = coloredItem.mappingHeader;
33
33
  const headerText = getText(headerItem);
34
- return (_jsx(ColorDropdown, { selectedColorItem: coloredItem.colorItem, colorPalette: colorPalette, onColorSelected: onColorSelected, chartFill: chartFill, patternFillIndex: patternFillIndex, disabled: disabled, children: _jsx(ColoredItemContent, { text: headerText, color: coloredItem.color, chartFill: chartFill?.type, patternFillIndex: patternFillIndex }) }));
34
+ return (_jsx(ColorDropdown, { selectedColorItem: coloredItem.colorItem, colorPalette: colorPalette, onColorSelected: onColorSelected, onReset: onReset, chartFill: chartFill, patternFillIndex: patternFillIndex, disabled: disabled, children: _jsx(ColoredItemContent, { text: headerText, color: coloredItem.color, chartFill: chartFill?.type, patternFillIndex: patternFillIndex }) }));
35
35
  });
@@ -5,6 +5,7 @@ export interface IColoredItemsListProps {
5
5
  colorPalette: IColorPalette;
6
6
  inputItems: IColoredItem[];
7
7
  onSelect: (selectedColorItem: IColoredItem, color: IColor) => void;
8
+ onResetItem?: (item: IColoredItem) => void;
8
9
  disabled?: boolean;
9
10
  isLoading?: boolean;
10
11
  chartFill?: IChartFillConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"ColoredItemsList.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/components/configurationControls/colors/coloredItemsList/ColoredItemsList.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,aAAa,EAAuB,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGhF,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAUrE,MAAM,WAAW,sBAAsB;IACnC,YAAY,EAAE,aAAa,CAAC;IAC5B,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,QAAQ,EAAE,CAAC,iBAAiB,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,wBAAwB,EAAE,MAAM,EAAE,CAAC;IACnC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;IACvE,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;CAC9E;AASD,eAAO,MAAM,gBAAgB,8DAqG3B,CAAC"}
1
+ {"version":3,"file":"ColoredItemsList.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/components/configurationControls/colors/coloredItemsList/ColoredItemsList.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,aAAa,EAAuB,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGhF,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAUrE,MAAM,WAAW,sBAAsB;IACnC,YAAY,EAAE,aAAa,CAAC;IAC5B,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,QAAQ,EAAE,CAAC,iBAAiB,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnE,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,wBAAwB,EAAE,MAAM,EAAE,CAAC;IACnC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;IACvE,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;CAC9E;AASD,eAAO,MAAM,gBAAgB,8DAyG3B,CAAC"}
@@ -14,7 +14,7 @@ function isChartFillIgnoredMeasure(item, chartFillIgnoredMeasures) {
14
14
  chartFillIgnoredMeasures.includes(item.mappingHeader.measureHeaderItem.localIdentifier));
15
15
  }
16
16
  export const ColoredItemsList = memo(function ColoredItemsList(props) {
17
- const { colorPalette, inputItems, onSelect: onSelectProp, disabled = false, isLoading = false, chartFill, chartFillIgnoredMeasures, supportsLineStyles, onLineStyleChange, onLineWidthChange, } = props;
17
+ const { colorPalette, inputItems, onSelect: onSelectProp, onResetItem, disabled = false, isLoading = false, chartFill, chartFillIgnoredMeasures, supportsLineStyles, onLineStyleChange, onLineWidthChange, } = props;
18
18
  const [searchString, setSearchString] = useState("");
19
19
  const listRef = useRef(null);
20
20
  const onScroll = () => {
@@ -54,9 +54,10 @@ export const ColoredItemsList = memo(function ColoredItemsList(props) {
54
54
  const appliedChartFill = isChartFillIgnoredMeasure(item, chartFillIgnoredMeasures)
55
55
  ? undefined
56
56
  : chartFill;
57
+ const onReset = item.isCustomMapped && onResetItem ? () => onResetItem(item) : undefined;
57
58
  if (supportsLineStyles && isMeasureDescriptor(item.mappingHeader)) {
58
- return (_jsx(LineStyleColoredItem, { colorPalette: colorPalette, onSelect: onSelect, disabled: disabled, item: item, chartFill: appliedChartFill, patternFillIndex: itemPatternFillIndexes[rowIndex], onLineStyleChange: onLineStyleChange, onLineWidthChange: onLineWidthChange }));
59
+ return (_jsx(LineStyleColoredItem, { colorPalette: colorPalette, onSelect: onSelect, onReset: onReset, disabled: disabled, item: item, chartFill: appliedChartFill, patternFillIndex: itemPatternFillIndexes[rowIndex], onLineStyleChange: onLineStyleChange, onLineWidthChange: onLineWidthChange }));
59
60
  }
60
- return (_jsx(ColoredItem, { colorPalette: colorPalette, onSelect: onSelect, disabled: disabled, item: item, chartFill: appliedChartFill, patternFillIndex: itemPatternFillIndexes[rowIndex] }));
61
+ return (_jsx(ColoredItem, { colorPalette: colorPalette, onSelect: onSelect, onReset: onReset, disabled: disabled, item: item, chartFill: appliedChartFill, patternFillIndex: itemPatternFillIndexes[rowIndex] }));
61
62
  } }) }));
62
63
  });
@@ -6,6 +6,7 @@ export interface ILineStyleColoredItemProps {
6
6
  colorPalette: IColorPalette;
7
7
  item: IColoredItem;
8
8
  onSelect?: (source: IColoredItem, color: IColor) => void;
9
+ onReset?: () => void;
9
10
  disabled?: boolean;
10
11
  chartFill?: IChartFillConfig;
11
12
  patternFillIndex?: number | PatternFillName;
@@ -1 +1 @@
1
- {"version":3,"file":"LineStyleColoredItem.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/components/configurationControls/colors/coloredItemsList/LineStyleColoredItem.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEtE,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAOrE,MAAM,WAAW,0BAA0B;IACvC,YAAY,EAAE,aAAa,CAAC;IAC5B,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC;IAC5C,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;IACvE,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;CAC9E;AAED,eAAO,MAAM,oBAAoB,kEAgE/B,CAAC"}
1
+ {"version":3,"file":"LineStyleColoredItem.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/components/configurationControls/colors/coloredItemsList/LineStyleColoredItem.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEtE,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAOrE,MAAM,WAAW,0BAA0B;IACvC,YAAY,EAAE,aAAa,CAAC;IAC5B,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC;IAC5C,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;IACvE,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;CAC9E;AAED,eAAO,MAAM,oBAAoB,kEAkE/B,CAAC"}
@@ -10,7 +10,7 @@ import { ColoredItemContent } from "./ColoredItemContent.js";
10
10
  import { LineStyleDialog } from "./LineStyleDialog.js";
11
11
  export const LineStyleColoredItem = memo(function LineStyleColoredItem(props) {
12
12
  const intl = useIntl();
13
- const { item, colorPalette, onSelect, chartFill, patternFillIndex, disabled, onLineStyleChange, onLineWidthChange, } = props;
13
+ const { item, colorPalette, onSelect, onReset, chartFill, patternFillIndex, disabled, onLineStyleChange, onLineWidthChange, } = props;
14
14
  const anchorRef = useRef(null);
15
15
  const [dialogOpen, setDialogOpen] = useState(false);
16
16
  const headerText = getMappingHeaderFormattedName(item.mappingHeader) || `(${getTranslation("empty_value", intl)})`;
@@ -18,5 +18,5 @@ export const LineStyleColoredItem = memo(function LineStyleColoredItem(props) {
18
18
  return (_jsxs(_Fragment, { children: [
19
19
  _jsx("button", { ref: anchorRef, type: "button", className: "gd-line-style-item-trigger", "aria-haspopup": "dialog", "aria-expanded": dialogOpen, "aria-label": getTranslation(messages.lineStyleTriggerAriaLabel.id, intl, {
20
20
  name: headerText,
21
- }), onClick: () => setDialogOpen((v) => !v), disabled: disabled, children: _jsx(ColoredItemContent, { text: headerText, color: item.color, chartFill: chartFill?.type, patternFillIndex: patternFillIndex, isSelected: dialogOpen, position: IconPosition.Down }) }), dialogOpen ? (_jsx(LineStyleDialog, { alignTo: anchorRef.current, ignoreClicksOn: anchorRef.current ? [anchorRef.current] : undefined, color: item.color, colorItem: item.colorItem, colorPalette: colorPalette, lineStyle: item.lineStyle, lineWidth: item.lineWidth, disabled: disabled, chartFill: chartFill, patternFillIndex: patternFillIndex, onColorSelected: onColorSelected, onLineStyleChange: (lineStyle) => onLineStyleChange?.(item, lineStyle), onLineWidthChange: (lineWidth) => onLineWidthChange?.(item, lineWidth), onClose: () => setDialogOpen(false) })) : null] }));
21
+ }), onClick: () => setDialogOpen((v) => !v), disabled: disabled, children: _jsx(ColoredItemContent, { text: headerText, color: item.color, chartFill: chartFill?.type, patternFillIndex: patternFillIndex, isSelected: dialogOpen, position: IconPosition.Down }) }), dialogOpen ? (_jsx(LineStyleDialog, { alignTo: anchorRef.current, ignoreClicksOn: anchorRef.current ? [anchorRef.current] : undefined, color: item.color, colorItem: item.colorItem, colorPalette: colorPalette, lineStyle: item.lineStyle, lineWidth: item.lineWidth, disabled: disabled, chartFill: chartFill, patternFillIndex: patternFillIndex, onColorSelected: onColorSelected, onReset: onReset, onLineStyleChange: (lineStyle) => onLineStyleChange?.(item, lineStyle), onLineWidthChange: (lineWidth) => onLineWidthChange?.(item, lineWidth), onClose: () => setDialogOpen(false) })) : null] }));
22
22
  });
@@ -13,6 +13,7 @@ export interface ILineStyleDialogProps {
13
13
  chartFill?: IChartFillConfig;
14
14
  patternFillIndex?: number | PatternFillName;
15
15
  onColorSelected: (color: IColor) => void;
16
+ onReset?: () => void;
16
17
  onLineStyleChange: (lineStyle: LineStyle) => void;
17
18
  onLineWidthChange: (lineWidth: 1 | 2 | 3 | 4) => void;
18
19
  onClose: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"LineStyleDialog.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/components/configurationControls/colors/coloredItemsList/LineStyleDialog.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,yBAAyB,CAAC;AASzD,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAsD3F,MAAM,WAAW,qBAAqB;IAClC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,cAAc,CAAC,EAAE,WAAW,EAAE,CAAC;IAC/B,KAAK,EAAE,cAAc,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,aAAa,CAAC;IAC5B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC;IAC5C,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,iBAAiB,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;IAClD,iBAAiB,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;IACtD,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,eAAO,MAAM,eAAe,6DA8J1B,CAAC"}
1
+ {"version":3,"file":"LineStyleDialog.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/components/configurationControls/colors/coloredItemsList/LineStyleDialog.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,yBAAyB,CAAC;AASzD,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAsD3F,MAAM,WAAW,qBAAqB;IAClC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,cAAc,CAAC,EAAE,WAAW,EAAE,CAAC;IAC/B,KAAK,EAAE,cAAc,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,aAAa,CAAC;IAC5B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC;IAC5C,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,iBAAiB,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;IAClD,iBAAiB,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;IACtD,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,eAAO,MAAM,eAAe,6DAgK1B,CAAC"}
@@ -26,7 +26,7 @@ function StrokeStyleIcon({ style, size = 20 }) {
26
26
  function StrokeWeightIcon({ weight, size = 14 }) {
27
27
  return (_jsx("svg", { width: size, height: size, viewBox: "0 0 14 14", "aria-hidden": "true", children: _jsx("line", { x1: "1", y1: "7", x2: "13", y2: "7", stroke: "currentColor", strokeWidth: weight, strokeLinecap: "round" }) }));
28
28
  }
29
- export const LineStyleDialog = memo(function LineStyleDialog({ alignTo, ignoreClicksOn, color, colorItem, colorPalette, lineStyle = "solid", lineWidth = 3, disabled, chartFill, patternFillIndex, onColorSelected, onLineStyleChange, onLineWidthChange, onClose, }) {
29
+ export const LineStyleDialog = memo(function LineStyleDialog({ alignTo, ignoreClicksOn, color, colorItem, colorPalette, lineStyle = "solid", lineWidth = 3, disabled, chartFill, patternFillIndex, onColorSelected, onReset, onLineStyleChange, onLineWidthChange, onClose, }) {
30
30
  const intl = useIntl();
31
31
  const theme = useTheme();
32
32
  if (!alignTo) {
@@ -46,7 +46,7 @@ export const LineStyleDialog = memo(function LineStyleDialog({ alignTo, ignoreCl
46
46
  { id: 4, title: intl.formatMessage({ id: messages.lineWidth4.id }) },
47
47
  ];
48
48
  return (_jsx(Overlay, { alignTo: alignTo, alignPoints: TOOLBAR_ALIGN_POINTS, closeOnParentScroll: true, closeOnOutsideClick: true, ignoreClicksOn: ignoreClicksOn, onClose: onClose, children: _jsxs("div", { className: cx("gd-line-style-toolbar", { "is-disabled": disabled }), children: [
49
- _jsx(ColorDropdown, { selectedColorItem: colorItem, colorPalette: colorPalette, onColorSelected: onColorSelected, disabled: disabled, chartFill: chartFill, patternFillIndex: patternFillIndex, children: _jsxs("div", { className: cx("gd-line-style-toolbar__btn", `s-color-${r}-${g}-${b}`, {
49
+ _jsx(ColorDropdown, { selectedColorItem: colorItem, colorPalette: colorPalette, onColorSelected: onColorSelected, onReset: onReset, disabled: disabled, chartFill: chartFill, patternFillIndex: patternFillIndex, children: _jsxs("div", { className: cx("gd-line-style-toolbar__btn", `s-color-${r}-${g}-${b}`, {
50
50
  "is-disabled": disabled,
51
51
  }), "aria-label": intl.formatMessage({ id: messages.colors.id }), children: [
52
52
  _jsx("div", { className: "gd-line-style-toolbar__color-swatch", style: colorSwatchStyle, children: _jsx(OptionalPatternFill, { chartFill: chartFill?.type ?? "solid", patternFillIndex: patternFillIndex ?? 0 }) }), _jsx("i", { className: "gd-icon-navigatedown", "aria-hidden": "true" })
@@ -7,6 +7,7 @@ export interface IColoredItem {
7
7
  mappingHeader?: IMappingHeader;
8
8
  lineStyle?: LineStyle;
9
9
  lineWidth?: 1 | 2 | 3 | 4;
10
+ isCustomMapped?: boolean;
10
11
  }
11
12
  export interface IColorConfiguration {
12
13
  colorAssignments: IColorAssignment[];
@@ -1 +1 @@
1
- {"version":3,"file":"Colors.d.ts","sourceRoot":"","sources":["../../../src/internal/interfaces/Colors.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,MAAM,WAAW,YAAY;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,cAAc,CAAC;IACtB,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB;IAChC,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IACrC,YAAY,EAAE,iBAAiB,EAAE,CAAC;CACrC"}
1
+ {"version":3,"file":"Colors.d.ts","sourceRoot":"","sources":["../../../src/internal/interfaces/Colors.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,MAAM,WAAW,YAAY;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,cAAc,CAAC;IACtB,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAChC,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IACrC,YAAY,EAAE,iBAAiB,EAAE,CAAC;CACrC"}
@@ -1115,19 +1115,19 @@ export declare const en_US: {
1115
1115
  text: string;
1116
1116
  crowdinContext: string;
1117
1117
  };
1118
- "properties.colors": {
1118
+ "properties.colors.reset-color": {
1119
1119
  text: string;
1120
1120
  crowdinContext: string;
1121
1121
  };
1122
- "properties.colorsAndFills": {
1122
+ "properties.colors": {
1123
1123
  text: string;
1124
1124
  crowdinContext: string;
1125
1125
  };
1126
- "properties.colorsAndStyles": {
1126
+ "properties.colorsAndFills": {
1127
1127
  text: string;
1128
1128
  crowdinContext: string;
1129
1129
  };
1130
- "properties.colors.reset-colors-and-styles": {
1130
+ "properties.colorsAndStyles": {
1131
1131
  text: string;
1132
1132
  crowdinContext: string;
1133
1133
  };
@@ -1117,6 +1117,10 @@ export const en_US = {
1117
1117
  "text": "Reset Colors",
1118
1118
  "crowdinContext": "Button to reset colors to default values"
1119
1119
  },
1120
+ "properties.colors.reset-color": {
1121
+ "text": "Reset",
1122
+ "crowdinContext": "Menu item in the color picker that reverts one item's custom color to its default"
1123
+ },
1120
1124
  "properties.colors": {
1121
1125
  "text": "Colors",
1122
1126
  "crowdinContext": "Label for colors configuration section"
@@ -1129,10 +1133,6 @@ export const en_US = {
1129
1133
  "text": "Colors and styles",
1130
1134
  "crowdinContext": "Label for colors and line styles configuration section on line charts"
1131
1135
  },
1132
- "properties.colors.reset-colors-and-styles": {
1133
- "text": "Reset Colors and styles",
1134
- "crowdinContext": "Button to reset colors and line styles to default values on line charts"
1135
- },
1136
1136
  "properties.lineStyle.label": {
1137
1137
  "text": "Line style",
1138
1138
  "crowdinContext": "Accessible label for the line style dropdown in the series configuration toolbar"
@@ -1,11 +1,13 @@
1
- import { type IColor } from "@gooddata/sdk-model";
1
+ import { type IColor, type IColorMappingItem } from "@gooddata/sdk-model";
2
2
  import { type IColorAssignment, type IMappingHeader } from "@gooddata/sdk-ui";
3
3
  import { type ILineStyleMappingItem } from "@gooddata/sdk-ui-charts";
4
4
  import { type IColorConfiguration, type IColoredItem } from "../interfaces/Colors.js";
5
5
  import { type IVisualizationProperties } from "../interfaces/Visualization.js";
6
6
  export declare function getSearchedItems(inputItems: IColoredItem[], searchString: string): IColoredItem[];
7
- export declare function getColoredInputItems(colors: IColorConfiguration | undefined, lineStyleMapping?: ILineStyleMappingItem[]): IColoredItem[];
7
+ export declare function getMappingHeaderId(item: IMappingHeader): string | undefined;
8
+ export declare function getColoredInputItems(colors: IColorConfiguration | undefined, lineStyleMapping?: ILineStyleMappingItem[], colorMapping?: IColorMappingItem[]): IColoredItem[];
8
9
  export declare function getProperties(properties: IVisualizationProperties, item: IMappingHeader, color: IColor): IVisualizationProperties;
10
+ export declare function removeColorMappingFromProperties(properties: IVisualizationProperties, id: string): IVisualizationProperties;
9
11
  export declare function getLineStyleProperties(properties: IVisualizationProperties, id: string, lineStyle: ILineStyleMappingItem["lineStyle"], lineWidth: ILineStyleMappingItem["lineWidth"]): IVisualizationProperties;
10
12
  export declare function getValidProperties(properties: IVisualizationProperties, colorAssignments: IColorAssignment[] | undefined): IVisualizationProperties;
11
13
  //# sourceMappingURL=colors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../../src/internal/utils/colors.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,KAAK,MAAM,EAUd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAwB,MAAM,kBAAkB,CAAC;AACpG,OAAO,EAAc,KAAK,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEjF,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACtF,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAM/E,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,YAAY,EAAE,EAAE,YAAY,EAAE,MAAM,GAAG,YAAY,EAAE,CAQjG;AAED,wBAAgB,oBAAoB,CAChC,MAAM,EAAE,mBAAmB,GAAG,SAAS,EACvC,gBAAgB,CAAC,EAAE,qBAAqB,EAAE,GAC3C,YAAY,EAAE,CAsChB;AAuBD,wBAAgB,aAAa,CACzB,UAAU,EAAE,wBAAwB,EACpC,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,MAAM,GACd,wBAAwB,CAgB1B;AAED,wBAAgB,sBAAsB,CAClC,UAAU,EAAE,wBAAwB,EACpC,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,qBAAqB,CAAC,WAAW,CAAC,EAC7C,SAAS,EAAE,qBAAqB,CAAC,WAAW,CAAC,GAC9C,wBAAwB,CAO1B;AAED,wBAAgB,kBAAkB,CAC9B,UAAU,EAAE,wBAAwB,EACpC,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,SAAS,GACjD,wBAAwB,CAgE1B"}
1
+ {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../../src/internal/utils/colors.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,KAAK,MAAM,EACX,KAAK,iBAAiB,EASzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAwB,MAAM,kBAAkB,CAAC;AACpG,OAAO,EAAc,KAAK,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEjF,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACtF,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAM/E,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,YAAY,EAAE,EAAE,YAAY,EAAE,MAAM,GAAG,YAAY,EAAE,CAQjG;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAa3E;AAED,wBAAgB,oBAAoB,CAChC,MAAM,EAAE,mBAAmB,GAAG,SAAS,EACvC,gBAAgB,CAAC,EAAE,qBAAqB,EAAE,EAC1C,YAAY,CAAC,EAAE,iBAAiB,EAAE,GACnC,YAAY,EAAE,CA4ChB;AAuBD,wBAAgB,aAAa,CACzB,UAAU,EAAE,wBAAwB,EACpC,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,MAAM,GACd,wBAAwB,CAM1B;AAED,wBAAgB,gCAAgC,CAC5C,UAAU,EAAE,wBAAwB,EACpC,EAAE,EAAE,MAAM,GACX,wBAAwB,CAU1B;AAED,wBAAgB,sBAAsB,CAClC,UAAU,EAAE,wBAAwB,EACpC,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,qBAAqB,CAAC,WAAW,CAAC,EAC7C,SAAS,EAAE,qBAAqB,CAAC,WAAW,CAAC,GAC9C,wBAAwB,CAO1B;AAED,wBAAgB,kBAAkB,CAC9B,UAAU,EAAE,wBAAwB,EACpC,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,SAAS,GACjD,wBAAwB,CAmE1B"}
@@ -15,16 +15,35 @@ export function getSearchedItems(inputItems, searchString) {
15
15
  return name.toLowerCase().includes(searchString.toLowerCase());
16
16
  });
17
17
  }
18
- export function getColoredInputItems(colors, lineStyleMapping) {
18
+ export function getMappingHeaderId(item) {
19
+ if (isMeasureDescriptor(item)) {
20
+ return getMeasureMappingIdentifier(item);
21
+ }
22
+ else if (isResultAttributeHeader(item)) {
23
+ return item.attributeHeaderItem.uri;
24
+ }
25
+ else if (isAttributeDescriptor(item)) {
26
+ return isUriRef(item.attributeHeader.ref)
27
+ ? item.attributeHeader.uri
28
+ : item.attributeHeader.identifier;
29
+ }
30
+ else if (isColorDescriptor(item)) {
31
+ return item.colorHeaderItem.id;
32
+ }
33
+ return undefined;
34
+ }
35
+ export function getColoredInputItems(colors, lineStyleMapping, colorMapping) {
19
36
  let inputItems = [];
20
37
  if (colors?.colorAssignments) {
21
38
  inputItems = colors.colorAssignments.map((assignmentItem, index) => {
22
39
  let base;
40
+ const isCustomMapped = colorMapping?.some((entry) => entry.color && entry.id === getMappingHeaderId(assignmentItem.headerItem));
23
41
  if (isColorFromPalette(assignmentItem.color)) {
24
42
  base = {
25
43
  colorItem: assignmentItem.color,
26
44
  mappingHeader: assignmentItem.headerItem,
27
45
  color: ColorUtils.getColorByGuid(colors.colorPalette, assignmentItem.color.value, index),
46
+ isCustomMapped,
28
47
  };
29
48
  }
30
49
  else if (isRgbColor(assignmentItem.color)) {
@@ -32,6 +51,7 @@ export function getColoredInputItems(colors, lineStyleMapping) {
32
51
  colorItem: assignmentItem.color,
33
52
  mappingHeader: assignmentItem.headerItem,
34
53
  color: assignmentItem.color.value,
54
+ isCustomMapped,
35
55
  };
36
56
  }
37
57
  if (base && lineStyleMapping && isMeasureDescriptor(assignmentItem.headerItem)) {
@@ -67,23 +87,20 @@ function mergeColorMappingToProperties(properties, id, color) {
67
87
  return newProperties;
68
88
  }
69
89
  export function getProperties(properties, item, color) {
70
- if (isMeasureDescriptor(item)) {
71
- const id = getMeasureMappingIdentifier(item);
72
- return mergeColorMappingToProperties(properties, id, color);
73
- }
74
- else if (isResultAttributeHeader(item)) {
75
- return mergeColorMappingToProperties(properties, item.attributeHeaderItem.uri, color);
76
- }
77
- else if (isAttributeDescriptor(item)) {
78
- const id = isUriRef(item.attributeHeader.ref)
79
- ? item.attributeHeader.uri
80
- : item.attributeHeader.identifier;
81
- return mergeColorMappingToProperties(properties, id, color);
82
- }
83
- else if (isColorDescriptor(item)) {
84
- return mergeColorMappingToProperties(properties, item.colorHeaderItem.id, color);
90
+ const id = getMappingHeaderId(item);
91
+ if (id === undefined) {
92
+ return {};
85
93
  }
86
- return {};
94
+ return mergeColorMappingToProperties(properties, id, color);
95
+ }
96
+ export function removeColorMappingFromProperties(properties, id) {
97
+ const previousColorMapping = properties?.controls?.["colorMapping"] ?? [];
98
+ // a null color instructs the host application to remove the stored entry;
99
+ // omitting the entry is not enough because hosts merge pushed properties additively
100
+ const updatedMapping = previousColorMapping.map((item) => item.id === id ? { id, color: null } : item);
101
+ const newProperties = cloneDeep(properties);
102
+ set(newProperties, "controls.colorMapping", updatedMapping);
103
+ return newProperties;
87
104
  }
88
105
  export function getLineStyleProperties(properties, id, lineStyle, lineWidth) {
89
106
  const newEntry = { id, lineStyle, lineWidth };
@@ -105,6 +122,9 @@ export function getValidProperties(properties, colorAssignments) {
105
122
  let updatedControls = { ...properties.controls };
106
123
  if (hasColorMapping) {
107
124
  const reducedColorMapping = (properties.controls?.["colorMapping"] ?? []).filter((mappingItem) => {
125
+ if (!mappingItem.color) {
126
+ return false;
127
+ }
108
128
  const { id } = mappingItem;
109
129
  const colorValue = mappingItem.color.value;
110
130
  const assignmentValid = colorAssignments?.find((colorAssignment) => {
package/esm/locales.d.ts CHANGED
@@ -393,7 +393,7 @@ export declare const messages: {
393
393
  resetColors: {
394
394
  id: string;
395
395
  };
396
- resetColorsAndStyles: {
396
+ resetColor: {
397
397
  id: string;
398
398
  };
399
399
  unsupportedColors: {
package/esm/locales.js CHANGED
@@ -231,7 +231,7 @@ export const messages = defineMessages({
231
231
  pointsSizeMaxTitle: { id: "properties.points.size.max.title" },
232
232
  customColor: { id: "gs.color-dropdown.custom-color" },
233
233
  resetColors: { id: "properties.colors.reset-colors" },
234
- resetColorsAndStyles: { id: "properties.colors.reset-colors-and-styles" },
234
+ resetColor: { id: "properties.colors.reset-color" },
235
235
  unsupportedColors: { id: "properties.colors.unsupported" },
236
236
  colors: { id: "properties.colors" },
237
237
  colorsAndFills: { id: "properties.colorsAndFills" },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-ui-ext",
3
- "version": "11.47.0",
3
+ "version": "11.48.0-alpha.1",
4
4
  "description": "GoodData.UI SDK - Extensions",
5
5
  "license": "LicenseRef-LICENSE",
6
6
  "author": "GoodData Corporation",
@@ -63,20 +63,20 @@
63
63
  "ts-invariant": "0.10.3",
64
64
  "tslib": "2.8.1",
65
65
  "uuid": "11.1.1",
66
- "@gooddata/sdk-backend-base": "11.47.0",
67
- "@gooddata/sdk-backend-spi": "11.47.0",
68
- "@gooddata/sdk-model": "11.47.0",
69
- "@gooddata/sdk-embedding": "11.47.0",
70
- "@gooddata/sdk-ui": "11.47.0",
71
- "@gooddata/sdk-ui-charts": "11.47.0",
72
- "@gooddata/sdk-ui-filters": "11.47.0",
73
- "@gooddata/sdk-ui-geo": "11.47.0",
74
- "@gooddata/sdk-ui-pivot": "11.47.0",
75
- "@gooddata/sdk-ui-semantic-search": "11.47.0",
76
- "@gooddata/sdk-ui-theme-provider": "11.47.0",
77
- "@gooddata/sdk-ui-vis-commons": "11.47.0",
78
- "@gooddata/util": "11.47.0",
79
- "@gooddata/sdk-ui-kit": "11.47.0"
66
+ "@gooddata/sdk-embedding": "11.48.0-alpha.1",
67
+ "@gooddata/sdk-backend-base": "11.48.0-alpha.1",
68
+ "@gooddata/sdk-model": "11.48.0-alpha.1",
69
+ "@gooddata/sdk-ui": "11.48.0-alpha.1",
70
+ "@gooddata/sdk-backend-spi": "11.48.0-alpha.1",
71
+ "@gooddata/sdk-ui-charts": "11.48.0-alpha.1",
72
+ "@gooddata/sdk-ui-geo": "11.48.0-alpha.1",
73
+ "@gooddata/sdk-ui-filters": "11.48.0-alpha.1",
74
+ "@gooddata/sdk-ui-kit": "11.48.0-alpha.1",
75
+ "@gooddata/sdk-ui-pivot": "11.48.0-alpha.1",
76
+ "@gooddata/sdk-ui-theme-provider": "11.48.0-alpha.1",
77
+ "@gooddata/sdk-ui-vis-commons": "11.48.0-alpha.1",
78
+ "@gooddata/util": "11.48.0-alpha.1",
79
+ "@gooddata/sdk-ui-semantic-search": "11.48.0-alpha.1"
80
80
  },
81
81
  "devDependencies": {
82
82
  "@microsoft/api-documenter": "^7.17.0",
@@ -124,12 +124,12 @@
124
124
  "typescript": "5.9.3",
125
125
  "vitest": "4.1.8",
126
126
  "vitest-dom": "0.1.1",
127
- "@gooddata/eslint-config": "11.47.0",
128
- "@gooddata/sdk-backend-mockingbird": "11.47.0",
129
- "@gooddata/i18n-toolkit": "11.47.0",
130
- "@gooddata/stylelint-config": "11.47.0",
131
- "@gooddata/oxlint-config": "11.47.0",
132
- "@gooddata/reference-workspace": "11.47.0"
127
+ "@gooddata/eslint-config": "11.48.0-alpha.1",
128
+ "@gooddata/i18n-toolkit": "11.48.0-alpha.1",
129
+ "@gooddata/oxlint-config": "11.48.0-alpha.1",
130
+ "@gooddata/reference-workspace": "11.48.0-alpha.1",
131
+ "@gooddata/stylelint-config": "11.48.0-alpha.1",
132
+ "@gooddata/sdk-backend-mockingbird": "11.48.0-alpha.1"
133
133
  },
134
134
  "peerDependencies": {
135
135
  "react": "^18.0.0 || ^19.0.0",
@@ -179,13 +179,13 @@
179
179
  margin: 5px 10px 0;
180
180
  }
181
181
 
182
- .gd-color-drop-down-custom-section, .gd-color-reset-colors-section {
182
+ .gd-color-drop-down-custom-section, .gd-color-reset-colors-section, .gd-color-drop-down-reset-section {
183
183
  position: relative;
184
184
  display: flex;
185
185
  margin: 0 5px;
186
186
  padding: 10px 0 0;
187
187
  }
188
- .gd-color-drop-down-custom-section::before, .gd-color-reset-colors-section::before {
188
+ .gd-color-drop-down-custom-section::before, .gd-color-reset-colors-section::before, .gd-color-drop-down-reset-section::before {
189
189
  content: "";
190
190
  position: absolute;
191
191
  top: 5px;
@@ -194,15 +194,21 @@
194
194
  height: 0;
195
195
  border-top: 1px solid var(--gd-palette-complementary-3, #dde4eb);
196
196
  }
197
- .gd-color-drop-down-custom-section .gd-button-link, .gd-color-reset-colors-section .gd-button-link {
197
+ .gd-color-drop-down-custom-section .gd-button-link, .gd-color-reset-colors-section .gd-button-link, .gd-color-drop-down-reset-section .gd-button-link {
198
198
  justify-content: center;
199
199
  width: 100%;
200
200
  margin: 0;
201
201
  padding: 0;
202
+ font-size: 12px;
203
+ line-height: 28px;
202
204
  text-align: center;
203
205
  text-decoration: none;
204
206
  }
205
207
 
208
+ .gd-colored-items-list .gd-ui-kit-paged-virtual-list__item {
209
+ justify-content: center;
210
+ }
211
+
206
212
  .gd-color-reset-colors-section {
207
213
  overflow: hidden;
208
214
  transition: all 0.4s;
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../../node_modules/@gooddata/sdk-ui-kit/styles/scss/colorPicker.scss","../../../node_modules/@gooddata/sdk-ui-kit/styles/scss/variables.scss","../scss/config_panel.scss"],"names":[],"mappings":"AAGA;EACI;EACA;EACA;EACA;EACA;;;AAGJ;EACI;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAGJ;EAGI;EACA;EACA;;AAIA;EACI;;AAGJ;EACI;;AAGJ;EAGI;;;AAKZ;EACI;EACA,OC3BY;ED4BZ;EACA;;AAEA;AAAA;EAEI;;AAGJ;EACI;;;AAIR;EACI;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;;;AAIR;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;;;AEhHR;EACI,QAHmB;;;AAOnB;EACI,OD2BQ;EC1BR,YDsGgB;;ACjGhB;EACI;;AAIR;EACI;EACA;EACA;;AAEA;EACI;;;AAKZ;EACI;EACA,OAjCqB;EAkCrB,QAlCqB;EAmCrB;EACA;EACA,aArCqB;EAsCrB;;AAEA;EACI;EACA;EACA,OD1BS;EC2BT;EACA;EACA;;;AAIR;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI,OAlEqB;EAmErB,QAnEqB;EAoErB,QAnEmB;EAoEnB;EACA;EACA;EACA;;AAEA;EAII,cD7DS;EC8DT;;;AAIR;EACI;;;AASJ;EACI;EACA;;;AAGJ;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA,KA1Ge;EA2Gf;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAIR;EACI;EACA;;AAIA;EACI;EACA;;AAGJ;EACI;;;AAIR;EACI;EACA;EACA;EACA;EACA,OD5HgB;;;AC+HpB;EACI;;AAEA;EACI;;AAGJ;EACI;EACA;;;AAIR;EACI;;;AAGJ;EACI;EACA;;;AAGJ;EACI;;;AAGJ;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;;;AAIR;EACI;EACA;;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;;AAIR;EACI;EACA;;AAEA;EACI;;;AAIR;EACI;EACA;EACA;;AAEA;EACI,kBD3HgB;EC4HhB;;AAEA;EACI;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI,MDxPQ;;AC2PhB;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAIR;EACI,ODvPmB;;;AC0PvB;EACI;;;AAGJ;EACI;EACA;;;AAIA;EACI;;;AAKJ;AAAA;EAEI;;AAIA;AAAA;EAEI;;AAIR;EACI;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;;;AAKJ;EACI;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;;AAEA;EACI;EACA;;;AAKZ;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA,ODvOQ;;AC0OZ;EACI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AASJ;EACI,ODnWe;ECoWf;EACA;;AAGJ;EACI;;;AAIR;EACI;;;AAGJ;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA,kBDnSgB;ECoShB;;AAEA;EACI,ODhYW;ECiYX;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;;AAKZ;EACI;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA,ODzZQ;EC0ZR;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA,OD3ae;EC4af;;AAEA;EACI;EACA;;AAIR;EACI;EACA,ODtbe;ECubf;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI,YD/WY;;ACiXZ;EACI;;AAKZ;EACI;EACA;EACA;EACA;EACA;;;AAIR;EACI;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA,ODjeY;;;AC0ehB;EACI;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA,YD5fS;;AC8fT;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA,ODxgBQ;ECygBR;EACA;;AAIA;EACI;EACA;EACA;EACA;;;AAKZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;;AAIR;EACI;EACA;EACA;EACA;EACA,YDxjBa;ECyjBb;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;EACI;EACA;EACA,YD/iBU;ECgjBV;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA,ODnkBQ;ECokBR;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;EACI,YD7fY;;ACggBhB;EACI,YDjgBY;ECkgBZ,OD/mBS;;ACknBb;EAEI;EACA;EACA;;AAGJ;EACI;EACA,ODpmBI;;ACwmBZ;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA,ODlnBQ;ECmnBR;EACA;EACA","file":"config_panel.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../../../node_modules/@gooddata/sdk-ui-kit/styles/scss/colorPicker.scss","../../../node_modules/@gooddata/sdk-ui-kit/styles/scss/variables.scss","../scss/config_panel.scss"],"names":[],"mappings":"AAGA;EACI;EACA;EACA;EACA;EACA;;;AAGJ;EACI;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAGJ;EAGI;EACA;EACA;;AAIA;EACI;;AAGJ;EACI;;AAGJ;EAGI;;;AAKZ;EACI;EACA,OC3BY;ED4BZ;EACA;;AAEA;AAAA;EAEI;;AAGJ;EACI;;;AAIR;EACI;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;;;AAIR;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;;;AEhHR;EACI,QAHmB;;;AAOnB;EACI,OD2BQ;EC1BR,YDsGgB;;ACjGhB;EACI;;AAIR;EACI;EACA;EACA;;AAEA;EACI;;;AAKZ;EACI;EACA,OAjCqB;EAkCrB,QAlCqB;EAmCrB;EACA;EACA,aArCqB;EAsCrB;;AAEA;EACI;EACA;EACA,OD1BS;EC2BT;EACA;EACA;;;AAIR;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI,OAlEqB;EAmErB,QAnEqB;EAoErB,QAnEmB;EAoEnB;EACA;EACA;EACA;;AAEA;EAII,cD7DS;EC8DT;;;AAIR;EACI;;;AASJ;EACI;EACA;;;AAGJ;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA,KA1Ge;EA2Gf;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AASJ;EACI;;;AAIR;EACI;EACA;;AAIA;EACI;EACA;;AAGJ;EACI;;;AAIR;EACI;EACA;EACA;EACA;EACA,ODxIgB;;;AC2IpB;EACI;;AAEA;EACI;;AAGJ;EACI;EACA;;;AAIR;EACI;;;AAGJ;EACI;EACA;;;AAGJ;EACI;;;AAGJ;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;;;AAIR;EACI;EACA;;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;;AAIR;EACI;EACA;;AAEA;EACI;;;AAIR;EACI;EACA;EACA;;AAEA;EACI,kBDvIgB;ECwIhB;;AAEA;EACI;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI,MDpQQ;;ACuQhB;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAIR;EACI,ODnQmB;;;ACsQvB;EACI;;;AAGJ;EACI;EACA;;;AAIA;EACI;;;AAKJ;AAAA;EAEI;;AAIA;AAAA;EAEI;;AAIR;EACI;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;;;AAKJ;EACI;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;;AAEA;EACI;EACA;;;AAKZ;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA,ODnPQ;;ACsPZ;EACI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AASJ;EACI,OD/We;ECgXf;EACA;;AAGJ;EACI;;;AAIR;EACI;;;AAGJ;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA,kBD/SgB;ECgThB;;AAEA;EACI,OD5YW;EC6YX;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;;AAKZ;EACI;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA,ODraQ;ECsaR;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA,ODvbe;ECwbf;;AAEA;EACI;EACA;;AAIR;EACI;EACA,ODlce;ECmcf;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI,YD3XY;;AC6XZ;EACI;;AAKZ;EACI;EACA;EACA;EACA;EACA;;;AAIR;EACI;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA,OD7eY;;;ACsfhB;EACI;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA,YDxgBS;;AC0gBT;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA,ODphBQ;ECqhBR;EACA;;AAIA;EACI;EACA;EACA;EACA;;;AAKZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;;AAIR;EACI;EACA;EACA;EACA;EACA,YDpkBa;ECqkBb;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;EACI;EACA;EACA,YD3jBU;EC4jBV;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA,OD/kBQ;ECglBR;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;EACI,YDzgBY;;AC4gBhB;EACI,YD7gBY;EC8gBZ,OD3nBS;;AC8nBb;EAEI;EACA;EACA;;AAGJ;EACI;EACA,ODhnBI;;AConBZ;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA,OD9nBQ;EC+nBR;EACA;EACA","file":"config_panel.css"}
@@ -123,11 +123,23 @@ $color-picker-spacing: 5px;
123
123
  width: 100%;
124
124
  margin: 0;
125
125
  padding: 0;
126
+ font-size: 12px;
127
+ line-height: 28px;
126
128
  text-align: center;
127
129
  text-decoration: none;
128
130
  }
129
131
  }
130
132
 
133
+ .gd-color-drop-down-reset-section {
134
+ @extend .gd-color-drop-down-custom-section;
135
+ }
136
+
137
+ .gd-colored-items-list {
138
+ .gd-ui-kit-paged-virtual-list__item {
139
+ justify-content: center;
140
+ }
141
+ }
142
+
131
143
  .gd-color-reset-colors-section {
132
144
  overflow: hidden;
133
145
  transition: all 0.4s;