@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
@@ -1,87 +1,27 @@
1
- import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
2
- import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
3
- import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
4
- import _Object$getOwnPropertyDescriptor from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor";
5
- import _forEachInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/for-each";
6
- import _Object$getOwnPropertyDescriptors from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors";
7
- import _Object$defineProperties from "@babel/runtime-corejs3/core-js-stable/object/define-properties";
8
- import _Object$defineProperty from "@babel/runtime-corejs3/core-js-stable/object/define-property";
9
1
  import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
10
- import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
11
- 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; }
12
- 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) { _defineProperty(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; }
2
+ import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/esm/objectWithoutProperties";
3
+ var _excluded = ["hasNoClearButton", "mode", "icon"];
13
4
  import React, { forwardRef } from 'react';
14
- import { useSearchField } from 'react-aria';
15
- import { useSearchFieldState } from 'react-stately';
16
- import CloseIcon from '@pingux/mdi-react/CloseIcon';
17
5
  import SearchIcon from '@pingux/mdi-react/SearchIcon';
18
- import { Box, Icon, IconButton, Input, Label } from '../..';
19
- import { useField, useLocalOrForwardRef, usePropWarning } from '../../hooks';
20
- import { getPendoID } from '../../utils/devUtils/constants/pendoID';
6
+ import { SearchAutoComplete } from './SearchAutoComplete';
7
+ import { SearchFieldBase } from './SearchFieldBase';
21
8
  import { jsx as ___EmotionJSX } from "@emotion/react";
22
9
  var displayName = 'SearchField';
23
10
  var SearchField = /*#__PURE__*/forwardRef(function (props, ref) {
24
- var autocomplete = props.autocomplete,
25
- hasAutoFocus = props.hasAutoFocus,
26
- hasNoClearButton = props.hasNoClearButton,
27
- icon = props.icon,
28
- isExcludedFromTabOrder = props.isExcludedFromTabOrder,
29
- label = props.label,
30
- controlProps = props.controlProps,
31
- iconProps = props.iconProps,
32
- labelProps = props.labelProps;
33
- usePropWarning(props, 'disabled', 'isDisabled');
34
- var searchRef = useLocalOrForwardRef(ref);
35
- var state = useSearchFieldState(props);
36
- var _useSearchField = useSearchField(_objectSpread({
37
- autoComplete: autocomplete,
38
- autoFocus: hasAutoFocus,
39
- excludeFromTabOrder: isExcludedFromTabOrder
40
- }, props), state, searchRef),
41
- raLabelProps = _useSearchField.labelProps,
42
- raInputProps = _useSearchField.inputProps,
43
- clearButtonProps = _useSearchField.clearButtonProps;
44
- var _useField = useField(_objectSpread(_objectSpread({}, props), {}, {
45
- labelProps: _objectSpread(_objectSpread({}, labelProps), raLabelProps),
46
- controlProps: _objectSpread(_objectSpread({}, controlProps), raInputProps)
47
- })),
48
- fieldContainerProps = _useField.fieldContainerProps,
49
- fieldControlInputProps = _useField.fieldControlInputProps,
50
- fieldControlWrapperProps = _useField.fieldControlWrapperProps,
51
- fieldLabelProps = _useField.fieldLabelProps;
52
- var handleKeyDownEvent = function handleKeyDownEvent(e) {
53
- var key = e.key;
54
- if (key === 'Enter' || key === ' ') {
55
- state.setValue('');
56
- }
57
- };
58
- return ___EmotionJSX(Box, _extends({}, getPendoID(displayName), fieldContainerProps), label && ___EmotionJSX(Label, fieldLabelProps), ___EmotionJSX(Box, _extends({
59
- variant: "forms.search.wrapper"
60
- }, fieldControlWrapperProps), ___EmotionJSX(Input, _extends({
61
- variant: "forms.input.search",
62
- ref: searchRef
63
- }, fieldControlInputProps)), icon && ___EmotionJSX(Icon, _extends({
64
- icon: icon,
65
- variant: "forms.search.icon",
66
- size: 20,
67
- title: {
68
- name: 'Search Icon'
69
- }
70
- }, iconProps)), !hasNoClearButton && state.value !== '' && ___EmotionJSX(IconButton, _extends({
71
- tabIndex: 0,
72
- onKeyDown: handleKeyDownEvent,
73
- color: "text.secondary",
74
- variant: "searchClearButton"
75
- }, clearButtonProps), ___EmotionJSX(Icon, {
76
- icon: CloseIcon,
77
- title: {
78
- name: 'Close Icon'
79
- }
80
- }))));
11
+ var _props$hasNoClearButt = props.hasNoClearButton,
12
+ hasNoClearButton = _props$hasNoClearButt === void 0 ? false : _props$hasNoClearButt,
13
+ _props$mode = props.mode,
14
+ mode = _props$mode === void 0 ? 'default' : _props$mode,
15
+ _props$icon = props.icon,
16
+ icon = _props$icon === void 0 ? SearchIcon : _props$icon,
17
+ rest = _objectWithoutProperties(props, _excluded);
18
+ var Component = mode === 'autocomplete' ? SearchAutoComplete : SearchFieldBase;
19
+ return ___EmotionJSX(Component, _extends({
20
+ hasNoClearButton: hasNoClearButton,
21
+ icon: icon
22
+ }, rest, {
23
+ ref: ref
24
+ }));
81
25
  });
82
- SearchField.defaultProps = {
83
- hasNoClearButton: false,
84
- icon: SearchIcon
85
- };
86
26
  SearchField.displayName = displayName;
87
27
  export default SearchField;
@@ -18,7 +18,7 @@ import FilterVariantIcon from '@pingux/mdi-react/FilterVariantIcon';
18
18
  import SearchIcon from '@pingux/mdi-react/SearchIcon';
19
19
  import DocsLayout from '../../../.storybook/storybookDocsLayout';
20
20
  import { useDebounce, useGetTheme } from '../../hooks';
21
- import { Box, Icon, IconButton, SearchField, Text } from '../../index';
21
+ import { Box, Icon, IconButton, Item, SearchField, Text } from '../../index';
22
22
  import { FIGMA_LINKS } from '../../utils/designUtils/figmaLinks';
23
23
  import { ariaAttributeBaseArgTypes, ariaAttributeBaseDocSettings } from '../../utils/docUtils/ariaAttributes';
24
24
  import { inputFieldAttributeBaseArgTypes } from '../../utils/docUtils/fieldAttributes';
@@ -73,10 +73,9 @@ export var Default = function Default(args) {
73
73
  icon: SearchIcon,
74
74
  onSubmit: function onSubmit(text) {
75
75
  return alert(text);
76
- } // eslint-disable-line no-alert
76
+ }
77
77
  }));
78
78
  };
79
-
80
79
  Default.parameters = {
81
80
  design: {
82
81
  type: 'figma',
@@ -166,4 +165,43 @@ export var WithFilter = function WithFilter() {
166
165
  name: 'Filter Icon'
167
166
  }
168
167
  })));
168
+ };
169
+ export var ControlledWithPopover = function ControlledWithPopover() {
170
+ var _useState5 = useState(''),
171
+ _useState6 = _slicedToArray(_useState5, 2),
172
+ value = _useState6[0],
173
+ setValue = _useState6[1];
174
+ var items = [{
175
+ id: 'apple',
176
+ name: 'Apple'
177
+ }, {
178
+ id: 'banana',
179
+ name: 'Banana'
180
+ }, {
181
+ id: 'blueberry',
182
+ name: 'Blueberry'
183
+ }];
184
+ return ___EmotionJSX(Box, null, ___EmotionJSX(SearchField, {
185
+ mode: "autocomplete",
186
+ defaultItems: items,
187
+ value: value,
188
+ onChange: function onChange(val) {
189
+ setValue(val);
190
+ },
191
+ "aria-label": "Search Groups",
192
+ placeholder: "Search",
193
+ onSubmit: function onSubmit(text) {
194
+ return alert(text);
195
+ },
196
+ onClear: function onClear() {
197
+ setValue('');
198
+ }
199
+ }, function (item) {
200
+ return ___EmotionJSX(Item, {
201
+ key: item.id,
202
+ textValue: item.name
203
+ }, item.name);
204
+ }), ___EmotionJSX(Text, {
205
+ mt: "xs"
206
+ }, "value: ".concat(value)));
169
207
  };
@@ -1,5 +1,6 @@
1
1
  import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
2
2
  import React from 'react';
3
+ import { Item } from '@react-stately/collections';
3
4
  import userEvent from '@testing-library/user-event';
4
5
  import { act, fireEvent, render, screen } from '../../utils/testUtils/testWrapper';
5
6
  import { universalComponentTests } from '../../utils/testUtils/universalComponentTest';
@@ -7,6 +8,7 @@ import { universalFieldComponentTests } from '../../utils/testUtils/universalFor
7
8
  import SearchField from '.';
8
9
  import { jsx as ___EmotionJSX } from "@emotion/react";
9
10
  var testId = 'test-radio-group';
11
+ var testValue = 'Option';
10
12
  var testLabel = 'Test Label';
11
13
  var defaultProps = {
12
14
  'data-testid': testId,
@@ -16,6 +18,16 @@ var getComponent = function getComponent() {
16
18
  var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
17
19
  return render(___EmotionJSX(SearchField, _extends({}, defaultProps, props)));
18
20
  };
21
+ var getAutocompleteComponent = function getAutocompleteComponent() {
22
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
23
+ return render(___EmotionJSX(SearchField, _extends({}, defaultProps, props), ___EmotionJSX(Item, {
24
+ key: "1"
25
+ }, "Option 1"), ___EmotionJSX(Item, {
26
+ key: "2"
27
+ }, "Option 2"), ___EmotionJSX(Item, {
28
+ key: "3"
29
+ }, "Option 3")));
30
+ };
19
31
  universalFieldComponentTests({
20
32
  renderComponent: function renderComponent(props) {
21
33
  return ___EmotionJSX(SearchField, _extends({}, defaultProps, props));
@@ -216,4 +228,124 @@ test('clear button should not be present is hasNoClearButton=true ', function ()
216
228
  hasNoClearButton: true
217
229
  });
218
230
  expect(screen.queryByRole('button')).not.toBeInTheDocument();
231
+ });
232
+ describe('Autocomplete mode', function () {
233
+ beforeAll(function () {
234
+ jest.spyOn(window.HTMLElement.prototype, 'clientWidth', 'get').mockImplementation(function () {
235
+ return 1000;
236
+ });
237
+ jest.spyOn(window.HTMLElement.prototype, 'clientHeight', 'get').mockImplementation(function () {
238
+ return 1000;
239
+ });
240
+ window.HTMLElement.prototype.scrollIntoView = jest.fn();
241
+ jest.spyOn(window.screen, 'width', 'get').mockImplementation(function () {
242
+ return 1024;
243
+ });
244
+ jest.spyOn(window, 'requestAnimationFrame').mockImplementation(function (cb) {
245
+ cb(0);
246
+ return 0;
247
+ });
248
+ jest.useFakeTimers();
249
+ });
250
+ afterEach(function () {
251
+ jest.clearAllMocks();
252
+ });
253
+ test('default autocomplete search field', function () {
254
+ getAutocompleteComponent({
255
+ mode: 'autocomplete'
256
+ });
257
+ var search = screen.getByLabelText(testLabel);
258
+ var label = screen.getByText(testLabel);
259
+ expect(search).toBeInstanceOf(HTMLInputElement);
260
+ expect(label).toBeInstanceOf(HTMLLabelElement);
261
+ expect(search).toBeInTheDocument();
262
+ expect(label).toBeInTheDocument();
263
+ });
264
+ test('autocomplete options appear on user input', function () {
265
+ getAutocompleteComponent({
266
+ mode: 'autocomplete'
267
+ });
268
+ var control = screen.getByLabelText(testLabel);
269
+ userEvent.type(control, testValue);
270
+ expect(control).toHaveValue(testValue);
271
+ expect(screen.queryByText('Option 1')).toBeInTheDocument();
272
+ expect(screen.queryByText('Option 2')).toBeInTheDocument();
273
+ expect(screen.queryByText('Option 3')).toBeInTheDocument();
274
+ fireEvent.change(control, {
275
+ target: {
276
+ value: '3'
277
+ }
278
+ });
279
+ expect(screen.queryByText('Option 1')).not.toBeInTheDocument();
280
+ expect(screen.queryByText('Option 2')).not.toBeInTheDocument();
281
+ expect(screen.queryByText('Option 3')).toBeInTheDocument();
282
+ });
283
+ test('Allow custom values', function () {
284
+ var onSubmit = jest.fn();
285
+ getAutocompleteComponent({
286
+ mode: 'autocomplete',
287
+ onSubmit: onSubmit
288
+ });
289
+ var control = screen.getByLabelText(testLabel);
290
+ userEvent.type(control, 'Custom Value{enter}');
291
+ expect(onSubmit).toHaveBeenCalledWith('Custom Value');
292
+ });
293
+ test('clear button works in autocomplete mode', function () {
294
+ getAutocompleteComponent({
295
+ mode: 'autocomplete'
296
+ });
297
+ var search = screen.getByLabelText(testLabel);
298
+ userEvent.type(search, 'clear');
299
+ expect(search).toHaveValue('clear');
300
+ var clearButton = screen.getByRole('button');
301
+ expect(clearButton).toHaveAttribute('tabindex', '0');
302
+ act(function () {
303
+ clearButton.focus();
304
+ });
305
+ expect(clearButton).toHaveFocus();
306
+ fireEvent.keyDown(clearButton, {
307
+ key: 'Enter'
308
+ });
309
+ fireEvent.keyUp(clearButton, {
310
+ key: 'Enter'
311
+ });
312
+ expect(search).toHaveValue('');
313
+ });
314
+ test('Down arrow key open listbox popup', function () {
315
+ getAutocompleteComponent({
316
+ mode: 'autocomplete'
317
+ });
318
+ var search = screen.getByLabelText(testLabel);
319
+ act(function () {
320
+ search.focus();
321
+ });
322
+ expect(search).toHaveFocus();
323
+ expect(screen.queryByRole('listbox')).not.toBeInTheDocument();
324
+ fireEvent.keyDown(search, {
325
+ key: 'ArrowDown'
326
+ });
327
+ act(function () {
328
+ jest.runAllTimers();
329
+ });
330
+ expect(screen.getByRole('listbox')).toBeInTheDocument();
331
+ expect(screen.getByText('Option 1')).toBeInTheDocument();
332
+ });
333
+ test("No popup when there aren't any options", function () {
334
+ getAutocompleteComponent({
335
+ mode: 'autocomplete'
336
+ });
337
+ var search = screen.getByLabelText(testLabel);
338
+ act(function () {
339
+ search.focus();
340
+ });
341
+ expect(search).toHaveFocus();
342
+ expect(screen.queryByRole('listbox')).not.toBeInTheDocument();
343
+ userEvent.type(search, 'xyz');
344
+ act(function () {
345
+ jest.runAllTimers();
346
+ });
347
+ expect(screen.queryByRole('listbox')).not.toBeInTheDocument();
348
+ expect(screen.queryByText('Option 1')).not.toBeInTheDocument();
349
+ expect(search).toHaveValue('xyz');
350
+ });
219
351
  });
@@ -0,0 +1,79 @@
1
+ import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
2
+ import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
3
+ import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
4
+ import _Object$getOwnPropertyDescriptor from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor";
5
+ import _forEachInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/for-each";
6
+ import _Object$getOwnPropertyDescriptors from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors";
7
+ import _Object$defineProperties from "@babel/runtime-corejs3/core-js-stable/object/define-properties";
8
+ import _Object$defineProperty from "@babel/runtime-corejs3/core-js-stable/object/define-property";
9
+ import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
10
+ import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
11
+ 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; }
12
+ 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) { _defineProperty(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; }
13
+ import React, { forwardRef } from 'react';
14
+ import { useSearchField } from 'react-aria';
15
+ import { useSearchFieldState } from 'react-stately';
16
+ import CloseIcon from '@pingux/mdi-react/CloseIcon';
17
+ import { Box, Icon, IconButton, Input, Label } from '../..';
18
+ import { useField, useLocalOrForwardRef, usePropWarning } from '../../hooks';
19
+ import { getPendoID } from '../../utils/devUtils/constants/pendoID';
20
+ import { jsx as ___EmotionJSX } from "@emotion/react";
21
+ var displayName = 'SearchField';
22
+ export var SearchFieldBase = /*#__PURE__*/forwardRef(function (props, ref) {
23
+ var autocomplete = props.autocomplete,
24
+ hasAutoFocus = props.hasAutoFocus,
25
+ hasNoClearButton = props.hasNoClearButton,
26
+ icon = props.icon,
27
+ isExcludedFromTabOrder = props.isExcludedFromTabOrder,
28
+ label = props.label,
29
+ controlProps = props.controlProps,
30
+ iconProps = props.iconProps,
31
+ labelProps = props.labelProps;
32
+ usePropWarning(props, 'disabled', 'isDisabled');
33
+ var searchRef = useLocalOrForwardRef(ref);
34
+ var state = useSearchFieldState(props);
35
+ var _useSearchField = useSearchField(_objectSpread({
36
+ autoComplete: autocomplete,
37
+ autoFocus: hasAutoFocus,
38
+ excludeFromTabOrder: isExcludedFromTabOrder
39
+ }, props), state, searchRef),
40
+ raLabelProps = _useSearchField.labelProps,
41
+ raInputProps = _useSearchField.inputProps,
42
+ clearButtonProps = _useSearchField.clearButtonProps;
43
+ var _useField = useField(_objectSpread(_objectSpread({}, props), {}, {
44
+ labelProps: _objectSpread(_objectSpread({}, labelProps), raLabelProps),
45
+ controlProps: _objectSpread(_objectSpread({}, controlProps), raInputProps)
46
+ })),
47
+ fieldContainerProps = _useField.fieldContainerProps,
48
+ fieldControlInputProps = _useField.fieldControlInputProps,
49
+ fieldControlWrapperProps = _useField.fieldControlWrapperProps,
50
+ fieldLabelProps = _useField.fieldLabelProps;
51
+ var handleKeyDownEvent = function handleKeyDownEvent(e) {
52
+ var key = e.key;
53
+ if (key === 'Enter' || key === ' ') {
54
+ state.setValue('');
55
+ }
56
+ };
57
+ return ___EmotionJSX(Box, _extends({}, getPendoID(displayName), fieldContainerProps), label && ___EmotionJSX(Label, fieldLabelProps), ___EmotionJSX(Box, _extends({
58
+ variant: "forms.search.wrapper"
59
+ }, fieldControlWrapperProps), ___EmotionJSX(Input, _extends({
60
+ variant: "forms.input.search",
61
+ ref: searchRef
62
+ }, fieldControlInputProps)), icon && ___EmotionJSX(Icon, _extends({
63
+ icon: icon,
64
+ variant: "forms.search.icon",
65
+ title: {
66
+ name: 'Search Icon'
67
+ }
68
+ }, iconProps)), !hasNoClearButton && state.value !== '' && ___EmotionJSX(IconButton, _extends({
69
+ tabIndex: 0,
70
+ onKeyDown: handleKeyDownEvent,
71
+ color: "text.secondary",
72
+ variant: "searchClearButton"
73
+ }, clearButtonProps), ___EmotionJSX(Icon, {
74
+ icon: CloseIcon,
75
+ title: {
76
+ name: 'Close Icon'
77
+ }
78
+ }))));
79
+ });
@@ -26,7 +26,7 @@ var Step = /*#__PURE__*/forwardRef(function (props, ref) {
26
26
  className: className
27
27
  }), status === COMPLETED && !isHovered ? ___EmotionJSX(Icon, {
28
28
  icon: CheckBoldIcon,
29
- size: 23,
29
+ size: "sm",
30
30
  color: "text.primaryLight",
31
31
  title: {
32
32
  name: 'Check Bold Icon'
@@ -84,6 +84,7 @@ var stepBase = {
84
84
  fontSize: '17px',
85
85
  fontWeight: 3,
86
86
  cursor: 'pointer',
87
+ fontFamily: 'standard',
87
88
  '&[aria-expanded="true"]': {
88
89
  backgroundColor: 'active',
89
90
  borderColor: 'active',
@@ -2,6 +2,7 @@ import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
2
2
  import React, { forwardRef } from 'react';
3
3
  import { VisuallyHidden } from 'react-aria';
4
4
  import PropTypes from 'prop-types';
5
+ import { useStatusClasses } from '../../hooks';
5
6
  import Box from '../Box';
6
7
 
7
8
  /**
@@ -13,21 +14,30 @@ import Box from '../Box';
13
14
  */
14
15
  import { jsx as ___EmotionJSX } from "@emotion/react";
15
16
  var Switch = /*#__PURE__*/forwardRef(function (props, ref) {
16
- var inputProps = props.inputProps;
17
+ var inputProps = props.inputProps,
18
+ isSelected = props.isSelected;
19
+ var _useStatusClasses = useStatusClasses('', {
20
+ isSelected: isSelected
21
+ }),
22
+ classNames = _useStatusClasses.classNames;
17
23
  return ___EmotionJSX(Box, _extends({
24
+ className: classNames,
18
25
  variant: "forms.switch.container"
19
26
  }, props), ___EmotionJSX(VisuallyHidden, null, ___EmotionJSX(Box, _extends({
20
27
  as: "input"
21
28
  }, inputProps, {
22
29
  ref: ref
23
30
  }))), ___EmotionJSX(Box, {
31
+ className: classNames,
24
32
  variant: "forms.switch.thumbContainer"
25
33
  }, ___EmotionJSX(Box, {
34
+ className: classNames,
26
35
  variant: "forms.switch.thumb"
27
36
  })));
28
37
  });
29
38
  Switch.propTypes = {
30
- inputProps: PropTypes.shape({})
39
+ inputProps: PropTypes.shape({}),
40
+ isSelected: PropTypes.bool
31
41
  };
32
42
  Switch.displayName = 'Switch';
33
43
  export default Switch;
@@ -48,7 +48,7 @@ export var thumb = {
48
48
  transitionTimingFunction: 'ease-out',
49
49
  transitionDuration: '0.1s',
50
50
  transform: 'translateX(0)',
51
- 'label.is-selected &': {
51
+ '&.is-selected': {
52
52
  transform: 'translateX(20px)',
53
53
  borderColor: 'active'
54
54
  }
@@ -49,8 +49,9 @@ var SwitchField = /*#__PURE__*/forwardRef(function (props, ref) {
49
49
  'aria-label': others['aria-label'] || 'switch-field'
50
50
  }), state, switchRef),
51
51
  inputProps = _useSwitch.inputProps;
52
+ var isSelected = (_inputProps$checked = inputProps.checked) !== null && _inputProps$checked !== void 0 ? _inputProps$checked : false;
52
53
  var statusClasses = {
53
- isSelected: (_inputProps$checked = inputProps.checked) !== null && _inputProps$checked !== void 0 ? _inputProps$checked : false
54
+ isSelected: isSelected
54
55
  };
55
56
  var _useField = useField(_objectSpread(_objectSpread(_objectSpread({
56
57
  statusClasses: statusClasses
@@ -65,7 +66,10 @@ var SwitchField = /*#__PURE__*/forwardRef(function (props, ref) {
65
66
  'aria-controls': others['aria-controls'],
66
67
  'aria-errormessage': others['aria-errormessage']
67
68
  };
68
- return ___EmotionJSX(Box, _extends({}, getPendoID(displayName), fieldContainerProps), ___EmotionJSX(Label, _extends({
69
+ return ___EmotionJSX(Box, _extends({}, getPendoID(displayName), fieldContainerProps, {
70
+ alignSelf: "top",
71
+ alignItems: "start"
72
+ }), ___EmotionJSX(Label, _extends({
69
73
  variant: "forms.switch.label"
70
74
  }, fieldLabelProps), ___EmotionJSX(Box, _extends({}, fieldControlWrapperProps, {
71
75
  sx: _objectSpread(_objectSpread({}, fieldControlWrapperProps.sx), {}, {
@@ -73,6 +77,7 @@ var SwitchField = /*#__PURE__*/forwardRef(function (props, ref) {
73
77
  })
74
78
  }), ___EmotionJSX(Switch, _extends({
75
79
  ref: switchRef,
80
+ isSelected: isSelected,
76
81
  inputProps: fieldControlInputProps,
77
82
  name: name
78
83
  }, unhandledAriaProps, omit(others, 'data-pendo-id', 'aria-label')))), label), helperText && ___EmotionJSX(FieldHelperText, {
@@ -45,13 +45,25 @@ export default {
45
45
  }
46
46
  };
47
47
  var tabs = [{
48
- name: 'Tab 1',
49
- children: ___EmotionJSX(Text, null, "Tab 1 body")
48
+ name: 'Overview',
49
+ children: ___EmotionJSX(Text, null, "Tab 3 body")
50
50
  }, {
51
- name: 'Tab 2',
52
- children: ___EmotionJSX(Text, null, "Tab 2 body")
51
+ name: 'Configuration',
52
+ children: ___EmotionJSX(Text, null, "Tab 3 body")
53
+ }, {
54
+ name: 'Resources',
55
+ children: ___EmotionJSX(Text, null, "Tab 3 body")
56
+ }, {
57
+ name: 'Policies',
58
+ children: ___EmotionJSX(Text, null, "Tab 3 body")
59
+ }, {
60
+ name: 'Attribute Mappings',
61
+ children: ___EmotionJSX(Text, null, "Tab 3 body")
62
+ }, {
63
+ name: 'Access',
64
+ children: ___EmotionJSX(Text, null, "Tab 3 body")
53
65
  }, {
54
- name: 'Tab 3',
66
+ name: 'Integration',
55
67
  children: ___EmotionJSX(Text, null, "Tab 3 body")
56
68
  }];
57
69
  var customTabs = [{
@@ -81,7 +93,11 @@ export var Controlled = function Controlled() {
81
93
  _useState2 = _slicedToArray(_useState, 2),
82
94
  currentTab = _useState2[0],
83
95
  setCurrentTab = _useState2[1];
84
- return ___EmotionJSX(Tabs, {
96
+ return ___EmotionJSX(Box, {
97
+ sx: {
98
+ maxWidth: '500px'
99
+ }
100
+ }, ___EmotionJSX(Tabs, {
85
101
  selectedKey: currentTab,
86
102
  onSelectionChange: setCurrentTab,
87
103
  items: tabs
@@ -91,7 +107,7 @@ export var Controlled = function Controlled() {
91
107
  title: item.name,
92
108
  textValue: item.name
93
109
  }, item.children);
94
- });
110
+ }));
95
111
  };
96
112
  export var Centered = function Centered() {
97
113
  return ___EmotionJSX(Tabs, {