@pingux/astro 2.219.0 → 2.220.0

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 (67) hide show
  1. package/lib/cjs/components/Breadcrumbs/Breadcrumb.styles.d.ts +7 -0
  2. package/lib/cjs/components/Breadcrumbs/Breadcrumb.styles.js +9 -2
  3. package/lib/cjs/components/Breadcrumbs/BreadcrumbItem.js +16 -3
  4. package/lib/cjs/components/Breadcrumbs/Breadcrumbs.js +24 -7
  5. package/lib/cjs/components/DatePicker/DateField.d.ts +4 -0
  6. package/lib/cjs/components/DatePicker/DateField.js +25 -79
  7. package/lib/cjs/components/DatePicker/DatePicker.d.ts +4 -0
  8. package/lib/cjs/components/DatePicker/DatePicker.js +28 -79
  9. package/lib/cjs/components/DatePicker/DatePicker.stories.js +4 -2
  10. package/lib/cjs/components/DatePicker/DatePicker.styles.d.ts +921 -0
  11. package/lib/cjs/components/DatePicker/DatePicker.styles.js +3 -1
  12. package/lib/cjs/components/DatePicker/DatePicker.test.js +4 -4
  13. package/lib/cjs/components/DatePicker/DateSegment.d.ts +7 -0
  14. package/lib/cjs/components/DatePicker/DateSegment.js +18 -29
  15. package/lib/cjs/components/DatePicker/index.d.ts +1 -0
  16. package/lib/cjs/components/Icon/NoticeIcon.d.ts +16 -1
  17. package/lib/cjs/components/IconButton/IconButton.styles.d.ts +39 -1
  18. package/lib/cjs/components/ImageUploadField/ImagePreviewButton.d.ts +18 -0
  19. package/lib/cjs/components/ImageUploadField/ImagePreviewButton.js +3 -22
  20. package/lib/cjs/components/ImageUploadField/ImageUploadField.d.ts +4 -0
  21. package/lib/cjs/components/ImageUploadField/ImageUploadField.js +30 -66
  22. package/lib/cjs/components/ImageUploadField/ImageUploadFieldBase.d.ts +17 -0
  23. package/lib/cjs/components/ImageUploadField/ImageUploadFieldBase.js +6 -19
  24. package/lib/cjs/components/ImageUploadField/imageUpload.d.ts +53 -0
  25. package/lib/cjs/components/ImageUploadField/index.d.ts +1 -0
  26. package/lib/cjs/components/PanelHeader/PanelHeader.styles.js +4 -1
  27. package/lib/cjs/components/SwitchField/switchFieldAttributes.d.ts +7 -2
  28. package/lib/cjs/hooks/useGetTheme/useGetTheme.d.ts +138 -119
  29. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/customProperties/icons.d.ts +10 -0
  30. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/customProperties/index.d.ts +10 -0
  31. package/lib/cjs/styles/themeOverrides/onyxSideNav.d.ts +10 -0
  32. package/lib/cjs/styles/themes/astro/customProperties/icons.d.ts +10 -1
  33. package/lib/cjs/styles/themes/astro/customProperties/index.d.ts +10 -1
  34. package/lib/cjs/styles/themes/next-gen/customProperties/icons.d.ts +10 -1
  35. package/lib/cjs/styles/themes/next-gen/customProperties/index.d.ts +10 -1
  36. package/lib/cjs/styles/themes/next-gen/next-gen.d.ts +13 -1
  37. package/lib/cjs/styles/themes/next-gen/variants/variants.d.ts +3 -0
  38. package/lib/cjs/styles/themes/next-gen/variants/variants.js +3 -0
  39. package/lib/cjs/types/breadCrumbs.d.ts +6 -0
  40. package/lib/cjs/types/datePicker.d.ts +112 -0
  41. package/lib/cjs/types/datePicker.js +6 -0
  42. package/lib/cjs/types/imageUploadField.d.ts +31 -0
  43. package/lib/cjs/types/imageUploadField.js +6 -0
  44. package/lib/cjs/types/index.d.ts +2 -0
  45. package/lib/cjs/types/index.js +73 -51
  46. package/lib/cjs/utils/devUtils/constants/statuses.d.ts +17 -0
  47. package/lib/cjs/utils/devUtils/props/isDateWithinRanges.d.ts +10 -0
  48. package/lib/cjs/utils/devUtils/props/isDateWithinRanges.js +2 -2
  49. package/lib/components/Breadcrumbs/Breadcrumb.styles.js +9 -2
  50. package/lib/components/Breadcrumbs/BreadcrumbItem.js +17 -4
  51. package/lib/components/Breadcrumbs/Breadcrumbs.js +25 -8
  52. package/lib/components/DatePicker/DateField.js +25 -79
  53. package/lib/components/DatePicker/DatePicker.js +30 -79
  54. package/lib/components/DatePicker/DatePicker.stories.js +4 -2
  55. package/lib/components/DatePicker/DatePicker.styles.js +3 -1
  56. package/lib/components/DatePicker/DatePicker.test.js +4 -4
  57. package/lib/components/DatePicker/DateSegment.js +17 -30
  58. package/lib/components/ImageUploadField/ImagePreviewButton.js +5 -24
  59. package/lib/components/ImageUploadField/ImageUploadField.js +31 -67
  60. package/lib/components/ImageUploadField/ImageUploadFieldBase.js +6 -19
  61. package/lib/components/PanelHeader/PanelHeader.styles.js +4 -1
  62. package/lib/styles/themes/next-gen/variants/variants.js +3 -0
  63. package/lib/types/datePicker.js +1 -0
  64. package/lib/types/imageUploadField.js +1 -0
  65. package/lib/types/index.js +2 -0
  66. package/lib/utils/devUtils/props/isDateWithinRanges.js +2 -3
  67. package/package.json +1 -1
@@ -19,7 +19,9 @@ function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymb
19
19
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(t), !0)).call(_context, function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
20
20
  var inSlotContainer = _objectSpread(_objectSpread({}, _Input.input.fieldControlWrapper), {}, {
21
21
  position: 'relative',
22
- width: 'fit-content'
22
+ // Override the parent fieldContainer's '> .is-default { width: 100% }' rule
23
+ // because it has higher specificity.
24
+ width: 'fit-content !important'
23
25
  });
24
26
  var inputField = _objectSpread(_objectSpread({}, _Input.input), {}, {
25
27
  width: 'auto',
@@ -229,9 +229,9 @@ test('should be able to select dates', /*#__PURE__*/(0, _asyncToGenerator2["defa
229
229
  year = inputButtons[0];
230
230
  month = inputButtons[1];
231
231
  day = inputButtons[2];
232
- expect(month).toHaveTextContent(8);
233
- expect(day).toHaveTextContent(1);
234
- expect(year).toHaveTextContent(2022);
232
+ expect(month).toHaveTextContent('8');
233
+ expect(day).toHaveTextContent('1');
234
+ expect(year).toHaveTextContent('2022');
235
235
  expect(_testWrapper.screen.queryByTestId('date-field')).toHaveValue('2022-08-01');
236
236
  case 18:
237
237
  case "end":
@@ -382,7 +382,7 @@ test('date picker with controlled value to change default value and clear any se
382
382
  _context6.next = 16;
383
383
  return _userEvent["default"].click(changeButton);
384
384
  case 16:
385
- expect(day).toHaveTextContent(10);
385
+ expect(day).toHaveTextContent('10');
386
386
  _context6.next = 19;
387
387
  return _userEvent["default"].click(clearButton);
388
388
  case 19:
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { DateSegmentProps } from '../../types';
3
+ /**
4
+ * Each editable segment of date.
5
+ */
6
+ declare const DateSegment: React.ForwardRefExoticComponent<DateSegmentProps & React.RefAttributes<HTMLElement>>;
7
+ export default DateSegment;
@@ -14,20 +14,20 @@ var _padStart = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-s
14
14
  var _react = _interopRequireWildcard(require("react"));
15
15
  var _reactAria = require("react-aria");
16
16
  var _datepicker = require("@react-aria/datepicker");
17
- var _propTypes = _interopRequireDefault(require("prop-types"));
18
17
  var _index = require("../../index");
19
18
  var _react2 = require("@emotion/react");
20
19
  function _interopRequireWildcard(e, t) { if ("function" == typeof _WeakMap) var r = new _WeakMap(), n = new _WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = _Object$defineProperty) && _Object$getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
21
20
  /**
22
21
  * Each editable segment of date.
23
- */var DateSegment = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
22
+ */
23
+ var DateSegment = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
24
24
  var isLocalEnUS = props.isLocalEnUS,
25
25
  segment = props.segment,
26
26
  state = props.state,
27
27
  handlePaste = props.handlePaste,
28
28
  segments = props.segments,
29
29
  segmentIndex = props.segmentIndex;
30
- var segmentRef = (0, _react.useRef)();
30
+ var segmentRef = (0, _react.useRef)(null);
31
31
  // istanbul ignore next
32
32
  (0, _react.useImperativeHandle)(ref, function () {
33
33
  return segmentRef.current;
@@ -66,36 +66,25 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof _WeakMap) var
66
66
  }
67
67
  return null;
68
68
  }, [focusManager, segment, isPlaceholder]);
69
+ var displayText = text;
70
+ if (text === '/') {
71
+ displayText = '-';
72
+ } else {
73
+ var padLength = 0;
74
+ if (isLocalEnUS) {
75
+ if (type === 'year') {
76
+ padLength = 4;
77
+ } else {
78
+ padLength = 2;
79
+ }
80
+ }
81
+ displayText = (0, _padStart["default"])(text).call(text, padLength, '0');
82
+ }
69
83
  return (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({}, segmentProps, {
70
84
  ref: segmentRef,
71
85
  variant: "forms.datePicker.segment",
72
86
  onKeyUp: handleKeyEvents,
73
87
  onPaste: handlePaste
74
- }), text === '/' ? '-' : (0, _padStart["default"])(text).call(text, isLocalEnUS && (type === 'year' ? 4 : 2), 0));
88
+ }), displayText);
75
89
  });
76
- DateSegment.propTypes = {
77
- /** slot for input that indicates each date segment */
78
- segment: _propTypes["default"].shape({
79
- isPlaceholder: _propTypes["default"].bool,
80
- text: _propTypes["default"].string,
81
- placeholder: _propTypes["default"].string,
82
- value: _propTypes["default"].number,
83
- type: _propTypes["default"].string
84
- }),
85
- /** index value of each segment */
86
- segmentIndex: _propTypes["default"].number,
87
- /** An array of segments */
88
- segments: _propTypes["default"].arrayOf(_propTypes["default"].shape({
89
- text: _propTypes["default"].string
90
- })),
91
- /** state returned by useDateField */
92
- state: _propTypes["default"].shape({}),
93
- /**
94
- * Handler that is called when a paste event is called.
95
- * (e: PasteEvent) => void
96
- */
97
- handlePaste: _propTypes["default"].func,
98
- /** checks if the current locale is en-US */
99
- isLocalEnUS: _propTypes["default"].bool
100
- };
101
90
  var _default = exports["default"] = DateSegment;
@@ -0,0 +1 @@
1
+ export { default } from './DatePicker';
@@ -1,7 +1,22 @@
1
1
  import React from 'react';
2
2
  import { IconProps, Status } from '../../types';
3
3
  export declare const noticeIcons: {
4
- [x: number]: {
4
+ default: {
5
+ icon: import("@pingux/mdi-react").MdiReactIconComponentType;
6
+ testid: string;
7
+ name: string;
8
+ };
9
+ error: {
10
+ icon: import("@pingux/mdi-react").MdiReactIconComponentType;
11
+ testid: string;
12
+ name: string;
13
+ };
14
+ success: {
15
+ icon: import("@pingux/mdi-react").MdiReactIconComponentType;
16
+ testid: string;
17
+ name: string;
18
+ };
19
+ warning: {
5
20
  icon: import("@pingux/mdi-react").MdiReactIconComponentType;
6
21
  testid: string;
7
22
  name: string;
@@ -194,7 +194,45 @@ declare const _default: {
194
194
  };
195
195
  };
196
196
  datePicker: {
197
- containedIcon: any;
197
+ containedIcon: {
198
+ position: string;
199
+ right: number;
200
+ width: number;
201
+ height: number;
202
+ top: string;
203
+ transform: string;
204
+ justifyContent: string;
205
+ appearance: string;
206
+ alignItems: string;
207
+ alignSelf: string;
208
+ display: string;
209
+ flexGrow: number;
210
+ flexShrink: number;
211
+ borderRadius: string;
212
+ cursor: string;
213
+ bg: string;
214
+ p: string;
215
+ path: {
216
+ fill: string;
217
+ };
218
+ outline: string;
219
+ '&.is-focused': {
220
+ outline: string;
221
+ outlineColor: string;
222
+ outlineOffset: string;
223
+ };
224
+ '&.is-hovered': {
225
+ bg: string;
226
+ boxShadow: string;
227
+ };
228
+ '&.is-pressed': {
229
+ path: {
230
+ fill: string;
231
+ };
232
+ bg: string;
233
+ boxShadow: string;
234
+ };
235
+ };
198
236
  };
199
237
  hintButton: {
200
238
  bg: string;
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ interface ImagePreviewButtonProps {
3
+ defaultPreviewImage?: string;
4
+ defaultPreviewNode?: React.ReactNode;
5
+ isImageType?: boolean;
6
+ isLoading?: boolean;
7
+ isMenuOpen?: boolean;
8
+ loaderSize?: string | number;
9
+ onPress?: () => void;
10
+ previewImage?: string;
11
+ previewWidth?: number;
12
+ widthHeightSx: {
13
+ height: number | string;
14
+ width: number | string;
15
+ };
16
+ }
17
+ declare const ImagePreviewButton: React.ForwardRefExoticComponent<ImagePreviewButtonProps & React.RefAttributes<HTMLButtonElement>>;
18
+ export default ImagePreviewButton;
@@ -14,7 +14,6 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-c
14
14
  var _react = _interopRequireWildcard(require("react"));
15
15
  var _reactAria = require("react-aria");
16
16
  var _interactions = require("@react-aria/interactions");
17
- var _propTypes = _interopRequireDefault(require("prop-types"));
18
17
  var _hooks = require("../../hooks");
19
18
  var _index = require("../../index");
20
19
  var _Loader = _interopRequireDefault(require("../Loader"));
@@ -32,15 +31,11 @@ var ImagePreviewButton = /*#__PURE__*/(0, _react.forwardRef)(function (props, re
32
31
  previewWidth = props.previewWidth,
33
32
  widthHeightSx = props.widthHeightSx,
34
33
  others = (0, _objectWithoutProperties2["default"])(props, _excluded);
35
- var buttonRef = (0, _react.useRef)();
36
- /* istanbul ignore next */
37
- (0, _react.useImperativeHandle)(ref, function () {
38
- return buttonRef.current;
39
- });
34
+ var buttonRef = (0, _hooks.useLocalOrForwardRef)(ref);
40
35
  var _useFocusRing = (0, _reactAria.useFocusRing)(),
41
36
  focusProps = _useFocusRing.focusProps,
42
37
  isFocusVisible = _useFocusRing.isFocusVisible;
43
- var _useHover = (0, _interactions.useHover)(props),
38
+ var _useHover = (0, _interactions.useHover)({}),
44
39
  hoverProps = _useHover.hoverProps,
45
40
  isHovered = _useHover.isHovered;
46
41
  var _useGetTheme = (0, _hooks.useGetTheme)(),
@@ -98,7 +93,7 @@ var ImagePreviewButton = /*#__PURE__*/(0, _react.forwardRef)(function (props, re
98
93
  variant: "imageUpload.hoveredPreview.shaded"
99
94
  }));
100
95
  return (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({
101
- tabindex: 0,
96
+ tabIndex: 0,
102
97
  sx: widthHeightSx
103
98
  }, hoverProps), (0, _react2.jsx)(_index.Button, (0, _extends2["default"])({
104
99
  ref: buttonRef,
@@ -108,19 +103,5 @@ var ImagePreviewButton = /*#__PURE__*/(0, _react.forwardRef)(function (props, re
108
103
  "aria-label": "Image preview"
109
104
  }, (0, _reactAria.mergeProps)(focusProps, others)), previewImage && isImageType ? imagePreview : noImagePreview, isLoading && loadingPreview, (isHovered || isFocusVisible) && !isLoading && hoveredPreview));
110
105
  });
111
- ImagePreviewButton.propTypes = {
112
- defaultPreviewImage: _propTypes["default"].string,
113
- defaultPreviewNode: _propTypes["default"].node,
114
- isImageType: _propTypes["default"].bool,
115
- isLoading: _propTypes["default"].bool,
116
- isMenuOpen: _propTypes["default"].bool,
117
- loaderSize: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
118
- previewImage: _propTypes["default"].string,
119
- previewWidth: _propTypes["default"].number,
120
- widthHeightSx: _propTypes["default"].shape({
121
- height: _propTypes["default"].number,
122
- width: _propTypes["default"].number
123
- })
124
- };
125
106
  ImagePreviewButton.displayName = 'ImagePreviewButton';
126
107
  var _default = exports["default"] = ImagePreviewButton;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { ImageUploadFieldProps } from '../../types';
3
+ declare const ImageUploadField: React.ForwardRefExoticComponent<ImageUploadFieldProps & React.RefAttributes<HTMLInputElement>>;
4
+ export default ImageUploadField;
@@ -15,19 +15,15 @@ _Object$defineProperty(exports, "__esModule", {
15
15
  value: true
16
16
  });
17
17
  exports["default"] = void 0;
18
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
19
18
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
19
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
20
20
  var _react = _interopRequireWildcard(require("react"));
21
21
  var _visuallyHidden = require("@react-aria/visually-hidden");
22
- var _propTypes = _interopRequireDefault(require("prop-types"));
23
22
  var _uuid = require("uuid");
24
23
  var _ = require("../..");
24
+ var _hooks = require("../../hooks");
25
25
  var _useImageUploadState = require("../../hooks/useImageUploadState");
26
- var _htmlElements = require("../../utils/devUtils/constants/htmlElements");
27
26
  var _pendoID = require("../../utils/devUtils/constants/pendoID");
28
- var _ariaAttributes = require("../../utils/docUtils/ariaAttributes");
29
- var _fieldAttributes = require("../../utils/docUtils/fieldAttributes");
30
- var _statusProp = require("../../utils/docUtils/statusProp");
31
27
  var _ImagePreviewButton = _interopRequireDefault(require("./ImagePreviewButton"));
32
28
  var _ImageUploadFieldBase = _interopRequireDefault(require("./ImageUploadFieldBase"));
33
29
  var _react2 = require("@emotion/react");
@@ -36,20 +32,33 @@ function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymb
36
32
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(t), !0)).call(_context, function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
37
33
  var displayName = 'ImageUploadField';
38
34
  var ImageUploadField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
35
+ var _state$defaultPreview, _state$previewImage;
39
36
  var isLoading = props.isLoading,
40
- loaderSize = props.loaderSize,
37
+ _props$loaderSize = props.loaderSize,
38
+ loaderSize = _props$loaderSize === void 0 ? 10 : _props$loaderSize,
41
39
  onRemove = props.onRemove,
42
- removeItemText = props.removeItemText,
43
- uploadItemText = props.uploadItemText;
44
- var inputRef = (0, _react.useRef)();
45
- var state = (0, _useImageUploadState.useImageUploadState)(inputRef, props);
40
+ _props$previewHeight = props.previewHeight,
41
+ previewHeight = _props$previewHeight === void 0 ? 50 : _props$previewHeight,
42
+ _props$previewWidth = props.previewWidth,
43
+ previewWidth = _props$previewWidth === void 0 ? 50 : _props$previewWidth,
44
+ _props$removeItemText = props.removeItemText,
45
+ removeItemText = _props$removeItemText === void 0 ? 'Remove Image' : _props$removeItemText,
46
+ _props$uploadItemText = props.uploadItemText,
47
+ uploadItemText = _props$uploadItemText === void 0 ? 'Upload New Image' : _props$uploadItemText;
48
+
46
49
  /* istanbul ignore next */
47
- (0, _react.useImperativeHandle)(ref, function () {
48
- return inputRef.current;
50
+ var inputRef = (0, _hooks.useLocalOrForwardRef)(ref);
51
+ // Cast props to the hook's internal interface: defaultPreviewImage narrows to string|null,
52
+ // previewHeight/previewWidth are treated as strings internally. Spread the destructured
53
+ // (defaulted) previewHeight/previewWidth so the hook receives the defaults when not provided.
54
+ var propsWithDefaults = _objectSpread(_objectSpread({}, props), {}, {
55
+ previewHeight: previewHeight,
56
+ previewWidth: previewWidth
49
57
  });
58
+ var stateProps = propsWithDefaults;
59
+ var state = (0, _useImageUploadState.useImageUploadState)(inputRef, stateProps);
50
60
  var statusId = (0, _uuid.v4)();
51
61
  var onAction = (0, _react.useCallback)(function (action) {
52
- // eslint-disable-next-line default-case
53
62
  switch (action) {
54
63
  case 'upload':
55
64
  {
@@ -64,8 +73,10 @@ var ImageUploadField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref)
64
73
  }
65
74
  break;
66
75
  }
76
+ default:
77
+ break;
67
78
  }
68
- }, [state.showFileDialog, props === null || props === void 0 ? void 0 : props.onRemove, state.removePreview]);
79
+ }, [state.showFileDialog, onRemove, state.removePreview]);
69
80
  return (0, _react2.jsx)(_react["default"].Fragment, null, (0, _react2.jsx)(_ImageUploadFieldBase["default"], (0, _extends2["default"])({
70
81
  fileName: state.fileName,
71
82
  handleInputChange: state.handleInputChange,
@@ -73,18 +84,16 @@ var ImageUploadField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref)
73
84
  handleOpenMenuChange: state.handleOpenMenuChange,
74
85
  isImageType: state.isImageType,
75
86
  isMenuOpen: state.isMenuOpen,
76
- ref: inputRef,
77
- widthHeightSx: state.widthHeightSx
87
+ ref: inputRef
78
88
  }, (0, _pendoID.getPendoID)(displayName), props), (0, _react2.jsx)(_ImagePreviewButton["default"], {
79
- defaultPreviewImage: state.defaultPreviewImage,
89
+ defaultPreviewImage: (_state$defaultPreview = state.defaultPreviewImage) !== null && _state$defaultPreview !== void 0 ? _state$defaultPreview : undefined,
80
90
  defaultPreviewNode: state.defaultPreviewNode,
81
91
  isImageType: state.isImageType,
82
92
  isLoading: isLoading,
83
93
  loaderSize: loaderSize,
84
94
  onPress: state.pressPreviewButton,
85
- previewHeight: props === null || props === void 0 ? void 0 : props.previewHeight,
86
- previewImage: state.previewImage,
87
- previewWidth: props === null || props === void 0 ? void 0 : props.previewWidth,
95
+ previewImage: (_state$previewImage = state.previewImage) !== null && _state$previewImage !== void 0 ? _state$previewImage : undefined,
96
+ previewWidth: previewWidth,
88
97
  widthHeightSx: state.widthHeightSx,
89
98
  "aria-haspopup": state.isMenuOpen
90
99
  }), (0, _react2.jsx)(_.Menu, {
@@ -103,50 +112,5 @@ var ImageUploadField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref)
103
112
  id: statusId
104
113
  }, state.isMenuOpen && 'Menu pop up expanded'));
105
114
  });
106
- ImageUploadField.propTypes = _objectSpread(_objectSpread(_objectSpread({
107
- /** Image preview (controlled), used to represent the current image state. */
108
- previewImage: _propTypes["default"].string,
109
- /** Text that renders in the upload menu item. */
110
- uploadItemText: _propTypes["default"].string,
111
- /** Text that renders in the remove menu item. */
112
- removeItemText: _propTypes["default"].string,
113
- /** Default image preview (uncontrolled), used when no previewImage is present. */
114
- defaultPreviewImage: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].node]),
115
- /** An array of accepted file types.
116
- * (according to the https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types#types ) */
117
- fileTypes: _propTypes["default"].arrayOf(_propTypes["default"].oneOf(_htmlElements.imageUploadPropTypes)),
118
- /** Text to display after the radio group label. Useful for errors or other info. */
119
- helperText: _propTypes["default"].node,
120
- /** Determines whether the loading indicator is shown. */
121
- isLoading: _propTypes["default"].bool,
122
- /** Defines a string value that labels the current element. */
123
- label: _propTypes["default"].string,
124
- /** The handler that is called when the input file is added.
125
- *
126
- * `(event: InputEvent) => void`
127
- * */
128
- onChange: _propTypes["default"].func,
129
- /** Loading indicator size */
130
- loaderSize: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
131
- /** The handler that is called when the file is removed.
132
- *
133
- * `(event: InputEvent) => void`
134
- * */
135
- onRemove: _propTypes["default"].func,
136
- /** Props that will be passed to the Popover Menu. */
137
- popoverMenuProps: _propTypes["default"].shape({}),
138
- /** Define component height */
139
- previewHeight: _propTypes["default"].number,
140
- /** Define component height */
141
- previewWidth: _propTypes["default"].number
142
- }, _statusProp.statusPropTypes), _ariaAttributes.ariaAttributesBasePropTypes), _fieldAttributes.inputFieldAttributesBasePropTypes);
143
- ImageUploadField.defaultProps = {
144
- fileTypes: ['image'],
145
- loaderSize: 10,
146
- previewHeight: 50,
147
- previewWidth: 50,
148
- uploadItemText: 'Upload New Image',
149
- removeItemText: 'Remove Image'
150
- };
151
115
  ImageUploadField.displayName = displayName;
152
116
  var _default = exports["default"] = ImageUploadField;
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import { PopoverMenuProps, Status } from '../../types';
3
+ interface ImageUploadFieldBaseProps {
4
+ children?: React.ReactNode;
5
+ fileName?: string;
6
+ fileTypes?: string[];
7
+ handleInputChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
8
+ handleLabelClick: (event: React.MouseEvent) => void;
9
+ handleOpenMenuChange: (isOpen: boolean) => void;
10
+ helperText?: React.ReactNode;
11
+ isImageType?: boolean;
12
+ isMenuOpen?: boolean;
13
+ popoverMenuProps?: Partial<PopoverMenuProps>;
14
+ status?: Status;
15
+ }
16
+ declare const ImageUploadFieldBase: React.ForwardRefExoticComponent<ImageUploadFieldBaseProps & React.RefAttributes<HTMLInputElement>>;
17
+ export default ImageUploadFieldBase;
@@ -22,16 +22,13 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/he
22
22
  var _react = _interopRequireWildcard(require("react"));
23
23
  var _reactAria = require("react-aria");
24
24
  var _omit = _interopRequireDefault(require("lodash/omit"));
25
- var _propTypes = _interopRequireDefault(require("prop-types"));
26
25
  var _ = require("../..");
27
26
  var _useField2 = _interopRequireDefault(require("../../hooks/useField"));
28
- var _htmlElements = require("../../utils/devUtils/constants/htmlElements");
29
27
  var _statuses = _interopRequireDefault(require("../../utils/devUtils/constants/statuses"));
30
- var _statusProp = require("../../utils/docUtils/statusProp");
31
28
  var _react2 = require("@emotion/react");
32
29
  function _interopRequireWildcard(e, t) { if ("function" == typeof _WeakMap) var r = new _WeakMap(), n = new _WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = _Object$defineProperty) && _Object$getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
33
30
  function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
34
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(t), !0)).call(_context, function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
31
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context2, _context3; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context2 = ownKeys(Object(t), !0)).call(_context2, function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context3 = ownKeys(Object(t))).call(_context3, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
35
32
  var ImageUploadFieldBase = /*#__PURE__*/(0, _react.forwardRef)(function (props, inputRef) {
36
33
  var children = props.children,
37
34
  fileName = props.fileName,
@@ -44,16 +41,17 @@ var ImageUploadFieldBase = /*#__PURE__*/(0, _react.forwardRef)(function (props,
44
41
  isMenuOpen = props.isMenuOpen,
45
42
  popoverMenuProps = props.popoverMenuProps,
46
43
  status = props.status;
47
- var _useField = (0, _useField2["default"])(_objectSpread({}, (0, _omit["default"])(props, ['onRemove']))),
44
+ var _useField = (0, _useField2["default"])(_objectSpread({}, (0, _omit["default"])(props, ['onRemove', 'helperText']))),
48
45
  fieldContainerProps = _useField.fieldContainerProps,
49
46
  fieldControlInputProps = _useField.fieldControlInputProps,
50
47
  fieldControlWrapperProps = _useField.fieldControlWrapperProps,
51
48
  fieldLabelProps = _useField.fieldLabelProps;
52
- var labelRef = (0, _react.useRef)();
49
+ var labelRef = (0, _react.useRef)(null);
53
50
  var _useVisuallyHidden = (0, _reactAria.useVisuallyHidden)(),
54
51
  visuallyHiddenProps = _useVisuallyHidden.visuallyHiddenProps;
55
52
  var getAcceptableInputTypes = function getAcceptableInputTypes() {
56
- return (0, _map["default"])(fileTypes).call(fileTypes, function (type) {
53
+ var _context;
54
+ return (0, _map["default"])(_context = fileTypes !== null && fileTypes !== void 0 ? fileTypes : []).call(_context, function (type) {
57
55
  return (0, _includes["default"])(type).call(type, '/') ? type : "".concat(type, "/*");
58
56
  }).join(', ');
59
57
  };
@@ -62,7 +60,7 @@ var ImageUploadFieldBase = /*#__PURE__*/(0, _react.forwardRef)(function (props,
62
60
  }, fieldContainerProps), (0, _react2.jsx)(_.Label, (0, _extends2["default"])({}, fieldLabelProps, {
63
61
  onClick: handleLabelClick,
64
62
  ref: labelRef,
65
- tabIndex: "-1"
63
+ tabIndex: -1
66
64
  })), (0, _react2.jsx)(_.PopoverMenu, (0, _extends2["default"])({
67
65
  isOpen: isMenuOpen,
68
66
  onOpenChange: handleOpenMenuChange
@@ -82,16 +80,5 @@ var ImageUploadFieldBase = /*#__PURE__*/(0, _react.forwardRef)(function (props,
82
80
  status: status
83
81
  }, helperText));
84
82
  });
85
- ImageUploadFieldBase.propTypes = _objectSpread({
86
- fileName: _propTypes["default"].string,
87
- fileTypes: _propTypes["default"].arrayOf(_propTypes["default"].oneOf(_htmlElements.imageUploadPropTypes)),
88
- handleInputChange: _propTypes["default"].func,
89
- handleLabelClick: _propTypes["default"].func,
90
- handleOpenMenuChange: _propTypes["default"].func,
91
- helperText: _propTypes["default"].node,
92
- isImageType: _propTypes["default"].bool,
93
- isMenuOpen: _propTypes["default"].bool,
94
- popoverMenuProps: _propTypes["default"].shape({})
95
- }, _statusProp.statusPropTypes);
96
83
  ImageUploadFieldBase.displayName = 'ImageUploadFieldBase';
97
84
  var _default = exports["default"] = ImageUploadFieldBase;
@@ -0,0 +1,53 @@
1
+ declare const _default: {
2
+ hoveredPreview: {
3
+ wrapper: {
4
+ display: string;
5
+ alignItems: string;
6
+ justifyContent: string;
7
+ position: string;
8
+ };
9
+ shaded: {
10
+ opacity: number;
11
+ backgroundColor: string;
12
+ width: string;
13
+ height: string;
14
+ position: string;
15
+ borderRadius: number;
16
+ };
17
+ };
18
+ button: {
19
+ display: string;
20
+ alignItems: string;
21
+ justifyContent: string;
22
+ padding: number;
23
+ backgroundColor: string;
24
+ border: string;
25
+ borderColor: string;
26
+ '&.is-focused': {
27
+ borderColor: string;
28
+ outline: string;
29
+ outlineColor: string;
30
+ outlineOffset: string;
31
+ };
32
+ fontSize: string;
33
+ fontWeight: number;
34
+ color: string;
35
+ fontFamily: string;
36
+ overflowWrap: import("../..").overflowWrap;
37
+ maxWidth: string;
38
+ wordWrap: import("../..").wordWrap;
39
+ wordBreak: import("../..").wordBreak;
40
+ cursor: string;
41
+ height: string;
42
+ lineHeight: string;
43
+ minWidth: string;
44
+ outline: string;
45
+ borderRadius: string;
46
+ flexShrink: number;
47
+ whiteSpace: string;
48
+ };
49
+ noImagePreview: {
50
+ fill: string;
51
+ };
52
+ };
53
+ export default _default;
@@ -0,0 +1 @@
1
+ export { default } from './ImageUploadField';
@@ -22,7 +22,8 @@ var container = {
22
22
  borderBottomColor: 'accent.90',
23
23
  borderBottomStyle: 'solid',
24
24
  justifyContent: 'center',
25
- minHeight: 60
25
+ minHeight: 60,
26
+ overflow: 'hidden'
26
27
  };
27
28
  var emptyData = {
28
29
  flexShrink: 0,
@@ -46,6 +47,8 @@ var wrapper = {
46
47
  };
47
48
  var rightOfData = {
48
49
  alignSelf: 'center',
50
+ flex: '1 1 0',
51
+ minWidth: 0,
49
52
  mr: 'md'
50
53
  };
51
54
  var iconWrapper = {
@@ -82,7 +82,12 @@ export declare const switchFieldArgTypes: {
82
82
  status: {
83
83
  control: {
84
84
  type: string;
85
- options: any;
85
+ options: {
86
+ readonly DEFAULT: "default";
87
+ readonly ERROR: "error";
88
+ readonly SUCCESS: "success";
89
+ readonly WARNING: "warning";
90
+ };
86
91
  };
87
92
  description: string;
88
93
  };
@@ -90,5 +95,5 @@ export declare const switchFieldArgTypes: {
90
95
  export declare const switchFieldArgs: {
91
96
  label: string;
92
97
  value: string;
93
- status: any;
98
+ status: "default";
94
99
  };