@madie/madie-design-system 1.2.7 → 1.2.8

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 (120) hide show
  1. package/components/AutoComplete/AutoComplete.jsx +2 -2
  2. package/components/DateField/DateField.jsx +4 -4
  3. package/components/DateTimeField/DateTimeField.jsx +11 -6
  4. package/components/DateTimeField/DateTimeField.stories.jsx +2 -2
  5. package/components/MadieDialog/MadieDialog.stories.js +66 -58
  6. package/components/MadieDialog/index.jsx +29 -15
  7. package/components/MadieTooltip/MadieTooltip.stories.js +28 -0
  8. package/components/MadieTooltip/index.jsx +48 -0
  9. package/components/MadieTooltipIcon/MadieTooltipIcon.stories.js +23 -0
  10. package/components/MadieTooltipIcon/index.jsx +31 -0
  11. package/components/Popover/index.js +3 -2
  12. package/components/ReadOnlyTextField/index.jsx +5 -4
  13. package/components/Search/index.js +1 -1
  14. package/components/TextArea/index.jsx +1 -1
  15. package/components/TextField/TextField.stories.js +20 -0
  16. package/components/TextField/index.jsx +76 -42
  17. package/components/index.js +4 -0
  18. package/coverage/clover.xml +53 -0
  19. package/coverage/coverage-final.json +6 -0
  20. package/coverage/lcov-report/InputLabel/index.html +116 -0
  21. package/coverage/lcov-report/InputLabel/index.jsx.html +244 -0
  22. package/coverage/lcov-report/MadieTooltip/index.html +131 -0
  23. package/coverage/lcov-report/MadieTooltip/index.jsx.html +229 -0
  24. package/coverage/lcov-report/MadieTooltip/index.scss.html +274 -0
  25. package/coverage/lcov-report/MadieTooltipIcon/index.html +116 -0
  26. package/coverage/lcov-report/MadieTooltipIcon/index.jsx.html +178 -0
  27. package/coverage/lcov-report/TextField/index.html +116 -0
  28. package/coverage/lcov-report/TextField/index.jsx.html +556 -0
  29. package/coverage/lcov-report/base.css +224 -0
  30. package/coverage/lcov-report/block-navigation.js +87 -0
  31. package/coverage/lcov-report/favicon.png +0 -0
  32. package/coverage/lcov-report/index.html +161 -0
  33. package/coverage/lcov-report/prettify.css +1 -0
  34. package/coverage/lcov-report/prettify.js +2 -0
  35. package/coverage/lcov-report/react/components/Accordion/index.html +116 -0
  36. package/coverage/lcov-report/react/components/Accordion/index.jsx.html +370 -0
  37. package/coverage/lcov-report/react/components/Button/index.html +116 -0
  38. package/coverage/lcov-report/react/components/Button/index.js.html +385 -0
  39. package/coverage/lcov-report/react/components/DateField/DateField.jsx.html +355 -0
  40. package/coverage/lcov-report/react/components/DateField/index.html +116 -0
  41. package/coverage/lcov-report/react/components/DateTimeField/DateTimeField.jsx.html +340 -0
  42. package/coverage/lcov-report/react/components/DateTimeField/index.html +116 -0
  43. package/coverage/lcov-report/react/components/Error/Collapsible.jsx.html +364 -0
  44. package/coverage/lcov-report/react/components/Error/ErrorUI.jsx.html +178 -0
  45. package/coverage/lcov-report/react/components/Error/error.js.html +163 -0
  46. package/coverage/lcov-report/react/components/Error/index.html +146 -0
  47. package/coverage/lcov-report/react/components/Footer/FooterUI.jsx.html +496 -0
  48. package/coverage/lcov-report/react/components/Footer/LegacyFooterUI.jsx.html +697 -0
  49. package/coverage/lcov-report/react/components/Footer/footer.js.html +175 -0
  50. package/coverage/lcov-report/react/components/Footer/index.html +146 -0
  51. package/coverage/lcov-report/react/components/Infotip/Infotip.jsx.html +310 -0
  52. package/coverage/lcov-report/react/components/Infotip/InfotipIcon.jsx.html +208 -0
  53. package/coverage/lcov-report/react/components/Infotip/index.html +146 -0
  54. package/coverage/lcov-report/react/components/Infotip/index.js.html +94 -0
  55. package/coverage/lcov-report/react/components/InputLabel/index.html +116 -0
  56. package/coverage/lcov-report/react/components/InputLabel/index.jsx.html +244 -0
  57. package/coverage/lcov-report/react/components/MadieAlert/index.html +116 -0
  58. package/coverage/lcov-report/react/components/MadieAlert/index.jsx.html +304 -0
  59. package/coverage/lcov-report/react/components/MadieDeleteDialog/index.html +116 -0
  60. package/coverage/lcov-report/react/components/MadieDeleteDialog/index.jsx.html +247 -0
  61. package/coverage/lcov-report/react/components/MadieDialog/index.html +116 -0
  62. package/coverage/lcov-report/react/components/MadieDialog/index.jsx.html +955 -0
  63. package/coverage/lcov-report/react/components/MadieDiscardDialog/index.html +116 -0
  64. package/coverage/lcov-report/react/components/MadieDiscardDialog/index.jsx.html +232 -0
  65. package/coverage/lcov-report/react/components/MadieSpinner/index.html +116 -0
  66. package/coverage/lcov-report/react/components/MadieSpinner/index.jsx.html +190 -0
  67. package/coverage/lcov-report/react/components/MadieTooltip/index.html +131 -0
  68. package/coverage/lcov-report/react/components/MadieTooltip/index.jsx.html +235 -0
  69. package/coverage/lcov-report/react/components/MadieTooltip/index.scss.html +274 -0
  70. package/coverage/lcov-report/react/components/MadieTooltipIcon/index.html +116 -0
  71. package/coverage/lcov-report/react/components/MadieTooltipIcon/index.jsx.html +178 -0
  72. package/coverage/lcov-report/react/components/Pagination/index.html +116 -0
  73. package/coverage/lcov-report/react/components/Pagination/index.jsx.html +736 -0
  74. package/coverage/lcov-report/react/components/Popover/index.html +116 -0
  75. package/coverage/lcov-report/react/components/Popover/index.js.html +478 -0
  76. package/coverage/lcov-report/react/components/ReadOnlyTextField/index.html +116 -0
  77. package/coverage/lcov-report/react/components/ReadOnlyTextField/index.jsx.html +514 -0
  78. package/coverage/lcov-report/react/components/Select/index.html +116 -0
  79. package/coverage/lcov-report/react/components/Select/index.jsx.html +646 -0
  80. package/coverage/lcov-report/react/components/Tabs/Tab.js.html +325 -0
  81. package/coverage/lcov-report/react/components/Tabs/index.html +131 -0
  82. package/coverage/lcov-report/react/components/Tabs/index.js.html +370 -0
  83. package/coverage/lcov-report/react/components/TextArea/index.html +116 -0
  84. package/coverage/lcov-report/react/components/TextArea/index.jsx.html +436 -0
  85. package/coverage/lcov-report/react/components/TextField/index.html +116 -0
  86. package/coverage/lcov-report/react/components/TextField/index.jsx.html +556 -0
  87. package/coverage/lcov-report/react/components/Toast/index.html +116 -0
  88. package/coverage/lcov-report/react/components/Toast/index.jsx.html +436 -0
  89. package/coverage/lcov-report/react/components/Tooltip/Tooltip.jsx.html +349 -0
  90. package/coverage/lcov-report/react/components/Tooltip/index.html +146 -0
  91. package/coverage/lcov-report/react/components/Tooltip/index.js.html +94 -0
  92. package/coverage/lcov-report/react/components/Tooltip/position.js.html +313 -0
  93. package/coverage/lcov-report/react/index.html +116 -0
  94. package/coverage/lcov-report/react/index.js.html +133 -0
  95. package/coverage/lcov-report/react/lib/Chevron.jsx.html +181 -0
  96. package/coverage/lcov-report/react/lib/SvgComponents.jsx.html +1777 -0
  97. package/coverage/lcov-report/react/lib/index.html +131 -0
  98. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  99. package/coverage/lcov-report/sorter.js +196 -0
  100. package/coverage/lcov.info +113 -0
  101. package/dist/browser.js +1 -1
  102. package/dist/index.js +1 -1
  103. package/dist/react/index.js +11 -11
  104. package/dist/react/index.js.map +1 -1
  105. package/jest/mediaFileTransformer.js +7 -7
  106. package/package.json +2 -2
  107. package/storybook-static/875.f84e25ca.iframe.bundle.js +103 -0
  108. package/storybook-static/{173.0b985e58.iframe.bundle.js.map → 875.f84e25ca.iframe.bundle.js.map} +1 -1
  109. package/storybook-static/iframe.html +1 -1
  110. package/storybook-static/main.e57b4407.iframe.bundle.js +1 -0
  111. package/storybook-static/project.json +1 -1
  112. package/styles/_qpp-style.scss +1 -0
  113. package/styles/components/_madie-tooltip.scss +63 -0
  114. package/styles/qppds/components/_madie-tooltip.scss +63 -0
  115. package/styles/qppds/components/index.scss +1 -0
  116. package/styles/qppds/settings/variables/_color.scss +2 -0
  117. package/test/components/TextField.test.js +55 -1
  118. package/storybook-static/173.0b985e58.iframe.bundle.js +0 -103
  119. package/storybook-static/main.4051ebc5.iframe.bundle.js +0 -1
  120. /package/storybook-static/{173.0b985e58.iframe.bundle.js.LICENSE.txt → 875.f84e25ca.iframe.bundle.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"generatedAt":1705597535482,"builder":{"name":"webpack5"},"hasCustomBabel":false,"hasCustomWebpack":true,"hasStaticDirs":false,"hasStorybookEslint":false,"refCount":0,"packageManager":{"type":"npm","version":"9.8.0"},"storybookVersion":"6.5.16","language":"javascript","storybookPackages":{"@storybook/addons":{"version":"6.5.15"},"@storybook/builder-webpack5":{"version":"6.5.15"},"@storybook/manager-webpack5":{"version":"6.5.15"},"@storybook/react":{"version":"6.5.16"}},"framework":{"name":"react"},"addons":{"@storybook/addon-actions":{"version":"6.5.15"},"@storybook/addon-links":{"version":"6.5.15"},"@storybook/addon-storysource":{"version":"6.5.15"},"@storybook/addon-knobs":{"version":"6.4.0"},"@storybook/addon-a11y":{"version":"6.5.15"},"@storybook/addon-docs":{"version":"6.5.15"},"@storybook/addon-backgrounds":{"version":"6.5.15"},"@storybook/addon-viewport":{"version":"6.5.15"},"@storybook/addon-postcss":{"version":"2.0.0"}}}
1
+ {"generatedAt":1706120305844,"builder":{"name":"webpack5"},"hasCustomBabel":false,"hasCustomWebpack":true,"hasStaticDirs":false,"hasStorybookEslint":false,"refCount":0,"packageManager":{"type":"npm","version":"9.8.0"},"storybookVersion":"6.5.16","language":"javascript","storybookPackages":{"@storybook/addons":{"version":"6.5.15"},"@storybook/builder-webpack5":{"version":"6.5.15"},"@storybook/manager-webpack5":{"version":"6.5.15"},"@storybook/react":{"version":"6.5.16"}},"framework":{"name":"react"},"addons":{"@storybook/addon-actions":{"version":"6.5.15"},"@storybook/addon-links":{"version":"6.5.15"},"@storybook/addon-storysource":{"version":"6.5.15"},"@storybook/addon-knobs":{"version":"6.4.0"},"@storybook/addon-a11y":{"version":"6.5.15"},"@storybook/addon-docs":{"version":"6.5.15"},"@storybook/addon-backgrounds":{"version":"6.5.15"},"@storybook/addon-viewport":{"version":"6.5.15"},"@storybook/addon-postcss":{"version":"2.0.0"}}}
@@ -15,6 +15,7 @@
15
15
  @import 'components/madie-discard-dialog';
16
16
  @import 'components/madie-delete-dialog';
17
17
  @import 'components/madie-alert';
18
+ @import 'components/madie-tooltip';
18
19
  @import 'components/text-field-variable';
19
20
  @import 'components/pie-chart';
20
21
  @import 'components/score-chart';
@@ -0,0 +1,63 @@
1
+ @import '../../styles/qppds/settings/index';
2
+
3
+ .madie-tooltip-button {
4
+ padding: 0;
5
+ background-color: transparent;
6
+ border:none;
7
+ display: flex;
8
+ flex-direction: row;
9
+ height: 14px;
10
+ align-self: flex-end;
11
+ margin-right: 1px;
12
+ margin-left: 4px;
13
+ margin-bottom: -1px;
14
+ position: relative;
15
+ overflow: visible;
16
+
17
+ &:focus {
18
+ outline-color: $cyan-50
19
+ }
20
+
21
+ > svg {
22
+ display: flex;
23
+ align-self: center;
24
+ }
25
+
26
+ > .madie-tooltip {
27
+ z-index: 1;
28
+ border-radius: 4px;
29
+ color: #fff;
30
+ background: $grey-80;
31
+ max-width: 250px;
32
+ min-width: 250px;
33
+ width: max-content;
34
+ padding: 8px 16px;
35
+ position: absolute;
36
+ top: 24px;
37
+ overflow: visible;
38
+ left: -125px;
39
+
40
+ &.hidden {
41
+ visibility: hidden;
42
+ }
43
+
44
+ > p {
45
+ font-size: 14px;
46
+ font-style: normal;
47
+ font-weight: 400;
48
+ margin: 0;
49
+ }
50
+
51
+ &:after {
52
+ content: "";
53
+ position: absolute;
54
+ top: -8px;
55
+ height: 16px;
56
+ width: 16px;
57
+ background-color: $grey-80;
58
+ rotate: 45deg;
59
+ left: calc(50% - 1px)
60
+ }
61
+ }
62
+ }
63
+
@@ -0,0 +1,63 @@
1
+ @import '../settings/index';
2
+
3
+ .madie-tooltip-button {
4
+ padding: 0;
5
+ background-color: transparent;
6
+ border:none;
7
+ display: flex;
8
+ flex-direction: row;
9
+ height: 14px;
10
+ align-self: flex-end;
11
+ margin-right: 1px;
12
+ margin-left: 4px;
13
+ margin-bottom: -1px;
14
+ position: relative;
15
+ overflow: visible;
16
+
17
+ &:focus {
18
+ outline-color: $cyan-50
19
+ }
20
+
21
+ > svg {
22
+ display: flex;
23
+ align-self: center;
24
+ }
25
+
26
+ > .madie-tooltip {
27
+ z-index: 1;
28
+ border-radius: 4px;
29
+ color: #fff;
30
+ background: $grey-80;
31
+ max-width: 250px;
32
+ min-width: 250px;
33
+ width: max-content;
34
+ padding: 8px 16px;
35
+ position: absolute;
36
+ top: 24px;
37
+ overflow: visible;
38
+ left: -125px;
39
+
40
+ &.hidden {
41
+ visibility: hidden;
42
+ }
43
+
44
+ > p {
45
+ font-size: 14px;
46
+ font-style: normal;
47
+ font-weight: 400;
48
+ margin: 0;
49
+ }
50
+
51
+ &:after {
52
+ content: "";
53
+ position: absolute;
54
+ top: -8px;
55
+ height: 16px;
56
+ width: 16px;
57
+ background-color: $grey-80;
58
+ rotate: 45deg;
59
+ left: calc(50% - 1px)
60
+ }
61
+ }
62
+ }
63
+
@@ -1,6 +1,7 @@
1
1
  @import './link';
2
2
  @import './madie-discard-dialog';
3
3
  @import './madie-delete-dialog';
4
+ @import './madie-tooltip';
4
5
  @import './madie-alert';
5
6
  @import './button';
6
7
  @import './dropdown';
@@ -26,6 +26,8 @@ $red-10: #fde7ea;
26
26
  $red-50: #d92f2f;
27
27
  $red-60: #ae1c1c;
28
28
 
29
+ $grey-80: #333;
30
+
29
31
  $gray-02: #fafafa;
30
32
  $gray-04: #f7f7f7;
31
33
  $gray-10: #dddddd;
@@ -2,7 +2,7 @@ import "@testing-library/jest-dom";
2
2
  import { describe, expect, test } from "@jest/globals";
3
3
  import TextField from "../../components/TextField/index";
4
4
  import { act, Simulate } from "react-dom/test-utils";
5
- import { render } from "@testing-library/react";
5
+ import { findByTestId, render, fireEvent } from "@testing-library/react";
6
6
  import userEvent from "@testing-library/user-event";
7
7
 
8
8
  import * as React from "react";
@@ -83,4 +83,58 @@ describe("TextField", () => {
83
83
  expect(helperText).toBeInTheDocument();
84
84
  });
85
85
  });
86
+
87
+ test("tooltip text renders, can be seen and removed.", async () => {
88
+ await act(async () => {
89
+ const { getByTestId, findByTestId, getByText } = render(
90
+ <TextField
91
+ placeholder="test Name"
92
+ helperText="helper text"
93
+ label="test Name"
94
+ id="testName"
95
+ tooltipText="tooltip text"
96
+ inputProps={{ "data-testid": "test-name-input" }}
97
+ data-testid="test-name-text-field"
98
+ size="small"
99
+ />
100
+ );
101
+ const tooltipTrigger = await findByTestId("testName-tooltip-button")
102
+
103
+ // click and escape
104
+ act(() => {
105
+ fireEvent.click(tooltipTrigger);
106
+ })
107
+ expect(getByText("tooltip text")).toBeInTheDocument();
108
+ act(() => {
109
+ fireEvent.keyDown(getByText(/tooltip text/i), {
110
+ key: "Escape",
111
+ code: "Escape",
112
+ keyCode: 27,
113
+ charCode: 27
114
+ });
115
+ })
116
+ expect(getByTestId("testName-tooltip")).toHaveClass("hidden")
117
+
118
+ // enter and leave
119
+ act(() => {
120
+ fireEvent.mouseEnter(getByTestId("testName-tooltip-button"));
121
+ })
122
+ expect(getByTestId("testName-tooltip")).not.toHaveClass("hidden")
123
+ act(() => {
124
+ fireEvent.mouseLeave(getByTestId("testName-tooltip-button"));
125
+ })
126
+ expect(getByTestId("testName-tooltip")).toHaveClass("hidden")
127
+
128
+ // focus, blur
129
+ act(() => {
130
+ fireEvent.focus(getByTestId("testName-tooltip-button"));
131
+ })
132
+ expect(getByTestId("testName-tooltip")).not.toHaveClass("hidden")
133
+
134
+ act(() => {
135
+ fireEvent.blur(getByTestId("testName-tooltip-button"));
136
+ })
137
+ expect(getByTestId("testName-tooltip")).toHaveClass("hidden")
138
+ });
139
+ });
86
140
  });