@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
@@ -21,10 +21,11 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/e
21
21
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
22
22
  var _react = _interopRequireWildcard(require("react"));
23
23
  var _propTypes = _interopRequireDefault(require("prop-types"));
24
+ var _hooks = require("../../hooks");
24
25
  var _index = require("../../index");
25
26
  var _listViewItemAttributes = require("../ListViewItem/listViewItemAttributes");
26
27
  var _react2 = require("@emotion/react");
27
- var _excluded = ["children", "className", "data", "slots"];
28
+ var _excluded = ["avatarProps", "children", "className", "data", "headerProps", "headerWrapperProps", "slots", "subtextProps"];
28
29
  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
30
  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
31
  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; }
@@ -33,15 +34,23 @@ var PANEL_HEADER_ICON = '-panel-header-icon';
33
34
  exports.PANEL_HEADER_ICON = PANEL_HEADER_ICON;
34
35
  var PanelHeader = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
35
36
  var _context;
36
- var children = _ref.children,
37
+ var avatarProps = _ref.avatarProps,
38
+ children = _ref.children,
37
39
  className = _ref.className,
38
40
  data = _ref.data,
41
+ headerProps = _ref.headerProps,
42
+ headerWrapperProps = _ref.headerWrapperProps,
39
43
  slots = _ref.slots,
44
+ subtextProps = _ref.subtextProps,
40
45
  others = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
41
46
  var icon = data.icon,
42
47
  image = data.image,
43
48
  subtext = data.subtext,
44
- text = data.text;
49
+ text = data.text,
50
+ avatarDefualtText = data.avatarDefualtText;
51
+ var _useGetTheme = (0, _hooks.useGetTheme)(),
52
+ themeState = _useGetTheme.themeState;
53
+ var isOnyx = themeState.isOnyx;
45
54
  var renderIcon = (0, _react2.jsx)(_index.Box, {
46
55
  width: "25px",
47
56
  mx: "md"
@@ -53,23 +62,47 @@ var PanelHeader = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
53
62
  name: (0, _concat["default"])(_context = "".concat(text)).call(_context, PANEL_HEADER_ICON)
54
63
  }
55
64
  }));
65
+ var renderAvatar = (0, _react2.jsx)(_index.Avatar, (0, _extends2["default"])({
66
+ src: image === null || image === void 0 ? void 0 : image.src,
67
+ size: "avatar.lg",
68
+ defaultText: avatarDefualtText,
69
+ mr: "md"
70
+ }, avatarProps));
56
71
  var renderImage = !icon && image && (0, _react2.jsx)(_index.Box, {
57
- width: "35px",
58
- mx: "sm"
72
+ variant: "panelHeader.iconWrapper"
59
73
  }, (0, _react2.jsx)(_index.Image, {
60
74
  src: image.src,
61
75
  alt: image.alt,
62
76
  "aria-label": image['aria-label']
63
77
  }));
78
+ var renderLeftContent = function renderLeftContent() {
79
+ if (slots !== null && slots !== void 0 && slots.leftOfData) {
80
+ return slots.leftOfData;
81
+ }
82
+ if (isOnyx) {
83
+ return renderAvatar;
84
+ }
85
+ if (icon) {
86
+ return renderIcon;
87
+ }
88
+ return renderImage;
89
+ };
90
+ var headerPropsSpread = _objectSpread(_objectSpread({}, headerProps), isOnyx && {
91
+ variant: 'H4',
92
+ as: 'h4'
93
+ });
94
+ var headerWrapperPropsSpread = _objectSpread(_objectSpread({}, headerWrapperProps), {}, {
95
+ variant: 'panelHeader.wrapper',
96
+ py: 'sm'
97
+ }, isOnyx && {
98
+ gap: 'xs'
99
+ });
64
100
  var renderData = (0, _react2.jsx)(_index.Box, {
65
101
  isRow: true,
66
102
  variant: text || subtext ? 'panelHeader.data' : 'panelHeader.emptyData'
67
- }, slots !== null && slots !== void 0 && slots.leftOfData || icon ? renderIcon : renderImage, (0, _react2.jsx)(_index.Box, {
68
- variant: "panelHeader.wrapper",
69
- py: "sm"
70
- }, text && (0, _react2.jsx)(_index.Text, {
103
+ }, renderLeftContent(), (0, _react2.jsx)(_index.Box, headerWrapperPropsSpread, text && (0, _react2.jsx)(_index.Text, (0, _extends2["default"])({}, headerPropsSpread, {
71
104
  variant: "panelHeaderText"
72
- }, text), subtext && (0, _react2.jsx)(_index.Text, {
105
+ }), text), subtext && (0, _react2.jsx)(_index.Text, {
73
106
  variant: "panelHeaderSubtext"
74
107
  }, subtext)));
75
108
  return (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({
@@ -36,7 +36,8 @@ var Default = function Default(_ref) {
36
36
  return (0, _react2.jsx)(_index.PanelHeader, (0, _extends2["default"])({}, args, {
37
37
  data: {
38
38
  icon: _AccountIcon["default"],
39
- text: 'Fons Vernall'
39
+ text: 'Fons Vernall',
40
+ avatarDefualtText: 'FV'
40
41
  }
41
42
  }));
42
43
  };
@@ -53,7 +54,8 @@ var WithSubtext = function WithSubtext(_ref2) {
53
54
  data: {
54
55
  icon: _AccountIcon["default"],
55
56
  subtext: 'rad_developer@pingidentity.com',
56
- text: 'Fons Vernall'
57
+ text: 'Fons Vernall',
58
+ avatarDefualtText: 'FV'
57
59
  }
58
60
  }));
59
61
  };
@@ -70,7 +72,8 @@ var WithControls = function WithControls(_ref3) {
70
72
  data: {
71
73
  icon: _AccountIcon["default"],
72
74
  text: 'Fons Vernall',
73
- subtext: 'rad_developer@pingidentity.com'
75
+ subtext: 'rad_developer@pingidentity.com',
76
+ avatarDefualtText: 'FV'
74
77
  }
75
78
  }), (0, _react2.jsx)(_index.PanelHeaderSwitchField, null), (0, _react2.jsx)(_index.PanelHeaderMenu, null, (0, _react2.jsx)(_index.Item, {
76
79
  key: "enable"
@@ -93,7 +96,8 @@ var WithImage = function WithImage(args) {
93
96
  image: {
94
97
  src: _images.pingImg,
95
98
  alt: 'Ping Identity Logo',
96
- 'aria-label': 'Ping Identity Logo'
99
+ 'aria-label': 'Ping Identity Logo',
100
+ avatarDefualtText: 'FV'
97
101
  },
98
102
  text: 'Fons Vernall'
99
103
  }
@@ -154,6 +158,7 @@ var WithExtraLongText = function WithExtraLongText(_ref4) {
154
158
  var args = (0, _extends2["default"])({}, ((0, _objectDestructuringEmpty2["default"])(_ref4), _ref4));
155
159
  return (0, _react2.jsx)(_index.PanelHeader, (0, _extends2["default"])({}, args, {
156
160
  data: {
161
+ avatarDefualtText: 'FV',
157
162
  icon: _AccountIcon["default"],
158
163
  text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum',
159
164
  subtext: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum'
@@ -47,11 +47,16 @@ var wrapper = {
47
47
  var rightOfData = {
48
48
  alignSelf: 'center'
49
49
  };
50
+ var iconWrapper = {
51
+ width: '25px',
52
+ mx: 'md'
53
+ };
50
54
  var _default = {
51
55
  container: container,
52
56
  controls: controls,
53
57
  data: data,
54
58
  emptyData: emptyData,
59
+ iconWrapper: iconWrapper,
55
60
  rightOfData: rightOfData,
56
61
  wrapper: wrapper
57
62
  };
@@ -39,6 +39,12 @@ var getComponent = function getComponent() {
39
39
  var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
40
40
  return (0, _testWrapper.render)((0, _react3.jsx)(_index.PanelHeader, (0, _extends2["default"])({}, defaultProps, props)));
41
41
  };
42
+ var getComponentOnyx = function getComponentOnyx() {
43
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
44
+ return (0, _testWrapper.render)((0, _react3.jsx)(_index.AstroProvider, {
45
+ themeOverrides: [_index.OnyxTheme]
46
+ }, (0, _react3.jsx)(_index.PanelHeader, (0, _extends2["default"])({}, defaultProps, props))));
47
+ };
42
48
  var fallbackImageObj = null;
43
49
  jest.mock('../../hooks/useFallbackImage', function () {
44
50
  return function (props) {
@@ -100,4 +106,20 @@ test('renders rightOfData slot', function () {
100
106
  }
101
107
  });
102
108
  _testWrapper.screen.getByText(TEST_TEXT);
109
+ });
110
+ test('renders leftOfData slot', function () {
111
+ var TEST_TEXT = 'test text';
112
+ getComponent({
113
+ slots: {
114
+ leftOfData: (0, _react3.jsx)("div", null, TEST_TEXT)
115
+ }
116
+ });
117
+ _testWrapper.screen.getByText(TEST_TEXT);
118
+ });
119
+ test('renders onyx components', function () {
120
+ getComponentOnyx();
121
+ var image = _testWrapper.screen.getByRole('img');
122
+ expect(image.tagName.toLowerCase()).toBe('img');
123
+ expect(image).toHaveAttribute('src', _images.pingImg);
124
+ expect(image).toHaveAttribute('alt', 'Avatar');
103
125
  });
@@ -13,11 +13,8 @@ var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable
13
13
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
14
14
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
15
15
  var _react = _interopRequireWildcard(require("react"));
16
- var _AlertCircleIcon = _interopRequireDefault(require("@pingux/mdi-react/AlertCircleIcon"));
17
- var _AlertOutlineIcon = _interopRequireDefault(require("@pingux/mdi-react/AlertOutlineIcon"));
18
- var _CheckboxBlankCircleOutlineIcon = _interopRequireDefault(require("@pingux/mdi-react/CheckboxBlankCircleOutlineIcon"));
19
- var _CheckCircleIcon = _interopRequireDefault(require("@pingux/mdi-react/CheckCircleIcon"));
20
16
  var _kebabCase = _interopRequireDefault(require("lodash/kebabCase"));
17
+ var _hooks = require("../../hooks");
21
18
  var _Box = _interopRequireDefault(require("../Box"));
22
19
  var _Icon = _interopRequireDefault(require("../Icon"));
23
20
  var _Text = _interopRequireDefault(require("../Text"));
@@ -28,6 +25,12 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
28
25
  var RequirementsList = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
29
26
  var requirements = props.requirements,
30
27
  others = (0, _objectWithoutProperties2["default"])(props, _excluded);
28
+ var _useGetTheme = (0, _hooks.useGetTheme)(),
29
+ icons = _useGetTheme.icons;
30
+ var SuccessCircle = icons.SuccessCircle,
31
+ ErrorCircle = icons.ErrorCircle,
32
+ WarningIcon = icons.WarningIcon,
33
+ DefaultCircle = icons.DefaultCircle;
31
34
  var statusIconRender = function statusIconRender(status, key) {
32
35
  switch (status) {
33
36
  case 'success':
@@ -36,7 +39,7 @@ var RequirementsList = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref)
36
39
  id: key,
37
40
  name: 'Success Status Icon'
38
41
  },
39
- icon: _CheckCircleIcon["default"],
42
+ icon: SuccessCircle,
40
43
  color: "success.bright",
41
44
  mr: "sm",
42
45
  size: "sm",
@@ -48,7 +51,7 @@ var RequirementsList = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref)
48
51
  id: key,
49
52
  name: 'Warning Status Icon'
50
53
  },
51
- icon: _AlertOutlineIcon["default"],
54
+ icon: WarningIcon,
52
55
  color: "warning.bright",
53
56
  mr: "sm",
54
57
  size: "sm",
@@ -60,7 +63,7 @@ var RequirementsList = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref)
60
63
  id: key,
61
64
  name: 'Error Status Icon'
62
65
  },
63
- icon: _AlertCircleIcon["default"],
66
+ icon: ErrorCircle,
64
67
  color: "critical.bright",
65
68
  mr: "sm",
66
69
  size: "sm",
@@ -72,7 +75,7 @@ var RequirementsList = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref)
72
75
  id: key,
73
76
  name: 'Empty Status Icon'
74
77
  },
75
- icon: _CheckboxBlankCircleOutlineIcon["default"],
78
+ icon: DefaultCircle,
76
79
  color: "neutral.40",
77
80
  mr: "sm",
78
81
  size: "sm",
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import { SearchFieldProps, SearchItem } from '../../types';
3
+ export declare const SearchAutoComplete: React.ForwardRefExoticComponent<SearchFieldProps<SearchItem> & React.RefAttributes<HTMLInputElement>>;
@@ -0,0 +1,168 @@
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.SearchAutoComplete = void 0;
18
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
19
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
20
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
21
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
22
+ var _react = _interopRequireWildcard(require("react"));
23
+ var _reactAria = require("react-aria");
24
+ var _reactStately = require("react-stately");
25
+ var _CloseIcon = _interopRequireDefault(require("@pingux/mdi-react/CloseIcon"));
26
+ var _utils = require("@react-aria/utils");
27
+ var _ = require("../..");
28
+ var _hooks = require("../../hooks");
29
+ var _pendoID = require("../../utils/devUtils/constants/pendoID");
30
+ var _ListBox = _interopRequireDefault(require("../ListBox/ListBox"));
31
+ var _Popover = _interopRequireDefault(require("../Popover/Popover"));
32
+ var _react2 = require("@emotion/react");
33
+ var _excluded = ["shouldFocusOnHover", "shouldSelectOnPressUp"];
34
+ 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); }
35
+ 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; }
36
+ 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; }
37
+ 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; }
38
+ var displayName = 'SearchField';
39
+ var SearchAutoComplete = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
40
+ var autocomplete = props.autocomplete,
41
+ hasAutoFocus = props.hasAutoFocus,
42
+ hasNoClearButton = props.hasNoClearButton,
43
+ icon = props.icon,
44
+ isExcludedFromTabOrder = props.isExcludedFromTabOrder,
45
+ label = props.label,
46
+ controlProps = props.controlProps,
47
+ iconProps = props.iconProps,
48
+ labelProps = props.labelProps,
49
+ value = props.value,
50
+ onChange = props.onChange;
51
+ (0, _hooks.usePropWarning)(props, 'disabled', 'isDisabled');
52
+ var _useFilter = (0, _reactAria.useFilter)({
53
+ sensitivity: 'base'
54
+ }),
55
+ contains = _useFilter.contains;
56
+ var comboBoxState = (0, _reactStately.useComboBoxState)(_objectSpread(_objectSpread({}, props), {}, {
57
+ inputValue: value,
58
+ defaultInputValue: props.defaultValue,
59
+ onInputChange: onChange,
60
+ defaultFilter: contains,
61
+ allowsCustomValue: true
62
+ }));
63
+ var inputRef = (0, _hooks.useLocalOrForwardRef)(ref);
64
+ var outerRef = (0, _react.useRef)(null);
65
+ var listBoxRef = (0, _react.useRef)(null);
66
+ var popoverRef = (0, _react.useRef)(null);
67
+ var clearButtonRef = (0, _react.useRef)(null);
68
+ var _useComboBox = (0, _reactAria.useComboBox)(_objectSpread(_objectSpread({}, props), {}, {
69
+ inputRef: inputRef,
70
+ listBoxRef: listBoxRef,
71
+ popoverRef: popoverRef
72
+ }), comboBoxState),
73
+ inputProps = _useComboBox.inputProps,
74
+ listBoxProps = _useComboBox.listBoxProps,
75
+ rsLabelProps = _useComboBox.labelProps;
76
+ delete inputProps['data-testid'];
77
+ var shouldFocusOnHover = listBoxProps.shouldFocusOnHover,
78
+ shouldSelectOnPressUp = listBoxProps.shouldSelectOnPressUp,
79
+ otherListBoxProps = (0, _objectWithoutProperties2["default"])(listBoxProps, _excluded);
80
+ var searchProps = {
81
+ label: props.label,
82
+ value: comboBoxState.inputValue,
83
+ 'aria-label': props['aria-label'],
84
+ onChange: function onChange(v) {
85
+ return comboBoxState.setInputValue(v);
86
+ },
87
+ onClear: props.onClear,
88
+ onSubmit: props.onSubmit
89
+ };
90
+ var searchState = (0, _reactStately.useSearchFieldState)(searchProps);
91
+ var _useSearchField = (0, _reactAria.useSearchField)(_objectSpread({
92
+ autoComplete: autocomplete,
93
+ autoFocus: hasAutoFocus,
94
+ excludeFromTabOrder: isExcludedFromTabOrder
95
+ }, searchProps), searchState, inputRef),
96
+ raLabelProps = _useSearchField.labelProps,
97
+ raInputProps = _useSearchField.inputProps,
98
+ clearButtonProps = _useSearchField.clearButtonProps;
99
+ var _useField = (0, _hooks.useField)(_objectSpread(_objectSpread({}, props), {}, {
100
+ labelProps: _objectSpread(_objectSpread(_objectSpread({}, labelProps), raLabelProps), rsLabelProps),
101
+ controlProps: _objectSpread(_objectSpread({}, controlProps), raInputProps)
102
+ })),
103
+ fieldContainerProps = _useField.fieldContainerProps,
104
+ fieldControlInputProps = _useField.fieldControlInputProps,
105
+ fieldControlWrapperProps = _useField.fieldControlWrapperProps,
106
+ fieldLabelProps = _useField.fieldLabelProps;
107
+ var handleKeyDownEvent = function handleKeyDownEvent(e) {
108
+ var key = e.key;
109
+ if (key === 'Enter' || key === ' ') {
110
+ comboBoxState.setInputValue('');
111
+ }
112
+ };
113
+
114
+ // Popover width matches the input width
115
+ var _useState = (0, _react.useState)(0),
116
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
117
+ popoverWidth = _useState2[0],
118
+ setPopoverWidth = _useState2[1];
119
+ var onResize = (0, _react.useCallback)(function () {
120
+ /* istanbul ignore next */
121
+ if (outerRef.current) {
122
+ setPopoverWidth(outerRef.current.offsetWidth);
123
+ }
124
+ }, [outerRef, setPopoverWidth]);
125
+ (0, _utils.useResizeObserver)({
126
+ ref: outerRef,
127
+ onResize: onResize
128
+ });
129
+ (0, _react.useLayoutEffect)(onResize, [onResize]);
130
+ 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"])({
131
+ variant: "forms.search.wrapper",
132
+ ref: outerRef
133
+ }, fieldControlWrapperProps), (0, _react2.jsx)(_.Input, (0, _extends2["default"])({
134
+ variant: "forms.input.search",
135
+ ref: inputRef
136
+ }, (0, _utils.mergeProps)(fieldControlInputProps, inputProps))), icon && (0, _react2.jsx)(_.Icon, (0, _extends2["default"])({
137
+ icon: icon,
138
+ variant: "forms.search.icon",
139
+ title: {
140
+ name: 'Search Icon'
141
+ }
142
+ }, iconProps)), !hasNoClearButton && searchState.value !== '' && (0, _react2.jsx)(_.IconButton, (0, _extends2["default"])({
143
+ ref: clearButtonRef
144
+ }, clearButtonProps, {
145
+ tabIndex: 0,
146
+ onKeyDown: handleKeyDownEvent,
147
+ color: "text.secondary",
148
+ variant: "searchClearButton"
149
+ }), (0, _react2.jsx)(_.Icon, {
150
+ icon: _CloseIcon["default"],
151
+ title: {
152
+ name: 'Close Icon'
153
+ }
154
+ }))), comboBoxState.isOpen && (0, _react2.jsx)(_Popover["default"], {
155
+ popoverRef: popoverRef,
156
+ triggerRef: outerRef,
157
+ state: comboBoxState,
158
+ isNonModal: true,
159
+ width: popoverWidth
160
+ }, (0, _react2.jsx)(_.ScrollBox, null, (0, _react2.jsx)(_ListBox["default"], (0, _extends2["default"])({
161
+ ref: listBoxRef,
162
+ state: comboBoxState,
163
+ isFocusedOnHover: shouldFocusOnHover,
164
+ isSelectedOnPressUp: shouldSelectOnPressUp,
165
+ showSelectedOption: false
166
+ }, otherListBoxProps)))));
167
+ });
168
+ exports.SearchAutoComplete = SearchAutoComplete;
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
- import { SearchFieldProps } from '../../types';
3
- declare const SearchField: React.ForwardRefExoticComponent<SearchFieldProps & React.RefAttributes<HTMLInputElement>>;
2
+ import { SearchFieldProps, SearchItem } from '../../types';
3
+ declare const SearchField: React.ForwardRefExoticComponent<SearchFieldProps<SearchItem> & React.RefAttributes<HTMLInputElement>>;
4
4
  export default SearchField;
@@ -1,99 +1,41 @@
1
1
  "use strict";
2
2
 
3
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
4
  var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
5
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
6
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
13
7
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
14
8
  _Object$defineProperty(exports, "__esModule", {
15
9
  value: true
16
10
  });
17
11
  exports["default"] = void 0;
18
12
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
19
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
13
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
20
14
  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
15
  var _SearchIcon = _interopRequireDefault(require("@pingux/mdi-react/SearchIcon"));
25
- var _ = require("../..");
26
- var _hooks = require("../../hooks");
27
- var _pendoID = require("../../utils/devUtils/constants/pendoID");
16
+ var _SearchAutoComplete = require("./SearchAutoComplete");
17
+ var _SearchFieldBase = require("./SearchFieldBase");
28
18
  var _react2 = require("@emotion/react");
19
+ var _excluded = ["hasNoClearButton", "mode", "icon"];
29
20
  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); }
30
21
  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; }
31
- 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; }
32
- 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; }
33
22
  var displayName = 'SearchField';
34
23
  var SearchField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
35
- var autocomplete = props.autocomplete,
36
- hasAutoFocus = props.hasAutoFocus,
37
- hasNoClearButton = props.hasNoClearButton,
38
- icon = props.icon,
39
- isExcludedFromTabOrder = props.isExcludedFromTabOrder,
40
- label = props.label,
41
- controlProps = props.controlProps,
42
- iconProps = props.iconProps,
43
- labelProps = props.labelProps;
44
- (0, _hooks.usePropWarning)(props, 'disabled', 'isDisabled');
45
- var searchRef = (0, _hooks.useLocalOrForwardRef)(ref);
46
- var state = (0, _reactStately.useSearchFieldState)(props);
47
- var _useSearchField = (0, _reactAria.useSearchField)(_objectSpread({
48
- autoComplete: autocomplete,
49
- autoFocus: hasAutoFocus,
50
- excludeFromTabOrder: isExcludedFromTabOrder
51
- }, props), state, searchRef),
52
- raLabelProps = _useSearchField.labelProps,
53
- raInputProps = _useSearchField.inputProps,
54
- clearButtonProps = _useSearchField.clearButtonProps;
55
- var _useField = (0, _hooks.useField)(_objectSpread(_objectSpread({}, props), {}, {
56
- labelProps: _objectSpread(_objectSpread({}, labelProps), raLabelProps),
57
- controlProps: _objectSpread(_objectSpread({}, controlProps), raInputProps)
58
- })),
59
- fieldContainerProps = _useField.fieldContainerProps,
60
- fieldControlInputProps = _useField.fieldControlInputProps,
61
- fieldControlWrapperProps = _useField.fieldControlWrapperProps,
62
- fieldLabelProps = _useField.fieldLabelProps;
63
- var handleKeyDownEvent = function handleKeyDownEvent(e) {
64
- var key = e.key;
65
- if (key === 'Enter' || key === ' ') {
66
- state.setValue('');
67
- }
68
- };
69
- 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"])({
70
- variant: "forms.search.wrapper"
71
- }, fieldControlWrapperProps), (0, _react2.jsx)(_.Input, (0, _extends2["default"])({
72
- variant: "forms.input.search",
73
- ref: searchRef
74
- }, fieldControlInputProps)), icon && (0, _react2.jsx)(_.Icon, (0, _extends2["default"])({
75
- icon: icon,
76
- variant: "forms.search.icon",
77
- size: 20,
78
- title: {
79
- name: 'Search Icon'
80
- }
81
- }, iconProps)), !hasNoClearButton && state.value !== '' && (0, _react2.jsx)(_.IconButton, (0, _extends2["default"])({
82
- tabIndex: 0,
83
- onKeyDown: handleKeyDownEvent,
84
- color: "text.secondary",
85
- variant: "searchClearButton"
86
- }, clearButtonProps), (0, _react2.jsx)(_.Icon, {
87
- icon: _CloseIcon["default"],
88
- title: {
89
- name: 'Close Icon'
90
- }
91
- }))));
24
+ var _props$hasNoClearButt = props.hasNoClearButton,
25
+ hasNoClearButton = _props$hasNoClearButt === void 0 ? false : _props$hasNoClearButt,
26
+ _props$mode = props.mode,
27
+ mode = _props$mode === void 0 ? 'default' : _props$mode,
28
+ _props$icon = props.icon,
29
+ icon = _props$icon === void 0 ? _SearchIcon["default"] : _props$icon,
30
+ rest = (0, _objectWithoutProperties2["default"])(props, _excluded);
31
+ var Component = mode === 'autocomplete' ? _SearchAutoComplete.SearchAutoComplete : _SearchFieldBase.SearchFieldBase;
32
+ return (0, _react2.jsx)(Component, (0, _extends2["default"])({
33
+ hasNoClearButton: hasNoClearButton,
34
+ icon: icon
35
+ }, rest, {
36
+ ref: ref
37
+ }));
92
38
  });
93
- SearchField.defaultProps = {
94
- hasNoClearButton: false,
95
- icon: _SearchIcon["default"]
96
- };
97
39
  SearchField.displayName = displayName;
98
40
  var _default = SearchField;
99
41
  exports["default"] = _default;
@@ -1,10 +1,11 @@
1
1
  import { StoryFn } from '@storybook/react';
2
- import { SearchFieldProps } from '../../types';
2
+ import { SearchFieldProps, SearchItem } 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
- export declare const Default: StoryFn<SearchFieldProps>;
6
- export declare const Controlled: StoryFn<SearchFieldProps>;
7
- export declare const CustomIcon: StoryFn<SearchFieldProps>;
8
- export declare const NoClearButton: StoryFn<SearchFieldProps>;
9
- export declare const ControlledWithDebouncedInput: StoryFn<SearchFieldProps>;
10
- export declare const WithFilter: StoryFn<SearchFieldProps>;
5
+ export declare const Default: StoryFn<SearchFieldProps<SearchItem>>;
6
+ export declare const Controlled: StoryFn<SearchFieldProps<SearchItem>>;
7
+ export declare const CustomIcon: StoryFn<SearchFieldProps<SearchItem>>;
8
+ export declare const NoClearButton: StoryFn<SearchFieldProps<SearchItem>>;
9
+ export declare const ControlledWithDebouncedInput: StoryFn<SearchFieldProps<SearchItem>>;
10
+ export declare const WithFilter: StoryFn<SearchFieldProps<SearchItem>>;
11
+ export declare const ControlledWithPopover: StoryFn<SearchFieldProps<SearchItem>>;
@@ -14,7 +14,7 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
14
14
  _Object$defineProperty(exports, "__esModule", {
15
15
  value: true
16
16
  });
17
- exports["default"] = exports.WithFilter = exports.NoClearButton = exports.Default = exports.CustomIcon = exports.ControlledWithDebouncedInput = exports.Controlled = void 0;
17
+ exports["default"] = exports.WithFilter = exports.NoClearButton = exports.Default = exports.CustomIcon = exports.ControlledWithPopover = exports.ControlledWithDebouncedInput = exports.Controlled = void 0;
18
18
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
19
19
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
20
20
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
@@ -85,7 +85,7 @@ var Default = function Default(args) {
85
85
  icon: _SearchIcon["default"],
86
86
  onSubmit: function onSubmit(text) {
87
87
  return alert(text);
88
- } // eslint-disable-line no-alert
88
+ }
89
89
  }));
90
90
  };
91
91
  exports.Default = Default;
@@ -180,4 +180,44 @@ var WithFilter = function WithFilter() {
180
180
  }
181
181
  })));
182
182
  };
183
- exports.WithFilter = WithFilter;
183
+ exports.WithFilter = WithFilter;
184
+ var ControlledWithPopover = function ControlledWithPopover() {
185
+ var _useState5 = (0, _react.useState)(''),
186
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
187
+ value = _useState6[0],
188
+ setValue = _useState6[1];
189
+ var items = [{
190
+ id: 'apple',
191
+ name: 'Apple'
192
+ }, {
193
+ id: 'banana',
194
+ name: 'Banana'
195
+ }, {
196
+ id: 'blueberry',
197
+ name: 'Blueberry'
198
+ }];
199
+ return (0, _react2.jsx)(_index.Box, null, (0, _react2.jsx)(_index.SearchField, {
200
+ mode: "autocomplete",
201
+ defaultItems: items,
202
+ value: value,
203
+ onChange: function onChange(val) {
204
+ setValue(val);
205
+ },
206
+ "aria-label": "Search Groups",
207
+ placeholder: "Search",
208
+ onSubmit: function onSubmit(text) {
209
+ return alert(text);
210
+ },
211
+ onClear: function onClear() {
212
+ setValue('');
213
+ }
214
+ }, function (item) {
215
+ return (0, _react2.jsx)(_index.Item, {
216
+ key: item.id,
217
+ textValue: item.name
218
+ }, item.name);
219
+ }), (0, _react2.jsx)(_index.Text, {
220
+ mt: "xs"
221
+ }, "value: ".concat(value)));
222
+ };
223
+ exports.ControlledWithPopover = ControlledWithPopover;