@pingux/astro 2.143.0-alpha.0 → 2.143.0-alpha.2

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 (215) hide show
  1. package/lib/cjs/components/AccordionGridGroup/AccordionGrid.styles.js +1 -2
  2. package/lib/cjs/components/AccordionGridGroup/AccordionGridGroup.stories.js +86 -5
  3. package/lib/cjs/components/AccordionGridItem/AccordionGridItemHeader.js +7 -5
  4. package/lib/cjs/components/AccordionGroup/AccordionGroup.js +5 -3
  5. package/lib/cjs/components/AccordionGroup/AccordionGroup.stories.js +3 -6
  6. package/lib/cjs/components/AccordionItem/AccordionItem.js +8 -4
  7. package/lib/cjs/components/AstroProvider/AstroProvider.js +3 -3
  8. package/lib/cjs/components/Breadcrumbs/Breadcrumbs.js +6 -2
  9. package/lib/cjs/components/Button/Button.stories.js +6 -3
  10. package/lib/cjs/components/Button/Buttons.styles.d.ts +40 -0
  11. package/lib/cjs/components/Button/Buttons.styles.js +2 -0
  12. package/lib/cjs/components/CollapsiblePanel/CollapsiblePanel.stories.js +5 -1
  13. package/lib/cjs/components/CopyText/CopyButton.js +4 -1
  14. package/lib/cjs/components/CopyText/CopyText.js +2 -1
  15. package/lib/cjs/components/GridList/GridList.stories.js +0 -1
  16. package/lib/cjs/components/Icon/Icon.js +2 -1
  17. package/lib/cjs/components/Icon/Icon.stories.js +1 -1
  18. package/lib/cjs/components/IconBadge/IconBadge.js +4 -4
  19. package/lib/cjs/components/IconBadge/IconBadge.stories.js +2 -2
  20. package/lib/cjs/components/Input/Input.styles.js +3 -0
  21. package/lib/cjs/components/ListBox/ListBox.js +4 -2
  22. package/lib/cjs/components/ListBox/Option.js +8 -4
  23. package/lib/cjs/components/ListView/ListView.stories.js +27 -10
  24. package/lib/cjs/components/ListView/ListViewItem.js +1 -1
  25. package/lib/cjs/components/Loader/Loader.js +71 -5
  26. package/lib/cjs/components/Loader/Loader.stories.js +17 -2
  27. package/lib/cjs/components/Loader/Loader.styles.d.ts +7 -0
  28. package/lib/cjs/components/Loader/Loader.styles.js +11 -1
  29. package/lib/cjs/components/MultivaluesField/CondensedMultivaluesField.js +6 -4
  30. package/lib/cjs/components/MultivaluesField/DefaultMultivaluesField.js +26 -15
  31. package/lib/cjs/components/PageHeader/PageHeader.js +5 -2
  32. package/lib/cjs/components/PanelHeader/PanelHeader.js +43 -10
  33. package/lib/cjs/components/PanelHeader/PanelHeader.stories.js +9 -4
  34. package/lib/cjs/components/PanelHeader/PanelHeader.styles.js +5 -0
  35. package/lib/cjs/components/PanelHeader/PanelHeader.test.js +22 -0
  36. package/lib/cjs/components/RequirementsList/RequirementsList.js +11 -8
  37. package/lib/cjs/components/SearchField/SearchAutoComplete.d.ts +3 -0
  38. package/lib/cjs/components/SearchField/SearchAutoComplete.js +168 -0
  39. package/lib/cjs/components/SearchField/SearchField.d.ts +2 -2
  40. package/lib/cjs/components/SearchField/SearchField.js +20 -78
  41. package/lib/cjs/components/SearchField/SearchField.stories.d.ts +8 -7
  42. package/lib/cjs/components/SearchField/SearchField.stories.js +43 -3
  43. package/lib/cjs/components/SearchField/SearchField.test.js +132 -0
  44. package/lib/cjs/components/SearchField/SearchFieldBase.d.ts +3 -0
  45. package/lib/cjs/components/SearchField/SearchFieldBase.js +91 -0
  46. package/lib/cjs/components/Stepper/Step.js +1 -1
  47. package/lib/cjs/components/Stepper/Stepper.styles.js +1 -0
  48. package/lib/cjs/components/Switch/Switch.js +12 -2
  49. package/lib/cjs/components/Switch/Switch.styles.js +1 -1
  50. package/lib/cjs/components/SwitchField/SwitchField.js +7 -2
  51. package/lib/cjs/components/Tabs/Tabs.stories.js +23 -7
  52. package/lib/cjs/components/Text/Text.stories.d.ts +1 -0
  53. package/lib/cjs/components/Text/Text.stories.js +354 -1
  54. package/lib/cjs/components/Text/Text.styles.d.ts +10 -0
  55. package/lib/cjs/components/Text/Text.styles.js +5 -0
  56. package/lib/cjs/components/TextField/TextField.stories.js +12 -2
  57. package/lib/cjs/hooks/useCircularLoader/useCircularLoader.d.ts +23 -0
  58. package/lib/cjs/hooks/useCircularLoader/useCircularLoader.js +80 -0
  59. package/lib/cjs/hooks/useCircularLoader/useCircularLoader.test.d.ts +1 -0
  60. package/lib/cjs/hooks/useCircularLoader/useCircularLoader.test.js +136 -0
  61. package/lib/cjs/hooks/useField/useField.d.ts +6 -6
  62. package/lib/cjs/hooks/useGetTheme/useGetTheme.d.ts +75 -0
  63. package/lib/cjs/hooks/usePagination/usePagination.d.ts +4 -4
  64. package/lib/cjs/styles/colors.d.ts +6 -0
  65. package/lib/cjs/styles/colors.js +4 -1
  66. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/colors.d.ts +36 -0
  67. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/colors.js +23 -2
  68. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/customProperties/icons.d.ts +5 -0
  69. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/customProperties/index.d.ts +17 -0
  70. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/customProperties/index.js +7 -1
  71. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/buttons.d.ts +66 -0
  72. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/buttons.js +18 -0
  73. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/forms.d.ts +15 -0
  74. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/forms.js +18 -1
  75. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/input.d.ts +0 -8
  76. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/input.js +9 -9
  77. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/links.d.ts +14 -0
  78. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/links.js +15 -0
  79. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/variants.d.ts +5 -0
  80. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/variants.js +5 -0
  81. package/lib/cjs/styles/themes/astro/customProperties/icons.d.ts +5 -0
  82. package/lib/cjs/styles/themes/astro/customProperties/icons.js +11 -4
  83. package/lib/cjs/styles/themes/astro/customProperties/index.d.ts +18 -0
  84. package/lib/cjs/styles/themes/astro/customProperties/index.js +26 -1
  85. package/lib/cjs/styles/themes/next-gen/codeView/codeView.d.ts +2 -0
  86. package/lib/cjs/styles/themes/next-gen/codeView/codeView.js +4 -2
  87. package/lib/cjs/styles/themes/next-gen/colors/colors.d.ts +37 -0
  88. package/lib/cjs/styles/themes/next-gen/colors/colors.js +5 -2
  89. package/lib/cjs/styles/themes/next-gen/colors/iconWrapper.js +14 -35
  90. package/lib/cjs/styles/themes/next-gen/colors/twoTone.d.ts +37 -0
  91. package/lib/cjs/styles/themes/next-gen/colors/twoTone.js +46 -0
  92. package/lib/cjs/styles/themes/next-gen/convertedComponentList.d.ts +4 -1
  93. package/lib/cjs/styles/themes/next-gen/convertedComponentList.js +6 -3
  94. package/lib/cjs/styles/themes/next-gen/customProperties/customSizes.d.ts +10 -0
  95. package/lib/cjs/styles/themes/next-gen/customProperties/customSizes.js +22 -0
  96. package/lib/cjs/styles/themes/next-gen/customProperties/icons.d.ts +5 -0
  97. package/lib/cjs/styles/themes/next-gen/customProperties/icons.js +10 -3
  98. package/lib/cjs/styles/themes/next-gen/customProperties/index.d.ts +17 -0
  99. package/lib/cjs/styles/themes/next-gen/customProperties/index.js +26 -4
  100. package/lib/cjs/styles/themes/next-gen/customProperties/tShirtSizes.js +4 -4
  101. package/lib/cjs/styles/themes/next-gen/forms.d.ts +42 -0
  102. package/lib/cjs/styles/themes/next-gen/forms.js +5 -0
  103. package/lib/cjs/styles/themes/next-gen/next-gen.d.ts +1151 -857
  104. package/lib/cjs/styles/themes/next-gen/next-gen.js +1 -1
  105. package/lib/cjs/styles/themes/next-gen/text.js +2 -2
  106. package/lib/cjs/styles/themes/next-gen/variants/accordion.d.ts +16 -0
  107. package/lib/cjs/styles/themes/next-gen/variants/accordion.js +26 -0
  108. package/lib/cjs/styles/themes/next-gen/variants/badges.d.ts +0 -17
  109. package/lib/cjs/styles/themes/next-gen/variants/badges.js +1 -3
  110. package/lib/cjs/styles/themes/next-gen/variants/button.d.ts +151 -105
  111. package/lib/cjs/styles/themes/next-gen/variants/button.js +38 -7
  112. package/lib/cjs/styles/themes/next-gen/variants/cards.js +1 -1
  113. package/lib/cjs/styles/themes/next-gen/variants/input.js +16 -5
  114. package/lib/cjs/styles/themes/next-gen/variants/label.js +5 -3
  115. package/lib/cjs/styles/themes/next-gen/variants/links.d.ts +4 -2
  116. package/lib/cjs/styles/themes/next-gen/variants/listview.js +1 -1
  117. package/lib/cjs/styles/themes/next-gen/variants/panelHeader.d.ts +16 -0
  118. package/lib/cjs/styles/themes/next-gen/variants/panelHeader.js +26 -0
  119. package/lib/cjs/styles/themes/next-gen/variants/stepper.d.ts +66 -0
  120. package/lib/cjs/styles/themes/next-gen/variants/stepper.js +74 -0
  121. package/lib/cjs/styles/themes/next-gen/variants/switch.d.ts +36 -0
  122. package/lib/cjs/styles/themes/next-gen/variants/switch.js +44 -0
  123. package/lib/cjs/styles/themes/next-gen/variants/text.d.ts +62 -0
  124. package/lib/cjs/styles/themes/next-gen/variants/text.js +67 -7
  125. package/lib/cjs/styles/themes/next-gen/variants/variants.d.ts +900 -743
  126. package/lib/cjs/styles/themes/next-gen/variants/variants.js +88 -38
  127. package/lib/cjs/types/listBox.d.ts +2 -0
  128. package/lib/cjs/types/loader.d.ts +5 -2
  129. package/lib/cjs/types/searchField.d.ts +11 -1
  130. package/lib/cjs/types/shared/style.d.ts +2 -0
  131. package/lib/components/AccordionGridGroup/AccordionGrid.styles.js +1 -2
  132. package/lib/components/AccordionGridGroup/AccordionGridGroup.stories.js +86 -5
  133. package/lib/components/AccordionGridItem/AccordionGridItemHeader.js +6 -4
  134. package/lib/components/AccordionGroup/AccordionGroup.js +5 -3
  135. package/lib/components/AccordionGroup/AccordionGroup.stories.js +3 -6
  136. package/lib/components/AccordionItem/AccordionItem.js +8 -4
  137. package/lib/components/AstroProvider/AstroProvider.js +3 -3
  138. package/lib/components/Breadcrumbs/Breadcrumbs.js +7 -3
  139. package/lib/components/Button/Button.stories.js +4 -1
  140. package/lib/components/Button/Buttons.styles.js +2 -0
  141. package/lib/components/CollapsiblePanel/CollapsiblePanel.stories.js +5 -1
  142. package/lib/components/CopyText/CopyButton.js +4 -1
  143. package/lib/components/CopyText/CopyText.js +2 -1
  144. package/lib/components/GridList/GridList.stories.js +0 -1
  145. package/lib/components/Icon/Icon.js +2 -1
  146. package/lib/components/Icon/Icon.stories.js +1 -1
  147. package/lib/components/IconBadge/IconBadge.js +4 -4
  148. package/lib/components/IconBadge/IconBadge.stories.js +2 -2
  149. package/lib/components/Input/Input.styles.js +3 -0
  150. package/lib/components/ListBox/ListBox.js +4 -2
  151. package/lib/components/ListBox/Option.js +8 -4
  152. package/lib/components/ListView/ListView.stories.js +28 -11
  153. package/lib/components/ListView/ListViewItem.js +1 -1
  154. package/lib/components/Loader/Loader.js +71 -3
  155. package/lib/components/Loader/Loader.stories.js +13 -0
  156. package/lib/components/Loader/Loader.styles.js +11 -1
  157. package/lib/components/MultivaluesField/CondensedMultivaluesField.js +6 -4
  158. package/lib/components/MultivaluesField/DefaultMultivaluesField.js +27 -16
  159. package/lib/components/PageHeader/PageHeader.js +5 -2
  160. package/lib/components/PanelHeader/PanelHeader.js +44 -11
  161. package/lib/components/PanelHeader/PanelHeader.stories.js +9 -4
  162. package/lib/components/PanelHeader/PanelHeader.styles.js +5 -0
  163. package/lib/components/PanelHeader/PanelHeader.test.js +23 -1
  164. package/lib/components/RequirementsList/RequirementsList.js +7 -4
  165. package/lib/components/SearchField/SearchAutoComplete.js +156 -0
  166. package/lib/components/SearchField/SearchField.js +18 -78
  167. package/lib/components/SearchField/SearchField.stories.js +41 -3
  168. package/lib/components/SearchField/SearchField.test.js +132 -0
  169. package/lib/components/SearchField/SearchFieldBase.js +79 -0
  170. package/lib/components/Stepper/Step.js +1 -1
  171. package/lib/components/Stepper/Stepper.styles.js +1 -0
  172. package/lib/components/Switch/Switch.js +12 -2
  173. package/lib/components/Switch/Switch.styles.js +1 -1
  174. package/lib/components/SwitchField/SwitchField.js +7 -2
  175. package/lib/components/Tabs/Tabs.stories.js +23 -7
  176. package/lib/components/Text/Text.stories.js +352 -0
  177. package/lib/components/Text/Text.styles.js +5 -0
  178. package/lib/components/TextField/TextField.stories.js +12 -2
  179. package/lib/hooks/useCircularLoader/useCircularLoader.js +71 -0
  180. package/lib/hooks/useCircularLoader/useCircularLoader.test.js +129 -0
  181. package/lib/styles/colors.js +4 -1
  182. package/lib/styles/themeOverrides/nextGenDarkMode/colors.js +23 -2
  183. package/lib/styles/themeOverrides/nextGenDarkMode/customProperties/index.js +7 -1
  184. package/lib/styles/themeOverrides/nextGenDarkMode/variants/buttons.js +18 -0
  185. package/lib/styles/themeOverrides/nextGenDarkMode/variants/forms.js +18 -1
  186. package/lib/styles/themeOverrides/nextGenDarkMode/variants/input.js +9 -9
  187. package/lib/styles/themeOverrides/nextGenDarkMode/variants/links.js +15 -0
  188. package/lib/styles/themeOverrides/nextGenDarkMode/variants/variants.js +5 -0
  189. package/lib/styles/themes/astro/customProperties/icons.js +12 -5
  190. package/lib/styles/themes/astro/customProperties/index.js +26 -1
  191. package/lib/styles/themes/next-gen/codeView/codeView.js +4 -2
  192. package/lib/styles/themes/next-gen/colors/colors.js +5 -2
  193. package/lib/styles/themes/next-gen/colors/iconWrapper.js +14 -35
  194. package/lib/styles/themes/next-gen/colors/twoTone.js +38 -0
  195. package/lib/styles/themes/next-gen/convertedComponentList.js +6 -3
  196. package/lib/styles/themes/next-gen/customProperties/customSizes.js +14 -0
  197. package/lib/styles/themes/next-gen/customProperties/icons.js +10 -3
  198. package/lib/styles/themes/next-gen/customProperties/index.js +26 -2
  199. package/lib/styles/themes/next-gen/customProperties/tShirtSizes.js +4 -4
  200. package/lib/styles/themes/next-gen/forms.js +5 -0
  201. package/lib/styles/themes/next-gen/next-gen.js +1 -1
  202. package/lib/styles/themes/next-gen/text.js +2 -2
  203. package/lib/styles/themes/next-gen/variants/accordion.js +18 -0
  204. package/lib/styles/themes/next-gen/variants/badges.js +1 -3
  205. package/lib/styles/themes/next-gen/variants/button.js +38 -7
  206. package/lib/styles/themes/next-gen/variants/cards.js +1 -1
  207. package/lib/styles/themes/next-gen/variants/input.js +16 -5
  208. package/lib/styles/themes/next-gen/variants/label.js +5 -3
  209. package/lib/styles/themes/next-gen/variants/listview.js +1 -1
  210. package/lib/styles/themes/next-gen/variants/panelHeader.js +18 -0
  211. package/lib/styles/themes/next-gen/variants/stepper.js +66 -0
  212. package/lib/styles/themes/next-gen/variants/switch.js +36 -0
  213. package/lib/styles/themes/next-gen/variants/text.js +67 -7
  214. package/lib/styles/themes/next-gen/variants/variants.js +82 -37
  215. package/package.json +2 -1
@@ -3,6 +3,7 @@
3
3
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
4
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
5
5
  var _react = _interopRequireDefault(require("react"));
6
+ var _collections = require("@react-stately/collections");
6
7
  var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
7
8
  var _testWrapper = require("../../utils/testUtils/testWrapper");
8
9
  var _universalComponentTest = require("../../utils/testUtils/universalComponentTest");
@@ -10,6 +11,7 @@ var _universalFormSubmitTest = require("../../utils/testUtils/universalFormSubmi
10
11
  var _ = _interopRequireDefault(require("."));
11
12
  var _react2 = require("@emotion/react");
12
13
  var testId = 'test-radio-group';
14
+ var testValue = 'Option';
13
15
  var testLabel = 'Test Label';
14
16
  var defaultProps = {
15
17
  'data-testid': testId,
@@ -19,6 +21,16 @@ var getComponent = function getComponent() {
19
21
  var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
20
22
  return (0, _testWrapper.render)((0, _react2.jsx)(_["default"], (0, _extends2["default"])({}, defaultProps, props)));
21
23
  };
24
+ var getAutocompleteComponent = function getAutocompleteComponent() {
25
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
26
+ return (0, _testWrapper.render)((0, _react2.jsx)(_["default"], (0, _extends2["default"])({}, defaultProps, props), (0, _react2.jsx)(_collections.Item, {
27
+ key: "1"
28
+ }, "Option 1"), (0, _react2.jsx)(_collections.Item, {
29
+ key: "2"
30
+ }, "Option 2"), (0, _react2.jsx)(_collections.Item, {
31
+ key: "3"
32
+ }, "Option 3")));
33
+ };
22
34
  (0, _universalFormSubmitTest.universalFieldComponentTests)({
23
35
  renderComponent: function renderComponent(props) {
24
36
  return (0, _react2.jsx)(_["default"], (0, _extends2["default"])({}, defaultProps, props));
@@ -219,4 +231,124 @@ test('clear button should not be present is hasNoClearButton=true ', function ()
219
231
  hasNoClearButton: true
220
232
  });
221
233
  expect(_testWrapper.screen.queryByRole('button')).not.toBeInTheDocument();
234
+ });
235
+ describe('Autocomplete mode', function () {
236
+ beforeAll(function () {
237
+ jest.spyOn(window.HTMLElement.prototype, 'clientWidth', 'get').mockImplementation(function () {
238
+ return 1000;
239
+ });
240
+ jest.spyOn(window.HTMLElement.prototype, 'clientHeight', 'get').mockImplementation(function () {
241
+ return 1000;
242
+ });
243
+ window.HTMLElement.prototype.scrollIntoView = jest.fn();
244
+ jest.spyOn(window.screen, 'width', 'get').mockImplementation(function () {
245
+ return 1024;
246
+ });
247
+ jest.spyOn(window, 'requestAnimationFrame').mockImplementation(function (cb) {
248
+ cb(0);
249
+ return 0;
250
+ });
251
+ jest.useFakeTimers();
252
+ });
253
+ afterEach(function () {
254
+ jest.clearAllMocks();
255
+ });
256
+ test('default autocomplete search field', function () {
257
+ getAutocompleteComponent({
258
+ mode: 'autocomplete'
259
+ });
260
+ var search = _testWrapper.screen.getByLabelText(testLabel);
261
+ var label = _testWrapper.screen.getByText(testLabel);
262
+ expect(search).toBeInstanceOf(HTMLInputElement);
263
+ expect(label).toBeInstanceOf(HTMLLabelElement);
264
+ expect(search).toBeInTheDocument();
265
+ expect(label).toBeInTheDocument();
266
+ });
267
+ test('autocomplete options appear on user input', function () {
268
+ getAutocompleteComponent({
269
+ mode: 'autocomplete'
270
+ });
271
+ var control = _testWrapper.screen.getByLabelText(testLabel);
272
+ _userEvent["default"].type(control, testValue);
273
+ expect(control).toHaveValue(testValue);
274
+ expect(_testWrapper.screen.queryByText('Option 1')).toBeInTheDocument();
275
+ expect(_testWrapper.screen.queryByText('Option 2')).toBeInTheDocument();
276
+ expect(_testWrapper.screen.queryByText('Option 3')).toBeInTheDocument();
277
+ _testWrapper.fireEvent.change(control, {
278
+ target: {
279
+ value: '3'
280
+ }
281
+ });
282
+ expect(_testWrapper.screen.queryByText('Option 1')).not.toBeInTheDocument();
283
+ expect(_testWrapper.screen.queryByText('Option 2')).not.toBeInTheDocument();
284
+ expect(_testWrapper.screen.queryByText('Option 3')).toBeInTheDocument();
285
+ });
286
+ test('Allow custom values', function () {
287
+ var onSubmit = jest.fn();
288
+ getAutocompleteComponent({
289
+ mode: 'autocomplete',
290
+ onSubmit: onSubmit
291
+ });
292
+ var control = _testWrapper.screen.getByLabelText(testLabel);
293
+ _userEvent["default"].type(control, 'Custom Value{enter}');
294
+ expect(onSubmit).toHaveBeenCalledWith('Custom Value');
295
+ });
296
+ test('clear button works in autocomplete mode', function () {
297
+ getAutocompleteComponent({
298
+ mode: 'autocomplete'
299
+ });
300
+ var search = _testWrapper.screen.getByLabelText(testLabel);
301
+ _userEvent["default"].type(search, 'clear');
302
+ expect(search).toHaveValue('clear');
303
+ var clearButton = _testWrapper.screen.getByRole('button');
304
+ expect(clearButton).toHaveAttribute('tabindex', '0');
305
+ (0, _testWrapper.act)(function () {
306
+ clearButton.focus();
307
+ });
308
+ expect(clearButton).toHaveFocus();
309
+ _testWrapper.fireEvent.keyDown(clearButton, {
310
+ key: 'Enter'
311
+ });
312
+ _testWrapper.fireEvent.keyUp(clearButton, {
313
+ key: 'Enter'
314
+ });
315
+ expect(search).toHaveValue('');
316
+ });
317
+ test('Down arrow key open listbox popup', function () {
318
+ getAutocompleteComponent({
319
+ mode: 'autocomplete'
320
+ });
321
+ var search = _testWrapper.screen.getByLabelText(testLabel);
322
+ (0, _testWrapper.act)(function () {
323
+ search.focus();
324
+ });
325
+ expect(search).toHaveFocus();
326
+ expect(_testWrapper.screen.queryByRole('listbox')).not.toBeInTheDocument();
327
+ _testWrapper.fireEvent.keyDown(search, {
328
+ key: 'ArrowDown'
329
+ });
330
+ (0, _testWrapper.act)(function () {
331
+ jest.runAllTimers();
332
+ });
333
+ expect(_testWrapper.screen.getByRole('listbox')).toBeInTheDocument();
334
+ expect(_testWrapper.screen.getByText('Option 1')).toBeInTheDocument();
335
+ });
336
+ test("No popup when there aren't any options", function () {
337
+ getAutocompleteComponent({
338
+ mode: 'autocomplete'
339
+ });
340
+ var search = _testWrapper.screen.getByLabelText(testLabel);
341
+ (0, _testWrapper.act)(function () {
342
+ search.focus();
343
+ });
344
+ expect(search).toHaveFocus();
345
+ expect(_testWrapper.screen.queryByRole('listbox')).not.toBeInTheDocument();
346
+ _userEvent["default"].type(search, 'xyz');
347
+ (0, _testWrapper.act)(function () {
348
+ jest.runAllTimers();
349
+ });
350
+ expect(_testWrapper.screen.queryByRole('listbox')).not.toBeInTheDocument();
351
+ expect(_testWrapper.screen.queryByText('Option 1')).not.toBeInTheDocument();
352
+ expect(search).toHaveValue('xyz');
353
+ });
222
354
  });
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import { SearchFieldProps, SearchItem } from '../../types';
3
+ export declare const SearchFieldBase: React.ForwardRefExoticComponent<SearchFieldProps<SearchItem> & React.RefAttributes<HTMLInputElement>>;
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
4
+ var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
5
+ var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
6
+ var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
7
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
8
+ var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
9
+ var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
10
+ var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
11
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
12
+ var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
13
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
14
+ _Object$defineProperty(exports, "__esModule", {
15
+ value: true
16
+ });
17
+ exports.SearchFieldBase = void 0;
18
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
19
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
20
+ var _react = _interopRequireWildcard(require("react"));
21
+ var _reactAria = require("react-aria");
22
+ var _reactStately = require("react-stately");
23
+ var _CloseIcon = _interopRequireDefault(require("@pingux/mdi-react/CloseIcon"));
24
+ var _ = require("../..");
25
+ var _hooks = require("../../hooks");
26
+ var _pendoID = require("../../utils/devUtils/constants/pendoID");
27
+ var _react2 = require("@emotion/react");
28
+ function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
29
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
30
+ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
31
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(source), !0)).call(_context, function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
32
+ var displayName = 'SearchField';
33
+ var SearchFieldBase = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
34
+ var autocomplete = props.autocomplete,
35
+ hasAutoFocus = props.hasAutoFocus,
36
+ hasNoClearButton = props.hasNoClearButton,
37
+ icon = props.icon,
38
+ isExcludedFromTabOrder = props.isExcludedFromTabOrder,
39
+ label = props.label,
40
+ controlProps = props.controlProps,
41
+ iconProps = props.iconProps,
42
+ labelProps = props.labelProps;
43
+ (0, _hooks.usePropWarning)(props, 'disabled', 'isDisabled');
44
+ var searchRef = (0, _hooks.useLocalOrForwardRef)(ref);
45
+ var state = (0, _reactStately.useSearchFieldState)(props);
46
+ var _useSearchField = (0, _reactAria.useSearchField)(_objectSpread({
47
+ autoComplete: autocomplete,
48
+ autoFocus: hasAutoFocus,
49
+ excludeFromTabOrder: isExcludedFromTabOrder
50
+ }, props), state, searchRef),
51
+ raLabelProps = _useSearchField.labelProps,
52
+ raInputProps = _useSearchField.inputProps,
53
+ clearButtonProps = _useSearchField.clearButtonProps;
54
+ var _useField = (0, _hooks.useField)(_objectSpread(_objectSpread({}, props), {}, {
55
+ labelProps: _objectSpread(_objectSpread({}, labelProps), raLabelProps),
56
+ controlProps: _objectSpread(_objectSpread({}, controlProps), raInputProps)
57
+ })),
58
+ fieldContainerProps = _useField.fieldContainerProps,
59
+ fieldControlInputProps = _useField.fieldControlInputProps,
60
+ fieldControlWrapperProps = _useField.fieldControlWrapperProps,
61
+ fieldLabelProps = _useField.fieldLabelProps;
62
+ var handleKeyDownEvent = function handleKeyDownEvent(e) {
63
+ var key = e.key;
64
+ if (key === 'Enter' || key === ' ') {
65
+ state.setValue('');
66
+ }
67
+ };
68
+ return (0, _react2.jsx)(_.Box, (0, _extends2["default"])({}, (0, _pendoID.getPendoID)(displayName), fieldContainerProps), label && (0, _react2.jsx)(_.Label, fieldLabelProps), (0, _react2.jsx)(_.Box, (0, _extends2["default"])({
69
+ variant: "forms.search.wrapper"
70
+ }, fieldControlWrapperProps), (0, _react2.jsx)(_.Input, (0, _extends2["default"])({
71
+ variant: "forms.input.search",
72
+ ref: searchRef
73
+ }, fieldControlInputProps)), icon && (0, _react2.jsx)(_.Icon, (0, _extends2["default"])({
74
+ icon: icon,
75
+ variant: "forms.search.icon",
76
+ title: {
77
+ name: 'Search Icon'
78
+ }
79
+ }, iconProps)), !hasNoClearButton && state.value !== '' && (0, _react2.jsx)(_.IconButton, (0, _extends2["default"])({
80
+ tabIndex: 0,
81
+ onKeyDown: handleKeyDownEvent,
82
+ color: "text.secondary",
83
+ variant: "searchClearButton"
84
+ }, clearButtonProps), (0, _react2.jsx)(_.Icon, {
85
+ icon: _CloseIcon["default"],
86
+ title: {
87
+ name: 'Close Icon'
88
+ }
89
+ }))));
90
+ });
91
+ exports.SearchFieldBase = SearchFieldBase;
@@ -39,7 +39,7 @@ var Step = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
39
39
  className: className
40
40
  }), status === COMPLETED && !isHovered ? (0, _react2.jsx)(_index.Icon, {
41
41
  icon: _CheckBoldIcon["default"],
42
- size: 23,
42
+ size: "sm",
43
43
  color: "text.primaryLight",
44
44
  title: {
45
45
  name: 'Check Bold Icon'
@@ -91,6 +91,7 @@ var stepBase = {
91
91
  fontSize: '17px',
92
92
  fontWeight: 3,
93
93
  cursor: 'pointer',
94
+ fontFamily: 'standard',
94
95
  '&[aria-expanded="true"]': {
95
96
  backgroundColor: 'active',
96
97
  borderColor: 'active',
@@ -13,6 +13,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/e
13
13
  var _react = _interopRequireWildcard(require("react"));
14
14
  var _reactAria = require("react-aria");
15
15
  var _propTypes = _interopRequireDefault(require("prop-types"));
16
+ var _hooks = require("../../hooks");
16
17
  var _Box = _interopRequireDefault(require("../Box"));
17
18
  var _react2 = require("@emotion/react");
18
19
  function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -24,21 +25,30 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
24
25
  *
25
26
  * **Note: Requires a label. It's recommended to use `SwitchField` for a complete solution.**
26
27
  */var Switch = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
27
- var inputProps = props.inputProps;
28
+ var inputProps = props.inputProps,
29
+ isSelected = props.isSelected;
30
+ var _useStatusClasses = (0, _hooks.useStatusClasses)('', {
31
+ isSelected: isSelected
32
+ }),
33
+ classNames = _useStatusClasses.classNames;
28
34
  return (0, _react2.jsx)(_Box["default"], (0, _extends2["default"])({
35
+ className: classNames,
29
36
  variant: "forms.switch.container"
30
37
  }, props), (0, _react2.jsx)(_reactAria.VisuallyHidden, null, (0, _react2.jsx)(_Box["default"], (0, _extends2["default"])({
31
38
  as: "input"
32
39
  }, inputProps, {
33
40
  ref: ref
34
41
  }))), (0, _react2.jsx)(_Box["default"], {
42
+ className: classNames,
35
43
  variant: "forms.switch.thumbContainer"
36
44
  }, (0, _react2.jsx)(_Box["default"], {
45
+ className: classNames,
37
46
  variant: "forms.switch.thumb"
38
47
  })));
39
48
  });
40
49
  Switch.propTypes = {
41
- inputProps: _propTypes["default"].shape({})
50
+ inputProps: _propTypes["default"].shape({}),
51
+ isSelected: _propTypes["default"].bool
42
52
  };
43
53
  Switch.displayName = 'Switch';
44
54
  var _default = Switch;
@@ -58,7 +58,7 @@ var thumb = {
58
58
  transitionTimingFunction: 'ease-out',
59
59
  transitionDuration: '0.1s',
60
60
  transform: 'translateX(0)',
61
- 'label.is-selected &': {
61
+ '&.is-selected': {
62
62
  transform: 'translateX(20px)',
63
63
  borderColor: 'active'
64
64
  }
@@ -61,8 +61,9 @@ var SwitchField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
61
61
  'aria-label': others['aria-label'] || 'switch-field'
62
62
  }), state, switchRef),
63
63
  inputProps = _useSwitch.inputProps;
64
+ var isSelected = (_inputProps$checked = inputProps.checked) !== null && _inputProps$checked !== void 0 ? _inputProps$checked : false;
64
65
  var statusClasses = {
65
- isSelected: (_inputProps$checked = inputProps.checked) !== null && _inputProps$checked !== void 0 ? _inputProps$checked : false
66
+ isSelected: isSelected
66
67
  };
67
68
  var _useField = (0, _hooks.useField)(_objectSpread(_objectSpread(_objectSpread({
68
69
  statusClasses: statusClasses
@@ -77,7 +78,10 @@ var SwitchField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
77
78
  'aria-controls': others['aria-controls'],
78
79
  'aria-errormessage': others['aria-errormessage']
79
80
  };
80
- return (0, _react2.jsx)(_.Box, (0, _extends2["default"])({}, (0, _pendoID.getPendoID)(displayName), fieldContainerProps), (0, _react2.jsx)(_.Label, (0, _extends2["default"])({
81
+ return (0, _react2.jsx)(_.Box, (0, _extends2["default"])({}, (0, _pendoID.getPendoID)(displayName), fieldContainerProps, {
82
+ alignSelf: "top",
83
+ alignItems: "start"
84
+ }), (0, _react2.jsx)(_.Label, (0, _extends2["default"])({
81
85
  variant: "forms.switch.label"
82
86
  }, fieldLabelProps), (0, _react2.jsx)(_.Box, (0, _extends2["default"])({}, fieldControlWrapperProps, {
83
87
  sx: _objectSpread(_objectSpread({}, fieldControlWrapperProps.sx), {}, {
@@ -85,6 +89,7 @@ var SwitchField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
85
89
  })
86
90
  }), (0, _react2.jsx)(_.Switch, (0, _extends2["default"])({
87
91
  ref: switchRef,
92
+ isSelected: isSelected,
88
93
  inputProps: fieldControlInputProps,
89
94
  name: name
90
95
  }, unhandledAriaProps, (0, _omit["default"])(others, 'data-pendo-id', 'aria-label')))), label), helperText && (0, _react2.jsx)(_.FieldHelperText, {
@@ -59,13 +59,25 @@ var _default = {
59
59
  };
60
60
  exports["default"] = _default;
61
61
  var tabs = [{
62
- name: 'Tab 1',
63
- children: (0, _react2.jsx)(_index.Text, null, "Tab 1 body")
62
+ name: 'Overview',
63
+ children: (0, _react2.jsx)(_index.Text, null, "Tab 3 body")
64
64
  }, {
65
- name: 'Tab 2',
66
- children: (0, _react2.jsx)(_index.Text, null, "Tab 2 body")
65
+ name: 'Configuration',
66
+ children: (0, _react2.jsx)(_index.Text, null, "Tab 3 body")
67
+ }, {
68
+ name: 'Resources',
69
+ children: (0, _react2.jsx)(_index.Text, null, "Tab 3 body")
70
+ }, {
71
+ name: 'Policies',
72
+ children: (0, _react2.jsx)(_index.Text, null, "Tab 3 body")
73
+ }, {
74
+ name: 'Attribute Mappings',
75
+ children: (0, _react2.jsx)(_index.Text, null, "Tab 3 body")
76
+ }, {
77
+ name: 'Access',
78
+ children: (0, _react2.jsx)(_index.Text, null, "Tab 3 body")
67
79
  }, {
68
- name: 'Tab 3',
80
+ name: 'Integration',
69
81
  children: (0, _react2.jsx)(_index.Text, null, "Tab 3 body")
70
82
  }];
71
83
  var customTabs = [{
@@ -96,7 +108,11 @@ var Controlled = function Controlled() {
96
108
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
97
109
  currentTab = _useState2[0],
98
110
  setCurrentTab = _useState2[1];
99
- return (0, _react2.jsx)(_index.Tabs, {
111
+ return (0, _react2.jsx)(_index.Box, {
112
+ sx: {
113
+ maxWidth: '500px'
114
+ }
115
+ }, (0, _react2.jsx)(_index.Tabs, {
100
116
  selectedKey: currentTab,
101
117
  onSelectionChange: setCurrentTab,
102
118
  items: tabs
@@ -106,7 +122,7 @@ var Controlled = function Controlled() {
106
122
  title: item.name,
107
123
  textValue: item.name
108
124
  }, item.children);
109
- });
125
+ }));
110
126
  };
111
127
  exports.Controlled = Controlled;
112
128
  var Centered = function Centered() {
@@ -3,5 +3,6 @@ import { TextProps } from '../../types';
3
3
  declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, import("@storybook/types").Args>;
4
4
  export default _default;
5
5
  export declare const Default: StoryFn<TextProps>;
6
+ export declare const Onyx: StoryFn<TextProps>;
6
7
  export declare const CustomWidth: StoryFn;
7
8
  export declare const CustomStyle: StoryFn;