@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.
- package/lib/cjs/components/Breadcrumbs/Breadcrumb.styles.d.ts +7 -0
- package/lib/cjs/components/Breadcrumbs/Breadcrumb.styles.js +9 -2
- package/lib/cjs/components/Breadcrumbs/BreadcrumbItem.js +16 -3
- package/lib/cjs/components/Breadcrumbs/Breadcrumbs.js +24 -7
- package/lib/cjs/components/DatePicker/DateField.d.ts +4 -0
- package/lib/cjs/components/DatePicker/DateField.js +25 -79
- package/lib/cjs/components/DatePicker/DatePicker.d.ts +4 -0
- package/lib/cjs/components/DatePicker/DatePicker.js +28 -79
- package/lib/cjs/components/DatePicker/DatePicker.stories.js +4 -2
- package/lib/cjs/components/DatePicker/DatePicker.styles.d.ts +921 -0
- package/lib/cjs/components/DatePicker/DatePicker.styles.js +3 -1
- package/lib/cjs/components/DatePicker/DatePicker.test.js +4 -4
- package/lib/cjs/components/DatePicker/DateSegment.d.ts +7 -0
- package/lib/cjs/components/DatePicker/DateSegment.js +18 -29
- package/lib/cjs/components/DatePicker/index.d.ts +1 -0
- package/lib/cjs/components/Icon/NoticeIcon.d.ts +16 -1
- package/lib/cjs/components/IconButton/IconButton.styles.d.ts +39 -1
- package/lib/cjs/components/ImageUploadField/ImagePreviewButton.d.ts +18 -0
- package/lib/cjs/components/ImageUploadField/ImagePreviewButton.js +3 -22
- package/lib/cjs/components/ImageUploadField/ImageUploadField.d.ts +4 -0
- package/lib/cjs/components/ImageUploadField/ImageUploadField.js +30 -66
- package/lib/cjs/components/ImageUploadField/ImageUploadFieldBase.d.ts +17 -0
- package/lib/cjs/components/ImageUploadField/ImageUploadFieldBase.js +6 -19
- package/lib/cjs/components/ImageUploadField/imageUpload.d.ts +53 -0
- package/lib/cjs/components/ImageUploadField/index.d.ts +1 -0
- package/lib/cjs/components/PanelHeader/PanelHeader.styles.js +4 -1
- package/lib/cjs/components/SwitchField/switchFieldAttributes.d.ts +7 -2
- package/lib/cjs/hooks/useGetTheme/useGetTheme.d.ts +138 -119
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/customProperties/icons.d.ts +10 -0
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/customProperties/index.d.ts +10 -0
- package/lib/cjs/styles/themeOverrides/onyxSideNav.d.ts +10 -0
- package/lib/cjs/styles/themes/astro/customProperties/icons.d.ts +10 -1
- package/lib/cjs/styles/themes/astro/customProperties/index.d.ts +10 -1
- package/lib/cjs/styles/themes/next-gen/customProperties/icons.d.ts +10 -1
- package/lib/cjs/styles/themes/next-gen/customProperties/index.d.ts +10 -1
- package/lib/cjs/styles/themes/next-gen/next-gen.d.ts +13 -1
- package/lib/cjs/styles/themes/next-gen/variants/variants.d.ts +3 -0
- package/lib/cjs/styles/themes/next-gen/variants/variants.js +3 -0
- package/lib/cjs/types/breadCrumbs.d.ts +6 -0
- package/lib/cjs/types/datePicker.d.ts +112 -0
- package/lib/cjs/types/datePicker.js +6 -0
- package/lib/cjs/types/imageUploadField.d.ts +31 -0
- package/lib/cjs/types/imageUploadField.js +6 -0
- package/lib/cjs/types/index.d.ts +2 -0
- package/lib/cjs/types/index.js +73 -51
- package/lib/cjs/utils/devUtils/constants/statuses.d.ts +17 -0
- package/lib/cjs/utils/devUtils/props/isDateWithinRanges.d.ts +10 -0
- package/lib/cjs/utils/devUtils/props/isDateWithinRanges.js +2 -2
- package/lib/components/Breadcrumbs/Breadcrumb.styles.js +9 -2
- package/lib/components/Breadcrumbs/BreadcrumbItem.js +17 -4
- package/lib/components/Breadcrumbs/Breadcrumbs.js +25 -8
- package/lib/components/DatePicker/DateField.js +25 -79
- package/lib/components/DatePicker/DatePicker.js +30 -79
- package/lib/components/DatePicker/DatePicker.stories.js +4 -2
- package/lib/components/DatePicker/DatePicker.styles.js +3 -1
- package/lib/components/DatePicker/DatePicker.test.js +4 -4
- package/lib/components/DatePicker/DateSegment.js +17 -30
- package/lib/components/ImageUploadField/ImagePreviewButton.js +5 -24
- package/lib/components/ImageUploadField/ImageUploadField.js +31 -67
- package/lib/components/ImageUploadField/ImageUploadFieldBase.js +6 -19
- package/lib/components/PanelHeader/PanelHeader.styles.js +4 -1
- package/lib/styles/themes/next-gen/variants/variants.js +3 -0
- package/lib/types/datePicker.js +1 -0
- package/lib/types/imageUploadField.js +1 -0
- package/lib/types/index.js +2 -0
- package/lib/utils/devUtils/props/isDateWithinRanges.js +2 -3
- 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: '
|
|
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:
|
|
@@ -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
|
-
*/
|
|
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
|
-
}),
|
|
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
|
-
|
|
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:
|
|
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,
|
|
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)(
|
|
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
|
-
|
|
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;
|
|
@@ -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
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
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,
|
|
48
|
-
|
|
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,
|
|
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
|
-
|
|
86
|
-
|
|
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
|
|
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
|
-
|
|
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:
|
|
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:
|
|
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:
|
|
98
|
+
status: "default";
|
|
94
99
|
};
|