@transferwise/components 45.25.0 → 45.25.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.
package/build/index.js CHANGED
@@ -8,19 +8,19 @@ var icons = require('@transferwise/icons');
8
8
  var PropTypes = require('prop-types');
9
9
  var reactIntl = require('react-intl');
10
10
  var componentsTheming = require('@wise/components-theming');
11
- var formatting = require('@transferwise/formatting');
12
- var throttle = require('lodash.throttle');
13
- var reactTransitionGroup = require('react-transition-group');
14
- var reactDom = require('react-dom');
15
- var focus = require('@react-aria/focus');
16
- var mergeRefs = require('react-merge-refs');
17
- var shim = require('use-sync-external-store/shim');
18
- var neptuneValidation = require('@transferwise/neptune-validation');
19
- var reactPopper = require('react-popper');
20
11
  var react$1 = require('@headlessui/react');
21
12
  var mergeProps = require('merge-props');
13
+ var mergeRefs = require('react-merge-refs');
14
+ var shim = require('use-sync-external-store/shim');
22
15
  var react = require('@floating-ui/react');
16
+ var focus = require('@react-aria/focus');
23
17
  var overlays = require('@react-aria/overlays');
18
+ var formatting = require('@transferwise/formatting');
19
+ var reactTransitionGroup = require('react-transition-group');
20
+ var reactPopper = require('react-popper');
21
+ var throttle = require('lodash.throttle');
22
+ var reactDom = require('react-dom');
23
+ var neptuneValidation = require('@transferwise/neptune-validation');
24
24
  var art = require('@wise/art');
25
25
  var clamp$2 = require('lodash.clamp');
26
26
  var debounce = require('lodash.debounce');
@@ -53,9 +53,9 @@ function _interopNamespace(e) {
53
53
  var classNames__default = /*#__PURE__*/_interopDefault(classNames);
54
54
  var React__namespace = /*#__PURE__*/_interopNamespace(React);
55
55
  var PropTypes__default = /*#__PURE__*/_interopDefault(PropTypes);
56
- var throttle__default = /*#__PURE__*/_interopDefault(throttle);
57
- var mergeRefs__default = /*#__PURE__*/_interopDefault(mergeRefs);
58
56
  var mergeProps__default = /*#__PURE__*/_interopDefault(mergeProps);
57
+ var mergeRefs__default = /*#__PURE__*/_interopDefault(mergeRefs);
58
+ var throttle__default = /*#__PURE__*/_interopDefault(throttle);
59
59
  var clamp__default = /*#__PURE__*/_interopDefault(clamp$2);
60
60
  var debounce__default = /*#__PURE__*/_interopDefault(debounce);
61
61
  var requiredIf__default = /*#__PURE__*/_interopDefault(requiredIf);
@@ -2934,6 +2934,8 @@ const INITIAL_DEFAULT_STATE = {
2934
2934
  day: null
2935
2935
  };
2936
2936
  const DateInput = ({
2937
+ 'aria-labelledby': ariaLabelledBy,
2938
+ 'aria-label': ariaLabel,
2937
2939
  disabled,
2938
2940
  size,
2939
2941
  value,
@@ -2997,22 +2999,24 @@ const DateInput = ({
2997
2999
  }
2998
3000
  };
2999
3001
  const getSelectElement = () => {
3000
- const months = getMonthNames(locale, monthFormat);
3002
+ const monthOptions = getMonthsOptions();
3001
3003
  return /*#__PURE__*/jsxRuntime.jsxs("label", {
3004
+ className: "d-flex flex-column",
3002
3005
  children: [/*#__PURE__*/jsxRuntime.jsx("span", {
3003
3006
  className: "sr-only",
3004
3007
  children: monthLabel
3005
- }), /*#__PURE__*/jsxRuntime.jsx(Select, {
3006
- id: id ? `${id}-select` : undefined,
3008
+ }), /*#__PURE__*/jsxRuntime.jsx(SelectInput, {
3007
3009
  name: "month",
3008
3010
  disabled: disabled,
3009
3011
  placeholder: placeholders.month,
3010
- options: getMonthsOptions(),
3012
+ items: monthOptions,
3011
3013
  size: size,
3012
- selected: month === null ? null : {
3013
- value: month,
3014
- label: months[month]
3015
- },
3014
+ value: monthOptions.find(item => item.value.value === month)?.value,
3015
+ renderValue: ({
3016
+ label
3017
+ }) => /*#__PURE__*/jsxRuntime.jsx(SelectInputOptionContent, {
3018
+ title: label
3019
+ }),
3016
3020
  onChange: selectedValue => handleMonthChange(selectedValue),
3017
3021
  ...selectProps
3018
3022
  })]
@@ -3023,8 +3027,11 @@ const DateInput = ({
3023
3027
  const months = getMonthNames(locale, monthFormat);
3024
3028
  months.forEach((label, index) => {
3025
3029
  options.push({
3026
- value: index,
3027
- label
3030
+ type: 'option',
3031
+ value: {
3032
+ label,
3033
+ value: index
3034
+ }
3028
3035
  });
3029
3036
  });
3030
3037
  return options;
@@ -3121,6 +3128,8 @@ const DateInput = ({
3121
3128
  return /*#__PURE__*/jsxRuntime.jsx("div", {
3122
3129
  className: "tw-date",
3123
3130
  id: id,
3131
+ "aria-labelledby": ariaLabelledBy,
3132
+ "aria-label": ariaLabel,
3124
3133
  onFocus: event => shouldPropagateOnFocus(event) ? onFocus && onFocus() : event.stopPropagation(),
3125
3134
  onBlur: event => shouldPropagateOnBlur(event) ? onBlur && onBlur() : event.stopPropagation(),
3126
3135
  children: /*#__PURE__*/jsxRuntime.jsxs("div", {
@@ -3203,6 +3212,8 @@ function shouldPropagateOnBlur({
3203
3212
  return blurElementParent !== focusElementParent;
3204
3213
  }
3205
3214
  DateInput.propTypes = {
3215
+ 'aria-label': PropTypes__default.default.string,
3216
+ 'aria-labelledby': PropTypes__default.default.string,
3206
3217
  disabled: PropTypes__default.default.bool,
3207
3218
  size: PropTypes__default.default.oneOf(['sm', 'md', 'lg']),
3208
3219
  value: PropTypes__default.default.oneOfType([PropTypes__default.default.string, PropTypes__default.default.instanceOf(Date)]),
@@ -7866,6 +7877,10 @@ const getUniqueIdForOption = (parentId = '', option) => {
7866
7877
  const uniqueOptionId = option.value || (option.label?.replace(/\s/g, '') ?? '');
7867
7878
  return `option-${parentId}-${uniqueOptionId}`;
7868
7879
  };
7880
+
7881
+ /**
7882
+ * @deprecated Use `SelectInput` instead (https://neptune.wise.design/blog/2023-11-28-adopting-our-new-selectinput)
7883
+ */
7869
7884
  function Select({
7870
7885
  placeholder,
7871
7886
  id,