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

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 (131) hide show
  1. package/NOTICE +5 -5
  2. package/esm/index.d.ts +1 -1
  3. package/esm/index.d.ts.map +1 -1
  4. package/esm/internal/components/configurationControls/colors/ColorsSection.d.ts +2 -1
  5. package/esm/internal/components/configurationControls/colors/ColorsSection.d.ts.map +1 -1
  6. package/esm/internal/components/configurationControls/colors/ColorsSection.js +37 -17
  7. package/esm/internal/components/configurationControls/colors/coloredItemsList/ColoredItem.d.ts +2 -1
  8. package/esm/internal/components/configurationControls/colors/coloredItemsList/ColoredItem.d.ts.map +1 -1
  9. package/esm/internal/components/configurationControls/colors/coloredItemsList/ColoredItem.js +2 -2
  10. package/esm/internal/components/configurationControls/colors/coloredItemsList/ColoredItemsList.d.ts +4 -1
  11. package/esm/internal/components/configurationControls/colors/coloredItemsList/ColoredItemsList.d.ts.map +1 -1
  12. package/esm/internal/components/configurationControls/colors/coloredItemsList/ColoredItemsList.js +5 -1
  13. package/esm/internal/components/configurationControls/colors/coloredItemsList/LineStyleColoredItem.d.ts +16 -0
  14. package/esm/internal/components/configurationControls/colors/coloredItemsList/LineStyleColoredItem.d.ts.map +1 -0
  15. package/esm/internal/components/configurationControls/colors/coloredItemsList/LineStyleColoredItem.js +22 -0
  16. package/esm/internal/components/configurationControls/colors/coloredItemsList/LineStyleDialog.d.ts +21 -0
  17. package/esm/internal/components/configurationControls/colors/coloredItemsList/LineStyleDialog.d.ts.map +1 -0
  18. package/esm/internal/components/configurationControls/colors/coloredItemsList/LineStyleDialog.js +64 -0
  19. package/esm/internal/components/configurationPanels/LineChartBasedConfigurationPanel.d.ts +1 -0
  20. package/esm/internal/components/configurationPanels/LineChartBasedConfigurationPanel.d.ts.map +1 -1
  21. package/esm/internal/components/configurationPanels/LineChartBasedConfigurationPanel.js +10 -0
  22. package/esm/internal/constants/featureFlags.d.ts +2 -0
  23. package/esm/internal/constants/featureFlags.d.ts.map +1 -1
  24. package/esm/internal/constants/featureFlags.js +5 -0
  25. package/esm/internal/constants/supportedProperties.d.ts.map +1 -1
  26. package/esm/internal/constants/supportedProperties.js +3 -0
  27. package/esm/internal/interfaces/Colors.d.ts +3 -0
  28. package/esm/internal/interfaces/Colors.d.ts.map +1 -1
  29. package/esm/internal/interfaces/Colors.js +1 -0
  30. package/esm/internal/translations/de-DE.localization-bundle.d.ts +18 -0
  31. package/esm/internal/translations/de-DE.localization-bundle.d.ts.map +1 -1
  32. package/esm/internal/translations/de-DE.localization-bundle.js +18 -0
  33. package/esm/internal/translations/en-AU.localization-bundle.d.ts +18 -0
  34. package/esm/internal/translations/en-AU.localization-bundle.d.ts.map +1 -1
  35. package/esm/internal/translations/en-AU.localization-bundle.js +18 -0
  36. package/esm/internal/translations/en-GB.localization-bundle.d.ts +18 -0
  37. package/esm/internal/translations/en-GB.localization-bundle.d.ts.map +1 -1
  38. package/esm/internal/translations/en-GB.localization-bundle.js +18 -0
  39. package/esm/internal/translations/en-US.localization-bundle.d.ts +48 -0
  40. package/esm/internal/translations/en-US.localization-bundle.d.ts.map +1 -1
  41. package/esm/internal/translations/en-US.localization-bundle.js +48 -0
  42. package/esm/internal/translations/es-419.localization-bundle.d.ts +18 -0
  43. package/esm/internal/translations/es-419.localization-bundle.d.ts.map +1 -1
  44. package/esm/internal/translations/es-419.localization-bundle.js +18 -0
  45. package/esm/internal/translations/es-ES.localization-bundle.d.ts +18 -0
  46. package/esm/internal/translations/es-ES.localization-bundle.d.ts.map +1 -1
  47. package/esm/internal/translations/es-ES.localization-bundle.js +18 -0
  48. package/esm/internal/translations/fi-FI.localization-bundle.d.ts +18 -0
  49. package/esm/internal/translations/fi-FI.localization-bundle.d.ts.map +1 -1
  50. package/esm/internal/translations/fi-FI.localization-bundle.js +18 -0
  51. package/esm/internal/translations/fr-CA.localization-bundle.d.ts +18 -0
  52. package/esm/internal/translations/fr-CA.localization-bundle.d.ts.map +1 -1
  53. package/esm/internal/translations/fr-CA.localization-bundle.js +18 -0
  54. package/esm/internal/translations/fr-FR.localization-bundle.d.ts +18 -0
  55. package/esm/internal/translations/fr-FR.localization-bundle.d.ts.map +1 -1
  56. package/esm/internal/translations/fr-FR.localization-bundle.js +18 -0
  57. package/esm/internal/translations/id-ID.localization-bundle.d.ts +18 -0
  58. package/esm/internal/translations/id-ID.localization-bundle.d.ts.map +1 -1
  59. package/esm/internal/translations/id-ID.localization-bundle.js +18 -0
  60. package/esm/internal/translations/it-IT.localization-bundle.d.ts +18 -0
  61. package/esm/internal/translations/it-IT.localization-bundle.d.ts.map +1 -1
  62. package/esm/internal/translations/it-IT.localization-bundle.js +18 -0
  63. package/esm/internal/translations/ja-JP.localization-bundle.d.ts +18 -0
  64. package/esm/internal/translations/ja-JP.localization-bundle.d.ts.map +1 -1
  65. package/esm/internal/translations/ja-JP.localization-bundle.js +18 -0
  66. package/esm/internal/translations/ko-KR.localization-bundle.d.ts +18 -0
  67. package/esm/internal/translations/ko-KR.localization-bundle.d.ts.map +1 -1
  68. package/esm/internal/translations/ko-KR.localization-bundle.js +18 -0
  69. package/esm/internal/translations/nl-NL.localization-bundle.d.ts +18 -0
  70. package/esm/internal/translations/nl-NL.localization-bundle.d.ts.map +1 -1
  71. package/esm/internal/translations/nl-NL.localization-bundle.js +18 -0
  72. package/esm/internal/translations/pl-PL.localization-bundle.d.ts +18 -0
  73. package/esm/internal/translations/pl-PL.localization-bundle.d.ts.map +1 -1
  74. package/esm/internal/translations/pl-PL.localization-bundle.js +18 -0
  75. package/esm/internal/translations/pt-BR.localization-bundle.d.ts +18 -0
  76. package/esm/internal/translations/pt-BR.localization-bundle.d.ts.map +1 -1
  77. package/esm/internal/translations/pt-BR.localization-bundle.js +18 -0
  78. package/esm/internal/translations/pt-PT.localization-bundle.d.ts +18 -0
  79. package/esm/internal/translations/pt-PT.localization-bundle.d.ts.map +1 -1
  80. package/esm/internal/translations/pt-PT.localization-bundle.js +18 -0
  81. package/esm/internal/translations/ru-RU.localization-bundle.d.ts +18 -0
  82. package/esm/internal/translations/ru-RU.localization-bundle.d.ts.map +1 -1
  83. package/esm/internal/translations/ru-RU.localization-bundle.js +18 -0
  84. package/esm/internal/translations/sl-SI.localization-bundle.d.ts +18 -0
  85. package/esm/internal/translations/sl-SI.localization-bundle.d.ts.map +1 -1
  86. package/esm/internal/translations/sl-SI.localization-bundle.js +18 -0
  87. package/esm/internal/translations/th-TH.localization-bundle.d.ts +18 -0
  88. package/esm/internal/translations/th-TH.localization-bundle.d.ts.map +1 -1
  89. package/esm/internal/translations/th-TH.localization-bundle.js +18 -0
  90. package/esm/internal/translations/tr-TR.localization-bundle.d.ts +18 -0
  91. package/esm/internal/translations/tr-TR.localization-bundle.d.ts.map +1 -1
  92. package/esm/internal/translations/tr-TR.localization-bundle.js +18 -0
  93. package/esm/internal/translations/uk-UA.localization-bundle.d.ts +18 -0
  94. package/esm/internal/translations/uk-UA.localization-bundle.d.ts.map +1 -1
  95. package/esm/internal/translations/uk-UA.localization-bundle.js +18 -0
  96. package/esm/internal/translations/vi-VN.localization-bundle.d.ts +18 -0
  97. package/esm/internal/translations/vi-VN.localization-bundle.d.ts.map +1 -1
  98. package/esm/internal/translations/vi-VN.localization-bundle.js +18 -0
  99. package/esm/internal/translations/zh-HK.localization-bundle.d.ts +18 -0
  100. package/esm/internal/translations/zh-HK.localization-bundle.d.ts.map +1 -1
  101. package/esm/internal/translations/zh-HK.localization-bundle.js +18 -0
  102. package/esm/internal/translations/zh-Hans.localization-bundle.d.ts +18 -0
  103. package/esm/internal/translations/zh-Hans.localization-bundle.d.ts.map +1 -1
  104. package/esm/internal/translations/zh-Hans.localization-bundle.js +18 -0
  105. package/esm/internal/translations/zh-Hant.localization-bundle.d.ts +18 -0
  106. package/esm/internal/translations/zh-Hant.localization-bundle.d.ts.map +1 -1
  107. package/esm/internal/translations/zh-Hant.localization-bundle.js +18 -0
  108. package/esm/internal/utils/colors.d.ts +3 -1
  109. package/esm/internal/utils/colors.d.ts.map +1 -1
  110. package/esm/internal/utils/colors.js +68 -32
  111. package/esm/locales.d.ts +36 -0
  112. package/esm/locales.d.ts.map +1 -1
  113. package/esm/locales.js +12 -0
  114. package/esm/sdk-ui-ext.d.ts +19 -5
  115. package/esm/share/ObjectShareDialog.d.ts.map +1 -1
  116. package/esm/share/ObjectShareDialog.js +2 -2
  117. package/esm/share/objectShareController.helpers.d.ts +20 -6
  118. package/esm/share/objectShareController.helpers.d.ts.map +1 -1
  119. package/esm/share/objectShareController.helpers.js +40 -9
  120. package/esm/share/objectShareController.types.d.ts +15 -4
  121. package/esm/share/objectShareController.types.d.ts.map +1 -1
  122. package/esm/share/useAccessList.d.ts +0 -1
  123. package/esm/share/useAccessList.d.ts.map +1 -1
  124. package/esm/share/useAccessList.js +74 -83
  125. package/esm/share/useObjectShareController.d.ts +3 -1
  126. package/esm/share/useObjectShareController.d.ts.map +1 -1
  127. package/esm/share/useObjectShareController.js +12 -19
  128. package/package.json +21 -21
  129. package/styles/internal/css/config_panel.css +82 -0
  130. package/styles/internal/css/config_panel.css.map +1 -1
  131. package/styles/internal/scss/config_panel.scss +94 -0
@@ -16,6 +16,12 @@ export declare const zh_Hant: {
16
16
  "dashboard.bucket.secondary_measures_subtitle.headline": string;
17
17
  "dashboard.bucket.measures_title.scatter": string;
18
18
  "dashboard.bucket.secondary_measures_title.scatter": string;
19
+ "dashboard.bucket.measures_title.mekko": string;
20
+ "dashboard.bucket.secondary_measures_title.mekko": string;
21
+ "dashboard.bucket.measures_subtitle.mekko": string;
22
+ "dashboard.bucket.secondary_measures_subtitle.mekko": string;
23
+ "dashboard.bucket.view_title.mekko": string;
24
+ "dashboard.bucket.stack_title.mekko": string;
19
25
  "dashboard.bucket.measures_subtitle.scatter": string;
20
26
  "dashboard.bucket.secondary_measures_subtitle.scatter": string;
21
27
  "dashboard.bucket.attribute_title.scatter": string;
@@ -274,6 +280,18 @@ export declare const zh_Hant: {
274
280
  "properties.colors.reset-colors": string;
275
281
  "properties.colors": string;
276
282
  "properties.colorsAndFills": string;
283
+ "properties.colorsAndStyles": string;
284
+ "properties.colors.reset-colors-and-styles": string;
285
+ "properties.lineStyle.label": string;
286
+ "properties.lineStyle.triggerAriaLabel": string;
287
+ "properties.lineStyle.solid": string;
288
+ "properties.lineStyle.dashed": string;
289
+ "properties.lineStyle.dotted": string;
290
+ "properties.lineWidth.label": string;
291
+ "properties.lineWidth.1px": string;
292
+ "properties.lineWidth.2px": string;
293
+ "properties.lineWidth.3px": string;
294
+ "properties.lineWidth.4px": string;
277
295
  "properties.fill": string;
278
296
  "properties.fill.solid": string;
279
297
  "properties.fill.pattern": string;
@@ -1 +1 @@
1
- {"version":3,"file":"zh-Hant.localization-bundle.d.ts","sourceRoot":"","sources":["../../../src/internal/translations/zh-Hant.localization-bundle.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8oBnB,CAAC"}
1
+ {"version":3,"file":"zh-Hant.localization-bundle.d.ts","sourceRoot":"","sources":["../../../src/internal/translations/zh-Hant.localization-bundle.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgqBnB,CAAC"}
@@ -18,6 +18,12 @@ export const zh_Hant = {
18
18
  "dashboard.bucket.secondary_measures_subtitle.headline": "中學",
19
19
  "dashboard.bucket.measures_title.scatter": "指標",
20
20
  "dashboard.bucket.secondary_measures_title.scatter": "指標",
21
+ "dashboard.bucket.measures_title.mekko": "指標",
22
+ "dashboard.bucket.secondary_measures_title.mekko": "指標",
23
+ "dashboard.bucket.measures_subtitle.mekko": "寬度",
24
+ "dashboard.bucket.secondary_measures_subtitle.mekko": "高度",
25
+ "dashboard.bucket.view_title.mekko": "查看方式",
26
+ "dashboard.bucket.stack_title.mekko": "堆疊依據",
21
27
  "dashboard.bucket.measures_subtitle.scatter": "X軸",
22
28
  "dashboard.bucket.secondary_measures_subtitle.scatter": "Y軸",
23
29
  "dashboard.bucket.attribute_title.scatter": "查看方式",
@@ -276,6 +282,18 @@ export const zh_Hant = {
276
282
  "properties.colors.reset-colors": "重置顏色",
277
283
  "properties.colors": "顏色",
278
284
  "properties.colorsAndFills": "顏色和填充",
285
+ "properties.colorsAndStyles": "顏色和樣式",
286
+ "properties.colors.reset-colors-and-styles": "重設顏色和樣式",
287
+ "properties.lineStyle.label": "線條樣式",
288
+ "properties.lineStyle.triggerAriaLabel": "編輯 {name} 的顏色和樣式",
289
+ "properties.lineStyle.solid": "實線",
290
+ "properties.lineStyle.dashed": "虛線",
291
+ "properties.lineStyle.dotted": "點線",
292
+ "properties.lineWidth.label": "線條粗細",
293
+ "properties.lineWidth.1px": "1 px",
294
+ "properties.lineWidth.2px": "2 px",
295
+ "properties.lineWidth.3px": "3 px",
296
+ "properties.lineWidth.4px": "4 px",
279
297
  "properties.fill": "填滿",
280
298
  "properties.fill.solid": "實心(預設)",
281
299
  "properties.fill.pattern": "圖案",
@@ -1,9 +1,11 @@
1
1
  import { type IColor } from "@gooddata/sdk-model";
2
2
  import { type IColorAssignment, type IMappingHeader } from "@gooddata/sdk-ui";
3
+ import { type ILineStyleMappingItem } from "@gooddata/sdk-ui-charts";
3
4
  import { type IColorConfiguration, type IColoredItem } from "../interfaces/Colors.js";
4
5
  import { type IVisualizationProperties } from "../interfaces/Visualization.js";
5
6
  export declare function getSearchedItems(inputItems: IColoredItem[], searchString: string): IColoredItem[];
6
- export declare function getColoredInputItems(colors: IColorConfiguration | undefined): IColoredItem[];
7
+ export declare function getColoredInputItems(colors: IColorConfiguration | undefined, lineStyleMapping?: ILineStyleMappingItem[]): IColoredItem[];
7
8
  export declare function getProperties(properties: IVisualizationProperties, item: IMappingHeader, color: IColor): IVisualizationProperties;
9
+ export declare function getLineStyleProperties(properties: IVisualizationProperties, id: string, lineStyle: ILineStyleMappingItem["lineStyle"], lineWidth: ILineStyleMappingItem["lineWidth"]): IVisualizationProperties;
8
10
  export declare function getValidProperties(properties: IVisualizationProperties, colorAssignments: IColorAssignment[] | undefined): IVisualizationProperties;
9
11
  //# sourceMappingURL=colors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../../src/internal/utils/colors.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,KAAK,MAAM,EAUd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAwB,MAAM,kBAAkB,CAAC;AAGpG,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,CAAC,MAAM,EAAE,mBAAmB,GAAG,SAAS,GAAG,YAAY,EAAE,CAwB5F;AAuBD,wBAAgB,aAAa,CACzB,UAAU,EAAE,wBAAwB,EACpC,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,MAAM,GACd,wBAAwB,CAgB1B;AAED,wBAAgB,kBAAkB,CAC9B,UAAU,EAAE,wBAAwB,EACpC,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,SAAS,GACjD,wBAAwB,CAwC1B"}
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,4 +1,4 @@
1
- // (C) 2019-2025 GoodData Corporation
1
+ // (C) 2019-2026 GoodData Corporation
2
2
  import { cloneDeep, compact, isEmpty, isEqual, set, uniqBy } from "lodash-es";
3
3
  import { isAttributeDescriptor, isColorDescriptor, isColorFromPalette, isMeasureDescriptor, isResultAttributeHeader, isRgbColor, isUriRef, } from "@gooddata/sdk-model";
4
4
  import { getMappingHeaderName } from "@gooddata/sdk-ui";
@@ -15,25 +15,37 @@ export function getSearchedItems(inputItems, searchString) {
15
15
  return name.toLowerCase().includes(searchString.toLowerCase());
16
16
  });
17
17
  }
18
- export function getColoredInputItems(colors) {
18
+ export function getColoredInputItems(colors, lineStyleMapping) {
19
19
  let inputItems = [];
20
20
  if (colors?.colorAssignments) {
21
21
  inputItems = colors.colorAssignments.map((assignmentItem, index) => {
22
+ let base;
22
23
  if (isColorFromPalette(assignmentItem.color)) {
23
- return {
24
+ base = {
24
25
  colorItem: assignmentItem.color,
25
26
  mappingHeader: assignmentItem.headerItem,
26
27
  color: ColorUtils.getColorByGuid(colors.colorPalette, assignmentItem.color.value, index),
27
28
  };
28
29
  }
29
30
  else if (isRgbColor(assignmentItem.color)) {
30
- return {
31
+ base = {
31
32
  colorItem: assignmentItem.color,
32
33
  mappingHeader: assignmentItem.headerItem,
33
34
  color: assignmentItem.color.value,
34
35
  };
35
36
  }
36
- return undefined;
37
+ if (base && lineStyleMapping && isMeasureDescriptor(assignmentItem.headerItem)) {
38
+ const localId = assignmentItem.headerItem.measureHeaderItem.localIdentifier;
39
+ const styleEntry = lineStyleMapping.find((m) => m.id === localId);
40
+ if (styleEntry) {
41
+ base = {
42
+ ...base,
43
+ lineStyle: styleEntry.lineStyle,
44
+ lineWidth: styleEntry.lineWidth,
45
+ };
46
+ }
47
+ }
48
+ return base;
37
49
  });
38
50
  }
39
51
  return inputItems.filter((item) => item !== undefined);
@@ -73,38 +85,62 @@ export function getProperties(properties, item, color) {
73
85
  }
74
86
  return {};
75
87
  }
88
+ export function getLineStyleProperties(properties, id, lineStyle, lineWidth) {
89
+ const newEntry = { id, lineStyle, lineWidth };
90
+ const previousMapping = properties?.controls?.["lineStyleMapping"] ?? [];
91
+ const merged = compact(uniqBy([newEntry, ...previousMapping], "id"));
92
+ const newProperties = cloneDeep(properties);
93
+ set(newProperties, "controls.lineStyleMapping", merged);
94
+ return newProperties;
95
+ }
76
96
  export function getValidProperties(properties, colorAssignments) {
77
- if (!properties?.controls?.["colorMapping"]) {
97
+ const hasColorMapping = Boolean(properties?.controls?.["colorMapping"]);
98
+ const hasLineStyleMapping = Boolean(properties?.controls?.["lineStyleMapping"]);
99
+ if (!hasColorMapping && !hasLineStyleMapping) {
78
100
  return properties;
79
101
  }
80
- const reducedColorMapping = properties.controls["colorMapping"].filter((mappingItem) => {
81
- const { id } = mappingItem;
82
- const colorValue = mappingItem.color.value;
83
- const assignmentValid = colorAssignments?.find((colorAssignment) => {
84
- if (isMeasureDescriptor(colorAssignment.headerItem)) {
85
- return (colorAssignment.headerItem.measureHeaderItem.localIdentifier === id &&
86
- isEqual(colorAssignment.color?.value, colorValue));
87
- }
88
- else if (isResultAttributeHeader(colorAssignment.headerItem)) {
89
- return colorAssignment.headerItem.attributeHeaderItem.uri === id;
90
- }
91
- else if (isAttributeDescriptor(colorAssignment.headerItem)) {
92
- return isUriRef(colorAssignment.headerItem.attributeHeader.ref)
93
- ? colorAssignment.headerItem.attributeHeader.uri === id
94
- : colorAssignment.headerItem.attributeHeader.identifier === id;
95
- }
96
- else if (isColorDescriptor(colorAssignment.headerItem)) {
97
- return colorAssignment.headerItem.colorHeaderItem.id === id;
98
- }
99
- return false;
102
+ const validMeasureLocalIds = new Set(colorAssignments
103
+ ?.filter((a) => isMeasureDescriptor(a.headerItem))
104
+ .map((a) => a.headerItem.measureHeaderItem.localIdentifier));
105
+ let updatedControls = { ...properties.controls };
106
+ if (hasColorMapping) {
107
+ const reducedColorMapping = (properties.controls?.["colorMapping"] ?? []).filter((mappingItem) => {
108
+ const { id } = mappingItem;
109
+ const colorValue = mappingItem.color.value;
110
+ const assignmentValid = colorAssignments?.find((colorAssignment) => {
111
+ if (isMeasureDescriptor(colorAssignment.headerItem)) {
112
+ return (colorAssignment.headerItem.measureHeaderItem.localIdentifier === id &&
113
+ isEqual(colorAssignment.color?.value, colorValue));
114
+ }
115
+ else if (isResultAttributeHeader(colorAssignment.headerItem)) {
116
+ return colorAssignment.headerItem.attributeHeaderItem.uri === id;
117
+ }
118
+ else if (isAttributeDescriptor(colorAssignment.headerItem)) {
119
+ return isUriRef(colorAssignment.headerItem.attributeHeader.ref)
120
+ ? colorAssignment.headerItem.attributeHeader.uri === id
121
+ : colorAssignment.headerItem.attributeHeader.identifier === id;
122
+ }
123
+ else if (isColorDescriptor(colorAssignment.headerItem)) {
124
+ return colorAssignment.headerItem.colorHeaderItem.id === id;
125
+ }
126
+ return false;
127
+ });
128
+ return assignmentValid !== undefined;
100
129
  });
101
- return assignmentValid !== undefined;
102
- });
130
+ updatedControls = {
131
+ ...updatedControls,
132
+ colorMapping: reducedColorMapping.length ? reducedColorMapping : null,
133
+ };
134
+ }
135
+ if (hasLineStyleMapping) {
136
+ const reducedLineStyleMapping = (properties.controls?.["lineStyleMapping"] ?? []).filter((mappingItem) => validMeasureLocalIds.has(mappingItem.id));
137
+ updatedControls = {
138
+ ...updatedControls,
139
+ lineStyleMapping: reducedLineStyleMapping.length ? reducedLineStyleMapping : null,
140
+ };
141
+ }
103
142
  return {
104
143
  ...properties,
105
- controls: {
106
- ...properties.controls,
107
- colorMapping: reducedColorMapping.length ? reducedColorMapping : null,
108
- },
144
+ controls: updatedControls,
109
145
  };
110
146
  }
package/esm/locales.d.ts CHANGED
@@ -393,6 +393,9 @@ export declare const messages: {
393
393
  resetColors: {
394
394
  id: string;
395
395
  };
396
+ resetColorsAndStyles: {
397
+ id: string;
398
+ };
396
399
  unsupportedColors: {
397
400
  id: string;
398
401
  };
@@ -402,6 +405,39 @@ export declare const messages: {
402
405
  colorsAndFills: {
403
406
  id: string;
404
407
  };
408
+ colorsAndStyles: {
409
+ id: string;
410
+ };
411
+ lineStyleSolid: {
412
+ id: string;
413
+ };
414
+ lineStyleDashed: {
415
+ id: string;
416
+ };
417
+ lineStyleDotted: {
418
+ id: string;
419
+ };
420
+ lineStyleLabel: {
421
+ id: string;
422
+ };
423
+ lineStyleTriggerAriaLabel: {
424
+ id: string;
425
+ };
426
+ lineWidthLabel: {
427
+ id: string;
428
+ };
429
+ lineWidth1: {
430
+ id: string;
431
+ };
432
+ lineWidth2: {
433
+ id: string;
434
+ };
435
+ lineWidth3: {
436
+ id: string;
437
+ };
438
+ lineWidth4: {
439
+ id: string;
440
+ };
405
441
  fill: {
406
442
  id: string;
407
443
  };
@@ -1 +1 @@
1
- {"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../src/locales.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,iBAAiB,EAAkB,MAAM,YAAY,CAAC;AAEpE,OAAO,EAAE,KAAK,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAGjF,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CA2EnD,CAAC;AAEH,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAsBtD,CAAC;AAEH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkPnB,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmH7B,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BxC,CAAC;AAEH,eAAO,MAAM,qCAAqC,EAAE,MAAM,CAAC,6BAA6B,EAAE,iBAAiB,CAmBrG,CAAC"}
1
+ {"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../src/locales.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,iBAAiB,EAAkB,MAAM,YAAY,CAAC;AAEpE,OAAO,EAAE,KAAK,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAGjF,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CA2EnD,CAAC;AAEH,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAsBtD,CAAC;AAEH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8PnB,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmH7B,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BxC,CAAC;AAEH,eAAO,MAAM,qCAAqC,EAAE,MAAM,CAAC,6BAA6B,EAAE,iBAAiB,CAmBrG,CAAC"}
package/esm/locales.js CHANGED
@@ -231,9 +231,21 @@ 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
235
  unsupportedColors: { id: "properties.colors.unsupported" },
235
236
  colors: { id: "properties.colors" },
236
237
  colorsAndFills: { id: "properties.colorsAndFills" },
238
+ colorsAndStyles: { id: "properties.colorsAndStyles" },
239
+ lineStyleSolid: { id: "properties.lineStyle.solid" },
240
+ lineStyleDashed: { id: "properties.lineStyle.dashed" },
241
+ lineStyleDotted: { id: "properties.lineStyle.dotted" },
242
+ lineStyleLabel: { id: "properties.lineStyle.label" },
243
+ lineStyleTriggerAriaLabel: { id: "properties.lineStyle.triggerAriaLabel" },
244
+ lineWidthLabel: { id: "properties.lineWidth.label" },
245
+ lineWidth1: { id: "properties.lineWidth.1px" },
246
+ lineWidth2: { id: "properties.lineWidth.2px" },
247
+ lineWidth3: { id: "properties.lineWidth.3px" },
248
+ lineWidth4: { id: "properties.lineWidth.4px" },
237
249
  fill: { id: "properties.fill" },
238
250
  fillSolid: { id: "properties.fill.solid" },
239
251
  fillPattern: { id: "properties.fill.pattern" },
@@ -669,6 +669,19 @@ export declare interface IGrantedDataSource {
669
669
  accessSource?: DataSourceAccessSource;
670
670
  }
671
671
 
672
+ /**
673
+ * Known identity facts of a grantee: real name/email only, never an id fallback.
674
+ * Undefined fields are unknown and may be backfilled.
675
+ *
676
+ * @internal
677
+ */
678
+ export declare interface IGranteeIdentityFacts {
679
+ /** Real full name (users) / group name, when known. */
680
+ name?: string;
681
+ /** Real email, when known (users only). */
682
+ email?: string;
683
+ }
684
+
672
685
  /**
673
686
  * @internal
674
687
  */
@@ -1644,17 +1657,16 @@ export declare interface IObjectShareDialogProps {
1644
1657
  }
1645
1658
 
1646
1659
  /**
1647
- * Dialog row derived from a backend grant.
1660
+ * Dialog row derived from a backend grant. `name`/`email` are real facts only;
1661
+ * display fallbacks are `granteeDisplayPair`'s concern.
1648
1662
  *
1649
1663
  * @internal
1650
1664
  */
1651
- export declare interface IObjectShareGrantee {
1665
+ export declare interface IObjectShareGrantee extends IGranteeIdentityFacts {
1652
1666
  /** Stable id used as the dialog row's React key. `user:<ref>` / `group:<ref>`. */
1653
1667
  id: string;
1654
1668
  kind: "user" | "group";
1655
1669
  granteeRef: ObjRef;
1656
- name: string;
1657
- email?: string;
1658
1670
  level: ObjectSharePermissionLevel;
1659
1671
  /**
1660
1672
  * Effective permission when it is *higher* than the directly-granted `level`
@@ -2141,7 +2153,9 @@ export declare function useInsightPickerState(author?: string): {
2141
2153
  * plain props and it owns its controller. Call this (exported as `useObjectShare`)
2142
2154
  * only to share a single access-list fetch between the dialog and an inline summary
2143
2155
  * row: call it once, read `state.summary` for the row, and pass the controller into
2144
- * the dialog.
2156
+ * the dialog. Grantee rows carry identity facts only (`name`/`email` are undefined
2157
+ * when unknown); the display fallback order is not exposed, so {@link ObjectShareDialog}
2158
+ * is the only sanctioned row renderer.
2145
2159
  *
2146
2160
  * @internal
2147
2161
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectShareDialog.d.ts","sourceRoot":"","sources":["../../src/share/ObjectShareDialog.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAW1E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAQpD;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACpC,gDAAgD;IAChD,MAAM,EAAE,wBAAwB,GAAG,SAAS,CAAC;IAC7C,wEAAwE;IACxE,WAAW,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,MAAM,EAAE,OAAO,CAAC;IAChB,sFAAsF;IACtF,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,4FAA0F;IAC1F,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;;OAIG;IACH,MAAM,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC7B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,UAAU,CAAC,EAAE,sBAAsB,CAAC;CACvC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAAC,EAC9B,MAAM,EACN,WAAW,EACX,MAAM,EACN,OAAO,EACP,OAAO,EACP,MAAM,EACN,aAAa,EACb,WAAW,EACX,UAAU,EACb,EAAE,uBAAuB,2CAuPzB"}
1
+ {"version":3,"file":"ObjectShareDialog.d.ts","sourceRoot":"","sources":["../../src/share/ObjectShareDialog.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAY1E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAQpD;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACpC,gDAAgD;IAChD,MAAM,EAAE,wBAAwB,GAAG,SAAS,CAAC;IAC7C,wEAAwE;IACxE,WAAW,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,MAAM,EAAE,OAAO,CAAC;IAChB,sFAAsF;IACtF,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,4FAA0F;IAC1F,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;;OAIG;IACH,MAAM,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC7B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,UAAU,CAAC,EAAE,sBAAsB,CAAC;CACvC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAAC,EAC9B,MAAM,EACN,WAAW,EACX,MAAM,EACN,OAAO,EACP,OAAO,EACP,MAAM,EACN,aAAa,EACb,WAAW,EACX,UAAU,EACb,EAAE,uBAAuB,2CAsPzB"}
@@ -4,6 +4,7 @@ import { useCallback } from "react";
4
4
  import { useIntl } from "react-intl";
5
5
  import { UiAddGranteeDialog, UiConfirmDialog, UiGranteeRowControls, UiObjectShareDialog, UiRadioRow, UiTransferOwnershipDialog, } from "@gooddata/sdk-ui-kit";
6
6
  import { objectShareMessages } from "./messages.js";
7
+ import { granteeDisplayPair } from "./objectShareController.helpers.js";
7
8
  import { useObjectShareController } from "./useObjectShareController.js";
8
9
  // The workspace row has no labels menu (see workspaceControls below), so its
9
10
  // required onLabelsChange never fires; a stable no-op satisfies the prop type
@@ -94,8 +95,7 @@ export function ObjectShareDialog({ target, objectTitle, isOpen, onClose, onSave
94
95
  return (_jsxs(_Fragment, { children: [_jsx(UiObjectShareDialog, { isOpen: isShareOpen, objectTitle: objectTitle, onClose: handleClose, grantees: state.grantees.map((g) => ({
95
96
  id: g.id,
96
97
  kind: g.kind,
97
- name: g.name,
98
- email: g.email,
98
+ ...granteeDisplayPair(g),
99
99
  isPending: g.pending !== undefined,
100
100
  controls: (_jsx(UiGranteeRowControls, { labels: labelItems, selectedLabelIds: state.selectedLabelIdsByGrantee[g.id] ?? state.labels.map((l) => l.id), permissionLevel: g.level, effectivePermission: g.effectivePermission,
101
101
  // Disable row controls while saving, and until per-label
@@ -1,15 +1,29 @@
1
1
  import { type IAvailableAccessGrantee, type IGranularAccessGrantee, type IObjectAccessList, type ObjRef } from "@gooddata/sdk-model";
2
- import type { IObjectShareGrantee, ObjectSharePermissionLevel } from "./objectShareController.types.js";
2
+ import type { IGranteeIdentityFacts, IObjectShareGrantee, ObjectSharePermissionLevel } from "./objectShareController.types.js";
3
3
  import type { IObjectShareLabel } from "./types.js";
4
4
  /** Stable row id shared by grantee rows and picker options: `user:<ref>` / `group:<ref>`. */
5
5
  export declare function granteeId(kind: "user" | "group", ref: ObjRef): string;
6
6
  /**
7
- * Whether a grantee row carries no human name its name is just the serialized
8
- * ref the backend grant fell back to when the permissions endpoint returned no
9
- * name. The signal both for backfilling a row from the picker/assignee cache and
10
- * for deciding whether to resolve names eagerly at all.
7
+ * Real identity facts recovered from converter output that collapses missing
8
+ * fields (`name ?? email ?? id`; grant emails also `email ?? id` — assignee
9
+ * emails stay raw): a field equal to the raw id is absent, a "name" equal to
10
+ * the email is the email fallback.
11
11
  */
12
- export declare function granteeNameUnresolved(grantee: IObjectShareGrantee): boolean;
12
+ export declare function userIdentityFacts(ref: ObjRef, name: string | undefined, email: string | undefined): IGranteeIdentityFacts;
13
+ /** Real group name recovered from the converter's `name ?? id` collapse: a name equal to the raw id is absent. */
14
+ export declare function groupNameFact(ref: ObjRef, name: string | undefined): string | undefined;
15
+ /** Identity facts for a listing/picker assignee — {@link userIdentityFacts} for users, a name fact for groups. */
16
+ export declare function assigneeIdentityFacts(assignee: IAvailableAccessGrantee): IGranteeIdentityFacts;
17
+ /** Display pair per the spec's fallback order: name + email → name + userID → email + userID → userID. */
18
+ export declare function userDisplayPair(facts: IGranteeIdentityFacts, userId: string): {
19
+ name: string;
20
+ email?: string;
21
+ };
22
+ /** Row display pair — {@link userDisplayPair} for users; groups show name (or raw id), no subline. */
23
+ export declare function granteeDisplayPair(grantee: IObjectShareGrantee): {
24
+ name: string;
25
+ email?: string;
26
+ };
13
27
  /** Case-insensitive match of an assignee against the picker query (name, or email for users). */
14
28
  export declare function assigneeMatchesQuery(assignee: IAvailableAccessGrantee, query: string): boolean;
15
29
  /** The row's directly-granted level — the strongest permission present, defaulting to VIEW. */
@@ -1 +1 @@
1
- {"version":3,"file":"objectShareController.helpers.d.ts","sourceRoot":"","sources":["../../src/share/objectShareController.helpers.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,MAAM,EAId,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AACxG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,6FAA6F;AAC7F,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAErE;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAE3E;AAED,iGAAiG;AACjG,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,uBAAuB,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAM9F;AAKD,iGAA+F;AAC/F,wBAAgB,WAAW,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,GAAG,0BAA0B,CAEtF;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACpC,MAAM,EAAE,0BAA0B,EAClC,oBAAoB,EAAE,SAAS,MAAM,EAAE,GACxC,0BAA0B,GAAG,SAAS,CAGxC;AAYD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,iBAAiB,GAAG,SAAS,GAAG,mBAAmB,EAAE,CA0BjG;AAUD,wBAAgB,iBAAiB,CAC7B,IAAI,EAAE,MAAM,GAAG,OAAO,EACtB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,0BAA0B,GAAG,MAAM,GAC3C,sBAAsB,CAKxB;AAED;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GACzB;IAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,iBAAiB,EAAE,IAAI,CAAA;CAAE,CAAC;AAElC,wBAAgB,kBAAkB,CAC9B,SAAS,EAAE,mBAAmB,EAC9B,KAAK,EAAE,0BAA0B,GAAG,MAAM,0BAO7C;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAC/B,SAAS,EAAE,mBAAmB,EAC9B,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,EACpC,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,EACpC,MAAM,EAAE,iBAAiB,EAAE,GAC5B,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,sBAAsB,CAAA;CAAE,CAAC,CAWzD;AAED;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAC5C,UAAU,EAAE,mBAAmB,EAAE,EACjC,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,EACpC,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,EACpC,MAAM,EAAE,iBAAiB,EAAE,GAC5B,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,sBAAsB,EAAE,CAAA;CAAE,CAAC,CAcxE;AAED,sFAAsF;AACtF,eAAO,MAAM,SAAS,EAAE,iBAAiB,EAAO,CAAC;AAEjD,0DAA0D;AAC1D,eAAO,MAAM,SAAS,EAAE,WAAW,CAAC,MAAM,CAAqB,CAAC;AAEhE;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAU/E"}
1
+ {"version":3,"file":"objectShareController.helpers.d.ts","sourceRoot":"","sources":["../../src/share/objectShareController.helpers.ts"],"names":[],"mappings":"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"}
@@ -5,13 +5,45 @@ export function granteeId(kind, ref) {
5
5
  return `${kind}:${objRefToString(ref)}`;
6
6
  }
7
7
  /**
8
- * Whether a grantee row carries no human name its name is just the serialized
9
- * ref the backend grant fell back to when the permissions endpoint returned no
10
- * name. The signal both for backfilling a row from the picker/assignee cache and
11
- * for deciding whether to resolve names eagerly at all.
8
+ * Real identity facts recovered from converter output that collapses missing
9
+ * fields (`name ?? email ?? id`; grant emails also `email ?? id` — assignee
10
+ * emails stay raw): a field equal to the raw id is absent, a "name" equal to
11
+ * the email is the email fallback.
12
12
  */
13
- export function granteeNameUnresolved(grantee) {
14
- return grantee.name === objRefToString(grantee.granteeRef);
13
+ export function userIdentityFacts(ref, name, email) {
14
+ const id = objRefToString(ref);
15
+ const realEmail = email && email !== id ? email : undefined;
16
+ const realName = name && name !== id && name !== realEmail ? name : undefined;
17
+ return { name: realName, email: realEmail };
18
+ }
19
+ /** Real group name recovered from the converter's `name ?? id` collapse: a name equal to the raw id is absent. */
20
+ export function groupNameFact(ref, name) {
21
+ const id = objRefToString(ref);
22
+ return name && name !== id ? name : undefined;
23
+ }
24
+ /** Identity facts for a listing/picker assignee — {@link userIdentityFacts} for users, a name fact for groups. */
25
+ export function assigneeIdentityFacts(assignee) {
26
+ return assignee.type === "user"
27
+ ? userIdentityFacts(assignee.ref, assignee.name, assignee.email)
28
+ : { name: groupNameFact(assignee.ref, assignee.name) };
29
+ }
30
+ /** Display pair per the spec's fallback order: name + email → name + userID → email + userID → userID. */
31
+ export function userDisplayPair(facts, userId) {
32
+ if (facts.name) {
33
+ return { name: facts.name, email: facts.email ?? userId };
34
+ }
35
+ if (facts.email) {
36
+ return { name: facts.email, email: userId };
37
+ }
38
+ return { name: userId };
39
+ }
40
+ /** Row display pair — {@link userDisplayPair} for users; groups show name (or raw id), no subline. */
41
+ export function granteeDisplayPair(grantee) {
42
+ const id = objRefToString(grantee.granteeRef);
43
+ if (grantee.kind !== "user") {
44
+ return { name: grantee.name ?? id };
45
+ }
46
+ return userDisplayPair(grantee, id);
15
47
  }
16
48
  /** Case-insensitive match of an assignee against the picker query (name, or email for users). */
17
49
  export function assigneeMatchesQuery(assignee, query) {
@@ -57,8 +89,7 @@ export function granteesFromAccessList(list) {
57
89
  id: granteeId("user", g.user.ref),
58
90
  kind: "user",
59
91
  granteeRef: g.user.ref,
60
- name: g.user.fullName ?? g.user.email ?? g.user.login,
61
- email: g.user.email,
92
+ ...userIdentityFacts(g.user.ref, g.user.fullName, g.user.email),
62
93
  ...granteeAccess(g.permissions, g.inheritedPermissions),
63
94
  });
64
95
  }
@@ -67,7 +98,7 @@ export function granteesFromAccessList(list) {
67
98
  id: granteeId("group", g.userGroup.ref),
68
99
  kind: "group",
69
100
  granteeRef: g.userGroup.ref,
70
- name: g.userGroup.name ?? objRefToString(g.userGroup.ref),
101
+ name: groupNameFact(g.userGroup.ref, g.userGroup.name),
71
102
  ...granteeAccess(g.permissions, g.inheritedPermissions),
72
103
  });
73
104
  }
@@ -12,17 +12,28 @@ import type { IObjectAccessSummary, IObjectShareLabel } from "./types.js";
12
12
  */
13
13
  export type ObjectSharePermissionLevel = AccessGranularPermission;
14
14
  /**
15
- * Dialog row derived from a backend grant.
15
+ * Known identity facts of a grantee: real name/email only, never an id fallback.
16
+ * Undefined fields are unknown and may be backfilled.
16
17
  *
17
18
  * @internal
18
19
  */
19
- export interface IObjectShareGrantee {
20
+ export interface IGranteeIdentityFacts {
21
+ /** Real full name (users) / group name, when known. */
22
+ name?: string;
23
+ /** Real email, when known (users only). */
24
+ email?: string;
25
+ }
26
+ /**
27
+ * Dialog row derived from a backend grant. `name`/`email` are real facts only;
28
+ * display fallbacks are `granteeDisplayPair`'s concern.
29
+ *
30
+ * @internal
31
+ */
32
+ export interface IObjectShareGrantee extends IGranteeIdentityFacts {
20
33
  /** Stable id used as the dialog row's React key. `user:<ref>` / `group:<ref>`. */
21
34
  id: string;
22
35
  kind: "user" | "group";
23
36
  granteeRef: ObjRef;
24
- name: string;
25
- email?: string;
26
37
  level: ObjectSharePermissionLevel;
27
38
  /**
28
39
  * Effective permission when it is *higher* than the directly-granted `level`
@@ -1 +1 @@
1
- {"version":3,"file":"objectShareController.types.d.ts","sourceRoot":"","sources":["../../src/share/objectShareController.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"objectShareController.types.d.ts","sourceRoot":"","sources":["../../src/share/objectShareController.types.ts"],"names":[],"mappings":"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"}
@@ -73,7 +73,6 @@ export interface IAccessList {
73
73
  * showing a stale SHARE inherited from the initial fetch.
74
74
  */
75
75
  setWorkspaceLevel: React.Dispatch<React.SetStateAction<"VIEW" | "SHARE">>;
76
- setKnownNames: React.Dispatch<React.SetStateAction<Record<string, string>>>;
77
76
  }
78
77
  /**
79
78
  * Owns the backend access list. It is fetched once (per target) then seeded into
@@ -1 +1 @@
1
- {"version":3,"file":"useAccessList.d.ts","sourceRoot":"","sources":["../../src/share/useAccessList.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAEH,KAAK,sBAAsB,EAC3B,KAAK,MAAM,EAGd,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,sBAAsB,EAAmB,MAAM,sBAAsB,CAAC;AAW7G,OAAO,KAAK,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACzG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD;;;;GAIG;AACH,MAAM,WAAW,WAAW;IACxB,iFAAiF;IACjF,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,wFAAwF;IACxF,OAAO,EAAE,OAAO,CAAC;IACjB,iGAA+F;IAC/F,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,uFAAqF;IACrF,aAAa,EAAE,kBAAkB,CAAC;IAClC,6FAA2F;IAC3F,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC,iEAAiE;IACjE,OAAO,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAC1C,+DAA+D;IAC/D,MAAM,EAAE,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IAC9C,iDAAiD;IACjD,SAAS,EAAE,KAAK,GAAG,SAAS,CAAC;IAC7B;;;;;OAKG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAE3B,mFAAmF;IACnF,MAAM,EAAE,CAAC,MAAM,EAAE,sBAAsB,EAAE,EAAE,cAAc,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/F;;;;OAIG;IACH,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC3F;;;;;;;OAOG;IACH,iBAAiB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACzC;;;;;;;;OAQG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAC9B,2FAA2F;IAC3F,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;IAEjC,qGAAqG;IACrG,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;IACzE,8EAA8E;IAC9E,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC3E;;;;OAIG;IACH,iBAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAC1E,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;CAC/E;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CACzB,MAAM,EAAE,wBAAwB,GAAG,SAAS,EAC5C,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,EACjC,UAAU,EAAE,OAAO,GACpB,WAAW,CAwTb"}
1
+ {"version":3,"file":"useAccessList.d.ts","sourceRoot":"","sources":["../../src/share/useAccessList.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAEH,KAAK,sBAAsB,EAE3B,KAAK,MAAM,EAGd,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,sBAAsB,EAAmB,MAAM,sBAAsB,CAAC;AAa7G,OAAO,KAAK,EAER,2BAA2B,EAC3B,mBAAmB,EACtB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD;;;;GAIG;AACH,MAAM,WAAW,WAAW;IACxB,iFAAiF;IACjF,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,wFAAwF;IACxF,OAAO,EAAE,OAAO,CAAC;IACjB,iGAA+F;IAC/F,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,uFAAqF;IACrF,aAAa,EAAE,kBAAkB,CAAC;IAClC,6FAA2F;IAC3F,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC,iEAAiE;IACjE,OAAO,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAC1C,+DAA+D;IAC/D,MAAM,EAAE,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IAC9C,iDAAiD;IACjD,SAAS,EAAE,KAAK,GAAG,SAAS,CAAC;IAC7B;;;;;OAKG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAE3B,mFAAmF;IACnF,MAAM,EAAE,CAAC,MAAM,EAAE,sBAAsB,EAAE,EAAE,cAAc,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/F;;;;OAIG;IACH,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC3F;;;;;;;OAOG;IACH,iBAAiB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACzC;;;;;;;;OAQG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAC9B,2FAA2F;IAC3F,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;IAEjC,qGAAqG;IACrG,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;IACzE,8EAA8E;IAC9E,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC3E;;;;OAIG;IACH,iBAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;CAC7E;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CACzB,MAAM,EAAE,wBAAwB,GAAG,SAAS,EAC5C,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,EACjC,UAAU,EAAE,OAAO,GACpB,WAAW,CAkTb"}