@longline/aqua-ui 1.0.329 → 1.0.331

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 (123) hide show
  1. package/Types.d.ts +9 -1
  2. package/containers/Anchor/Anchor.d.ts +2 -1
  3. package/containers/Anchor/Anchor.js +1 -1
  4. package/containers/Dock/Dock.d.ts +2 -1
  5. package/containers/Dock/Dock.js +1 -1
  6. package/containers/Dock/Dockable.d.ts +2 -1
  7. package/containers/Dock/Dockable.js +1 -1
  8. package/containers/DragBar/DragBar.d.ts +2 -1
  9. package/containers/DragBar/DragBar.js +1 -1
  10. package/containers/Form/Field.d.ts +0 -4
  11. package/containers/Form/Field.js +0 -1
  12. package/containers/Form/elements/BoxWrapper.js +1 -1
  13. package/containers/Form/elements/Hint.js +1 -1
  14. package/containers/Form/elements/SimpleWrapper.js +1 -1
  15. package/containers/GlassPane/GlassPane.d.ts +2 -1
  16. package/containers/GlassPane/GlassPane.js +1 -1
  17. package/containers/InfoBox/InfoBox.d.ts +2 -1
  18. package/containers/InfoBox/InfoBox.js +1 -1
  19. package/containers/InfoBox/elements/Content.d.ts +2 -1
  20. package/containers/InfoBox/elements/Content.js +1 -1
  21. package/containers/InfoBox/elements/Footer.d.ts +2 -1
  22. package/containers/InfoBox/elements/Footer.js +1 -1
  23. package/containers/InfoBox/elements/Header.d.ts +2 -1
  24. package/containers/InfoBox/elements/Header.js +1 -1
  25. package/containers/InfoBox/elements/Row.d.ts +4 -2
  26. package/containers/InfoBox/elements/Row.js +1 -1
  27. package/containers/List/List.d.ts +2 -1
  28. package/containers/List/List.js +1 -1
  29. package/containers/List/ListCell.d.ts +2 -1
  30. package/containers/List/ListCell.js +1 -1
  31. package/containers/List/ListRow.d.ts +2 -1
  32. package/containers/List/ListRow.js +1 -1
  33. package/containers/Message/Message.d.ts +2 -1
  34. package/containers/Message/Message.js +1 -1
  35. package/containers/Openable/Openable.d.ts +2 -1
  36. package/containers/Openable/Openable.js +2 -2
  37. package/containers/PublicRoute/Help.d.ts +2 -1
  38. package/containers/PublicRoute/Help.js +1 -1
  39. package/containers/PublicRoute/PublicRoute.d.ts +2 -1
  40. package/containers/PublicRoute/PublicRoute.js +1 -1
  41. package/containers/Tabs/Pane.d.ts +2 -1
  42. package/containers/Tabs/Pane.js +1 -1
  43. package/containers/Tabs/Tabs.d.ts +2 -1
  44. package/containers/Tabs/Tabs.js +1 -1
  45. package/controls/Chip/Chip.d.ts +2 -1
  46. package/controls/Chip/Chip.js +1 -1
  47. package/controls/CircularProgress/CircularProgress.d.ts +2 -1
  48. package/controls/CircularProgress/CircularProgress.js +1 -1
  49. package/controls/Dropzone/Dropzone.d.ts +2 -1
  50. package/controls/Dropzone/Dropzone.js +1 -1
  51. package/controls/Fab/Fab.d.ts +2 -1
  52. package/controls/Fab/Fab.js +1 -1
  53. package/controls/Ghost/Ghost.d.ts +2 -1
  54. package/controls/Ghost/Ghost.js +1 -1
  55. package/controls/Gradient/Gradient.d.ts +2 -2
  56. package/controls/Gradient/Gradient.js +1 -1
  57. package/controls/Histogram/Histogram.d.ts +2 -1
  58. package/controls/Histogram/Histogram.js +14 -14
  59. package/controls/Icon/Icon.d.ts +2 -2
  60. package/controls/Icon/Icon.js +1 -1
  61. package/controls/Key/Key.d.ts +2 -1
  62. package/controls/Key/Key.js +1 -1
  63. package/controls/LinearChart/LinearChart.d.ts +2 -1
  64. package/controls/LinearChart/LinearChart.js +1 -1
  65. package/controls/ListButton/ListButton.d.ts +2 -1
  66. package/controls/ListButton/ListButton.js +1 -1
  67. package/controls/ListView/ListView.d.ts +2 -1
  68. package/controls/ListView/ListView.js +1 -1
  69. package/controls/Mouse/Mouse.d.ts +2 -1
  70. package/controls/Mouse/Mouse.js +1 -1
  71. package/controls/PrimaryButton/PrimaryButton.d.ts +2 -1
  72. package/controls/PrimaryButton/PrimaryButton.js +1 -1
  73. package/controls/Progress/Progress.d.ts +2 -1
  74. package/controls/Progress/Progress.js +1 -1
  75. package/controls/SecondaryButton/SecondaryButton.d.ts +2 -1
  76. package/controls/SecondaryButton/SecondaryButton.js +1 -1
  77. package/controls/TabBar/Tab.d.ts +2 -1
  78. package/controls/TabBar/Tab.js +1 -1
  79. package/controls/TabBar/TabBar.d.ts +2 -1
  80. package/controls/TabBar/TabBar.js +1 -1
  81. package/controls/TertiaryButton/TertiaryButton.d.ts +2 -1
  82. package/controls/TertiaryButton/TertiaryButton.js +1 -1
  83. package/controls/ToggleButton/ToggleButton.d.ts +2 -1
  84. package/controls/ToggleButton/ToggleButton.js +1 -1
  85. package/controls/View/View.d.ts +2 -1
  86. package/controls/View/View.js +1 -1
  87. package/inputs/DateInput/DateInput.d.ts +2 -5
  88. package/inputs/Dropdown/Dropdown.d.ts +2 -5
  89. package/inputs/Editor/Editor.d.ts +3 -5
  90. package/inputs/Input/Input.d.ts +2 -5
  91. package/inputs/Input/InputWrapper.d.ts +2 -1
  92. package/inputs/Input/InputWrapper.js +1 -1
  93. package/inputs/MonthRange/MonthRange.d.ts +2 -5
  94. package/inputs/Selector/Selector.d.ts +2 -5
  95. package/inputs/Slider/Slider.d.ts +2 -5
  96. package/inputs/Textarea/Textarea.d.ts +2 -5
  97. package/map/Map/Map.d.ts +2 -1
  98. package/map/Map/Map.js +1 -1
  99. package/map/PositionsManager/PositionBox.d.ts +2 -1
  100. package/map/PositionsManager/PositionBox.js +1 -1
  101. package/map/controls/CompassButton/CompassButton.js +3 -3
  102. package/map/controls/FullscreenButton/FullscreenButton.js +1 -1
  103. package/map/controls/Geocoder/Geocoder.js +1 -1
  104. package/map/controls/MapLoader/MapLoader.js +1 -1
  105. package/map/controls/ScaleControl/ScaleControl.js +1 -1
  106. package/map/controls/ZoomInButton/ZoomInButton.js +1 -1
  107. package/map/controls/ZoomOutButton/ZoomOutButton.js +1 -1
  108. package/map/controls/base/MapButton/MapButton.d.ts +0 -4
  109. package/map/controls/base/MapButton/MapButton.js +2 -2
  110. package/map/controls/base/MapControl/MapControl.d.ts +2 -1
  111. package/map/controls/base/MapControl/MapControl.js +2 -2
  112. package/modules/Filter/Filter.d.ts +2 -1
  113. package/modules/Filter/Filter.js +1 -1
  114. package/modules/MainMenu/Item.d.ts +2 -1
  115. package/modules/MainMenu/Item.js +1 -1
  116. package/modules/MainMenu/MainMenu.d.ts +2 -1
  117. package/modules/MainMenu/MainMenu.js +1 -1
  118. package/modules/Root/Sidebar.js +1 -1
  119. package/package.json +1 -1
  120. package/services/Dialog/Dialog.d.ts +2 -1
  121. package/services/Dialog/Dialog.js +2 -2
  122. package/services/Dialog/DialogWindow.d.ts +2 -1
  123. package/services/Dialog/DialogWindow.js +1 -1
package/Types.d.ts CHANGED
@@ -7,4 +7,12 @@ interface IGradientStop {
7
7
  pos: number;
8
8
  color: string;
9
9
  }
10
- export { Size, IGradientStop };
10
+ interface ITestable {
11
+ /**
12
+ * Test ID for Playwright/testing. Forwarded to the root DOM element.
13
+ */
14
+ 'data-testid'?: string;
15
+ }
16
+ export type { Size };
17
+ export type { IGradientStop };
18
+ export type { ITestable };
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
- interface IAnchorProps {
2
+ import { ITestable } from '../../Types';
3
+ interface IAnchorProps extends ITestable {
3
4
  /** @ignore */
4
5
  className?: string;
5
6
  /**
@@ -101,7 +101,7 @@ var Anchor = function (props) {
101
101
  React.useEffect(function () {
102
102
  updatePosition();
103
103
  }, [props.horizontal, props.vertical]);
104
- return (React.createElement("div", { "data-testid": "Anchor", ref: anchorRef, style: {
104
+ return (React.createElement("div", { "data-testid": props['data-testid'] || "Anchor", ref: anchorRef, style: {
105
105
  position: 'absolute',
106
106
  left: (_a = props.left) !== null && _a !== void 0 ? _a : 'auto',
107
107
  top: (_b = props.top) !== null && _b !== void 0 ? _b : 'auto',
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
- interface IDockProps {
2
+ import { ITestable } from '../../Types';
3
+ interface IDockProps extends ITestable {
3
4
  /** @ignore */
4
5
  className?: string;
5
6
  /** Children are one or more `Dockable`. */
@@ -27,7 +27,7 @@ var __rest = (this && this.__rest) || function (s, e) {
27
27
  import * as React from 'react';
28
28
  import styled, { css } from 'styled-components';
29
29
  var DockBase = function (props) {
30
- return React.createElement("div", { "data-testid": "Dock", className: props.className, role: "presentation" }, props.children);
30
+ return React.createElement("div", { "data-testid": props['data-testid'] || "Dock", className: props.className, role: "presentation" }, props.children);
31
31
  };
32
32
  var DockStyled = styled(DockBase)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n // Position and size:\n position: absolute;\n left: 0;\n right: ", "px;\n top: ", "px;\n bottom: ", "px;\n box-sizing: border-box;\n // zIndex >= 2 will overlap Mapbox logo.\n z-index: 2;\n\n // Appearance:\n background-color: transparent;\n ", "\n pointer-events: none !important; /* Map will set pointer-events:all to its children. */\n\n // Content:\n display: flex;\n flex-direction: column;\n align-items: end;\n gap: ", "px;\n"], ["\n // Position and size:\n position: absolute;\n left: 0;\n right: ", "px;\n top: ", "px;\n bottom: ", "px;\n box-sizing: border-box;\n // zIndex >= 2 will overlap Mapbox logo.\n z-index: 2;\n\n // Appearance:\n background-color: transparent;\n ", "\n pointer-events: none !important; /* Map will set pointer-events:all to its children. */\n\n // Content:\n display: flex;\n flex-direction: column;\n align-items: end;\n gap: ", "px;\n"
33
33
  /**
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
- interface IDockableProps {
2
+ import { ITestable } from '../../Types';
3
+ interface IDockableProps extends ITestable {
3
4
  /** @ignore */
4
5
  className?: string;
5
6
  /** @ignore */
@@ -103,7 +103,7 @@ var DockableBase = function (props) {
103
103
  style.left = "".concat(x + offsetX, "px");
104
104
  style.top = "".concat(y + offsetY, "px");
105
105
  }
106
- return (React.createElement("div", { "data-testid": "Dockable", style: style, className: "".concat(props.className, " ").concat(offscreen ? 'offscreen' : ''), ref: containerRef }, props.children));
106
+ return (React.createElement("div", { "data-testid": props['data-testid'] || "Dockable", style: style, className: "".concat(props.className, " ").concat(offscreen ? 'offscreen' : ''), ref: containerRef }, props.children));
107
107
  };
108
108
  var DockableStyled = styled(DockableBase)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n color: white;\n z-index: ", ";\n ", "\n"], ["\n color: white;\n z-index: ", ";\n ", "\n"
109
109
  /**
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
- interface IDragBarProps {
2
+ import { ITestable } from '../../Types';
3
+ interface IDragBarProps extends ITestable {
3
4
  /** @ignore */
4
5
  className?: string;
5
6
  /** @ignore */
@@ -71,7 +71,7 @@ var DragBarBase = function (props) {
71
71
  behavior: props.behavior
72
72
  });
73
73
  };
74
- return (React.createElement("div", { "data-testid": "DragBar", className: props.className },
74
+ return (React.createElement("div", { "data-testid": props['data-testid'] || "DragBar", className: props.className },
75
75
  props.navigation && React.createElement(NavButton, { onClick: function () { return handleNavigate(-props.navigationDelta); } },
76
76
  React.createElement(Icon, { url: SVG.Icons.Chevron })),
77
77
  React.createElement(Scroller, { onMouseDown: handleMouseDown, ref: scrollerRef },
@@ -64,10 +64,6 @@ interface IFieldProps {
64
64
  * Triggered whenever an _uncontrolled_ Field changes.
65
65
  */
66
66
  onChange?: (data: any, forceupdate: boolean) => void;
67
- /**
68
- * Test ID for Playwright/testing. Forwarded to the root DOM element.
69
- */
70
- 'data-testid'?: string;
71
67
  }
72
68
  /**
73
69
  * A `Form.Field` wraps a form control. It serves several purposes.
@@ -130,7 +130,6 @@ var Field = function (props) {
130
130
  var getControl = function (hasError, transparent) {
131
131
  return React.cloneElement(props.control, {
132
132
  name: props.name,
133
- 'data-testid': props['data-testid'],
134
133
  onChange: handleChange,
135
134
  value: props.value, // Changed from just "value", since that breaks TiptapEditor.
136
135
  checked: props.value,
@@ -29,7 +29,7 @@ var BoxWrapperBase = function (props) {
29
29
  clickableChild.focus();
30
30
  }
31
31
  };
32
- return (React.createElement("div", { "data-testid": "BoxWrapper", className: props.className, onClick: handleClick, ref: wrapper },
32
+ return (React.createElement("div", { "data-testid": "Field.BoxWrapper", className: props.className, onClick: handleClick, ref: wrapper },
33
33
  props.ghost && React.createElement(Ghost, { style: { position: 'absolute', left: 0, top: 0, right: 0, bottom: 0, zIndex: 100 } }),
34
34
  props.label,
35
35
  React.createElement(Control, { "data-testid": "Control" }, props.children),
@@ -5,7 +5,7 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook
5
5
  import * as React from 'react';
6
6
  import styled from 'styled-components';
7
7
  var HintBase = function (props) {
8
- return React.createElement("div", { "data-testid": "Hint", tabIndex: -1, className: props.className }, props.children);
8
+ return React.createElement("div", { "data-testid": "Field.Hint", tabIndex: -1, className: props.className }, props.children);
9
9
  };
10
10
  var Hint = styled(HintBase)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n font: ", ";\n color: ", ";\n user-select: none;\n // Hints don't wrap and are ellipsized:\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n"], ["\n font: ", ";\n color: ", ";\n user-select: none;\n // Hints don't wrap and are ellipsized:\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n"])), function (p) { return p.theme.font.bodySmall; }, function (p) { return p.error ? p.theme.colors.negative : p.theme.colors.font; });
11
11
  export { Hint };
@@ -7,7 +7,7 @@ import styled, { css } from 'styled-components';
7
7
  import { Label } from './Label';
8
8
  import { Hint } from './Hint';
9
9
  var SimpleWrapperBase = function (props) {
10
- return React.createElement("div", { "data-testid": "SimpleWrapper", className: props.className },
10
+ return React.createElement("div", { "data-testid": "Field.SimpleWrapper", className: props.className },
11
11
  props.label,
12
12
  props.children,
13
13
  props.hint);
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
- interface IGlassPaneProps {
2
+ import { ITestable } from '../../Types';
3
+ interface IGlassPaneProps extends ITestable {
3
4
  /** @ignore */
4
5
  className?: string;
5
6
  /** @ignore */
@@ -42,7 +42,7 @@ var GlassPaneBase = React.memo(function (props) {
42
42
  return function () { };
43
43
  }
44
44
  }, [props.animated]);
45
- return (React.createElement("div", { "data-testid": "GlassPane", className: "".concat(props.className, " ").concat(mounted ? 'mounted' : '') }, props.children));
45
+ return (React.createElement("div", { "data-testid": props['data-testid'] || "GlassPane", className: "".concat(props.className, " ").concat(mounted ? 'mounted' : '') }, props.children));
46
46
  });
47
47
  var GRADIENT_0 = "rgb(255,255,255,0.6)";
48
48
  var GRADIENT_1 = "rgb(255,255,255,0.3)";
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
- interface IInfoBoxProps {
2
+ import { ITestable } from '../../Types';
3
+ interface IInfoBoxProps extends ITestable {
3
4
  /** @ignore */
4
5
  className?: string;
5
6
  /**
@@ -33,7 +33,7 @@ import { InfoBoxRow } from './elements/Row';
33
33
  * An `InfoBox` is a glass pane with an optional header and footer.
34
34
  */
35
35
  var InfoBoxBase = function (props) {
36
- return React.createElement("div", { "data-testid": "InfoBox", className: props.className, role: "region", "aria-label": "Information" },
36
+ return React.createElement("div", { "data-testid": props['data-testid'] || "InfoBox", className: props.className, role: "region", "aria-label": "Information" },
37
37
  React.createElement(Content, { header: props.header, padded: props.padded, minHeight: props.minHeight, scroll: props.scroll }, props.children),
38
38
  props.footer && React.createElement(Footer, null, props.footer));
39
39
  };
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
- interface IProps {
2
+ import { ITestable } from '../../../Types';
3
+ interface IProps extends ITestable {
3
4
  /** @ignore */
4
5
  className?: string;
5
6
  /** @ignore */
@@ -19,7 +19,7 @@ import { OverlayScrollbarsComponent } from "overlayscrollbars-react";
19
19
  import { GlassPane } from '../../GlassPane';
20
20
  import { Header } from './Header';
21
21
  var ContentBase = function (props) {
22
- return React.createElement("div", { "data-testid": "InfoBox.Content", className: props.className },
22
+ return React.createElement("div", { "data-testid": props['data-testid'] || "InfoBox.Content", className: props.className },
23
23
  React.createElement(GlassPane, { bordered: true },
24
24
  props.header && React.createElement(Header, null, props.header),
25
25
  React.createElement(PaneContent, null,
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
- interface IProps {
2
+ import { ITestable } from '../../../Types';
3
+ interface IProps extends ITestable {
3
4
  /** @ignore */
4
5
  className?: string;
5
6
  /** @ignore */
@@ -16,7 +16,7 @@ var __assign = (this && this.__assign) || function () {
16
16
  import * as React from 'react';
17
17
  import styled from "styled-components";
18
18
  var FooterBase = function (props) {
19
- return React.createElement("div", { "data-testid": "InfoBox.Footer", className: props.className }, props.children);
19
+ return React.createElement("div", { "data-testid": props['data-testid'] || "InfoBox.Footer", className: props.className }, props.children);
20
20
  };
21
21
  var FooterStyled = styled(FooterBase)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n // Position and size:\n position: relative;\n width: 100%;\n padding-top: 8px;\n padding-left: 16px;\n padding-right: 16px;\n box-sizing: border-box;\n \n // Appearance;\n color: ", ";\n font: ", ";\n\n // Content:\n display: flex;\n flex-direction: row;\n justify-content: center;\n gap: 16px;\n\n // While InfoBox blocks all pointer events, contents inside\n // the footer must receive events:\n & > * {\n pointer-events: all;\n }\n"], ["\n // Position and size:\n position: relative;\n width: 100%;\n padding-top: 8px;\n padding-left: 16px;\n padding-right: 16px;\n box-sizing: border-box;\n \n // Appearance;\n color: ", ";\n font: ", ";\n\n // Content:\n display: flex;\n flex-direction: row;\n justify-content: center;\n gap: 16px;\n\n // While InfoBox blocks all pointer events, contents inside\n // the footer must receive events:\n & > * {\n pointer-events: all;\n }\n"])), function (p) { return p.theme.colors.neutral[100]; }, function (p) { return p.theme.font.bodyMedium; });
22
22
  var Footer = function (props) { return React.createElement(FooterStyled, __assign({}, props)); };
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
- interface IProps {
2
+ import { ITestable } from '../../../Types';
3
+ interface IProps extends ITestable {
3
4
  /** @ignore */
4
5
  className?: string;
5
6
  /** @ignore */
@@ -16,7 +16,7 @@ var __assign = (this && this.__assign) || function () {
16
16
  import * as React from 'react';
17
17
  import styled from "styled-components";
18
18
  var HeaderBase = function (props) {
19
- return React.createElement("div", { "data-testid": "InfoBox.Header", className: props.className }, props.children);
19
+ return React.createElement("div", { "data-testid": props['data-testid'] || "InfoBox.Header", className: props.className }, props.children);
20
20
  };
21
21
  var HeaderStyled = styled(HeaderBase)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n // Size:\n box-sizing: border-box;\n padding-left: 22px;\n padding-right: 22px;\n padding-top: 12px;\n padding-bottom: 12px;\n\n // Appearance:\n background: ", ";\n color: ", ";\n font: ", ";\n \n // Content:\n display: flex;\n flex-direction: column;\n gap: 3px;\n"], ["\n // Size:\n box-sizing: border-box;\n padding-left: 22px;\n padding-right: 22px;\n padding-top: 12px;\n padding-bottom: 12px;\n\n // Appearance:\n background: ", ";\n color: ", ";\n font: ", ";\n \n // Content:\n display: flex;\n flex-direction: column;\n gap: 3px;\n"])), function (p) { return p.theme.colors.primary[5]; }, function (p) { return p.theme.colors.neutral[100]; }, function (p) { return p.theme.font.headingMedium; });
22
22
  var Header = function (props) { return React.createElement(HeaderStyled, __assign({}, props)); };
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
- interface IInfoBoxRowProps {
2
+ import { ITestable } from '../../../Types';
3
+ interface IInfoBoxRowProps extends ITestable {
3
4
  /** Name to show. */
4
5
  name: React.ReactNode;
5
6
  /** Value to show. */
@@ -11,4 +12,5 @@ interface IInfoBoxRowProps {
11
12
  * An `InfoBoxRow` shows a name-value combination, in row format.
12
13
  */
13
14
  declare const InfoBoxRow: (props: IInfoBoxRowProps) => React.JSX.Element;
14
- export { InfoBoxRow, IInfoBoxRowProps };
15
+ export { InfoBoxRow };
16
+ export type { IInfoBoxRowProps };
@@ -9,7 +9,7 @@ import { Ghost } from '../../../controls/Ghost';
9
9
  * An `InfoBoxRow` shows a name-value combination, in row format.
10
10
  */
11
11
  var InfoBoxRow = function (props) {
12
- return React.createElement(Wrapper, { "data-testid": "InfoBox.Row" },
12
+ return React.createElement(Wrapper, { "data-testid": props['data-testid'] || "InfoBox.Row" },
13
13
  props.ghost === true && React.createElement(Ghost, { style: { position: 'absolute', left: 0, top: '3px', right: 0, bottom: '3px' } }),
14
14
  props.ghost !== true && React.createElement(React.Fragment, null,
15
15
  React.createElement(Name, null, props.name),
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
- interface IListProps {
2
+ import { ITestable } from '../../Types';
3
+ interface IListProps extends ITestable {
3
4
  /** @ignore */
4
5
  className?: string;
5
6
  /** @ignore */
@@ -19,7 +19,7 @@ import { Input } from '../../inputs/Input';
19
19
  * other code, using the ref, can scroll list items into view.
20
20
  */
21
21
  var List = React.forwardRef(function (props, ref) {
22
- return React.createElement(ListStyled, { "data-testid": "List", className: props.className, tabIndex: -1, "$count": React.Children.count(props.children), "$maxItems": props.maxItems, "$contract": props.contract, "$tall": props.tall },
22
+ return React.createElement(ListStyled, { "data-testid": props['data-testid'] || "List", className: props.className, tabIndex: -1, "$count": React.Children.count(props.children), "$maxItems": props.maxItems, "$contract": props.contract, "$tall": props.tall },
23
23
  props.onSearch &&
24
24
  React.createElement(SearchBox, { onClick: function (e) { return e.stopPropagation(); } },
25
25
  React.createElement(Input, { icon: SVG.Icons.Search, placeholder: props.placeholder, clearable: true, value: props.search, transparent: true, fluid: true, type: "text", onChange: props.onSearch })),
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
- interface IProps {
2
+ import { ITestable } from '../../Types';
3
+ interface IProps extends ITestable {
3
4
  /** @ignore */
4
5
  className?: string;
5
6
  /** @ignore */
@@ -16,7 +16,7 @@ var __assign = (this && this.__assign) || function () {
16
16
  import * as React from 'react';
17
17
  import styled, { css } from 'styled-components';
18
18
  var ListCellBase = function (props) {
19
- return React.createElement("div", { "data-testid": "ListCell", className: props.className }, props.children);
19
+ return React.createElement("div", { "data-testid": props['data-testid'] || "ListCell", className: props.className }, props.children);
20
20
  };
21
21
  var ListCellStyled = styled(ListCellBase)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n ", ";\n ", ";\n ", "\n\n // Content alignment:\n text-align: ", ";\n\n // Text is truncated with an ellipsis\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n"], ["\n ", ";\n ", ";\n ", "\n\n // Content alignment:\n text-align: ", ";\n\n // Text is truncated with an ellipsis\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n"])), function (p) { return p.width && typeof p.width === 'string' && css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["width: ", ";"], ["width: ", ";"])), p.width); }, function (p) { return p.width && typeof p.width !== 'string' && css(templateObject_2 || (templateObject_2 = __makeTemplateObject(["flex: ", ";"], ["flex: ", ";"])), p.width); }, function (p) { return !p.width && css(templateObject_3 || (templateObject_3 = __makeTemplateObject(["flex: 1;"], ["flex: 1;"]))); }, function (p) { return p.align === 'right' ? 'right' : 'left'; });
22
22
  var ListCell = function (props) { return React.createElement(ListCellStyled, __assign({}, props)); };
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
- interface IProps {
2
+ import { ITestable } from '../../Types';
3
+ interface IProps extends ITestable {
3
4
  /** @ignore */
4
5
  className?: string;
5
6
  /** @ignore */
@@ -16,7 +16,7 @@ var __assign = (this && this.__assign) || function () {
16
16
  import * as React from 'react';
17
17
  import styled, { css } from 'styled-components';
18
18
  var ListRowBase = function (props) {
19
- return React.createElement("div", { "data-testid": "ListRow", className: props.className, onClick: props.disabled ? null : function (e) { return props.onClick(e); } }, props.children);
19
+ return React.createElement("div", { "data-testid": props['data-testid'] || "ListRow", className: props.className, onClick: props.disabled ? null : function (e) { return props.onClick(e); } }, props.children);
20
20
  };
21
21
  var ListRowStyled = styled(ListRowBase)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n padding-left: 16px;\n padding-right: 16px;\n min-height: 42px;\n user-select: none;\n outline: none;\n color: ", ";\n\n // Entire row is clickable:\n cursor: ", ";\n\n // Cells are flex-aligned:\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: center;\n gap: ", "px;\n\n // Background color on hover:\n ", "\n\n ", "\n"], ["\n padding-left: 16px;\n padding-right: 16px;\n min-height: 42px;\n user-select: none;\n outline: none;\n color: ", ";\n\n // Entire row is clickable:\n cursor: ", ";\n\n // Cells are flex-aligned:\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: center;\n gap: ", "px;\n\n // Background color on hover:\n ", "\n\n ", "\n"])), function (p) { return p.theme.colors.neutral[30]; }, function (p) { return (p.onClick && !p.disabled) ? 'pointer' : 'auto'; }, function (p) { return p.gap; }, function (p) { return !p.disabled && css(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n &:hover {\n background-color: ", ";\n }\n\n // Background color on pressed:\n ", "\n\n ", "\n "], ["\n &:hover {\n background-color: ", ";\n }\n\n // Background color on pressed:\n ", "\n\n ", "\n "])), function (p) { return p.theme.colors.neutral[95]; }, p.onClick && css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n &:active {\n background-color: rgb(from ", " r g b / 65%) !important;\n color: ", ";\n }\n "], ["\n &:active {\n background-color: rgb(from ", " r g b / 65%) !important;\n color: ", ";\n }\n "])), function (p) { return p.theme.colors.primary[2]; }, function (p) { return p.theme.colors.neutral[100]; }), p.active && css(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n background-color: rgb(from ", " r g b / 45%) !important;\n color: ", ";\n "], ["\n background-color: rgb(from ", " r g b / 45%) !important;\n color: ", ";\n "])), function (p) { return p.theme.colors.primary[2]; }, function (p) { return p.theme.colors.neutral[100]; })); }, function (p) { return p.disabled && css(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n color: ", ";\n "], ["\n color: ", ";\n "])), function (p) { return p.theme.colors.neutral[50]; }); });
22
22
  var ListRow = function (props) { return React.createElement(ListRowStyled, __assign({}, props)); };
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
- interface IMessageProps {
2
+ import { ITestable } from '../../Types';
3
+ interface IMessageProps extends ITestable {
3
4
  /** @ignore */
4
5
  className?: string;
5
6
  /** @ignore */
@@ -19,7 +19,7 @@ import { NoData } from './NoData';
19
19
  import { NoFilteredData } from './NoFilteredData';
20
20
  import { Error } from './Error';
21
21
  var MessageBase = function (props) {
22
- return React.createElement("div", { "data-testid": "Message", className: props.className }, props.children);
22
+ return React.createElement("div", { "data-testid": props['data-testid'] || "Message", className: props.className }, props.children);
23
23
  };
24
24
  var MessageStyled = styled(MessageBase)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n // Position:\n margin: ", ";\n\n // Content:\n display: flex;\n flex-direction: column;\n justify-content: center;\n text-align: center;\n align-items: center;\n gap: 16px;\n\n // Appearance:\n color: ", ";\n user-select: none;\n padding: 16px 16px 16px 16px;\n border-radius: ", "px;\n background-color: ", "; \n line-height: 22px;\n"], ["\n // Position:\n margin: ", ";\n\n // Content:\n display: flex;\n flex-direction: column;\n justify-content: center;\n text-align: center;\n align-items: center;\n gap: 16px;\n\n // Appearance:\n color: ", ";\n user-select: none;\n padding: 16px 16px 16px 16px;\n border-radius: ", "px;\n background-color: ", "; \n line-height: 22px;\n"
25
25
  /**
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
- interface IOpenableProps {
2
+ import { ITestable } from '../../Types';
3
+ interface IOpenableProps extends ITestable {
3
4
  /**
4
5
  * Toggle element (usually a button or icon)
5
6
  */
@@ -55,9 +55,9 @@ var Openable = function (_a) {
55
55
  React.useEffect(function () {
56
56
  update === null || update === void 0 ? void 0 : update();
57
57
  }, [props.open]);
58
- return (React.createElement("div", { "data-testid": "Openable", ref: toggleRef },
58
+ return (React.createElement("div", { "data-testid": props['data-testid'] || "Openable", ref: toggleRef },
59
59
  props.toggle,
60
- createPortal(React.createElement(Pane, __assign({ "$open": props.open, "$width": width, style: styles.popper }, attributes.popper, { ref: paneRef }), props.open && props.content), // If in fullscreen mode, Openable must portal into fullscreen element,
60
+ createPortal(React.createElement(Pane, __assign({ "data-testid": "Openable.Pane", "$open": props.open, "$width": width, style: styles.popper }, attributes.popper, { ref: paneRef }), props.open && props.content), // If in fullscreen mode, Openable must portal into fullscreen element,
61
61
  // else content will be hidden.
62
62
  (_b = document.fullscreenElement) !== null && _b !== void 0 ? _b : document.body)));
63
63
  };
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
- interface IProps {
2
+ import { ITestable } from '../../Types';
3
+ interface IProps extends ITestable {
3
4
  /** @ignore */
4
5
  className?: string;
5
6
  /** @ignore */
@@ -16,7 +16,7 @@ var __assign = (this && this.__assign) || function () {
16
16
  import * as React from 'react';
17
17
  import styled from 'styled-components';
18
18
  var HelpBase = function (props) {
19
- return (React.createElement("div", { "data-testid": "Help", className: props.className },
19
+ return (React.createElement("div", { "data-testid": props['data-testid'] || "PublicRoute.Help", className: props.className },
20
20
  React.createElement(Body, null,
21
21
  React.createElement(Content, null, props.children))));
22
22
  };
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
- interface IProps {
2
+ import { ITestable } from '../../Types';
3
+ interface IProps extends ITestable {
3
4
  /** @ignore */
4
5
  className?: string;
5
6
  /** @ignore */
@@ -22,7 +22,7 @@ import { SVG } from '../../svg';
22
22
  import { ParticleGlobe } from '../../modules/ParticleGlobe/ParticleGlobe';
23
23
  var PublicRouteBase = function (props) {
24
24
  var _a = React.useState(false), showHelp = _a[0], setShowHelp = _a[1];
25
- return (React.createElement("div", { "data-testid": "PublicRoute", className: props.className },
25
+ return (React.createElement("div", { "data-testid": props['data-testid'] || "PublicRoute", className: props.className },
26
26
  React.createElement(ParticleGlobe, { landmass: 'day', globe: true, glow: 20, trails: 5, pointSize: 1.0, numParticles: 100000, brightness: 0.9, speedFactor: 750, minLifetime: 1000, maxLifetime: 1000, responsive: true }),
27
27
  React.createElement(Content, null,
28
28
  React.createElement(Help, { active: showHelp },
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
- interface IPaneProps {
2
+ import { ITestable } from '../../Types';
3
+ interface IPaneProps extends ITestable {
3
4
  /** @ignore */
4
5
  className?: string;
5
6
  /** @ignore */
@@ -22,7 +22,7 @@ var PaneBase = function (props) {
22
22
  // By default, all children are rendered (but hidden when
23
23
  // not active). With nohiddenrender enabled, only the active
24
24
  // tab is rendered.
25
- return (React.createElement("div", { "data-testid": "Tabs.Pane", className: props.className }, shouldRender() ? props.children : null));
25
+ return (React.createElement("div", { "data-testid": props['data-testid'] || "Tabs.Pane", className: props.className }, shouldRender() ? props.children : null));
26
26
  };
27
27
  var PaneStyled = styled(PaneBase)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n position: relative;\n display: flex;\n flex-direction: column;\n display: ", ";\n height: 100%;\n padding-top: ", "px;\n font: ", ";\n"], ["\n position: relative;\n display: flex;\n flex-direction: column;\n display: ", ";\n height: 100%;\n padding-top: ", "px;\n font: ", ";\n"
28
28
  /**
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
- interface ITabsProps {
2
+ import { ITestable } from '../../Types';
3
+ interface ITabsProps extends ITestable {
3
4
  /** @ignore */
4
5
  className?: string;
5
6
  /** @ignore */
@@ -65,7 +65,7 @@ var TabsBase = function (props) {
65
65
  });
66
66
  });
67
67
  };
68
- return (React.createElement("div", { "data-testid": "Tabs", className: props.className },
68
+ return (React.createElement("div", { "data-testid": props['data-testid'] || "Tabs", className: props.className },
69
69
  React.createElement(TabBar, { active: index, onChange: tabClicked, tabWidth: props.tabWidth }, getTabs()),
70
70
  React.createElement(Panes, null, getPanes())));
71
71
  };
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
- interface IChipProps {
2
+ import { ITestable } from '../../Types';
3
+ interface IChipProps extends ITestable {
3
4
  /** @ignore */
4
5
  className?: string;
5
6
  /**
@@ -38,7 +38,7 @@ var ChipBase = function (props) {
38
38
  props.onClick(e);
39
39
  }
40
40
  };
41
- return (React.createElement("div", { "data-testid": "Chip", className: props.className, tabIndex: 0, onKeyDown: handleKeyDown, "aria-disabled": props.disabled },
41
+ return (React.createElement("div", { "data-testid": props['data-testid'] || "Chip", className: props.className, tabIndex: 0, onKeyDown: handleKeyDown, "aria-disabled": props.disabled },
42
42
  React.createElement("span", { className: "inner", tabIndex: -1 }, props.children),
43
43
  React.createElement("button", { type: "button", onClick: props.onClick, "aria-label": "Remove chip", disabled: props.disabled, "aria-disabled": props.disabled },
44
44
  React.createElement("svg", null,
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
- interface ICircularProgressProps {
2
+ import { ITestable } from '../../Types';
3
+ interface ICircularProgressProps extends ITestable {
3
4
  /** @ignore */
4
5
  className?: string;
5
6
  /**
@@ -32,7 +32,7 @@ var CircularProgressBase = function (props) {
32
32
  var radius = (props.size - props.strokeWidth) / 2;
33
33
  var circumference = 2 * Math.PI * radius;
34
34
  var offset = circumference * (1 - value / 100);
35
- return (React.createElement("div", { "data-testid": "CircularProgress", className: props.className, role: "progressbar", "aria-valuenow": value, "aria-valuemin": 0, "aria-valuemax": 100 },
35
+ return (React.createElement("div", { "data-testid": props['data-testid'] || "CircularProgress", className: props.className, role: "progressbar", "aria-valuenow": value, "aria-valuemin": 0, "aria-valuemax": 100 },
36
36
  React.createElement("svg", { width: props.size, height: props.size },
37
37
  React.createElement("circle", { cx: props.size / 2, cy: props.size / 2, r: radius, fill: "none", strokeDasharray: circumference, strokeDashoffset: offset, strokeLinecap: "round", transform: "rotate(-90 ".concat(props.size / 2, " ").concat(props.size / 2, ")") })),
38
38
  React.createElement(Text, null,
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
- interface IDropzoneProps {
2
+ import { ITestable } from '../../Types';
3
+ interface IDropzoneProps extends ITestable {
3
4
  /** @ignore */
4
5
  className?: string;
5
6
  /**
@@ -53,7 +53,7 @@ var DropzoneBase = function (props) {
53
53
  setHover(false);
54
54
  props.onAddFiles(Array.from(e.dataTransfer.files));
55
55
  };
56
- return (React.createElement("button", { "data-testid": "Dropzone", type: "button", className: "".concat(props.className, " ").concat(hover ? 'hover' : ''), onClick: handleClick, onDragOver: handleDragOver, onDragLeave: handleDragLeave, onDrop: handleDrop, onKeyDown: function (e) {
56
+ return (React.createElement("button", { "data-testid": props['data-testid'] || "Dropzone", type: "button", className: "".concat(props.className, " ").concat(hover ? 'hover' : ''), onClick: handleClick, onDragOver: handleDragOver, onDragLeave: handleDragLeave, onDrop: handleDrop, onKeyDown: function (e) {
57
57
  if (e.key === 'Enter' || e.key === ' ') {
58
58
  e.preventDefault();
59
59
  handleClick();
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { IIconProps } from '../Icon';
3
- interface IFabProps {
3
+ import { ITestable } from '../../Types';
4
+ interface IFabProps extends ITestable {
4
5
  /** @ignore */
5
6
  className?: string;
6
7
  /**
@@ -45,7 +45,7 @@ var FabBase = function (props) {
45
45
  // Call user's click handler if provided:
46
46
  (_a = props.onClick) === null || _a === void 0 ? void 0 : _a.call(props, e);
47
47
  };
48
- return (React.createElement("button", { "data-testid": "Fab", type: "button", className: props.className, onClick: handleClick, onMouseDown: handleMouseDown, title: props.title, disabled: props.disabled, "aria-disabled": props.disabled },
48
+ return (React.createElement("button", { "data-testid": props['data-testid'] || "Fab", type: "button", className: props.className, onClick: handleClick, onMouseDown: handleMouseDown, title: props.title, disabled: props.disabled, "aria-disabled": props.disabled },
49
49
  React.createElement(Icon, __assign({}, (typeof props.icon === 'string' ? { url: props.icon } : props.icon))),
50
50
  props.children));
51
51
  };
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { CSSProperties } from 'styled-components';
3
- interface IGhostProps {
3
+ import { ITestable } from '../../Types';
4
+ interface IGhostProps extends ITestable {
4
5
  /** @ignore */
5
6
  className?: string;
6
7
  /**
@@ -16,7 +16,7 @@ var __assign = (this && this.__assign) || function () {
16
16
  import * as React from 'react';
17
17
  import styled, { keyframes } from 'styled-components';
18
18
  var GhostBase = function (props) {
19
- return React.createElement("div", { "data-testid": "Ghost", className: props.className, style: props.style },
19
+ return React.createElement("div", { "data-testid": props['data-testid'] || "Ghost", className: props.className, style: props.style },
20
20
  React.createElement(Gradient1, null),
21
21
  React.createElement(Gradient2, null));
22
22
  };
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
- import { IGradientStop } from '../../Types';
3
- interface IGradientProps {
2
+ import { IGradientStop, ITestable } from '../../Types';
3
+ interface IGradientProps extends ITestable {
4
4
  /** @ignore */
5
5
  className?: string;
6
6
  /**
@@ -32,7 +32,7 @@ var GradientBase = function (props) {
32
32
  console.warn("Gradient: Missing or invalid 'gradientStops'");
33
33
  return null;
34
34
  }
35
- return React.createElement("div", { "data-testid": "Gradient", className: props.className });
35
+ return React.createElement("div", { "data-testid": props['data-testid'] || "Gradient", className: props.className });
36
36
  };
37
37
  var generateGradient = function (stops) {
38
38
  return "linear-gradient(to right, ".concat(stops.map(function (gs) { return "".concat(gs.color, " ").concat(gs.pos * 100, "%"); }).join(', '), ")");
@@ -1,9 +1,10 @@
1
1
  import * as React from 'react';
2
2
  import { IHistogramAppearance } from './HistogramAppearance';
3
3
  import { IHistogramBin } from './IHistogramBin';
4
+ import { ITestable } from '../../Types';
4
5
  type TTickStyle = 'none' | 'tick' | 'value';
5
6
  type TValueStyle = 'hide' | 'show' | 'hover';
6
- interface IHistogramProps {
7
+ interface IHistogramProps extends ITestable {
7
8
  /** @ignore */
8
9
  className?: string;
9
10
  /**