@eccenca/gui-elements 24.1.0-rc.6 → 24.2.0-featuresupportprojectvariableautocompletioncmem5572.0

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 (126) hide show
  1. package/CHANGELOG.md +78 -18
  2. package/README.md +10 -7
  3. package/dist/cjs/cmem/markdown/Markdown.js +13 -11
  4. package/dist/cjs/cmem/markdown/Markdown.js.map +1 -1
  5. package/dist/cjs/cmem/markdown/highlightSearchWords.js +6 -1
  6. package/dist/cjs/cmem/markdown/highlightSearchWords.js.map +1 -1
  7. package/dist/cjs/common/Intent/index.js +4 -11
  8. package/dist/cjs/common/Intent/index.js.map +1 -1
  9. package/dist/cjs/components/AutoSuggestion/AutoSuggestion.js +37 -26
  10. package/dist/cjs/components/AutoSuggestion/AutoSuggestion.js.map +1 -1
  11. package/dist/cjs/components/AutoSuggestion/ExtendedCodeEditor.js +2 -2
  12. package/dist/cjs/components/AutoSuggestion/ExtendedCodeEditor.js.map +1 -1
  13. package/dist/cjs/components/Button/Button.js +2 -2
  14. package/dist/cjs/components/Button/Button.js.map +1 -1
  15. package/dist/cjs/components/ContextOverlay/ContextMenu.js +3 -2
  16. package/dist/cjs/components/ContextOverlay/ContextMenu.js.map +1 -1
  17. package/dist/cjs/components/ContextOverlay/ContextOverlay.js +46 -2
  18. package/dist/cjs/components/ContextOverlay/ContextOverlay.js.map +1 -1
  19. package/dist/cjs/components/Form/FieldItem.js +3 -2
  20. package/dist/cjs/components/Form/FieldItem.js.map +1 -1
  21. package/dist/cjs/components/Form/FieldSet.js +3 -2
  22. package/dist/cjs/components/Form/FieldSet.js.map +1 -1
  23. package/dist/cjs/components/Icon/canonicalIconNames.js +1 -0
  24. package/dist/cjs/components/Icon/canonicalIconNames.js.map +1 -1
  25. package/dist/cjs/components/MultiSelect/MultiSelect.js +18 -14
  26. package/dist/cjs/components/MultiSelect/MultiSelect.js.map +1 -1
  27. package/dist/cjs/components/Notification/Notification.js +7 -4
  28. package/dist/cjs/components/Notification/Notification.js.map +1 -1
  29. package/dist/cjs/components/OverviewItem/OverviewItemActions.js +9 -2
  30. package/dist/cjs/components/OverviewItem/OverviewItemActions.js.map +1 -1
  31. package/dist/cjs/components/Spinner/Spinner.js +7 -5
  32. package/dist/cjs/components/Spinner/Spinner.js.map +1 -1
  33. package/dist/cjs/components/Tooltip/Tooltip.js +75 -7
  34. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  35. package/dist/cjs/extensions/react-flow/nodes/NodeContent.js +17 -13
  36. package/dist/cjs/extensions/react-flow/nodes/NodeContent.js.map +1 -1
  37. package/dist/esm/cmem/markdown/Markdown.js +13 -11
  38. package/dist/esm/cmem/markdown/Markdown.js.map +1 -1
  39. package/dist/esm/cmem/markdown/highlightSearchWords.js +6 -1
  40. package/dist/esm/cmem/markdown/highlightSearchWords.js.map +1 -1
  41. package/dist/esm/common/Intent/index.js +14 -10
  42. package/dist/esm/common/Intent/index.js.map +1 -1
  43. package/dist/esm/components/AutoSuggestion/AutoSuggestion.js +42 -33
  44. package/dist/esm/components/AutoSuggestion/AutoSuggestion.js.map +1 -1
  45. package/dist/esm/components/AutoSuggestion/ExtendedCodeEditor.js +2 -2
  46. package/dist/esm/components/AutoSuggestion/ExtendedCodeEditor.js.map +1 -1
  47. package/dist/esm/components/Button/Button.js +2 -2
  48. package/dist/esm/components/Button/Button.js.map +1 -1
  49. package/dist/esm/components/ContextOverlay/ContextMenu.js +3 -2
  50. package/dist/esm/components/ContextOverlay/ContextMenu.js.map +1 -1
  51. package/dist/esm/components/ContextOverlay/ContextOverlay.js +63 -3
  52. package/dist/esm/components/ContextOverlay/ContextOverlay.js.map +1 -1
  53. package/dist/esm/components/Form/FieldItem.js +3 -2
  54. package/dist/esm/components/Form/FieldItem.js.map +1 -1
  55. package/dist/esm/components/Form/FieldSet.js +3 -2
  56. package/dist/esm/components/Form/FieldSet.js.map +1 -1
  57. package/dist/esm/components/Icon/canonicalIconNames.js +1 -0
  58. package/dist/esm/components/Icon/canonicalIconNames.js.map +1 -1
  59. package/dist/esm/components/MultiSelect/MultiSelect.js +18 -14
  60. package/dist/esm/components/MultiSelect/MultiSelect.js.map +1 -1
  61. package/dist/esm/components/Notification/Notification.js +7 -4
  62. package/dist/esm/components/Notification/Notification.js.map +1 -1
  63. package/dist/esm/components/OverviewItem/OverviewItemActions.js +25 -2
  64. package/dist/esm/components/OverviewItem/OverviewItemActions.js.map +1 -1
  65. package/dist/esm/components/Spinner/Spinner.js +9 -5
  66. package/dist/esm/components/Spinner/Spinner.js.map +1 -1
  67. package/dist/esm/components/Tooltip/Tooltip.js +92 -8
  68. package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
  69. package/dist/esm/extensions/react-flow/nodes/NodeContent.js +17 -13
  70. package/dist/esm/extensions/react-flow/nodes/NodeContent.js.map +1 -1
  71. package/dist/types/cmem/markdown/Markdown.d.ts +8 -1
  72. package/dist/types/common/Intent/index.d.ts +10 -1
  73. package/dist/types/components/AutoSuggestion/AutoSuggestion.d.ts +5 -1
  74. package/dist/types/components/AutoSuggestion/ExtendedCodeEditor.d.ts +5 -1
  75. package/dist/types/components/Button/Button.d.ts +5 -1
  76. package/dist/types/components/ContextOverlay/ContextMenu.d.ts +9 -2
  77. package/dist/types/components/ContextOverlay/ContextOverlay.d.ts +6 -1
  78. package/dist/types/components/Form/FieldItem.d.ts +10 -1
  79. package/dist/types/components/Form/FieldSet.d.ts +10 -1
  80. package/dist/types/components/Icon/canonicalIconNames.d.ts +1 -0
  81. package/dist/types/components/MultiSelect/MultiSelect.d.ts +12 -4
  82. package/dist/types/components/Notification/Notification.d.ts +10 -1
  83. package/dist/types/components/OverviewItem/OverviewItemActions.d.ts +13 -1
  84. package/dist/types/components/ProgressBar/ProgressBar.d.ts +2 -2
  85. package/dist/types/components/Spinner/Spinner.d.ts +8 -3
  86. package/dist/types/components/Structure/TitleSubsection.d.ts +7 -0
  87. package/dist/types/components/Table/TableContainer.d.ts +2 -2
  88. package/dist/types/components/Table/TableExpandRow.d.ts +1 -1
  89. package/dist/types/components/Table/index.d.ts +1 -0
  90. package/dist/types/components/Tabs/Tab.d.ts +14 -0
  91. package/dist/types/components/Tooltip/Tooltip.d.ts +9 -1
  92. package/package.json +47 -48
  93. package/src/cmem/markdown/Markdown.tsx +25 -14
  94. package/src/cmem/markdown/highlightSearchWords.test.ts +8 -2
  95. package/src/cmem/markdown/highlightSearchWords.ts +6 -1
  96. package/src/common/Intent/index.ts +6 -6
  97. package/src/components/AutoSuggestion/AutoSuggestion.tsx +50 -32
  98. package/src/components/AutoSuggestion/ExtendedCodeEditor.tsx +8 -0
  99. package/src/components/Button/Button.stories.tsx +10 -6
  100. package/src/components/Button/Button.tsx +7 -2
  101. package/src/components/ContextOverlay/ContextMenu.stories.tsx +1 -1
  102. package/src/components/ContextOverlay/ContextMenu.tsx +26 -13
  103. package/src/components/ContextOverlay/ContextOverlay.tsx +83 -5
  104. package/src/components/Form/FieldItem.tsx +14 -3
  105. package/src/components/Form/FieldSet.tsx +13 -2
  106. package/src/components/Form/Stories/FieldItem.stories.tsx +4 -0
  107. package/src/components/Form/Stories/FieldSet.stories.tsx +4 -0
  108. package/src/components/Icon/canonicalIconNames.tsx +1 -0
  109. package/src/components/MultiSelect/MultiSelect.tsx +27 -15
  110. package/src/components/MultiSuggestField/MultiSuggestField.stories.tsx +6 -0
  111. package/src/components/Notification/Notification.stories.tsx +4 -0
  112. package/src/components/Notification/Notification.tsx +17 -4
  113. package/src/components/OverviewItem/OverviewItemActions.tsx +24 -1
  114. package/src/components/OverviewItem/stories/OverviewItemList.stories.tsx +2 -7
  115. package/src/components/OverviewItem/stories/OverviewItemListPerformance.tsx +174 -0
  116. package/src/components/OverviewItem/stories/OverviewItemPerformance.stories.tsx +19 -0
  117. package/src/components/Spinner/Spinner.tsx +13 -5
  118. package/src/components/Spinner/Stories/spinner.stories.tsx +6 -1
  119. package/src/components/Table/TableContainer.tsx +2 -2
  120. package/src/components/Table/TableExpandRow.tsx +1 -1
  121. package/src/components/Table/index.tsx +1 -0
  122. package/src/components/Tooltip/Tooltip.stories.tsx +3 -2
  123. package/src/components/Tooltip/Tooltip.tsx +121 -10
  124. package/src/extensions/react-flow/nodes/NodeContent.tsx +18 -14
  125. package/src/extensions/react-flow/nodes/_nodes.scss +1 -1
  126. package/src/extensions/react-flow/nodes/stories/NodeContent.stories.tsx +45 -9
@@ -1,27 +1,36 @@
1
1
  import React from "react";
2
+ import { IntentTypes } from "../../common/Intent";
2
3
  import { TestableComponent } from "../interfaces";
3
4
  import { LabelProps } from "../Label/Label";
4
5
  export interface FieldItemProps extends React.HTMLAttributes<HTMLDivElement>, TestableComponent {
5
6
  /**
6
7
  * Set primary state.
7
8
  * This is not routed through automatically.
9
+ * @deprecated (v25) use `intent="primary"` instead.
8
10
  */
9
11
  hasStatePrimary?: boolean;
10
12
  /**
11
13
  * Set success state.
12
14
  * This is not routed through automatically.
15
+ * @deprecated (v25) use `intent="success"` instead.
13
16
  */
14
17
  hasStateSuccess?: boolean;
15
18
  /**
16
19
  * Set warning state.
17
20
  * This is not routed through automatically.
21
+ * @deprecated (v25) use `intent="warning"` instead.
18
22
  */
19
23
  hasStateWarning?: boolean;
20
24
  /**
21
25
  * Set danger state.
22
26
  * This is not routed through automatically.
27
+ * @deprecated (v25) use `intent="danger"` instead.
23
28
  */
24
29
  hasStateDanger?: boolean;
30
+ /**
31
+ * Intent state of the field item.
32
+ */
33
+ intent?: IntentTypes;
25
34
  /**
26
35
  * Is disabled.
27
36
  * The included inout element nedd to set disabled directly itself.
@@ -46,5 +55,5 @@ export interface FieldItemProps extends React.HTMLAttributes<HTMLDivElement>, Te
46
55
  /**
47
56
  * Form element that manages the combination of label, helper texts, input element and feedback messages.
48
57
  */
49
- export declare const FieldItem: ({ hasStatePrimary, hasStateSuccess, hasStateWarning, hasStateDanger, children, className, disabled, labelProps, helperText, messageText, ...otherProps }: FieldItemProps) => React.JSX.Element;
58
+ export declare const FieldItem: ({ hasStatePrimary, hasStateSuccess, hasStateWarning, hasStateDanger, children, className, disabled, labelProps, helperText, messageText, intent, ...otherProps }: FieldItemProps) => React.JSX.Element;
50
59
  export default FieldItem;
@@ -1,4 +1,5 @@
1
1
  import React from "react";
2
+ import { IntentTypes } from "../../common/Intent";
2
3
  export interface FieldSetProps extends Omit<React.FieldsetHTMLAttributes<HTMLFieldSetElement>, "title"> {
3
4
  /**
4
5
  * Displays the fieldset inside a box.
@@ -7,20 +8,28 @@ export interface FieldSetProps extends Omit<React.FieldsetHTMLAttributes<HTMLFie
7
8
  boxed?: boolean;
8
9
  /**
9
10
  * The fieldsetsection is displayed with primary color scheme.
11
+ * @deprecated (v25) use `intent="primary"` instead.
10
12
  */
11
13
  hasStatePrimary?: boolean;
12
14
  /**
13
15
  * The fieldset section is displayed with success (some type of green) color scheme.
16
+ * @deprecated (v25) use `intent="success"` instead.
14
17
  */
15
18
  hasStateSuccess?: boolean;
16
19
  /**
17
20
  * The fieldset section is displayed with warning (some type of orange) color scheme.
21
+ * @deprecated (v25) use `intent="warning"` instead.
18
22
  */
19
23
  hasStateWarning?: boolean;
20
24
  /**
21
25
  * The fieldsetsection is displayed with danger (some type of red) color scheme.
26
+ * @deprecated (v25) use `intent="danger"` instead.
22
27
  */
23
28
  hasStateDanger?: boolean;
29
+ /**
30
+ * Intent state of the field item.
31
+ */
32
+ intent?: IntentTypes;
24
33
  /**
25
34
  * Optional helper text. If given then it is displayed after the title.
26
35
  */
@@ -39,5 +48,5 @@ export interface FieldSetProps extends Omit<React.FieldsetHTMLAttributes<HTMLFie
39
48
  /**
40
49
  * Displays a group of input elements.
41
50
  */
42
- export declare const FieldSet: ({ boxed, children, className, hasStatePrimary, hasStateSuccess, hasStateWarning, hasStateDanger, helperText, messageText, title, ...otherProps }: FieldSetProps) => React.JSX.Element;
51
+ export declare const FieldSet: ({ boxed, children, className, hasStatePrimary, hasStateSuccess, hasStateWarning, hasStateDanger, intent, helperText, messageText, title, ...otherProps }: FieldSetProps) => React.JSX.Element;
43
52
  export default FieldSet;
@@ -120,6 +120,7 @@ declare const canonicalIcons: {
120
120
  "operation-filteredit": icons.CarbonIconType;
121
121
  "operation-filterremove": icons.CarbonIconType;
122
122
  "operation-filter": icons.CarbonIconType;
123
+ "operation-focus": icons.CarbonIconType;
123
124
  "operation-format-codeblock": icons.CarbonIconType;
124
125
  "operation-format-text-code": icons.CarbonIconType;
125
126
  "operation-format-text-bold": icons.CarbonIconType;
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { HTMLInputProps as BlueprintHTMLInputProps } from "@blueprintjs/core";
2
+ import { HTMLInputProps as BlueprintHTMLInputProps, Intent as BlueprintIntent } from "@blueprintjs/core";
3
3
  import { MultiSelect as BlueprintMultiSelect, MultiSelectProps as BlueprintMultiSelectProps } from "@blueprintjs/select";
4
4
  import { TestableComponent } from "../interfaces";
5
5
  import { ContextOverlayProps } from "./../../index";
@@ -64,20 +64,28 @@ interface MultiSelectCommonProps<T> extends TestableComponent, Pick<BlueprintMul
64
64
  * Items that were newly created and not taken from the list will be post-fixed with this string.
65
65
  */
66
66
  newItemPostfix?: string;
67
+ /**
68
+ * Intent state of the multi select.
69
+ */
70
+ intent?: BlueprintIntent;
67
71
  /**
68
72
  * The input element is displayed with primary color scheme.
73
+ * @deprecated (v25) use `intent="primary"` instead.
69
74
  */
70
75
  hasStatePrimary?: boolean;
71
76
  /**
72
77
  * The input element is displayed with success (some type of green) color scheme.
78
+ * @deprecated (v25) use `intent="success"` instead.
73
79
  */
74
80
  hasStateSuccess?: boolean;
75
81
  /**
76
- * The input element is displayed with success (some type of orange) color scheme.
82
+ * The input element is displayed with warning (some type of orange) color scheme.
83
+ * @deprecated (v25) use `intent="warning"` instead.
77
84
  */
78
85
  hasStateWarning?: boolean;
79
86
  /**
80
- * The input element is displayed with success (some type of red) color scheme.
87
+ * The input element is displayed with danger (some type of red) color scheme.
88
+ * @deprecated (v25) use `intent="danger"` instead.
81
89
  */
82
90
  hasStateDanger?: boolean;
83
91
  /**
@@ -128,7 +136,7 @@ export type MultiSelectProps<T> = MultiSelectCommonProps<T> & ({
128
136
  * This component will be re-implemented as `Select` like element allowing multiple selections (or a `Select` option).
129
137
  * New name for this component is `MultiSuggestField`.
130
138
  */
131
- declare function MultiSelect<T>({ items, selectedItems: externalSelectedItems, prePopulateWithItems, itemId, itemLabel, onSelection, contextOverlayProps, tagInputProps, inputProps, runOnQueryChange, fullWidth, noResultText, newItemCreationText, newItemPostfix, hasStatePrimary, hasStateDanger, hasStateSuccess, hasStateWarning, disabled, createNewItemFromQuery, requestDelay, clearQueryOnSelection, className, "data-test-id": dataTestId, "data-testid": dataTestid, wrapperProps, searchPredicate, limitHeightOpened, ...otherMultiSelectProps }: MultiSelectProps<T>): React.JSX.Element;
139
+ declare function MultiSelect<T>({ items, selectedItems: externalSelectedItems, prePopulateWithItems, itemId, itemLabel, onSelection, contextOverlayProps, tagInputProps, inputProps, runOnQueryChange, fullWidth, noResultText, newItemCreationText, newItemPostfix, hasStatePrimary, hasStateDanger, hasStateSuccess, hasStateWarning, disabled, createNewItemFromQuery, requestDelay, clearQueryOnSelection, className, "data-test-id": dataTestId, "data-testid": dataTestid, wrapperProps, searchPredicate, limitHeightOpened, intent, ...otherMultiSelectProps }: MultiSelectProps<T>): React.JSX.Element;
132
140
  declare namespace MultiSelect {
133
141
  var ofType: typeof BlueprintMultiSelect.ofType;
134
142
  }
@@ -1,5 +1,6 @@
1
1
  import React from "react";
2
2
  import { ToastProps as BlueprintToastProps } from "@blueprintjs/core";
3
+ import { IntentTypes } from "../../common/Intent";
3
4
  import { TestableComponent } from "../interfaces";
4
5
  import { IconProps } from "./../Icon/Icon";
5
6
  import { TestIconProps } from "./../Icon/TestIcon";
@@ -12,23 +13,31 @@ export interface NotificationProps extends TestableComponent, Omit<BlueprintToas
12
13
  * Notification message that can be used as alternative to children elements.
13
14
  */
14
15
  message?: JSX.Element | string;
16
+ /**
17
+ * Intent state of the notification.
18
+ */
19
+ intent?: Extract<IntentTypes, "neutral" | "success" | "warning" | "danger" | "info">;
15
20
  /**
16
21
  * Notification has a neutral color scheme.
22
+ * @deprecated (v25) use `intent="neutral"` instead.
17
23
  */
18
24
  neutral?: boolean;
19
25
  /**
20
26
  * Notification is a success info.
21
27
  * This defines the colorization and the icon symbol.
28
+ * @deprecated (v25) use `intent="success"` instead.
22
29
  */
23
30
  success?: boolean;
24
31
  /**
25
32
  * Notification is a warning alert.
26
33
  * This defines the colorization and the icon symbol.
34
+ * @deprecated (v25) use `intent="warning"` instead.
27
35
  */
28
36
  warning?: boolean;
29
37
  /**
30
38
  * Notification is a danger alert.
31
39
  * This defines the colorization and the icon symbol.
40
+ * @deprecated (v25) use `intent="danger"` instead.
32
41
  */
33
42
  danger?: boolean;
34
43
  /**
@@ -52,5 +61,5 @@ export interface NotificationProps extends TestableComponent, Omit<BlueprintToas
52
61
  * Displays a notification message, optionally combined with depiction and further action buttons.
53
62
  * By default it uses colorization of an blueish info alert.
54
63
  */
55
- export declare const Notification: ({ actions, children, className, message, success, warning, danger, neutral, flexWidth, icon, timeout, wrapperProps, "data-test-id": dataTestId, "data-testid": dataTestid, ...otherProps }: NotificationProps) => React.JSX.Element;
64
+ export declare const Notification: ({ actions, children, className, message, success, warning, danger, neutral, flexWidth, icon, timeout, wrapperProps, "data-test-id": dataTestId, "data-testid": dataTestid, intent, ...otherProps }: NotificationProps) => React.JSX.Element;
56
65
  export default Notification;
@@ -4,10 +4,22 @@ export interface OverviewItemActionsProps extends React.HTMLAttributes<HTMLDivEl
4
4
  * Display it only when the parent `OverviewItem` is hovered or focused.
5
5
  */
6
6
  hiddenInteractions?: boolean;
7
+ /**
8
+ * Delay the rendering of the children by a time in milliseconds.
9
+ * Could be used to prevent browser freezes for the initial `OverviewItem` rendering.
10
+ * In general, it is better to fix the cause, i.e. action elements that are expensive to initialize/render should be
11
+ * optimized or replaced etc. This workaround only prevents the browser from getting blocked completely and does NOT
12
+ * solve the actual performance issue.
13
+ */
14
+ delayDisplayChildren?: number;
15
+ /**
16
+ * Display element while the rendering of the actual children is delayed.
17
+ */
18
+ delaySkeleton?: JSX.Element;
7
19
  }
8
20
  /**
9
21
  * Contains an arbitrary number of elements for user-interactions.
10
22
  * It does not make sense to include more than 1 or 2 of these elements within `OverviewItem`.
11
23
  */
12
- export declare const OverviewItemActions: ({ children, className, hiddenInteractions, ...restProps }: OverviewItemActionsProps) => React.JSX.Element;
24
+ export declare const OverviewItemActions: ({ children, className, hiddenInteractions, delayDisplayChildren, delaySkeleton, ...restProps }: OverviewItemActionsProps) => React.JSX.Element;
13
25
  export default OverviewItemActions;
@@ -1,3 +1,3 @@
1
- import { ProgressBar as BlueprintProgressBar, ProgressBarProps as BlueprintProgressBarProps } from "@blueprintjs/core";
2
- export declare const ProgressBar: typeof BlueprintProgressBar;
1
+ import { ProgressBarProps as BlueprintProgressBarProps } from "@blueprintjs/core";
2
+ export declare const ProgressBar: import("react").FC<BlueprintProgressBarProps>;
3
3
  export type ProgressBarProps = BlueprintProgressBarProps;
@@ -3,13 +3,18 @@ import { OverlayProps as BlueprintOverlayProps, SpinnerProps as BlueprintSpinner
3
3
  type SpinnerPosition = "local" | "inline" | "global";
4
4
  type SpinnerSize = "tiny" | "small" | "medium" | "large" | "xlarge" | "inherit";
5
5
  type SpinnerStroke = "thin" | "medium" | "bold";
6
- type Intent = "inherit" | "primary" | "success" | "warning" | "danger";
6
+ type Intent = "inherit" | "primary" | "success" | "warning" | "danger" | "none";
7
7
  /** A spinner that is either displayed globally or locally. */
8
- export interface SpinnerProps extends Omit<BlueprintSpinnerProps, "size"> {
8
+ export interface SpinnerProps extends Omit<BlueprintSpinnerProps, "size" | "intent"> {
9
9
  /**
10
10
  * intent value or a valid css color definition
11
+ * @deprecated (v25) it will allow in the future only a color value string and that for other states the intent property needs to be used
11
12
  */
12
13
  color?: Intent | string;
14
+ /**
15
+ * Intent state of the field item.
16
+ */
17
+ intent?: Intent;
13
18
  /**
14
19
  * Additional CSS class names.
15
20
  */
@@ -53,5 +58,5 @@ export interface SpinnerProps extends Omit<BlueprintSpinnerProps, "size"> {
53
58
  */
54
59
  description?: string;
55
60
  }
56
- export declare const Spinner: ({ className, color, position, size, stroke, showLocalBackdrop, delay, overlayProps, description, ...otherProps }: SpinnerProps) => React.JSX.Element | null;
61
+ export declare const Spinner: ({ className, color, intent, position, size, stroke, showLocalBackdrop, delay, overlayProps, description, ...otherProps }: SpinnerProps) => React.JSX.Element | null;
57
62
  export default Spinner;
@@ -56,17 +56,23 @@ export declare const TitleSubsection: ({ children, className, useHtmlElement, ..
56
56
  unselectable?: "on" | "off" | undefined;
57
57
  inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined;
58
58
  is?: string | undefined;
59
+ exportparts?: string | undefined;
60
+ part?: string | undefined;
59
61
  "aria-activedescendant"?: string | undefined;
60
62
  "aria-atomic"?: (boolean | "true" | "false") | undefined;
61
63
  "aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined;
64
+ "aria-braillelabel"?: string | undefined;
65
+ "aria-brailleroledescription"?: string | undefined;
62
66
  "aria-busy"?: (boolean | "true" | "false") | undefined;
63
67
  "aria-checked"?: boolean | "false" | "mixed" | "true" | undefined;
64
68
  "aria-colcount"?: number | undefined;
65
69
  "aria-colindex"?: number | undefined;
70
+ "aria-colindextext"?: string | undefined;
66
71
  "aria-colspan"?: number | undefined;
67
72
  "aria-controls"?: string | undefined;
68
73
  "aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined;
69
74
  "aria-describedby"?: string | undefined;
75
+ "aria-description"?: string | undefined;
70
76
  "aria-details"?: string | undefined;
71
77
  "aria-disabled"?: (boolean | "true" | "false") | undefined;
72
78
  "aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined;
@@ -96,6 +102,7 @@ export declare const TitleSubsection: ({ children, className, useHtmlElement, ..
96
102
  "aria-roledescription"?: string | undefined;
97
103
  "aria-rowcount"?: number | undefined;
98
104
  "aria-rowindex"?: number | undefined;
105
+ "aria-rowindextext"?: string | undefined;
99
106
  "aria-rowspan"?: number | undefined;
100
107
  "aria-selected"?: (boolean | "true" | "false") | undefined;
101
108
  "aria-setsize"?: number | undefined;
@@ -2,11 +2,11 @@ import React from "react";
2
2
  import { DataTableHeader as CarbonDataTableHeader, DataTableProps as CarbonDataTableProps, DataTableRow as CarbonDataTableRow } from "@carbon/react";
3
3
  import { TableContainerProps as CarbonTableContainerProps } from "@carbon/react/es/components/DataTable/TableContainer";
4
4
  import { TableRowHeightSize } from "./Table";
5
- interface TableDataContainerProps extends Omit<CarbonDataTableProps<Array<Omit<CarbonDataTableRow<Array<CarbonDataTableHeader>>, "cells">>, Array<CarbonDataTableHeader>>, "size" | "overflowMenuOnHover" | "stickyHeader" | "useStaticWidth">, React.TableHTMLAttributes<HTMLTableElement> {
5
+ export interface TableDataContainerProps extends Omit<CarbonDataTableProps<Array<Omit<CarbonDataTableRow<Array<CarbonDataTableHeader>>, "cells">>, Array<CarbonDataTableHeader>>, "size" | "overflowMenuOnHover" | "stickyHeader" | "useStaticWidth">, React.TableHTMLAttributes<HTMLTableElement> {
6
6
  children(signature: any): JSX.Element;
7
7
  size?: TableRowHeightSize;
8
8
  }
9
- interface TableSimpleContainerProps extends Omit<CarbonTableContainerProps, "description" | "stickyHeader" | "title" | "useStaticWidth">, React.HTMLAttributes<HTMLDivElement> {
9
+ export interface TableSimpleContainerProps extends Omit<CarbonTableContainerProps, "description" | "stickyHeader" | "title" | "useStaticWidth">, React.HTMLAttributes<HTMLDivElement> {
10
10
  children?: JSX.Element;
11
11
  }
12
12
  export type TableContainerProps = TableDataContainerProps | TableSimpleContainerProps;
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import { TableExpandRow as CarbonTableExpandRow } from "@carbon/react";
3
3
  type CarbonTableExpandRowProps = React.ComponentProps<typeof CarbonTableExpandRow>;
4
- export interface TableExpandRowProps extends Omit<CarbonTableExpandRowProps, "ref" | "ariaLabel" | "expandIconDescription" | "aria-label">, React.HTMLAttributes<HTMLTableRowElement> {
4
+ export interface TableExpandRowProps extends Omit<CarbonTableExpandRowProps, "children" | "ref" | "ariaLabel" | "expandIconDescription" | "aria-label">, React.HTMLAttributes<HTMLTableRowElement> {
5
5
  /**
6
6
  * This text is displayed as tooltip for the button that toggles the expanded/collapsed state.
7
7
  */
@@ -5,3 +5,4 @@ export * from "./TableExpandRow";
5
5
  export * from "./TableExpandHeader";
6
6
  export * from "./TableCell";
7
7
  export { TableHead, TableBody, TableExpandedRow, TableHeader } from "@carbon/react";
8
+ export type { TableHeadProps, TableBodyProps, TableExpandedRowProps, TableHeaderProps, DataTableRenderProps } from "@carbon/react";
@@ -78,17 +78,23 @@ export declare const transformTabProperties: ({ title, dontShrink, className, ba
78
78
  unselectable?: "on" | "off" | undefined;
79
79
  inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined;
80
80
  is?: string | undefined;
81
+ exportparts?: string | undefined;
82
+ part?: string | undefined;
81
83
  "aria-activedescendant"?: string | undefined;
82
84
  "aria-atomic"?: (boolean | "true" | "false") | undefined;
83
85
  "aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined;
86
+ "aria-braillelabel"?: string | undefined;
87
+ "aria-brailleroledescription"?: string | undefined;
84
88
  "aria-busy"?: (boolean | "true" | "false") | undefined;
85
89
  "aria-checked"?: boolean | "false" | "mixed" | "true" | undefined;
86
90
  "aria-colcount"?: number | undefined;
87
91
  "aria-colindex"?: number | undefined;
92
+ "aria-colindextext"?: string | undefined;
88
93
  "aria-colspan"?: number | undefined;
89
94
  "aria-controls"?: string | undefined;
90
95
  "aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined;
91
96
  "aria-describedby"?: string | undefined;
97
+ "aria-description"?: string | undefined;
92
98
  "aria-details"?: string | undefined;
93
99
  "aria-disabled"?: (boolean | "true" | "false") | undefined;
94
100
  "aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined;
@@ -118,6 +124,7 @@ export declare const transformTabProperties: ({ title, dontShrink, className, ba
118
124
  "aria-roledescription"?: string | undefined;
119
125
  "aria-rowcount"?: number | undefined;
120
126
  "aria-rowindex"?: number | undefined;
127
+ "aria-rowindextext"?: string | undefined;
121
128
  "aria-rowspan"?: number | undefined;
122
129
  "aria-selected"?: (boolean | "true" | "false") | undefined;
123
130
  "aria-setsize"?: number | undefined;
@@ -349,17 +356,23 @@ export declare const transformTabProperties: ({ title, dontShrink, className, ba
349
356
  unselectable?: "on" | "off" | undefined;
350
357
  inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined;
351
358
  is?: string | undefined;
359
+ exportparts?: string | undefined;
360
+ part?: string | undefined;
352
361
  "aria-activedescendant"?: string | undefined;
353
362
  "aria-atomic"?: (boolean | "true" | "false") | undefined;
354
363
  "aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined;
364
+ "aria-braillelabel"?: string | undefined;
365
+ "aria-brailleroledescription"?: string | undefined;
355
366
  "aria-busy"?: (boolean | "true" | "false") | undefined;
356
367
  "aria-checked"?: boolean | "false" | "mixed" | "true" | undefined;
357
368
  "aria-colcount"?: number | undefined;
358
369
  "aria-colindex"?: number | undefined;
370
+ "aria-colindextext"?: string | undefined;
359
371
  "aria-colspan"?: number | undefined;
360
372
  "aria-controls"?: string | undefined;
361
373
  "aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined;
362
374
  "aria-describedby"?: string | undefined;
375
+ "aria-description"?: string | undefined;
363
376
  "aria-details"?: string | undefined;
364
377
  "aria-disabled"?: (boolean | "true" | "false") | undefined;
365
378
  "aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined;
@@ -389,6 +402,7 @@ export declare const transformTabProperties: ({ title, dontShrink, className, ba
389
402
  "aria-roledescription"?: string | undefined;
390
403
  "aria-rowcount"?: number | undefined;
391
404
  "aria-rowindex"?: number | undefined;
405
+ "aria-rowindextext"?: string | undefined;
392
406
  "aria-rowspan"?: number | undefined;
393
407
  "aria-selected"?: (boolean | "true" | "false") | undefined;
394
408
  "aria-setsize"?: number | undefined;
@@ -25,6 +25,14 @@ export interface TooltipProps extends Omit<BlueprintTooltipProps, "position"> {
25
25
  * Set properties for the Markdown parser
26
26
  */
27
27
  markdownProps?: Omit<MarkdownProps, "children">;
28
+ /**
29
+ * Use the overlay target as placeholder before the real `<Tooltip /` is rendered on first hover or focus event.
30
+ * This can boost performance massive but it is currently experimental.
31
+ * Placeholders are never used when `disabled`, `defaultIsOpen` or `isOpen` is set to `true`, or if `renderTarget` is set.
32
+ * If the tooltip `content` is only a string then a placeholder is automatically used, too.
33
+ * You can prevent it in any case by setting it to `false`.
34
+ */
35
+ usePlaceholder?: boolean;
28
36
  }
29
- export declare const Tooltip: ({ children, content, className, size, addIndicator, markdownEnabler, markdownProps, ...otherProps }: TooltipProps) => React.JSX.Element;
37
+ export declare const Tooltip: ({ children, content, className, size, addIndicator, markdownEnabler, markdownProps, usePlaceholder, hoverOpenDelay, ...otherTooltipProps }: TooltipProps) => React.JSX.Element | null;
30
38
  export default Tooltip;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@eccenca/gui-elements",
3
3
  "description": "GUI elements based on other libraries, usable in React application, written in Typescript.",
4
- "version": "24.1.0-rc.6",
4
+ "version": "24.2.0-featuresupportprojectvariableautocompletioncmem5572.0",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://github.com/eccenca/gui-elements",
7
7
  "bugs": "https://github.com/eccenca/gui-elements/issues",
@@ -68,42 +68,44 @@
68
68
  "autolint:all": "yarn autolint:scripts && yarn autolint:styles && yarn autolint:prettier"
69
69
  },
70
70
  "dependencies": {
71
- "@blueprintjs/colors": "^5.1.5",
72
- "@blueprintjs/core": "^5.16.2",
73
- "@blueprintjs/select": "^5.3.7",
74
- "@carbon/icons": "^11.53.0",
75
- "@carbon/react": "1.72.0",
76
- "@codemirror/lang-javascript": "^6.2.2",
71
+ "@blueprintjs/colors": "^5.1.8",
72
+ "@blueprintjs/core": "^5.18.0",
73
+ "@blueprintjs/select": "^5.3.19",
74
+ "@carbon/icons": "^11.58.0",
75
+ "@carbon/react": "^1.80.1",
76
+ "@codemirror/lang-javascript": "^6.2.3",
77
77
  "@codemirror/lang-json": "^6.0.1",
78
- "@codemirror/lang-markdown": "^6.3.1",
78
+ "@codemirror/lang-markdown": "^6.3.2",
79
79
  "@codemirror/lang-sql": "^6.8.0",
80
80
  "@codemirror/lang-xml": "^6.1.0",
81
81
  "@codemirror/lang-yaml": "^6.1.2",
82
- "@codemirror/legacy-modes": "^6.4.2",
82
+ "@codemirror/legacy-modes": "^6.5.0",
83
83
  "@mavrin/remark-typograf": "^2.2.0",
84
84
  "classnames": "^2.5.1",
85
85
  "codemirror": "^6.0.1",
86
86
  "color": "^4.2.3",
87
- "compute-scroll-into-view": "^3.1.0",
87
+ "compute-scroll-into-view": "^3.1.1",
88
88
  "jshint": "^2.13.6",
89
89
  "lodash": "^4.17.21",
90
- "n3": "^1.23.1",
90
+ "n3": "^1.25.1",
91
91
  "re-resizable": "^6.10.3",
92
92
  "react": "^16.13.1",
93
93
  "react-dom": "^16.13.1",
94
94
  "react-flow-renderer": "9.7.4",
95
95
  "react-flow-renderer-lts": "npm:react-flow-renderer@^10.3.17",
96
96
  "react-inlinesvg": "^3.0.3",
97
- "react-markdown": "^8.0.7",
97
+ "react-markdown": "^10.1.0",
98
+ "react-markdown-deprecated": "npm:react-markdown@^8.0.7",
98
99
  "react-syntax-highlighter": "^15.6.1",
99
- "rehype-raw": "^6.1.1",
100
- "remark-definition-list": "^1.2.0",
101
- "remark-gfm": "^3.0.1",
102
- "remark-parse": "^10.0.2",
100
+ "rehype-external-links": "^3.0.0",
101
+ "rehype-raw": "^7.0.0",
102
+ "remark-definition-list": "^2.0.0",
103
+ "remark-gfm": "^4.0.1",
104
+ "remark-parse": "^11.0.0",
103
105
  "reset-css": "^5.0.2",
104
106
  "unified": "^11.0.5",
105
107
  "wicg-inert": "^3.1.3",
106
- "xml-formatter": "^3.6.3"
108
+ "xml-formatter": "^3.6.5"
107
109
  },
108
110
  "devDependencies": {
109
111
  "@babel/core": "^7.26.10",
@@ -114,42 +116,42 @@
114
116
  "@babel/preset-flow": "^7.25.9",
115
117
  "@babel/preset-react": "^7.26.3",
116
118
  "@babel/preset-typescript": "^7.27.0",
117
- "@eslint/compat": "^1.2.4",
118
- "@eslint/eslintrc": "^3.2.0",
119
- "@eslint/js": "^9.17.0",
120
- "@storybook/addon-actions": "^8.6.9",
121
- "@storybook/addon-essentials": "^8.6.9",
122
- "@storybook/addon-jest": "^8.6.9",
123
- "@storybook/addon-links": "^8.6.9",
124
- "@storybook/addon-webpack5-compiler-babel": "^3.0.5",
125
- "@storybook/cli": "^8.6.9",
119
+ "@eslint/compat": "^1.2.8",
120
+ "@eslint/eslintrc": "^3.3.1",
121
+ "@eslint/js": "^9.24.0",
122
+ "@storybook/addon-actions": "^8.6.12",
123
+ "@storybook/addon-essentials": "^8.6.12",
124
+ "@storybook/addon-jest": "^8.6.12",
125
+ "@storybook/addon-links": "^8.6.12",
126
+ "@storybook/addon-webpack5-compiler-babel": "^3.0.6",
127
+ "@storybook/cli": "^8.6.12",
126
128
  "@storybook/preset-scss": "^1.0.3",
127
- "@storybook/react": "^8.6.9",
128
- "@storybook/react-webpack5": "^8.6.9",
129
- "@storybook/test": "^8.6.9",
129
+ "@storybook/react": "^8.6.12",
130
+ "@storybook/react-webpack5": "^8.6.12",
131
+ "@storybook/test": "^8.6.12",
130
132
  "@testing-library/jest-dom": "^6.6.3",
131
- "@testing-library/react": "^12.1.2",
133
+ "@testing-library/react": "^12.1.5",
132
134
  "@types/codemirror": "^5.60.15",
133
135
  "@types/color": "^3.0.6",
134
136
  "@types/jest": "^29.5.14",
135
137
  "@types/jshint": "^2.12.4",
136
- "@types/lodash": "^4.17.13",
137
- "@types/n3": "^1.21.1",
138
+ "@types/lodash": "^4.17.16",
139
+ "@types/n3": "^1.24.2",
138
140
  "@types/react-syntax-highlighter": "^15.5.13",
139
- "@typescript-eslint/eslint-plugin": "^8.18.1",
140
- "@typescript-eslint/parser": "^8.18.1",
141
+ "@typescript-eslint/eslint-plugin": "^8.30.1",
142
+ "@typescript-eslint/parser": "^8.30.1",
141
143
  "babel-jest": "^29.7.0",
142
- "chromatic": "^11.27.0",
143
- "eslint": "^9.17.0",
144
- "eslint-plugin-react": "^7.37.2",
145
- "eslint-plugin-react-hooks": "^5.1.0",
144
+ "chromatic": "^11.28.0",
145
+ "eslint": "^9.24.0",
146
+ "eslint-plugin-react": "^7.37.5",
147
+ "eslint-plugin-react-hooks": "^5.2.0",
146
148
  "eslint-plugin-simple-import-sort": "^12.1.1",
147
149
  "husky": "4",
148
150
  "identity-obj-proxy": "^3.0.0",
149
151
  "jest": "^29.7.0",
150
152
  "jest-environment-jsdom": "^29.7.0",
151
153
  "jest-pnp-resolver": "^1.2.3",
152
- "lint-staged": "^15.2.11",
154
+ "lint-staged": "^15.5.1",
153
155
  "node-sass-package-importer": "^5.3.3",
154
156
  "path": "^0.12.7",
155
157
  "prettier": "^2.8.8",
@@ -159,10 +161,10 @@
159
161
  "rimraf": "^5.0.10",
160
162
  "sass": "1.62.1",
161
163
  "sass-loader": "10.3.1",
162
- "storybook": "^8.6.9",
163
- "stylelint": "^15.11.0",
164
- "stylelint-config-recess-order": "^4.6.0",
165
- "stylelint-config-standard-scss": "^9.0.0",
164
+ "storybook": "^8.6.12",
165
+ "stylelint": "^16.18.0",
166
+ "stylelint-config-recess-order": "^6.0.0",
167
+ "stylelint-config-standard-scss": "^14.0.0",
166
168
  "ts-node": "^10.9.2",
167
169
  "tsc-esm-fix": "^3.1.2",
168
170
  "typescript": "5.5.3",
@@ -175,12 +177,9 @@
175
177
  "react-dom": ">=16"
176
178
  },
177
179
  "resolutions": {
178
- "**/@types/react": "^17.0.83",
180
+ "**/@types/react": "^17.0.85",
179
181
  "node-sass-package-importer/**/postcss": "^8.4.49",
180
- "**/cross-spawn": "^7.0.5 ",
181
- "**/micromatch": "^4.0.8",
182
- "**/@babel/runtime": "^7.26.10",
183
- "**/@babel/helpers": "^7.26.10"
182
+ "hast-util-from-parse5": "8.0.0"
184
183
  },
185
184
  "husky": {
186
185
  "hooks": {